(四)基于高尔夫优化算法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.1376377e+01   1.1081252e+01   8.1066953e+011.2685431e+01   1.2078936e+01   8.2073506e+011.3929295e+01   1.2996239e+01   8.3021832e+011.5110102e+01   1.3836349e+01   8.3914103e+011.6229985e+01   1.4602452e+01   8.4752492e+011.7291078e+01   1.5297736e+01   8.5539171e+011.8295514e+01   1.5925389e+01   8.6276314e+011.9245426e+01   1.6488598e+01   8.6966091e+012.0142946e+01   1.6990550e+01   8.7610677e+012.0990209e+01   1.7434432e+01   8.8212243e+012.1789347e+01   1.7823433e+01   8.8772963e+012.2542493e+01   1.8160739e+01   8.9295007e+012.3251782e+01   1.8449538e+01   8.9780551e+012.3919345e+01   1.8693017e+01   9.0231764e+012.4547316e+01   1.8894364e+01   9.0650822e+012.5137828e+01   1.9056766e+01   9.1039894e+012.5693015e+01   1.9183410e+01   9.1401156e+012.6215009e+01   1.9277484e+01   9.1736778e+012.6705944e+01   1.9342175e+01   9.2048933e+012.7167953e+01   1.9380671e+01   9.2339795e+012.7603169e+01   1.9396159e+01   9.2611535e+012.8013725e+01   1.9391826e+01   9.2866326e+012.8401755e+01   1.9370859e+01   9.3106341e+012.8769391e+01   1.9336447e+01   9.3333752e+012.9118766e+01   1.9291776e+01   9.3550731e+012.9452015e+01   1.9240034e+01   9.3759452e+012.9771270e+01   1.9184409e+01   9.3962086e+013.0078664e+01   1.9128087e+01   9.4160807e+013.0376330e+01   1.9074256e+01   9.4357787e+013.0666402e+01   1.9026103e+01   9.4555198e+013.0951013e+01   1.8986816e+01   9.4755213e+013.1232295e+01   1.8959583e+01   9.4960004e+013.1512383e+01   1.8947590e+01   9.5171745e+013.1793409e+01   1.8954024e+01   9.5392607e+013.2077506e+01   1.8982075e+01   9.5624763e+013.2366808e+01   1.9034928e+01   9.5870386e+013.2663448e+01   1.9115771e+01   9.6131648e+013.2969559e+01   1.9227791e+01   9.6410722e+013.3287273e+01   1.9374177e+01   9.6709780e+013.3618725e+01   1.9558115e+01   9.7030995e+013.3966048e+01   1.9782792e+01   9.7376539e+013.4331374e+01   2.0051396e+01   9.7748585e+013.4716836e+01   2.0367115e+01   9.8149306e+013.5124569e+01   2.0733136e+01   9.8580873e+013.5556705e+01   2.1152646e+01   9.9045460e+013.6015377e+01   2.1628832e+01   9.9545239e+013.6502719e+01   2.2164883e+01   1.0008238e+023.7020863e+01   2.2763985e+01   1.0065906e+023.7571943e+01   2.3429325e+01   1.0127745e+023.8158092e+01   2.4164092e+01   1.0193973e+023.8781443e+01   2.4971472e+01   1.0264806e+023.9444129e+01   2.5854653e+01   1.0340461e+024.0148284e+01   2.6816823e+01   1.0421157e+024.0896040e+01   2.7861168e+01   1.0507109e+024.1689531e+01   2.8990876e+01   1.0598537e+024.2530890e+01   3.0209135e+01   1.0695656e+024.3422251e+01   3.1519132e+01   1.0798683e+024.4365745e+01   3.2924053e+01   1.0907838e+024.5363507e+01   3.4427088e+01   1.1023335e+024.6417670e+01   3.6031422e+01   1.1145394e+024.7530367e+01   3.7740244e+01   1.1274231e+024.8703730e+01   3.9556740e+01   1.1410062e+024.9939894e+01   4.1484099e+01   1.1553107e+025.1240991e+01   4.3525507e+01   1.1703581e+025.2609155e+01   4.5684153e+01   1.1861702e+025.4046518e+01   4.7963222e+01   1.2027688e+025.5555214e+01   5.0365903e+01   1.2201755e+025.7137376e+01   5.2895384e+01   1.2384120e+025.8795137e+01   5.5554850e+01   1.2575002e+026.0530630e+01   5.8347491e+01   1.2774617e+026.2345989e+01   6.1276493e+01   1.2983183e+026.4243347e+01   6.4345044e+01   1.3200917e+026.6224837e+01   6.7556330e+01   1.3428035e+026.8292591e+01   7.0913540e+01   1.3664756e+027.0448744e+01   7.4419861e+01   1.3911297e+027.2695428e+01   7.8078480e+01   1.4167874e+027.5034777e+01   8.1892585e+01   1.4434706e+027.7468923e+01   8.5865362e+01   1.4712009e+028.0000000e+01   9.0000000e+01   1.5000000e+02

四、完整MATLAB代码

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

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

相关文章

461. 汉明距离

461. 汉明距离 不难 class Solution {public int hammingDistance(int x, int y) {int res 0;while(x!0 || y!0) {if((x&1) ! (y&1))res ;x>>1;y>>1;}return res;} }

【LeeCode】160.链表相交

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&#…

rman 工作常用

RMAN> backup archivelog all delete input; backup as compressed backupset backupset all;###备份片的再压缩 all, or until time sysdate -7 RMAN> run { backup archivelog all; delete archivelog until time sysdate -1 like /u01/archives/TEST/%; delete…

MediaPipe 3D姿态估计简明教程

姿势检测是更多地了解视频和图像中人体的重要一步。 我们现有的模型支持 2D 姿态估计已经有一段时间了,你们中的许多人可能已经尝试过。 今天,我们在 TF.js 姿势检测 API 中推出第一个 3D 模型。 3D 姿态估计为健身、医疗、动作捕捉等应用开辟了新的设计…

简易FIR数字滤波器

摘 要 随着科学技术的飞速发展,数字信号处理技术广泛的应用在各种领域中,而数字滤波技术在数字信号处理中占有极其重要的地位。传统的模拟滤波器已经很难满足工业生产的需求,所以,对数字滤波器的研究具有很重要的实际意义。相对于…

分享一个用C#写的Aspose.Pdf生成pdf的工具类

公共类 公共属性 标题级别 对应的标题样式 汉字与数字标题对应关系 using Aspose.Words; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Text.RegularExpressions;namespace Common.Bo {public class CommonStyl…

WordPress外贸站优化工具,WordPress外贸SEO优化方法

WordPress外贸站是跨国企业拓展市场、提升品牌知名度的理想选择。然而,如何通过SEO优化、原创文章生成以及留心站点优化的事项,成为众多站长关注的焦点。 SEO,即搜索引擎优化,是提高网站在搜索引擎结果中排名的关键。首先&#x…

云计算:数字时代的引擎

引言 云计算,作为现代信息技术领域的一项革命性创新,已经深刻改变了我们处理数据和应用的方式。它已经从仅仅是一个概念演变为一个全球范围内广泛应用的技术。云计算为个人、企业和政府机构提供了强大的计算能力、灵活性和可扩展性,同时降低…

JavaScript递归

前端面试大全JavaScript递归 🌟经典真题 🌟递归 🌟真题解答 🌟总结 🌟经典真题 使用递归完成 1 到 100 的累加 🌟递归 A recursive method is a method that calls itself. 递归调用是一种特殊的调…

数据集的标签文件【无标题】

这里写目录标题 读取数据集 .json是用来存储简单的数据结构和对象的文件。json是一种轻量级的数据交换格式 给了 数据集的标签文件, 读取数据集 .json的本质是字典 读取Json文件:json.load() import json with open(train.json,r,encodingutf-8) as f…

[最优化理论] 梯度下降法 + 精确线搜索(单峰区间搜索 + 黄金分割)C++ 代码

这是我的课程作业,用了 Eigen 库,最后的输出是 latex 的表格的一部分 具体内容就是 梯度下降法 精确线搜索(单峰区间搜索 黄金分割) 从书本的 Matlab 代码转译过来的其实,所以应该是一看就懂了 这里定义了两个测试…

使用pytorch从零开始实现迷你GPT

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

wordpress建站优化加速教程-Redis加速

这篇文章适合宝塔面板,在宝塔面板安装 Redis 实现网站加速( Redis是一个高性能的key-value数据库(PHP连接redis,需PHP设置中安装redis扩展) )。对在word press网站有着明显的加速效果。关于Redis具体说明请自己百度,…

编程中常见的技术难题有哪些?By AI

编程对于现代社会发展的重要性 编程,即按照特定的规则和逻辑,为计算机设计指令的过程,已经深深地融入现代社会的各个角落。它对人们的生活、工作和科技发展产生了深远的影响。 首先,编程改变了人们的生活方式。如今,…

Qt 如何操作SQLite3数据库?数据库创建和表格的增删改查?

# 前言 项目源码下载 https://gitcode.com/m0_45463480/QSQLite3/tree/main # 第一步 项目配置 平台:windows10 Qt版本:Qt 5.14.2 在.pro添加 QT += sql 需要的头文件 #include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include &…

SCAU:数字字符序列2

数字字符序列 Time Limit:1000MS Memory Limit:65535K 题型: 填空题 语言: G;GCC;VC 描述 有一个数字字符序列&#xff0c;它是由平方数1&#xff0c;4&#xff0c;9&#xff0c;16&#xff0c;25&#xff0c;36&#xff0c;49&#xff0c;64&#xff0c;81&#xff0c;…

Pandas进阶:拼接 concat 使用方法

1.处理索引和轴 假设我们有2个关于考试成绩的数据集。 df1 pd.DataFrame&#xff08;{ name&#xff1a;[A&#xff0c;B&#xff0c;C&#xff0c;D]&#xff0c;math&#xff1a;[60,89,82,70]&#xff0c;physics&#xff1a;[66&#xff0c; 95,83,66]&#xff0c;chemi…

SCAU:前一个和后一个字符

前一个和后一个字符 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: G;GCC;VC 描述 编写程序&#xff0c;输入一个数字字符&#xff0c;输出其前一个和后一个的数字字符&#xff0c;如果输入的是0前一个输出 “first”&#xff0c;9后一个则输出“last”&…

springBoot整合task

springBoot整合task 文章目录 springBoot整合task开开关设置任务&#xff0c;并设置执行周期定时任务的相关配置 开开关 设置任务&#xff0c;并设置执行周期 Component public class MyBean {Scheduled(cron "0/1 * * * * ?")public void print(){System.out.prin…

C++进阶篇6---C++11新语法

目录 目录 一、统一的列表初始化 二、声明 1.auto 2.decltype 3.nullptr 三、范围for 四、STL中的变化 五、右值引用和移动语义(重点) 一、统一的列表初始化 在c11之前&#xff0c;我们能用{}初始化数组和结构体 struct Point {int x;int y; }; int main() {int a[] …