(六)基于高尔夫优化算法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+01
   1.0951749e+01   1.0964931e+01   8.0886341e+01
   1.1866404e+01   1.1859602e+01   8.1735889e+01
   1.2745345e+01   1.2686798e+01   8.2550078e+01
   1.3589950e+01   1.3449305e+01   8.3330341e+01
   1.4401601e+01   1.4149907e+01   8.4078111e+01
   1.5181676e+01   1.4791390e+01   8.4794821e+01
   1.5931554e+01   1.5376539e+01   8.5481904e+01
   1.6652617e+01   1.5908138e+01   8.6140794e+01
   1.7346242e+01   1.6388973e+01   8.6772924e+01
   1.8013811e+01   1.6821828e+01   8.7379727e+01
   1.8656702e+01   1.7209490e+01   8.7962636e+01
   1.9276295e+01   1.7554743e+01   8.8523085e+01
   1.9873969e+01   1.7860371e+01   8.9062506e+01
   2.0451105e+01   1.8129161e+01   8.9582333e+01
   2.1009082e+01   1.8363897e+01   9.0084000e+01
   2.1549279e+01   1.8567364e+01   9.0568939e+01
   2.2073077e+01   1.8742348e+01   9.1038583e+01
   2.2581854e+01   1.8891632e+01   9.1494366e+01
   2.3076991e+01   1.9018004e+01   9.1937721e+01
   2.3559867e+01   1.9124247e+01   9.2370082e+01
   2.4031861e+01   1.9213146e+01   9.2792881e+01
   2.4494353e+01   1.9287488e+01   9.3207551e+01
   2.4948724e+01   1.9350056e+01   9.3615527e+01
   2.5396352e+01   1.9403636e+01   9.4018240e+01
   2.5838617e+01   1.9451013e+01   9.4417125e+01
   2.6276898e+01   1.9494971e+01   9.4813614e+01
   2.6712576e+01   1.9538297e+01   9.5209141e+01
   2.7147030e+01   1.9583775e+01   9.5605139e+01
   2.7581640e+01   1.9634191e+01   9.6003041e+01
   2.8017785e+01   1.9692328e+01   9.6404281e+01
   2.8456844e+01   1.9760973e+01   9.6810291e+01
   2.8900198e+01   1.9842910e+01   9.7222505e+01
   2.9349226e+01   1.9940925e+01   9.7642356e+01
   2.9805307e+01   2.0057802e+01   9.8071277e+01
   3.0269822e+01   2.0196327e+01   9.8510701e+01
   3.0744150e+01   2.0359285e+01   9.8962062e+01
   3.1229670e+01   2.0549461e+01   9.9426794e+01
   3.1727763e+01   2.0769639e+01   9.9906328e+01
   3.2239807e+01   2.1022605e+01   1.0040210e+02
   3.2767182e+01   2.1311145e+01   1.0091554e+02
   3.3311269e+01   2.1638042e+01   1.0144808e+02
   3.3873446e+01   2.2006083e+01   1.0200116e+02
   3.4455093e+01   2.2418051e+01   1.0257621e+02
   3.5057590e+01   2.2876733e+01   1.0317466e+02
   3.5682316e+01   2.3384914e+01   1.0379794e+02
   3.6330652e+01   2.3945378e+01   1.0444750e+02
   3.7003976e+01   2.4560910e+01   1.0512476e+02
   3.7703668e+01   2.5234296e+01   1.0583115e+02
   3.8431109e+01   2.5968321e+01   1.0656811e+02
   3.9187677e+01   2.6765769e+01   1.0733707e+02
   3.9974752e+01   2.7629427e+01   1.0813947e+02
   4.0793714e+01   2.8562078e+01   1.0897673e+02
   4.1645942e+01   2.9566508e+01   1.0985030e+02
   4.2532816e+01   3.0645502e+01   1.1076160e+02
   4.3455716e+01   3.1801845e+01   1.1171207e+02
   4.4416021e+01   3.3038322e+01   1.1270314e+02
   4.5415111e+01   3.4357719e+01   1.1373624e+02
   4.6454365e+01   3.5762820e+01   1.1481281e+02
   4.7535163e+01   3.7256410e+01   1.1593428e+02
   4.8658886e+01   3.8841275e+01   1.1710209e+02
   4.9826911e+01   4.0520199e+01   1.1831766e+02
   5.1040619e+01   4.2295968e+01   1.1958244e+02
   5.2301390e+01   4.4171367e+01   1.2089784e+02
   5.3610603e+01   4.6149180e+01   1.2226532e+02
   5.4969638e+01   4.8232193e+01   1.2368629e+02
   5.6379875e+01   5.0423191e+01   1.2516219e+02
   5.7842692e+01   5.2724959e+01   1.2669447e+02
   5.9359470e+01   5.5140282e+01   1.2828454e+02
   6.0931588e+01   5.7671946e+01   1.2993384e+02
   6.2560426e+01   6.0322734e+01   1.3164381e+02
   6.4247364e+01   6.3095433e+01   1.3341588e+02
   6.5993780e+01   6.5992827e+01   1.3525149e+02
   6.7801056e+01   6.9017701e+01   1.3715205e+02
   6.9670570e+01   7.2172841e+01   1.3911902e+02
   7.1603701e+01   7.5461031e+01   1.4115382e+02
   7.3601831e+01   7.8885057e+01   1.4325788e+02
   7.5666337e+01   8.2447704e+01   1.4543265e+02
   7.7798600e+01   8.6151757e+01   1.4767954e+02
   8.0000000e+01   9.0000000e+01   1.5000000e+02


