自学内容网 自学内容网

基于苔藓生长优化算法(Moss Growth Optimization, MGO)的多无人机协同三维路径规划(提供MATLAB代码)

一、苔藓生长优化算法介绍

苔藓生长优化算法(Moss Growth Optimization, MGO)是一种受自然界苔藓生长机制启发的元启发式优化算法。这种算法模仿了苔藓在潮湿环境中的扩散和生长方式,以寻找复杂问题的最优解。以下是苔藓生长优化算法的一些基本概念和特点:

1. 算法灵感来源

苔藓植物在自然界中以其独特的生长方式而著称,它们能够在潮湿的环境中迅速扩散。这种生长方式不需要复杂的根系结构,而是通过孢子的传播和生长来实现。苔藓生长优化算法正是受到这种简单而有效的生长机制的启发。
在这里插入图片描述

2. 算法基本原理

在MGO中,每个解可以被视为一个苔藓孢子,这些孢子在解空间中随机扩散。每个孢子的生长和扩散受到其适应度(即解决方案的质量)的影响。适应度较高的孢子更有可能扩散到新的区域,而适应度较低的孢子则可能逐渐消亡。

  1. 个体表示:在MGO中,每个个体(或称为“苔藓孢子”)代表优化问题的一个潜在解。这些孢子在解空间中随机分布。

  2. 环境因素:算法模拟环境因素对苔藓生长的影响。例如,湿度可以代表问题中的目标函数值,湿度越高,孢子生长的可能性越大。

  3. 生长机制:苔藓孢子根据环境因素(如湿度)的生长概率在解空间中“生长”或移动。这种移动可以是随机的,也可以是向更好的解方向的有偏移动。

  4. 在这里插入图片描述

  5. 繁殖机制:在找到有利的环境条件时,苔藓孢子可以繁殖,生成新的孢子。这类似于遗传算法中的交叉和变异操作,用于增加种群的多样性。

  6. 适应度评估:每个孢子的适应度根据其在解空间中的位置和环境因素进行评估。

  7. 选择和淘汰:在每一代中,根据孢子的适应度进行选择,适应度较低的孢子可能会被淘汰,而适应度较高的孢子则有更高的机会生存和繁殖。

3.核心机制:

风向测定:MGO开发了一种创新的机制,称为“风向测定”。这种机制利用大多数个体与最优个体之间的位置关系,来决定种群中所有个体的进化方向。风向测定有效地帮助MGO避免陷入局部最优解决方案。
孢子扩散搜索:MGO通过孢子扩散搜索策略进行探索。在有大量风的情况下,孢子的传播以高度不可预测的方式发生,导致相当长的传播距离。该策略允许个体进行随机选择,以防止固定步长在早期阶段导致收敛缓慢而在后期阶段无法收敛,从而确保种群多样性。
双繁殖搜索:MGO还采用了双繁殖搜索策略进行开发。它模拟有性生殖和营养生殖,通过这两种生殖方式产生新的个体,这些个体靠近原始个体。双繁殖搜索的方法允许苔藓在更有限的区域内繁殖,但它有利于快速识别苔藓的最佳栖息地。

4. 算法步骤

在这里插入图片描述

  1. 初始化:在解空间中随机生成初始孢子种群。

  2. 环境评估:评估每个孢子的适应度,这可能基于目标函数值和模拟的环境因素。

  3. 生长和繁殖

    • 根据生长概率(可能与适应度相关),孢子在解空间中移动或“生长”。
    • 在找到有利条件时,孢子繁殖生成新的孢子。
  4. 选择和更新:根据适应度选择孢子,淘汰适应度较低的孢子,并更新种群。

  5. 终止条件:重复步骤2-4,直到满足预设的迭代次数、适应度阈值或其他终止条件。

  6. 输出最优解:输出适应度最高的孢子,作为优化问题的近似最优解。
    在这里插入图片描述

