资源描述:
《差分进化算法-DE.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2.1差分进化算法差分进化算法(DifferentialEvolution,DE)和GA,PSO,ACO等进化算法一样,都是基于群体智能的随机并行优化算法,通过模仿生物群体内个体间的合作与竞争产生的启发式群体智能来指导优化搜索。DE特有的记忆能力使其可以动态跟踪当前的搜索情况,以调整其搜索策略,实现自适应寻优,因此具有较强的全局收敛性和鲁棒性,且不需要借助问题的特定信息,适于求解一些利用常规的数学规划方法所无法求解的复杂环境中的优化问题[69]。DE的种群由若干个体组成,每个个体代表优化问题的一个潜在解。DE的优化机制是根据不同个体之间的距离
2、和方向信息来生成新的候选个体,实现群体进化。与其他进化算法类似,DE采用变异、交叉、选择这三个典型进化算子对种群进行更新,但不同于传统进化算子,DE的进化算子有其独到之处。(1)变异算子N假设种群规模为NP,解的维数为N,则种群P,第G代个体i可以表GGGG示为实数解空间中的一个向量p(p,p,,p),iN1,2,,。DE的变ii12iiNG异算子为每个个体生成一个对应的临时个体u,称为“变异个体”。i如变异公式(2.1)所示,DE从当代种群中随机选择3个个体作为父代个体进G行变异,生成变异个体u。iGGGGupF()pp
3、(2.1)ijrj1,r2,jr3,jGGGGG其中u是变异个体u的第j维元素;p,p,p为第G代种群中3个互ijir1r2r3异的个体,并且r1r2r3i;F是实数常量,称为“缩放因子”,其取值范围一般为F0,2。(2)交叉算子在进化算法中,交叉也称为“重组”,即将多个父代个体按照一定的规则进G行交叉组合,实现局部开采。DE利用交叉算子生成新的候选解v,称为“试验i个体”。DE常用的交叉方式为二项式交叉,如公式(2.2)所示。GGuij,ifrand()CRjIrv(2.2)ijGpij,otherwi
4、seGG其中v为候选解v的第j维元素;rand()是[0,1)之间的均匀随机数,CR是iji0,1之间的常数,称为“交叉概率”;Ir是[1,]N之间的随机整数,对于同一个体的不同维度,Ir保持唯一。G从公式(2.2)和图1可以看出,变异个体u中至少有一个元素被继承到新的i候选解中,因此,DE可以较好地保持种群的多样性。GGGGGuiui1ui2…uij……uiNGGGGGpipi1pi2…pij……piNrCRtruefalse…falsetruejIrfalsetrue…falsetrueGGGGGviui1ui2…pij……uiN
5、图2.1DE交叉算子示意图(3)选择算子DE采用贪婪选择策略来对种群进行更新,通过比较新生成的试验个体与当代种群中对应个体的优劣,选择适应值更优的个体作为子代进入新种群,如公式(2.3)所示。GGGv,iffv()fp()G1iiip(2.3)iGp,otherwisei从公式(2.1)可以看出,DE的变异操作实际上是将两个不同父代个体的差值加权后加到第3个父代个体,从而得到一个新的临时个体。因此,DE具有很好的几何意义,如图2.2所示。xupF()pp2ir1r2r3候选解变异uivipr1交叉ppr3r2pi0x1图2
6、.2DE个体更新原理示意图总的来说,DE算法的进化流程如图2.3所示,即通过变异算子来探索新解,利用交叉算子进行局部开发,利用贪婪选择策略进行保优,使种群向最优区域靠拢。因此,DE算法具有较好的全局收敛性。初始种群父代变异交叉选择图2.3DE进化流程在DBPSO算法[80]中,S函数相对于粒子位置和速度更新的范围是对称的,通过S函数转换之后的概率范围同样也是对称的。因此,DBPSO算法采用S函数作为实数空间到二进制空间的映射有其合理性。然后,对于二进制编码DE算法而言,变异算子生成的临时实数变异向量如果作为S函数的自变量,其取值范围不是对称的
7、,因此,在二进制DE算法中直接套用DBPSO算法的转换方法显然是不可行的。在进化算法中,父代个体在搜索空间中的分布情况对于生成子代个体,指导算法向更优区域搜索具有重要意义。分布估计算法(EstimationofDistributionAlgorithm,EDA)[83,84]是遗传算法和统计学习的结合,通过统计学习的手段建立解空间内个体分布的概率模型,然后对概率模型随机采样产生新的群体,如此反复进行,实现群体的进化。为了克服DBDE算法由于S函数定义域不对称使得转换之后取“1”和“0”的概率不对称从而导致算法搜索不平衡,影响算法的优化性能的缺
8、陷,受EDA和DBPSO算法的启发,本文引入“概率预测分布”的概念,将EDA和DE算法结合起来,同时对S函数进行修正,提出了一种基于概率预测更新机制的改进二进制DE