目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
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.
5.代码获取
【资源清单】代码资源清单导航~