自学内容网 自学内容网

PAIDDE:一种置换存档信息定向差分进化算法

A. 动机

在进化计算领域,反馈信息的利用对搜索算法的性能有重要影响[59]-[62]。基于差分进化(DE)的发展过程,人们普遍认为,信息的使用越广泛和全面,DE变体的性能就越优越[25],[28]。例如,变异算子current-to-pbest/1,在JADE[50],SHADE[49]和LSHADE[48]中广泛使用,与原始DE中应用的DE/rand/1相比,它增加了关于种群中最佳个体的信息,从而大大提高了算法的搜索效率。

变异策略current-to-pbest/1可以公式化为:

V i t = X i t + F i ( X p b e s t t − X i t ) + F i ( X r 1 t − X r 2 t ) ( 7 ) V_i^t = X_i^t + F_i(X_{pbest}^t - X_i^t) + F_i(X_{r1}^t - X_{r2}^t) \quad (7) Vit=Xit+Fi(XpbesttXit)+Fi(Xr1tXr2t)(7)

其中,个体 X p b e s t t X_{pbest}^t Xpbestt是从前NP×p个个体中随机挑选的,这些个体在第t次迭代中根据计算出的适应度排名。在之前的研究中, p = 0.11 [ 49 ] , [ 50 ] p = 0.11[49], [50] p=0.11[49],[50]。r1和r2是从集合 { 1 , 2 , … , N P } \{1, 2, \ldots, NP\} {1,2,,NP}中随机选择的两个值,且r1, r2和i不相等。 F i F_i Fi是一个比例参数,用于控制种群的搜索范围。因此,在本研究中,我们尝试重用信息反馈来提高算法运行期间的搜索性能。信息的利用主要有两种方式:1)利用种群的整体信息,2)利用差分向量的方向。

B. 复用种群的整体信息

根据方程(7),由种群中随机选择的两个个体产生的差分向量 V i t V_i^t Vit可以向目标向量提供灵活的移动。然而,由于一部分种群可能不会被选中,因此随机选择操作无法完全利用种群的信息。这导致算法倾向于过早收敛到局部最优解。为了解决这个问题,我们提出了一种新颖的整体信息利用策略,可以如下实现:

V i t = X i t + F i ( X p b e s t t − X i t ) + F i ( X r 1 t − Y i t ) ( 8 ) V_i^t = X_i^t + F_i(X_{pbest}^t - X_i^t) + F_i(X_{r1}^t - Y_i^t) \quad (8) Vit=Xit+Fi(XpbesttXit)+Fi(Xr1tYit)(8)

