问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

捕鱼优化算法:一种解决聚类问题的新型人类行为算法

创作时间:
作者:
@小白创作中心

捕鱼优化算法:一种解决聚类问题的新型人类行为算法

引用
CSDN
1.
https://blog.csdn.net/Logic_9527/article/details/141232102

2024年,H Jia受到人类捕鱼行为启发,提出了捕鱼优化算法(Catch Fish Optimization Algorithm, CFOA)。该算法模拟农村渔民在池塘中捕鱼的过程,通过探索阶段和开发阶段两个主要阶段,实现对聚类问题的优化求解。本文将详细介绍CFOA的算法原理、过程和应用。

1.背景

2024年,H Jia受到人类捕鱼行为启发,提出了捕鱼优化算法(Catch Fish Optimization Algorithm, CFOA)。

2.算法原理

2.1算法思想

CFOA模拟农村渔民在池塘中捕鱼的过程,主要分为两个阶段:探索阶段和开发阶段。在探索阶段,有两个搜索阶段:首先是基于个人经验和直觉的个体捕捉阶段,其次是基于人类使用工具和协作的熟练程度的群体捕捉阶段。从独立搜索转向探索阶段的群体捕捉。开发阶段:所有渔民将围绕鱼群,共同作业以打捞剩余的鱼,这是一种集体捕获策略。

2.2算法过程

探索阶段(EFs/MaxEFs<0.5)
随着时间推移,鱼类减少导致捕捞率下降。渔民开始时独立搜索,后逐渐转为依赖群体包围策略。环境优势从鱼转移到渔民,体现在水浊度增加和鱼类可见度降低。这一转变通过捕捞率参数α模拟:
$$
\alpha=\left(1-\frac{3\times EFs}{2\times MaxEFs}\right)^{\frac{3\times EFs}{2\times MaxEFs}}\tag{1}
$$

独立搜索(p < a)
渔民在寻找鱼群时会扰动水面,造成混浊环境,并依据水面涟漪独立判断鱼群位置。他们根据捕捞情况调整探索策略:若本地捕捞情况良好,则集中本地搜索;若参考区域捕捞情况更佳,则向该方向搜索;个人捕捞良好时,执行反向搜索:
$$
\begin{aligned}
&Exp=\frac{fit_{i}-fit_{p}}{fit_{\mathrm{max}}-fit_{\mathrm{min}}} \
&R=Dis\times\sqrt{|Exp|}\times(1-\frac{EFs}{MaxEFs}) \
&Fisher_{i,j}^{T+1}=Fisher_{i,j}^{T}+\left(Fisher_{pos,j}^{T}-Fisher_{i,j}^{T}\right)\times Exp \
&+r_{\mathrm{s}}\times s\times R
\end{aligned}\tag{2}
$$

群体捕获(p>=a)
渔民利用渔网和协作策略增强捕鱼效率,通过形成小组包围鱼群。他们的移动会根据个人健康和团队互动调整,目标是减少移动偏差,提高探索精度:
$$
\begin{gathered}
Centre_{c}=mean(Fisher_{\mathrm{c}}^{\mathrm{T}}) \
Fisher_{c,i,j}^{T+1}=Fisher_{c,i,j}^{T}+r_{2}\times\left(Centre_{c}-Fisher_{c,j}^{T}\right) \
+\left(1-\frac{2\times EFs}{MaxEFs}\right)^{2}\times r_{3}
\end{gathered}\tag{3}
$$

开发阶段(EFs/MaxEFs>=0.5)
渔民通过统一策略和战略性合作提高捕捞效率,他们将散落和隐藏的鱼驱赶至集中地点进行包围。在捕鱼过程中,渔民分布以鱼群为中心,向外逐渐稀疏。中心渔民负责捕捞鱼群,外围渔民捕捞逃逸鱼:
$$
\begin{aligned}
&\sigma=\sqrt{\left(2\left(1-\frac{EFs}{MaxEFs}\right)/\left(\left(1-\frac{EFs}{MaxEFs}\right)^{2}+1\right)\right)}\
&Fisher_{i}^{T+1}=Gbest\
&+GD\left(0,\frac{r_{4}\times\sigma\times|mean(Fisher)-Gbest|}{3}\right)
\end{aligned}\tag{4}
$$
流程图

伪代码

3.结果展示

4.参考文献

[1] Jia H, Wen Q, Wang Y, et al. Catch fish optimization algorithm: a new human behavior algorithm for solving clustering problems[J]. Cluster Computing, 2024: 1-38.

5.代码获取

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号