【智能算法】小龙虾优化算法(COA)原理及实现

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2023年,Jia等人受到自然界小龙虾社会行为启发,提出了小龙虾优化算法(Crayfsh Optimization Algorithm, COA)。

2.算法原理

2.1算法思想

COA基于小龙虾社会行为,主要包括觅食行为、避暑行为和竞争行为。觅食行为和竞争行为是COA的开发阶段,避暑行为是COA的探索阶段。(PS:真香🤣
在这里插入图片描述

2.2算法过程

温度和摄入量

温度变化会直接影响小龙虾的行为,当温度超过30摄氏度时,它们更喜欢寻找凉爽的地方。在适宜的温度下(15摄氏度到30摄氏度),小龙虾会增加觅食活动,而最佳温度是25摄氏度。因此,小龙虾的摄取量可近似为正态分布:
p = C 1 × ( 1 2 × π × σ ) × exp ⁡ ( − ( t e m p − μ ) 2 2 σ 2 ) ) (1) p=C_1\times\left(\frac1{\sqrt{2\times\pi}\times\sigma)}\times\exp\left(-\frac{(temp-\mu)^2}{2\sigma^2}\right)\right)\tag{1} p=C1×(2×π ×σ)1×exp(2σ2(tempμ)2))(1)
其中,temp为小龙虾当前温度:
t e m p = r a n d × 15 + 20 (2) temp=rand\times15+20\tag{2} temp=rand×15+20(2)
在这里插入图片描述
避暑行为(探索阶段)

当温度>30时,温度过高,此时小龙虾就会选择加入洞穴过暑假:
X s h a d e = ( X G + X L ) / 2 (3) X_{shade}=(X_G+X_L)/2\tag{3} Xshade=(XG+XL)/2(3)
在这里插入图片描述
其中,XG表示迭个体最优位置,XL表示当前种群的最优位置。

当rand < 0.5时,表示没有其他小龙虾竞争洞穴,小龙虾将直接进入洞穴避暑:
X i , j t + 1 = X i , j t + C 2 × r a n d × ( X s h a d e − X i , j t ) (4) X_{i,j}^{t+1}=X_{i,j}^t+C_2\times rand\times\left(X_{shade}-X_{i,j}^t\right)\tag{4} Xi,jt+1=Xi,jt+C2×rand×(XshadeXi,jt)(4)
PS:综合式(3)来看,还是魔改PSO更新方式🤣

C2为递减递减因子,平衡探索与开发:
C 2 = 2 − ( t / T ) (5) C_{2}=2 - (t/T)\tag{5} C2=2(t/T)(5)
在避暑阶段,小龙虾的目标是靠近洞穴,这代表了最优解。它们会朝着洞穴靠近,使得个体更接近最优解,增强了COA的开发能力,从而使算法收敛更快。

竞争行为(开发阶段)

温度> 30,rand≥0.5时,表明其他小龙虾也对洞穴感兴趣:
X i , j t + 1 = X i , j t − X z , j t + X s h a d e (6) X_{i,j}^{t+1}=X_{i,j}^t-X_{z,j}^t+X_{shade}\tag{6} Xi,jt+1=Xi,jtXz,jt+Xshade(6)
z为小龙虾随机个体:
z = r o u n d ( r a n d × ( N − 1 ) ) + 1 (7) z=round(rand\times(N-1))+1\tag{7} z=round(rand×(N1))+1(7)
在竞争阶段,小龙虾相互竞争,小龙虾Xi根据另一只小龙虾的位置Xz调整自己的位置,扩大了COA的搜索范围,增强了算法的探索能力。

觅食行为(开发阶段)

