1.摘要
瞪羚优化算法(GOA)是一种新型的基于种群的元启发式算法,灵感来源于瞪羚在以捕食者为主的环境中的生存策略。该算法通过模拟瞪羚逃离捕食者的行为,解决复杂的优化问题。GOA包含两个主要阶段:开发阶段和探索阶段。在开发阶段,模拟瞪羚在安全环境中觅食的行为;在探索阶段,则模拟瞪羚发现捕食者后的逃跑和躲避行为。
2.算法原理
开发阶段
假设瞪羚在没有捕食者或捕食者潜伏的情况下安静地觅食,GOA模拟瞪羚通过均匀和受控的步伐在优化领域的邻域区域进行搜索:
g
a
z
e
l
l
e
i
+
1
=
g
a
z
e
l
l
e
i
+
s
.
R
∗
.
R
B
∗
.
(
E
l
i
t
e
i
−
R
B
∗
.
g
a
z
e
l
l
e
i
)
\begin{array}{c}\mathrm{gazelle}_{i+1}=\mathrm{gazelle}_i+s.R*.R_B*.(\mathrm{Elite}_i-R_B*.\mathrm{gazelle}_i)\end{array}
gazellei+1=gazellei+s.R∗.RB∗.(Elitei−RB∗.gazellei)
其中,s表示瞪羚的觅食速度,RB表示布朗运动包含随机数矢量,R为[0,1]随机数。
探索阶段
瞪羚在发现捕食者后立即奔跑,根据迭代次数的奇偶性,瞪羚的移动方向会相应改变。研究中假定瞪羚首先使用Levy飞行进行反应,而捕食者则先使用布朗运动开始追逐,随后转为Levy飞行:
g
a
z
e
l
l
e
i
+
1
→
=
gazelle
i
→
+
S
.
μ
.
R
⃗
∗
.
R
⃗
L
∗
.
(
E
l
i
t
e
i
→
−
R
L
→
∗
.
g
a
z
e
l
l
e
i
→
)
\begin{aligned} \overrightarrow{\mathrm{gazelle}_{i+1}}& =\overrightarrow{\text{gazelle}_i}+S.\mu.\vec{R}*.\vec{R}_L \\ &*.\left(\overrightarrow{\mathrm{Elite}_{i}}-\overrightarrow{R_{L}} *.\overrightarrow{\mathrm{gazelle}_{i}}\right) \end{aligned}
gazellei+1=gazellei+S.μ.R∗.RL∗.(Elitei−RL∗.gazellei)
其中,S为瞪羚最高速度,捕食者追逐瞪羚行为:
g
a
z
e
l
l
e
i
+
1
→
=
g
a
z
e
l
l
e
i
→
+
S
⋅
μ
⋅
C
F
∗
⋅
R
⃗
B
∗
⋅
(
E
l
i
t
e
i
→
−
R
L
→
∗
⋅
g
a
z
e
l
l
e
i
→
)
\begin{aligned}\overrightarrow{\mathrm{gazelle}_{i+1}}&=\overrightarrow{\mathrm{gazelle}_i}+S\cdot\mu\cdot\mathrm{CF}*\cdot\vec{R}_B\\&*\cdot\left(\overrightarrow{\mathrm{Elite}_i}-\overrightarrow{R_L}*\cdot\overrightarrow{\mathrm{gazelle}_i}\right)\end{aligned}
gazellei+1=gazellei+S⋅μ⋅CF∗⋅RB∗⋅(Elitei−RL∗⋅gazellei)
PSRs是捕食者成功率,这一效应影响瞪羚的逃逸能力:
g
a
z
e
l
l
e
i
+
1
→
=
{
g
a
z
e
l
l
e
i
→
+
C
F
[
L
B
→
+
R
⃗
∗
.
(
U
B
→
−
L
B
→
)
]
∗
⋅
U
⃗
if
r
≤
PSRs
g
a
z
e
l
l
e
i
→
+
[
P
S
R
s
(
1
−
r
)
+
r
]
(
g
a
z
e
l
l
r
1
→
−
g
a
z
e
l
l
e
r
2
→
)
else
\begin{aligned}&\overrightarrow{\mathrm{gazelle}_{i+1}}\\&=\begin{cases}\overrightarrow{\mathrm{gazelle}_i}+\mathrm{CF}\Big[\overrightarrow{\mathrm{LB}}+\vec{R}*.\Big(\overrightarrow{\mathrm{UB}}-\overrightarrow{\mathrm{LB}}\Big)\Big]*\cdot\vec{U}&\text{if}r\leq\text{PSRs}\\\overrightarrow{\mathrm{gazelle}_i}+[\mathrm{PSRs}(1-r)+r]\Big(\overrightarrow{\mathrm{gazell}_{r_1}}-\overrightarrow{\mathrm{gazelle}_{r_2}}\Big)&\text{else}\end{cases}\end{aligned}
gazellei+1=⎩
⎨
⎧gazellei+CF[LB+R∗.(UB−LB)]∗⋅Ugazellei+[PSRs(1−r)+r](gazellr1−gazeller2)ifr≤PSRselse
流程图
伪代码
3.结果展示
4.参考文献
[1] Agushaka J O, Ezugwu A E, Abualigah L. Gazelle optimization algorithm: a novel nature-inspired metaheuristic optimizer[J]. Neural Computing and Applications, 2023, 35(5): 4099-4131.