Dynamic multi-objective optimization algorithm: Dynamic multi-objective lion group optimization algorithm DMOLSO solves cec2015 (provide complete MATLAB code and real POF of all test problems, including GD, IGD, HV and SP evaluation indicators)

1. Introduction to CEC2015

In the real world, many optimization problems are not only multi-attribute, but also time-dependent, that is, the optimization problem itself changes as time changes. This type of problem is called dynamic multi-objective optimization problems (DMOP). ). DMOP is a kind of multi-objective optimization problem in which the objectives conflict with each other, and the objective function, constraint function and related parameters may change with time. cec2015 contains a total of 12 test functions, namely FDA4, FDA5, FDA5 iso, FDA5 dec, DIMP2, dMOP2, dMOP2_iso, dMOP2_dec, dMOP3, HE2, HE7 and HE9. Among them, the number of targets for the first four test functions is 3, and the number of targets for the rest is 2.

The details of cec2015 are as follows: CEC2015

2. Lion Pride Optimization Algorithm LSO

3. Dynamic multi-objective lion group optimization algorithm DMOLSO solves CEC2015

The population size of Dynamic Multi-objective Lion Swarm Optimization (DMOLSO) is set to 300, and the external archive size is 500. Taking dMOP2_iso as an example, when setting the fourth group of parameters, that is, the degree of environmental change, The frequency of environment changes and the maximum number of iterations are 10/50/1000 respectively, and the code is as follows: ( in the code, change TestProblem to select different test functions 1-12, change group to select different parameter settings 1-8, compared to a total of 96 situations available )

%% 完整MATLAB code link: https://mbd.pub/o/bread/mbd-ZJiYkp9y
close all;
clear ; 
clc;
warning off
%% cec2015 参考文献
%[1]M Helbig, AP Engelbrecht. Benchmark Functions for CEC 2015 Special Session and Competition on Dynamic Multi-objective Optimization. 


%% 动态多目标狮群优化算法(Dynamic Multi-objective Lion Swarm Optimization,DMOLSO)
TestProblem=7;%选择测试函数1-12(可以自己修改)
group=4;%选择参数1-8 (可以自己修改)
MultiObj = GetFunInfoCec2015(TestProblem);%获取测试问题维度、目标函数、上下限、目标个数等信息
MultiObj.name=GetFunPlotName(TestProblem);%获取测试问题名称
paramiter=GetFunParamiter(group);%获取参数nt taut maxgen
% 参数设置
params.Np = 100;        %Np 种群大小 (可以自己修改)
params.Nr = 200;        %Nr 外部存档大小 (可以自己修改) 注意:外部存档大小Nr不能小于种群大小Np
params.nt=paramiter(1); % nt 环境变化程度
params.taut=paramiter(2);% taut 环境变化频率  
params.maxgen=paramiter(3);%maxgen 最大迭代次数


%% 动态多目标狮群优化算法DMOLSO求解,结果为Result
Result = DMOLSO(params,MultiObj);


%% 获取真实的POF
for gen=1:params.maxgen
    if rem(gen+1,params.taut)==0
        POF_Banchmark = getBenchmarkPOF(TestProblem,group,gen);
        k=(gen+1)/params.taut;
        Result(k).TruePOF=POF_Banchmark;
    end
end
%% 计算GD IGD HV Spacing
for k=1:size(Result,2)
     Result(k).GD=GD(Result(k).PF,Result(k).TruePOF);
     Result(k).IGD=IGD(Result(k).PF,Result(k).TruePOF); 
     Result(k).HV=HV(Result(k).PF,Result(k).TruePOF);
     Result(k).Spacing=Spacing(Result(k).PF);%计算性能指标SP
end
%% 保存结果
save Result Result %保存结果
disp('Repository fitness values are stored in Result.PF');
disp('Repository particles positions are store in Result.PS');
 
 

Partial results:

4. Complete code

The folder contains the complete MATLAB code for solving cec2015 by the dynamic multi-objective lion group optimization algorithm, and provides real POF for all problems, as well as GD, IGD, HV and SP evaluation indicators. Click main.m to run.

Guess you like

Origin blog.csdn.net/weixin_46204734/article/details/130520830