CEC2015:动态多目标野狗优化算法求解CEC2015(提供完整MATLAB代码,含GD、IGD、HV和SP评价指标)

88 篇文章 39 订阅
20 篇文章 17 订阅

一、动态多目标优化问题简介

现实世界中,许多优化问题不仅具有多属性,而且与时间相关,即随着时间的变化,优化问题本身也发生改变,这类问题称为动态多目标优化问题(dynamic multi-objective optimization problems,DMOP)。DMOP是一类目标之间相互冲突,目标函数、约束函数和相关参数等可能随着时间的变化而改变的多目标优化问题。不失一般性,以最小化多目标问题为研究对象,一个具有n个决策变量,m个目标函数的DMOP可以描述为:
{ min ⁡ x ∈ Ω ( x , t ) = ( f 1 ( x , t ) , f 2 ( x , t ) , ⋯   , f m ( x , t ) ) T s ⋅ t ⋅ g i ( x , t ) ⩽ 0 ( i = 1 , 2 , ⋯   , p ) h j ( x , t ) = 0 ( j = 1 , 2 , ⋯   , q ) \left\{\begin{array}{l} \min _{x \in \Omega}(\boldsymbol{x}, t)=\left(f_{1}(\boldsymbol{x}, t), f_{2}(\boldsymbol{x}, t), \cdots, f_{m}(\boldsymbol{x}, t)\right)^{T} \\ s \cdot t \cdot g_{i}(\boldsymbol{x}, t) \leqslant 0(i=1,2, \cdots, p) \\ h_{j}(\boldsymbol{x}, t)=0(j=1,2, \cdots, q) \end{array}\right. minxΩ(x,t)=(f1(x,t),f2(x,t),,fm(x,t))Tstgi(x,t)0(i=1,2,,p)hj(x,t)=0(j=1,2,,q)
其中 , t 为时间变量 , x = ( x 1 , x 1 , ⋯   , x n ) ∈ Ω 为 n 维决策变量 , F = ( f 1 , f 2 , ⋯   , , f m ) 为 m 维目标向量 , g i ⩽ 0 ( i = 1 , 2 , ⋯   , p ) 为 p 个不等式约束 , h j = 0 ( j = 0 , 1 , ⋯   , q ) 为 q 个等式约束。 其中, t 为时间变量, \\x=\left(x_{1}, x_{1}, \cdots, x_{n}\right) \in \Omega 为 n 维决策变量, \\\boldsymbol{F}=\left(f_{1}, f_{2}, \cdots,\right. , \left.f_{m}\right) 为 m 维目标向量, \\ g_{i} \leqslant 0(i=1,2, \cdots, p) 为 p 个不等式约束,\\ h_{j}=0(j=0 , 1, \cdots, q) 为 q 个等式约束。 其中,t为时间变量,x=(x1,x1,,xn)Ωn维决策变量,F=(f1,f2,,,fm)m维目标向量,gi0(i=1,2,,p)p个不等式约束,hj=0(j=0,1,,q)q个等式约束。

二、CEC2015测试函数

cec2015共包含12个测试函数,分别是FDA4、FDA5、FDA5_iso、FDA5_dec、DIMP2、dMOP2、dMOP2_iso、dMOP2_dec、dMOP3、 HE2、HE7和HE9。其中前四个测试函数目标数为3,其余目标数为2。
在这里插入图片描述

2.1 FDA4

CEC2015动态多目标测试函数之FDA4,不同参数下PF随时间变化动图
在这里插入图片描述

2.2 FDA5

CEC2015动态多目标测试函数之FDA5,不同参数下PF随时间变化动图
在这里插入图片描述

2.3 FDA5_iso

CEC2015动态多目标测试函数之FDA5_iso,不同参数下PF随时间变化动图
在这里插入图片描述

2.4 FDA5_dec

CEC2015动态多目标测试函数之FDA5_dec,不同参数下PF随时间变化动图
在这里插入图片描述在这里插入图片描述

2.5 DIMP2

CEC2015动态多目标测试函数之DIMP2,不同参数下PF随时间变化动图

在这里插入图片描述

2.6 dMOP2

CEC2015动态多目标测试函数之dMOP2,不同参数下PF随时间变化动图
在这里插入图片描述

2.7 dMOP2_iso

CEC2015动态多目标测试函数dMOP2_iso,不同参数下PF随时间变化动图
在这里插入图片描述

2.8 dMOP2_dec

CEC2015动态多目标测试函数dMOP2_dec,不同参数下PF随时间变化动图
在这里插入图片描述

2.9 dMOP3

CEC2015动态多目标测试函数之dMOP3,不同参数下PF随时间变化动图
在这里插入图片描述在这里插入图片描述

2.10 HE2

CEC2015动态多目标测试函数之HE2,不同参数下PF随时间变化动图
在这里插入图片描述

2.11 HE7

CEC2015动态多目标测试函数之HE7,不同参数下PF随时间变化动图
在这里插入图片描述
在这里插入图片描述

2.12 HE9

CEC2015动态多目标测试函数之HE9,不同参数下PF随时间变化动图
在这里插入图片描述

参考文献:
[1]M Helbig, AP Engelbrecht. Benchmark Functions for CEC 2015 Special Session and Competition on Dynamic Multi-objective Optimization.
[2] Hernán Peraza-Vázquez, Adrián F. Peña-Delgado, Gustavo Echavarría-Castillo, et al. A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies[J]. Mathematical Problems in Engineering, vol. 2021, Article ID 9107547, 19 pages, 2021.

三、动态多目标野狗优化算法

多目标野狗优化算法( Multi-objective Dingo Optimization Algorithm,MODOA)
动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)在MODOA基础上加入环境变化检测及种群重启机制,以应对动态环境下多目标问题的求解。

四、DMODOA求解CEC2015

4.1 8种不同参数设置

CEC2015中每个测试函数的环境变化程度 n t n_{t} nt、环境变化频率 τ t {\tau}_{t} τt 和最大迭代次数 τ T {\tau}_{T} τT考虑如下8种情形:
在这里插入图片描述

4.2 评价指标

4.2.1 世代距离(Generational Distance,GD)

GD通过度量算法所获得的Pareto前沿与真实 Pareto前沿之间的距离来评价算法的收敛 性,GD 的表达式如下:
G D t ( P F t , P F t ∗ ) = ∑ v ∈ P F t d ( v , P F t ∗ ) ∣ P F t ∣ G D_{t}\left(P F_{t}, P F_{t}^{*}\right)=\frac{\sum_{v \in P F_{t}} d\left(v, P F_{t}^{*}\right)}{\left|P F_{t}\right|} GDt(PFt,PFt)=PFtvPFtd(v,PFt)
式中, P F t ∗ P F_{t}^{*} PFt是t时刻的标准Pareto前沿, P F t P F_{t} PFt 是t时刻算法所获得的Pareto前沿,d(v, P F t P F_{t} PFt )是 P F t P F_{t} PFt 上的个体v与 P F t ∗ P F_{t}^{*} PFt中距离v最近的个体之间欧式距离.可以看出,GD的评价方法是对于算法所获得的Pareto前沿 P F t P F_{t} PFt 中每个个体,在标准Pareto前沿 P F t ∗ P F_{t}^{*} PFt中找到与它距离最近的个体并计算他们之间的欧式距离,之后将所有欧式距离求和相加再取平均值,因此GD值可以评价 P F t P F_{t} PFt P F t ∗ P F_{t}^{*} PFt之间的接近程度,GD值越小说明算法收敛性越好。

4.2.2 反世代距离 (Inverted Generational Distance,IGD)

IGD通过度量真实Pareto前沿与算法所获得的Pareto前沿之间的接近程度来评价算法的收敛性和多样性,IGD指标定义如下:
I G D t ( P F t ∗ , P F t ) = ∑ v ∈ P F t ∗ d ( v , P F t ) ∣ P F t ∗ ∣ I G D_{t}\left(P F_{t}^{*}, P F_{t}\right)=\frac{\sum_{v \in P F_{t}^{*}} d\left(v, P F_{t}\right)}{\left|P F_{t}^{*}\right|} IGDt(PFt,PFt)=PFtvPFtd(v,PFt)
式中, P F t ∗ P F_{t}^{*} PFt是t时刻的标准Pareto前沿, P F t P F_{t} PFt 是t时刻算法所获得的Pareto前沿,d(v, P F t P F_{t} PFt )是 P F t P F_{t} PFt 上的个体v与 P F t ∗ P F_{t}^{*} PFt中距离v最近的个体之间欧式距离。可以看出,IGD的评价方法是对于标准Pareto前沿 P F t ∗ P F_{t}^{*} PFt中每个个体在算法所获得的Pareto前沿 P F t P F_{t} PFt 中找到与它距离最近的点并计算它们之间的欧式距离,之后将所有欧式距离求和相加再取平均值,因此IGD不仅可以评价 P F t ∗ P F_{t}^{*} PFt P F t P F_{t} PFt之间的接近程度,还可以评价PFt中个体的分布性,IGD值越小说明算法所得到的Pareto前沿收敛性越好,分布越均匀。

4.2.3 超体积(Hypervolume,HV)

HV衡量算法所获得的PS在目标空间所覆盖的范围大小,该指标可以同时衡量收敛性和多样性,计算公式如下:
H V t = volume ⁡ ( ⋃ i = 1 ∣ P F t ∣ v i ) H V_{t}=\operatorname{volume}\left(\bigcup_{i=1}^{\left|P F_{t}\right|} v_{i}\right) HVt=volume i=1PFtvi
式中, P F t P F_{t} PFt 是t时刻算法所获得的Pareto前沿, v i v_{i} vi是由参考点和个体i形成的超体积。HV越大说明算法所得到的Pareto前沿收敛性越好,分布越均匀。

4.2.4 间距(Spacing,SP)

Schott提出了一种评价指标———间距(SP)来度量算法所获得的Pareto前沿中的个体的是否分布均匀,表达式如下:
S t = 1 ∣ P F t ∣ − 1 ∑ i = 1 ∣ P F t ∣ ( d i − d ˉ ) 2 d i = min ⁡ k = 1 , ⋯   , ∣ P F t , , k ≠ i ( ∑ j = 1 m ∣ P F t ( i , j ) − P F t ( k , j ) ∣ ) \begin{array}{c} S_{t}=\sqrt{\frac{1}{\left|P F_{t}\right|-1} \sum_{i=1}^{\left|P F_{t}\right|}\left(d_{i}-\bar{d}\right)^{2}} \\ d_{i}=\min _{k=1, \cdots, \mid P F_{t},, k \neq i}\left(\sum_{j=1}^{m}\left|P F_{t}(i, j)-P F_{t}(k, j)\right|\right) \end{array} St=PFt11i=1PFt(didˉ)2 di=mink=1,,PFt,,k=i(j=1mPFt(i,j)PFt(k,j))
式中, P F t P F_{t} PFt 是t时刻算法所获得的Pareto前沿, d i d_{i} di P F t P F_{t} PFt中第i个个体与 P F t P F_{t} PFt中和个体i最近的个体之间的欧式距离, d ˉ \bar{d} dˉ d i d_{i} di的平均值.SP可以评价 P F t P F_{t} PFt中个体的分布性,SP值越小说明算法所得到的Pareto前沿分布越均匀。
参考文献:
[1]刘若辰,李建霞,刘静,焦李成.动态多目标优化研究综述[J].计算机学报,2020,43(07):1246-1278.
[2]刘淳安. 动态多目标优化进化算法及其应用[M]. 科学出版社, 2011.

4.3 部分代码

设置种群大小为300,外部存档大小为500,以dMOP2_iso为例,当取第4组参数设置时,即环境变化程度、环境变化频率 和最大迭代次数分别为10/50/1000,其代码如下:(代码中更改TestProblem以此选择不同测试函数1-12,更改group选择不同参数设置1-8,相对于共有96种情形可供选择

close all;
clear ; 
clc;
warning off
%参考文献
%[1]M Helbig, AP Engelbrecht. Benchmark Functions for CEC 2015 Special Session and Competition on Dynamic Multi-objective Optimization. 
%[2]Hernán Peraza-Vázquez, Adrián F. Pe?a-Delgado, Gustavo Echavarría-Castillo, et al. A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies[J]. Mathematical Problems in Engineering, vol. 2021, Article ID 9107547, 19 pages, 2021.
%% 动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)
TestProblem=7;%选择测试函数1-12(可以自己修改)
group=1;%选择参数1-8 (可以自己修改)
MultiObj = GetFunInfoCec2015(TestProblem);%获取测试问题维度、目标函数、上下限、目标个数等信息
MultiObj.name=GetFunPlotName(TestProblem);%获取测试问题名称
paramiter=GetFunParamiter(group);%获取参数nt taut maxgen
% 参数设置
params.Np = 300;        %Np 种群大小 (可以自己修改)
params.Nr = 500;        %Nr 外部存档大小 (可以自己修改) 注意:外部存档大小Nr不能小于种群大小Np
params.nt=paramiter(1); % nt 环境变化程度
params.taut=paramiter(2);% taut 环境变化频率  
params.maxgen=paramiter(3);%maxgen 最大迭代次数
%% 动态多目标野狗优化算法求解,结果为Result
Result = DMODOA(params,MultiObj);

4.4 部分结果

由于测试函数共有12个,且每个测试函数均有8种参数可供选择,因而共有96种选择方案。由于篇幅限制,下面仅以dMOP2_iso和dMOP3为例,采用DMODOA求解。测试其余函数只需修改代码中TestProblem和group的值。

4.4.1 dMOP2_iso

当dMOP2_iso的参数设置选择为1时,即:环境变化程度 n t = 10 n_{t}=10 nt=10、环境变化频率 τ t = 5 {\tau}_{t}=5 τt=5 和最大迭代次数 τ T = 100 {\tau}_{T}=100 τT=100
dMOP2_iso问题真实的POF:
在这里插入图片描述

close all;
clear ; 
clc;
warning off
%参考文献
%[1]M Helbig, AP Engelbrecht. Benchmark Functions for CEC 2015 Special Session and Competition on Dynamic Multi-objective Optimization. 
%[2]Hernán Peraza-Vázquez, Adrián F. Pe?a-Delgado, Gustavo Echavarría-Castillo, et al. A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies[J]. Mathematical Problems in Engineering, vol. 2021, Article ID 9107547, 19 pages, 2021.
%% 动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)
TestProblem=7;%选择测试函数1-12(可以自己修改)
group=1;%选择参数1-8 (可以自己修改)
MultiObj = GetFunInfoCec2015(TestProblem);%获取测试问题维度、目标函数、上下限、目标个数等信息
MultiObj.name=GetFunPlotName(TestProblem);%获取测试问题名称
paramiter=GetFunParamiter(group);%获取参数nt taut maxgen
% 参数设置
params.Np = 300;        %Np 种群大小 (可以自己修改)
params.Nr = 500;        %Nr 外部存档大小 (可以自己修改) 注意:外部存档大小Nr不能小于种群大小Np
params.nt=paramiter(1); % nt 环境变化程度
params.taut=paramiter(2);% taut 环境变化频率  
params.maxgen=paramiter(3);%maxgen 最大迭代次数
%% 动态多目标野狗优化算法求解,结果为Result
Result = DMODOA(params,MultiObj);

