集成协方差矩阵自适应进化策略与差分进化的优化算法

2021-11-20 09:10杨紫晴姚加林伍国华陈学伟毛成辉
控制理论与应用 2021年10期
关键词:全局种群局部

杨紫晴,姚加林,伍国华,陈学伟,毛成辉

(中南大学交通运输工程学院,湖南长沙 410075)

1 引言

进化算法(evolutionary algorithm,EA)是模仿自然界的生物进化来实现种群的交叉、变异和选择操作的“算法簇”[1].EA包括遗传算法(genetic algorithm,GA),进化规划(evolutionary programming,EP)和进化策略(evolutionary strategies,ES)等[2–4].在相同的框架下,不同的EA有不同的基因表达方式,不同的交叉和突变操作以及不同的再生和选择方法.与传统的基于梯度的优化方法或穷举法等的优化算法相比,EA是一种鲁棒性强、适用性广的全局优化方法,具有自适应和自学习的特点,可以有效地解决传统优化算法难以解决的复杂问题,而不受问题性质的限制.

差分进化算法(differential evolution algorithm,DE)和协方差矩阵适应进化策略(covariance matrix adaptation evolution strategy,CMA–ES)在连续优化问题中表现出良好性能.DE算法由Storn和Price于1995年首次提出[5],可以有效地解决复杂的优化问题.DE算法是一种基于种群随机搜索机制的进化算法,通过差分向量指导进化方向,并且通过变异、交叉和选择来进行全局搜索.DE算法具有结构简单紧凑、易于实现和使用参数少等优点,具有很强的全局搜索能力和鲁棒性,并且不需要依赖于问题的特征信息,因此它常用来解决复杂环境中的实际优化问题.CMA–ES算法是Nikolaus Hansen等人提出来的一种优化算法[6],是最著名、应用广泛且性能突出的ES之一,对复杂的优化问题具有良好的效果.其主要核心思想有:1)去随机化:新个体是根据多元正态分布产生的;2)累积进化路径:计算一系列连续进化代之间的变异步长之和.

