(五)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB代码)

一、无人机模型简介:

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

参考文献:

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

二、高尔夫优化算法GOA简介

高尔夫优化算法(Golf Optimization Algorithm,GOA)由Montazeri Z等人于2023年提出,该算法模拟高尔夫运动过程中的球员击打高尔夫所采取的战术策略,能够有效平衡全局搜索和局部搜索的能力。

多目标优化算法:基于非支配排序的高尔夫优化算法(NSGOA)MATLAB-CSDN博客

参考文献:

[1] Montazeri Z, Niknam T, Aghaei J, Malik OP, Dehghani M, Dhiman G. Golf Optimization Algorithm: A New Game-Based Metaheuristic Algorithm and Its Application to Energy Commitment Problem Considering Resilience. Biomimetics. 2023; 8(5):386. Biomimetics | Free Full-Text | Golf Optimization Algorithm: A New Game-Based Metaheuristic Algorithm and Its Application to Energy Commitment Problem Considering Resilience

三、高尔夫优化算法GOA求解无人机路径规划

(1)部分代码

close all
clear  
clc
addpath('./Algorithm/')%添加算法路径
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=50; %最大迭代次数(可以修改)
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_score,Best_pos,curve]=GOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%算法优化求解
AlgorithmName='GOA';%算法名字
figure
semilogy(curve,'Color','r','linewidth',3)
xlabel('迭代次数');
ylabel('飞行路径长度');
legend(AlgorithmName)
display(['算法得到的最优适应度: ', num2str(Best_score)]); 
Position=[Best_pos(1:dim/3); Best_pos(1+dim/3:2*(dim/3)); Best_pos(1+(2*dim/3):end)]'; %优化点的XYZ坐标(每一行是一个点)
plotFigure(Best_pos,AlgorithmName)%画最优路径

(2)部分结果

无人机飞行路径坐标:

   1.0000000e+01   1.0000000e+01   8.0000000e+011.1820429e+01   1.0571462e+01   8.1472989e+011.3550647e+01   1.1085750e+01   8.2868815e+011.5193235e+01   1.1545531e+01   8.4189899e+011.6750774e+01   1.1953473e+01   8.5438661e+011.8225847e+01   1.2312246e+01   8.6617520e+011.9621034e+01   1.2624518e+01   8.7728897e+012.0938916e+01   1.2892956e+01   8.8775212e+012.2182075e+01   1.3120229e+01   8.9758885e+012.3353092e+01   1.3309007e+01   9.0682335e+012.4454549e+01   1.3461955e+01   9.1547984e+012.5489026e+01   1.3581745e+01   9.2358249e+012.6459105e+01   1.3671043e+01   9.3115553e+012.7367367e+01   1.3732517e+01   9.3822314e+012.8216394e+01   1.3768838e+01   9.4480953e+012.9008766e+01   1.3782671e+01   9.5093889e+012.9747066e+01   1.3776687e+01   9.5663543e+013.0433874e+01   1.3753553e+01   9.6192335e+013.1071772e+01   1.3715938e+01   9.6682685e+013.1663341e+01   1.3666510e+01   9.7137012e+013.2211163e+01   1.3607937e+01   9.7557737e+013.2717817e+01   1.3542888e+01   9.7947279e+013.3185887e+01   1.3474031e+01   9.8308059e+013.3617953e+01   1.3404034e+01   9.8642497e+013.4016596e+01   1.3335567e+01   9.8953013e+013.4384399e+01   1.3271296e+01   9.9242026e+013.4723941e+01   1.3213891e+01   9.9511956e+013.5037805e+01   1.3166020e+01   9.9765225e+013.5328571e+01   1.3130350e+01   1.0000425e+023.5598821e+01   1.3109552e+01   1.0023145e+023.5851137e+01   1.3106292e+01   1.0044926e+023.6088099e+01   1.3123239e+01   1.0066007e+023.6312289e+01   1.3163062e+01   1.0086633e+023.6526288e+01   1.3228429e+01   1.0107044e+023.6732677e+01   1.3322008e+01   1.0127484e+023.6934038e+01   1.3446468e+01   1.0148193e+023.7132953e+01   1.3604477e+01   1.0169413e+023.7332001e+01   1.3798702e+01   1.0191388e+023.7533765e+01   1.4031814e+01   1.0214358e+023.7740826e+01   1.4306480e+01   1.0238566e+023.7955766e+01   1.4625368e+01   1.0264254e+023.8181164e+01   1.4991146e+01   1.0291663e+023.8419604e+01   1.5406484e+01   1.0321036e+023.8673666e+01   1.5874049e+01   1.0352615e+023.8945931e+01   1.6396509e+01   1.0386642e+023.9238981e+01   1.6976534e+01   1.0423358e+023.9555396e+01   1.7616791e+01   1.0463007e+023.9897759e+01   1.8319949e+01   1.0505829e+024.0268651e+01   1.9088676e+01   1.0552066e+024.0670652e+01   1.9925641e+01   1.0601962e+024.1106345e+01   2.0833511e+01   1.0655757e+024.1578310e+01   2.1814956e+01   1.0713694e+024.2089128e+01   2.2872643e+01   1.0776015e+024.2641382e+01   2.4009241e+01   1.0842961e+024.3237652e+01   2.5227418e+01   1.0914776e+024.3880520e+01   2.6529842e+01   1.0991700e+024.4572567e+01   2.7919183e+01   1.1073975e+024.5316374e+01   2.9398108e+01   1.1161845e+024.6114522e+01   3.0969285e+01   1.1255550e+024.6969593e+01   3.2635383e+01   1.1355333e+024.7884168e+01   3.4399071e+01   1.1461436e+024.8860829e+01   3.6263016e+01   1.1574100e+024.9902156e+01   3.8229887e+01   1.1693569e+025.1010732e+01   4.0302353e+01   1.1820083e+025.2189136e+01   4.2483081e+01   1.1953884e+025.3439952e+01   4.4774740e+01   1.2095216e+025.4765759e+01   4.7179999e+01   1.2244319e+025.6169139e+01   4.9701525e+01   1.2401436e+025.7652674e+01   5.2341987e+01   1.2566809e+025.9218944e+01   5.5104054e+01   1.2740679e+026.0870532e+01   5.7990393e+01   1.2923290e+026.2610017e+01   6.1003674e+01   1.3114882e+026.4439983e+01   6.4146564e+01   1.3315697e+026.6363009e+01   6.7421732e+01   1.3525979e+026.8381678e+01   7.0831846e+01   1.3745968e+027.0498570e+01   7.4379574e+01   1.3975907e+027.2716267e+01   7.8067586e+01   1.4216038e+027.5037350e+01   8.1898548e+01   1.4466602e+027.7464401e+01   8.5875130e+01   1.4727842e+028.0000000e+01   9.0000000e+01   1.5000000e+02

