基于灰狼优化器GWO与小龙虾优化算法COA的无人机航迹规划

news2024/10/7 20:33:27

一、灰狼优化器算法

灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。该算法受到了灰狼捕食猎物活动的启发而开发的一种优化搜索方法,它具有较强的收敛性能、参数少、易实现等特点。近年来受到了学者的广泛关注,它己被成功地应用到了车间调度、参数优化、图像分类等领域中。

二、小龙虾优化算法

小龙虾优化算法(Crayfish optimization algorithm,COA)是由Heming Jia教授等人于2023年提出的,该算法模拟了小龙虾的避暑行为、竞争行为和觅食行为。这三种行为被划分为三个不同的阶段,以平衡算法的探索和利用。三个阶段分别是避暑期、竞争期和觅食期。避暑山庄阶段是COA的探索阶段。竞争阶段和觅食阶段代表了COA的开发阶段。COA的勘探开发是有规律的。

部分主函数代码如下:

%% 设置起始点
startPoint = [0,0,20];
endPoint = [200,200,20];
plot3(startPoint(1),startPoint(2),startPoint(3),'ro');
text(startPoint(1),startPoint(2),startPoint(3),'起点','Color','k','FontSize',15)
plot3(endPoint(1),endPoint(2),endPoint(3),'r*');
text(endPoint(1),endPoint(2),endPoint(3),'终点','Color','k','FontSize',15)
title('地图信息')
%% 灰狼优化参数设置
NodesNumber = 2;%起点与终点之间节点的个数
dim = 2*NodesNumber; %维度,一组坐标点为[x,y,z]3个值,,其中X等间隔分布,所以总的数据个数为2*NodesNumber
lb = [20.*ones(1,NodesNumber),0.*ones(1,NodesNumber)];%x,y,z的下限[20,20,0]
ub = [180.*ones(1,NodesNumber),50.*ones(1,NodesNumber)];%x,y,z的上限[200,200,50]
fobj = @(x)fun(x,NodesNumber,startPoint,endPoint,ThreatAreaPostion,ThreatAreaRadius);%适应度函数
SearchAgents_no=70; % 种群数量
Max_iteration=50; % 设定最大迭代次数
[Best_pos_GWO,Best_score_GWO,GWO_curve]=GWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
[Best_pos_COA,Best_score_COA,COA_curve]=COA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
%根据寻优获得的节点,获取插值后的路径
[X_seq_COA,Y_seq_COA,Z_seq_COA,x_seq_COA,y_seq_COA,z_seq_COA] = GetThePathLine(Best_pos_COA,NodesNumber,startPoint,endPoint);
[X_seq_GWO,Y_seq_GWO,Z_seq_GWO,x_seq_GWO,y_seq_GWO,z_seq_GWO] = GetThePathLine(Best_pos_GWO,NodesNumber,startPoint,endPoint);

实验结果如下:

三、完整代码获取

https://mbd.pub/o/bread/ZpWUm5lvicon-default.png?t=N7T8https://mbd.pub/o/bread/ZpWUm5lv

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

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

相关文章

使用 Dify 和 MoonShot API 做一个懒人 AI 阅读工具(二):轻量 RAG 应用

这篇文章,我们继续聊聊,如何折腾 AI 应用,把不 AI 的东西,“AI 起来”。 在不折腾复杂的检索系统的前提下,做一些轻量的 RAG 实践。 写在前面 我从“机器之心会员通讯”上线以来就在订阅,相比较即时的行…

若依文件下载

后端自带工具controller package com.ruoyi.web.controller.common;import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.Logger…

Python二进制文件转换为文本文件

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在日常编程中,我们经常会遇到需要将二进制文件转换为文本文件的情况。这可能是因…

Java进阶-异常处理

概述 常见运行时异常 直接继承自RuntimeException或者子类,编译阶段不会报错,运行时可能出现的错误 运行时异常:一般是程序员业务没有考虑好或者是编程逻辑不严谨引起的程序错误 数组索引越界异常空指针异常类型转换异常数学操作异常数字转…

【C++报错】c++实例类的时候提示已声明所在行数,所属文件不可访问 的解决办法

这里写自定义目录标题 问题重现 问题解决 问题重现 c实例类的时候提示已声明所在行数,所属文件不可访问 问题解决 在此处,将 构造函数 放在public 问题消除

【AMBA Bus ACE 总线 1 -- ACE 总线介绍】

文章目录 Coherency 问题简介ACE 出现背景ACE 总线介绍Acknowledge signalingSnoop Channel Signals Coherency 问题简介 一致性(Coherency)问题通常出现在多处理器系统中,尤其是当多个处理器可能同时访问同一内存位置时。简单来说&#xff…

