为了充分利用差分进化(DE)的强大开发和estimation-of-distribution算法(EDA)的强大探索,提出了一种混合estimation-of-distribution算法的改进差分进化IDE-EDA。首先,提出了一种新的协同进化框架,将LSHADE-RSP(一种结合基于DE的有效改进策略的最先进的DE变体)与EDA混合。其次,利用LSHADE-RSP产生的优势个体建立EDA的概率分布模型,以增强其在每一代的开发,并引入新的控制参数来平衡开发和探索。
然后,使用贪心策略通过EDA工作,将高质量的解决方案充分保留到下一代以提高收敛速度。
2. LSHADE-RSP 和 EDA 的原理
在本节中,简要介绍了结合基于DE的有效改进策略的最新DE变体,称为LSHADE-RSP,以及EDA。
2.1. LSHADE-RSP
LSHADE-RSP [21],是2018年IEEE CEC竞赛的获奖者之一,是一种非常优秀的DE变体,由Stanovov等人于2018年提出,通过结合基于DE的有效改进策略。初始化策略、变异策略、交叉策略、选择策略、线性种群规模缩减策略和自适应参数控制策略的数学模型描述如下。
2.1.1. 初始化策略
LSHADE-RSP中的初始化策略与经典DE相同[8]。在进化过程的开始,每个候选个体随机初始化如下。
x i j = x min j + rand ⋅ ( x max j − x min j ) (1) x_i^j = x_{\min}^j + \text{rand} \cdot (x_{\max}^j - x_{\min}^j) \tag{1} xij=xminj+rand⋅(xmaxj−xminj)(1)
其中 i ∈ { 1 , 2 , 3 , ⋯ , N P } i \in \{1, 2, 3, \cdots, NP\} i∈{1,2,3,⋯,NP} 是种群中个体的索引, N P NP NP 表示种群大小。 j ∈ { 1 , 2 , 3 , ⋯ , D } j \in \{1, 2, 3, \cdots, D\} j∈{1,2,3,⋯,D} 是个体的维度索引, D D D 表示维度。 rand \text{rand} rand 表示0到1之间的均匀分布随机数。 x min = ( x min 1 , x min 2 , ⋯ , x min D ) x_{\min} = (x_{\min}^1, x_{\min}^2, \cdots, x_{\min}^D) xmin=(xmin1,xmin2,⋯,xminD) 和 x max = ( x max 1 , x max 2 , ⋯ , x max D ) x_{\max} = (x_{\max}^1, x_{\max}^2, \cdots, x_{\max}^D) xmax=(xmax1,xmax2,⋯,xmaxD) 定义了搜索空间的问题特定上下界。
2.1.2. 变异策略
在LSHADE中,采用基于排名的自适应选择压力策略“DE/current-to-pbest-w/r”[21] 生成变异向量 v i v_i vi,如下所示。
v
i
=
x
i
+
F
w
i
⋅
(
x
pbest
−
x
i
)
+
F
i
⋅
(
x
p
r
1
−
x
p
r
2
)
(2)
v_i = x_i + Fw_i \cdot (x_{\text{pbest}} - x_i) + F_i \cdot (x_{pr1} - x_{pr2}) \tag{2}
vi=xi+Fwi⋅(xpbest−xi)+Fi⋅(xpr1−xpr2)(2)
F
w
i
=
{
0.7
⋅
F
i
,
F
E
s
<
0.2
⋅
F
E
s
max
0.8
⋅
F
i
,
0.2
⋅
F
E
s
max
≤
F
E
s
<
0.4
⋅
F
E
s
max
1.2
⋅
F
i
,
F
E
s
≥
0.4
⋅
F
E
s
max
(3)
Fw_i = \begin{cases} 0.7 \cdot F_i, & FE_s < 0.2 \cdot FE_{s_{\max}} \\ 0.8 \cdot F_i, & 0.2 \cdot FE_{s_{\max}} \leq FE_s < 0.4 \cdot FE_{s_{\max}} \\ 1.2 \cdot F_i, & FE_s \geq 0.4 \cdot FE_{s_{\max}} \end{cases} \tag{3}
Fwi=⎩
⎨
⎧0.7⋅Fi,0.8⋅Fi,1.2⋅Fi,FEs<0.2⋅FEsmax0.2⋅FEsmax≤FEs<0.4⋅FEsmaxFEs≥0.4⋅FEsmax(3)
其中 F i F_i Fi 是范围在(0,1]内的缩放因子,将在第2.1.6节详细讨论。 x pbest x_{\text{pbest}} xpbest 是从当前种群中随机选择的主导个体[12], p p p 是基于排名的选择概率,用于平衡开发和探索。 x p r 1 x_{pr1} xpr1 和 x p r 2 x_{pr2} xpr2 是基于当前种群的选择概率选择的不同个体。此外, x p r 2 x_{pr2} xpr2 也可以从外部存档 A A A [21] 中随机选择。当前种群中第 i i i 个个体的选择概率计算如下。
P
r
i
=
R
a
n
k
i
(
R
a
n
k
1
+
R
a
n
k
2
+
⋯
+
R
a
n
k
N
P
)
(4)
Pr_i = \frac{Rank_i}{(Rank_1 + Rank_2 + \cdots + Rank_{NP})} \tag{4}
Pri=(Rank1+Rank2+⋯+RankNP)Ranki(4)
R
a
n
k
i
=
k
(
N
P
−
i
)
+
1
(5)
Rank_i = k(NP - i) + 1 \tag{5}
Ranki=k(NP−i)+1(5)
在公式(5)中,最佳个体根据适应度值被分配最大排名,最差个体被分配最小排名,即从范围[1, NP]中取值。 k k k 用于控制排名选择的贪婪度,设置为3在LSHADE-RSP中。此外,如果变异向量 v i v_i vi 超出搜索范围 [ L j , U j ] [L_j, U_j] [Lj,Uj],则使用公式(6)进行调整。
v i j = { ( x min j + x i j ) / 2 , v i j < x min j ( x max j + x i j ) / 2 , v i j > x max j (6) v_i^j = \begin{cases} (x_{\min}^j + x_i^j) / 2, & v_i^j < x_{\min}^j \\ (x_{\max}^j + x_i^j) / 2, & v_i^j > x_{\max}^j \end{cases} \tag{6} vij={(xminj+xij)/2,(xmaxj+xij)/2,vij<xminjvij>xmaxj(6)
2.1.3. 交叉策略
交叉操作将在变异操作完成后实施,以生成试验向量。在LSHADE-RSP中,使用二项式交叉[8]生成试验向量 u i u_i ui,如公式(7)所示。
u i j = { v i j , rand < C R j 或 j = j rand x i j , 否则 (7) u_i^j = \begin{cases} v_i^j, & \text{rand} < CR_j \text{ 或 } j = j_{\text{rand}} \\ x_i^j, & \text{否则} \end{cases} \tag{7} uij={vij,xij,rand<CRj 或 j=jrand否则(7)
其中 j rand j_{\text{rand}} jrand 是在范围[1, D]内随机生成的维度,可以确保至少从变异向量中取一个分量 u i u_i ui。 C R j CR_j CRj 是将在第2.1.6节详细讨论的交叉率。
2.1.4. 选择策略
选择策略将被实施以根据 u i u_i ui 和 x i x_i xi 的适应度值确定下一代的幸存者。在LSHADE-RSP中,使用贪婪选择策略[8]如下。
x i g + 1 = { u i , f ( u i ) ≤ f ( x i ) x i , 否则 (8) x_i^{g+1} = \begin{cases} u_i, & f(u_i) \leq f(x_i) \\ x_i, & \text{否则} \end{cases} \tag{8} xig+1={ui,xi,f(ui)≤f(xi)否则(8)
其中 f f f 是目标函数。此外,外部存档 A A A [12] 在LSHADE-RSP中用于增强种群的多样性。如果目标个体 x i x_i xi 优于试验个体 u i u_i ui,则将其保留到下一代。否则,它将从当前种群中丢弃,并保存到外部存档 A A A 中。对于外部存档更新机制,如果外部存档已满,则从外部存档中随机选择一个个体将被新插入的个体替换。
2.1.5. 线性种群规模缩减
在LSHADE [13] 中提出的线性种群规模缩减(LPSR)也被用于LSHADE-RSP中以平衡开发和探索。根据LPSR,种群规模在进化过程中减少,如下所示。
N P = round [ F E s F E s max ( N P min − N P init ) + N P init ] (9) NP = \text{round} \left[ \frac{FE_s}{FE_{s_{\max}}} (NP_{\min} - NP_{\text{init}}) + NP_{\text{init}} \right] \tag{9} NP=round[FEsmaxFEs(NPmin−NPinit)+NPinit](9)
其中 F E s FE_s FEs 和 F E s max FE_{s_{\max}} FEsmax 分别是当前和最大函数评估次数。 N P min NP_{\min} NPmin 和 N P init NP_{\text{init}} NPinit 分别表示种群的最大和最小大小。 round ( ⋅ ) \text{round}(\cdot) round(⋅) 是一个整数函数。因此,当 N P NP NP 更新时,每一代中最差的个体将从种群中移除。此外,外部存档大小 ∣ A ∣ = round ( N P × r a r c ) |A| = \text{round}(NP \times r^{arc}) ∣A∣=round(NP×rarc) 将根据每一代结束时的 N P NP NP 调整。
2.1.6. 自适应参数控制
在LSHADE-RSP中,使用与iL-SHADE [14] 中相同的基于历史的参数调整方案来调整每个个体在每一代的缩放因子 F i F_i Fi 和交叉率 C R i CR_i CRi。成功的 F i F_i Fi 和 C R i CR_i CRi 对将分别保存到 S C R S_{CR} SCR 和 S F S_F SF 中,用于在每一代结束时基于加权勒梅尔平均值更新历史记忆 M C R , k M_{CR,k} MCR,k 和 M F , k M_{F,k} MF,k,如下所示。
M
F
,
k
=
{
M
F
,
k
,
S
F
=
∅
mean
W
L
(
S
F
)
+
M
F
,
k
2
,
否则
(10)
M_{F,k} = \begin{cases} M_{F,k}, & S_F = \emptyset \\ \frac{\text{mean}_{WL}(S_F) + M_{F,k}}{2}, & \text{否则} \end{cases} \tag{10}
MF,k={MF,k,2meanWL(SF)+MF,k,SF=∅否则(10)
M
C
R
,
k
=
{
0
,
M
C
R
,
k
=
⊥
或
max
(
S
C
R
=
0
)
mean
W
L
(
S
C
R
)
+
M
C
R
,
k
2
,
否则
(11)
M_{CR,k} = \begin{cases} 0, & M_{CR,k} = \bot \text{ 或 } \max(S_{CR} = 0) \\ \frac{\text{mean}_{WL}(S_{CR}) + M_{CR,k}}{2}, & \text{否则} \end{cases} \tag{11}
MCR,k={0,2meanWL(SCR)+MCR,k,MCR,k=⊥ 或 max(SCR=0)否则(11)
mean
W
L
(
S
)
=
∑
n
=
1
∣
S
∣
ω
n
⋅
S
n
2
∑
n
=
1
∣
S
∣
ω
n
⋅
S
n
(12)
\text{mean}_{WL}(S) = \frac{\sum_{n=1}^{|S|} \omega_n \cdot S_n^2}{\sum_{n=1}^{|S|} \omega_n \cdot S_n} \tag{12}
meanWL(S)=∑n=1∣S∣ωn⋅Sn∑n=1∣S∣ωn⋅Sn2(12)
ω
n
=
∣
f
(
u
n
)
−
f
(
x
n
)
∣
∑
n
=
1
∣
S
∣
∣
f
(
u
n
)
−
f
(
x
n
)
∣
(13)
\omega_n = \frac{|f(u_n) - f(x_n)|}{\sum_{n=1}^{|S|} |f(u_n) - f(x_n)|} \tag{13}
ωn=∑n=1∣S∣∣f(un)−f(xn)∣∣f(un)−f(xn)∣(13)
在公式(12)中, S S S 指的是 S C R S_{CR} SCR 或 S F S_F SF。对于每一代,仅更新 M C R M_{CR} MCR 和 M F M_F MF 中的第 k k k 个单元。 k k k 的值从 1 开始,每一代增加 1。一旦 k k k 超过预定内存大小 H H H [14], k k k 将重置为 1。此外, M F M_F MF 和 M C R M_{CR} MCR 中的所有单元值初始化为 0.3 和 0.8。此外, M C R M_{CR} MCR 和 M F M_F MF 中的历史记忆条目在进化过程中始终设置为 0.9。
在每一代中,每个个体 x i x_i xi 将被分配缩放因子 F i F_i Fi 用于变异操作,交叉率 C R i CR_i CRi 用于交叉操作。 F i F_i Fi 和 C R i CR_i CRi 是使用柯西分布和正态分布生成的,如下所示。
F
i
=
randc
(
M
F
,
R
i
,
0.1
)
(14)
F_i = \text{randc}(M_{F,R_i}, 0.1) \tag{14}
Fi=randc(MF,Ri,0.1)(14)
F
i
=
{
1
,
应用公式(13),
F
i
>
1
min
(
F
i
,
0.7
)
,
F
E
s
<
0.6
⋅
F
E
s
max
,
0.6
⋅
F
E
s
max
≤
F
E
s
,
min
(
F
i
,
1
)
,
0.6
⋅
F
E
s
max
≤
F
E
s
(15)
F_i = \begin{cases} 1, & \text{应用公式(13),} F_i > 1 \\ \min(F_i, 0.7), & FE_s < 0.6 \cdot FE_{s_{\max}}, \\ 0.6 \cdot FE_{s_{\max}} \leq FE_s, \\ \min(F_i, 1), & 0.6 \cdot FE_{s_{\max}} \leq FE_s \end{cases} \tag{15}
Fi=⎩
⎨
⎧1,min(Fi,0.7),0.6⋅FEsmax≤FEs,min(Fi,1),应用公式(13),Fi>1FEs<0.6⋅FEsmax,0.6⋅FEsmax≤FEs(15)
C
R
i
=
randn
(
M
C
R
,
R
i
,
0.1
)
(16)
CR_i = \text{randn}(M_{CR,R_i}, 0.1) \tag{16}
CRi=randn(MCR,Ri,0.1)(16)
C
R
i
=
{
0
,
C
R
i
<
0
max
(
C
R
i
,
0.6
)
,
0.25
⋅
F
E
s
max
≤
F
E
s
<
0.5
⋅
F
E
s
max
,
max
(
C
R
i
,
1
)
,
0.5
⋅
F
E
s
max
≤
F
E
s
,
C
R
i
>
0
(17)
CR_i = \begin{cases} 0, & CR_i < 0 \\ \max(CR_i, 0.6), & 0.25 \cdot FE_{s_{\max}} \leq FE_s < 0.5 \cdot FE_{s_{\max}}, \\ \max(CR_i, 1), & 0.5 \cdot FE_{s_{\max}} \leq FE_s, CR_i > 0 \end{cases} \tag{17}
CRi=⎩
⎨
⎧0,max(CRi,0.6),max(CRi,1),CRi<00.25⋅FEsmax≤FEs<0.5⋅FEsmax,0.5⋅FEsmax≤FEs,CRi>0(17)
其中 R i ∈ { 1 , 2 , 3 , ⋯ , H } R_i \in \{1, 2, 3, \cdots, H\} Ri∈{1,2,3,⋯,H} 是单元选择的索引。此外,贪婪因子 p p p 在LSHADE-RSP中随着 M C R M_{CR} MCR 的增加而增加,如下所示。
p = 0.085 + 0.085 ⋅ F E s F E s max (18) p = 0.085 + 0.085 \cdot \frac{FE_s}{FE_{s_{\max}}} \tag{18} p=0.085+0.085⋅FEsmaxFEs(18)
3 EDA
在本部分中,简要介绍了EDA的基本知识。基本EDA框架简单,EDA的一般过程如下。
步骤1. 初始化参数和种群 P P P。
步骤2. 评估 P P P 中的解并更新最佳解 x best x_{\text{best}} xbest。
步骤3. 如果算法终止,则输出 x best x_{\text{best}} xbest,否则执行步骤4。
步骤4. 从 P P P 中选择优势种群 P d P_d Pd 以构建高斯概率分布模型。
步骤5. 通过从概率分布模型中采样生成新种群 P P P。
步骤6. 检查边界约束,然后执行步骤2。
在连续EDA及其变体中,高斯模型是最广泛采用的概率模型[40]。具有 D D D 维的随机向量 x x x 的联合高斯概率密度函数(PDF)可以通过均值 μ \mu μ 和协方差矩阵 C C C 参数化,如下所示[38]。
G
(
x
)
(
μ
,
C
)
=
1
(
2
⋅
π
)
D
⋅
det
(
C
)
⋅
exp
(
−
(
x
−
μ
)
T
⋅
C
−
1
⋅
(
x
−
μ
)
/
2
)
(19)
G(x)_{(\mu, C)} = \sqrt{\frac{1}{(2 \cdot \pi)^D \cdot \text{det}(C)}} \cdot \exp \left( - (x - \mu)^T \cdot C^{-1} \cdot (x - \mu) / 2 \right) \tag{19}
G(x)(μ,C)=(2⋅π)D⋅det(C)1⋅exp(−(x−μ)T⋅C−1⋅(x−μ)/2)(19)
C
=
1
∣
P
d
∣
⋅
∑
i
=
1
∣
P
d
∣
x
i
,
x
i
∈
P
d
(20)
C = \frac{1}{|P_d|} \cdot \sum_{i=1}^{|P_d|} x_i, \quad x_i \in P_d \tag{20}
C=∣Pd∣1⋅i=1∑∣Pd∣xi,xi∈Pd(20)
C
=
1
∣
P
d
∣
⋅
∑
i
=
1
∣
P
d
∣
(
x
i
−
μ
)
⋅
(
x
i
−
μ
)
T
,
x
i
∈
P
d
(21)
C = \frac{1}{|P_d|} \cdot \sum_{i=1}^{|P_d|} (x_i - \mu) \cdot (x_i - \mu)^T, \quad x_i \in P_d \tag{21}
C=∣Pd∣1⋅i=1∑∣Pd∣(xi−μ)⋅(xi−μ)T,xi∈Pd(21)
其中 ∣ P d ∣ |P_d| ∣Pd∣ 表示 P d P_d Pd 的基数,即包含在 P d P_d Pd 中的优势个体数量。
估计的高斯概率模型可以通过图1中的概率密度椭球(PDE)在超空间中描绘。在图1中,概率密度椭球的中心表示均值 μ \mu μ,即EDA的搜索中心,协方差矩阵 C C C 的特征向量和相应的特征值分别决定了概率密度椭球的轴方向和长度[40]。因此,协方差矩阵 C C C 表示EDA的搜索方向和范围。
当根据优势种群获得估计的高斯概率分布模型的 μ \mu μ 和 C C C 时,将使用均值 μ \mu μ 和协方差矩阵 C C C 采样新种群,如下所示。
x i = μ + g i , g i ∼ N ( 0 , C ) (22) x_i = \mu + g_i, \quad g_i \sim N(0, C) \tag{22} xi=μ+gi,gi∼N(0,C)(22)
此外,如果向量 x i x_i xi 超出搜索边界,将使用公式(23)进行调整。
x i j = x min j + rand ⋅ ( x max j − x min j ) , if x i j < x min j or x i j > x max j (23) x_i^j = x_{\min}^j + \text{rand} \cdot (x_{\max}^j - x_{\min}^j), \text{ if } x_i^j < x_{\min}^j \text{ or } x_i^j > x_{\max}^j \tag{23} xij=xminj+rand⋅(xmaxj−xminj), if xij<xminj or xij>xmaxj(23)
3. 提出的IDE-EDA
本节描述了通过将LSHADE-RSP与EDA结合而提出的新型混合算法IDE-EDA。
3. 提出的IDE-EDA
本节描述了通过将LSHADE-RSP与EDA结合而提出的新型混合算法IDE-EDA。首先,选择LSHADE-RSP作为混合基础的原因如下:(1) DE由于其简单性和效率,被认为是EA最具代表性的算法之一。(2) 基于DE的算法在IEEE CEC会议系列中表现出色。(3) LSHADE-RSP被认为是不改变DE基本框架的最具有竞争力的基于DE的变体,因为它在IEEE CEC 2018竞赛中排名第二。然后,选择EDA作为混合算法的组成部分的原因是,由于EDA不依赖于特定的个体,而是仅依赖于进化过程中主导个体的信息,从而产生强大的探索能力,这可以有效缓解LSHADE-RSP中种群多样性的减少。
3.1. 协同进化框架
混合算法的研究是进化算法的重要方向。重点是如何有效地结合两个或多个EA,并充分发挥各自的优势以开发更好的算法。在提出的IDE-EDA中利用了一种新的协同进化框架,以充分利用LSHADE-RSP在不同优化阶段的强开发能力和EDA的强探索能力。具体来说,由于进化过程中种群多样性的减少,LSHADE-RSP倾向于陷入局部最优。此外,如图1所示,半圆形椭球的长轴倾向于与函数等高线平行,因此使用半圆形椭球内的优势个体估计的新概率密度椭球的长轴也倾向于与函数等高线平行[40]。换句话说,EDA的主要搜索方向在进化过程中通常与改进方向正交。EDA确实表现出强大的探索性能,尽管存在上述缺陷。
在IDE-EDA中,每一代设计了两个阶段,基于LSHADE-RSP和EDA的特性,并在每个阶段独立应用。协同进化框架的新颖性主要体现在两个算法之间的种群交互上。IDE-EDA的过程如图2所示,并在算法1中描述。首先,使用LSHADE-RSP搜索解空间,充分利用其强开发能力,这是由于实施 x pbest x_{\text{pbest}} xpbest 和基于排名的选择压力在变异中产生的。然后,从LSHADE-RSP生成的种群 P P P 中选择的优势个体用于建立EDA的概率分布模型,以充分利用其在进化过程中的强探索能力。由于用于建立概率分布模型的优势个体并非全部由EDA生成,因此可以缓解EDA的正交改进方向进化方向的缺陷。在协同进化框架中,LSHADE-RSP实施过程中的种群更新策略与原始算法一致,如算法1的第17至23行所示。在EDA实施过程中,利用贪婪搜索策略将更好的个体保留到下一代,如算法1的第33至36行所示,以提高IDE-EDA的收敛速度,其中LSHADE-RSP生成的个体和EDA采样的个体被结合,最好的 N P NP NP 个个体将形成新的种群 P P P。此外,在进化过程中使用贪婪策略缩小外部存档 A A A,即当其大小 ∣ A ∣ |A| ∣A∣ 由于 N P NP NP 的减少而减少时,最差的个体将从外部存档中丢弃。
An Improved Differential Evolution by Hybridizing with Estimation-of-Distribution Algorithm, Information Sciences, 619(2023):439-456. https://doi.org/10.1016/j.ins.2022.11.029