【论文复现|智能算法改进】基于改进鲸鱼优化算法的移动机器人多目标点路径规划

目录

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


1.算法原理

SCI二区|鲸鱼优化算法(WOA)原理及实现【附完整Matlab代码】

2.数学模型

使用 A* 算法生成所有目标点之间的距离矩阵U:
U = [ d 1 − 1 d 1 − 2 d 1 − 3 ⋯ d 1 − i d 2 − 1 d 2 − 2 d 2 − 3 ⋯ d 2 − i d 3 − 1 d 3 − 2 d 3 − 3 ⋯ d 3 − i ⋮ ⋮ ⋮ ⋱ ⋮ d j − 1 d j − 2 d j − 3 ⋯ d j − i ] U=\begin{bmatrix}d_{1-1}&d_{1-2}&d_{1-3}&\cdots&d_{1-i}\\d_{2-1}&d_{2-2}&d_{2-3}&\cdots&d_{2-i}\\d_{3-1}&d_{3-2}&d_{3-3}&\cdots&d_{3-i}\\\vdots&\vdots&\vdots&\ddots&\vdots\\d_{j-1}&d_{j-2}&d_{j-3}&\cdots&d_{j-i}\end{bmatrix} U= d11d21d31dj1d12d22d32dj2d13d23d33dj3d1id2id3idji
其中,di-j为第i个目标点到第j个目标点 A* 算法所规划路径的实际距离。
多目标点路径规划问题可表述为:移动机器人需要遍历n个目标点,且每个目标仅被遍历一次,目的是求一条经过所有目标点的最短路径。
V = ∑ i = 1 , i = 1 n x ( l i , l j ) V=\sum_{i=1, i=1}^nx\Big(l_i,l_j\Big) V=i=1,i=1nx(li,lj)

3.改进点

自适应搜索控制系数

在标准鲸鱼优化算法中,系数向量C为均匀分布在[0,2] 内的随机数,是一个控制搜索速率的参数,故C值是在每次迭代时随机生成的,这可能导致搜索行为较为随机,无法充分平衡算法全局搜索和局部搜索的能力,从而导致
收敛精度不足。本文提出一种自适应搜索控制系数动态调整:
C = 2 k ⋅ ( 1 − i / i max ⁡ ) C=2k\cdot\begin{pmatrix}1-i / i_{\max}\end{pmatrix} C=2k(1i/imax)

记忆库列表策略

添加一个记忆库列表,使算法能够记录迭代过程中遇到过的当前最优解。
PS:个人感觉用处不大🤣

再加入一种自己提出的创新改进策略A

4.结果展示

在这里插入图片描述

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

5.参考文献

[1] 王步伟,潘鹏程.基于改进鲸鱼优化算法的移动机器人多目标点路径规划[J].机器人技术与应用,2023,(06):14-19.

6.代码获取

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

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

相关文章

【算法训练记录——Day28】