算法的性能通常受到局部和全局搜索能力影响.全局搜索的目的是找到最优解的大致范围,而局部搜索则是在该范围内进行精细搜索,局部和全局搜索的平衡与控制,对提高智能优化算法的性能具有重要意义,许多学者在这一方面进行了相关研究.Tanabe和Fukunaga等提出了基于参数自适应成功历史的差分进化算法(success-history based adaptive differential evolution,SHADE),SHADE算法基于成功历史自适应调整参数,缩放因子F根据正态分布来产生,交叉概率CR根据高斯分布产生,并采用Lehmer均值进行更新,以此来平衡全局收敛和局部收敛的关系[7].Brest等提出了一种自适应控制参数的DE算法(jDE),在jDE中,2个主要参数F以及CR被编码进个体,参数可以随着个体进入下一代,最佳的参数和个体相互影响,并具有更大的概率被保留[8].Omran等人将对立学习(opposition-based learning,OBL)、差分进化(DE)和量子力学等概念进行融合,提出一种基于种群的随机元启发式方法,用于在连续空间上进行全局优化[9].Zhang等提出的(adaptive differential evolution with optional external archive,JADE)是一种改进的DE算法,JADE提出了一种新的变异策略,即DE/currentto-pBest/1策略,利用多个最佳解的信息来平衡突变的贪婪性和种群的多样性,并以自适应方式更新控制参数来提高优化性能[10].Wu提出了一种基于多种群的方法来实现多策略的DE集成,从而产生了一种新的DE变体,它同时包含3种DE突变策略,并且通过贡献来动态的分配资源[11].为了提高LSHADE算法的整体性能,Mohamed等人提出了一种基于随机和自适应的半参数自适应方法,用于在搜索过程中有效地适应差分进化算法的比例因子值,同时还将LSHADE–SPA与修改后的CMA–ES进行融合,提高LSHADE–SPACMA算法的搜索能力[12].Mallipeddi等提出一种变异策略和参数值集成的改进的DE算法(differential evolution algorithm with ensemble of parameters and mutation strategies,EPSDE),该算法包含一组变异和交叉策略及其相关参数值,相应的策略根据子代是否成功来进行保留,以保证在进化过程中产生更好的策略和个体[13].Qin等人提出了一种自适应差分进化算法(strategy adaptation differential evolution,SaDE),以降低通过试错模式来找到最合适的测试向量和相关参数所产生的计算成本.在每一代中,SaDE根据在前几代中学习到的选择概率,将一组测试向量生成策略及其相关参数值分配给当前种群中的不同个体[14].Wu等将DE算法中的变异策略、交叉策略、缩放因子和交叉概率作为4个部分,4个组成部分之间的关系用有向图表示,图中的一条路径正好对应于DE的一个配置,在优化过程中,采用蚁群优化算法根据弧上的信息素为每一个DE寻找一条合理的路径(ACODE)[15].杜永兆等提出一种多种群协方差学习差分进化算法,采用多种群机制的种群结构,采用多种群的集成变异策略,通过协方差学习建立交叉旋转坐标,使用自适应控制参数来平衡种群的全局搜索与局部搜索[16].肖鹏等将变异因子设置成线性递减函数,在基向量前加入幅值系数以平衡全局搜索和局部搜索[17].邹杰等人通过协方差矩阵建立特征坐标系,在坐标系中执行变异和交叉操作,利用种群信息来保证进化方向,并且根据历史信息来选择变异策略[18].Caraffini 提出了CMA–ES–RIS算法,该算法采用CMA–ES获得具有高适应度的个体,并将其反馈给单解局部搜索,迭代地扰动每个变量,为了防止早熟收敛,CMA–ES–RIS算法的局部搜索采用重采样机制[19].Vinicius等针对约束优化问题,提出了一种改进的协方差矩阵自适应进化策略,该方法利用了CMA–ES的重启机制,并通过自适应惩罚函数处理约束[20].

相关研究表明,为了解决具有多个特征的复杂问题,具有不同优势和特征的不同优化算法、搜索策略以及参数值的集成可以得到更有效的优化算法[21].DE算法通过差分向量来指导搜索方向,通过参数种群规模NP、缩放因子F和交叉概率CR进行搜索控制,具备较强的全局搜索能力,但是收敛速度较慢.CMA–ES算法通过概率分布在一定范围内产生个体,适应于小规模种群问题[22],能快速在局部范围内找到最优解,具备较强的局部搜索的能力,然而容易陷入局部最优.因此,本文提出了一种集成优化算法(简称为CMADE),该算法使用DE进行全局搜索,寻找全局最优解的大致范围,然后在该范围内用CMA–ES进行局部搜索,并通过解交换策略进行算法集成,在解交换过程中,采用概率参数控制解的多样性和质量.

本文的主要贡献包括:

1) 提出了一种基于全局和局部均衡搜索的集成框架,在该框架中,采用DE算法进行全局搜索,采用CMA–ES算法在最具潜力的个体附近进行局部搜索,实现DE和CMA–ES协同进化,搜索全局最优解.

2) 提出了一种解交换策略,采用两个参数Gchange和ρ来控制算法的计算资源分配和搜索能力,保证全局搜索和局部搜索的平衡.

2 DE和CMA–ES算法结构

2.1 DE算法结构

DE算法对种群进行交叉变异和选择操作,并且通过缩放因子F、交叉概率CR和种群规模NP的3个参数来控制矢量方向.首先,生成初始种群.然后从总体中随机选择3个个体作为差分向量,并由参数F控制:根据一定的规则,将产生的突变个体与预定的目标个体相混合,产生测试个体.最后,利用贪婪原理在父母和后代中分离出下一代.

对于d维最小优化问题

其中:g是代数,i=1,···,NP是种群大小,初始种群是在搜索范围内随机生成的.

1) 变异.

