【智能算法】清道夫优化算法(CFO)原理及实现


1.背景

2024年,W Zhang受到清道夫自然行为启发,提出了清道夫优化算法(Cleaner Fish Optimization Algorithm, CFO)。

在这里插入图片描述

在这里插入图片描述

2.算法原理

2.1算法思想

CFO模拟了清道夫在进行“清洁服务”时的移动行为,以及雌鱼变性为雄鱼的行为,并定义了两种位置更新模式。此外,还提出了一种两代循环操作策略来实现优化过程。

在这里插入图片描述

2.2算法过程

CFO采用三次混沌映射对算法进行初始化,保持了算法的多样性,提高了算法的全局搜索能力:
r k + 1 , j = 4 r k , j 3 − 3 r k , j , − 1 < r 1 , j < 1 , r k , j ≠ 0 k = 1 , 2 , . . . , N − 1. j = 1 , 2 , . . . , d (1) \begin{aligned}&r_{k+1,j}=4r_{k,j}^3-3r_{k,j},\quad-1<r_{1,j}<1,\quad r_{k,j}\neq0\\&k=1,2,...,N-1.\quad j=1,2,...,d\end{aligned}\tag{1} rk+1,j=4rk,j33rk,j,1<r1,j<1,rk,j=0k=1,2,...,N1.j=1,2,...,d(1)

种群初始化:
X i , j = l b i , j + ( u b i , j − l b i , j ) ⋅ ( r i , j + 1 2 ) (2) X_{i,j}=lb_{i,j}+(ub_{i,j}-lb_{i,j})\cdot\left(\frac{r_{i,j}+1}2\right)\tag{2} Xi,j=lbi,j+(ubi,jlbi,j)(2ri,j+1)(2)

CFO 提出了两代循环策略:分别是目标追踪和性别转换。一代采用目标追踪更新模式以实现“清洁服务”。而在下一代中,前三分之二的个体采用目标追踪更新模式,其他个体采用性别转换更新模式。

目标追踪

清道夫目标追踪行为:
X i , j t + 1 = X i , j t + V i , j t (2) X_{i,j}^{t+1}=X_{i,j}^t+V_{i,j}^t\tag{2} Xi,jt+1=Xi,jt+Vi,jt(2)
清道夫速度:
V i , j t + 1 = V i , j t + ( X i , j t − X b e s t , j ) ⋅ f (3) V_{i,j}^{t+1}=V_{i,j}^t+(X_{i,j}^t-X_{best,j})\cdot f\tag{3} Vi,jt+1=Vi,jt+(Xi,jtXbest,j)f(3)
f为每个个体对应的频率:
f = f m i n + ( f m a x − f m i n ) ⋅ r 1 (4) f=f_{min}+(f_{max}-f_{min})\cdot r_1\tag{4} f=fmin+(fmaxfmin)r1(4)
其中fmin, fmax分别为最小和最大频率。它们分别被设置为0和10。为了增强算法的探索能力,引入了随机行走策略:
X i , j = { X b e s t , j + 0.1 ⋅ r a n d ⋅ α t , i f r 2 < r X i , j t , o t h e r w i s e (5) X_{i,j}=\begin{cases}X_{best,j}+0.1\cdot rand\cdot\alpha^{t},&if\quad r_{2}<r\\X_{i,j}^{t},&otherwise&&\end{cases}\tag{5} Xi,j={Xbest,j+0.1randαt,Xi,jt,ifr2<rotherwise(5)
参数表述为:
α t + 1 = 0.97 × α t (6) \alpha^{t+1}=0.97\times\alpha^t\tag{6} αt+1=0.97×αt(6)
α \alpha α表示清道夫的清洁能力,也表示随着迭代次数的增加,清道夫的清洁能力下降。r为自适应参数:
r = 1 − e − γ ⋅ t (7) r=1-e^{-\gamma\cdot t}\tag{7} r=1eγt(7)

性别转换

在鱼类群体中,当雄性死亡时,雌性可能会改变性别,成为新的雄性。基于这种行为,本文提出了性别转换更新模式:
X i , j t + 1 = w ⋅ X i , j t + r 3 ⋅ ( X i , j t − X b e s t , j ) (8) X_{i,j}^{t+1}=w\cdot X_{i,j}^t+r_3\cdot(X_{i,j}^t-X_{best,j})\tag{8} Xi,jt+1=wXi,jt+r3(Xi,jtXbest,j)(8)
w为自适应权值,用于平衡探索和开发:
w = ( w m a x − w m i n ) e t T + w m i n (9) w=(w_{max}-w_{min})^{e^{\frac tT}}+w_{min}\tag{9} w=(wmaxwmin)eTt+wmin(9)

鱼类种群行为

清道夫是群居动物,为了表现这种行为,引入了准反射反向学习策略:
X i , j = r 4 × ( X i , j t − u b i , j + l b i , j 2 ) − u b i , j + l b i , j 2 (10) X_{i,j}=r_{4}\times\left(X_{i,j}^{t}-\frac{ub_{i,j}+lb_{i,j}}{2}\right)-\frac{ub_{i,j}+lb_{i,j}}{2}\tag{10} Xi,j=r4×(Xi,jt2ubi,j+lbi,j)2ubi,j+lbi,j(10)

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Zhang W, Zhao J, Liu H, et al. Cleaner fish optimization algorithm: a new bio-inspired meta-heuristic optimization algorithm[J]. The Journal of Supercomputing, 2024: 1-39.

5.代码获取

资源清单

  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值