五种算法(BWO、RUN、SO、HO、GWO)求解复杂城市地形下无人机路径规划,可以修改障碍物及起始点(MATLAB)

一、算法介绍

(1)白鲸优化算法BWO

参考文献:Zhong C, Li G, Meng Z. Beluga whale optimization: A novel nature-inspired metaheuristic algorithm[J]. Knowledge-Based Systems, 2022, 109215.

(2)龙格-库塔优化算法 RUN

参考文献: Iman Ahmadianfar, Ali Asghar Heidari, Amir H. Gandomi, Xuefeng Chu, Huiling Chen. RUN beyond the metaphor: An efficient optimization algorithm based on Runge Kutta method[J]. Expert Systems with Applications, 2021, 181(115079): 0957-4174.

(3)蛇优化算法SO

 参考文献:Hashim, F. A., & Hussien, A. G. (2022). Snake Optimizer: A novel meta-heuristic optimization algorithm.Knowledge-Based Systems, 108320.

(4)海马优化算法HO

参考文献:Zhao, S., Zhang, T., Ma, S. et al. Sea-horse optimizer: a novel nature-inspired meta-heuristic for global optimization problems. Appl Intell (2022). Sea-horse optimizer: a novel nature-inspired meta-heuristic for global optimization problems | Applied Intelligence

(5)灰狼优化算法GWO

参考文献:Seyedali Mirjalili,Seyed Mohammad Mirjalili,Andrew Lewis. Grey Wolf Optimizer[J]. Advances in Engineering Software,2014,69.

二、部分代码

close all
clear
clc
rng('default');
%% 载入数据
data.E=[50,950,12];     %起点位置 横坐标与纵坐标需为50的倍数
data.S=[950,50,1]; %终点点位置 横坐标与纵坐标需为50的倍数
data.Obstacle=xlsread('data1.xls');
data.numObstacles=length(data.Obstacle(:,1));
data.mapSize=[1000,1000,20]; %10m 地图尺寸
data.unit=[50,50,1]; %地图精度
data.S0=ceil(data.S./data.unit);
data.E0=ceil(data.E./data.unit);
data.mapSize0=data.mapSize./data.unit;
data.map=zeros(data.mapSize0);
%% 算法设置
SearchAgents_no=30; %  种群大小
Max_iteration=30;% 最大迭代次数
ColorStr={'r-','b--','c-.','g-.','m-'};%颜色
%% 画图
PlotFigure;
%% 显示路径信息
for i=1:length(AlgorithName)fprintf(AlgorithName{i});fprintf("路径坐标:\n");display(Result(i).path)fprintf(AlgorithName{i});fprintf("路径长度:%f\n",Result(i).fit);
end

三、部分结果

BWO路径坐标:
   950    50     1
   900   100     2
   850   150     3
   800   200     4
   750   200     5
   700   250     5
   650   300     6
   600   300     7
   550   300     7
   500   350     8
   500   400     8
   500   450     8
   500   500     8
   450   550     9
   450   600     9
   450   650     9
   400   700     9
   350   700     9
   300   750    10
   250   800    11
   200   850    12
   150   900    12
   100   900    12
    50   950    12

BWO路径长度:1419.322450
RUN路径坐标:
   950    50     1
   950    50     2
   900   100     3
   850   150     3
   800   200     4
   750   250     5
   700   250     6
   650   300     6
   600   300     7
   550   300     8
   500   350     8
   450   350     7
   450   400     8
   450   450     8
   500   500     9
   500   550    10
   500   600    11
   450   650    10
   400   700     9
   350   700    10
   300   700     9
   300   750    10
   250   700    11
   200   750    10
   150   800    11
   150   850    12
   100   900    13
    50   950    12

RUN路径长度:1591.137261
SO路径坐标:
   950    50     1
   900   100     2
   850   150     3
   800   200     4
   750   250     5
   700   300     6
   650   300     6
   600   300     6
   550   300     6
   500   350     7
   450   400     7
   450   450     7
   450   500     7
   450   550     7
   450   600     7
   450   650     7
   400   700     8
   350   700     8
   300   750     9
   250   800    10
   200   800    10
   150   800    10
   100   850    11
   100   900    11
    50   950    12

SO路径长度:1448.605915
HO路径坐标:
   950    50     1
   900   100     1
   850   150     2
   800   200     3
   750   250     4
   700   300     5
   650   300     5
   600   300     5
   550   300     5
   500   350     6
   450   400     7
   450   450     7
   450   500     7
   450   550     8
   450   600     8
   450   650     8
   400   700     9
   350   700     9
   300   750    10
   250   800    11
   200   850    12
   150   900    12
   100   950    12
    50   950    12

HO路径长度:1419.319522
GWO路径坐标:
   950    50     1
   900   100     1
   850   100     1
   800   100     1
   800   100     2
   800   100     3
   750   150     3
   800   200     2
   750   200     2
   700   250     3
   650   300     3
   600   300     4
   600   300     3
   550   300     3
   500   350     3
   500   400     4
   450   450     4
   450   500     4
   500   550     4
   550   600     5
   550   650     5
   500   650     6
   500   650     5
   450   650     6
   400   700     7
   350   700     8
   300   700     9
   250   700     9
   250   750     9
   250   750    10
   200   800    11
   200   800    12
   200   800    13
   200   850    13
   200   900    13
   150   950    13
   100   950    13
    50   950    12

GWO路径长度:1755.633484

四、完整MATLAB代码

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

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

相关文章

服务器数据恢复—RAID5磁盘阵列两块盘离线的数据恢复过程