在第g次迭代中,从总体中随机选择3个个体xp1,xp2,xp3,并且p1,p2,p3互不相同,这3个个体生成的变异矢量为

2.2 CMA–ES算法结构

CMA–ES算法[6,23]是Nikolaus Hansen等人提出的一种新的无约束优化算法.文献[24]在CMA–ES算法的基础上,已成功应用于全局优化、多峰优化、多目标优化、大规模优化和结构工程等领域.

1) 产生新个体.

CMA–ES在每一代中从N(mt,,Ct)产生λ个个体.

其中:yi ∈Rn是搜索方向.通常,y可以通过协方差矩阵C的特征分解来求解:Ct=BD2BT,并可以通过标准正态分布获得

2) 计算适应度.

计算每一个新个体的适应度f(x),并进行适应度排序.

下标表示第i个个体.

根据适应度排序,截取前μ个个体进行参数更新,一般采取μ=[λ/2],也可采用其他的截取方式.

3) 参数更新.

使用所选的个体分别更新分布参数mt,Ct和σt.首先更新均值:

其中:m为均值,下标t表示代数.mt是个体x1:t,···,xλ:t的加权平均值.

然后更新协方差矩阵,在CMA–ES中,协方差矩阵的更新包括rank-1和rank-μ.其中rank-1使用历史搜索信息,即进化路径.进化路径和协方差矩阵更新公式表达如下:

其中c1和cμ为学习率.

CMA–ES算法使用累积步长调整,这是目前最成功的步长调整方法

3 基于协方差自适应与差分进化的集成优化算法

混合搜索算法的目的是采取各个算法的优点,弥补缺点.DE算法和CMA–ES算法是2个强大的进化算法,DE算法操作简单灵活,全局搜索能力强,但收敛速度慢.而CMA–ES算法下降速度快,但易陷入局部最优.因此本文将这两个算法集成起来,取长补短,达到全局和局部搜索的平衡.CMADE算法需要找到一个大致的搜索范围,再在该范围进行快速局部搜索,因此算法初期主要集中在DE算法进行全局搜索上,后期进行CMA–ES协同局部搜索.算法整体示意图如图1所示.

图1 CMADE 算法示意图Fig.1 Schematic diagram of CMADE algorithm

1)随机初始化种群,Xi=xi,1,xi,2,xi,3,···,xi,n,生成种群pop0.将该种群赋于DE算法首先进行全局搜索.此处DE算法的参数设置应该更有利于全局搜索.

2)种群pop0通过DE算法进行Gchange代全局搜索后,形成进化后的种群pop1.此时认为算法已经找到了最优解的大致的范围,因此,从pop1中选取合适的种群范围进行局部搜索.

一般认为,当前种群中,最好解附近具有更大的搜索潜力,因此局部搜索种群选择的方式为:在DE进化后的的种群pop1中选取一个最好解,以这个最好解为中心,选取周围最近的NPCMAES个解形成CMA–ES的初始种群进行局部搜索,并且保留最终结果pop2.

3)将搜索后的种群进行解交换,从中选择新种群重新赋予DE进行全局搜索.新种群从pop1和pop2中产生,即pop=pop1∪pop2.pop1为DE全局搜索后的种群,pop2为CMA–ES局部搜索后的种群.该过程目的在于解的信息交换,集成DE和CMA–ES算法的优势,控制协调CMADE算法的全局搜索和局部搜索能力.

DE作为全局搜索算法,不仅要考虑算法的收敛性,而且要着重保留种群的多样性.因此不仅要选取pop中最好个体,还要选取一定数量具有多样性的个体.CMADE首先从种群pop中选取d=N *ρ个最好个体,然后从剩下的个体中选取e=N *(1-ρ)个最具有多样性的个体,形成种群,并作为新的种群赋予DE进行全局搜索.其中NP为pop的种群规模,ρ ∈(0,1)为选取比率.

个体多样性的选取应考虑解空间的均匀分布.本文将解空间分为已选解与备选解,依次计算备选解中每个个体与已选解中所有个体的距离之和,选择距离和最远的个体作为最具多样性的解,加入已选解种群中,以此反复多次进行选择,直到满足种群规模为止.此方法可得到较均匀解的解分布.

根据上述步骤,可以通过快速的局部搜索保证算法最大限度的利用资源,通过全局搜索保证算法质量,提高算法性能.CMADE算法实现过程如下所示:

其中,第1行是设置CMADE的主要控制参数,其中Gchange是一个周期中全局搜索的迭代次数,也可以控制解交换的次数,ρ表示在解交换过程中,选取的种群pop1中最好个体和最具多样性个体的比例,这2个参数是控制CMADE局部搜索和全局搜索最重要的参数,直接决定着算法的性能;第2行是初始化种群,首先利用DE进行全局搜索.

第3–16行是算法的迭代部分.其中,第5行表示DE的全局搜索,DE算法有3个主要参数,即种群规模NP,缩放因子F和交叉概率CR,由于DE算法在CMADE中主要起到全局搜索的作用,因此缩放因子F和交叉概率CR的设置要使得性能较偏向于全局搜索;而对于DE的种群规模NPDE,由于DE的作用是为算法找到最优解的大致范围,因此NPDE不需要过大,设置在合理范围内可以即节省资源,又起到全局搜索的作用.

第6–11行表示CMA–ES进行局部搜索.第6行表示在每个周期中,当DE进化Gchange代后,此时认为已经找到了较优解的大致范围,则利用CMA–ES进行局部搜索;第7行表示在pop1最好个体附近进行局部搜索,CMA–ES的初始种群为DE最好个体附近的个体集合.

第8–10行为CMA–ES局部搜索.CMA–ES算法本身具有收敛快,种群规模小的特点,因此可以在节约资源的同时,快速找到局部优解.

第12–14行表示解交换过程.该过程实现了2个进化算法的集成,以及全局搜索和局部搜索的反馈控制,保持了DE算法的全局搜索能力,同时保证了算法的收敛速度;第13行表示下一个周期的种群从全局搜索和局部搜索后的集成种群中选取;第14行为解的选取方式和步骤,具体选取方式在本节第3)点中进行了说明.

在许多的集成算法与改进算法中,大多数通过参数自适应的方法来动态的平衡全局搜索与局部搜索能力,其基本原则是对差的解进行变异、扰动或更新操作,并将好的解进行保留.而CMADE采用的方法是分别设计有效的全局搜索和局部搜索策略,然后在优化过程中将局部搜素和全局搜索策略进行合理融合.DE算法使用差分向量进化,而CMA–ES算法采用无梯度下降的搜索方式,这2种算法的搜索机制差异大且各具特点.采用集成框架可以实现2个算法优势互补.

4 实验与分析

4.1 实验设置

为了测试CMADE算法的性能,使用CEC2014测试集中的30个函数进行测试,其中,F1–F3为单峰函数,F4–F16为多峰函数,F17–F22为混合函数,F23–F30为组合函数,选择对比维度为30维.每个算法在每个函数上运行30次.所有算法目标函数评价的最大次数均设置为D×10000,D表示维度.对比算法的参数设置与他们发布的版本一致.

实现CMADE时,对应的参数设置为:NPDE=50,NPCMAES=10,Gchange=1000,ρ=0.3.CMADE与其他7种最先进的算法进行了比较,其中包括它的2个子算法:DE和CMA–ES算法,和5种DE变体算法:SaDE[14],jDE[8],EPSDE[13],ACODE[15]和SHADE[7].选择这7种作为比较算法的原因解释如下:首先,DE和CMA–ES是CMADE混合算法的子算法,因此需要将它们进行比较,来判断两者相结合之后的性能是否更具有优势.第二,jDE和SHADE是有代表性的DE变体,它非常高效,在文献中通常会被引用作为基线算法.第三,SaDE,EPSDE是包含了多重突变策略的算法.最后,ACODE是最近提出的DE 混合算法,它反映了DE的最新进展,因此,将CMADE与它们进行比较是有意义的.以上算法的所有突变策略和参数设置都与原始参考文献中给出的一致,不做修改.

4.2 实验结果

表1给出了通过在具有30变量的每个基准函数上对7个算法中的每一个运行30次所获得的计算结果,表中提供了测试函数的平均误差和标准误差.

此外,在CMADE与CMA–ES,DE,SaDE,jDE,EPSDE,ACODE和SHADE之间将平均误差进行了0.05显着性水平的Wilcoxon秩和检验.与7个算法相比较后,符号“-”,“+”和“≈”表示结果好、差、相等于对比算法,并将统计结果在表1中最后3行给出.从表1给出的数据中,可以得出一些观察和结论.

首先,对于单峰函数F1–F3,CMA–ES,DE,SaDE,jDE,EPSDE,ACODE,SHADE和CMADE均在F2中表现出最佳性能,找到了全局最优解.只有DE和Sa-DE在函数F2上表现较差.在F1上,尽管7个对比算法的性能上优于CMADE,但是CMADE能够通过花费更多的函数评估次数来找到函数F1的全局最优解.

其次,对于简单的多峰函数F4–F16,CMADE整体上优于CMA–ES,DE,SaDE,jDE,EPSDE,ACODE,SHADE.在F12中,CMADE会比DE,SaDE,jDE,EPSDE,ACODE和SHADE算法更具有优势;在F15中,CMADE比DE,jDE,EPSDE,ACODE,SHADE算法更具有优势.CMADE在F9和F16上的性能表现完全优于7个比较算法,不存在任何一个基准函数完全表现为劣势.

CMADE在7个(F6,F8–F11,F14,F16)、8个(F7,F9–F13,F15–16)、6个(F4,F6,F7,F11,F12,F16)、5个(F6,F9,F12,F13,F15)、8个(F6,F7,F9,F11,F12,F14–F16)、7 个(F6,F7,F9,F11,F12,F15,F16)和7个(F8–F12,F15–F16)上的性能优于CMA–ES,DE,Sa-DE,jDE,EPSDE,ACODE,SHADE.因此,CMADE在简单的多峰函数上性能的表现比其他7个算法都具有很强的竞争力.

对于混合函数F17–F22,CMADE在F18和F19上的性能完全优于其他7个比较算法,但在F22上表现比除DE算法外的其余6个算法差.CMADE仅仅在F22的性能上比DE,JADE,EPSDE较为劣势,而在F17–F21上,CMADE 性能皆表现较好.

在组合函数F23–F30上,CMADE的性能在F23和F25中与7个比较算法基本持平,在F25上更占优势;而在F24上的性能上明显优于CMA–ES,DE,SaDE,jDE,EPSDE,ACODE和SHADE算法.从总体上来看,CMADE在与7个比较算法的性能相比,好、差、相等的比例分别为41.1%,12.5%,46.4%,表明CMADE在组合函数的性能表现与其他算法持平明显,但是依然存在大多数结果更具有优势,值得注意的是,SaDE在任何测试函数内的混合函数上均不能胜过CMADE.

在所有30个具有30个变量的基准函数中,CMADE的综合性能均优于其他5个对等DE变体,即SaDE,jDE,EPSDE,ACODE,SHADE.实际上,在最后3行中报告的Wilcoxon的秩和检验结果表明,在16,12,16,13和13个函数上,CMADE分别优于SaDE,jDE,EPSDE,ACODE和SHADE,而分别在7,8,8,7,8个函数上比它们要差一些.从表1中可以看出,在30个变量的基准函数F9,F12,F16,F18,F19,F24和F30上,CMADE优于其他5个对比算法,在F2,F3,F5,F6,F7,F23,F25上均与它们持平.而与它的子算法比较,CMADE比CMA–ES和DE算法更优的基准函数个数分别为15,14,更差的基准函数个数分别为8,5,总体上性能优于原始算法.

