一、理论基础
1、灰狼优化算法
请参考这里。
2、改进的灰狼优化算法
基于维度学习的狩猎搜索策略的改进灰狼优化算法(IGWO)主要包括三个阶段:初始化阶段、运动阶段、选择和更新阶段。
(1)初始化阶段
在该阶段, N N N只灰狼个体按照式(1)在给定范围 [ l j , u j ] [l_j,u_j] [lj,uj]内随机分布在搜索空间中。 X i j = l j + r a n d j [ 0 , 1 ] × ( u j − l j ) , i ∈ [ 1 , N ] , j ∈ [ 1 , D ] (1) X_{ij}=l_j+rand_j[0,1]\times(u_j-l_j),\,i\in[1,N],\,j\in[1,D]\tag{1} Xij=lj+randj[0,1]×(uj−lj),i∈[1,N],j∈[1,D](1)第 i i i次灰狼在第 t t t次迭代中的位置表示为 X i ( t ) = { x i 1 , x i 2 , ⋯ , x i D } X_i(t)=\{x_{i1},x_{i2},\cdots,x_{iD}\} Xi(t)={xi1,xi2,⋯,xiD}的向量,其中 D D D是问题的维数。整个狼群存储在一个矩阵 P o p Pop Pop中,该矩阵有 N N N行和 D D D列。 X i ( t ) X_i(t) Xi(t)的适应度值由适应度函数 f ( X i ( t ) ) f(X_i(t)) f(Xi(t))计算。
(2)运动阶段
除了群体狩猎,个体狩猎是灰狼另一种有趣的社会行为,这是我们改进GWO的动机。IGWO包含一个额外的名为基于维度学习的狩猎(Dimension learning-based hunting, DLH)搜索的运动策略。在DLH中,每一只狼的邻居都知道它是
X
i
(
t
)
X_i(t)
Xi(t)新位置的另一个候选者。以下步骤描述了规范的GWO和DLH搜索策略如何生成两个不同的候选者。
规范的GWO搜索策略:在GWO中,来自
P
o
p
Pop
Pop的前三个最佳狼被认为是
α
\alpha
α、
β
\beta
β和
δ
\delta
δ。之后,线性下降系数
a
a
a以及系数
A
A
A和
C
C
C通过相应公式计算。然后,考虑
X
α
X_\alpha
Xα、
X
β
X_\beta
Xβ和
X
δ
X_\delta
Xδ的位置,通过相应公式确定猎物的包围。 最后,灰狼
X
i
(
t
)
X_i(t)
Xi(t)新位置的第一个候选者
X
i
−
G
W
O
(
t
+
1
)
X_{i-GWO}(t+1)
Xi−GWO(t+1)由对应公式计算。
基于维度学习的狩猎(DLH)搜索策略:在原始GWO中,在
P
o
p
Pop
Pop的三只领头狼的帮助下,为每只狼生成一个新位置。这种方式导致GWO收敛缓慢,种群过早失去多样性,狼陷入局部最优。为了解决这些缺陷,在提出的DLH搜索策略中,狼的个体狩猎被认为是由其邻居学习的。
在DLH搜索策略中,
X
i
(
t
)
X_i(t)
Xi(t)的新位置的每个维度由式(3)计算,其中该个体由其不同邻居和从
P
o
p
Pop
Pop中随机选择的个体学习。然后,除了
X
i
−
G
W
O
(
t
+
1
)
X_{i-GWO}(t+1)
Xi−GWO(t+1),DLH搜索策略还为
X
i
(
t
)
X_i(t)
Xi(t)的新位置生成另一个候选位置
X
i
−
D
L
H
(
t
+
1
)
X_{i-DLH}(t+1)
Xi−DLH(t+1)。为此,首先,通过式(1)使用
X
i
(
t
)
X_i(t)
Xi(t)的当前位置和候选位置
X
i
−
G
W
O
(
t
+
1
)
X_{i-GWO}(t+1)
Xi−GWO(t+1)之间的欧几里德距离来计算半径
R
i
(
t
)
R_i(t)
Ri(t)。
R
i
(
t
)
=
∣
∣
X
i
(
t
)
−
X
i
−
G
W
O
(
t
+
1
)
∣
∣
(1)
R_i(t)=||X_i(t)-X_{i-GWO}(t+1)||\tag{1}
Ri(t)=∣∣Xi(t)−Xi−GWO(t+1)∣∣(1)然后,由
N
i
(
t
)
N_i(t)
Ni(t)表示的
X
i
(
t
)
X_i(t)
Xi(t)的邻域由关于半径
R
i
(
t
)
R_i(t)
Ri(t)的式(2)构造,其中
D
i
D_i
Di是
X
i
(
t
)
X_i(t)
Xi(t)和
X
j
(
t
)
X_j(t)
Xj(t)之间的欧氏距离。
N
i
(
t
)
=
{
X
j
(
t
)
∣
D
i
(
X
i
(
t
)
,
X
j
(
t
)
)
≤
R
i
(
t
)
,
X
j
(
t
)
∈
P
o
p
}
(2)
N_i(t)=\{X_j(t)|D_i(X_i(t),X_j(t))\leq R_i(t),\,X_j(t)\in Pop\}\tag{2}
Ni(t)={Xj(t)∣Di(Xi(t),Xj(t))≤Ri(t),Xj(t)∈Pop}(2)一旦构造了
X
i
(
t
)
X_i(t)
Xi(t)的邻域,则通过式(3)执行多邻域学习,其中
X
i
−
D
L
H
,
d
(
t
+
1
)
X_{i-DLH,d}(t+1)
Xi−DLH,d(t+1)的
d
d
d维是通过使用从
N
i
(
t
)
N_i(t)
Ni(t)中选择的随机邻域
X
n
,
d
(
t
)
X_{n,d}(t)
Xn,d(t)的
d
d
d维和从
P
o
p
Pop
Pop中选择的随机
X
r
,
d
(
t
)
X_{r,d}(t)
Xr,d(t)来计算的。
X
i
−
D
L
H
,
d
(
t
+
1
)
=
X
i
,
d
(
t
)
+
r
a
n
d
×
(
X
n
,
d
(
t
)
−
X
r
,
d
(
t
)
)
(3)
X_{i-DLH, d}(t+1)=X_{i,d}(t)+rand\times(X_{n,d}(t)-X_{r,d}(t))\tag{3}
Xi−DLH,d(t+1)=Xi,d(t)+rand×(Xn,d(t)−Xr,d(t))(3)
(3)选择和更新阶段
在该阶段,首先,通过式(4)比较两个候选位置
X
i
−
G
W
O
(
t
+
1
)
X_{i-GWO}(t+1)
Xi−GWO(t+1)和
X
i
−
D
L
H
(
t
+
1
)
X_{i-DLH}(t+1)
Xi−DLH(t+1)的适应度值来选择较优秀的候选位置。
X
i
(
t
+
1
)
=
{
X
i
−
G
W
O
(
t
+
1
)
,
f
(
X
i
−
G
W
O
)
<
f
(
X
i
−
D
L
H
)
X
i
−
D
L
H
(
t
+
1
)
,
o
t
h
e
r
w
i
s
e
(4)
X_i(t+1)=\begin{dcases}X_{i-GWO}(t+1),\quad f(X_{i-GWO})<f(X_{i-DLH})\\X_{i-DLH}(t+1),\quad\quad\quad\quad\,\,\, otherwise\end{dcases}\tag{4}
Xi(t+1)={Xi−GWO(t+1),f(Xi−GWO)<f(Xi−DLH)Xi−DLH(t+1),otherwise(4)然后,为了更新
X
i
(
t
+
1
)
X_i(t+1)
Xi(t+1)的新位置,如果所选候选者的适应度值小于
X
i
(
t
)
X_i(t)
Xi(t),则由所选候选者更新
X
i
(
t
)
X_i(t)
Xi(t)。否则,
X
i
(
t
)
X_i(t)
Xi(t)在
P
O
P
POP
POP中保持不变。
最后,对所有个体执行此过程后,迭代计数器(
i
t
e
r
iter
iter)增加1,搜索可以迭代,直到达到预定义的迭代次数(
M
a
x
i
t
e
r
Maxiter
Maxiter)。所提出的IGWO算法的伪代码如图1所示。
二、实验仿真与分析
将IGWO与PSO、KH和GWO进行对比,以文献[2]中的F2、F6(单峰函数/30维)、F8、F10(多峰函数/30维)、F18、F19(固定维度多峰函数/2维、3维)为例,种群规模设置为30,最大迭代次数设置为500,每个算法独立运算30次。结果显示如下:
函数:F2
IGWO:最差值: 3.4467e-17, 最优值: 4.7771e-19, 平均值: 7.2787e-18, 标准差: 6.4366e-18, 秩和检验: 1
PSO:最差值: 30.3002, 最优值: 12.797, 平均值: 22.3033, 标准差: 4.2795, 秩和检验: 3.0199e-11
KH:最差值: 7.3418, 最优值: 0.28857, 平均值: 1.1742, 标准差: 1.4852, 秩和检验: 3.0199e-11
GWO:最差值: 4.7137e-16, 最优值: 1.1533e-17, 平均值: 1.0373e-16, 标准差: 9.065e-17, 秩和检验: 6.6955e-11
函数:F6
IGWO:最差值: 0.25128, 最优值: 4.1737e-05, 平均值: 0.024273, 标准差: 0.073951, 秩和检验: 1
PSO:最差值: 1954.2573, 最优值: 341.8429, 平均值: 906.1257, 标准差: 389.1784, 秩和检验: 3.0199e-11
KH:最差值: 1.5499, 最优值: 0.4947, 平均值: 1.0705, 标准差: 0.22953, 秩和检验: 3.0199e-11
GWO:最差值: 1.7497, 最优值: 0.25093, 平均值: 0.8455, 标准差: 0.3743, 秩和检验: 3.3384e-11
函数:F8
IGWO:最差值: -5489.6983, 最优值: -10574.0223, 平均值: -8459.3872, 标准差: 1653.7623, 秩和检验: 1
PSO:最差值: -1921.6121, 最优值: -3833.6485, 平均值: -2754.4901, 标准差: 467.6339, 秩和检验: 3.0199e-11
KH:最差值: -5082.9109, 最优值: -10135.6575, 平均值: -7408.1923, 标准差: 1253.9246, 秩和检验: 0.010315
GWO:最差值: -3195.0866, 最优值: -7546.2803, 平均值: -5872.8204, 标准差: 881.663, 秩和检验: 6.5261e-07
函数:F10
IGWO:最差值: 8.6153e-14, 最优值: 3.9968e-14, 平均值: 6.01e-14, 标准差: 1.0894e-14, 秩和检验: 1
PSO:最差值: 9.5573, 最优值: 5.1314, 平均值: 8.1017, 标准差: 1.0907, 秩和检验: 2.6808e-11
KH:最差值: 2.041, 最优值: 0.22494, 平均值: 0.66476, 标准差: 0.58667, 秩和检验: 2.6808e-11
GWO:最差值: 1.3589e-13, 最优值: 7.5495e-14, 平均值: 1.0368e-13, 标准差: 1.6636e-14, 秩和检验: 7.4888e-11
函数:F18
IGWO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 1.8105e-15, 秩和检验: 1
PSO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 9.9301e-16, 秩和检验: 0.00073098
KH:最差值: 3.0002, 最优值: 3, 平均值: 3, 标准差: 4.5556e-05, 秩和检验: 2.6588e-11
GWO:最差值: 3.0002, 最优值: 3, 平均值: 3, 标准差: 3.4932e-05, 秩和检验: 2.6588e-11
函数:F19
IGWO:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.5243e-15, 秩和检验: 1
PSO:最差值: -3.8549, 最优值: -3.8628, 平均值: -3.8625, 标准差: 0.001439, 秩和检验: 0.0018957
KH:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 2.1996e-06, 秩和检验: 1.4059e-11
GWO:最差值: -3.8549, 最优值: -3.8628, 平均值: -3.8616, 标准差: 0.002286, 秩和检验: 1.4059e-11
实验结果表明,与实验中使用的算法相比,IGWO算法具有很强的竞争力,并且往往更优越。
三、参考文献
[1] Mohammad H. Nadimi-Shahraki, Shokooh Taghian, Seyedali Mirjalili. An improved grey wolf optimizer for solving engineering problems[J]. Expert Systems with Applications, 2021, 166: 113917.
[2] Afshin Faramarzi, Mohammad Heidarinejad, Brent Stephens, et al. Equilibrium optimizer: A novel optimization algorithm[J]. Knowledge-Based Systems, 2020, 191: 105190.