【论文复现|智能算法改进】基于自适应蜣螂算法的无人机三维路径规划方法

目录

    • 1.UAV路径规划数学模型
    • 2.改进点
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.UAV路径规划数学模型

【智能算法应用】蜣螂优化算法DBO求解UAV路径规划

2.改进点

混沌序列初始化

在处理复杂的优化问题时,原始蜣螂算法采用随机生成种群的方法进行种群初始化,可能会导致种群多样性低、种群分布不均匀和快速收敛到局部最优解等问题。 Tent 混沌映射可以生成均匀遍布解空间和相关性较强的初始种群:
x i + 1 = { x k / α , 0 < x k ≤ α ( 1 − x k ) / ( 1 − α ) , α < x k ≤ 1 (1) x_{i+1}=\begin{cases}x_k / \alpha,0<x_k\leq\alpha\\\left(1-x_k\right)/(1-\alpha),\alpha<x_k\leq1\end{cases}\tag{1} xi+1={xk/α,0<xkα(1xk)/(1α),α<xk1(1)

在这里插入图片描述
在这里插入图片描述

针对原始蜣螂算法四种动作行为的分配比例不均匀,且每个个体只能进行一种动作行为,可能会导致对解空间的搜索不充分或收敛速度慢的问题。

基于种群相似性的蜣螂动作变异策略

为了使每个蜣螂都能执行四种动作行为,本文用迭代次数模拟时间变化,每隔 M 次迭代进行一次蜣螂的动作变异,将当前动作行为变异为下一种行为策略。利用余弦相似度来衡量种群相似性:
D i v e r = 1 N ∑ i = 1 N ∑ j = 1 d x i , j ( t ) x g l b e s t , j ( t ) ∑ j = 1 d x i , j 2 ( t ) ∑ j = 1 d x g l b e s t , j 2 ( t ) (2) Diver =\frac{1}{N}\sum_{i=1}^{N}\frac{\sum_{j=1}^{d}x_{i,j}(t)x_{\mathrm{glb}est ,j}(t)}{\sqrt{\sum_{j=1}^{d}x_{i,j}^{2}(t)}\sqrt{\sum_{j=1}^{d}x_{\mathrm{glb}est ,j}^{2}(t)}}\tag{2} Diver=N1i=1Nj=1dxi,j2(t) j=1dxglbest,j2(t) j=1dxi,j(t)xglbest,j(t)(2)

当 Diver 大于 0.5 时,种群多样性过低,可能会陷入局部最优,而滚球蜣螂和觅食蜣螂的数量决定了算法对解空间的探索能力和收敛速度。因此将执行繁殖和觅食行为的个体变异为执行滚球行为的个体,增强算法的全局搜索能力以增强物种多样性,找到新的最佳个体或达到变异个体迭代阈值Tmax 后将变异个体重新恢复为原来的行为个体继续搜索。

反向学习策略

由于繁殖和偷窃行为的全局搜索能力会随着迭代次数的增加而下降,而反向学习策略的思想主要是通过生成当前可行解的反向解,并将反向解与原解进行适应度比较选出更好的解,利用反向学习策略增强繁殖和偷窃行为的全局搜索能力:
x r t = l b + u b − r a n d ( ) × x i t (3) x_r^t=lb+ub-rand()\times x_i^t\tag{3} xrt=lb+ubrand()×xit(3)

伪代码

在这里插入图片描述

3.结果展示

CEC2017

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

UAV路径规划

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] 远翔宇,杨风暴,杨童瑶.基于自适应蜣螂算法的无人机三维路径规划方法[J].无线电工程,2024,54(04):928-936.

5.代码获取

资源清单

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

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

相关文章

如何在 Ubuntu 14.04 上使用 Passenger 和 Apache 部署 Rails 应用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 在本教程中,我们将演示如何将 Phusion Passenger 安装为您的 Rails 友好型 Web 服务器,它易于安装、配置和维护。我们将把它集成到 Ubuntu 14.04 上的 Apache 中…

从零开始学习Linux(9)----文件系统

1.前言 1.铺垫 a.文件内容属性 b.访问文件之前&#xff0c;都得先打开&#xff0c;修改文件&#xff0c;都是通过执行代码的方式完成修改&#xff0c;文件必须被加载到内存中 c.谁打开文件&#xff1f;进程在打开文件 d.一个进程可以打开多少个文件呢&#xff1f;可以打开多个…

过拟合学习理解

生活示例看过拟合 我们可以用一个日常生活的例子来解释过拟合。 想象你正在准备一场考试&#xff0c;考试的内容是关于世界地理的。为了准备这场考试&#xff0c;你决定使用一本包含大量地理知识点的复习书。但是&#xff0c;你犯了一个常见的错误——你只专注于书中的那些例…

【运维】如何停止某个端口相关的所有服务

如何停止某个端口相关的所有服务 如果你使用的是Linux操作系统&#xff0c;你可以通过以下命令来停止所有监听9200端口的服务&#xff1a; sudo lsof -i :9200 # 查看哪些进程在监听9200端口 sudo kill -9 <PID> # 替换<PID>为上一步查到的进程ID&#xff0c;…

没有知网资源如何快速下载知网论文

今天有位同学求助一篇知网论文&#xff0c;“球磨-点击化学反应&#xff1a;无溶剂绿色反应方式”&#xff0c;其实下载知网论文是一件非常简单的事情&#xff0c;下面小编就把如何在家轻松查找下载知网论文的方法给大家演示一遍。 一、首先你需要获取知网使用权限&#xff0c…

LeetCode-283.移动零

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0] 输出:…

