基于差分进化的优化方法及应用
上QQ阅读APP看书,第一时间看更新

1.3 差分进化算法研究现状

DE算法自产生至今,一向受到广泛关注,研究者对其进行了大量的研究工作,取得了许多重要成果。Das[8-9]在进化计算领域的顶级期刊IEEE Transactions on Evolutionary ComputationSwarm and Evolutionary Computation上发表了对DE算法的最新研究进展综述,系统地介绍了DE算法的基本概念、改进方法、理论现状,以及在约束优化、多目标等方面的研究进展。童旅杨[7]从单目标优化、多目标优化和约束优化3个方面对DE算法的研究现状进行了概述。

(1)单目标优化

根据DE算法的发展趋势及采用的方法、策略的不同,DE算法单目标优化主要集中在算法的策略和参数的设置上。受粒子群思想的影响,Das等[10]设计了一种“DE/current-to-best/1”的变异策略来提高DE算法的寻优性能,从而达成平衡全局搜索和局部搜索的目标。Wang等[11]提出了一种组合差分进化(Composite DE,CoDE)算法,通过采用“DE/rand/1”“DE/rand/2”和“DE/current-to-rand/1”3种不同的变异和3种固定的控制参数组[F=1.0, CR=0.1]、[F=1.0, CR=0.9]和[F=0.8, CR=0.2]产生新的个体。Gong[12]提出了一种基于“ranking based”的变异操作,在这种模式中,排名最高的个体被选择用来进行变异操作的几率最大。Zhang[13]提出了一种自适应差分进化(JADE)算法,设计了一种“DE/current-to-pbest/1”的变异策略,该策略不但采用了种群中最优个体的信息,还尽可能运用种群中次好个体的信息来增加种群的多样性;JADE算法还对历史信息选择性地进行存档,用来提供进化方向信息;最重要的是提供了自适应参数来主动调试参数缩放因子F和交叉概率CR,进一步提高了算法的稳健性。Tanable[14-15]提出了基于成功历史的自适应差分进化(Success-History Based Adaptive DE,SHADE)算法,该算法是JADE算法的改进算法,用历史上的缩放因子F和交叉概率CR生成新的F和CR;他们又进一步提出了基于线性种群规模化简的SHADE(L-SHADE)算法,L-SHADE算法是SHADE算法的改进算法,以种群线性递减的方法来删除不好的个体。L-SHADE算法在CEC2014比赛单目标优化竞赛中取得了最好的成绩。Wu等[16]同时用“DE/current-to-pbest/1”“DE/current-to-rand/1”和“DE/rand/1”3种不同的变异策略来产生新的个体,并且提出了多种群集成差分进化(MPEDE)算法,用一种奖励的手段使好的变异策略在种群中的比例增大,同时运用了JADE的自适应参数自动调节参数F和CR。Liu等[17]提出了一种DADE的差分进化算法,通过二分法区分好的参数和坏的参数,从而自适应地产生更多好的参数,加快算法的收敛速度。Wang等[18]设计了一种ODE的算法,运用反向学习提高算法的收敛速率。

(2)多目标优化

