【智能算法】大蔗鼠算法(GCRA)原理及实现

目录

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


1.背景

2024年,JO Agushaka受到自然界中大蔗鼠在交配季节和非交配季节觅食行为启发,提出了大蔗鼠算法(Greater Cane Rat Algorithm, GCRA)。

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

2.算法原理

2.1算法思想

GCRA是一种基于大蔗鼠觅食行为启发的元启发式优化算法,探索阶段:大蔗鼠在其领地内不同的庇护所之间移动以觅食,并留下路径,这模拟了算法中的全局探索过程,帮助寻找多个潜在的优化解。开发阶段:在交配季节,雄性大甘蔗鼠将自己与群体分开,集中在食物丰富的区域进行觅食。这模拟了算法中的局部搜索过程,即在找到的有希望区域内细致搜索以优化解。

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

2.2算法过程

GCRA根据ρ值进入勘探或开发阶段,ρ值是决定是否为雨季的变量:
x i , j n e w = 0. 7 ∗ ( x i , j + x k , j ) 2 (1) \mathbf{x_{i,j}^{new}}=0.7^{*}\frac{\left(\mathbf{x_{i,j}}+\mathbf{x_{k,j}}\right)}{2}\tag{1} xi,jnew=0.72(xi,j+xk,j)(1)
其中,Xk是最优个体。

探索阶段