视频汇聚平台EasyCVR对接GA/T 1400视图库:结构化数据(人员/人脸、车辆、物品)对象XMLSchema描述

在信息化浪潮席卷全球的背景下&#xff0c;公安信息化建设日益成为提升社会治理能力和维护社会稳定的关键手段。其中&#xff0c;GA/T 1400标准作为公安视频图像信息应用系统的核心规范&#xff0c;以其结构化数据处理与应用能力&#xff0c;为公安信息化建设注入了强大的动力。…

p10,idea开发工具

1 什么是ide 有编写&#xff0c;编译&#xff0c;运行三个功能合一的集成开发工具。

java自学阶段一:基础知识学习

《项目案例—黑马tlias智能学习辅助系统》 目录&#xff1a; 异常 一&#xff1a;学习目标&#xff1a; 异常&#xff1a;能够看懂异常信息&#xff0c;了解异常体系结构和分类&#xff0c;掌握异常的两种处理方式&#xff0c;自定义异常。 二、异常&#xff1a; 1.异常的概…

ES开发及面试手册

入门基础 简介 Elasticsearch是一个基于Lucene的搜索和分析引擎&#xff0c;它提供了一个分布式、多租户能力的全文搜索引擎&#xff0c;具有HTTP Web界面和无模式JSON文档。 使用场景 什么是全文检索 全文检索 是一种信息检索技术&#xff0c;它允许用户通过输入查询关键词来…

JZ2440笔记:声卡驱动

vi s3c-wm8976.c 在s3c2410-uda1341.c修改驱动&#xff0c;修改硬件部分的控制接口&#xff0c;I2S部分通用不用修改。 1、增加写寄存器操作函数wm8976_write_reg static void wm8976_write_reg(unsigned char reg, unsigned int data) {int i;unsigned long flags;unsigned…

【三维重建NeRF(三)】Mip-NeRF论文解读

本文结合深蓝学院课程学习和本人的理解&#xff0c;欢迎交流指正 文章目录 Mip-NeRF流程简述混叠问题与MipMapMip-NeRF提出的解决办法圆锥台近似计算与集成位置编码(IPE) Mip-NeRF流程简述 Mip-NeRF的大体流程和NeRF基本是一样的&#xff0c;NeRF介绍 创新的部分就是针对NeRF…

生活随笔|我们要成为牛人,不要成为牛马。

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 最近看群里聊天&#xff0c;有个在设计院做建筑电气设计的被裁员了&#xff0c;一顿抱怨&#xff1b; 也有人说今年项目多需要招人的&#xff0c;但招不到合适的&#xff1b; 或许这是常态&#xff0c;任何时候都是&a…

系统安全及应用11

一个新的服务器到手之后&#xff0c;部署服务器的初始化 1、配置IP地址 网关 dns解析&#xff08;static&#xff09;内网和外网 2、安装源外网&#xff08;在线即可&#xff09;&#xff0c;内网&#xff08;只能用源码包编译安装&#xff09; 3、磁盘分区&#xff0c;lvm …

[JAVA数组] 三个数的最大乘积

给你一个整型数组 nums &#xff0c;在数组中找出由三个数组成的最大乘积&#xff0c;并输出这个乘积。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;6示例 2&#xff1a; 输入&#xff1a;nums [1,2,3,4] 输出&#xff1a;24示例 3&#xff1a; 输…

mybatis—plus和mybatis的区别

一前置知识&#xff1a; CRUD操作&#xff08;create 添加数据read读取数据 update 修改数据delete删除数据&#xff09; 二&#xff0c;总体概览 MyBatis-Plus 是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发工作、提高…

二人订单共享模式:新零售电商盈利新秘诀

电商江湖日新月异&#xff0c;竞争如火如荼&#xff0c;如何脱颖而出&#xff0c;赢得消费者&#xff1f;二人订单共享模式&#xff0c;这是一种全新的商业模式&#xff0c;旨在打造爆款产品&#xff0c;迅速吸引大量客源&#xff0c;并激发消费者重复购买欲望。 首先&#xf…

Centos 报错 One of the configured repositories failed

目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 使用yum update更新命令就出现下面问题&#xff0c;系统是刚安装的&#xff0c;然后修改了一下IP变成手动。&#xff08;排查问题前&#xff0c;先回顾自己做了哪些操作&#xff0c;方便进一步排错&a…

accelerate 的一个tip:early stopping 处可能存在的bug

在分布式训练中进行提前停止时&#xff0c;如果每个进程都有特定的停止条件&#xff08;例如验证损失&#xff09;&#xff0c;这可能不会在所有进程中同步。 因此&#xff0c;可能在进程 0 中发生中断&#xff0c;而进程 1 则不会——>这将导致代码无限期挂起&#xff0c;直…

C++程序命令行参数学习

argc是参数个数&#xff1b; argv[0]是程序名&#xff0c;argv[1]是第一个参数&#xff1b; 如果输入osgptr1 x &#xff0c;osgptr1是程序名&#xff0c;argc是2&#xff1b; 不算程序名&#xff0c;实际的参数个数是argc-1&#xff1b; #include <iostream>using …