四、完整MATLAB代码

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

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

相关文章

使用Pytorch从零开始实现CLIP

生成式建模知识回顾: [1] 生成式建模概述 [2] Transformer I,Transformer II [3] 变分自编码器 [4] 生成对抗网络,高级生成对抗网络 I,高级生成对抗网络 II [5] 自回归模型 [6] 归一化流模型 [7] 基于能量的模型 [8] 扩散模型 I, 扩散模型 II…

sublime Text使用

1、增加install 命令面板 工具(tool)->控制面板(command palette) -> 输入install ->安装第一个install package controller,以下安装过了,所以没展示 2、安装json格式化工具 点击install package,等几秒会进入控制面板&#xff0…

润申信息企业标准化管理系统 SQL注入漏洞复现

0x01 产品简介 润申信息科技企业标准化管理系统通过给客户提供各种灵活的标准法规信息化管理解决方案,帮助他们实现了高效的标准法规管理,完成个性化标准法规库的信息化建设。 0x02 漏洞概述 润申信息科技企业标准化管理系统 CommentStandardHandler.as…

高级I/O 基础概念

文章目录 什么是高级I/O五种常见高级I/O同步IO和异步IO多路转接是异步IO吗 什么是高级I/O 高级I/O(Advanced I/O)是指在计算机系统中进行输入和输出操作时使用的一种更高级的接口和技术。它提供了比传统的基本I/O操作更丰富和灵活的功能,以满…

echarts实现3D柱状图