大蔗鼠(GCR)在其领地内(沼泽、河岸和种植农田)散布着巢穴或浅洞作为庇护所。大蔗鼠在其领地内到处觅食,行走的鼠标代表支配性雄性的不同位置,而正在吃东西的鼠标代表找到的食物来源。假设支配性雄性保留有关这些路径的信息,其他鼠根据这些数据调整自己的位置。根据支配性雄性的位置,确定搜索空间中剩余鼠群的新位置:
x i , j n e w = x i , j + C × ( x k , j − r × x i , j ) (2) \mathbf{x_{i,j}^{new}}=\mathbf{x_{i,j}}+\mathbf{C}\times\begin{pmatrix}\mathbf{x_{k,j}}-\mathbf{r}\times\mathbf{x_{i,j}}\end{pmatrix}\tag{2} xi,jnew=xi,j+C×(xk,jr×xi,j)(2)
X i = { x i , j + C × ( x i , j − α × x k , j ) , F i n e w < F i x i , j + C × ( x m , j − β × x k , j ) , o t h e r w i s e (3) \mathbf{X_i}=\left\{\begin{array}{c}\mathbf{x_{i,j}}+\mathbf{C}\times\left(\mathbf{x_{i,j}}-\alpha\times\mathbf{x_{k,j}}\right),\mathbf{F_i^{new}}<\mathbf{F_i}\\\mathbf{x_{i,j}}+\mathbf{C}\times\left(\mathbf{x_{m,j}}-\beta\times\mathbf{x_{k,j}}\right),\mathbf{otherwise}\end{array}\right.\tag{3} Xi={xi,j+C×(xi,jα×xk,j),Finew<Fixi,j+C×(xm,jβ×xk,j),otherwise(3)
其中,α是一个模拟食物来源减少的系数,它迫使寻找新的食物来源或庇护所;β是促使GCR移动到繁殖区域内其他可用的丰富食物来源的系数。个参数表述为:
r = F x k − C i t e r × ( F x k M a x i t e r ) α = 2 × r × r a n d − r β = 2 × r × μ − r (4) \mathrm{r=F_{x_k}-C_{iter}\times\left(\frac{F_{x_k}}{Max_{iter}}\right)}\\ \mathrm{\alpha=2\times r\times rand-r}\\ \mathfrak{\beta}=2\times\mathfrak{r}\times\mathfrak{\mu}-\mathfrak{r}\tag{4} r=FxkCiter×(MaxiterFxk)α=2×r×randrβ=2×r×μr(4)

开发阶段

繁殖季节因栖息地而异,通常发生在雨季。已知雄性在繁殖季节会从群体中分离出来。假设一旦群体分开,觅食活动就会集中在食物资源丰富的区域内:
x i , j n e w = x i , j + C × ( x k , j − μ × x m , j ) (5) \mathbf{x_{i,j}^{new}}=\mathbf{x_{i,j}}+\mathbf{C}\times\begin{pmatrix}\mathbf{x_{k,j}}-\mathbf{\mu}\times\mathbf{x_{m,j}}\end{pmatrix}\tag{5} xi,jnew=xi,j+C×(xk,jμ×xm,j)(5)

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

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

4.参考文献

[1] Agushaka J O, Ezugwu A E, Saha A K, et al. Greater Cane Rat Algorithm (GCRA): A Nature-Inspired Metaheuristic for Optimization Problems[J]. Heliyon, 2024.

5.代码获取

智能算法,论文复现,算法应用(机器学习、二维&三维路径规划、UAV路径规划、布局优化、调度优化、VRP问题等),定制算法可以联系我~

资源清单

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

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

相关文章

保利威观看页SDK 官方VUE开源项目 polyv-web-live-watch-sdk

一、安装:node、npm 二、下载源码 polyv-web-live-watch-sdk: 保利威直播观看 SDK 官方文档:保利威帮助中心 进入项目根目录 npm ci #安装依赖,如果 CI 失败,请试一下 npm ci --no-cache --registry=https://registry.npmmirror.com/ npm run dev #启动项目 执行完成后…

Qt图标字体文件中提取字体保存为图片

本文借用别人写的一个IconHelper来做说明。 1. 加载一个字体文件 QScopedPointer<IconHelper> iconHelper(new IconHelper(":/fa-regular-400.ttf", "Font Awesome 6 Pro Regular"));构造函数 IconHelper::IconHelper(const QString &fontFile…

【基础】LwM2M 通讯协议

【基础】LwM2M 通讯协议 LwM2M 协议基础LwM2M 简介LwM2M 基本架构LwM2M 资源定义 LwM2M 协议实现开源协议实现Java LwM2M Client LwM2M 协议基础 LwM2M 简介 LwM2M 的全称为 Lightweight Machine-To-Machine&#xff0c;是一种适用于物联网设备的轻量级的通讯协议&#xff0c…

Flutter基础 -- Flutter布局练习(小项目)

目录 1. Splash 布局&#xff08;第一页&#xff09; 1.1 目标 1.2 当前效果图 1.3 创建 Splash 界面 1.4 设置 MaterialApp 1.5 设置 Splash 背景色 1.6 布局 Splash 界面 1.7 总结 2. Splash 圆角图片 2.1 目标 2.2 当前效果图 2.3 蓝湖下载图片 2.4 图片导入项…

在编程Python的时候发生ModuleNotFoundError: No module named distutils报错怎么办

1.先查看Python版本 首先我们先去打开终端就是先widr再输入cmd 然后进去在输入Python -V要注意大小写 我的版本是3.9.7版本但是我使用的PyCharm 是 2021.1.1 x64版本没有办法主动去识别因为这个版太低了你的Python版本很高所以无法识别 2.解决方法 只需要把你的Python现版…

微信公众号【原子与分子模拟】: 熔化温度 + 超导电性 + 电子化合物 + 分子动力学模拟 + 第一性原理计算 + 数据处理程序

往期内容主要涵盖&#xff1a; 熔化温度 超导电性 电子化合物 分子动力学模拟 第一性原理计算 数据处理程序 【1】熔化温度 分子动力学 LAMMPS 相关内容 【文献分享】分子动力学模拟 LAMMPS 熔化温度 晶体缺陷 熔化方法 LAMMPS 文献&#xff1a;金属熔化行为的局域…

vscode ctrl+鼠标左键无法跳转

打开设置&#xff0c;搜索intel…… 将这个智能感知改成default就可以了&#xff0c;我之前是在disable处。 分析了一下&#xff0c;其实跳转功能主要是根据上下文语法分析来实现的&#xff0c;并不是简单得全文匹配&#xff0c;因此需要相关得语法分析工具。 那么为什么默认式…

微软Edge浏览器深度解析:功能、同步、隐私与安全

微软Edge浏览器是微软公司开发的一款网页浏览器,它基于Chromium内核,提供了快速、安全和兼容性良好的网页浏览体验。以下是关于微软Edge浏览器的详细信息和使用指南: 微软Edge浏览器的主要特点: 1. 基于Chromium内核: 渲染引擎:Chromium内核是基于开源项目Blink的,它…

可视化数据科学平台在信贷领域应用系列五:零代码可视化建模

信贷风控模型是金融机构风险管理的核心工具&#xff0c;在信贷风险管理工作中扮演着至关重要的角色。随着信贷市场的环境不断变化&#xff0c;信贷业务的风险日趋复杂化和隐蔽化&#xff0c;开发和应用准确高效的信贷风控模型显得尤为重要。信贷风险控制面临着越来越大的挑战和…

问你为什么选择Kafka,你会怎么回答?

可靠的含义在百度百科的解释是&#xff1a;可以信赖、可以相信、可靠的朋友。那Kafka究竟是不是一个可靠的朋友呢&#xff1f;既然全世界绝大部分高可用系统都有Kafka的支持&#xff0c;Kafka必定有其过人之处&#xff0c;跟着我来分析分析。 另外多提一嘴Kafka在GitHub目前已…

六西格玛培训,带你解锁职场超能力工具!

当提及六西格玛培训的精髓时&#xff0c;我们不得不提到那些强大而实用的工具&#xff0c;它们如同探险者的指南针&#xff0c;引导我们走向卓越。今天&#xff0c;就让我们一起揭开这些神秘工具的面纱&#xff0c;探寻六西格玛背后的智慧。 首先&#xff0c;DMAIC流程是六西格…

cesium 漫游

token记得换成您自己的&#xff01;&#xff01;&#xff01; 申请cesium的token 官网【Cesium: The Platform for 3D Geospatial】 <template><div id"cesiumContatiner"><!-- <div id"mapContainer1"></div> --></di…

员工离职删除自己做的文件违法么?如何杜绝这种现象?

员工离职时删除自己做的文件是否违法&#xff0c;需要视情况而定&#xff1a; 如果删除的是个人自己的文件&#xff1a; 在这种情况下&#xff0c;员工删除的是自己制作的、不涉及公司机密或经营数据的个人文件&#xff0c;通常不会被视为违法行为。 如果删除的是公司的文件…

探索 CSV 模块:Python 中 CSV 数据持久化的最佳实践

&#x1f340; 前言 博客地址&#xff1a; CSDN&#xff1a;https://blog.csdn.net/powerbiubiu &#x1f44b; 简介 本章节介绍使用 CSV 文件来存储数据&#xff0c;CSV 文件是一种常见的数据格式&#xff0c;可以用来存储和交换表格数据。CSV 文件由一系列的行组成&#x…

SQL Developer管理RESTful 服务

RESTful 服务依赖于ORDS&#xff08;Oracle REST Data Services&#xff09;&#xff0c;所以在进行本实验前&#xff0c;请先确认数据库服务器上的ORDS服务已启动&#xff1a; $ systemctl status ords ● ords.service - Oracle REST Data ServicesLoaded: loaded (/etc/sys…

23中设计模式之一— — — —命令模式的详细介绍

命令模式 Command Pattern讲解 概念描述模式结构主要角色模式的UIM类图模式优点模式缺点应用场景实例演示类图代码演示运行结果 概念 命令模式&#xff08;别名&#xff1a;动作&#xff0c;事务&#xff09; 命令模式是一种行为设计模式&#xff0c;将一个请求封装为一个对象…

【qt】项目移植

项目移植 一.前言二.同名问题三.具体操作1.修改文件名2.修改类名3.修改一些不能自动改的名4.修改.ui文件5.删除原来自动生成的ui_xxx.h文件6.修改头文件 四.导入项目五.使用导入的项目六.项目建议 一.前言 终于概率论考完了,有时间了,接着上个项目,我们继续来完成我们的多窗口开…

【Pycharm】功能介绍

1.Code Reformat Code 格式化代码&#xff0c;可以帮助我们去自动调整空格等&#xff0c;根据python语法规范自动调整 2.Settings 1.创建py文件默认填充模版 3.读写py文件编码格式一致性 顶部代码指定的编码方式作用&#xff1a; 可以保证python2/3解释器在读取文件的时候按…

jmeter并发测试

目录 常用的压测工具jmeter安装配置并执行新建测试计划 Test Plan添加线程组练习01&#xff1a;共10个线程&#xff0c;每秒钟启动一个线程&#xff08;需要10秒&#xff09;&#xff0c;每个线程发送两个请求练习02&#xff1a;共10个线程&#xff0c;1秒中内启动完毕&#xf…

kali中安装、卸载程序教程

1、安装教程 ①、使用apt安装 apt update &#xff08;先更新apt&#xff09; apt-get install xxxx(xxx为需要安装的软件名)②、使用dpkg安装 dpkg –i deb的软件包名&#xff08;需要在软件包的目录下使用&#xff0c;不然就要把地址加上&#xff09;二、卸载教程 ①、使…