差分进化算法-DE

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(3)选择算子 DE 采用贪婪选择策略来对种群进行更新,通过比较新生成的试验个体与当 代种群中对应个体的优劣, 选择适应值更优的个体作为子代进入新种群,如公式 (2.3)所示。
p
G 1 i
viG , if f (viG ) f ( piG ) G pi , otherwise
(2.3)
uiG piG
r CR j Ir
uiG 1 piG 1
true false
uiG 2 piG 2
false true
… … … … …
G uij
G pij
…… ……
G uiN G piN
false false
G pij
true true ……
G uiN
viG
uiG 1
uiG 2
图 2.1 DE 交叉算子示意图
G G G uij prG 1, j F ( pr 2, j pr 3, j )
(2.1)
G G G 其中 uij 是变异个体 uiG 的第 j 维元素; prG 1 , pr 2 , pr 3 为第 G 代种群中 3 个互
异的个体,并且 r1 r 2 r3 i ; F 是实数常量,称为“缩放因子” ,其取值范围 一般为 F 0, 2 。 (2)交叉算子 在进化算法中,交叉也称为“重组” ,即将多个父代个体按照一定的规则进 行交叉组合,实现局部开采。DE 利用交叉算子生成新的候选解 viG ,称为“试验 个体” 。DE 常用的交叉方式为二项式交叉,如公式(2.2)所示。
G uij
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
注:0/1 表示可能取 0 也可能取 1
(2)交叉算子 MBDE 算法保留了标准 DE 算法中的交叉算子,不同的是,标准 DE 算法中 交叉操作中个体都是浮点编码的个体,而在 MBDE 算法中,该算子是将二进制
编码的父代个体 piG 与概率预测算子生成的临时变异个体进行交叉,将父代个体 中的有用信息继承到子代个体 viG 中,如公式(2.13)所示。
x1
总的来说, DE 算法的进化流程如图 2.3 所示, 即通过变异算子来探索新解, 利用交叉算子进行局部开发, 利用贪婪选择策略进行保优,使种群向最优区域靠 拢。因此,DE 算法具有较好的全局收敛性。
初始种群 父代 变异 交叉 选择
图 2.3 DE 进化流程
在 DBPSO 算法[80]中,S 函数相对于粒子位置和速度更新的范围是对称的, 通过 S 函数转换之后的概率范围同样也是对称的。因此,DBPSO 算法采用 S 函 数作为实数空间到二进制空间的映射有其合理性。然后,对于二进制编码 DE 算 法而言, 变异算子生成的临时实数变异向量如果作为 S 函数的自变量, 其取值范 围不是对称的,因此,在二进制 DE 算法中直接套用 DBPSO 算法的转换方法显 然是不可行的。 在进化算法中, 父代个体在搜索空间中的分布情况对于生成子代个体,指导 算法向更优区域搜索具有重要意义。分布估计算法( Estimation of Distribution
Step 7:
选择操作:根据公式(2.3),比较父代个体 piG 与试验个体 viG 的优劣, 选择优胜者作为新一代个体 piG 1
Step 8:
G G 1 ;转到 Step 4 继续迭代。
图 2.9 MBDE 算法优化流程
u G , if rand () CR j Ir G vij ijG pij , otherwise
(2.2)
G 其中 vij 为候选解 viG 的第 j 维元素;rand () 是 [0,1) 之间的均匀随机数,CR 是
; Ir 是 [1, N ] 之间的随机整数,对于同一个体 0, 1 之间的常数,称为“交叉概率” 的不同维度, Ir 保持唯一。 从公式(2.2)和图 1 可以看出,变异个体 uiG 中至少有一个元素被继承到新的 候选解中,因此,DE 可以较好地保持种群的多样性。
1 0.9 0.8 0.7 0.6 100,111 010 110
S'(x)
0.5 0.4 0.3 0.2 0.1 001 0 -F 000,011
101 1-F
0
0.5
1
F
1+F
x
图 2.8 MBDE 概率估计算子(F=2) 表 2.1 不同父代比特组合情况下概率向量的取值
prG 1, j
G pr 1 G pr 2
概率模型
uiG
变异个体
G pr 3
概率估计算子
父代个体
图 2.7 MBDE 概率估计算子
由于采用 3 个不同个体的对应比特位进行概率预测,因此就有 8 种 0、1 组 合。从图 2.8 和表 2.1 可以看出,MBDE 的概率估计算子是关于实数变异值对称 的,因此可以实现“0” “1”平衡搜索,避免陷入局部最优。例如,当比特组合 为“101”时,即父代种群中比特“1”多于“0”时,此时为防止陷入局部最优, 子代取“1”的概率不能太大;同理,当比特组合为“010”时,子代取“0”的概 率也不能太大,因此 MBDE 能较好地防止种群陷入局部最优。
i 为个体的索引, N 为个体编码长度;
Step 3:
计算种群中所有个体的适应值,选出最优个体 pb ;
Step 4: 判断是否满足算法停止迭代条件,若是则终止迭代并输出最优解
pb ,否则继续下面步骤,对种群进行迭代更新;
Step 5: Step 6:
根据概率预测算子生成变异个体 uiG ,即公式(2.11)(2.12); 将父代个体 piG 与 uiG 进行交叉,即按照公式(2.13)生成二进制试验个 体 viG 作为候选解;
(2.12)
G G 其中 prG 1 、 pr 2 、 pr 3 是第 G 代种群中随机选出的 3 个不同的父代个体,F 0
G 是根据概 是缩放因子,b 0 是跨度系数,rand () 是 0, 1 之间的均匀随机数,uij
率向量采样生成的二进制变异位。 如图 2.7 所示,MBDE 根据 3 个不同父代个体的比特分布来预测下一代个 体,一方面可以从父代个体中继承有用的全局信息,另一方面,相对于种群递增 学习算法(Population-based Increasing Learning,PBIL)[83]根据父代种群中所有 个体的分布建立唯一的概率向量导致生成的子代重复率高、多样性差的缺点, MBDE 只选部分父代个体进行概率估计,可以为不同的个体建立不同的概率估 计向量,从而提高种群的多样性,避免由于次优解群集导致的早熟收敛。
G ,如公式(2.11)(2.12)所示。 新的二进制变异个体 uij
G f pij
1 1 e
2b G G G pr 1, j F ( pr 2, j pr 3, j ) 0.5 1 2 F


(2.11)
G 1, if rand () f (pij ) u 0, otherwise G ij
[83, 84] Algorithm, EDA) 是遗传算法和统计学习的结合, 通过统计学习的手段建立
解空间内个体分布的概率模型, 然后对概率模型随机采样产生新的群体,如此反 复进行,实现群体的进化。 为了克服 DBDE 算法由于 S 函数定义域不对称使得转换之后取 “1” 和 “0”
的概率不对称从而导致算法搜索不平衡,影响算法的优化性能的缺陷,受 EDA 和 DBPSO 算法的启发,本文引入“概率预测分布”的概念,将 EDA 和 DE 算法 结合起来, 同时对 S 函数进行修正, 提出了一种基于概率预测更新机制的改进二 进制 DE 算法(Modified Binary DE,MBDE) 。 2.1.1 算法原理 (1)概率预测算子 MBDE 算法提出了一个 “概率预测算子” 对父代个体的比特分布进行建模, 建立父代个体的概率分布向量 f piG , 然后利用该概率向量进行随机采样, 生成
G , if rand () CR j Ir uij v G pij , otherwise
G ij
(2.13)
(3)选择算子 MBDE 同时也保留了标准 DE 算法的选择算子, 通过贪婪选择将最优个体保 存到新一代种群中,指导算法向最优区域搜索。 2.1.2 算法流程 MBDE 算法利用概率估计算子生成二进制变异个体,利用交叉算子将变异 个体与父代个体进行交叉生成试验个体, 然后根据贪婪选择策略保留试验个体与 父代个体之间的优胜者作为子代个体进入新种群,实现种群的更新,其详细流程 如图 2.9 所示。 Step 1: 设置算法控制参数:交叉概率 CR ,缩放因子 F ,跨度系数 b ,种群 规模 NP ,最大迭代次数 Gmax ;设种群代数计数器 G 0 ; Step 2: 0 0 随机初始化二进制种群 P p10 , p2 , , pi0 , , pNP ,其中 pi0 0,1N ,
G 示为实数解空间中的一个向量 piG ( piG 1 , pi 2 ,
N
,第 G 代个体 i 可以表
G , piN ) , i 1, 2,
, N 。DE 的变
异算子为每个个体生成一个对应的临时个体 uiG ,称为“变异个体” 。 如变异公式(2.1)所示,DE 从当代种群中随机选择 3 个个体作为父代个体进 行变异,生成变异个体 uiG 。
2.1 差分进化算法
差分进化算法(Differential Evolution,DE)和 GA,PSO,ACO 等进化算法 一样, 都是基于群体智能的随机并行优化算法,通过模仿生物群体内个体间的合 作与竞争产生的启发式群体智能来指导优化搜索。DE 特有的记忆能力使其可以 动态跟踪当前的搜索情况,以调整其搜索策略,实现自适应寻优,因此具有较强 的全局收敛性和鲁棒性, 且不需要借助问题的特定信息,适于求解一些利用常规 的数学规划方法所无法求解的复杂环境中的优化问题[69]。 DE 的种群由若干个体组成, 每个个体代表优化问题的一个潜在解。 DE 的优 化机制是根据不同个体之间的距离和方向信息来生成新的候选个体, 实现群体进 化。与其他进化算法类似,DE 采用变异、交叉、选择这三个典型进化算子对种 群进行更新,但不同于传统进化算子,DE 的进化算子有其独到之处。 (1)变异算子 假设种群规模为 NP ,解的维数为 N ,则种群 P
0 0 0 0 1 1 1 1
prG2, j
0 0 1 1 0 0 1 1
prG3, j
0 1 0 1 0 1 0 1
uij G
0 -F F 0 1 1-F 1+F 1
f(uij) F=0.5 0.0474 0.0025 0.5000 0.0474 0.9526 0.5000 0.9975 0.9526 F=1.0 0.1192 0.0025 0.8808 0.1192 0.8808 0.1192 0.9975 0.8808 F=2.0 0.2315 0.0025 0.9734 0.2315 0.7685 0.0266 0.9975 0.7685
从公式(2.1)可以看出,DE 的变异操作实际上是将两个不同父代个体的差值 加权后加到第 3 个父代个体,从而得到一个新的临时个体。因此,DE 具有很好 的几何意义,如图 2.2 所示。
x2
ui pr1 F ( pr 2 pr 3 )
变异
ui
候选解
pr1
vi
pr2
交叉
pr3
pi
0
图 2.2 DE 个体更新原理示意图
相关文档
最新文档