首页 理论教育差分进化算法:基于Agent交互协议的施工运输资源模型

差分进化算法:基于Agent交互协议的施工运输资源模型

【摘要】:差分进化算法由Price等提出,是一种基于群体进化的算法,具有记忆个体最优解和种群内信息共享等特点,在一定程度上是一种自适应、自组织和自学习的迭代寻优过程。差分进化算法的变异操作使用差分策略,即利用种群中个体之间的差分向量对个体进行扰动,实现个体变异。

差分进化算法由Price等(2011)提出,是一种基于群体进化的算法,具有记忆个体最优解和种群内信息共享等特点,在一定程度上是一种自适应自组织和自学习的迭代寻优过程。该算法采用实数编码方式,其算法原理、进化流程与遗传算法十分相似。差分进化算法的变异操作使用差分策略,即利用种群中个体之间的差分向量对个体进行扰动,实现个体变异。基于差分变异操作和一对一的竞争生存策略,避免了复杂的遗传操作。这种变异方式利用群体的分布特性,提高了算法的搜索能力,避免了遗传算法变异的不足。其基本流程是初始化种群、变异、交叉、选择、终止条件判断和输出优解。

1.变异操作

在差分变异算法中,常见的差分策略是随机选取种群中两个不同的个体,将其向量差缩放后与待变异个体进行向量合成。设每一代进化目标向量,i=1,2,…,NP,则有

其中,,r1,r2,r3∈{1,2,…,NP}且r1≠r2≠r3≠i;F为变异因子,是差分进化的主要控制参数之一,F∈[0,1]。

2.交叉操作交叉操作的目的是增加种群多样性,使之跳出局部最优点的局限。对第G代种群及其变异的中间体进行交叉变异得到,则有(www.chuimin.cn)

其中,CR为范围在[0,1]之间的交叉概率,randj[0,1]为[0,1]间均匀分布随机概率,jrand为[0,D]之间的随机整数,D为个体向量维度

3.选择操作

将交叉操作所产生的目标函数进行适应度评估,根据式(3-4)选择适应度值大的向量作为新的种群。

选择好后,判断是否达到设定的最大迭代次数或停止条件,不满足则再次循环迭代,直至满足,输出优解。