【智能算法】小龙虾优化算法(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…

推荐两个可以直接使用的ChatGPT 开源应用

freegpt35, FreeAskInternet 无需注册账号即可使用。 FreeAskInternet https://github.com/nashsu/FreeAskInternet git clone https://github.com/nashsu/FreeAskInternet.git cd ./FreeAskInternet docker-compose up -dfreegpt35 https://github.com/missuo/FreeGPT35 …

Android开发环境部署Windows环境变量

JAVA_HOME C:\Program Files\Java\jdk-17 Path 里增加%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin CLATHPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

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

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

Python的re模块

re模块中的常用方法 Python中的正则表达式处理模块是re,re模块比较简单,包括以下几个方法: 查找 re.search():查找符合模式的字符,只返回第一个匹配到的,返回Match对象,匹配不到返回None re.match():和search一样,但要求必须从字符串开头匹配 re.findall():返回所有…

【星戈瑞】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…

Recommended Books:《Pride and Prejudice》

Recommended Books&#xff1a;《Pride and Prejudice》 Author Introduction: Jane Austen, born on December 16, 1775, in Steventon, England, is one of the most renowned English novelists of all time. Her works, including “Pride and Prejudice,” are known for…

【科研】搜索文献的网站

文章目录 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一行

零基础考24上软考高级要备考多久呢?

对于零基础考软考高级的考生来说&#xff0c;备考时间是一个关键问题。 软考高级是国家信息技术行业的专业资格认证&#xff0c;对考生的能力要求较高&#xff0c;因此需要一定的备考时间来充分准备。那么&#xff0c;针对零基础考软考高级的考生&#xff0c;需要备考多久呢&a…

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…

【Linux】tcpdump P1 - 网络过滤选项

文章目录 选项 -D选项 -c X选项 -n选项 -s端口捕获 port选项 -w总结 tcpdump 实用程序用于捕获和分析网络流量。系统管理员可以使用它来查看实时流量或将输出保存到文件中稍后分析。本文将演示在日常使用 tcpdump时可能想要使用的几种常见选项。 选项 -D 使用-D 选项的 tcpdu…