一种新的自适应L-SHADE算法AL-SHADE
为了进一步提高差分进化(DE)最具竞争力的变体之一L-SHADE的性能,研究中提出了一种新的自适应L-SHADE算法AL-SHADE。对L-SHADE进行了两个主要部分的修改。一部分,在突变过程中添加了一种新的突变策略,以提高开发能力,充分利用种群信息。另一部分,提出了一种带有突变策略自适应方案的选择策略,以调整开发和探索。
2. 相关工作
最近,DE 仍然被选为开发新型进化算法的基础,特别是在连续优化领域[26]、[28]、[29],尽管它在1995年被开发。L-SHADE [4] 被认为是过去几十年中DE最成功的变体之一,因为它是2014年IEEE进化计算竞赛(IEEE CEC 2014)的获胜者。在本节中,详细介绍了L-SHADE。
2.1. 初始化策略
种群中的初始个体(解向量)随机初始化,如公式(1)所示。
xi,j0=Lj+rand⋅(Uj−Lj),i=1,2,3⋯ ,NP;j=1,2,3⋯ ,D(1) x_{i,j}^0 = L_j + \text{rand} \cdot (U_j - L_j), \quad i = 1, 2, 3 \cdots, NP; \quad j = 1, 2, 3 \cdots, D \tag{1} xi,j0=Lj+rand⋅(Uj−Lj),i=1,2,3⋯,NP;j=1,2,3⋯,D(1)
其中 rand\text{rand}rand 是0到1之间的均匀分布随机数。LLL 和 UUU 是定义搜索空间的问题特定上下界。NPNPNP 是种群大小。DDD 是问题特定的维度。
历史记忆 MCRM_{CR}MCR、MFM_FMF 的值,其中包含交叉率 CRCRCR 和缩放因子 FFF 的条目,在初始化阶段初始化为0.5,如公式(2)所示。需要注意的是,CRCRCR 和 FFF 的所有元素都是0到1之间的标量,HHH 是历史记忆的大小。此外,外部存档 AAA 初始化为空,因为没有先前的劣解。
{MCR,k=0.5MF,k=0.5,k=1,2,3⋯ ,H(2) \begin{cases} M_{CR,k} = 0.5 \\ M_{F,k} = 0.5 \end{cases}, \quad k = 1, 2, 3 \cdots, H \tag{2} {MCR,k=0.5MF,k=0.5,k=1,2,3⋯,H(2)
2.2. 变异策略
在L-SHADE中,采用变异策略current-to-pbest/1。为个体 xix_ixi 生成的变异向量 viv_ivi 使用种群中的四个向量(个体)生成,如公式(3)所示。缩放因子 FiF_iFi 生成如公式(4)所示。
vi=xi+Fi⋅(xpbest−xi)+Fi⋅(xr1−xr2)(3) v_i = x_i + F_i \cdot (x_{\text{pbest}} - x_i) + F_i \cdot (x_{r1} - x_{r2}) \tag{3} vi=xi+Fi⋅(xpbest−xi)+Fi⋅(xr1−xr2)(3)
Fi=randc(MF,r3,0.1)(4) F_i = \text{randc}(M_{F,r3}, 0.1) \tag{4} Fi=randc(MF,r3,0.1)(4)
在公式(3)中,xpbestx_{\text{pbest}}xpbest 是当前种群中前 NP×pNP \times pNP×p 个个体中随机选择的主导个体,ppp 是贪婪控制参数,它在开发和探索(小 ppp 行为更贪婪)之间进行权衡。xr1x_{r1}xr1 是从当前种群中随机选择的,xr2x_{r2}xr2 是从当前种群和外部存档的联合中随机选择的,并且 xr1x_{r1}xr1 和 xr2x_{r2}xr2 彼此不同以及与 xix_ixi 不同。在公式(4)中,FiF_iFi 是一个遵循均值 MF,r3M_{F,r3}MF,r3 和标准差值参数 0.1 的柯西分布的随机变量,MF,r3M_{F,r3}MF,r3 是从具有相同索引 r3r3r3 的记忆 MFM_FMF 中随机选择的值。如果 Fi>1F_i > 1Fi>1,则 FiF_iFi 将设置为 1,如果 Fi≤0F_i \leq 0Fi≤0,公式(4)将重复应用以生成有效值。此外,如果变异向量元素 vi,jv_{i,j}vi,j 超出搜索范围 [Lj,Uj][L_j, U_j][Lj,Uj],则采用修正策略,如公式(5)所示。
vi,j={(Lj+xi,j)/2,vi,j<Lj(Uj+xi,j)/2,vi,j>Uj(5) v_{i,j} = \begin{cases} (L_j + x_{i,j}) / 2, & v_{i,j} < L_j \\ (U_j + x_{i,j}) / 2, & v_{i,j} > U_j \end{cases} \tag{5} vi,j={(Lj+xi,j)/2,(Uj+xi,j)/2,vi,j<Ljvi,j>Uj(5)
2.3. 交叉策略
在将变异策略应用于生成的变异向量 viv_ivi 后,生成试验向量 uiu_iui,基于变异向量 viv_ivi 和原始向量 xix_ixi,使用二项式交叉策略,如公式(6)所示。
ui,j={vi,j,r<CRj 或 j=jrandxi,j,否则(6) u_{i,j} = \begin{cases} v_{i,j}, & r < CR_j \text{ 或 } j = j_{\text{rand}} \\ x_{i,j}, & \text{否则} \end{cases} \tag{6} ui,j={vi,j,xi,j,r<CRj 或 j=jrand否则(6)
在公式(6)中,r∈(0,1)r \in (0,1)r∈(0,1) 是均匀分布的随机数,jrand∈[1,D]j_{\text{rand}} \in [1, D]jrand∈[1,D] 是决策变量索引,它是随机生成的,并且可以确保至少从变异向量中取一个分量 uiu_iui。个体 xix_ixi 的交叉率值 CRjCR_jCRj 从高斯分布中给出,如公式(7)所示。如果公式(7)生成的 CRjCR_jCRj 超出 [0,1][0, 1][0,1],则用生成值的极限值 (0 或 1)(0 \text{ 或 } 1)(0 或 1) 替换。
CRj={0,MCR,r3=⊥randn(MCR,r3,0.1),否则(7) CR_j = \begin{cases} 0, & M_{CR,r3} = \bot \\ \text{randn}(M_{CR,r3}, 0.1), & \text{否则} \end{cases} \tag{7} CRj={0,randn(MCR,r3,0.1),MCR,r3=⊥否则(7)
在公式(7)中,⊥\bot⊥ 表示终端值。MCR,r3M_{CR,r3}MCR,r3 是从具有相同索引 r3r3r3 的交叉率历史记忆 MCRM_{CR}MCR 中随机选择的均值参数,如缩放因子 FFF 的情况,0.1 是标准差值参数。
2.4. 选择策略
在当前代 ggg 生成所有试验向量 uuu 后,基于目标函数值的选择操作应用于确定下一代 g+1g+1g+1 的幸存者,如公式(8)所示。
xig+1={uig,f(uig)≤f(xig)xig,否则(8) x_i^{g+1} = \begin{cases} u_i^g, & f(u_i^g) \leq f(x_i^g) \\ x_i^g, & \text{否则} \end{cases} \tag{8} xig+1={uig,xig,f(uig)≤f(xig)否则(8)
在公式(8)中,fff 是问题特定的目标函数。
2.5. 外部存档和历史记忆更新策略
在L-SHADE中,采用外部存档 AAA 以增强种群的多样性并避免过早收敛。如果父向量 xigx_i^gxig 优于试验向量 uigu_i^guig,则将其保留到下一代,否则将其保留到外部存档 AAA 中。一旦存档的大小达到预定大小,随机选择一个元素被新插入的元素替换。FiF_iFi 和 CRiCR_iCRi 值成功生成试验个体,优于历史个体,则被视为成功值。所有成功的值分别保留到 SCRS_{CR}SCR 和 SFS_FSF 中,这些值用于在每一代结束时更新历史记忆 MCRM_{CR}MCR、MFM_FMF,如公式(9)-(10)所示。一对 MCRM_{CR}MCR 和 MFM_FMF 中的元素在一代中生成,索引 kkk 从 1 开始并在每一代后增加 1,kkk 将在超过内存大小 HHH 时重置为 1。需要注意的是,如果 SCRS_{CR}SCR=SFS_FSF=0,即在一代中没有试验向量优于原始向量,则 MCRM_{CR}MCR、MFM_FMF 将不会被更新。更重要的是,本文提出的AL-SHADE中的记忆 MCRM_{CR}MCR 和 MFM_FMF 的最后条目在优化过程中始终保留 0.9。换句话说,如果超过 H−1H-1H−1,则更新单元的索引 kkk 将重置为 1。
MF,k={MF,k,SF=∅meanWL(SF),否则(9) M_{F,k} = \begin{cases}
M_{F,k}, & S_F = \emptyset \\
\text{mean}_{WL}(S_F), & \text{否则}
\end{cases} \tag{9} MF,k={MF,k,meanWL(SF),SF=∅否则(9)
MCR,k={⊥,SCR=∅meanWL(SCR),否则(10) M_{CR,k} = \begin{cases}
\bot, & S_{CR} = \emptyset \\
\text{mean}_{WL}(S_{CR}), & \text{否则}
\end{cases} \tag{10} MCR,k={⊥,meanWL(SCR),SCR=∅否则(10)
在公式(9)-(10)中,meanWL(S)\text{mean}_{WL}(S)meanWL(S) 是加权勒梅尔平均值,计算如公式(11),(12)所示,其中 SSS 表示 SCRS_{CR}SCR 或 SFS_FSF。
meanWL(S)=∑n=1∣S∣ωn⋅Sn2∑n=1∣S∣ωn⋅Sn(11) \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{11} meanWL(S)=∑n=1∣S∣ωn⋅Sn∑n=1∣S∣ωn⋅Sn2(11)
ωn=∣f(un)−f(xn)∣∑n=1∣S∣∣f(un)−f(xn)∣(12) \omega_n = \frac{|f(u_n) - f(x_n)|}{\sum_{n=1}^{|S|} |f(u_n) - f(x_n)|} \tag{12} ωn=∑n=1∣S∣∣f(un)−f(xn)∣∣f(un)−f(xn)∣(12)
2.6. 线性种群规模缩减
在L-SHADE中,采用线性种群规模缩减(LPSR)动态调整种群规模,即种群规模在代 1 和 GGG(终止迭代次数)时连续减少以匹配线性函数,其中种群规模在代 1 和 GGG 时分别为 NminN_{\min}Nmin 和 NmaxN_{\max}Nmax。种群规模在代 g+1g+1g+1 更新如公式(13)所示。
NPg+1=round[FEsFEmax(Nmin−Ninit)+Ninit](13) NP_{g+1} = \text{round} \left[ \frac{FE_s}{FE_{\max}} (N_{\min} - N_{\text{init}}) + N_{\text{init}} \right] \tag{13} NPg+1=round[FEmaxFEs(Nmin−Ninit)+Ninit](13)
在公式(13)中,round()\text{round}()round() 返回最接近的整数。FEsFE_sFEs 是当前目标函数评估次数,FEmaxFE_{\max}FEmax 是目标函数评估的最大次数。在代 ggg 结束时,NPg−NPg+1NP_g - NP_{g+1}NPg−NPg+1 最差个体将从当前种群中丢弃。

3. 提出的AL-SHADE算法
在本节中,描述了L-SHADE的新变体,命名为AL-SHADE。对L-SHADE的改进策略主要包括两个部分。一方面,在变异过程中添加了一种新的变异策略current-to-Amean/1。另一方面,采用了一种具有变异策略适应方案的选择策略。AL-SHADE在本节中详细描述。
3.1. 基于加权均值的变异策略
变异策略current-to-pbest/1已被证明是一种有效的变异策略,可以有效加速基于DE算法的收敛速度,并且与变异策略current-to-best/1相比,它也可以在一定程度上避免陷入局部最优。然而,随着种群的减少,当前种群中前 NP×pNP \times pNP×p 个个体的数量减少。在优化过程的后期,xpbestx_{\text{pbest}}xpbest 接近 xbestx_{\text{best}}xbest,甚至 xbestx_{\text{best}}xbest 是 xbestx_{\text{best}}xbest,这将导致陷入局部最优。此外,这些在L-SHADE中代 ggg 被保留在 AAA 中的个体是主导个体,它们在代 ggg 中被消除。外部存档 AAA 中的少数个体被随机选为 xl2x_{l2}xl2 用于公式(3)中的变异,这并没有充分利用优化过程中的群体信息。为了解决上述缺点,本工作中提出了一种新的变异策略,命名为current-to-Amean/1,如公式(14)所示。
vi=xi+Fi(xAmean−xi)+Fi(xr1−xr2)(14) v_i = x_i + F_i(x_{\text{Amean}} - x_i) + F_i(x_{r1} - x_{r2}) \tag{14} vi=xi+Fi(xAmean−xi)+Fi(xr1−xr2)(14)
在公式(14)中,xAmeanx_{\text{Amean}}xAmean 是基于外部存档 AAA 中有希望的个体估计的全局最优解,这将避免陷入局部最优。xAmeanx_{\text{Amean}}xAmean 是通过使用公式(15)计算的。
xAmean=∑i=1mwi⋅xi(15) x_{\text{Amean}} = \sum_{i=1}^{m} w_i \cdot x_i \tag{15} xAmean=i=1∑mwi⋅xi(15)
wi=ln(m+1/2)−ln(i)∑i=1m(ln(m+1/2)−ln(i))(16) w_i = \frac{\ln(m+1/2) - \ln(i)}{\sum_{i=1}^{m} (\ln(m+1/2) - \ln(i))} \tag{16} wi=∑i=1m(ln(m+1/2)−ln(i))ln(m+1/2)−ln(i)(16)
m=round(e⋅∣A∣)(17) m = \text{round}(e \cdot |A|) \tag{17} m=round(e⋅∣A∣)(17)
在公式(15)-(17)中,从外部存档 AAA 中选择适应度更好的 mmm 个个体作为有希望的种群,用于计算加权均值 xAmeanx_{\text{Amean}}xAmean,wiw_iwi 是通过公式(16)计算的 xix_ixi 的权重,x1,x2,x3,…,xmx_1, x_2, x_3, \ldots, x_mx1,x2,x3,…,xm 是目标函数值从高到低排列的 mmm 个有希望的个体,即 x1x_1x1 是最好的,xmx_mxm 是 x1,x2,x3,…,xmx_1, x_2, x_3, \ldots, x_mx1,x2,x3,…,xm 中最差的,∣A∣|A|∣A∣ 是外部存档 AAA 中的个体数量,e(0,1)e(0,1)e(0,1) 是精英因子参数。
此外,AL-SHADE中外部存档 AAA 的更新机制进行了调整,以充分利用新生成的主导个体,而不是以前的主导个体,即优于父向量的试验向量将被保留到下一代和外部存档 AAA 中。由于 AAA 中的个体在第一代中使用,AAA 不再初始化为空集,而是保存初始化生成的最佳个体。
3.2. 具有适应方案的选择策略
注意到新的变异策略current-to-Amean/1被添加为变异策略之一,而不是直接替换变异策略current-to-pbest/1,因为公式(3)和公式(14)在优化的不同阶段扮演不同的角色。有效地整合两种变异策略以充分利用它们的优势至关重要。因此,本节提出了具有适应方案的选择策略,以有效地整合两种变异策略。采用自适应概率参数 PsP_sPs 来选择公式(3)或公式(14),每个个体在每一代中都有一定的概率。由于没有先验知识,PsP_sPs 初始化为0.5,并在搜索过程中根据公式(18)自适应调整。
Psg+1=Psg+0.05(1−Psg)(P1−P2)⋅FEsMax⋅FEs(18) P_s^{g+1} = P_s^g + \frac{0.05(1-P_s^g)(P_1 - P_2) \cdot FE_s}{\text{Max} \cdot FE_s} \tag{18} Psg+1=Psg+Max⋅FEs0.05(1−Psg)(P1−P2)⋅FEs(18)
P1=M1,betterM1(19) P_1 = \frac{M_{1,\text{better}}}{M_1} \tag{19} P1=M1M1,better(19)
P2=M2,betterM2(20) P_2 = \frac{M_{2,\text{better}}}{M_2} \tag{20} P2=M2M2,better(20)
在公式(18)-(20)中,M1M_1M1 和 M2M_2M2 分别是使用公式(3)和公式(14)作为变异策略的个体数量。M1,betterM_{1,\text{better}}M1,better 和 M2,betterM_{2,\text{better}}M2,better 是使用公式(3)和公式(14)作为变异策略生成的更好个体的数量。因此,P1P_1P1 和 P2P_2P2 分别是使用公式(3)和公式(14)作为变异策略在第 ggg 代生成更好解的概率。此外,如果 Psg+1P_s^{g+1}Psg+1 超出 [0.1,0.9],则它将被替换为最接近生成值的极限值(0.1 或 0.9)。
3.3. AL-SHADE的框架
总之,所提算法的流程图如图2所示。AL-SHADE与LSHADE的主要区别包括新的变异策略、具有适应方案的选择策略以及外部存档 AAA 的更新机制。对于每个解,如果随机数 rand<Ps\text{rand} < P_srand<Ps,则选择公式(3)生成变异向量 vvv,反之则选择公式(14)。

参考文献
Yintong Li, Tong Han, Huan Zhou, Shangqin Tang, Hui Zhao, A novel adaptive L-SHADE algorithm and its application in UAV swarm resource configuration problem, Information Sciences. 606 (2022) 350–367. https://doi.org/10.1016/j.ins.2022.05.058
更多推荐


所有评论(0)