多目标优化算法:MOGWO与NSGA2性能对比(MATLAB代码)

作品简介

一、介绍

多目标灰狼优化算法GWO与NSGA2在9个测试函数上对比zdt1 zdt2 zdt3 zdt4 zdt6 Schaffer Kursawe Viennet2 Viennet3包含六种评价指标。

二、部分代码

close all;
clear ;
clc;
addpath('./MOGWO/')%添加算法路径
addpath('./NSGA2/')%添加算法路径
%%
% TestProblem测试问题说明:
%MATLABcode>https://mbd.pub/o/liang/work
%一共9个多目标测试函数1-9分别是: zdt1 zdt2 zdt3 zdt4 zdt6 Schaffer  Kursawe Viennet2 Viennet3
%%
TestProblem=8;%测试函数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
%MATLABcode>https://mbd.pub/o/liang/work
[Xbest2,Fbest2] = MOGWO(params,MultiObj);
[Xbest5,Fbest5]  = NSGA2(params,MultiObj);
FbestData(1).data=Fbest2;
FbestData(2).data=Fbest5;
%% 获取测试函数的真实pareto前沿
%MATLABcode>https://mbd.pub/o/liang/work
True_Pareto=MultiObj.truePF;
%% 计算每个算法的评价指标
% ResultData的值分别是IGD、GD、HV、Coverage、Spread、Spacing
%MATLABcode>https://mbd.pub/o/liang/work
for i=1:2
    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
%% 画图
%MATLABcode>https://mbd.pub/o/liang/work
PlotFigure;

三、部分结果










四、完整MATLAB代码


创作时间: