1.背景
2021年,A Mohammadi-Balani基于金鹰狩猎行为启发,提出了金鹰优化算法(Golden Eagle Optimizer, GEO)。
2.算法原理
2.1算法思想
GEO的核心灵感来源于金鹰在狩猎螺旋轨迹的不同阶段调整速度行为。在狩猎的初期阶段,它们更倾向于巡游和搜索猎物,在最后阶段则更倾向于攻击。
2.2算法过程
攻击行为(开发阶段)
攻击行为可以通过一个向量来模拟,该向量起始于金鹰当前的位置,并结束于金鹰记忆中猎物的位置:
A
⃗
i
=
X
⃗
f
∗
−
X
⃗
i
(1)
\vec{A}_i=\vec{X}_f^*-\vec{X}_i\tag{1}
Ai=Xf∗−Xi(1)
巡航行为(探索行为)
巡航行为则基于攻击向量计算得出,巡航向量是一个切向量,位于与攻击向量垂直的圆的切线超平面内。这个巡航向量不仅代表金鹰的位置变化,也反映了金鹰相对于猎物的线速度。此外,计算巡航向量需要首先确定切线超平面的方程,这可以通过超平面上的任意点和垂直于超平面的法向量来确定:
h
1
x
1
+
h
2
x
2
+
.
.
.
+
h
n
x
n
=
d
⇒
∑
j
=
1
n
h
j
x
j
=
d
(2)
h_1x_1+h_2x_2+...+h_nx_n=d\Rightarrow\sum_{j=1}^nh_jx_j=d\tag{2}
h1x1+h2x2+...+hnxn=d⇒j=1∑nhjxj=d(2)
位置更新
金鹰位置更新:
Δ
x
i
=
r
⃗
1
p
a
A
⃗
i
∥
A
⃗
i
∥
+
r
⃗
2
p
c
C
⃗
i
∥
C
⃗
i
∥
(3)
\Delta x_i=\vec{r}_1p_a\frac{\vec{A}_i}{\|\vec{A}_i\|}+\vec{r}_2p_c\frac{\vec{C}_i}{\|\vec{C}_i\|}\tag{3}
Δxi=r1pa∥Ai∥Ai+r2pc∥Ci∥Ci(3)
其中,攻击系数pa,巡航系数pc调整了金鹰攻击和巡航的影响。攻击向量和巡航向量的欧几里得范数表述为:
∥
A
⃗
i
∥
=
∑
j
=
1
n
a
j
2
,
∥
C
⃗
i
∥
=
∑
j
=
1
n
c
j
2
(4)
\|\vec{A}_i\|=\sqrt{\sum_{j = 1}^na_j^2},\quad\|\vec{C}_i\|=\sqrt{\sum_{j = 1}^nc_j^2}\tag{4}
∥Ai∥=j=1∑naj2,∥Ci∥=j=1∑ncj2(4)
探索到开发过渡
金鹰在狩猎飞行的初始阶段表现出更高的巡航倾向,在最后阶段表现出更高的攻击倾向。GEO使用pa和pc来从探索转向开发:
{
p
a
=
p
a
0
+
t
T
∣
p
a
T
−
p
a
0
∣
p
c
=
p
c
0
−
t
T
∣
p
c
T
−
p
c
0
∣
(5)
\begin{cases}p_a=p_a^0+\frac tT|p_a^T-p_a^0|\\p_c=p_c^0-\frac tT|p_c^T-p_c^0|\end{cases}\tag{5}
{pa=pa0+Tt∣paT−pa0∣pc=pc0−Tt∣pcT−pc0∣(5)
伪代码
3.结果展示
4.参考文献
[1] Mohammadi-Balani A, Nayeri M D, Azar A, et al. Golden eagle optimizer: A nature-inspired metaheuristic algorithm[J]. Computers & Industrial Engineering, 2021, 152: 107050.