2024最新多目标优化算法:多目标螳螂搜索算法MOMSA求解46个多目标测试函数+1个工程应用+4种评价指标(提供MATLAB代码)

一、多目标螳螂搜索算法MOMSA

多目标螳螂搜索算法(Multi-objective Mantis Search Algorithm ,MOMSA)由Mohammed Jameel和Mohamed Abouhawwash于2024年提出,其灵感来自于螳螂独特的狩猎行为和性同类相食行为。所提出的 MOMSA 算法采用相同的底层 MSA 收敛机制,并结合精英非支配排序方法来估计帕累托最优解。此外,MOMSA采用拥挤距离机制来增强最优解对所有目标的覆盖范围。

参考文献:

1\]Mohammed Jameel, Mohamed Abouhawwash,**Multi-objective Mantis Search Algorithm (MOMSA): A novel approach for engineering design problems and validation** ,Computer Methods in Applied Mechanics and Engineering,Volume 422,2024,116840,ISSN 0045-7825,[https://doi.org/10.1016/j.cma.2024.116840.](https://doi.org/10.1016/j.cma.2024.116840. "https://doi.org/10.1016/j.cma.2024.116840.") ### 二、部分MATLAB代码 MOMSA**求解46** **个多目标测试函数(ZDT1、ZDT2、ZDT3、ZDT4、ZDT6、DTLZ1-DTLZ7、WFG1-WFG10、UF1-UF10、CF1-CF10、Kursawe、Poloni、Viennet2、Viennet3)** **以及** **1** **个工程应用(盘式制动器设计),并采用四种评价指标(IGD,GD,HV,SP)评价。** 多目标优化算法的评价指标主要用于衡量算法在解决多目标优化问题时的性能和效果。以下是几个常用的评价指标的介绍: 1. Inverted Generational Distance (IGD):IGD是一种衡量算法生成的解集与真实前沿之间距离的指标。它通过计算算法生成的解集中每个解与真实前沿之间的最小距离,并对所有解的距离进行平均来评估算法的性能。IGD值越小,表示算法生成的解集越接近真实前沿。 2. Generational Distance (GD):GD是一种衡量算法生成的解集与真实前沿之间距离的指标。与IGD类似,GD也是通过计算算法生成的解集中每个解与真实前沿之间的距离,并对所有解的距离进行平均来评估算法的性能。GD值越小,表示算法生成的解集越接近真实前沿。 3. Hypervolume (HV):HV是一种衡量算法生成的解集所占据的超体积大小的指标。它通过计算算法生成的解集与真实前沿之间的超体积来评估算法的性能。HV值越大,表示算法生成的解集所占据的超体积越大,即解集的多样性和覆盖面积越好。 4. Spread (SP):SP是一种衡量算法生成的解集的分布均匀性的指标。它通过计算算法生成的解集中相邻解之间的距离来评估算法的性能。SP值越大,表示算法生成的解集的分布越均匀,解集的多样性和覆盖面积越好。 ``` close all; clear ;  clc; %% % TestProblem测试问题说明: %一共46个多目标测试函数,详情如下: %1-5:ZDT1、ZDT2、ZDT3、ZDT4、ZDT6 %6-12:DZDT1-DZDT7 %13-22:wfg1-wfg10 %23-32:uf1-uf10 %33-42:cf1-cf10 %43-46:Kursawe、Poloni、Viennet2、Viennet3 %47 盘式制动器设计 温泽宇,谢珺,谢刚,续欣莹.基于新型拥挤度距离的多目标麻雀搜索算法[J].计算机工程与应用,2021,57(22):102-109. %% TestProblem=1;%1-47 MultiObj = GetFunInfo(TestProblem); MultiObjFnc=MultiObj.name;%问题名 % Parameters params.Np = 150;        % Population size params.Nr = 200;        % Repository size params.maxgen=100;    % Maximum number of generations numOfObj=MultiObj.numOfObj;%目标函数个数 D=MultiObj.nVar;%维度 f = MOMSA(params,MultiObj); X=f(:,1:D);%PS Obtained_Pareto=f(:,D+1:D+numOfObj);%PF if(isfield(MultiObj,'truePF'))%判断是否有参考的PF True_Pareto=MultiObj.truePF; %%  Metric Value % ResultData的值分别是IGD、GD、HV、Spacing  (HV越大越好,其他指标越小越好) ResultData=[IGD(Obtained_Pareto,True_Pareto),GD(Obtained_Pareto,True_Pareto),HV(Obtained_Pareto,True_Pareto),Spacing(Obtained_Pareto)]; else     %计算每个算法的Spacing,Spacing越小说明解集分布越均匀     ResultData=Spacing(Obtained_Pareto);%计算的Spacing end %% disp('Repository fitness values are stored in Obtained_Pareto'); disp('Repository particles positions are store in X'); ``` ### 三、部分结果 ![](https://file.jishuzhan.net/article/1766623378711515138/b47f09f4355687605fcaf603d1a52e96.webp) ![](https://file.jishuzhan.net/article/1766623378711515138/bbc31720e98f346268782c7c62ac3886.webp) ![](https://file.jishuzhan.net/article/1766623378711515138/3609b5cc62be75ef0b2afb7c1eebab7e.webp) ![](https://file.jishuzhan.net/article/1766623378711515138/edb6ba84dcfc9ce8b26070503ba6a086.webp) ![](https://file.jishuzhan.net/article/1766623378711515138/17fe5fd88b39ac1bae05fea26a86bc21.webp) ![](https://file.jishuzhan.net/article/1766623378711515138/7164e3e9e1da4ce5c5257d83408ddac4.webp) ### 四、完整MATLAB代码 [2024最新多目标优化算法:多目标螳螂搜索算法MOMSA求解46个多目标测试函数+1个工程应用+4种评价指标](https://mbd.pub/o/bread/ZZyVk5Zq "2024最新多目标优化算法:多目标螳螂搜索算法MOMSA求解46个多目标测试函数+1个工程应用+4种评价指标") ![](https://file.jishuzhan.net/article/1766623378711515138/a458b9b6bb3c80d05d1b48e466da1fda.webp) ![](https://file.jishuzhan.net/article/1766623378711515138/bc40c38121cb7da918c55400ec4be19f.webp)

相关推荐
2501_944525548 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
Piar1231sdafa8 小时前
蓝莓目标检测——改进YOLO11-C2TSSA-DYT-Mona模型实现
人工智能·目标检测·计算机视觉
Prince-Peng8 小时前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
愚公搬代码9 小时前
【愚公系列】《AI短视频创作一本通》002-AI引爆短视频创作革命(短视频创作者必备的能力)
人工智能
数据猿视觉9 小时前
新品上市|奢音S5耳夹耳机:3.5g无感佩戴,178.8元全场景适配
人工智能
蚁巡信息巡查系统9 小时前
网站信息发布再巡查机制怎么建立?
大数据·人工智能·数据挖掘·内容运营
AI浩9 小时前
C-RADIOv4(技术报告)
人工智能·目标检测
Purple Coder9 小时前
AI赋予超导材料预测论文初稿
人工智能
Data_Journal9 小时前
Scrapy vs. Crawlee —— 哪个更好?!
运维·人工智能·爬虫·媒体·社媒营销
9 小时前
java关于内部类
java·开发语言