四、完整MATLAB代码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

防火墙补充NAT

目录 1.iptables保存规则 2.自定义链 3.NAT NAT的实现分为下面类型&#xff1a; SNAT实验操作 DNAT实验操作 1.iptables保存规则 永久保存方法一&#xff1a; iptables -save > /data/iptables_rule //输出重定向备份 iptables -restore < /data/iptables_r…

​[Oracle]编写程序,键盘输入n,计算1+前n项之和。测试案例:输入:10 输出:22.47​

编写程序&#xff0c;键盘输入n,计算1前n项之和。 测试案例&#xff1a; 输入&#xff1a;10 输出&#xff1a;22.47 代码如下&#xff1a; set serveroutput on declare v_sum number:0;v_n number;beginv_n:&n;for i in 1..v_n loopv_sum:v_sumsqrt(i); end loop; d…

View绘制

onDraw 绘制 canvas 画布 paint 画笔 坐标系 x y x 0 y 0 则屏幕左上角 y从上往下值增加 像素转换 dp2px 画线line drawLine 圆circle drawCircle drawPath: 在onSizeChanged 时候初始化 addCircle 添加圆 CW顺时针 CCW 逆时针 CW CCW填充规则不同 填充规则: 默认 …

关于项目时间与数据库中的时间不一致问题(少8个小时)

关于项目情况: 1.springboot项目 2.数据库为MySQL 3.数据库时间正常,与实际时间一致. 4.项目获取到的时间比数据库的时间少八个小时 原因是没有给日期格式设置时区,导致其变为世界时,比北京时间少八个小时 在application.yml 配置文件中添加时区属性; 配置文件路径 spri…

【复位与释放(亚稳态)模为60的BCD码计数器_2023.11.22】

复位与释放&#xff08;异步复位&#xff0c;同步释放&#xff09; 同步复位rst、同步置数load&#xff08;置数信号只有在时钟上升沿到来时才能生效&#xff09;、同步清零clr 同步复位&#xff1a; always(posedge clk) if(!rst_n) b<1’b0; else b<a; 同步复位信号rs…

〔005〕虚幻 UE5 像素流多用户部署

✨ 目录 ▷ 为什么要部署多用户▷ 开启分发服务器▷ 配置启动多个信令服务器▷ 配置启动客户端▷ 多用户启动整体流程和预览▷ 注意事项 ▷ 为什么要部署多用户 之前的像素流部署&#xff0c;属于单用户&#xff0c;是有很大的弊端的打开多个窗口访问&#xff0c;可以看到当一…

Linux 命令pwd

命令作用 pwd是Linux中一个非常有用而又十分简单的命令&#xff0c;pwd是词组print working directory的首字母缩写&#xff0c;即打印工作目录&#xff1b;工作目录就是你当前所处于的那个目录。 pwd始终以绝对路径的方式打印工作目录&#xff0c;即从根目录&#xff08;/&am…

百度地图JavaScript API GL获取经纬度,标记,添加文本标注,点击事件,封装

百度地图JavaScript API GL常用方法封装 引入百度js库 <script type"text/javascript" src"https://api.map.baidu.com/api?v1.0&typewebgl&ak自己的百度应用ak"></script>封装方法 <template><div class"map"&…

Vue3生命周期函数(简述题)

1.图示 2.说明 3.补充 1.在vue3组合式API中&#xff0c;我们需要将生命周期函数先导入&#xff0c;然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替

CTO对生活和工作一点感悟

陌生人&#xff0c;你好啊。 感谢CSDN平台让我们有了隔空认识&#xff0c;交流的机会。 我是谁&#xff1f; 我呢&#xff0c;毕业快11年&#xff0c;在网易做了几年云计算&#xff0c;后来追风赶上了大数据的浪潮&#xff0c;再到后来混迹在AI、智能推荐等领域。 因为有一颗…

增加F110 付款方式的随手记录

随便记录一下&#xff0c;基本上有这些信息可以了 为了保持PRD与测试机一致的银行代码&#xff0c;需要先在DEV&#xff0c;QAS 改成4 外部给号 主要都是在FBZP 开户行维护-FI12_HBANK/FI12 S4hana 里面有的没有办法在FI12 维护只能去NWBC NWBC&#xff1a;维护银行账户并关联…

软件测试简历怎么写?可以参考这份简历

个人简历 基本信息 姓名&#xff1a;名字 性别&#xff1a;男 年龄&#xff1a;25 学历&#xff1a;本科 联系电话&#xff1a…

C++: string的模拟实现

C: string的模拟实现 一.前置说明1.模拟实现string容器的目的2.我们要实现的大致框架 二.默认成员函数1.构造函数2.拷贝构造函数1.传统写法2.现代写法 3.析构函数4.赋值运算符重载1.传统写法2.现代写法 三.遍历和访问1.operator[]运算符重载2.iterator迭代器 四.容量相关函数1.…

【Vue3+Vite】解决build后空白页的问题

目录 Hash 模式 HTML5 模式&#xff08;历史模式&#xff09; 配置Nginx 配置Spring Boot Hash 模式 build后空白页的问题可能是使用的是历史模式&#xff0c;因为Vue是一个单页的客户端应用&#xff0c;如果没有适当的服务器配置&#xff0c;访问会得到一个 404 错误…

智慧水务系统在流域水环境规划中起到什么作用?

智慧水务系统在流域水环境规划中扮演着越来越重要的角色。作为一款集信息化、自动化、智能化、智慧化于一体的水务管理系统&#xff0c;智慧水务系统不仅能够提高水环境规划的效率&#xff0c;还能为水资源的保护和利用提供有力支持。 在流域水环境规划中&#xff0c;智慧水务系…

计算机硬件(一)

1.机箱 计算机的许多硬件,如主板,硬盘和电源等,都安放在固定机箱中。机箱是一个相对封闭的空间&#xff0c;箱体一般由钢和铝合金等金属制成(其他材料亦可用&#xff0c;但不多见),同时设有许多通风口,以促进箱内空气流动,防止内部温度过高&#xff0c;机箱的颜色,大小乃至形状…

c++ 中名空间中using 引入的细节

如果在引入名空间中的特定成员函数的时候&#xff0c; 全局不能定义同名的函数&#xff0c;但是其实只要参数不同就行 namespace a{int x 1;int fun(){return 0;} }using namespace a; using a::fun;void fun(int x) {} int x 10; int main() {fun(10); } 上面就是一个正确…

TZOJ 1378 发工资咯

答案&#xff1a; #include<stdio.h> int main() {int n 0, m 0, i 0, sum 0;while (scanf("%d", &n) && n ! 0) //多组数据输入并且不等于0{for (i 0; i < n; i) //有n名老师就循环n次{scanf("%d", &m); //该名老…

rabbitMQ对消息不可达处理-备份交换机/备份队列

生产者发送消息&#xff0c;在消息不可达指定队列时&#xff0c;可以借助扇出类型交换机&#xff08;之前写过消息回退的处理方案&#xff0c;扇出交换机处理的方案优先级高于消息回退&#xff09;处理不可达消息&#xff0c;然后放置一个备份队列&#xff0c;供消费者处理不可…

解压压缩包脚本

解压压缩包脚本 我们一般解压一个压缩包&#xff0c;需要三步&#xff1a; 1、打开压缩包。 2、点击解压文件。 3、选择解压目录解压到指定文件夹。 那么&#xff0c;怎么一步完成这些繁琐的操作呢&#xff1f;编写一个bat脚本即可&#xff0c;如下所示&#xff1a; 1、安装解压…