实验、
目标拓扑:cul-de-sac
适应度函数:基于结构差异的目标函数(正交约束)。
可用算法:SADE等14个,结果如下:
Example 3:
N=12;
RL=20;
fz=[1.15,1.3,-1.5,-1.1,-1.2];
T= [0 -0.2788 0.3015 0.2865 -0.2931 0.1623 -0.2177 -0.2451 0.2868 0.2949 -0.3218 -0.3244 0.3336 0
-0.2788 -1.0889 0 0 0 0 0 0 0 0 0 0 0 0.2788
0.3015 0 -1.0845 0 0 0 0 0 0 0 0 0 0 0.3015
0.2865 0 0 1.0838 0 0 0 0 0 0 0 0 0 0.2865
-0.2931 0 0 0 1.0833 0 0 0 0 0 0 0 0 0.2931
0.1623 0 0 0 0 0.9769 0 0 0 0 0 0 0 0.1623
-0.2177 0 0 0 0 0 -0.9490 0 0 0 0 0 0 0.2177
-0.2451 0 0 0 0 0 0 0.8508 0 0 0 0 0 0.2451
0.2868 0 0 0 0 0 0 0 -0.7544 0 0 0 0 0.2868
0.2949 0 0 0 0 0 0 0 0 0.6223 0 0 0 0.2949
-0.3218 0 0 0 0 0 0 0 0 0 -0.4512 0 0 0.3218
-0.3244 0 0 0 0 0 0 0 0 0 0 0.2991 0 0.3244
0.3336 0 0 0 0 0 0 0 0 0 0 0 -0.0793 0.3336
0 0.2788 0.3015 0.2865 0.2931 0.1623 0.2177 0.2451 0.2868 0.2949 0.3218 0.3244 0.3336 0];
其中,
JADE1 best_fitness= 5.927666919254815e-22
SADE2 best_fitness= 5.219743021849689e-07
SHADE3 best_fitness= 2.6365115575194867e-16
L_SHADE4 best_fitness= 6.012393172989637e-10
BaseFBIO5 best_fitness= 4.229786706418416e-07
OriginalFBIO6 best_fitness= 5.615313266851817e-06
OriginalICA7 best_fitness= 5.820169307158884e-06
OriginalSARO8 best_fitness= 1.082914445476703e-06
AugmentedAEO9 best_fitness= 7.600981040107246e-08
OriginalEO10 best_fitness= 8.423992730238045e-06
AdaptiveEO11 best_fitness= 3.180833237982696e-05
OriginalNRO12 best_fitness= 3.2514380167467287e-06
OriginalSA13 best_fitness= 3.9297281862173866e-19
OriginalSSO14 best_fitness= 6.240062920163945e-09
example 4:
N=12;
RL=20;
fz=[ 1.05,1.2,-1.4,-1.1,-1.3];
T= [0 0.2904 0.2853 -0.2938 -0.2884 0.1698 -0.1794 -0.2509 0.2822 0.3002 -0.3252 -0.3298 0.3389 0
0.2904 -1.0848 0 0 0 0 0 0 0 0 0 0 0 0.2904
0.2853 0 1.0841 0 0 0 0 0 0 0 0 0 0 0.2853
-0.2938 0 0 1.0835 0 0 0 0 0 0 0 0 0 0.2938
-0.2884 0 0 0 -1.0815 0 0 0 0 0 0 0 0 0.2884
0.1698 0 0 0 0 0.9740 0 0 0 0 0 0 0 0.1698
-0.1794 0 0 0 0 0 -0.9740 0 0 0 0 0 0 0.1794
-0.2509 0 0 0 0 0 0 0.8396 0 0 0 0 0 0.2509
0.2822 0 0 0 0 0 0 0 -0.8062 0 0 0 0 0.2822
0.3002 0 0 0 0 0 0 0 0 0.6004 0 0 0 0.3002
-0.3252 0 0 0 0 0 0 0 0 0 -0.5074 0 0 0.3252
-0.3298 0 0 0 0 0 0 0 0 0 0 0.2642 0 0.3298
0.3389 0 0 0 0 0 0 0 0 0 0 0 -0.1272 0.3389
0 0.2904 0.2853 0.2938 0.2884 0.1698 0.1794 0.2509 0.2822 0.3002 0.3252 0.3298 0.3389 0];
JADE best_fitness= 3.0361458487516416e-26
SADE best_fitness= 9.754129629454355e-06
SHADE best_fitness= 2.180055198292903e-17
L_SHADE best_fitness= 3.382736595799007e-11
BaseFBIO best_fitness= 8.56316352105608e-06
OriginalFBIO best_fitness= 7.042993145339812e-07
OriginalICA best_fitness= 3.0524315204613603e-10
OriginalSARO best_fitness= 1.6632612537739397e-07
AugmentedAEO best_fitness= 1.1279504709470763e-04
OriginalEO best_fitness= 3.23448658662429e-06
AdaptiveEO best_fitness= 3.36857098509265e-06
OriginalNRO best_fitness= 3.767691653413289e-06
OriginalSA best_fitness= 3.397544335649749e-19
OriginalSSO best_fitness= 1.5452786432584924e-11
其中,用JADE优化的cul-de-sac拓扑的耦合矩阵如下:
典型算法介绍
JADE: Adaptive Differential Evolution with Optional External Archive
JADE是一种有效的DE变体,其采用控制参数自适应机制。除了参数自适应之外,JADE还使用了一种称为current-to-pbest/1
的新型突变策略(7)和一个用于存储先前生成的个体的外部存档。JADE有两个相应的自适应变量
µ
C
R
µ_{CR}
µCR和
µ
F
µ_F
µF,而不是静态的交叉率
C
R
CR
CR和比例因子
F
F
F。根据均值为
µ
C
R
、
µ
F
µ_{CR}、µ_F
µCR、µF的正态/柯西分布生成与每个个体相关的交叉率和比例因子。在每一代结束时,
µ
C
R
,
µ
F
µ_{CR},µ_F
µCR,µF的值根据导致在该代中生成成功试验向量的
C
R
,
F
CR,F
CR,F对进行更新。随着搜索的进行,
µ
C
R
、
µ
F
µ_{CR}、µ_F
µCR、µF应逐渐接近给定问题的最优值。
current-to-pbest/1变异策略
current-to-pbest/1
所使用的突变策略是current-to-best/1
策略的变体,其中贪婪度可以使用参数p进行调整。
在(7)式中,个体 x p b e s t x_{pbest} xpbest, G G G是从第 G G G代的前 N × p ( p ∈ [ 0 , 1 ] ) N×p(p ∈ [0,1]) N×p(p∈[0,1])个成员中随机选取的。 F i F_i Fi是个体 x i x_i xi使用的 F F F参数。current-to-pbest/1的贪婪程度取决于控制参数 p p p,以便平衡开发和探索(小 p p p表现得更贪婪)。
外部存档
在传统的DE中,用于比试的 u i u_i ui如果比 x i x_i xi差的话是不会被保留的,而在JADE中则被保留下来。当选择归档时(7)式中的 x r 2 , G x_{r2,G} xr2,G是从 P ∪ A P∪A P∪A中被选择的,其中,P为当前种群,A为存档。
集合A:每当子代将父代取代时,我们将父代转存到集合A中,并不断随机从A中剔除一些父代,使得A的大小小于NP
参数自适应
每代中的每个个体,其Cr都是符合正态分布
N
(
µ
C
R
,
0.1
)
N(µCR,0.1)
N(µCR,0.1)且大小被约束在[0,1]内的随机数。其中µCR遵循自更新公式
µ
C
R
=
(
1
−
c
)
⋅
μ
C
r
+
c
⋅
m
e
a
n
A
(
S
C
R
)
µCR=(1-c)\centerdot \mu Cr + c \centerdot mean_A(S_{CR})
µCR=(1−c)⋅μCr+c⋅meanA(SCR)
μ C R \mu_{CR} μCR初始值为0.5
c是一个常数,一般来说 1 / c ∈ [ 5 , 20 ] 1 / c ∈ [ 5 , 20 ] 1/c∈[5,20]
m e a n A mean_A meanA 指计算算术平均数
S C r S_{Cr} SCr 为本代中每次子代solution取代父代 solution时的Cr的集合
每代中的每个个体,其 F i F_i Fi都是符合柯西分布 C ( μ F , 0.1 ) C(\mu_F,0.1) C(μF,0.1)的随机数,
当 F i > 1 F_i > 1 Fi>1时会被设为1
当 F i ≤ 1 F_i \leq 1 Fi≤1时会重新随机
μ
F
\mu_F
μF比例参数为0.1,且符合自更新公式
μ
F
=
(
1
−
c
)
⋅
μ
F
+
c
⋅
m
e
a
n
L
(
S
F
)
\mu_F=(1-c)\centerdot \mu_F + c \centerdot mean_L(S_F)
μF=(1−c)⋅μF+c⋅meanL(SF)
μ F μ_F μF 初始值为0.5
c是一个常数,一般来说 1 / c ∈ [ 5 , 20 ] 1/c\in[5,20] 1/c∈[5,20]
m e n a L ( ⋅ ) mena_L(\centerdot) menaL(⋅)是Lehmer mean。 m e a n L ( S F ) = ∑ F ∈ S F F 2 ∑ F ∈ S F F mean_L(S_F)=\cfrac{\sum_{F\in S_F}F^2}{\sum_{F\in S_F}F} meanL(SF)=∑F∈SFF∑F∈SFF2
S F S_F SF为本代中每次子代个体取代父代个体时的F的集合
SHADE: Success-History Based Parameter Adaptation for Differential Evolution
在本文中,我们提出了以成功历史为基础的自适应差分进化算法(SHADE),增强JADE使用的历史为基础的参数自适应方案。
JADE算法使用单个的
μ
C
R
\mu_{CR}
μCR和
μ
F
\mu_F
μF,SHADE则是在
M
C
R
M_{CR}
MCR和
M
F
M_F
MF中随机选择
μ
C
R
\mu_{CR}
μCR和
μ
F
\mu_F
μF来生成CR和F。加强了跳出局部最优解的能力。
我们用 M C R M_{CR} MCR来表示存储了 H H H个成功的 μ C r \mu_{Cr} μCr的集合,用 M F M_{F} MF来表示存储了 H H H个成功的 μ F \mu_{F} μF的集合, H H H的值是自定义的。
当更新完一轮后,从头覆盖原位置来更新数组。
L-SHADE: SHADE with Linear Population Reduction
L-SHADE算法实为增加了线性参数递减的SHADE算法。
为了加快约束速度,我们根据当前已更新的参数个数线性减少一个种群中的个体的数目,参数的减少规律如图中黄线所示。
部分参照DE、SaDE、JADE、SHADE、L-SHADE算法整理
J. Zhang and A. C. Sanderson, “JADE: Adaptive differential evolution with optional external archive,” IEEE Tran. Evol. Comput., vol. 13,no. 5, pp. 945–958, 2009. ↩︎
Qin, A. K., & Suganthan, P. N. (2005, September). Self-adaptive differential evolution algorithm for numerical optimization. In 2005 IEEE congress on evolutionary computation (Vol. 2, pp. 1785-1791). IEEE. ↩︎
Tanabe, R. and Fukunaga, A., 2013, June. Success-history based parameter adaptation for differential evolution. In 2013 IEEE congress on evolutionary computation (pp. 71-78). IEEE. ↩︎
Tanabe, R. and Fukunaga, A.S., 2014, July. Improving the search performance of SHADE using linear population size reduction. In 2014 IEEE congress on evolutionary computation (CEC) (pp. 1658-1665). IEEE. ↩︎
Fathy, A., Rezk, H. and Alanazi, T.M., 2021. Recent approach of forensic-based investigation algorithm for optimizing fractional order PID-based MPPT with proton exchange membrane fuel cell.IEEE Access,9, pp.18974-18992. ↩︎
Chou, J.S. and Nguyen, N.M., 2020. FBI inspired meta-optimization. Applied Soft Computing, p.106339. ↩︎
Atashpaz-Gargari, E., & Lucas, C. (2007, September). Imperialist competitive algorithm: an algorithm for optimization inspired by imperialistic competition. In 2007 IEEE congress on evolutionary computation (pp. 4661-4667). Ieee. ↩︎
Shabani, A., Asgarian, B., Gharebaghi, S. A., Salido, M. A., & Giret, A. (2019). A New Optimization Algorithm Based on Search and Rescue Operations. Mathematical Problems in Engineering, 2019. ↩︎
Van Thieu, N., Barma, S. D., Van Lam, T., Kisi, O., & Mahesha, A. (2022). Groundwater level modeling using Augmented Artificial Ecosystem Optimization. Journal of Hydrology, 129034. ↩︎
Faramarzi, A., Heidarinejad, M., Stephens, B., & Mirjalili, S. (2019). Equilibrium optimizer: A novel optimization algorithm. Knowledge-Based Systems. ↩︎
Wunnava, A., Naik, M. K., Panda, R., Jena, B., & Abraham, A. (2020). A novel interdependence based multilevel thresholding technique using adaptive equilibrium optimizer. Engineering Applications of Artificial Intelligence, 94, 103836. ↩︎
Wei, Z., Huang, C., Wang, X., Han, T., & Li, Y. (2019). Nuclear Reaction Optimization: A novel and powerful physics-based algorithm for global optimization. IEEE Access. ↩︎
Van Laarhoven, P. J., & Aarts, E. H. (1987). Simulated annealing. In Simulated annealing: Theory and applications (pp. 7-15). Springer, Dordrecht. ↩︎
Mirjalili, S., Gandomi, A. H., Mirjalili, S. Z., Saremi, S., Faris, H., & Mirjalili, S. M. (2017). Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Advances in Engineering Software, 114, 163-191. ↩︎