SCI四区|鳑鮍鱼优化算法(BFO)原理及实现【免费获取Matlab代码】


1.背景

2024年,L Zareian受到自然行为启发,提出了鳑鮍(páng pí)鱼优化算法(Bitterling Fish Optimization, BFO)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

鳑鮍鱼是自然界中为了生存展示智能行为的典范,其采用牡蛎产卵策略作为其保姆。BFO模拟了鳑鮍鱼交配行为,雌性鳑鮍鱼寻找比其他鱼更强的雄性鱼来找到合适的配对。

在这里插入图片描述

2.2算法过程

搜索并捕获牡蛎

鳑鮍鱼可以搜索问题空间并找到合适的配对牡蛎,它会锁定一只牡蛎并朝向它移动:
F i t + 1 = { J . F i t + ( F + − J . F i t ) . δ r ≤ P J . F i t + ( F ∗ − J . F i t ) . δ r > P (1) \left.F_i^{t+1}=\left\{\begin{array}{l}J.F_i^t+\left(F^+-J.F_i^t\right).\delta r\leq P\\J.F_i^t+\left(F^*-J.F_i^t\right).\delta r>P\end{array}\right.\right.\tag{1} Fit+1={J.Fit+(F+J.Fit).δrPJ.Fit+(FJ.Fit).δr>P(1)
其中,F*是最优解,J是鱼为了逃离或接近牡蛎而移动的步数或速度:
J ( t ) = ( J ( 1 ) − J ( 1 ) . t M a x t ) . U ( t ) (2) J(t)=\left(J(1)-\frac{J(1).t}{Maxt}\right).U(t)\tag{2} J(t)=(J(1)MaxtJ(1).t).U(t)(2)
J(1)是每条鱼在初始迭代中的步长和跳跃值,随机函数U表述为:
U ( t + 1 ) = cos ⁡ ( t × cos ⁡ − 1 ( U ( t ) ) ) (3) U(t+1)=\cos(t\times\cos^{-1}(U(t)))\tag{3} U(t+1)=cos(t×cos1(U(t)))(3)
参数p采用类似于arctan函数:
P = ∣ 1 − t 1 + t 2 ∣ + r a n d t a (4) P=\left|1-\frac t{\sqrt{1+t^2}}\right|+\frac{rand}{t^a}\tag{4} P= 11+t2 t +tarand(4)

逃跑行为

在鳑鮍鱼逃跑行为中,鳑鮍鱼位置:
F i t + 1 = { J . F i t + ( F ∗ − J . M ) . δ r ≤ 0.5 l + ( u − l ) . δ r > 0.5 (5) \left.F_{i}^{t+1}=\left\{\begin{array}{c}{J.F_{i}^{t}+(F^{*}-J.M).\delta r\leq0.5}\\{l+(u-l).\delta r>0.5}\end{array}\right.\right.\tag{5} Fit+1={J.Fit+(FJ.M).δr0.5l+(ul).δr>0.5(5)

在这里插入图片描述

M为鱼群质心位置:
M = ∑ i = 1 n F i t n (6) M=\frac{\sum_{i=1}^{n}F_{i}^{t}}{n}\tag{6} M=ni=1nFit(6)

产卵行为

雄鱼发现牡蛎后,可以吸引雌鱼在牡蛎中产卵,雄鱼可以使卵受精,在现有的鱼周围产生新的鱼:
F i t + 1 = F i t + R ∗ r a n d ( 0 , 1 ) (7) F_i^{t+1}=F_i^t+R*rand(0,1)\tag{7} Fit+1=Fit+Rrand(0,1)(7)

狩猎行为

一些较弱的幼鱼可能会被牡蛎或捕食者捕食:
d ( F i t ) = f ( F i t ) ∑ i = 1 n f ( F i t ) (8) d(F_i^t)=\frac{f(F_i^t)}{\sum_{i=1}^nf(F_i^t)}\tag{8} d(Fit)=i=1nf(Fit)f(Fit)(8)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Zareian L, Rahebi J, Shayegan M J. Bitterling fish optimization (BFO) algorithm[J]. Multimedia Tools and Applications, 2024: 1-34.

5.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值