文章目录
一、理论基础
1、阿奎拉鹰优化算法
本文提出了一种新的基于种群的优化方法,称为阿奎拉鹰优化算法(Aquila Optimizer, AO),其灵感来源于阿奎拉鹰在捕捉猎物过程中的自然行为。
AO是一种基于种群的优化方法,优化规则从式(1)中所示的候选解(
X
X
X)的种群开始,该候选解在给定问题的上界(
U
B
UB
UB)和下界(
L
B
LB
LB)之间随机生成。获得的最佳解在每次迭代中被确定为近似最优解。
X
=
[
x
1
,
1
⋯
x
1
,
j
x
1
,
D
i
m
−
1
x
1
,
D
i
m
x
2
,
1
⋯
x
2
,
j
⋯
x
2
,
D
i
m
⋯
⋯
x
i
,
j
⋯
⋯
⋮
⋮
⋮
⋮
⋮
x
N
−
1
,
1
⋯
x
N
−
1
,
j
⋯
x
N
−
1
,
D
i
m
x
N
,
1
⋯
x
N
,
j
x
N
,
D
i
m
−
1
x
N
,
D
i
m
]
(1)
X=\begin{bmatrix} x_{1,1} & \cdots & x_{1,j} & x_{1, Dim-1} & x_{1,Dim} \\x_{2,1} & \cdots & x_{2,j} & \cdots & x_{2,Dim} \\\cdots & \cdots & x_{i,j} & \cdots & \cdots \\\vdots & \vdots & \vdots & \vdots & \vdots\\ x_{N-1,1} & \cdots & x_{N-1,j} & \cdots & x_{N-1,Dim} \\ x_{N,1} & \cdots & x_{N,j} & x_{N,Dim-1} & x_{N,Dim} \end{bmatrix}\tag{1}
X=⎣⎢⎢⎢⎢⎢⎢⎢⎡x1,1x2,1⋯⋮xN−1,1xN,1⋯⋯⋯⋮⋯⋯x1,jx2,jxi,j⋮xN−1,jxN,jx1,Dim−1⋯⋯⋮⋯xN,Dim−1x1,Dimx2,Dim⋯⋮xN−1,DimxN,Dim⎦⎥⎥⎥⎥⎥⎥⎥⎤(1)其中,
X
X
X表示使用式(2)随机生成的一组当前候选解,
X
i
X_i
Xi表示第
i
i
i个解的决策值(位置),
N
N
N表示候选解(种群)的总数,
D
i
m
Dim
Dim表示问题的维度大小。
X
i
j
=
r
a
n
d
×
(
U
B
j
−
L
B
j
)
+
L
B
j
,
i
=
1
,
2
,
⋯
,
N
j
=
1
,
2
,
⋯
,
D
i
m
(2)
X_{ij}=rand\times(UB_j-LB_j)+LB_j,\,\,i=1,2,\cdots,N\,\,j=1,2,\cdots,Dim\tag{2}
Xij=rand×(UBj−LBj)+LBj,i=1,2,⋯,Nj=1,2,⋯,Dim(2)其中,
r
a
n
d
rand
rand是一个随机向量,
L
B
j
LB_j
LBj表示给定问题的第
j
j
j个下界,
U
B
j
UB_j
UBj表示给定问题的第
j
j
j个上界。
所提出的AO算法模拟了阿奎拉鹰在狩猎过程中的行为,其中显示了狩猎的每个步骤的动作。因此,提出的AO算法的优化过程用四种方法表示:通过垂直俯冲的高空飞行选择搜索空间、通过短滑翔攻击的等高线飞行在发散搜索空间内探索、通过慢速下降攻击的低空飞行在收敛搜索空间内开发、通过徒步猛扑并抓住猎物。如果
t
≤
2
3
T
t\leq\frac{2}{3}T
t≤32T,则AO算法可使用不同的行为从探索步骤转移到开发步骤;否则,将很好地执行开发步骤。
(1)Step 1:扩大探索( X 1 X_1 X1)
在第一种方法( X 1 X_1 X1)中,阿奎拉识别猎物区域,并通过垂直弯腰的高飞选择最佳狩猎区域。此时,AO让来自高空的探险者四处飞翔,以确定猎物所在的搜索空间区域。该行为的数学模型如式(3)所示: X 1 ( t + 1 ) = X b e s t ( t ) × ( 1 − t T ) + ( X M ( t ) − X b e s t ( t ) ∗ r a n d ) (3) X_1(t+1)=X_{best}(t)\times\left(1-\frac tT\right)+\left(X_M(t)-X_{best}(t)*rand\right)\tag{3} X1(t+1)=Xbest(t)×(1−Tt)+(XM(t)−Xbest(t)∗rand)(3)其中, X 1 ( t + 1 ) X_1(t+1) X1(t+1)是由第一种搜索方法( X 1 X_1 X1)生成的第 t + 1 t+1 t+1次迭代的解; X b e s t ( t ) X_{best}(t) Xbest(t)是在第 t t t次迭代之前获得的最佳解,这反映了猎物的近似位置; ( 1 − t T ) (1-\frac tT) (1−Tt)用于通过迭代次数控制扩展搜索(探索); X M ( t ) X_M(t) XM(t)表示在第 t t t次迭代时当前解的平均值,该平均值使用式(4)计算; r a n d rand rand是介于0和1之间的随机值; t t t和 T T T分别表示当前迭代和最大迭代次数。 X M ( t ) = 1 N ∑ i = 1 N X i ( t ) , ∀ j = 1 , 2 , ⋯ , D i m (4) X_M(t)=\frac1N\sum_{i=1}^NX_i(t),\,\,\forall j=1,2,\cdots,Dim\tag{4} XM(t)=N1i=1∑NXi(t),∀j=1,2,⋯,Dim(4)其中, D i m Dim Dim是问题的维度大小, N N N是候选解的数量(种群规模)。
(2)Step 2:缩小探索( X 2 X_2 X2)
在第二种方法( X 2 X_2 X2)中,当从高空发现猎物区域时,阿奎拉在目标猎物上方盘旋,准备着陆陆地,然后攻击,这种方法称为短滑翔攻击的等高线飞行。在这里,AO狭窄地探索目标猎物的选定区域,为攻击做准备。该行为的数学模式如式(5)所示: X 2 ( t + 1 ) = X b e s t ( t ) × L e v y ( D ) + X R ( t ) + ( y − x ) ∗ r a n d (5) X_2(t+1)=X_{best}(t)\times Levy(D)+X_R(t)+(y-x)*rand\tag{5} X2(t+1)=Xbest(t)×Levy(D)+XR(t)+(y−x)∗rand(5)其中, X 2 ( t + 1 ) X_2(t+1) X2(t+1)是由第二个搜索方法( X 2 X_2 X2)生成的第 t + 1 t+1 t+1次迭代的解; D D D是维度空间大小; L e v y ( D ) Levy(D) Levy(D)是Levy飞行分布函数,使用式(6)计算; X R ( t ) X_R(t) XR(t)是在第 t t t次迭代时在 [ 1 N ] [1\,\, N] [1N]范围内获得的随机解。 L e v y ( D ) = s × u × σ ∣ v ∣ 1 β (6) Levy(D)=s\times\frac{u\times\sigma}{\left|v\right|^{\frac1\beta}}\tag{6} Levy(D)=s×∣v∣β1u×σ(6)其中, s = 0.01 s=0.01 s=0.01, u u u和 v v v分别为服从 N ( 0 , σ 2 ) N(0,\sigma^2) N(0,σ2)和 N ( 0 , 1 ) N(0,1) N(0,1)的高斯分布随机数, σ \sigma σ计算如式(7)所示。 σ = ( Γ ( 1 + β ) × sin ( π β 2 ) Γ ( 1 + β 2 ) × β × 2 ( β − 1 2 ) ) 1 β (7) \sigma=\left(\frac{\Gamma(1+\beta)\times\sin(\frac{\pi\beta}{2})}{\Gamma\left(\frac{1+\beta}2\right)\times\beta\times2^{\left(\frac{\beta-1}{2}\right)}}\right)^{\frac1\beta}\tag{7} σ=⎝⎛Γ(21+β)×β×2(2β−1)Γ(1+β)×sin(2πβ)⎠⎞β1(7)其中 β = 1.5 \beta=1.5 β=1.5。在式(5)中, y y y和 x x x用于表示搜索中的螺旋形状,计算如下: y = r × cos ( θ ) (8) y=r\times\cos(\theta)\tag{8} y=r×cos(θ)(8) x = r × sin ( θ ) (9) x=r\times\sin(\theta)\tag{9} x=r×sin(θ)(9)其中, r = r 1 + U × D 1 (10) r=r_1+U\times D_1\tag{10} r=r1+U×D1(10) θ = − ω × D 1 + θ 1 (11) \theta=-\omega\times D_1+\theta_1\tag{11} θ=−ω×D1+θ1(11) θ 1 = 3 × π 2 (12) \theta_1=\frac{3\times\pi}{2}\tag{12} θ1=23×π(12) r 1 r_1 r1取1到20之间的值,用于固定搜索周期数; U U U是固定为0.00565的值; D 1 D_1 D1是从1到搜索空间维数( D i m Dim Dim)的整数; ω \omega ω是固定为0.005的值。
(3)Step 3:扩大开发( X 3 X_3 X3)
在第三种方法( X 3 X_3 X3)中,当阿奎拉准确地指定了猎物区域,并且准备好着陆和攻击时,阿奎拉垂直下降并进行初步攻击,以发现猎物反应。这种方法称为低空慢降攻击。在这里,AO利用目标的选定区域接近猎物并进行攻击。这种行为在数学上如式(13)所示: X 3 ( t + 1 ) = ( X b e s t ( t ) − X M ( t ) ) × α − r a n d + ( ( U B − L B ) × r a n d + L B ) × δ (13) X_3(t+1)=(X_{best}(t)-X_M(t))\times\alpha-rand+((UB-LB)\times rand+LB)\times\delta\tag{13} X3(t+1)=(Xbest(t)−XM(t))×α−rand+((UB−LB)×rand+LB)×δ(13)其中, X 3 ( t + 1 ) X_3(t+1) X3(t+1)是由第三种搜索方法( X 3 X_3 X3)生成的第 t + 1 t+1 t+1次迭代的解; X b e s t ( t ) X_{best}(t) Xbest(t)表示第 t t t次迭代前猎物的近似位置(获得的最佳解); X M ( t ) X_M(t) XM(t)表示第 t t t次迭代时当前解的平均值,该平均值使用式(4)计算; r a n d rand rand是一个介于0和1之间的随机值; α \alpha α和 δ \delta δ是本文中固定为较小值(0.1)的开发调整参数; L B LB LB表示给定问题的下界, U B UB UB表示给定问题的上界。
(4)Step 4:缩小开发( X 4 X_4 X4)
在第四种方法( X 4 X_4 X4)中,当阿奎拉接近猎物时,它根据其随机运动在陆地上攻击猎物。这种方法称为“行走并抓住猎物”,AO在最后一个位置攻击猎物。该行为的数学模型如式(14)所示: X 4 ( t + 1 ) = Q F ( t ) × X b e s t ( t ) − ( G 1 × X ( t ) × r a n d ) − G 2 × L e v y ( D ) + r a n d × G 1 (14) X_4(t+1)=QF(t)\times X_{best}(t)-(G_1\times X(t)\times rand)-G_2\times Levy(D)+rand\times G_1\tag{14} X4(t+1)=QF(t)×Xbest(t)−(G1×X(t)×rand)−G2×Levy(D)+rand×G1(14)其中, X 4 ( t + 1 ) X_4(t+1) X4(t+1)是由第四种搜索方法( X 4 X_4 X4)生成的第 t + 1 t+1 t+1次迭代的解; Q F ( t ) QF(t) QF(t)表示在第 t t t次迭代时用于平衡搜索策略的质量函数,其使用式(15)计算; G 1 G_1 G1表示在搜索猎物期间用于跟踪猎物的AO的各种运动,其使用式(16)计算; G 2 G_2 G2呈现从2到0的递减值,表示AO的飞行速率,AO用于在从第一个位置到最后一个位置的过程中跟踪猎物,使用式(17)产生; X ( t ) X(t) X(t)是第 t t t次迭代的当前解。 Q F ( t ) = t 2 × r a n d − 1 ( 1 − T ) 2 (15) QF(t)=t^{\frac{2\times rand-1}{(1-T)^2}}\tag{15} QF(t)=t(1−T)22×rand−1(15) G 1 = 2 × r a n d − 1 (16) G_1=2\times rand-1\tag{16} G1=2×rand−1(16) G 2 = 2 × ( 1 − t T ) (17) G_2=2\times\left(1-\frac tT\right)\tag{17} G2=2×(1−Tt)(17)其中, r a n d rand rand是介于0和1之间的随机值; t t t和 T T T分别表示当前迭代和最大迭代次数。
2、AO算法伪代码
综上所述,在AO中,优化通过生成一组随机预定义的候选解(称为种群)开始迭代过程。通过重复的行为,探索AO的搜索策略,寻找最优解或最优解的合理位置。每个解根据AO的优化过程获得的最佳解更新其位置。为了强调AO搜索策略(即探索和开发)之间的平衡,提供了四种不同的探索和开发搜索策略(即扩大探索、缩小探索、扩大开发和缩小开发)。最后,当满足结束条件时,AO的搜索过程终止。AO的伪代码如图1所示。
二、仿真实验与结果分析
将AO与SSA、WOA、SCA、GWO和MPA进行对比,设置种群规模为30,最大迭代次数为500,每个算法独立运行30次,以文献[1]中F3、F4(单峰函数/50维)、F9、F11(多峰函数/50维)、F20、F21(固定维度多峰函数/6维、4维)为例,结果显示如下:
函数:F3
AO:最差值:3.118e-100,最优值:6.0869e-159,平均值:1.0397e-101,标准差:5.6926e-101,秩和检验:1
SSA:最差值:25560.9277,最优值:2095.1695,平均值:9962.2291,标准差:5330.5605,秩和检验:3.0199e-11
WOA:最差值:373225.9712,最优值:113817.6813,平均值:197261.6639,标准差:58304.1276,秩和检验:3.0199e-11
SCA:最差值:69179.0478,最优值:24101.737,平均值:45636.2534,标准差:12366.6955,秩和检验:3.0199e-11
GWO:最差值:2.8597,最优值:0.0031328,平均值:0.27005,标准差:0.561,秩和检验:3.0199e-11
MPA:最差值:0.245,最优值:0.00012874,平均值:0.035953,标准差:0.064897,秩和检验:3.0199e-11
函数:F4
AO:最差值:5.4952e-52,最优值:1.787e-82,平均值:2.0506e-53,标准差:1.0031e-52,秩和检验:1
SSA:最差值:30.8674,最优值:14.6767,平均值:21.3864,标准差:3.705,秩和检验:3.0199e-11
WOA:最差值:94.0706,最优值:4.0478,平均值:71.1267,标准差:25.0657,秩和检验:3.0199e-11
SCA:最差值:78.1053,最优值:52.0233,平均值:70.5358,标准差:5.3727,秩和检验:3.0199e-11
GWO:最差值:0.0022474,最优值:5.0567e-05,平均值:0.00046347,标准差:0.0005151,秩和检验:3.0199e-11
MPA:最差值:5.3416e-08,最优值:1.6962e-08,平均值:2.777e-08,标准差:9.1333e-09,秩和检验:3.0199e-11
函数:F9
AO:最差值:0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
SSA:最差值:138.3197,最优值:46.0643,平均值:89.2749,标准差:20.0392,秩和检验:1.2118e-12
WOA:最差值:5.6843e-14,最优值:0,平均值:1.8948e-15,标准差:1.0378e-14,秩和检验:0.33371
SCA:最差值:252.8829,最优值:6.0318,平均值:112.0455,标准差:64.6083,秩和检验:1.2118e-12
GWO:最差值:17.8185,最优值:1.1369e-13,平均值:4.1285,标准差:6.0365,秩和检验:1.2e-12
MPA:最差值:0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
函数:F11
AO:最差值:0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
SSA:最差值:0.96402,最优值:0.212,平均值:0.54735,标准差:0.20427,秩和检验:1.2118e-12
WOA:最差值:0.22733,最优值:0,平均值:0.0075776,标准差:0.041504,秩和检验:0.081493
SCA:最差值:44.6881,最优值:1.1746,平均值:7.6688,标准差:8.8166,秩和检验:1.2118e-12
GWO:最差值:0.018878,最优值:0,平均值:0.0029351,标准差:0.00604,秩和检验:0.00066059
MPA:最差值:0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
函数:F20
AO:最差值:-3.0528,最优值:-3.321,平均值:-3.2668,标准差:0.073527,秩和检验:1
SSA:最差值:-3.1546,最优值:-3.322,平均值:-3.247,标准差:0.067766,秩和检验:0.61001
WOA:最差值:-3.0672,最优值:-3.3214,平均值:-3.2527,标准差:0.086995,秩和检验:0.6204
SCA:最差值:-2.6135,最优值:-3.1827,平均值:-2.9946,标准差:0.13406,秩和检验:1.7769e-10
GWO:最差值:-3.0282,最优值:-3.322,平均值:-3.2514,标准差:0.090722,秩和检验:0.10547
MPA:最差值:-3.322,最优值:-3.322,平均值:-3.322,标准差:3.8717e-12,秩和检验:3.0199e-11
函数:F21
AO:最差值:-10.1488,最优值:-10.1531,平均值:-10.152,标准差:0.001254,秩和检验:1
SSA:最差值:-2.6829,最优值:-10.1532,平均值:-8.9785,标准差:2.4442,秩和检验:6.765e-05
WOA:最差值:-2.6298,最优值:-10.1531,平均值:-7.6838,标准差:2.7011,秩和检验:2.9215e-09
SCA:最差值:-0.49652,最优值:-6.5721,平均值:-1.7534,标准差:1.6559,秩和检验:3.0199e-11
GWO:最差值:-2.6304,最优值:-10.1528,平均值:-8.7174,标准差:2.456,秩和检验:0.0005264
MPA:最差值:-10.1532,最优值:-10.1532,平均值:-10.1532,标准差:5.1226e-11,秩和检验:3.0199e-11
实验结果表明:与传统的元启发式算法相比,该算法具有显著的优越性。
三、参考文献
[1] Laith Abualigah, Dalia Yousri, Mohamed Abd Elaziz. Aquila Optimizer: A novel meta-heuristic optimization algorithm[J]. Computers & Industrial Engineering, 2021, 157: 107250.