服务器故障: 服务器中有一组由多块硬盘组建的raid5磁盘阵列,服务器阵列中2块硬盘先后掉线导致服务器崩溃。 服务器数据恢复过程: 1、将故障服务器中所有磁盘编号后取出,由硬件工程师对掉线的两块磁盘进行物理故障检测&#xff0c…

二层交换机与路由器连通上网实验

华为二层交换机与路由器连通上网实验 二层交换机是一种网络设备,用于在局域网(LAN)中转发数据帧。它工作在OSI模型的第二层,即数据链路层。二层交换机通过学习和维护MAC地址表,实现了数据的快速转发和广播域的隔离。 实…

java数据结构之数组系统了解

1.数组介绍 数组就是一个存储数据的容器,容器的长度固定、存储元素的数据类型固定。 跟变量加以区分:变量也可以存储数据,但是只能存一个值。当要存的数据比较多的时候,用变量就不方便了。我们就可以使用数组来存储。 1.1数组…

并发编程实现

一、并行编程 1、Parallel 类 Parallel类是System.Threading.Tasks命名空间中的一个重要类,它提供数据并行和任务并行的高级抽象。 For和ForEach Parallel类下的For和ForEach对应着普通的循环和遍历(普通的for和foreach),但执行时会尝试在多个线程上…

安防视频/视频汇聚系统EasyCVR视频融合云平台助力智能化酒店安防体系的搭建

一、背景需求 2024年“五一”假期,全国文化和旅游市场总体平稳有序。文化和旅游部6日发布数据显示,据文化和旅游部数据中心测算,全国国内旅游出游合计2.95亿人次。“五一”假期县域市场酒店预订订单同比增长68%,而酒店作为一个高…

SpringCloudAlibaba:4.3云原生网关higress的JWT 认证

概述 简介 JWT是一种用于双方之间传递安全信息的简洁的、URL安全的声明规范。 定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息,特别适用于分布式站点的单点登录(SSO)场景 session认证的缺点 1.安…

简单数据结构——栈和队列1(栈超全)(初始化,销毁,出栈入栈销毁实现,例题运用)

知识特点 类似数据表链表,在逻辑上依次存储,但对比顺序表和链表有所限制,不能随便存储 一定要先掌握顺序表的实现,本人博客有顺序表专栏大家可以自行查看,看懂顺序表专栏之后再来了解栈的实现会更容易懂。 如果还没…

使用DBeaver连接postgreSql提示缺少驱动

重新安装电脑之后用dbeaver链接数据库的时候,链接PG库一直提示缺少驱动,当选择下载驱动的时候又非常非常慢经常失败,尝试了一下更改源然后下载库驱动就非常快了,当然也包括dbeaver的自动更新。 方法:点击菜单栏【窗口…

闲来装个虚拟机Ubuntu24.04和硬盘分区及挂载

简述 最近ubuntu出新版本了,ubuntu24.04, 俗称高贵食蚁兽。5年前进行Android或者linux开发基本是在windows下的虚拟机中进行。目前,虽然物质基础提高了,功能有独立进行编译、代码管理的服务器了。可以通过ssh登录,但是…

Seata之AT 模式的使用

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Seata 是一款开源的…

ChIP-seq染色质图谱检测方法的局限性及改善方式

ChIP-seq是最广泛使用的染色质图谱检测方法,但有很大的局限性,具体表现为: 1.高细胞需求量; 2.低吞吐量; 3.技术困难; 4.高成本,深度测序; 5.数据质量差,变量大 CUT&…

使用CNN或resnet,分别在flower5,flower17,flower102数据集上实现花朵识别分类-附源码-免费

前言 使用cnn和resnet实现了对flower5,flower17,flower102数据集上实现花朵识别分类。也就是6份代码,全部在Gitee仓库里,记得点个start支持谢谢。 本文给出flower17在cnn网络实现,flower102在resnet网络实现的代码。…

docker私有仓库的registry

简介 Docker私有仓库的Registry是一个服务,主要用于存储、管理和分发Docker镜像。具体来说,Registry的功能包括: 存储镜像:Registry提供一个集中的地方来存储Docker镜像,包括镜像的层次结构和元数据。 版本控制&…

基于HSI模型的水下图像增强算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

【数据结构】-- 链表专题

链表的分类 前面我们实现了单链表,单链表只是链表的一种。可以根据以下几个标准来判断链表的类型: 1.单向或者双向 如图所示,单向链表中一个节点的指针域只储存了下一个节点的指针,能通过前一个节点访问后一个节点,无…

【4089】基于小程序实现的互动打卡系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

怎么写毕业论文的? 推荐4个AI工具

写作这件事一直让我们从小学时期就开始头痛,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,这玩意不…

短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发

短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发 搭建短视频矩阵系统源码的交付步骤可以概括为以下几个关键环节: 1. **系统需求分析**:明确系统需要支持的功能,如短视频的上传、存储、播放、分享、评论、点赞等。 2. **技术选…

Python深度学习基于Tensorflow(5)机器学习基础

文章目录 监督学习线性回归逻辑回归决策树支持向量机朴素贝叶斯 集成学习BaggingBoosting 无监督学习主成分分析KMeans聚类 缺失值和分类数据处理处理缺失数据分类数据转化为OneHot编码 葡萄酒数据集示例 机器学习的流程如下所示: 具体又可以分为以下五个步骤&#…

Python开源工具库使用之运动姿势追踪库mediapipe

文章目录 前言一、姿势估计1.1 姿态关键点1.2 旧版 solution API1.3 新版 solution API1.4 俯卧撑计数 二、手部追踪2.1 手部姿态2.2 API 使用2.3 识别手势含义 参考 前言 Mediapipe 是谷歌出品的一种开源框架,旨在为开发者提供一种简单而强大的工具,用…