效果如图 let setData function(data, constData, showData) {data.filter(function(item) {if (item) {constData.push(1);showData.push(item);} else {constData.push(0);showData.push({value: 1,itemStyle: {normal: {borderColor: "rgba(0,0,0,0)",borderWidt…

Day2 数组(二)

​ day2 2023.11.30 代码随想录 1. 977有序数组的平方 第二天做题就遇到点问题了,首先对于该题,简单的暴力平方排序肯定没问题,但一定不是我们要的最优解,我们争取在O(n)的时间复杂度内解决问题,发现对于一个初始数组…

传统算法:使用 Pygame 实现线性查找

使用 Pygame 模块实现了线性查找的动画演示。首先,它生成一个包含随机整数的数组,并通过 Pygame 在屏幕上绘制这个数组的条形图。接着,通过线性查找算法对数组进行查找,动画效果可视化每一步的变化。在查找的过程中,程序逐个遍历数组元素,如果找到目标值,将相应的元素高…

HarmonyOS应用开发者基础认证试题

判断题 1.Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。(true) 2.Tabs组件仅可包含子组件TabsContent,每一个页签对应一个内容视图即TabContet组件。(true) 3.使用http模块发起网络请求时&#…

最简单的链路追踪收集器

链路追踪可帮助您快速了解程序服务之间的调用关系,并快速洞悉内部发生的情况。主流的链路追踪系统有zipkin,jaeger,skywalking等,由于opentelemetry的存在,都具有opentelemetry的转换器。 我们利用opentelemetry来进行zipkin,jaeger,skywalk…

Vue H5页面长按保存为图片

安装依赖&#xff1a;npm install html2canvas -d <template><div class"index"><div id"captureId" class"capture" v-show"firstFlag"><ul><li>1</li><li>2</li><li>3<…

组合(回溯算法)

77. 组合 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 样例输入 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],…

Java项目学生管理系统二查询所有

学生管理 近年来&#xff0c;Java作为一门广泛应用于后端开发的编程语言&#xff0c;具备了广泛的应用领域和丰富的开发资源。在前几天的博客中&#xff0c;我们探讨了如何搭建前后端环境&#xff0c;为接下来的开发工作打下了坚实的基础。今天&#xff0c;我们将进一步扩展我…

B/S软件开发架构

1.简述 1. B/S框架&#xff0c;意思是前端(Browser 浏览器&#xff0c; 小程序&#xff0c;APP&#xff0c;自己写)和服务器端(Server)组成的系统的框架结构。 2. B/S架构也可理解为web架构&#xff0c;包含前端、后端、数据库三大组成部分。 2.前端 前端开发技…

什么是数据分析

数据分析是通过总结数据的规律来解决业务问题。数据分析包括如下几个主要内容&#xff1a; 现状分析&#xff1a;分析现在发生了什么 原因分析&#xff1a;分析为什么会发送这种情况 预测分析&#xff1a;预测未来会出现什么 数据分析的基本流程&#xff1a;获取数据&#…

【智力题】钟表的时针、分针、秒针每天重合多少次?

面试的时候遇到一个很好玩的问题&#xff1a;钟表的时针、分针、秒针每天重合多少次&#xff1f; 于是&#xff0c;matlab启动&#xff01; 我分成“指针跳变”、“指针连续”&#xff0c;两个版本进行仿真&#xff1a; 版本一&#xff1a;指针跳变 %% 解释钟表三指针重合问…

【NGINX--10】高可用性部署模式

1、NGINX Plus HA&#xff08;高可用性&#xff09;模式 需要高可用性负载均衡解决方案。 从 NGINX Plus 仓库中安装 nginx-ha-keepalived 包&#xff0c;利用 keepalived 实现 NGINX Plus 的 HA 模式。 详解 nginx-ha-keepalived 包基于 keepalived&#xff0c;管理暴露给客…

Python的集合模块,使用数据容器处理数据集合

大家好&#xff0c;Python是一种功能强大的编程语言&#xff0c;可以简化许多编程任务。它的标准库中有一个collections模块&#xff0c;提供了处理集合数据的有用容器数据类型。 ChainMap类将多个字典合并为一个映射。Counter类用于计算列表或其他可迭代对象中元素的出现次数…

距离向量路由协议——RIP

目录 动态路由动态路由简介为什么需要动态路由动态路由基本原理路由协议的分类 距离向量路由协议RIPv1RIP简介RIPv1的主要特征RIPv1的基本配置RIPv1配置案例被动接口单播更新使用子网地址 RIPv2RIPv2的基本配置RIPv2配置案例 RIPv2的高级配置与RIPv1的兼容性手工路由汇总触发更…

第四十一篇,一次matlab与spdlog的合作

做了一次matlab解析spdlog日志文件并动态绘制行车轨迹的尝试&#xff0c;大获成功。 spdlog的存储&#xff0c;数据头有固定格式如下&#xff1a; 日志类型一个字符空格[日期时间]空格[日志内容tag]空格日志内容 有了固定的格式&#xff0c;做解析就好办了。 &#xff08;日…

快速了解ChatGPT(大语言模型)

目录 GPT原理&#xff1a;文字接龙&#xff0c;输入一个字&#xff0c;后面会接最有可能出现的文字。 GPT4 学会提问&#xff1a;发挥语言模型的最大能力 参考李宏毅老师的课快速了解大语言模型做的笔记&#xff1a; Lee老师幽默的开场&#xff1a; GPT&#xff1a;chat Ge…