还有哪些网站做产品众筹,asp网站 工具,北京恒伟网站建设,制作官网的公司性价比高一、麋鹿群优化算法EHO
基本概念 麋鹿群优化算法#xff08;EHO#xff0c;Elephant Herding Optimization#xff09;是2024年提出的一种启发式优化算法#xff0c;它的灵感来自麋鹿群的繁殖过程。麋鹿有两个主要的繁殖季节#xff1a;发情和产犊。在发情季节#xff0…一、麋鹿群优化算法EHO
基本概念 麋鹿群优化算法EHOElephant Herding Optimization是2024年提出的一种启发式优化算法它的灵感来自麋鹿群的繁殖过程。麋鹿有两个主要的繁殖季节发情和产犊。在发情季节麋鹿群分裂成不同规模的不同家庭。这种划分是基于公麋鹿间争夺主导地位的其中更强壮的公麋鹿可以组成一个拥有大量的家庭。在产犊季节每个家庭都会从公麋鹿和雌麋鹿中培育出新的小牛。这个灵感是在优化环境中设置的其中优化循环由三个运算符组成发情季节、产犊季节和选择季节。在选拔季节所有家庭都被合并包括公麋鹿、雌麋鹿和小麋鹿。最健康的麋鹿群将被选中用于即将到来的发情和产犊季节。简而言之EHO 将种群分为一组每组在发情季节有一名领导者和几名追随者。追随者的数量是根据其领导组的健身值确定的。每个小组都将根据其领导者和追随者在产犊季节生成新的解决方案。所有组的成员包括领导者、追随者和新解决方案被组合在一起并在选择季节选择最适者群体。 算法步骤 初始化 确定麋鹿群的规模N、子群数量k、搜索空间的范围例如变量的上下界等参数。随机初始化麋鹿群中每个个体的位置在搜索空间内并计算每个个体对应的适应度值用于评估解的优劣程度。 分群操作 根据设定的规则将麋鹿群划分为k个子群并确定每个子群的领导者。 迭代更新 对于每个子群的领导者根据领导者更新机制更新其位置。子群中的其他个体根据个体位置更新公式更新自己的位置。计算更新后每个个体的适应度值。记录全局最优位置和最优适应度值如果发现更优的解则进行更新。 终止条件判断 检查是否满足终止条件如达到最大迭代次数或者最优解的变化小于某个阈值等。如果满足则输出全局最优解否则返回迭代更新步骤继续执行。
参考文献 [1] Al-betar, M.A., Awadallah, M.A., Braik, M.S., Makhadmeh, S.N., Abu Doush, I. (2024). Elk herd optimizer: a novel nature-inspired metaheuristic algorithm. Artif. Intell. Rev., 57, 48.
二、无人机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];
dimdim0dim1dim2;
fobj(x)GetFun(x,fobj0,fobj1,fobj2);%总的目标函数
pop50;
maxgen1500;[fMin ,bestX,Convergence_curve]eho(pop,maxgen,Xmin,Xmax,dim,fobj);%Trajectories,fitness_history, population_history
% save bestX bestX
BestPosition1 SphericalToCart(bestX(1:dim/3),model);% 第一个无人机得到的路径坐标位置
BestPosition2 SphericalToCart(bestX(1dim/3:2*dim/3),model1);% 第二个无人机得到的路径坐标位置
BestPosition3 SphericalToCart(bestX(12*dim/3:end),model2);% 第三个无人机得到的路径坐标位置gca1figure(1);
gca2figure(2);
gca3figure(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代码见下方名片