差分进化算法是一种基于实数编码的具有保优思想的贪婪进化算法,通过群体内的竞争与合作实现对优化问题的求解[207],其基本原理:在整个参数空间内,依据均匀概率分布随机生成初始群体;任意选择两个个体的差分向量,加权后与第三个个体按一定的规则求和而构成新的个体,然后将新个体与预先确定的目标个体进行交叉操作产生试验个体;如果试验个体目标值优于目标个体的目标值,则利用试验个体代替目标个体,然后进入下一代操作;在每一代计算中,每一个个体均会被选作目标个体并与试验个体进行比较。与遗传算法相似,差分进化算法也包含选择、交叉和变异三种基本操作,但其操作顺序为变异、交叉和选择,同时每一种的操作内容也有所区别,其优化过程主要涉及以下五个重要概念。
1.种群个体
假定种群规模为M,待优化问题的维数为D,则种群个体可表示为
式中:g为进化代数;为种群第g代第i个个体。
2.变异操作
变异操作是通过将上一代种群中的不同个体进行差分组合实现对每个个体进行变异,其有多种变异方法,本章采用变异方式为
式中:F为缩放因子;为变异产生的新个体;为差分向量;和均为父代个体。
3.交叉操作(www.xing528.com)
对变异产生的新个体与父代个体进行交叉操作生成试验个体可按式(7.3)进行,即
式中:rand(0,1)为第j次在[0,1]范围内的均匀随机数;CR为交叉因子;jrand为[1,D]范围内的随机整数。
4.选择操作
差分进化算法采用最优保存策略,对当代个体Xgi和试验个体Ug+1i按照适应度大小进行竞争,较优者进入下一代种群,见式(7.4)。
5.边界条件处理
处理有边界的优化问题时,要确保产生新个体的参数值位于问题的可行域中。确保这一结果的简单方法是将不符合要求的新个体用在可行域中随机产生的向量替代。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。