【论文复现|智能算法改进】基于多策略麻雀搜索算法的机器人路径规划

目录

    • 1.算法原理
    • 2.改进点
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.算法原理

【智能算法】麻雀搜索算法(SSA)原理及实现

2.改进点

改进的无限折叠迭代混沌映射

无限折叠迭代映射(ICMIC) 常用于图像加密方向的研究, 基本思想是首先生成[0,1]之间的混沌序列, 然后映射到整个种群搜索空间中, 完成种群的初始化。改进方式将π 进行小范围幅度的调整, 增加了种群的多样性, 减少了随机种群初始化中处于边界点的种群个数:
X n + 1 = sin ⁡ ( α ( λ F ( φ ) ) X n ) , α ∈ ( 0 , 1 ) (1) \boldsymbol{X}_{n+1}=\sin\biggl(\frac{\alpha\left(\lambda F\left(\varphi\right)\right)}{\boldsymbol{X}_n}\biggr),\alpha\in(0,1)\tag{1} Xn+1=sin(Xnα(λF(φ))),α(0,1)(1)
其中,参数为:
F ( φ ) = e φ 1 + e − φ (2) F\left(\varphi\right)=\frac{\mathrm{e}^{\varphi}}{1+\mathrm{e}^{-\varphi}}\tag{2} F(φ)=1+eφeφ(2)

在这里插入图片描述

改进的发现者更新公式