对于多目标优化问题,没有单一的解决方案可以同时使每个目标达到最优,此问题需要考虑在多目标之中找到最佳平衡点。Zhong[19]提出了一种带随机编码策略的自适应多目标DE(AS-MODE)算法,其中种群中的每个个体都不是由精确解决方案表示的,而是由多元高斯带有对角协方差的矩阵表示的。AS-MODE算法运用了简单的“DE/rand/1/bin”生成实验向量,参加变异过程的向量使用锦标赛淘汰手段进行筛选,而不是随机挑选。AS-MODE算法在选择过程中运用非支配排序方法,并且基于拥挤距离的操作对集合的解决方案进行排序,从顶部挑选出NP解决方案当作下一代的种群;除了DE的3个常用参数(F、CR和NP)之外,AS-MODE算法还引入了6个新参数。Ali等[20]提出了一种适用于多目标优化的DE新变体(MODEA),它首先使用不同的种群初始化技术生成两个种群,每个种群的大小为NP,并从组合集合中选择最佳的NP,第一个种群由解决方案从整个搜索空间随机挑选出来,第二个种群由第一个成员的反向学习形成,方式类似于反向学习的DE算法[21];然后将两个种群合并,并根据非支配和拥挤距离排序选择NP个顶端解决方案;并且运用“DE/rand/1”从非支配解决方案中挑选3个参与变异向量作为基础执行变异操作[20]。Zhang等[22]设计出一种基于分解方法的多目标进化算法(MOEA/D),该算法处理多目标优化问题时采用另一种方法来引入新的思路,即通过加权手段把多目标问题分解成几个单目标问题的聚合。Zhao等[23]引入了集成方法来取代基于分解方法的多目标差分进化算法[24]中邻域尺寸参数的调整,并证明邻域参数的集合产生了整体改进的性能。Qu等[25]结合正则化目标相加的多目标差分进化算法并进行了改善,在算法的选择方法中增加了一个预选过程,通过去除不良解来改善收敛性。预选过程通过使用参考点来实现,由该参考点支配的所有解决方案都将被删除;参考点从目标空间的中心开始,沿着搜索过程逐渐移动到原点。Denysiuk等[26]引入了一种求解多目标优化问题的DE变体,并将其命名为具有变异限制的多目标DE(Many-Objective Optimization Using Differential Evolution,MyO-DEMR),该算法使用Pareto支配的概念并加上反向世代距离度量来从父代和后代种群的集合中选择下一代的种群,还利用限制DE变异中变异向量的策略改善在多峰问题上的收敛特性。

(3)约束优化

约束优化问题以找到可行解为前提,目标是找到最优解。Mallipeddi等[27]提供了带有约束处理方法集成(Ensemble of Constraint Handling Techniques,ECHT)的DE算法,该算法中每个约束处理方法都有自己的种群,ECHT一个显著特点是每个种群采用单独的约束处理技术进行进化,不同的约束处理方法在搜索过程的不同阶段都可能有效,而且ECHT能够适应进化的要求。Gong等[28]在“ranking based”的变异操作方法上做出了改良,引入了自适应排序变异操作(Adaptive Ranking Mu tation Operator,ARMOR)的DE算法,根据当前状态预判是否为非可行解、半可行解和可行解这3种状态,并根据所处的状态自适应调节变异操作。Liu等[29]引入了基于可行性规则和惩罚函数解决约束数值优化问题的混合DE与粒子群优化(PSO)算法。Sarder等[30]基于梯度修复的思想,与“DE/rand/1/bin”差分变异操作相结合,提出了基于DE的约束优化算法。如果由DE生成的单个候选解决方案是不可行的,则该算法应用梯度的修复方法将这些不可行的解决方案转换为可行的解决方案;随着世代数的增加,可行搜索空间与整个搜索空间之间的比率增加。Wang等[31]提出了基于双目标框架的DE约束优化算法,并应用罚函数测量解的约束违反程度,该算法在求解约束问题上提供了一种新的思想。最近Saha等[32]通过使用DE作为基础优化算法,提出了基于模糊规则的约束处理技术。Wu等[33]提出了一种等式约束和变量减少策略(Equality Constraint and Variable Reduction Strategy,ECVRS),该策略利用表达等式约束的等式来消除等式约束及约束优化问题的变量,从实验结果可知,ECVRS在求解带有等式约束条件问题时可以显著提高DE算法的效率。

(4)离散优化

为求解离散优化问题,各种离散DE算法也相继被提出。Pan等[34]提出了一种基于排列差异的离散差分进化(DDE)算法,并用于求解置换流水调度问题。Damak等[35]提出了一种基于排列加模式的离散DE算法,用于求解多模资源约束的工程调度问题。Wang等[36]提出了一种基于排列和求模运算的离散DE算法,以求解阻塞流水调度问题。Pan等[37]提出了一种混合离散DE算法,用于求解具有中间存储的流水调度问题。Tasgetiren等[38]提出了基于破坏与重构变异操作的离散差分进化算法,求解带有准备时间的总加权延迟时间的单机调度问题。Tasgetiren等[39]又提出了一种带有并行种群的装配离散差分进化算法,用于求解一般的旅行商问题。最近,姚芳等[40]提出了一种基于排列表示和取整变异的离散差分进化算法。