5.性能特点

  • 搜索能力:由于孢子的随机生长和繁殖,MGO具有较好的全局搜索能力,适用于复杂和多模态的优化问题。
  • 简单易实现:算法的基本概念和操作相对简单,易于实现和调整。
  • 参数调整:算法的性能可能依赖于一些关键参数,如孢子的初始数量、生长概率和繁殖率,需要适当调整以获得最佳性能。

6.参考文献

[1]Boli Zheng, Yi Chen, Chaofan Wang, Ali Asghar Heidari, Lei Liu, Huiling Chen, The moss growth optimization (MGO): concepts and performance, Journal of Computational Design and Engineering, Volume 11, Issue 5, October 2024, Pages 184–221, https://doi.org/10.1093/jcde/qwae080

二、无人机(UAV)三维路径规划

单个无人机三维路径规划数学模型参考如下文献:

Phung M D , Ha Q P . Safety-enhanced UAV Path Planning with Spherical Vector-based Particle Swarm Optimization[J]. arXiv e-prints, 2021.

每个无人机的目标函数由路径长度成本,安全性与可行性成本、飞行高度成本和路径平滑成本共同组成:

2.1路径长度成本

路径长度成本由相邻两个节点之间的欧氏距离和构成,其计算公式如下:
在这里插入图片描述

2.2路径安全性与可行性成本

在这里插入图片描述

路径安全性与可行性成本通过下式计算:

在这里插入图片描述

2.3路径飞行高度成本

在这里插入图片描述

飞行高度成本通过如下公式计算所得:
在这里插入图片描述
在这里插入图片描述

2.4路径平滑成本

在这里插入图片描述

投影向量通过如下公式计算:

在这里插入图片描述

转弯角度的计算公式为:
在这里插入图片描述

爬坡角度的计算公式为:

在这里插入图片描述

平滑成本的计算公式为:
在这里插入图片描述

2.5总成本(目标函数)

在这里插入图片描述

总成本由最优路径成本,安全性与可行性成本、飞行高度成本和路径平滑成本的线性加权所得。其中,b为加权系数。

三、实验结果

在三维无人机路径规划中,无人机的路径由起点,终点以及起始点间的点共同连接而成。因此,自变量为无人机起始点间的各点坐标,每个无人机的目标函数为总成本(公式9)。本文研究3个无人机协同路径规划,总的目标函数为3个无人机的总成本之和。

Xmin=[Xmin0,Xmin1,Xmin2];
Xmax=[Xmax0,Xmax1,Xmax2];
dim=dim0+dim1+dim2;
fobj=@(x)GetFun(x,fobj0,fobj1,fobj2);%总的目标函数
pop=50;
maxgen=1500;

[fMin ,bestX,Convergence_curve]=mgo(pop,maxgen,Xmin,Xmax,dim,fobj);%Trajectories,fitness_history, population_history
% save bestX bestX
BestPosition1 = SphericalToCart(bestX(1:dim/3),model);% 第一个无人机得到的路径坐标位置
BestPosition2 = SphericalToCart(bestX(1+dim/3:2*dim/3),model1);% 第二个无人机得到的路径坐标位置
BestPosition3 = SphericalToCart(bestX(1+2*dim/3:end),model2);% 第三个无人机得到的路径坐标位置

gca1=figure(1);
gca2=figure(2);
gca3=figure(3);
PlotSolution(BestPosition1,model,gca1,gca2,gca3);% 画第一个无人机
PlotSolution1(BestPosition2,model1,gca1,gca2,gca3);% 画第二个无人机
PlotSolution2(BestPosition3,model2,gca1,gca2,gca3);% 画第三个无人机

figure
plot(Convergence_curve,'LineWidth',2)
xlabel('Iteration');
ylabel('Best Cost');
grid on;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完整MATLAB代码见下方名片


原文地址:https://blog.csdn.net/weixin_46204734/article/details/142895991

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!