DMODOA所求的结果如下:
DMODOA求dMOP2_iso所得的POF:
在这里插入图片描述
DMODOA求dMOP2_iso的GD随时间的变化曲线:
在这里插入图片描述

DMODOA求dMOP2_iso的IGD随时间的变化曲线:
在这里插入图片描述

DMODOA求dMOP2_iso的HV随时间的变化曲线:
在这里插入图片描述

DMODOA求dMOP2_iso的SP随时间的变化曲线:
在这里插入图片描述

4.4.1 dMOP3

当dMOP3的参数设置选择为4时,即:环境变化程度 n t = 10 n_{t}=10 nt=10、环境变化频率 τ t = 50 {\tau}_{t}=50 τt=50 和最大迭代次数 τ T = 1000 {\tau}_{T}=1000 τT=1000
dMOP3问题真实的POF:
在这里插入图片描述

close all;
clear ; 
clc;
warning off
%参考文献
%[1]M Helbig, AP Engelbrecht. Benchmark Functions for CEC 2015 Special Session and Competition on Dynamic Multi-objective Optimization. 
%[2]Hernán Peraza-Vázquez, Adrián F. Pe?a-Delgado, Gustavo Echavarría-Castillo, et al. A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies[J]. Mathematical Problems in Engineering, vol. 2021, Article ID 9107547, 19 pages, 2021.

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

%% 动态多目标野狗优化算法求解,结果为Result
Result = DMODOA(params,MultiObj);

DMODOA所求的结果如下:
DMODOA求dMOP3所得的POF:
在这里插入图片描述

DMODOA求dMOP3的GD随时间的变化曲线:
在这里插入图片描述

DMODOA求dMOP3的IGD随时间的变化曲线:
在这里插入图片描述

DMODOA求dMOP3的HV随时间的变化曲线:
在这里插入图片描述

DMODOA求dMOP3的SP随时间的变化曲线:
在这里插入图片描述

五、参考代码

代码链接:https://mbd.pub/o/bread/mbd-Y52TlZpr

文件夹内包含DMODOA求解CEC2015共12个测试函数的全部MATLAB代码,并提供每个测试函数真实的Pareto前沿,同时通过四种评价指标(GD、IGD、HV和SP)。代码均能运行,包含使用说明,完整代码添加博客下方博主微信,私聊获取
在这里插入图片描述

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值