采用增加一个自适应惯性权重的方式来动态改变发现者的位置移动 , 通过增加自适应惯性权重, 使得改进后的发现者在前期的步长尽可能大, 到了迭代后期步长尽可能小, 使得收敛速度加快:
X i , d t + 1 = { μ X i , d t exp ⁡ ⁣ ⁣ ( − i α M ) , λ < S т μ X i , d t + Q L , λ ⩾ S т (3) \boldsymbol{X}_{i,d}^{t+1}=\begin{cases}\mu\boldsymbol{X}_{i,d}^t\exp\!\!\left(\frac{-i}{\alpha M}\right),&\lambda<S_\text{т}\\[2ex]\mu\boldsymbol{X}_{i,d}^t+Q\boldsymbol{L} ,&\lambda\geqslant S_\text{т}\end{cases}\tag{3} Xi,dt+1= μXi,dtexp(αMi),μXi,dt+QL,λ<SтλSт(3)
参数表述为:
μ = { ω t < t 0 ( 1 t ) ( 1 − 1 t ) , t 0 < t < M (4) \mu=\begin{cases}\omega&t<t_0 \\\\\left(\frac{1}{t}\right)^{\left(1-\frac{1}{t}\right)} ,&t_0<t <M\end{cases}\tag{4} μ= ω(t1)(1t1),t<t0t0<t<M(4)

改进的侦察者比例

侦察者的固定比例在整个种群面对危险时作用无法最大化, 基于此设计了一种自适应的侦察者比例关系, 迭代前期对于整个种群提供最大的比例系20%, 到迭代后期使侦察者的比例逐渐减少到10%, 在迭代进行到一半时能够保持警戒者的数量占全部种群的15%, 改进后的侦察者有利于在前期对全局的寻优, 侦察者的个体适应度值更高, 后期侦察者比例减少, 能够加快搜索度的同时更能让种群跳出局部最优, 不干扰对全局最优解的寻找。改进后的侦察者比例系数:
S D = 100 ( − tanh ⁡ ( 2 δ t M − δ ) l 1 + l 2 2 + l 1 − l 2 2 ) (5) S_\text{D}=100\biggl(-\tanh\biggl(\frac{2\delta t}{M}-\delta\biggr)\frac{l_1+l_2}2+\frac{l_1-l_2}2\biggr)\tag{5} SD=100(tanh(M2δtδ)2l1+l2+2l1l2)(5)

正弦余弦算法

针对侦察者在整个算法全局寻优起到的作用, 采用正弦余弦算法对侦察者的位置更新公式做出了改变, 并且引入了非常小的非线性学习因子对侦察者步长和最优位置的个体做出改进:
X i , d i + 1 = { S X b e s t ′ + a 1 sin ⁡ ( a 2 ) γ ∣ a 3 X i , d ′ − X b e s t ′ ∣ , f i > f g S X i , d ′ + a 1 cos ⁡ ( a 2 ) ( a 3 X i , d ′ − X w o r s t ′ ( f i − f w ) + ε ) , f i = f g (6) \mathbf{X}_{i,d}^{i+1}=\begin{cases}\text{S}\mathbf{X}_{\mathrm{best}}^{\prime}+a_{1}\sin(a_{2})\gamma |a_{3}\mathbf{X}_{i,d}^{\prime}-\mathbf{X}_{\mathrm{best}}^{\prime} | ,&f_{i}>f_{g}\\\text{S}\mathbf{X}_{i,d}^{\prime}+a_{1}\cos(a_{2})\Big(\frac{a_{3}\mathbf{X}_{i,d}^{\prime}-\mathbf{X}_{\mathrm{worst}}^{\prime}}{(f_{i}-f_{w})+\varepsilon}\Big),&f_{i}=f_{g}\end{cases}\tag{6} Xi,di+1={SXbest+a1sin(a2)γa3Xi,dXbest,SXi,d+a1cos(a2)((fifw)+εa3Xi,dXworst),fi>fgfi=fg(6)

流程图

在这里插入图片描述

3.结果展示

采用CEC2005测试集测试对GWO,SSA,DBO,ISSA算法进行测试对比:

在这里插入图片描述

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

二维栅格路径规划

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

4.参考文献

[1] 杨红,杨超.基于多策略麻雀搜索算法的机器人路径规划[J].沈阳大学学报(自然科学版),2024,36(02):141-152.

5.代码获取

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

资源清单:https://docs.qq.com/sheet/DU1V0QWtSeHJnY0JU?u=989d90f9b14449ec9419aa7b51473c1b&tab=BB08J2

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

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

相关文章

摸鱼大数据——Hive函数10-12

10、堆内存错误 报错&#xff1a; Error while processing statement: FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Java heap space 解决方案: 在node1上面操作即可 方式1: 找到/export/server/hive/conf/hive-env.sh,添…

CTF本地靶场搭建——静态flag题型的创建

静态flag题型的创建 首先这里要说的是静态flag和动态flag。 在CTF&#xff08;Capture The Flag&#xff09;比赛中&#xff0c;静态flag的使用通常与特定的赛制或题目类型关联&#xff0c;而不是直接与题型绑定。静态flag意味着这些flag是预先设定好的&#xff0c;不会随比…

MySQL 导出导入的101个坑

最近接到一个业务自行运维的MySQL库迁移至标准化环境的需求&#xff0c;库不大&#xff0c;迁移方式也很简单&#xff0c;由开发用myqldump导出数据、DBA导入&#xff0c;但迁移过程坎坷十足&#xff0c;记录一下遇到的各项报错及后续迁移注意事项。 一、 概要 空间问题源与目…

排序进阶----快速排序

当我们写了插入和希尔排序后&#xff0c;我们就应该搞更难的了吧。大家看名字就知道我们这篇博客的内容了吧。而且从名字上来看。快速排序就很快吧。那么为什么这个排序怎么能叫快速排序啊。我们希尔排序不是很快嘛。那么我们的快速排序肯定是有特殊之处嘞。不然这就太自负了。…

autodl服务器中YOLOx训练自己数据集

目录 本篇文章主要讲解使用YOLOx训练自己数据集&#xff0c;其中包括数据集格式转换~ 目录 一、数据集处理二、环境配置三、配置文件修改四、开始训练五、开始验证 一、数据集处理 第一步&#xff1a;将yolo格式的数据集转换成VOC格式 转换脚本&#xff1a;txt_to_xml.py f…

Unity DOTS技术(二)ECS

文章目录 一.ECS简介二.基本操作实例三.实体查看组件四.位置实体修改五.旋转实体六.了解原有属性七.禁止自动创建八.动态实例化 一.ECS简介 ECS全称 (Entity Component System).即(E:实体 C:组件 S:系统). 实际上即是数据方法分离.数据放在组件里,具体实现放在系统里.组件挂载…

Debian系统磁盘挂载

服务器推荐&#xff1a;雨云 优惠码&#xff1a;zsj 用优惠码注册账户并绑定微信后可获取首月5折优惠券&#xff1b; 后续新购主机也可在积分商城中换取新购优惠券&#xff1b; 公测阶段的超大带宽服务器&#xff0c;由于是国内主机因此需要备案域名。 公测阶段价格尚未确定&am…

google的chromedriver最新版下载地址

Chrome for Testing availability (googlechromelabs.github.io) 复制对应的地址跳转进去即可下载&#xff0c;下载前先看下自己google浏览器版本&#xff0c;找到对应的版本号去下载&#xff0c;把解压缩的exe放到google浏览器目录下。

使用python统计word文档页数

使用python统计word文档页数 介绍效果代码 介绍 使用python统计word文档的页数 效果 代码 import os import comtypes.clientdef get_word_page_count(docx_path):try:# Initialize the COM objectword comtypes.client.CreateObject(Word.Application)word.Visible False…

Nature Communications|柔性自驱动仿生眼(离子凝胶/仿生眼/柔性电子)

2024年4月10日,黄维(Wei Huang)院士、南京工业大学刘举庆(Juqing Liu)教授和刘正东(Zhengdong Liu)副教授课题组,在《Nature Communications》上发布了一篇题为“A bionic self-driven retinomorphic eye with ionogel photosynaptic retina”的论文,罗旭(Xu Luo)、陈晨(…

ESP-01S 使用 arduino 烧录程序

一、设置 arduino 编辑器 1、文件-首选项-附加开发版管理网址中添加 http://arduino.esp8266.com/stable/package_esp8266com_index.json 2、工具-开发板管理 搜索 8266 并下载 ) 3、工具-开发板 在 8266 里面选择 Generic ESP8266 Module 4、工具-端口 记得选择对应的端口 …

【简单讲解下Fine-tuning BERT,什么是Fine-tuning BERT?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

STM32作业实现(五)温湿度传感器dht11

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…

数据库(16)——DQL执行顺序

DQL的执行顺序 这是DQL的编写顺序。 而实际的执行顺序为

【LeetCode:575. 分糖果+ 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

职场思考-在行业坚守中实现个人增值(13)

滚石不生苔&#xff0c;转行不聚财 在自己工作几年后&#xff0c;职业竞争力会由专业能力向行业经验进行转化 如果你不具备足够的行业积累&#xff0c;即使在某个专业上有足够的能力&#xff0c;你也难以得到待遇或职位的提升&#xff0c;陷入高不成低不就的局面 掌握完成岗位工…

记一次SpringCloud OpenFeign 服务调用传递 token @Async 上下文信息获取失败

一、场景 在异步方法中使用了feign调用&#xff0c;发现提示“您还未登录或登录已失效”。那原因很明了就是我的登录信息没办法传入到feign的调用方法里。 二、考虑的解决办法 1&#xff09;尝试一&#xff1a;ServletRequestAttributes attributes (ServletRequestAttrib…

【C语言进阶】文件操作:文件的打开与文件的读写以及文本文件和二进制文件

目录 1、为什么使用文件 2、什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3、文件的打开和关闭 3.1文件指针 3.2文件的打开与关闭 4、文件的顺序读写 4.1 几个函数的区别 5、文件随机读写 5.1 fseek 5.2 ftell 5.3 rewind 6、文本文件和二进制文件…

springboot+vue+mybatis超市管理-简单版+PPT+论文+讲解+售后

使用旧方法对超市信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在超市信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。 这次开发的小型超市管理系统有管理员&…

探索DIYGW可视化开发工具:提升UniApp项目效率与质量的新途径

一、引言 在快速迭代和不断创新的移动应用开发领域中&#xff0c;开发者们常常面临着一个共同的挑战&#xff1a;如何在保证开发质量的同时&#xff0c;缩短开发周期。近期&#xff0c;一款名为DIYGW的可视化开发工具进入了我们的视野&#xff0c;它以其独特的拖拽式开发方式和…