进化算法差分算法差分进化算法(Differential Evolution, DE)是一种新兴的进化计算技术,或称为差分演化算法、微分进化算法、微分演化算法、差异演化算法
它是由Storn等人于1995年提出的,最初的设想是用于解决切比雪夫多项式问题,后来发现DE也是解决复杂优化问题的有效技术
DE与人工生命,特别是进化算法有着极为特殊的联系
差分进化算法是基于群体智能理论的优化算法,通过群体内个体间的合作与竞争产生的群体智能指导优化搜索
但相比于进化算法,DE保留了基于种群的全局搜索策略,采用实数编码基于差分的简单变异操作和一对一的竞争生存策略,降低了遗传操作的复杂性
同时,DE特有的记忆能力使其可以动态跟踪当前的搜索情况,以调整其搜索策略,具有较强的全局收敛能力和鲁棒性,且不需要借助问题的特征信息,适于求解一些利用常规的数学规划方法所无法求解的复杂环境中的优化问题
差分进化算法是一种基于群体进化的算法,具有记忆个体最优解和种群内信息共享的特点,即通过种群内个体间的合作与竞争来实现对优化问题的求解,其本质是一种基于实数编码的具有保优思想的贪婪遗传算法
DE是一种用于优化问题的启发式算法
本质上说,它是一种基于实数编码的具有保优思想的贪婪遗传算法
同遗传算法一样,DE包含变异和交叉操作,但同时相较于遗传算法的选择操作,DE采用一对一的淘汰机制来更新种群
由于DE在连续域优化问题的优势已获得广泛应用,并引发进化算法研究领域的热潮
DE由Storn 以及Price提出,算法的原理采用对个体进行方向扰动,以达到对个体的函数值进行下降的目的,同其他进化算法一样,DE不利用目标函数的梯度信息,因此对目标的可导性甚至连续性没有要求,适用性很强
同时,算法与粒子群优化有相通之处,但因为DE在一定程度上考虑了多变量间的相关性,因此相较于粒子群优化在变量耦合问题上有很大的优势
算法的实现参考实现代码部分
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。