购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 差分进化算法的运算流程

差分进化算法采用实数编码,不需要进行编码和解码;差分变异操作时,每个向量中参数的改变用到了其他个体之间的差值,能够充分利用其他个体的信息;中间个体与当前个体的交叉操作,也利用了父辈个体信息,同样具有个体之间的信息交互;个体进化采用了“一对一”方式贪婪竞争策略,在保证种群优良性的同时,也加快了算法收敛速度。差分进化算法的运算流程如图3-4所示,主要步骤如下。

(1)初始化算法参数:初始化种群数量、变异因子、交叉概率和终止条件等算法参数。

(2)初始化种群的位置:采用合适的编码方式,在搜索范围内随机或根据先验知识给定种群的初始位置,利用目标函数构建个体评价的适应度函数,计算所有个体的适应度函数值。

图3-4 差分进化算法的运算流程

(3)判断是否满足终止条件:若是,则结束搜索过程,转到步骤(9);若否,则继续进行下面的步骤。

(4)变异操作:对每个当前个体,从种群中随机选择互不相同,且与当前个体也不相同的若干个体进行变异操作,得到所有的中间个体。

(5)交叉操作:对每个中间个体的合成向量与其相应当前个体的目标向量进行交叉操作,得到所有候选个体对应的试验向量。

(6)计算所有候选个体的适应度函数值:对每个候选个体的试验向量进行边界处理,然后计算其适应度函数值。

(7)选择操作:比较每个候选个体与对应当前个体的适应度函数值,进行“一对一”方式贪婪竞争选择,产生下一代种群。

(8)记录最优个体的位置及其目标函数值:找到种群中适应度最大的个体,将其适应度函数值转换为目标函数值,记录最优个体的位置及其目标函数值。转到步骤(3)。

(9)输出优化结果。 mlFW+y0ovoKMd0xFdF1tzF7TBVM7rB1taizTafCodnRPX4AQEXt8vx1f6PSLPJ63

点击中间区域
呼出菜单
上一章
目录
下一章
×