解决在 Python 数据分析中遇到的 Matplotlib 字体警告问题

当在 Python 数据分析中遇到类似以下警告时: D:\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:211: RuntimeWarning: Glyph 24037 missing from current font.font.set_text(s, 0.0, flagsflags) D:\anaconda3\lib\site-packages\matplotlib\ba…

【Java EE】总结12种锁策略以及synchronized的实现原理

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

网易云热评加密函数逆向(Jsrpc)

今天给大家来个jsrpc实战教程,让大家继续加深对jsrpc的理解和认识。 1、因为网易云音乐热评的加密并不在cookie上,而是参数加密,所以这里就不需要进行hook住cookie了。 2、之前就知道网易云音乐热评的加密存在之地是在下图的位置,是那个函数window.asrsea(JSON.stringify(…

我成为亚马逊云科技“技领云博主“啦

小李哥前一阵子被选为了大中华区亚马逊云科技”技领云领袖“博主项目首批成员。目前该项目也在公开招募,今天就给大家给大家探秘下该项目~1️⃣什么是”技领☁️领袖“博主项目? 该项目是由亚马逊云科技AWS官方发起的项目,主要是招…

开源代码分享(23)-基于混合整数二阶锥规划(MISOCP)的主动配电网最优潮流计算

参考文献: [1]乔珊. 主动配电网多源协同运行优化研究[D]. 山东大学, 2021. [2]高红均,刘俊勇,沈晓东,等. 主动配电网最优潮流研究及其应用实例 [J]. 中国电机工程学报, 2017, 37 (06): 1634-1645. DOI:10.13334/j.0258-8013.pcsee.152839. 1.引言 主动配电网技术的…

智慧养猪场视频AI智能监控与可视化管理方案

在科技日新月异的今天,智能化、自动化已成为众多行业追求的方向。养猪业作为传统农业的重要组成部分,同样迎来了技术革新的春风。特别是随着人们对食品安全等问题的日益关注,养猪场视频监控监管方案的智能化升级显得尤为重要。 养猪场视频智…

Java基础(运算符)

运算符 运算符和表达式 运算符:对字面量或者变量进行操作的符号 表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式。 算术运算符(加…

短视频素材哪个软件好?短视频素材那里来?

在当今数字化时代,高质量的视频素材对于提升任何视频项目的吸引力和专业度都至关重要。以下是全球范围内精选的视频素材网站,每个都能为你的视频创作提供独特的视觉支持和灵感。 1. 蛙学府(中国) 主要提供丰富的中文视频素材&…

Centos 5 的yum源

背景 有使用较老的Centos 5 系统内部安装软件无法正常报错,是由于系统叫老yum源存在问题 处理方法 更换下述yum源,可以将其他repo源文件备份移动到其他目录,添加下述源后重新测试 [C5.11-base] nameCentOS-5.11 baseurlhttp://vault.c…

哈希表练习题

前言 本次博客将要写一写,哈希表的一些使用 哈希表主要是一个映射,比如数组就是一个哈希表 是一个整型对应另一个整型,介绍的哈希表还是要以写题目为例 第一题 242. 有效的字母异位词 - 力扣(LeetCode) 直接来看…

vue-manage-system 更新,后台管理系统开发更简单

vue-manage-system 近期进行了一次版本升级,主要是支持了更多功能、升级依赖版本和优化样式,并且上线了官方文档网站,大部分功能都有文档或者使用示例,更加适合新手上手开发,只需要根据实际业务简单修改,就…

【讯为Linux驱动笔记1】申请一个字符设备

Linux下每个设备都需要有一个专属设备号:主设备号 次设备号 【申请字符设备】 主设备号:一类驱动:如:USB驱动 次设备号:这类驱动下的某个设备 如:键盘鼠标 设备号是32位的dev_t类型的,高12位主…

STL_deque_stack_queue

Deque deque容器(双端队列) ​deque是一种双向开口的分段连续线性空间(对外号称连续,使用者无法感知它是分段的)。deque支持从头尾两端进行元素的插入和删除。deque没有容量的概念,因为它是动态地以分段连续空间组合而成的。随时…

同态加密原理解析

目录 1.数学介绍2.使用多项式环进行加密2.1 私钥和公钥的产生2.2 加密2.3 解密 3.同态计算3.1 同态加法3.2 同态乘法 1.数学介绍 同态加密方案基于一个难以计算的问题Ring Learning with Errorsred。这些方案中的数据在加密和未加密时都用多项式表示。 这里举一个简单的多项式…