无人机航迹规划:人工原生动物优化器(Artificial Protozoa Optimizer ,APO)求解无人机路径规划,提供MATLAB代码

一、无人机模型介绍

单个无人机三维路径规划问题及其建模_无人机路径规划场景建模-CSDN博客

参考文献:

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

二、人工原生动物优化算法APO求解无人机路径规划

人工原生动物优化器(Artificial Protozoa Optimizer ,APO)由Xiaopeng Wang等人于2024年提出,其灵感来自自然界中的原生动物。APO 模拟了原生动物的觅食、休眠和繁殖行为。

参考文献

[1]Wang X, Snášel V, Mirjalili S, et al. Artificial Protozoa Optimizer (APO): A novel bio-inspired metaheuristic algorithm for engineering optimization[J]. Knowledge-Based Systems, 2024: 111737.

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='F2'; %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]=AlgorithmName(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%算法优化求解
figure
semilogy(curve,'Color','g','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)%画最优路径

无人机路径坐标:

  1.0000000e+01  1.0000000e+01  8.0000000e+01

  1.1580906e+01  1.1067762e+01  8.2574066e+01

  1.3075643e+01  1.2035826e+01  8.5053477e+01

  1.4486872e+01  1.2908021e+01  8.7440232e+01

  1.5817257e+01  1.3688178e+01  8.9736335e+01

  1.7069461e+01  1.4380125e+01  9.1943786e+01

  1.8246148e+01  1.4987691e+01  9.4064588e+01

  1.9349980e+01  1.5514706e+01  9.6100741e+01

  2.0383621e+01  1.5964998e+01  9.8054248e+01

  2.1349733e+01  1.6342399e+01  9.9927110e+01

  2.2250980e+01  1.6650735e+01  1.0172133e+02

  2.3090026e+01  1.6893838e+01  1.0343890e+02

  2.3869532e+01  1.7075535e+01  1.0508184e+02

  2.4592163e+01  1.7199657e+01  1.0665214e+02

  2.5260582e+01  1.7270033e+01  1.0815180e+02

  2.5877451e+01  1.7290491e+01  1.0958283e+02

  2.6445434e+01  1.7264862e+01  1.1094722e+02

  2.6967194e+01  1.7196974e+01  1.1224698e+02

  2.7445394e+01  1.7090657e+01  1.1348411e+02

  2.7882697e+01  1.6949740e+01  1.1466061e+02

  2.8281766e+01  1.6778052e+01  1.1577848e+02

  2.8645265e+01  1.6579423e+01  1.1683972e+02

  2.8975857e+01  1.6357682e+01  1.1784635e+02

  2.9276205e+01  1.6116658e+01  1.1880035e+02

  2.9548971e+01  1.5860180e+01  1.1970373e+02

  2.9796820e+01  1.5592078e+01  1.2055849e+02

  3.0022413e+01  1.5316181e+01  1.2136663e+02

  3.0228416e+01  1.5036318e+01  1.2213015e+02

  3.0417490e+01  1.4756319e+01  1.2285106e+02

  3.0592298e+01  1.4480012e+01  1.2353136e+02

  3.0755504e+01  1.4211228e+01  1.2417305e+02

  3.0909772e+01  1.3953795e+01  1.2477813e+02

  3.1057763e+01  1.3711542e+01  1.2534859e+02

  3.1202142e+01  1.3488300e+01  1.2588646e+02

  3.1345571e+01  1.3287896e+01  1.2639371e+02

  3.1490714e+01  1.3114161e+01  1.2687237e+02

  3.1640233e+01  1.2970924e+01  1.2732442e+02

  3.1796793e+01  1.2862014e+01  1.2775187e+02

  3.1963055e+01  1.2791260e+01  1.2815672e+02

  3.2141683e+01  1.2762491e+01  1.2854098e+02

  3.2335341e+01  1.2779538e+01  1.2890664e+02

  3.2546692e+01  1.2846228e+01  1.2925570e+02

  3.2778397e+01  1.2966392e+01  1.2959018e+02

  3.3033122e+01  1.3143859e+01  1.2991206e+02

  3.3313529e+01  1.3382457e+01  1.3022336e+02

  3.3622280e+01  1.3686017e+01  1.3052606e+02

  3.3962040e+01  1.4058367e+01  1.3082219e+02

  3.4335471e+01  1.4503337e+01  1.3111372e+02

  3.4745237e+01  1.5024756e+01  1.3140268e+02

  3.5194000e+01  1.5626453e+01  1.3169105e+02

  3.5684424e+01  1.6312258e+01  1.3198084e+02

  3.6219172e+01  1.7086000e+01  1.3227406e+02

  3.6800907e+01  1.7951508e+01  1.3257270e+02

  3.7432292e+01  1.8912611e+01  1.3287877e+02

  3.8115990e+01  1.9973139e+01  1.3319426e+02

  3.8854665e+01  2.1136921e+01  1.3352118e+02

  3.9650980e+01  2.2407787e+01  1.3386153e+02

  4.0507598e+01  2.3789565e+01  1.3421731e+02

  4.1427181e+01  2.5286084e+01  1.3459053e+02

  4.2412394e+01  2.6901175e+01  1.3498318e+02

  4.3465898e+01  2.8638666e+01  1.3539727e+02

  4.4590358e+01  3.0502386e+01  1.3583479e+02

  4.5788437e+01  3.2496166e+01  1.3629776e+02

  4.7062798e+01  3.4623834e+01  1.3678817e+02

  4.8416103e+01  3.6889219e+01  1.3730801e+02

  4.9851016e+01  3.9296151e+01  1.3785931e+02

  5.1370200e+01  4.1848459e+01  1.3844405e+02

  5.2976319e+01  4.4549972e+01  1.3906424e+02

  5.4672035e+01  4.7404520e+01  1.3972187e+02

  5.6460011e+01  5.0415932e+01  1.4041896e+02

  5.8342912e+01  5.3588036e+01  1.4115750e+02

  6.0323399e+01  5.6924663e+01  1.4193950e+02

  6.2404136e+01  6.0429642e+01  1.4276695e+02

  6.4587786e+01  6.4106802e+01  1.4364186e+02

  6.6877013e+01  6.7959972e+01  1.4456623e+02

  6.9274479e+01  7.1992982e+01  1.4554205e+02

  7.1782847e+01  7.6209660e+01  1.4657134e+02

  7.4404782e+01  8.0613836e+01  1.4765610e+02

  7.7142945e+01  8.5209340e+01  1.4879831e+02

  8.0000000e+01  9.0000000e+01  1.5000000e+02

算法得到的最优适应度: 183.6215

三、完整MATLAB代码

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

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

相关文章

【Flutter】 TextField限制长度时, 第三方手写输入法、ios原始拼音输入法输入被吞问题

问题描述 TextField限制长度时, 当你的输入字符长度已经到了最大值-1时,使用第三方手写输入法或者ios原生拼音输入法输入liang(什么拼音都行,这里只是举例),输到i那么li都会消失。 原因分析 这是因为第三…

缓存方法返回值

1. 业务需求 前端用户查询数据时,数据查询缓慢耗费时间; 基于缓存中间件实现缓存方法返回值:实现流程用户第一次查询时在数据库查询,并将查询的返回值存储在缓存中间件中,在缓存有效期内前端用户再次查询时,从缓存中间件缓存获取 2. 基于Redis实现 参考1 2.1 简单实现 引入…

【Java面试】十四、LinkedList相关

文章目录 1、单向链表1.1 结构1.2 查询的时间复杂度1.3 插入删除的时间复杂度 2、双向链表2.1 时间复杂度 3、ArrayList和LinkedList的区别是什么 1、单向链表 1.1 结构 存储空间上,非连续链表的每个元素称结点Node每个结点包括两块:存储数据的数据域d…

C/C++ 进阶(5)二叉平衡搜索树(AVL树)

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 目录 一、概念 二、平衡因子 三、操作 插入 旋转 左单旋 右单旋 左右双旋 右左双旋 一、概念 二叉平衡搜索树又称AVL树,是一种特殊的二叉搜索树。一般的二叉搜索树在遇到数据有序时&…

路由策略简介

一、路由策略 1、定义: 路由策略(RoutingPolicy)作用于路由,主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路经。 2、目的 设备在发布、接收和引入路由信息时,根据实际组网需要实施一些策…

微服务开发与实战Day01 - MyBatisPlus

一、微服务 概念:微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合除复杂的大型应用。 课程安排: https://www.bilibili.com/video/BV1S142197x7/?spm_id_from333.1007.top_right_bar_window_history.…

Vue3-Vite-ts 前端生成拓扑图vis,复制即用

完整代码&#xff0c;复制即可用&#xff0c;样式自调 试过 jointjs dagre-d3 vis&#xff0c;好用一点&#xff0c;可添加同层的双向箭头 方法1&#xff1a;Vis.js npm install vis-network <template><div id"mynetwork" class"myChart" :st…

通过DirectML和ONNXRuntime运行Phi-3模型

更多精彩内容&#xff0c;欢迎关注我的公众号“ONE生产力”&#xff01; 上篇我们讲到通过Intel Core Ultra系列处理器内置的NPU加速运行Phi-3模型&#xff0c;有朋友评论说他没有Intel处理器是否有什么办法加速Phi-3模型。通常&#xff0c;使用GPU特别是NVIDA的GPU加速AI模型…

混剪素材库有哪些?分享7个高质量混剪视频素材网站

作为自媒体创作者&#xff0c;我们经常需要高质量的混剪视频素材来吸引观众。今天&#xff0c;我将为大家介绍几个优质的视频素材网站&#xff0c;确保您的短视频制作既高效又充满创意。 蛙学府素材网 首推蛙学府素材网&#xff0c;这个平台真是创作者的福音。无论是短视频素材…

重磅消息! Stable Diffusion 3将于6月12日开源 2B 版本的模型,文中附候补注册链接。

在OpenAI发布Sora后&#xff0c;Stability AI也发布了其最新的模型Stabled Diffusion3, 之前的文章中已经和大家介绍过&#xff0c;感兴趣的小伙伴可以点击以下链接阅读。Sora是音视频方向&#xff0c;Stabled Diffusion3是图像生成方向&#xff0c;那么两者没有必然的联系&…

electron-Vue: Module parse failed: Unexpected character ‘ ‘

​ electron-Vue项目中&#xff0c;我自己写了一个node的C扩展&#xff08;xx.node&#xff09;&#xff0c;然后在.vue文件里import它&#xff0c;然后运行npm run electron:serve&#xff0c;报错如下: ​​ electron-Vue打包默认使用webpack&#xff0c;默认情况下webpack没…

盘点哪些企业容易被ddos攻击

DDoS&#xff08;分布式拒绝服务&#xff09;攻击已成为网络安全威胁中的重要一环。本文将探讨哪些类型的企业容易成为DDoS攻击的目标&#xff0c;并提出相应的防范策略&#xff0c;帮助企业更好地保护自身网络安全。 一、电子商务平台 电子商务平台作为线上交易和支付的重要场…

一文了解JVM(中)

HotSpot 虚拟机对象探秘 对象的创建 Header解释使用 new 关键字调用了构造函数使用 Class 的 newInstance 方法调用了构造函数使用 Constructor 类的newInstance 方法调用了构造函数使用 clone 方法没有调用构造函数使用反序列化没有调用构造函数说到对象的创建,首先让我们看…

6个迹象表明你的电脑电缆管理很糟糕,看下你有没有中招

​清理电脑内部的电缆可能看起来像是徒劳的忙碌。毕竟,如果一切都正常,为什么还要麻烦呢?好吧,我有六个很好的理由可以说服你打开你的机箱,修复你电脑里的混乱。 你很难打开侧板 如果你的电缆离侧板的边缘太近,你将无法毫不费力地将它们滑开。虽然这不是你每天都要做的…

数据结构——图论详细笔记

一 图论基本概念 Directed Acyclic Graph &#xff08;DAG&#xff09; 二 图的存储 ①邻接矩阵(适用于稠密图) ②邻接表(适用于稀疏图) 三、图的遍历 ①深度优先搜索 //(基于邻接表实现&#xff0c;以有向图为例) //DFS:Depth First Search 深度优先搜索 //1、访问起始顶点 …

为什么要开发盲盒小程序?商家企业的盈利方向?

近几年&#xff0c;盲盒已经成为了一种娱乐消费的流行趋势&#xff0c;受到了年轻人的喜欢&#xff0c;推动了盲盒经济的快速发展。在互联网的支持下&#xff0c;盲盒行业也获得了数字化发展&#xff0c;盲盒小程序为市场创新发展提供了重要动力。在当下小程序快速发展的时代&a…

【C++修行之道】类和对象(四)运算符重载

目录 一、 运算符重载 函数重载和运算符重载有什么关系&#xff1f; 二、.*运算符的作用 三、运算符重载的正常使用 四、重载成成员函数 五、赋值运算符重载 1.赋值运算符重载格式 传值返回和引用返回 有没有办法不生成拷贝&#xff1f; 2. 赋值运算符只能重载成类的…

MongoDB CRUD操作:可重试写入

MongoDB CRUD操作&#xff1a;可重试写入 文章目录 MongoDB CRUD操作&#xff1a;可重试写入使用的先决条件部署的限制支持的存储引擎3.6 MongoDB 驱动程序MongoDB 版本写确认 可重试写入和多文档事务启用可重试写入MongoDB驱动mongosh 可重试的写操作行为持续的网络错误故障切…

Linux如何远程连接服务器?

远程连接服务器是当代计算机技术中一个非常重要的功能&#xff0c;在各种领域都有广泛的应用。本文将重点介绍如何使用Linux系统进行远程连接服务器操作。 SSH协议 远程连接服务器最常用的方式是使用SSH&#xff08;Secure Shell&#xff09;协议。SSH是一种网络协议&#xff…

Java常规题技术分享

一、数组排序和添加成员 设计类Student和类StudentClass。 (1) 类Student有字符串属性name、double属性grade和int属性age 有带参数的构造方法&#xff0c;可设置三个属性的值 有各个属性的置取方法 (2)类StudentClass有Student数组属性stus存放班级成员&#xff0c;有int…