温度≤30℃时,适合小龙虾摄食:
X f o o d = X G (8) X_{food}=X_G\tag{8} Xfood=XG(8)
在这里插入图片描述
其中,Q表述为:
Q = C 3 × r a n d × ( f i t n e s s i / f i t n e s s f o o d ) (9) Q=C_3\times rand\times(fitness_i/fitness_{food})\tag{9} Q=C3×rand×(fitnessi/fitnessfood)(9)
小龙虾对食物大小的判断来自于最大食物的大小。当Q > (C3+1)/ 2时,表示食物太大:
X f o o d = exp ⁡ ( − 1 Q ) × X f o o d (10) X_{food}=\exp\left(-\frac1Q\right)\times X_{food}\tag{10} Xfood=exp(Q1)×Xfood(10)
当食物被撕碎变小后,第二和第三只爪子会交替地捡起食物放进嘴里。这里采用正弦函数和余弦函数的组合来模拟交替过程:
X i , j t + 1 = X i , j t + X f o o d × p × ( cos ⁡ ( 2 × π × r a n d ) − sin ⁡ ( 2 × π × r a n d ) ) (11) X_{i,j}^{t+1}=X_{i,j}^t+X_{food}\times p\times(\cos{(2\times\pi\times rand)}-\sin{(2\times\pi\times rand)})\tag{11} Xi,jt+1=Xi,jt+Xfood×p×(cos(2×π×rand)sin(2×π×rand))(11)
当Q≤(C3 +1)/ 2时,小龙虾直接进食:
X i , j t + 1 = ( X i , j t − X f o o d ) × p + p × r a n d × X i , j t (12) X_{i,j}^{t+1}=\left(X_{i,j}^t-X_{food}\right)\times p+p\times rand\times X_{i,j}^t\tag{12} Xi,jt+1=(Xi,jtXfood)×p+p×rand×Xi,jt(12)

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试COA性能 一键run.m

  • 【智能算法】省时方便,智能算法统计指标——一键运行~

CEC2005-F8:
在这里插入图片描述
Friedamn检验排名:
在这里插入图片描述
CEC2005-F14:
在这里插入图片描述
Friedamn检验排名:
在这里插入图片描述
PS:COA中规中矩🤣

4.参考文献

[1] Jia H, Rao H, Wen C, et al. Crayfish optimization algorithm[J]. Artificial Intelligence Review, 2023, 56(Suppl 2): 1919-1979.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/807374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-TCP连接建立阶段错误应对机制

错误现象 丢包 网络问题&#xff1a;网络不稳定可能导致丢包&#xff0c;例如信号弱或干扰强。带宽限制可能导致路由器或交换机丢弃包&#xff0c;尤其是在高流量时段。网络拥塞时&#xff0c;多个数据流竞争有限的资源&#xff0c;也可能导致丢包。缓冲区溢出&#xff1a;TC…

网络安全之代码签名证书申请

代码签名&#xff0c;作为一种数字安全机制&#xff0c;对于软件开发、分发及用户使用环节具有至关重要的意义。以下从六大方面阐述代码签名必不可少的重要性&#xff1a; 确保代码来源可信&#xff1a; 代码签名如同软件的“身份证”&#xff0c;通过数字证书对开发者身份进…

微信被拉黑删除的提示差异和检测方法

拉黑 被拉黑的提示是“消息已发出&#xff0c;但被对方拒收了”。 拉黑方能发消息且被拉黑方能接到&#xff0c;被拉黑的人无法发送成功&#xff0c;并灰色字提示。 删除 仅删除的时候&#xff0c;才能发送消息时不是提示拒收&#xff0c;可“发送朋友验证”添加&#xff0…

头歌-机器学习 第11次实验 softmax回归

第1关&#xff1a;softmax回归原理 任务描述 本关任务&#xff1a;使用Python实现softmax函数。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.softmax回归原理&#xff0c;2.softmax函数。 softmax回归原理 与逻辑回归一样&#xff0c;softmax回归同样…

【星戈瑞】DBCO-NH2在生物成像技术中的应用

DBCO-NH2作为一种生物标记分子&#xff0c;在生物成像技术中发挥诸多应用作用。其点击化学反应特性使得它能够在生物体内进行特异的标记&#xff0c;从而为生物医学研究提供工具。 在生物成像技术中&#xff0c;DBCO-NH2常被用于标记生物分子&#xff0c;如蛋白质、核酸等。通…

Android 9.0 framework层实现app默认全屏显示

1.前言 在9.0的系统rom产品定制化开发中,在对于第三方app全屏显示的功能需求开发中,需要默认app全屏显示,针对这一个要求,就需要在系统启动app 的过程中,在绘制app阶段就设置全屏属性,接下来就实现这个功能 效果图如下: 2.framework层实现app默认全屏显示的核心类 fram…

【科研】搜索文献的网站

文章目录 paperswithcode【最新论文&#xff0c;代码】huggingface【大语言模型&#xff0c;最新论文】dblp【关键词搜索】arxiv【最新文章】semanticscholar【相关引用查询】connectedpapers【相关引用查询】github【工程&#xff0c;代码&#xff0c;论文开源代码】 paperswi…

mmdetection模型使用mmdeploy部署在windows上的c++部署流程【详细全面版】

0. 前置说明: 该文档适用于:已经使用mmdetection训练好了模型,并且完成了模型转换。要进行模型部署了。 1. 概述 MMDeploy 定义的模型部署流程,如下图所示: 模型转换【待撰写,敬请期待…】 主要功能是:把输入的模型格式,转换为目标设备的推理引擎所要求的模型格式…

