1.背景
2014年,Mirjalil等人受到灰狼狩猎行为启发,提出了灰狼算法(Grey Wolf Optimization, GWO)。
2.算法原理
2.1算法思想
GWO模仿了灰狼群的捕食策略,以狼群追踪、包围、追捕和攻击猎物为目标,以实现最优搜索。α、β、δ、w分别为最优解,次优解,候选解。
2.2算法过程
灰狼在狩猎过程中包围猎物,包围行为表述为:
D
=
∣
C
X
P
(
t
)
−
X
(
t
)
∣
X
(
t
+
1
)
=
X
P
(
t
)
−
A
D
(1)
\begin{aligned}\mathbf{D}&=|\mathbf{C}\mathbf{X}_P(t)-\mathbf{X}(t)\mid\\{X}(t+1)&=\boldsymbol{X}_P(t)-\boldsymbol{A}\boldsymbol{D}\end{aligned}\tag{1}
DX(t+1)=∣CXP(t)−X(t)∣=XP(t)−AD(1)
其中,t为当前迭代次数;A 和C 均为系数向量;XP(t)为猎物的位置向量;X(t)为当前灰狼的位置向量;D 为当前灰狼与猎物的距离;X(t+1)为灰狼位置的更新。
系数向量A 和C :
A
=
2
a
r
1
−
a
C
=
2
r
2
(2)
\begin{aligned}A&=2a\boldsymbol{r}_1-a\\C&=2\boldsymbol{r}_2\end{aligned}\tag{2}
AC=2ar1−a=2r2(2)
a为影响A 变化的收敛因子:
a
=
2
(
1
−
t
t
max
)
(3)
a=2\bigg(1-\frac t{t_{\max}}\bigg)\tag{3}
a=2(1−tmaxt)(3)
在狩猎过程中,利用α狼、β狼和δ 狼的不同位置来预估猎物的位置:
{
D
α
=
∣
C
1
X
α
−
X
∣
D
β
=
∣
C
2
X
β
−
X
∣
D
δ
=
∣
C
3
X
δ
−
X
∣
(4)
\begin{cases}D_\alpha=|C_1X_\alpha-X|\\D_\beta=|C_2X_\beta-X|\\D_\delta=|C_3X_\delta-X|&\end{cases}\tag{4}
⎩
⎨
⎧Dα=∣C1Xα−X∣Dβ=∣C2Xβ−X∣Dδ=∣C3Xδ−X∣(4)
其中,Dα、Dβ 和Dδ 分别为当前灰狼趋向于α、β、δ狼之间的近似距离。
每只灰狼位置更新:
{
X
1
=
X
α
−
A
1
D
α
X
2
=
X
β
−
A
2
D
β
X
3
=
X
δ
−
A
3
D
δ
(5)
\begin{cases}\boldsymbol{X}_1=\boldsymbol{X}_\alpha-\boldsymbol{A}_1\boldsymbol{D}_\alpha\\\boldsymbol{X}_2=\boldsymbol{X}_\beta-\boldsymbol{A}_2\boldsymbol{D}_\beta\\\boldsymbol{X}_3=\boldsymbol{X}_\delta-\boldsymbol{A}_3\boldsymbol{D}_\delta\end{cases}\tag{5}
⎩
⎨
⎧X1=Xα−A1DαX2=Xβ−A2DβX3=Xδ−A3Dδ(5)
X
(
t
+
1
)
=
X
1
+
X
2
+
X
3
3
(6)
X(t+1)=\frac{X_1+X_2+X_3}3\tag{6}
X(t+1)=3X1+X2+X3(6)
其中,Xα、Xβ、Xδ 分别为α、β、δ狼的当前位置;X1、X2、X3 分别为ω狼向α、β、δ狼的前进步长和方向,X(t+1)为ω狼的最后位置。
伪代码:
3.结果展示
4.参考文献
[1] Mirjalili S, Mirjalili S M, Lewis A. Grey wolf optimizer[J]. Advances in engineering software, 2014, 69: 46-61.