表1 CMADE 与其他算法的比较(D=30)Table 1 Comparison of computational results between CMADE and other algorithms(D=30)

综上所述,在本实验中,CMADE的整体性能是最好.然而,不同的比较算法在不同的基准函数上可能具有其特定的优势,例如:在函数F1,F17,F27上,SHADE的性能优于其他同等算法,而CMADE在函数F16,F18,F19,F24和F25上均优于其他所有比较算法.CMADE 结合了DE与CMA–ES算法的优势,虽然在某些问题的优化方面未能完全取其优势,但是从整体上来看,CMADE性能要优于其他对比算法.因此,CMADE的性能更具有竞争力.

4.3 灵敏度分析

CMADE中,有2个与集成策略相关的参数,他们分别是控制DE和CMA–ES迭代次数及交换次数的参数Gchange,以及控制交换后种群多样性的参数ρ.另外,由于DE的种群规模NPDE和CMA–ES的种群规模NPCMAES和迭代次数GCMAES直接关系到计算资源的配置,对CMADE算法的影响较大,所以在进行参数设置的时候,也将这2个参数也纳入考虑范围.选择不同的参数对CMADE性能会造成影响,本文选择了Gchange,ρ和NPDE3个主要参数,分析了他们对CMADE性能的影响.

在参数灵敏度分析中,Gchange的候选值包括500,1500,2000,NPDE的选值包括30,70,90,ρ的选值包括0.2,0.4,0.5.其他参数均设置为默认值(即NPDE=50,NPCMAES=10,Gchange=1000,ρ=0.3,GCMAES=20),并且仍然进行0.05显着性水平的Wilcoxon秩和检验,对比分析其分别运行30次的平均误差.符号“–”,“+”和“≈”表示结果好、差、相等于对比参数结果.参数Gchange,ρ和NPDE的灵敏度分析结果如表2所示.

表2 参数灵敏度分析Table 2 Parameter sensitivity analysis

从表2得出的结果可看出,在与不同参数Gchange的版本下,标准CMADE与其他版本在F2,F3,F5,F6,F14,F16,F23–F28这12个基准函数上性能几乎一致.在F13,F15,F17这3个基准函数中均比其他版本的性能更具有优势,而在F10基准函数中表现劣势.值得注意的是,在组合函数F23–F30中,标准CMADE与其他版本的性能表现非常接近且略胜一筹,好、差和相似的比例为4:2:18.分析可得,选择Gchange为1000是较合适的.Gchange对CMADE算法的影响可解释为:当Gchange设置过小时,DE算法还未能寻找到全局解的大致范围,因此局部搜索效果不佳,造成资源浪费,而当Gchange设置过大时,DE和CMA–ES算法不能达到良好的配合效果.

随着参数ρ数值的变化,标准CMADE与其他版本的CMADE相比,F2,F3,F8,F11,F16,F23–F28基本保持一致,在其他基准函数表现均有差异,表明针对不同的问题,更改ρ的参数值对CMADE的性能具有一定的影响,同时通过实验结果也可以看出,在组合函数F23–F30的表现上除F29和F30差异较大以外,其余表现几乎一致.

在不同参数值NPDE下,CMADE性能表现差异非常明显,标准CMADE与其他版本相比,性能更优的基准函数个数分别为20,15,19性能更差的个数分别为0,2,2,F5,F23–F28这7个基准函数在不同的NPDE参数设置中性能表现相似,F1–F4,F7–F20,F30这19个基准函数上明显比其他版本有具有优势,表明参数值NPDE对CMADE算法的性能影响很大,而且随着NPDE数值越大,其性能下降尤为明显.同样,NPDE取值过小(NPDE=30),对其性能影响依然很大,因此NPDE应保持在较小规模下的合理区间.对参数NPDE解释如下:DE的种群规对于DE算法的效果有着较大的影响,本文DE算法主要的作用是找到解的大致范围,即进行全局搜索,因此可以设置较小的种群规模以节省资源.

