【无人机】基于蚂蚁优化算法的无人机任务调度路径规划研究(Matlab代码实现)
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
部分代码:
while (j<=30)
for i=1:4
if i==1 %UAV1只负责“侦察”任务
if table(1,(j-1))~=25
table1=table(1,:);
table1=[table1;table(3:4,:)];
tabu1=table1(:); %UAV1的禁忌表出来了 %25如果也在tabu1里的话,那么
allow_index1=~ismember(city_index,tabu1); %【走过的变成0,能走的为1】【若tabu=(1 4)则allow_index=(0 1 1 0 1 1 1...)】【注意:allow_index与city_index同维】
allow1=city_index(allow_index1); %把还能走的序号摘出来了(待访问的城市集合)
P1=allow1;
%计算城市的转移概率
if numel(allow1)~=0
for k=1:max(size(allow1))-1
P1(k)=(tau(table(1,(j-1)),allow1(k))^alpha)*(eta(table(1,(j-1)),allow1(k))^beta)*10000+7.1192e-004;
end
P1(max(size(allow1)))=7.1192e-005;
P1=P1/sum(P1);
[d1,ind1]=sort(P1,2,'descend');%从大到小排序是d1,对应的原序号是ind1
target1=allow1(ind1(1));
%轮盘赌法选择下一个城市
%pc1=cumsum(P1); % (p1 p1+p2 p1+p2+p3 p1+p2+p3+p4 ....)【p1<->allow(1) p2<->allow(2) ...】
%target_index1=find(pc1>=rand);
%target1=allow1(target_index1(1)); %这次返回的是allow数组中城市的真正序号
table(1,j)=target1; %把选好这个点放到路径表里面
rr=D(25,table(1,1));
time(table(1,1))=rr;
if j>2
for c=2:(j-1)
rr=rr+D(table(1,c-1),table(1,c));
end
end
rrr=rr+D(table(1,j-1),target1);%rrr就是UAV1到该点时走过的航程
time(target1)=rrr;
else
table(1,j)=25;
end
end
if table(1,(j-1))==25
table(1,j)=25;
end
end
if i==2 %UAV2只负责“打击”任务
if (table(2,(j-1))~=25)
table(2,1)=table(1,1); %设定它第一次打击的是UAV1侦察过的目标
ta2=table(1:(4*(j-1)+1)); %当前元素之前所有的元素
tabu21=[];
tabu22=[];
tabu2=[];
for y=1:24
if sum(ta2==y)==2
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]高志凯. 基于智能优化算法的无人机资源调度研究[D].南京邮电大学,2021.DOI:10.27251/d.cnki.gnjdc.2021.000049.
[2]胡中华,赵敏,姚敏,李可现,吴蕊.一种改进蚂蚁算法的无人机多目标三维航迹规划[J].沈阳工业大学学报,2011,33(05):570-575.
🌈4 Matlab代码实现
相关文章
- matlab有约束非线性规划_matlab 非线性规划
- matlab非线性整数优化,fmincon整数优化
- matlab 求矩阵秩,用MATLAB编程求矩阵的秩
- matlab axis画圆,使用MATLAB中axis实现图形坐标控制-Go语言中文社区
- 矩阵的模的平方matlab,matlab求矩阵、向量的模
- Matlab求解非线性规划(fmincon函数的使用)[通俗易懂]
- 关于matlab GUI重命名的问题。「建议收藏」
- plot画分段函数_Matlab分段函数图像画法的几点注记「建议收藏」
- matlab矩阵除法「建议收藏」
- matlab/octave/scilab/python 获取当前目录下的文件(夹)名称列表(非遍历)命令小结
- matlab 稀疏矩阵 乘法,Matlab 矩阵运算[通俗易懂]
- matlab——for循环「建议收藏」
- 【Matlab】如何规范地编写一个MATLAB函数文件
- MATLAB求解线性规划(含整数规划和0-1规划)问题[通俗易懂]
- MATLAB中生成随机数方法总结
- matlab中0/0_matlab样条插值
- Fill my holes_imfilter函数matlab
- matlab保存图片函数后突变分辨变化,MATLAB总结 – 图片保存「建议收藏」
- 如何利用matlab进行聚类分析_什么是聚类分析
- 时滞模型的matlab编程_如何用matlab仿真
- MATLAB循环_matlab如何循环计算
- matlab 汽车振动,基于MatLab的车辆振动响应幅频特性分析
- 数学建模(7)动态规划以及matlab实现
- matlab用dde23求解带有固定时滞的时滞微分方程
- Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型|附代码数据