(一)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

news2024/12/26 0:05:41

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介

1、蜣螂优化算法DBO

蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为的启发所得。【精选】单目标优化:蜣螂优化算法(Dung beetle optimizer,DBO)_蜣螂算法_IT猿手的博客-CSDN博客

参考文献:Xue, J., Shen, B. Dung beetle optimizer: a new meta-heuristic algorithm for global optimization. J Supercomput (2022). Dung beetle optimizer: a new meta-heuristic algorithm for global optimization | SpringerLink

2、狐猴优化算法LO

狐猴优化算法(Lemurs Optimizer,LO)由Ammar Kamal Abasi等人于2022年提出,该算法模拟狐猴的跳跃和跳舞行为,具有结构简单,思路新颖,搜索速度快等优势。单目标应用:基于狐猴优化算法(Lemurs Optimizer,LO)的微电网优化调度MATLAB_IT猿手的博客-CSDN博客

参考文献:

[1]Abasi AK, Makhadmeh SN, Al-Betar MA, Alomari OA, Awadallah MA, Alyasseri ZAA, Doush IA, Elnagar A, Alkhammash EH, Hadjouni M. Lemurs Optimizer: A New Metaheuristic Algorithm for Global Optimization. Applied Sciences. 2022; 12(19):10057. Applied Sciences | Free Full-Text | Lemurs Optimizer: A New Metaheuristic Algorithm for Global Optimization

3、蜘蛛蜂优化算法SWO

蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。VRPTW(MATLAB):蜘蛛蜂优化算法SWO求解带时间窗的车辆路径问题VRPTW(提供参考文献及MATLAB代码)-CSDN博客

参考文献:

[1]Abdel-Basset, M., Mohamed, R., Jameel, M. et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm. Artif Intell Rev (2023). Spider wasp optimizer: a novel meta-heuristic optimization algorithm | SpringerLink

4、小龙虾优化算法COA

小龙虾优化算法(Crayfsh optimization algorithm,COA)由Jia Heming 等人于2023年提出,该算法模拟小龙虾的避暑、竞争和觅食行为,具有搜索速度快,搜索能力强,能够有效平衡全局搜索和局部搜索的能力。多目标优化算法:基于非支配排序的小龙虾优化算法(NSCOA)MATLAB_IT猿手的博客-CSDN博客

参考文献:

[1] Jia, H., Rao, H., Wen, C. et al. Crayfish optimization algorithm. Artif Intell Rev (2023). Crayfish optimization algorithm | SpringerLink

5、光谱优化算法LSO

光谱优化算法(Light Spectrum Optimizer,LSO)由Mohamed Abdel-Basset等人于2022年提出。MD-MTSP:光谱优化算法LSO求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_IT猿手的博客-CSDN博客

参考文献:

[1]Abdel-Basset M, Mohamed R, Sallam KM, Chakrabortty RK. Light Spectrum Optimizer: A Novel Physics-Inspired Metaheuristic Optimization Algorithm. Mathematics. 2022; 10(19):3466. Mathematics | Free Full-Text | Light Spectrum Optimizer: A Novel Physics-Inspired Metaheuristic Optimization Algorithm

6、开普勒优化算法KOA

开普勒优化算法(Kepler optimization algorithm,KOA)由Mohamed Abdel-Basset等人于2023年提出。五种最新优化算法(SWO、ZOA、EVO、KOA、GRO)求解23个基准测试函数(含参考文献及MATLAB代码)_swo算法_IT猿手的博客-CSDN博客

参考文献:

Mohamed Abdel-Basset, Reda Mohamed, Shaimaa A. Abdel Azeem, Mohammed Jameel, Mohamed Abouhawwash, Kepler optimization algorithm: A new metaheuristic algorithm inspired by Kepler’s laws of planetary motion, Knowledge-Based Systems, 2023. DOI: Redirecting

7、淘金优化算法GRO

淘金优化算法(Gold rush optimizer,GRO)由Kamran Zolf于2023年提出,其灵感来自淘金热,模拟淘金者进行黄金勘探行为。VRPTW(MATLAB):淘金优化算法GRO求解带时间窗的车辆路径问题VRPTW(提供参考文献及MATLAB代码)-CSDN博客

参考文献:

K. Zolfi. Gold rush optimizer: A new population-based metaheuristic algorithm. Operations Research and Decisions 2023: 33(1), 113-150. DOI 10.37190/ord230108

二、模型简介

单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客

参考文献:

[1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120

三、DBO、LO、SWO、COA、LSO、KOA、GRO求解无人机路径规划

(1)部分代码

close all
clear  
clc
、warning off;
%% 三维路径规划模型定义
global startPos goalPos N
N=2;%待优化点的个数(可以修改)
startPos = [10, 10, 80]; %起点(可以修改)
goalPos = [80, 90, 150]; %终点(可以修改)
SearchAgents_no=30; % 种群大小(可以修改)
Function_name='F1'; %F1:随机产生地图 F2:导入固定地图
Max_iteration=100; %最大迭代次数(可以修改)
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
AlgorithmName={'DBO','LO','SWO','COA','LSO','KOA','GRO'};%算法名称
addpath('./AlgorithmCode/')%添加算法路径
bestFit=[];%保存各算法的最优适应度值
for i=1:size(AlgorithmName,2)%遍历每个算法,依次求解当前问题
Algorithm=str2func(AlgorithmName{i});%获取当前算法名称,并将字符转换为函数
[Best_score,Best_pos,Convergence_curve]=Algorithm(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%当前算法求解
%将当前算法求解结果放入data中
data(i).Best_score=Best_score;%保存该算法的Best_score到data
data(i).Best_pos=Best_pos;%保存该算法的Best_pos到data
data(i).Convergence_curve=Convergence_curve;%保存该算法的Convergence_curve到data
bestFit=[bestFit data(i).Best_score];
end

%%  画各算法的直方图
figure 
bar(bestFit)
ylabel('无人机飞行路径长度');
set(gca,'xtick',1:1:size(AlgorithmName,2));
set(gca,'XTickLabel',AlgorithmName)
saveas(gcf,'./Picture/直方图.jpg') %将图片保存到Picture文件夹下面


%%  画收敛曲线
strColor={'r-','g-','b-','k-','m-','c-','y-'};
figure
for i=1:size(data,2)
plot(data(i).Convergence_curve,strColor{i},'linewidth',1.5)%semilogy
hold on
end
xlabel('迭代次数');
ylabel('无人机飞行路径长度');
legend(AlgorithmName,'Location','Best')
saveas(gcf,'./Picture/收敛曲线.jpg') %将图片保存到Picture文件夹下面


%% 显示三维图并保存
path=plotFigure(data,AlgorithmName,strColor);%path是各算法求解的无人机路径
saveas(gcf,'./Picture/路径曲线(三维).jpg') %将图片保存到Picture文件夹下面


%% 显示二维图并保存
view(2)
saveas(gcf,'./Picture/路径曲线(二维).jpg') %将图片保存到Picture文件夹下面

(2)部分结果

四、完整MATLAB代码

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

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

相关文章

SpringBoot 监控

概述 SpringBoot自带监控功能Actuator&#xff0c;可以帮助实现对程序内部运行情况监控&#xff0c;比如监控状况、Bean加载情况、配置属性、日志信息等。 使用步骤 导入依赖坐标 <dependency><groupId>org.springframework.boot</groupId><artifactI…

HCIA-经典综合实验(一)

经典综合实验&#xff08;一&#xff09; 实验拓扑配置步骤第一步&#xff1a;配置二层VLAN第二步&#xff1a;配置IP地址第三步&#xff1a;配置DHCP服务第四步&#xff1a;配置路由协议OSPF第五步&#xff1a;配置ACLNATTelnet 配置验证测试PC1能不能telnet登录到R1测试所有P…

Leetcode—765.情侣牵手【困难】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—765.情侣牵手 并查集置换环思路 参考自ylb 实现代码 class Solution { public:int minSwapsCouples(vector<int>& row) {int n row.size();int len n / 2;vector<int> p(len);iota(p.begin(), p.…

postman连接数据库

参考&#xff1a;https://blog.csdn.net/qq_45572452/article/details/126620210 1、安装node.js 2、配置环境变量 3、安装xmysql连接数据库cmd窗口输入"npm install -g xmysql"后回车cmd窗口输入"xmysql"后回车,验证xmysql是否安装成功(下图代表安装成功)…

算法通关村第八关-白银挑战二叉树的深度和高度问题

大家好我是苏麟 , 今天说说几道二叉树深度和高度相关的题目 . LeetCode给我们造了一堆的题目&#xff0c;研究一下104、110和111三个题&#xff0c;这三个颗看起来挺像的&#xff0c;都是关于深度、高度的。 最大深度问题 描述 : 二叉树的 最大深度 是指从根节点到最远叶子…

一文读懂微前端

1 语雀文档 https://www.yuque.com/chanwj/vlkwxk/qvpv3kqws5hno3qt?singleDoc# 《微前端》本文使用的参考文档均以链接方式粘贴于文章内&#xff0c;十分感谢~ 2 项目github链接 如果你觉得本文档对你有用&#xff0c;恳请github仓库给个star~https://github.com/OmegaCh…

在ant构建脚本中调用maven的命令

有时候想用maven管理依赖&#xff0c;用ant构建。 在ant的build.xml文件中可以使用exec这个task来调用系统命令&#xff0c;也就可以调用maven的命令。 例如&#xff0c;执行maven的命令mvn dependency:copy-dependencies&#xff0c;可以将项目的依赖提取出来&#xff0c;放…

菜单栏管理软件 Bartender 3 mac中文版功能介绍

​Bartender 3 mac是一款菜单栏管理软件&#xff0c;该软件可以将指定的程序图标隐藏起来&#xff0c;需要时呼出即可。 Bartender 3 mac功能介绍 Bartender 3完全支持macOS Sierra和High Sierra。 更新了macOS High Sierra的用户界面 酒吧现在显示在菜单栏中&#xff0c;使其…

TMSRL

Z是学到的子空间表征 辅助信息 作者未提供代码

红黑树插入节点的模拟实现

要学习红黑树节点的插入那么首先就要了解什么是红黑树&#xff0c;以及红黑树的特点。 红黑树的特点 本来AVL树已经很厉害了&#xff0c;但是红黑树的总体效率略比1AVL树高。高的大体原因。我们先来看一下红黑树和AVL树的区别。 AVL树严格的保证了左子树和右子树的高度差不超…

【面试经典150 | 位运算】位1的个数

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;循环检查二进制位方法二&#xff1a;位运算优化方法三&#xff1a;__builtin_popcount() 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…

docker启动某个镜像一直restarting状态

因为微服务学习的需要&#xff0c;就需要在虚拟机中安装一下Nacos&#xff0c;可哪儿能想到使用docker ps命令一直显示nacos的状态是restarting。 经过一番测试&#xff0c;发现并不是执行代码的问题。上网查了一下&#xff0c;也找不到合适的答案&#xff0c;终于查到了是doc…

Django视图函数和资源

文章目录 1.视图1.1 文件or文件夹1.2 相对和绝对导入urls1.3 视图参数1.4 返回值1.5 响应头1.6 FBV和CBV 2.静态资源2.1 静态文件2.2 媒体文件 1.视图 1.1 文件or文件夹 1.2 相对和绝对导入urls 注意实现&#xff1a;不要再项目根目录做相对导入。 原则&#xff1a; 绝对导入…

HPV专家谭巍主任讲述:家庭日常有效预防HPV病毒的办法

HPV&#xff0c;即人乳头瘤病毒&#xff0c;是一种常见且具有传染性的微小DNA病毒。可以通过直接接触感染&#xff0c;也可以通过间接接触感染。在家庭生活中&#xff0c;预防HPV病毒传播十分重要。为了提高大众防范意识&#xff0c;下面劲松HPV防治诊疗中心主任谭巍将介绍一些…

链表题(2)

链表题 今天给大家带来道链表题的练习 移除链表元素 这道题上篇文章已经解决过一次&#xff0c;这次我们换一个思路来解决这个问题。 先把链接给大家奉上&#xff1a; https://leetcode.cn/problems/remove-linked-list-elements/description/ 题目描述&#xff1a; 给你一个…

Leetcode100128. 高访问员工

Every day a Leetcode 题目来源&#xff1a;100128. 高访问员工 解法1&#xff1a;模拟 把名字相同的员工对应的访问时间&#xff08;转成分钟数&#xff09;分到同一组中。 对于每一组的访问时间 accessTime&#xff0c;排序后&#xff0c;判断是否有 accessTime[i] - ac…

【Git】工作中的留痕:分支及标签的超神搭配

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Git的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Git分支是什么 二.Git分支的使用 1.分…

CDN加速与网站服务器优化提速的区别

在当今数字化时代&#xff0c;网站性能成为了业务成功的关键因素之一。为了提升用户体验和页面加载速度&#xff0c;许多网站采取了不同的优化手段&#xff0c;其中CDN加速和网站服务器优化提速是两个重要的方向。然而&#xff0c;它们在实现高效网站性能方面有着不同的角色和功…

【Redis】redis-server和redis-cli

上一篇《redis 的下载和安装》 https://blog.csdn.net/m0_67930426/article/details/134341071?spm1001.2014.3001.5501 安装完之后开始使用 打开客户端之前需要先打开服务端 redis-server 直接使用该命令打开就行 然后在打开客户端 redis-cli 使用ping命令查看是否连接服…

ARM Linux 基础学习 / 系统相关,文件系统,文件属性

编辑整理 by Staok。 本文部分内容摘自 “100ask imx6ull” 开发板的配套资料&#xff08;如 百问网的《嵌入式Linux应用开发完全手册》&#xff0c;在 百问网 imx6ull pro 开发板 页面 中的《2.1 100ASK_IMX6ULL_PRO&#xff1a;开发板资料》或《2.2 全系列Linux教程&#xf…