DE虽然在许多方面已经取得了一些成就,但也有一些不足之处。首先,不一样的变异策略在不同类型的问题上发挥的作用有差异,然而单一的变异策略难以在复杂问题上得到较好的结果,因此如何根据不同问题选择最优的变异策略具有一定的困难,如何基于已有的经验和知识来设计多变异策略和自适应参数的DE算法,从而平衡局部搜索和全局搜索,还需要深入研究。其次,在求解多目标问题上,各类DE算法主要是基于静态框架下的DE算法,影响了解集的多样性和算法的收敛性能。变异策略和参数的选择对收敛性和多样性具有重大影响,进化过程中如何选择变异策略和参数还需要深入研究。另外,如何加强算法的收敛性和提高Pareto解集的均匀性也是需要重点关注的问题。最后,DE算法本身是一种无约束优化算法,面对复杂的约束优化问题,如何设计有效的面向DE算法的约束处理方法还需要深入研究。另外,如何设计合适有效的算法来平衡约束条件和目标函数的关系也是需要考虑的。

针对上述DE算法存在的不足,本书从单目标优化、多目标优化、约束优化和离散优化4个方面开展了工作,通过对DE算法的深入研究提出了几种新的DE算法。本书的主要内容如下。

第1章对最优化问题的研究意义进行了说明,概述了进化计算和差分进化算法的工作流程,并且进一步叙述了近些年差分进化算法的研究现状和存在的问题。

第2~3章提出了两种单目标差分优化算法。第2章主要对组合差分进化CoDE算法进行了改进,提出了改进的组合差分进化算法。第3章针对单目标优化中早熟和收敛慢的问题,提出了一种新的变异策略“DE/pbad–to–pbest/1”,该策略可以很好地解决早熟和收敛慢这两大问题。

第4~5章提出了两种面向约束的差分优化算法。第4章在第2章的基础上将CoDE算法应用到了约束优化问题上,并对原始的Oracle罚函数方法进行了改进,将改进后的Oracle罚函数与CoDE算法相结合,提出了一种新的约束组合差分进化算法。第5章提出了基于替换和重置机制的多策略变异约束差分进化算法,运用多策略变异在约束处理技术的限定下考虑了目标函数的影响,平衡了约束条件和目标函数的关系,运用替换和重置机制增加种群中的多样性使种群跳出不可行区域的局部解进一步平衡约束条件和目标函数。

第6~10章提出了5种面向多目标的差分进化算法。第6章针对DE算法求解多目标优化问题时收敛慢和均匀性欠佳等不足,提出了一种基于多策略排序变异的多目标差分进化算法,利用基于排序变异算子,促使快速接近真实的Pareto最优解的优点,同时多策略差分进化算子能有效保持算法的多样性和分布性。第7章提出了用于求解多目标优化问题的一种基于外部归档和球面修剪机制的多目标差分进化算法,该算法采用外部归档集合来存储进化过程中寻找到的非支配解,并引入了球面修剪机制。第8章在第7章的基础上进一步研究多目标DE算法。在求解多目标优化问题的过程中,通过引入全局物理规划策略更简洁且有效地表达决策者偏好,促使进化种群能朝着决策者比较感兴趣或者满意的区域搜索。第9章提出了一种基于替换和重置机制的多策略变异约束差分进化算法,该算法利用改进切比雪夫(Tchebycheff)分解的方法把多目标优化问题变为许多单目标优化子问题;通过高效的非支配排序方法选择具有良好收敛性和多样性的解来指导差分进化过程;采用多策略变异方法来平衡进化过程中收敛性和多样性。第10章针对多目标差分进化算法在求解问题时收敛慢和均匀性欠佳等不足,提出了一种改进的排序变异多目标差分进化算法,该算法将参与变异的3个父代个体中的最优个体作为基向量,并采用反向参数控制方法,在不同的优化阶段动态调整参数值,同时引入改进的拥挤距离计算式来提升种群的多样性。

第11~12章提出了两种面向离散问题的差分进化算法。第11章针对现有离散差分进化算法在进化过程中会产生不可行解,需要借助修复操作来克服其可行性的不足,提出了一种采用位置关系的新型变异操作和新的交叉操作的排列差分进化算法。第12章以提高排列差分进化的搜索效率为目标,将禁忌搜索与排列差分进化算法结合,提出了一种基于禁忌列表的离散差分进化算法。