andorid 矢量图fillColor设置无效

问题&#xff1a;andorid 矢量图fillColor设置无效 解决&#xff1a;去掉如下 android:tint一行

Ansys Zemax | 如何将光栅数据从Lumerical导入至OpticStudio(下)

附件下载 联系工作人员获取附件 本文介绍了一种使用Ansys Zemax OpticStudio和Lumerical RCWA在整个光学系统中精确仿真1D/2D光栅的静态工作流程。将首先简要介绍方法。然后解释有关如何建立系统的详细信息。 本篇内容将分为上下两部分&#xff0c;上部将首先简要介绍方法工作…

antdesign 1.7.8 vue2 table实现列合并

无分页&#xff0c;需要根据mac列进行列合并&#xff0c;最终效果如下所示&#xff1a; 核心实现如下&#xff1a; // 核心代码 const getRowspan (dataScroce, filed) > {let spanArr [];let position 0;dataScroce.forEach((item, index) > {if (index 0) {spanAr…

金三银四面试题(十九):MySQL中的锁

在MySQL中&#xff0c;锁是非常重要的&#xff0c;特别是在多用户并发访问数据库的环境中&#xff0c;因此也是面试中常问的话题。 请说说数据库的锁&#xff1f; 关于MySQL 的锁机制&#xff0c;可能会问很多问题&#xff0c;不过这也得看面试官在这方面的知识储备。 MySQL …

深入了解Redis——持久化

一&#xff0c;Redis持久化 Redis持久化即将内存中的数据持久化到磁盘中&#xff0c;在下一次重启后还能进行使用&#xff0c;Redis持久化分为RDB和AOF两种&#xff0c;我们接下来分别介绍RDB和AOF的内部原理和区别 RDB Redis运行时会将当前的内存快照存入至磁盘中&#xff…

./build/examples/openpose/openpose.bin在windows中调用

直接看这个更简单的方法&#xff1a;https://blog.csdn.net/weixin_45615730/article/details/137591825?spm1001.2014.3001.5501 问题描述&#xff1a; 在跑pifuhd&#xff0c;需要两个输入&#xff0c;一个图片&#xff0c;一个关键点json文件。这是人家给的例子&#xff0…

怎么开发一个预约小程序_一键预约新体验

预约小程序&#xff0c;让生活更便捷——轻松掌握未来&#xff0c;一键预约新体验 在快节奏的现代生活中&#xff0c;我们总是在不断地奔波&#xff0c;为了工作、为了生活&#xff0c;不停地忙碌着。然而&#xff0c;在这繁忙的生活中&#xff0c;我们是否曾想过如何更加高效…

邮件群发提高成功率的技巧?如何群发邮件?

邮件群发有哪些注意事项&#xff1f;怎么有效分析邮件群发效果&#xff1f; 邮件群发已经成为一种高效的信息传递手段。然而&#xff0c;很多人发现&#xff0c;尽管发送了大量的邮件&#xff0c;但回应率却并不理想。那么&#xff0c;如何才能在邮件群发中提高成功率呢&#…

只为兴趣,2024年你该学什么编程?

讲动人的故事,写懂人的代码 当你想学编程但不是特别关心找工作的时候,选哪种语言学完全取决于你自己的目标、兴趣和能找到的学习资料。一个很重要的点,别只学一种语言啊!毕竟,"门门都懂,样样皆通",每种编程语言都有自己的优点和适合的用途,多学几种可以让你的…

Day 20 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下&#xff1a; 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉…

【鸿蒙千帆起】《开心消消乐》完成鸿蒙原生应用开发,创新多端联动用户体验

《开心消消乐》已经完成鸿蒙原生应用开发&#xff0c;乐元素成为率先完成鸿蒙原生应用开发的20游戏厂商之一。作为一款经典游戏&#xff0c;《开心消消乐》已经拥有8亿玩家&#xff0c;加入鸿蒙原生应用生态&#xff0c;将为其带来更优的游戏性能和更多创新体验。自9月25日华为…

中国500米分辨率月最大EVI数据集

增强型植被指数&#xff08;EVI&#xff09;是在归一化植被指数&#xff08;NDVI&#xff09;改善出来的&#xff0c;根据大气校正所包含的影像因子大气分子、气溶胶、薄云、水汽和臭氧等因素进行全面的大气校正&#xff0c;EVI大气校正分三步&#xff0c;第一步是去云处理。第…