从整体上来看,在CEC2014测试函数中,有一半左右的函数对于参数Gchange和ρ不敏感,在另外一半函数上,Gchange和ρ会对CMADE算法的性能产生影响.而对于参数NPDE,在大部分函数上均会对算法的性能产生影响,因此可以对这3个参数进行进一步研究.

4.4 贡献率评估

在CMADE中,DE算法用作全局搜索,而CMA–ES算法用作局部搜索,因此对着2个子算法的贡献率行评估具有重要意义.本文选取了4个具有代表性的基准函数F6,F11,F15,F27.图2展示了算法进化过程中,DE和CMA–ES的解更新比率的变化曲线,以及DE和CMA–ES算法各自的收敛曲线.解更新比率是指迭代至当前代数中,各子算法所作用的解下降区间占目前解的总下降区间的比率.算法的参数设置为Gchange=1000,GCMAES=20.当DE全局搜索每1000代后,利用CMA–ES进行局部搜索,搜索代数为20代.因此,在该参数设置下,算法迭代1020次为一个周期,DE迭代共6个周期,CMA–ES迭代5个周期.

图2 4个代表函数中子算法的贡献率及收敛曲线图Fig.2 Contribution rate and sub-algorithm convergence curve of 4 representative functions

从图2可以看出,在CMADE算法中,首先将种群赋予DE进行全局搜索,因此在算法初期,CMA–ES算法不参与迭代,解更新比率为0.在CMA–ES参与搜索后,解更新比率开始有所改变.从总体上看,DE的贡献率普遍大于CMA–ES,这是因为DE的资源分配高于CMA–ES,且CMA–ES用作局部搜索,因此其搜索范围有限.然而CMA–ES算法下降速度快,能够快速找到了局部最优,大大的减少了DE的搜索资源,可见CMA–ES的局部搜索对CMADE算法起着重要的作用.从图2可以看出,CMA–ES算法能够快速下降且达到局部最优,因此给CMA–ES分配资源分配占比较少是合理的.

5 结论

局部搜索和全局搜索的反馈控制是优化算法十分重要部分,在多模式的复杂问题当中,需要平衡空间中全局和局部的搜索,一般而言常采用的有2种方法.一是通过各种参数设置来控制勘探和开发之间的平衡;另一种则是开发具有不同机制的混合技术,来进行局部搜索和全局搜索的控制和反馈,本文采用了后一种方法.DE作为全局优化算法,拥有强大的全局搜索能力,并且有着结构简单的优点,然而同样存在收敛速度慢,效率低的问题.CMA–ES算法作为最强大的进化策略之一,以在广泛的单峰函数范围内快速收敛到最优值而闻名.然而它十分容易陷入局部最优,具有收敛速度快、无梯度下降等特点.因此本文提出了CMADE算法,采用DE算法进行全局搜索,寻找全局最优解的大致范围,而CMA–ES算法进行局部搜索,快速搜索到该范围的局部最优,大大的节省了资源,提升效率.CMADE算法采用了解交换的策略,保证DE搜索的全局性,以此不断进化.本文最后将CMADE与具有代表性的7个算法,包括CMA–ES,DE,Sa-DE,jDE,EPSDE,ACODE,SHADE,将这些算法在CEC2014 测试集中的30个测试函数上进行30维的对比.实验结果证明,CMADE算法性能表现较好,具有一定的竞争力.

猜你喜欢
全局种群局部
山西省发现刺五加种群分布
基于改进空间通道信息的全局烟雾注意网络
爨体兰亭集序(局部)
凡·高《夜晚露天咖啡座》局部[荷兰]
落子山东,意在全局
“最大持续产量”原理分析
记忆型非经典扩散方程在中的全局吸引子
由种群增长率反向分析种群数量的变化
丁学军作品
高超声速飞行器全局有限时间姿态控制方法