差分进化算法简述

  • 差分进化算法(DE)

差分进化算法是1995年Raincr Stom和Kenneth Price为求解切比雪夫多项式(以递归方式定义的一系列正交多项式序列)提出的。                                              


 

  • 标准差分进化算法:

流程:

设置参数->初始化种群->计算种群的适度值->变异(判断取值范围)->交叉->(计算实验向量的适度值)选择;plot做二维图(代数和每代最优解);

变异策略:

常用的5种,分别是rand/1、rand/2、best/1、best/2、current-to-rand/1其中current-to-rand/1采用的是算术交叉,不使用交叉因子Cr,rand/1较为常用。

上下限的判断:

个体的分量(即不同维度的值)必须在给定的上下限内才有意义,若超出上限或者低于下限有不同的方法,①把超出上限或者低于下限的分量赋值于上限或者下限;②重新初始化赋值;③违反的分量设置为违反的边界和父个体[2]的相应分量的中间;④其余方法见不同论文中原码的方式;

交叉方式:

常用二项式交叉和指数交叉,交叉本质上是个体维度的交叉,即不同维度的值是否更换。

贪婪选择:

选择采用“贪婪”的方式进行选择,比较实验向量和目标向量的适度值的大小,根据单目标取相对于问题较好的向量替换原来种群中的个体并记录当前适度值,这里的向量表示个体,值得一提的是,每次迭代循环后新种群总是优于原种群或者与其相等。


 

  • 改进的差分进化算法:

自1995年提出DE,并且在此后的相关进化算法的比赛中DE都展现出了明显的优势并激起了国内外研究人员的兴趣,DE中种群规模(NP)、变异因子、交叉因子是其关键,研究人员希望DE适用于不同的问题;

A:在控制参数上的改进大体分为三种:

(1)确定性的控制参数:不考虑进化搜索的反馈信息,使用外在可变参数的对DE进行改变,例如用时间来调整突变因子,参考JADE[22]。

(2)自适应的参数控制:利用进化搜索的反馈来动态的调整参数,例如jDE、JADE、SaDE。

B:在变异策略上的改进:

标准DE的策略有5种,研究人员结合开发和搜索并考虑到随机性的问题给定了5种通用的策略,除此之外,国内外的研究人员根据进化过程中的搜索方向以及反馈的信息来改进策略,值得一提的是,结合PSO中个体的历史最佳来提出的策略使DE的收敛速度更快了(JADE),这不失为一种思考的方向,在自适应上的成功案例已经足够多的情况下,不久,研究人员们提出了集(池)的概念,即把几种策略和几种自适应参数分别做成两个集合,针对不同的问题(收敛精度)或者在不同的代数(收敛速度)间改变策略和自适应参数,例如SaDE、EPSDE、CoDE这三种策略均是使用集合的概念来对DE进行改进,在策略函数上也表现出优势或者具有竞争力。


改进的方向:(NP(5D,10D)、F(0.4,0.9)、Cr在0.0和1.0附近)

①对自适应的NP进行考虑,参考CoDE中[17];对集合进行改进,在CoDE中3中参数的选择是随机的,论文中作者做了确定性的参数设置和自适应的参数设置,对于自适应的参数设置,可以进行尝试其他的自适应策略,也可以把JADE中F和CR的自适应测加进去测试效果;

②根据DE的性质考虑到收敛速度、收敛精度和鲁棒性等特性提出新的变异策略和自适应参数控制。

③在多策略上下功夫,对于单目标的不同类函数通过可以通过分析特性以及之前一些较好的论文(SaDE)等上下手。


 

你可能感兴趣的:(演化计算)