其中 Y i t Y_i^t Yit 来自外部存档,用于保持种群的多样性, X i t , X p b e s t t X_i^t, X_{pbest}^t Xit,Xpbestt X r 1 t X_{r1}^t Xr1t 来自主要进化种群。值得注意的是,外部存档最初也是随机初始化的。以下是变异和交叉操作。存档通过以下方式更新:
Y i t + 1 = { U i t , if  f ( U i t ) < f ( Y i t ) Y i t , otherwise ( 9 ) Y_i^{t+1} = \begin{cases} U_i^t, & \text{if } f(U_i^t) < f(Y_i^t) \\ Y_i^t, & \text{otherwise} \end{cases} \quad (9) Yit+1={Uit,Yit,if f(Uit)<f(Yit)otherwise(9)

其中 r i r_i ri 是从集合 { 1 , 2 , … , N P } \{1, 2, \ldots, NP\} {1,2,,NP}随机选择的。

备注1:由于外部存档中的所有 r i ( i = 1 , 2 , … , N P r_i( i = 1, 2, \ldots, NP ri(i=1,2,,NP是随机排列而不是随机整数,种群中的所有个体都有机会参与迭代。因此,可以利用种群的整体信息。

备注2:由于所有的 r i r_i ri都是随机排列,尾向量 U i t U_i^t Uit 不能保证与其对应的目标向量 Y i t Y_i^t Yit进行比较。相反,它与种群范围的目标向量进行比较。这样可以保持人口统计多样性。

C. 重用差分向量的方向

由于早期的DE变体很少探索差分向量的方向信息,这对其搜索性能至关重要[63],本研究提供了一种简单而有效的方向信息利用策略,如方程(10)所述:

V i t = X i t + F i ( X r 1 t − X i t ) + G ( α , β , ζ ) F i ( X p b e s t t − Y i t ( 10 ) V_i^t = X_i^t + F_i(X_{r1}^t - X_i^t) + G(\alpha, \beta, \zeta)F_i(X_{pbest}^t - Y_i^t\quad (10) Vit=Xit+Fi(Xr1tXit)+G(α,β,ζ)Fi(XpbesttYit(10)

G ( α , β , ζ ) = g ( f ( X r 1 t ) , f ( X p b e s t t ) , f ( Y i t ) ) ( 11 ) G(\alpha, \beta, \zeta) = g(f(X_{r1}^t), f(X_{pbest}^t), f(Y_i^t)) \quad (11) G(α,β,ζ)=g(f(Xr1t),f(Xpbestt),f(Yit))(11)

方向控制函数 G ( α , β , ζ ) G(\alpha, \beta, \zeta) G(α,β,ζ)由其变量之间的关系定义,如下所示:

G ( ) = { 1 , if  α ≤ β ≤ ζ  or  β ≤ α ≤ ζ 1 , if rand ( 0 , 1 ) ≥ Q  and  { α ≤ ζ ≤ β  or  ζ ≤ α ≤ β  or  ζ ≤ β ≤ α } − 1 , if rand ( 0 , 1 ) < Q  and  { α ≤ ζ ≤ β  or  ζ ≤ α ≤ β  or  ζ ≤ β ≤ α } − 1 , if rand ( 0 , 1 ) ≥ Q  and  β ≤ ζ ≤ α 1 , if rand ( 0 , 1 ) < Q  and  β ≤ ζ ≤ α ( 12 ) G() = \begin{cases} 1, & \text{if } \alpha \leq \beta \leq \zeta \text{ or } \beta \leq \alpha \leq \zeta \\ 1, & \text{if } \text{rand}(0,1) \geq Q \text{ and } \{\alpha \leq \zeta \leq \beta \text{ or } \zeta \leq \alpha \leq \beta \text{ or } \zeta \leq \beta \leq \alpha\} \\ -1, & \text{if } \text{rand}(0,1) < Q \text{ and } \{\alpha \leq \zeta \leq \beta \text{ or } \zeta \leq \alpha \leq \beta \text{ or } \zeta \leq \beta \leq \alpha\} \\ -1, & \text{if } \text{rand}(0,1) \geq Q \text{ and } \beta \leq \zeta \leq \alpha \\ 1, & \text{if } \text{rand}(0,1) < Q \text{ and } \beta \leq \zeta \leq \alpha \end{cases} \quad (12) G()= 1,1,1,1,1,if αβζ or βαζif rand(0,1)Q and {αζβ or ζαβ or ζβα}if rand(0,1)<Q and {αζβ or ζαβ or ζβα}if rand(0,1)Q and βζαif rand(0,1)<Q and βζα(12)

其中 T max T_{\text{max}} Tmax表示最大函数评估次数, Q = 6 × T T max Q = \frac{6 \times T}{T_{\text{max}}} Q=Tmax6×T是一个阈值。

D. PAIDDE的剩余方面

在PAIDDE中, V i t = ( v i 1 t , v i 2 t , … , v i j t , … , v i D t ) V_i^t = (v_{i1}^t, v_{i2}^t, \ldots, v_{ij}^t, \ldots, v_{iD}^t) Vit=(vi1t,vi2t,,vijt,,viDt)是通过方程(10)生成的。然后, U i t = ( u i 1 t , u i 2 t , … , u i j t , … , u i D t ) U_i^t = (u_{i1}^t, u_{i2}^t, \ldots, u_{ij}^t, \ldots, u_{iD}^t) Uit=(ui1t,ui2t,,uijt,,uiDt)是使用交叉操作生成的:

u i j t = { v i j t , if rand ( 0 , 1 ) ≤ C r i  or  j = j rand x i j t , otherwise ( 13 ) u_{ij}^t = \begin{cases} v_{ij}^t, & \text{if } \text{rand}(0,1) \leq C_{ri} \text{ or } j = j_{\text{rand}} \\ x_{ij}^t, & \text{otherwise} \end{cases} \quad (13) uijt={vijt,xijt,if rand(0,1)Cri or j=jrandotherwise(13)

其中 X i t X_i^t Xit 与交叉率参数 C r i ∈ [ 0 , 1 ] C_{ri} \in [0,1] Cri[0,1] 相连。然后,使用方程(6)中指示的选择操作创建一个进化的个体 X i t + 1 X_i^{t+1} Xit+1

备注3:在PAIDDE中,每个个体 X i t X_i^t Xit都有自己的比例参数 F i F_i Fi和交叉率参数 C r i C_{ri} Cri,这可以通过一种方法论方式进行调整。

首先,生成两个矩阵 M F = { M F ( 1 ) , M F ( 2 ) , … , M F ( H ) } M_F = \{M_F(1), M_F(2), \ldots, M_F(H)\} MF={MF(1),MF(2),,MF(H)} M C r = { M C r ( 1 ) , M C r ( 2 ) , … , M C r ( H ) } M_{Cr} = \{M_{Cr}(1), M_{Cr}(2), \ldots, M_{Cr}(H)\} MCr={MCr(1),MCr(2),,MCr(H)},其中H是历史记忆条目的数量(先前的研究表明H = 5 是最有效的。 M F M_F MF M C r M_{Cr} MCr中的所有条目都初始化为0.5。在第 k次迭代中,当个体 X i t + 1 X_i^{t+1} Xit+1根据方程(6)中的适应度被其尾向量替换时,该个体使用的 F i F_i Fi C r i C_{ri} Cri值分别记录在两个离散集合 S F S_F SF S C r S_{Cr} SCr中。然后,这些条目根据以下方式更新:
在图中,描述了更新记忆矩阵 ( M_F ) 和 ( M_{Cr} ) 的方法,以及如何基于这些矩阵生成参数 ( C_{ri} ) 和 ( F_i )。以下是图中内容的完整提取:

M F t + 1 ( k ) = { ∑ k = 1 ∣ S F ∣ w k S F 2 ( k ) ∑ k = 1 ∣ S F ∣ w k S F ( k ) , if  S F ≠ ∅ M F t ( k ) , otherwise ( 14 ) M_F^{t+1}(k) = \begin{cases} \frac{\sum_{k=1}^{|S_F|} w_k S_F^2(k)}{\sum_{k=1}^{|S_F|} w_k S_F(k)}, & \text{if } S_F \neq \emptyset \\ M_F^t(k), & \text{otherwise} \end{cases} \quad (14) MFt+1(k)= k=1SFwkSF(k)k=1SFwkSF2(k),MFt(k),if SF=otherwise(14)

M C r t + 1 ( k ) = { ∑ k = 1 ∣ S C r ∣ w k S C r ( k ) ∑ k = 1 ∣ S C r ∣ w k , if  S C r ≠ ∅ M C r t ( k ) , otherwise ( 15 ) M_{Cr}^{t+1}(k) = \begin{cases} \frac{\sum_{k=1}^{|S_{Cr}|} w_{k} S_{Cr}(k)}{\sum_{k=1}^{|S_{Cr}|} w_k}, & \text{if } S_{Cr} \neq \emptyset \\ M_{Cr}^t(k), & \text{otherwise} \end{cases} \quad (15) MCrt+1(k)= k=1SCrwkk=1SCrwkSCr(k),MCrt(k),if SCr=otherwise(15)

w k = ∣ f ( U k t ) − f ( X k t ) ∣ ∑ k ∣ f ( U k t ) − f ( X k t ) ∣ ( 16 ) w_k = \frac{|f(U_k^t) - f(X_k^t)|}{\sum_k |f(U_k^t) - f(X_k^t)|} \quad (16) wk=kf(Ukt)f(Xkt)f(Ukt)f(Xkt)(16)

其中,索引值k记录了要更新的条目在记忆 M F M_F MF M C r M_{Cr} MCr中的位置,且 1 ≤ k ≤ H 1 \leq k \leq H 1kH。最初,k被设置为1,之后每当插入新的记忆条目时递增。

基于 M F M_F MF M C r M_{Cr} MCr,参数 C r i C_{ri} Cri F i F_i Fi生成如下:

C r i = randn i ( M C r ( r i ) , 0.1 ) ( 17 ) C_{ri} = \text{randn}_i(M_{Cr}(r_i), 0.1) \quad (17) Cri=randni(MCr(ri),0.1)(17)

F i = randc i ( M F ( r i ) , 0.1 ) ( 18 ) F_i = \text{randc}_i(M_F(r_i), 0.1) \quad (18) Fi=randci(MF(ri),0.1)(18)

其中,种群的初始大小 N P init NP_{\text{init}} NPinit)设置为18D ,种群的最小数量 N P min = 4 NP_{\text{min}} = 4 NPmin=4

算法1描述了PAIDDE的实现结构,包括以下步骤:
在这里插入图片描述

Xiaosi Li, Kaiyu Wang, Haichuan Yang, Sichen Tao, Shuai Feng, and Shangce Gao*, “PAIDDE: A Permutation-Archive Information Directed Differential Evolution Algorithm,” IEEE Access, vol. 10, pp. 50384-50402, May 2022. DOI: 10.1109/ACCESS.2022.3173622


原文地址:https://blog.csdn.net/m0_58857684/article/details/144700138

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!