1.背景
2023年,M Azizi等人受到自然界火鹰狩猎行为启发,提出了火鹰优化算法(Fire Hawk Optimizer, FHO)。
2.算法原理
2.1算法思想
FHO使用特殊的控制和捕获猎物机制,它们会捡起燃烧的树枝,将其投掷到其他未燃烧的区域,以点燃小火。这些小火会吓跑猎物,迫使它们匆忙逃离,从而让火鹰更容易捕捉到它们。
2.2算法过程
计算火鹰和猎物之间距离
确定了每只火鹰最近的猎物,从而区分了这些火鹰的有效领土:
D
k
1
=
(
x
2
−
x
1
)
2
+
(
y
2
−
y
1
)
2
,
{
l
=
1
,
2
,
…
,
n
.
k
=
1
,
2
,
…
,
m
.
(1)
\mathrm D_{\mathrm k}^1=\sqrt{\left(\mathrm x_2-\mathrm x_1\right)^2+\left(\mathrm y_2-\mathrm y_1\right)^2},\left\{\begin{array}{l}l=1,2,\dots,n.\\k=1,2,\dots,m.\end{array}\right.\tag{1}
Dk1=(x2−x1)2+(y2−y1)2,{l=1,2,…,n.k=1,2,…,m.(1)
适应度较好的火鹰在其特定领地的搜索空间中选择离其最近的最佳猎物,其他火鹰在搜索空间中完成最近的猎物,这说明适应度较好火鹰能完成比较适应度差火鹰更成功的狩猎。
收集燃烧的树枝
火鹰从火场收集燃烧的树枝,以便在选定的区域放火迫使猎物匆忙逃跑。同时,一些火鹰渴望使用其他火鹰领地的燃烧树枝:
F
H
1
n
e
w
=
F
H
1
+
(
r
1
×
G
B
−
r
2
×
F
H
N
e
a
r
)
,
l
=
1
,
2
,
…
,
n
(2)
\mathrm{FH}_1^{\mathrm{new}}=\mathrm{FH}_1+\begin{pmatrix}\mathrm{r}_1\times\mathrm{GB}-\mathrm{r}_2\times\mathrm{FH}_{\mathrm{Near}}\end{pmatrix}, l=1,2,\ldots,n\tag{2}
FH1new=FH1+(r1×GB−r2×FHNear),l=1,2,…,n(2)
其中,GB是最优火鹰位置,FHNear是搜索空间中其他火鹰位置。
位置更新
当火鹰扔下一根燃烧的树枝时,猎物会采取策略(躲避,逃跑或者错误地向火鹰跑去),此时火鹰位置更新为:
P
R
q
n
e
w
=
P
R
q
+
(
r
3
×
F
H
l
−
r
4
×
S
P
l
)
,
{
l
=
1
,
2
,
…
,
n
.
q
=
1
,
2
,
…
,
r
.
(3)
\mathrm P\mathrm R_\mathrm q^{\mathrm new}=\mathrm P\mathrm R_\mathrm q+\bigl(\mathrm r_3\times\mathrm F\mathrm H_\mathrm l-\mathrm r_4\times\mathrm S\mathrm P_\mathrm l\bigr),\left\{\begin{array}{c}l=1,2,\dots,n.\\q=1,2,\dots,r.\end{array}\right.\tag{3}
PRqnew=PRq+(r3×FHl−r4×SPl),{l=1,2,…,n.q=1,2,…,r.(3)
猎物可能会向其他火鹰的领地移动,而猎物可能会在附近的伏击中靠近火鹰:
P
R
q
n
e
w
=
P
R
q
+
(
r
5
×
F
H
A
l
t
e
r
−
r
6
×
S
P
)
,
{
l
=
1
,
2
,
…
,
n
.
q
=
1
,
2
,
…
,
r
.
(4)
\mathrm P\mathrm R_\mathrm q^{\mathrm new}=\mathrm P\mathrm R_\mathrm q+\bigl(\mathrm r_5\times\mathrm F\mathrm H_{\mathrm Alter}-\mathrm r_6\times\mathrm S\mathrm P\bigr),\left\{\begin{array}{c}l=1,2,\dots,n.\\q=1,2,\dots,r.\end{array}\right.\tag{4}
PRqnew=PRq+(r5×FHAlter−r6×SP),{l=1,2,…,n.q=1,2,…,r.(4)
基于自然界中的安全场所是大多数动物为了在灾害发生时保持安全而聚集的地方,参数SP,SP1表述为:
S
P
1
=
∑
q
=
1
r
P
R
q
r
,
{
q
=
1
,
2
,
…
,
r
.
l
=
1
,
2
,
…
,
n
.
(5)
\mathrm{SP}_{1}=\frac{\sum_{\mathrm{q=1}}^{\mathrm{r}}\mathrm{PR}_{\mathrm{q}}}{\mathrm{r}},\left\{\begin{array}{l}q=1,2,\dots,r.\\l=1,2,\dots,n.\end{array}\right.\tag{5}
SP1=r∑q=1rPRq,{q=1,2,…,r.l=1,2,…,n.(5)
S
P
=
∑
k
=
1
m
P
R
k
m
,
k
=
1
,
2
,
…
,
m
.
(6)
\mathrm{SP=\frac{\sum_{k=1}^mPR_k}{m},k=1,2,\ldots,m.}\tag{6}
SP=m∑k=1mPRk,k=1,2,…,m.(6)
伪代码
流程图
3.结果展示
4.参考文献
[1] Azizi M, Talatahari S, Gandomi A H. Fire Hawk Optimizer: A novel metaheuristic algorithm[J]. Artificial Intelligence Review, 2023, 56(1): 287-363.