CEC2015:动态多目标野狗优化算法求解CEC2015(提供完整MATLAB代码,含GD、IGD、HV和SP评价指标)
创始人
2024-03-17 07:32:00
0

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

现实世界中,许多优化问题不仅具有多属性,而且与时间相关,即随着时间的变化,优化问题本身也发生改变,这类问题称为动态多目标优化问题(dynamic multi-objective optimization problems,DMOP)。DMOP是一类目标之间相互冲突,目标函数、约束函数和相关参数等可能随着时间的变化而改变的多目标优化问题。不失一般性,以最小化多目标问题为研究对象,一个具有n个决策变量,m个目标函数的DMOP可以描述为:
{min⁡x∈Ω(x,t)=(f1(x,t),f2(x,t),⋯,fm(x,t))Ts⋅t⋅gi(x,t)⩽0(i=1,2,⋯,p)hj(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))Ts⋅t⋅gi​(x,t)⩽0(i=1,2,⋯,p)hj​(x,t)=0(j=1,2,⋯,q)​
其中,t为时间变量,x=(x1,x1,⋯,xn)∈Ω为n维决策变量,F=(f1,f2,⋯,,fm)为m维目标向量,gi⩽0(i=1,2,⋯,p)为p个不等式约束,hj=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维目标向量,gi​⩽0(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中每个测试函数的环境变化程度ntn_{t}nt​、环境变化频率τt{\tau}_{t}τt​ 和最大迭代次数τT{\tau}_{T}τT​考虑如下8种情形:
在这里插入图片描述

4.2 评价指标

4.2.1 世代距离(Generational Distance,GD)

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

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

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

4.2.3 超体积(Hypervolume,HV)

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

4.2.4 间距(Spacing,SP)

Schott提出了一种评价指标———间距(SP)来度量算法所获得的Pareto前沿中的个体的是否分布均匀,表达式如下:
St=1∣PFt∣−1∑i=1∣PFt∣(di−dˉ)2di=min⁡k=1,⋯,∣PFt,,k≠i(∑j=1m∣PFt(i,j)−PFt(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​=∣PFt​∣−11​∑i=1∣PFt​∣​(di​−dˉ)2​di​=mink=1,⋯,∣PFt​,,k​=i​(∑j=1m​∣PFt​(i,j)−PFt​(k,j)∣)​
式中,PFtP F_{t}PFt​ 是t时刻算法所获得的Pareto前沿,did_{i}di​是PFtP F_{t}PFt​中第i个个体与PFtP F_{t}PFt​中和个体i最近的个体之间的欧式距离,dˉ\bar{d}dˉ 是did_{i}di​的平均值.SP可以评价PFtP 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时,即:环境变化程度nt=10n_{t}=10nt​=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时,即:环境变化程度nt=10n_{t}=10nt​=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随时间的变化曲线:
在这里插入图片描述

五、参考代码

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

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...