1.背景
2023年,S Shadravan受到母亲与孩子之间的人际互动启发,提出了旗鱼优化算法(SailFish Optimizer, SFO)。
2.算法原理
2.1算法思想
SFO灵感来源于一群捕猎的旗鱼,该方法包括两个种群的策略:旗鱼种群用于加强对迄今为止最好结果的搜索,沙丁鱼种群用于搜索空间的多样化。
2.2算法过程
攻击轮替策略
旗鱼追逐并围捕它们的猎物,旗鱼的围捕行为会根据其他同伴围绕猎物群的位置调整自己的位置:
X
n
e
w
⊥
S
F
i
=
X
e
l
i
t
e
⊥
S
F
i
−
λ
i
×
(
r
a
n
d
(
0
,
1
)
×
(
X
e
l
i
t
e
S
F
i
+
X
i
n
j
u
r
e
d
S
i
2
)
−
X
o
l
d
S
F
i
)
(1)
X_{new_{\perp}SF}^{i}=X_{elite_{\perp}SF}^{i}-\lambda_{i}\times\left(rand (0,1)\times\left(\frac{X_{elite_{SF}}^{i}+X_{injured_{S}}^{i}}{2}\right)-X_{old_{SF}}^{i}\right)\tag{1}
Xnew⊥SFi=Xelite⊥SFi−λi×(rand(0,1)×(2XeliteSFi+XinjuredSi)−XoldSFi)(1)
参数表述为:
λ
i
=
2
×
r
a
n
d
(
0
,
1
)
×
P
D
−
P
D
(2)
\lambda_i=2\times rand\left(0,1\right)\times PD-PD\tag{2}
λi=2×rand(0,1)×PD−PD(2)
其中,PD是猎物密度,表示每次迭代的猎物数量:
P
D
=
1
−
(
N
S
F
N
S
F
+
N
S
)
(3)
PD=1-\left(\frac{N_{SF}}{N_{SF}+N_{S}}\right)\tag{3}
PD=1−(NSF+NSNSF)(3)
狩猎和捕捉猎物
位置更新:
X
n
e
w
_
S
i
=
r
×
(
X
e
l
i
t
e
_
S
F
i
−
X
o
l
d
S
i
+
A
P
)
(4)
X_{new\_S}^i=r\times\left(X_{elite\_SF}^i-X_{old_S}^i+AP\right)\tag{4}
Xnew_Si=r×(Xelite_SFi−XoldSi+AP)(4)
其中,AP表示旗鱼的数量在每次迭代的攻击强度:
A
P
=
A
×
(
1
−
(
2
×
I
t
r
×
ε
)
)
(5)
AP=A\times(1-(2\times Itr\times\varepsilon))\tag{5}
AP=A×(1−(2×Itr×ε))(5)
参数表述为:
α
=
N
S
×
A
P
β
=
d
i
×
A
P
(6)
\begin{aligned}\alpha&=N_S\times AP\\\beta&=d_i\times AP\end{aligned}\tag{6}
αβ=NS×AP=di×AP(6)
伪代码
3.结果展示
4.参考文献
[1] Shadravan S, Naji H R, Bardsiri V K. The Sailfish Optimizer: A novel nature-inspired metaheuristic algorithm for solving constrained engineering optimization problems[J]. Engineering Applications of Artificial Intelligence, 2019, 80: 20-34.