基于差分进化算法在函数优化方面的应用
2018-09-18王亚萍段国荣
王亚萍 段国荣
摘 要 差分进化算法是一种全局优化性能好,鲁棒性好,容易实现的新型智能优化算法。本研究描述了差分进化算法的基本原理,分析其优缺点,并利用无约束优化函数对差分进化算法进行测试,为差分进化算法的进一步改进指出方向。
关键词 差分进化 无约束优化
0引言
差分进化算法(DE算法)是一种基于种群差异的进化方法。DE算法利用群体内各个体之间的竞争与合作开启群体智能模式便于进行优化搜索。DE算法保留了种群的全局搜索能力,利用实数编码、简单的变异、交叉、选择操作和一对一的竞争生存方式,从而简化了进化操作。DE算法特有的进化操作使其收敛性较强和鲁棒性较好,适合解决一些较复杂的函数优化问题。DE算法本质上是一种基于实数编码的具有保优思想的智能优化算法。该算法编程简单,容易实现,全局优化性能好,在测试函数的仿真实验中表现优异。近年来,DE算法成为智能优化算法研究中的热点之一。
1算法的基本原理
基本的DE是基于候选方案种群的算法,在整个搜索空间中进行搜索,通过使用简单的数学公式对种群中的现有方案进行组合实现。如果新的方案有所改进,则被接受,否则被丢弃。重复这一过程直到找到满意的解决方案。
设是最小适应度函数,适应度函数以实数向量的形式选取一个候选方案作为参数,给出一个实数值作为候选方案的输出适应值。
·在搜索空间中随机地初始化所有的个体。
·重复如下操作直到满足终止条件。
对于种群中的所有个体:
(1)随机地从种群中选择彼此不同的三个个体,和;
(2)随机地选择一个索引。其中是被优化问题的维数;
(3)通过对每一个进行如下的迭代计算,则所有可能的新个体生成一个随机数;
(4)如果或者,,否则;
(5)如果,然后在种群中使用改进的替换原来的,否则不变;
(6)选择具有最小适应度值的作为搜索结果。
2算法步骤
2.1初始化
DE利用个维数为的实数值当做每一代种群的参数向量,每个个体可以表示为: (1)
其中:种群中的序列;进化代数;种群规模。在最小化的过程中始终保持不变。
2.2變异
对于每个目标向量基本的差分进化算法的变异向量如下产生:
(2)
其中,随机选择的三个序号,和互不相同,且,和与目标向量序号也应不同,所以必须满足。变异算子是一个实常数因数,具有控制偏差变量的放大作用。
2.3交叉
为了增加干扰性参数向量的多样化,我们引入了交叉操作。
2.4选择
为了确定试验向量是否可以成为下一代成员,DE按照贪婪准则将试验向量和当前种群中的目标向量进行比较,如果要目标函数最小化,那么具有较小目标函数值的向量将会在下一代种群中出现,则下代种群中的所有个体都比当前种群中的对应个体更好。
2.5边界条件的处理
在边界约束条件问题中,一定要确保产生新个体的参数值位于问题的可行域中。其中一个简单的方法是用不符合边界约束条件的新个体将可行域中随机产生的参数向量来代替。
3算法分析
通过对函数进行DE算法仿真测试,实验结果表明:目标函数的极值可以达到理论极值,DE算法可以有效解决无约束函数优化问题。将DE算法用于解决实际应用问题,使其得到充分的应用。
作者简介:王亚萍,在读硕士研究生,主要从事计算流体力学的研究;段国荣,在读硕士研究生,主要从事地下水的研究。
参考研究献
[1] 汪慎文,丁立新,张文生,郭肇禄,谢承旺.差分进化算法研究进展[J].武汉大学学报(理学版),2014,60(04):283-292.
[2] 呼忠权.差分进化算法的优化及其应用研究[D].秦皇岛:燕山大学,2013.
[3] 杨启文,蔡亮,薛云灿.差分进化算法综述[J].模式识别与人工智能,2008,21(04):506-513.
[4] 吴亮红.差分进化算法及应用研究[D].长沙:湖南大学,2007.
[5] 张庆科.粒子群优化算法及差分进行算法研究[D].济南:山东大学,2017.
[6] 徐斌.基于差分进化算法的多目标优化方法研究及其应用[D].上海:华东理工大学,2013.