五种多目标优化算法(MSSA、MOJS、NSWOA、MOPSO、MOAHA)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)

一、5种多目标优化算法简介

1.1MSSA

1.2MOJS

1.3NSWOA

1.4MOPSO

1.5MOAHA

二、5种多目标优化算法性能对比

为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3),其中Viennet2 与Viennet3的目标数为3,其余测试函数的目标数为2,并采用6种评价指标(IGD、GD、HV、Coverage、Spread、Spacing)进行评价对比

2.1部分代码

复制代码
close all;
clear ;
clc;
addpath('./MSSA/')%添加算法路径
addpath('./MOJS/')%添加算法路径
addpath('./NSWOA/')%添加算法路径
addpath('./MOPSO/')%添加算法路径
addpath('./MOAHA/')%添加算法路径
%%
% TestProblem测试问题说明:
%一共9个多目标测试函数1-9分别是: zdt1 zdt2 zdt3 zdt4 zdt6 Schaffer  Kursawe Viennet2 Viennet3
%%
TestProblem=2;%测试函数1-9
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%问题名
% Parameters
params.Np = 100;        % Population size 种群大小
params.Nr = 200;        % Repository size 外部存档
params.maxgen=50;    % Maximum number of generations 最大迭代次数
numOfObj=MultiObj.numOfObj;%目标函数个数
%% 算法求解,分别得到paretoPOS和paretoPOF
[Xbest1,Fbest1] = MSSA(params,MultiObj);
[Xbest2,Fbest2] = MOJS(params,MultiObj);
[Xbest3,Fbest3]  = NSWOA(params,MultiObj);
[Xbest4,Fbest4] = MOPSO(params,MultiObj);
[Xbest5,Fbest5]  = MOAHA(params,MultiObj);
FbestData(1).data=Fbest1;
FbestData(2).data=Fbest2;
FbestData(3).data=Fbest3;
FbestData(4).data=Fbest4;
FbestData(5).data=Fbest5;
%% 获取测试函数的真实pareto前沿
True_Pareto=MultiObj.truePF;
%% 计算每个算法的评价指标
% ResultData的值分别是IGD、GD、HV、Coverage、Spread、Spacing
for i=1:5
    Fbest=FbestData(i).data;
    ResultData(i,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
end


%% 画图
PlotFigure;

2.2部分结果

(1)以ZDT2为例:

(2)以Viennet3为例:

三、完整MATLAB代码

相关推荐
Python私教12 分钟前
源滚滚Rust全栈班v1.02 无符号整数详解
开发语言·后端·rust
Brookty15 分钟前
【算法】双指针(二)复写零
学习·算法
yBmZlQzJ29 分钟前
PyQt5 修改标签字体和颜色的程序
开发语言·python·qt
胖达不服输31 分钟前
「日拱一码」081 机器学习——梯度增强特征选择GBFS
人工智能·python·算法·机器学习·梯度增强特征选择·gbfs
初级炼丹师(爱说实话版)1 小时前
2025算法八股——深度学习——优化器小结
人工智能·深度学习·算法
10001hours1 小时前
C语言第12讲
c语言·开发语言
努力的小帅1 小时前
C++_哈希
开发语言·c++·学习·算法·哈希算法·散列表
Christo32 小时前
TFS-2023《Fuzzy Clustering With Knowledge Extraction and Granulation》
人工智能·算法·机器学习·支持向量机
过河卒_zh15667662 小时前
AI内容标识新规实施后,大厂AI用户协议有何变化?(二)百度系
人工智能·算法·aigc·算法备案·生成合成类算法备案
知彼解己2 小时前
深入理解 AbstractQueuedSynchronizer (AQS):Java 并发的排队管家
java·开发语言