无人机航迹规划:人工原生动物优化器(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,一经查实,立即删除!

相关文章

linux 系统被异地登录,cpu占用拉满100%

一般是kswapd0导致的cpu占用异常 按顺序执行以下操作 在控制台执行top命令,查看占用最高的是否kswapd0。基本100%占用。记下该进程ID 5081 执行查找命令 find / -name kswapd0 显示查找结果: /proc/3316/.X2c4-unix/.rsync/a/kswapd0 /root/.configrc…

【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树,是一种特殊的二叉搜索树。一般的二叉搜索树在遇到数据有序时&…

@SuppressWarnings(“unchecked“)

SuppressWarnings("unchecked") 是 Java 编程语言中的一个注解,用于抑制编译器产生的类型检查警告。在某些情况下,程序员知道特定的代码块中可能会产生类型转换警告,但他们确信代码是安全的,因此使用这个注解来告诉编译…

路由策略简介

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

整合Spring Boot框架集成Knife4j

效率工具 推荐一个程序员常用的工具网站:程序员常用工具(http://tools.cxyroad.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。 云服务器 云服务器限时免费领:轻量…

Nginx的配置文件-详细使用说明

Nginx的配置文件是Nginx服务器运行的核心,它决定了Nginx如何响应和处理各种请求。以下是对Nginx配置文件(通常名为nginx.conf)的详细解析,按照常见的结构和配置项进行分类: 1. 全局块 user:指定Nginx运行的用户和用户组。例如:user nginx;worker_processes:指定工作进…

FPGA复位专题---(41)复位管脚PR报错?

(41)复位管脚PR报错? 1 目录 (a)FPGA简介 (b)Verilog简介 (c)复位简介 (d)复位管脚PR报错? (e)结束 1 FPGA简介 (a)FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是…

微服务开发与实战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模型…

react组件中的this

在React类组件中&#xff0c;如果你使用传统的函数声明方式定义一个方法( function xxx)&#xff0c;那么这个方法内部的 this 通常是 undefined。这是因为JavaScript函数中的 this 是在运行时基于函数是如何被调用的来绑定的&#xff0c;而不是在定义时。 例如&#xff1a; c…

混剪素材库有哪些?分享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没…

spark学习记录-spark基础概念

背景需求 公司有项目需要将大容量数据进行迁移&#xff0c;经过讨论&#xff0c;采用spark框架进行同步、转换、解析、入库。故此&#xff0c;这里学习spark的一些基本的概念知识。 Apache Spark 是一个开源的大数据处理框架&#xff0c;可以用于高效地处理和分析大规模的数据…

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

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

C语言题目要求实现方法总结(1-10)

目录 一、互换A, B的值 1. 1使用中间变量 1.2 使用异或^&#xff08;不允许创建中间变量&#xff09; 1.3 使用函数&#xff08;指针传参&#xff09; 二、 按降序输出A, B的值 2.1 直接实现 2.2 使用指针 三、 找出最大值 3.1 遍历数组 先输入再找&#xff08;常规&#xff09…