一、蜘蛛蜂优化算法
蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。
参考文献:
[1]Abdel-Basset, M., Mohamed, R., Jameel, M. et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm. Artif Intell Rev (2023). https://doi.org/10.1007/s10462-023-10446-y
二、单个无人机模型
无人机三维航迹规划模型
参考文献:
[1]吕石磊,范仁杰,李震,陈嘉鸿,谢家兴.基于改进蝙蝠算法和圆柱坐标系的农业无人机航迹规划[J/OL].农业机械学报:1-19
[2]褚宏悦,易军凯.无人机安全路径规划的混沌粒子群优化研究[J/OL].控制工程:1-8
[3]MD Phung, Ha Q P . Safety-enhanced UAV Path Planning with Spherical Vector-based Particle Swarm Optimization: arXiv, 10.1016/j.asoc.2021.107376[P]. 2021.
[4]陈明强,李奇峰,冯树娟等.基于改进粒子群算法的无人机三维航迹规划[J].无线电工程,2023,53(02):394-400.
[5]徐建新,孙纬,马超.基于改进粒子群算法的无人机三维路径规划[J/OL].电光与控制:1-10
三、SWO求解无人机集群路径规划
本文中以5个无人机构成无人机集群,采用蜘蛛蜂优化算法同时规划五个无人机的路径,每个无人机的总成本由路径成本、威胁成本、高度成本和转角成本四个部分构成。无人机集群的总成本为5个无人机成本之和。
蜘蛛蜂优化算法以5个无人机的待优化路径为决策向量,无人机集群的总成本为适应度函数值,设置种群大小为100,最大迭代次数为200。
部分代码:
close all
clear
clc
dbstop if all error
global model
model = CreateModel(); % 创建模型
F='F1';
[Xmin,Xmax,dim,fobj] = fun_info(F);%获取函数信息
pop=50;%种群大小(可以自己修改)
maxgen=200;%最大迭代次数(可以自己修改)
[fMin,bestX,ConvergenceCurve] = SWO(pop, maxgen,Xmin,Xmax,dim,fobj);
%% 计算无人机的相关信息
N=length(bestX)/(3*model.n);%无人机的数量
St=1;
for i=1:N %计算每个无人机的适应度值
Et=St+3*model.n-1;
Xbest=bestX(St:Et);
BestPosition(i,:) = SphericalToCart(Xbest);%% 计算航迹坐标
BestFit(i)=MyCost(Xbest,1);%% 计算每个无人机的适应度值
UAVfit(i,:)=MyCost(Xbest,2);
St=Et+1;
end
%% 保存结果
save BestPosition BestPosition %每个无人机的航迹坐标
save BestFit BestFit %每个无人机的总成本
save UAVfit UAVfit % 每个无人机的四个成本
save ConvergenceCurve ConvergenceCurve % 无人机集群的成本随迭代次数的变化
部分结果: