自学内容网 自学内容网

基于教育竞争优化算法(Educational Competition Optimizer,ECO)的多无人机协同三维路径规划(提供MATLAB代码)

一、教育竞争优化算法介绍

教育竞争优化算法(Educational Competition Optimizer,ECO)是一种模拟教育竞争过程的元启发式算法,用于解决复杂的优化问题。ECO算法的设计理念是模仿学生在教育体系中的竞争,通过这种竞争机制来搜索和优化解决方案。以下是ECO算法的详细介绍:

1. 算法灵感

ECO算法的灵感来源于教育领域中的竞争现象,尤其是在教育资源分配中的竞争。这种竞争可以类比于优化问题中的搜索过程,其中“学生”(解决方案)竞争以获得“学校”(最优解)的录取。

2. 算法阶段

ECO算法将搜索过程分为三个阶段,分别对应于教育体系中的小学、中学和高中阶段。每个阶段都有不同的搜索策略:

  • 小学阶段:在这个阶段,学校(解决方案)根据种群的平均位置来确定其教学位置,而学生(其他解决方案)则根据与最近学校的距离来设定目标。

  • 在这里插入图片描述

  • 中学阶段:在这个阶段,学校在选择教学位置时会考虑种群的平均位置和最优位置。学生则根据邻近学校的距离来设定个人目标。

在这里插入图片描述

  • 高中阶段:在这个阶段,学校在选择教学位置时会考虑种群的平均、最优和最差位置。学生则都朝着当前最优的学校位置努力。
    在这里插入图片描述

3. 种群初始化

ECO算法使用逻辑混沌映射来初始化种群,这是一种模拟社会现象的数学方法,用于生成初始解决方案的随机分布。

4. 数学模型

ECO算法的数学模型包括以下几个关键部分:

  • 位置更新:在每个阶段,学校和学生的位置会根据特定的数学公式进行更新,以模拟它们在教育竞争中的行为。

  • Levy飞行:在更新位置时,ECO算法使用Levy飞行来模拟自然界中的随机搜索行为,这是一种有效的全局搜索策略。

  • 适应性步长:ECO算法中的步长是适应性的,会根据当前的迭代次数和种群的最优解来动态调整。

5. 搜索策略

ECO算法在每个阶段都采用了不同的搜索策略,以平衡探索(全局搜索)和利用(局部搜索):

  • 探索:通过模拟学生的随机移动来探索新的解决方案空间。

  • 利用:通过模拟学校对最优位置的调整来细化当前的解决方案。

6.算法流程

这篇文章中提出的教育竞争优化器(ECO)算法的流程可以概括为以下几个主要步骤:
在这里插入图片描述

在这里插入图片描述

1. 初始化参数

  • 设置ECO算法的控制参数,包括种群大小、最大迭代次数等。
  • 使用逻辑混沌映射对解决方案的位置进行随机初始化。

2. 迭代过程

对于每次迭代,执行以下步骤:

2.1 计算适应度函数
  • 对当前种群中的每个解决方案计算其适应度值。
2.2 确定最佳和最差位置
  • 在当前种群中找出最佳(最优)和最差(最劣)的解决方案。
2.3 计算中间变量
  • 计算用于更新位置的中间变量,如随机数、耐心值等。
2.4 阶段性竞争更新
  • 根据当前迭代次数,确定处于哪个教育阶段(小学、中学或高中),并执行相应的更新策略。
2.4.1 小学阶段
  • 更新学校(前20%的种群)和学生(剩余80%的种群)的位置。
2.4.2 中学阶段
  • 更新学校(前10%的种群)和学生(剩余90%的种群)的位置,考虑平均和最优位置。
2.4.3 高中阶段
  • 更新学校(前10%的种群)的位置,考虑平均、最优和最差位置。所有学生都朝着当前最佳位置努力。

3. 选择最优解

  • 使用正向贪婪选择机制从当前迭代中选择最优解。

4. 终止条件

  • 检查是否达到最大迭代次数或其他终止条件。如果满足,则停止迭代;否则,返回步骤2继续迭代。

5. 输出结果

  • 返回找到的最佳解决方案。

参考文献
[1]Lian, Junbo, Ting Zhu, Ling Ma, Xincan Wu, Ali Asghar Heidari, Yi Chen, Huiling Chen, and Guohua Hui. 2024. “The Educational Competition Optimizer.” International Journal of Systems Science 55 (15): 3185–3222. doi:10.1080/00207721.2024.2367079.

二、无人机(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]=eco(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/142896498

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