💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
多目标海洋捕食者算法(MOMPA)求解最短路径问题研究
一、MOMPA的基本原理与核心机制
多目标海洋捕食者算法(Multi-objective Marine Predators Algorithm, MOMPA)由Afshin Faramarzi等人于2020年提出,是单目标海洋捕食者算法(MPA)的多目标扩展版本。其灵感来源于海洋捕食者的觅食策略,结合Lévy飞行、Brownian运动以及捕食者与猎物的动态交互,模拟自然界中的适者生存理论。
1. 算法三阶段优化策略
- 第一阶段(高速比阶段):
当猎物移动速度显著快于捕食者时(速度比 v≥10v≥10),捕食者采用“静止策略”,主要通过Lévy飞行进行全局探索,适用于优化初期的大范围搜索。 - 第二阶段(单位速度比阶段):
捕食者与猎物速度相近(v≈1v≈1),算法将种群分为两半,分别进行勘探(捕食者)与开发(猎物)。猎物采用Lévy运动,捕食者采用Brownian运动,平衡探索与开发能力。 - 第三阶段(低速比阶段):
当捕食者速度显著快于猎物(v=0.1v=0.1),捕食者采用Lévy飞行进行局部开发,聚焦于高精度解的优化,适用于迭代后期。
2. 环境扰动机制
- FADs效应(Fish Aggregating Devices):
模拟海洋中鱼类聚集装置对捕食者行为的影响,通过随机维度跳跃(概率为20%)避免陷入局部最优,数学表示为:
编辑
3. 多目标优化改进
- 外部归档机制:存储非支配帕累托最优解,容量固定为种群大小的一半,通过拥挤度排序保持解集多样性。
- 顶级捕食者选择:基于精英策略,从归档中选择相邻解数最少的个体作为引导搜索的“顶级捕食者”。
二、最短路径问题的多目标优化需求
传统最短路径问题(如Dijkstra算法)仅考虑单一目标(如距离),而实际场景常需兼顾成本、时间、能耗等多目标。例如:
- 物流运输:需平衡运输成本、时间与碳排放。
- 无人机路径规划:需优化路径长度、能耗与避障安全性。
多目标优化数学模型
对于图 G=(V,E)G=(V,E),多目标最短路径问题可定义为:
编辑
其中,fi(x)表示第ii个目标函数(如距离、时间、成本),xx为路径解。
三、MOMPA在最短路径问题中的应用
1. 旅行商问题(TSP)
- 问题建模:将城市坐标编码为决策变量,目标函数为总路径长度与时间成本。
- 实验结果:MOMPA在30城市TSP中,帕累托前沿覆盖率高,解集分布均匀,优于NSGA-II和MOPSO。
- Matlab实现:通过
Draw_Path
函数可视化路径,使用箭头标注移动方向(见图1)。
2. 城市间多交通模式路径规划
- 案例:美国25个主要城市间(洛杉矶至纽约)的汽车/飞机路线优化,目标为成本、距离、时间。
- 方法:结合Lexicographic法,优先优化主要目标(如成本),再依次处理次要目标。
- 结果:MOMPA提供多组非支配解,支持决策者根据偏好选择。
3. 无人机三维路径规划
- 挑战:需规避障碍物并优化飞行高度、能耗与安全性。
- MOMPA改进:引入高斯扰动机制增强全局搜索能力,在复杂地形中生成平滑且安全的路径。
四、MOMPA与传统多目标算法性能对比
1. 测试基准
- 测试函数:ZDT、DTLZ、WFG等46个多目标函数。
- 工程问题:车侧撞击优化、齿轮系设计等7类实际问题。
2. 关键指标
- 收敛性:IGD(反向世代距离)、GD(世代距离)。
- 多样性:Spacing、Delta指标。
- 综合性能:MOMPA在60%的测试函数中优于NSGA-II和MOEA/D,尤其在高压线塔设计等问题中,解集质量提升15%。
3. 优势分析
- 参数敏感性低:仅需调整种群大小与迭代次数,无需复杂参数调优。
- 计算效率高:时间复杂度为O(MN2)O(MN2),低于NSGA-II的O(MN3)O(MN3)。
五、研究展望与挑战
- 动态环境适应性:当前MOMPA假设环境静态,未来需结合实时数据更新策略(如动态矩阵转换)。
- 高维优化:针对1000+维的大规模路径规划问题,需引入紧凑型编码或并行计算。
- 硬件集成:在嵌入式系统中部署MOMPA,实现无人机、自动驾驶车辆的实时路径规划。
📚2 运行结果
编辑
编辑
编辑
编辑
编辑
编辑
本部分包括第4部分全部代码及文章, 然后代码有详细注释:
function Draw_Path(Path,X) %{输入:待画路线 城市的坐标位置;输出:旅行商的路线} R = [Path(1,:) Path(1,1)]; % 一共有n个城市,但是这里R有n+1个值,是为了让路径最后再回到起点 A = X(R,:); %根据R将坐标顺序存入A中 row = size(A,1); %实际上row=n+1 %% 绘图 figure; hold on plot(X(:,1),X(:,2),'ro') %X(:,1),X(:,2)分别代表的X轴坐标和Y轴坐标 for i = 2:row [arrowx,arrowy] = dsxy2figxy(gca,A(i-1:i,1),A(i-1:i,2)); %dsxy2figxy坐标转换函数,记录两个点 annotation('textarrow',arrowx,arrowy,'HeadWidth',3,'color',[1,0,1]); %将这两个点连接起来 end hold off %% 绘制路线图 figure(2); xlabel('横坐标x') ylabel('纵坐标y') title('旅行商轨迹图') end
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取【请看主页然后私信】