Day28——回溯算法Ⅳ 1.复原IP地址2.[全排列](https://leetcode.cn/problems/permutations/submissions/539240290/)3.[全排列Ⅱ](https://leetcode.cn/problems/permutations-ii/description/) ● 93.复原IP地址 ● 78.子集 ● 90.子集II 1.复原IP地址 思路:相当于…

【C语言】二维数组(详解)

目录 1. 二维数组的创建 1.1 二维数组的概念 1.2 二维数组的创建 2. 二维数组的初始化 2.1 不完全初始化 2.2 完全初始化 2.3 按照行初始化 2.4 初始化时能省略行,但不能省略列 3. 二维数组的使用 3.1 二维数组下标 3.2 二维数组…

将Firefox插件导入Edge/Chrome中

目录 将Firefox插件导入Edge/Chrome中前言导出火狐插件.xpi格式插件导入edge/chorme中错误示范1错误示范2修改过程manifest.jsondict文件夹修改backgroundScript.jsinjectedScript.jsdebug过程最终backgroundScript.js和injectedScript.js代码 完工阶段修改后的源码 将Firefox插…

DS1338/PT7C4338串行实时时钟-国产兼容RS4C1338

RS4C1338串行实时时钟(RTC)是一种低功耗、全二进制编码十进制(BCD)时钟/日历加上56字节NV SRAM。地址和数据通过I2C接口串行传输。时钟/日历提供秒、分钟、小时、天、日期、月份和年份信息。对于少于31天的月份,月末日…

这款神器可以让屏幕截图变为HTML代码!!【送源码】

今天的开源项目是「screenshot-to-code」——这就是那个能够将截图转化为HTML/JS/Tailwind CSS代码的项目。 利用GPT-4 Vision生成代码、结合DALL-E 3生成相似的图片。 「项目的独特之处:」 「1. 屏幕截图即代码:」 将屏幕截图瞬间转变为可运行的HTML/…

区间合并——Acwing.803区间合并

区间合并 定义 区间合并是指将一组有重叠或相邻的区间合并成一个或多个更大的区间。 运用情况 图像处理:在图像的区域分析中,可能需要将相邻的具有相似特征的区域进行合并。时间区间处理:比如将多个连续时间段进行合并。行程规划&#xf…

发布中文文档类资源仓库-ChineseDocumentPDF

引言 今天中午,排队打饭间隙,刷到新闻,说是:360AILAB-NLP团队开源了中文论文、研报文档场景的轻量化版式分析模型360LayoutAnalysis。 面向中文论文及研报两个场景的轻量化版式分析模型已经开源: Github地址&#x…

Gi标签管理

文章目录 前言理解标签创建标签操作标签总结 前言 理解标签 标签,可以理解为对某次commit的一次标识,相当于起起了一个别名。 例如,在项目发布某个版本时候,针对最后一次commit起一个v1.0这样的标签来标识里程碑的意义。 这有什…

论文《Federated Social Recommendation with Graph Neural Network》阅读

论文《Federated Social Recommendation with Graph Neural Network》阅读 论文概况IntroMethodology问题形式化FeSoG本地图设计本地差分隐私Pseudo-Item Labeling 模型优化模型训练 论文总结 论文概况 今天总结一下最近阅读的关于联邦社会化推荐的论文《Federated Social Rec…

第五讲:51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

51单片机驱动控制彩屏系列讲座 第一讲:单片机STC89C52RA8889驱动控制彩屏【 源码v1.0 】 第二讲:单片机STC89C52RA8889驱动控制彩屏 代码移植介绍 第三讲:单片机STC89C52RA8889驱动控制彩屏 代码的压缩(Keil编译器) 第…

phpstudy的安装dvwa

phpstudy安装dvwa 1. 下载phpstudy Windows版phpstudy下载 - 小皮面板(phpstudy) (xp.cn) 2. 搭建dvwa靶场 下载地址:https://github.com/ethicalhack3r/DVWA/archive/master.zip 将其放入www文件夹中 3. 修改配置文件 将\DVWA-master\config中config.inc.php…

STL-常用容器

3.1.1. string基本概念 本质: string是C风格的字符串,char*是C语言风格的字符串string本质上是一个类 string和char*的区别: char*是一个指针string是一个类,类内部封装并负责管理char*,是一个char*型的容器 特点&a…

ISCC2024 winterbegins

首先,用IDA打开程序,看到一大堆while(1)又套着while(1)的结构,肯定是控制流平坦化了,我们可以使用IDA插件d810去掉。 现在程序就好看多了。如果IDA没有显示这堆中文字符串,可以考虑使用IDA8.3,就可以显示…

stm32_HAL_CAN(特点:广播试,检测线路是否空,id有优先级)

UART I2C SPI 介绍 CAN(Controller Area Network)接口是一种常用于嵌入式系统中的通信接口,尤其在汽车和工业领域。它由Robert Bosch GmbH在1986年开发,旨在提供一种可靠、高效、灵活的车载通信网络。CAN总线的主要 特点包括&am…

eNSP学习——配置高级的访问控制列表

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建OSPF网络 3、配置Telnet 4、配置高级ACL控制访问 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PDF版_ensp配置命令大全资源-…

数据结构01 栈及其相关问题讲解

栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”。 栈及其特点 用一个简单的例子来说,栈就像一个放乒乓球的圆筒,底部是封住的,如果你想…

【简单介绍下Sass,什么是Sass?】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Linux:多线程的操作

多线程操作 进程与线程线程的创建 create_pthread创建线程池给线程传入对象的指针 线程等待 pthread_join退出线程 pthread_exit线程等待参数 retval 与 线程退出参数 retval 线程中断 pthread_cancel获取线程编号 pthread_self线程分离 pthread_detach 进程与线程 进程是资源…

史上最全,呕心沥血总结oracle推进SCN方法(八)

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享。前面介…

17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期

17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期 文章目录 17-C语言中的变量生命周期——自动存储期、青苔存储期、自定义存储期一、自动存储期示例 二、静态存储期2.1 示例 三、自定义存储期3.1 如何申请内存3.2 如何释放内存3.3 如何清空内存3.4 示例 概念…