【路径规划】MFO 3D (多目标萤火虫优化算法的三维路径规划)(Matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

路径规划是一种基于多目标萤火虫优化算法的三维路径规划方法。它适用于在三维空间中进行目标搜索和路径规划,特别是在机器人导航、飞行器路径规划等领域。MFO 3D路径规划旨在解决三维空间中复杂环境下的路径规划问题。它考虑到多个目标,如最短路径、最小能量消耗等,以满足不同的应用需求。MFO 3D路径规划基于萤火虫优化算法(Firefly Optimization)进行改进和扩展。萤火虫优化算法模拟了萤火虫的闪烁行为,通过吸引和追随其他萤火虫来优化目标函数。MFO 3D路径规划在此基础上,考虑到三维空间中的路径规划问题,并通过多目标优化的方式寻找最优解。MFO 3D路径规划的优点包括能够处理多目标问题、全局搜索能力强、对初始解的依赖性较低等。然而,它也存在着计算复杂度高、收敛速度慢等缺点。MFO 3D路径规划是一种基于多目标萤火虫优化算法的三维路径规划方法,具有广泛的应用前景和潜力。

📚2 运行结果

主函数部分代码:

%%基于飞蛾扑火算法的三维路径规划方法
clc
clear
%% 数据初始化,载入海图信息
load  HeightData 
PortGrid=21;
starty=10;
starth=4; 
endy=8;
endh=5;
SearchAgents_no=100; % Number of search agents
Max_iteration=3000; % Maximum numbef of iterations
dim=3;  %问题维度
ub=[21 21 2000];  %变量上限
lb=[0 0 0];     %变量下限
Moth_fitness=Costfuction(path);%代价函数定义
[Best_flame_score,Best_flame_pos,Convergence_curve]=MFO_searchpath(SearchAgents_no,Max_iteration,Moth_fitness,HeightData);
% figure('Position',[284   214   660   290])
% %Draw search space
% subplot(1,2,1);
% func_plot(Function_name);
% title('Test function')
% xlabel('x_1');
% ylabel('x_2');
% zlabel([Function_name,'( x_1 , x_2 )'])
% grid off
% 
% %Draw objective space
% subplot(1,2,2);
% semilogy(cg_curve,'Color','b')
% title('Convergence curve')
% xlabel('Iteration');
% ylabel('Best flame (score) obtained so far');
% 
% axis tight
% grid off
% box on
% legend('MFO')
% 
% display(['The best solution obtained by MFO is : ', num2str(Best_pos)]);
% display(['The best optimal value of the objective funciton found by MFO is : ', num2str(Best_score)]);
for i=1:21
    a(i,1)=Best_flame_pos(i*2-1);
    a(i,2)=Best_flame_pos(i*2);
end
figure(1)
x=1:21;
y=1:21;
[x1,y1]=meshgrid(x,y);
mesh(x1,y1,HeightData)
axis([1,21,1,21,0,2000])
hold on
k=1:21;
plot3(k(1)',a(1,1)',a(1,2)'*200,'--o','LineWidth',2,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','g',...
                       'MarkerSize',10)
plot3(k(21)',a(21,1)',a(21,2)'*200,'--o','LineWidth',2,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','g',...
                       'MarkerSize',10)
                   text(k(1)',a(1,1)',a(1,2)'*200,'S');
text(k(21)',a(21,1)',a(21,2)'*200,'T');
xlabel('km','fontsize',12);
ylabel('km','fontsize',12);
zlabel('m','fontsize',12);

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]吴学礼,史思远,宋凯,等.基于改进多因素蚁群算法的路径规划研究[J/OL].无线电工程:1-8[2024-06-01].http://kns.cnki.net/kcms/detail/13.1097.tn.20240528.1602.010.html.

[1]牛乃平,翟德华,季海涛.改进鲸鱼优化算法在矿用巡检机器人路径规划中的应用[J].煤矿机械,2024,45(06):215-217.DOI:10.13436/j.mkjx.202406061.

🌈4 Matlab代码实现

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值