SCI二区TOP|旗鱼优化算法(SFO)原理及实现【免费获取Matlab代码】


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} XnewSFi=XeliteSFiλ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)×PDPD(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_SFiXoldSi+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.代码获取

【资源清单】代码资源清单导航~

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
优化算法(Sailfish Optimization, SFO)是一种启发式优化算法,灵感来自于的捕食行为和群体协作。是一种快速和协作的海洋类,通过捕食行为展示出了高效的搜索和追逐目标的能力。 以下是优化算法的基本步骤: 1. 个体表示:将待优化问题转化为一个个体的表示形式,通常使用向量或数组来表示个体的解。 2. 种群初始化:随机生成一定数量的个体作为初始种群。每个个体对应一个可能的解。 3. 行为模拟:模拟的搜索和追逐目标行为。每个个体被视为一个,并根据当前的解进行搜索和调整位置。 4. 适应度评估:对每个个体计算适应度值,用于评估其优劣。适应度函数根据具体问题设定,可以是目标函数的值,也可以是其他评估指标。 5. 位置更新:根据行为模拟的结果,更新的位置。可以使用迭代公式来更新位置,以便更好地接近目标。 6. 群体协作:通过之间的交流和协作来提高搜索效率。可以引入一些策略,如信息共享、领导者选择等。 7. 终止条件判断:根据预设的终止条件(如达到最大迭代次数、满足特定目标等),判断是否结束算法。如果未满足终止条件,则返回步骤4;否则,进入下一步。 8. 最优解提取:从群体中选择适应度最好的作为最优解。 优化算法通过模拟的捕食行为和群体协作,具有较强的全局搜索和优化能力。该算法在解决连续优化问题、离散优化问题以及组合优化问题等方面都有应用。然而,算法的性能受到参数设置和问题建模的影响,需要根据具体问题进行调整和优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值