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

一、七种算法(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.rhkb.cn/news/191377.html

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

相关文章

优雅的Java编程:将接口对象作为方法参数

theme: smartblue 目录 概述 在Java编程中,方法的参数传递方式通常是通过基本类型、对象引用或者集合等方式。然而,一种更加优雅且灵活的设计模式是将接口对象作为方法的参数。这种方式为我们带来了许多好处,包括降低耦合性、实现多态性和可…

虚拟局域网

虚拟局域网(VLAN) VLAN建立于交换技术的基础之上 广播域(broadcast domain):其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收,这部分网络就叫广播域利用以太网交换机可以很方便地实现虚拟局域网VLAN(Virtual LAN)对于一个主机和…

andorid 日历选择器

先看效果图: 主要代码 package com.example.flyimport android.annotation.SuppressLint import android.content.Context import android.graphics.Color import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import…

JavaWeb Day10 案例 准备工作

目录 一、需求说明 二、环境搭建 (一)数据库 (二)后端 ①controller层 1.DeptController.java 2.EmpController.java ②mapper层 1.DeptMapper.java 2.EmpMapper.java ③pojo层 1.Dept.java 2.Emp.java 3.Result.ja…

邻里注意Transformer(CVPR2023)

Neighborhood Attention Transformer 摘要1、介绍2、相关工作2.1 新的卷积基线 3、方法3.1 邻居注意力3.2 Tiled NA and NATTEN3.3 邻居注意力Transformer 4、结论 代码 摘要 我们提出邻居注意力(NA),第一个有效和可伸缩的滑动窗口的视觉注意机制。 NA是一种像素级…

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 注意实现:不要再项目根目录做相对导入。 原则: 绝对导入…

通过docker-compose部署elk日志系统,并使用springboot整合

ELK是一种强大的分布式日志管理解决方案,它由三个核心组件组成: Elasticsearch:作为分布式搜索和分析引擎,Elasticsearch能够快速地存储、搜索和分析大量的日志数据,帮助用户轻松地找到所需的信息。 Logstash&#xf…

Jenkins 构建CICD

GitLab GitLab安装 https://gitlab.cn/install/?versionce CentOS 下安装 1. 安装和配置必须的依赖项 在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab&#xf…

上课笔记(11.11之前笔记)

一.数据结构的分类 1.数据结构中分为四大类:线性表,哈希表,树,图。 2.线性表(line table):呈现线性结构的一种数据结构。具有顺序性,也就是所有数据都是有序的; 数组&…

Mozilla 面向基于 Debian 的 Linux 发行版

导读Mozilla 公司今天发布新闻稿,表示面向 Debian、Ubuntu 和 Linux Mint 等基于 Debian 的发行版,推出了.deb 格式的 Firefox Nightly 浏览器安装包,便于用户在上述发行版中更轻松地安装。 本次更新的亮点之一在于采用 APT 存储库&#xff0…

C++20 Text formatting

C20 Text formatting 格式化字符串&#xff0c; 和 python 类似。 std::formatter - cppreference.com string — Common string operations — Python 3.12.0 documentation 新格式库位于 <format> 头文件中。格式库基于 Python3 中的 str.format() 方法建模。格式…

css实现元素四周阴影

前言 首先确定的是需要使用box-shadow这一属性 语法如下&#xff1a; box-shadow: h-shadow v-shadow blur spread color inset; h-shadow&#xff1a;表示水平方向上的阴影偏移量&#xff0c;必须指明&#xff0c;可以是正数、负数、0&#xff0c;如果为正数左方有阴影&…

Spring全家桶源码解析--2.3 Spring bean 的依赖注入--@Autowired@Value

文章目录 前言一、Autowired&Value&#xff1a;1.1 Autowired&#xff1a;1.2 Value&#xff1a; 二、依赖注入&#xff1a;2.1 注入点获取&#xff1a;2.2 通过 populateBean 入口依赖注入2.2.1 populateBean &#xff1a;主要通过 postProcessProperties 方法进行依赖注入…

医院安全(不良)事件管理系统源码 不良事件报告全套源码

不良事件管理系统是一种专为企业或组织设计的软件工具&#xff0c;用于跟踪、记录和管理不良事件。该系统可以有效地整合不良事件的收集、分类、分析和报告&#xff0c;帮助企业及时识别和处理不良事件&#xff0c;从而降低风险和损失。通过实时监控和自动化报告&#xff0c;该…

论文精读 MediaPipe Hands

MediaPipe Hands:On-device Real-time Hand Tracking MediaPipe手势&#xff1a;设备上的实时手势跟踪 论文地址&#xff1a;2006.10214.pdf (arxiv.org) 源码地址&#xff1a;GitHub - vidursatija/BlazePalm: PyTorch 目录 摘要 介绍 架构 BlazePalm Detector Hand L…

蓝桥杯算法心得——拼数(排列型回溯dfs)

大家好&#xff0c;我是晴天学长&#xff0c;排列型的dfs&#xff0c;在一些需要暴搜的题中很中很重要&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .拼数 2) .算法思路 超级递归 1.遍历数组&#…

玩了个锤子游戏小程序搭建流程:探索深度与逻辑的结合

随着移动互联网的普及&#xff0c;小程序已经成为了越来越多用户的选择。在这个背景下&#xff0c;玩了个锤子游戏小程序应运而生&#xff0c;它为用户提供了一个全新的游戏体验。那么&#xff0c;如何搭建这样一个小程序呢&#xff1f;本文将为大家详细介绍玩了个锤子游戏小程…

GoLong的学习之路(二十三)进阶,语法之并发(go最重要的特点)(锁,sync包,原子操作)

这章是我并发系列中最后的一章。这章主要讲的是锁。但是也会讲上一章channl遗留下的一些没有讲到的内容。select关键字的用法&#xff0c;以及错误的一些channl用法。废话不多说。。。 文章目录 select多路复用通道错误示例并发安全和锁问题描述互斥锁读写互斥锁 syncsync.Wait…

go学习之接口知识

文章目录 接口1.接口案例代码展示2.基本介绍3.基本语法4.应用场景介绍5.注意事项和细节6.接口编程经典案例7.接口与继承之间的比较8.面向对象编程--多态1&#xff09;基本介绍2&#xff09;快速入门3&#xff09;接口体现多态的两种形式 9.类型断言1&#xff09;先看一个需求2&…