CEC2018:动态多目标测试函数DF6~DF9的PS及PF(提供Matlab代码)

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

现实世界中,许多优化问题不仅具有多属性,而且与时间相关,即随着时间的变化,优化问题本身也发生改变,这类问题称为动态多目标优化问题(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个等式约束。

一、CEC2018简介

CEC2018共有14个测试函数:DF1-DF14,其中DF1-DF9是两个目标,DF10-DF14是三个目标。
在这里插入图片描述

二、测试函数

点击查看DF1-DF5详细信息
点击查看DF6-DF9详细信息

%% 画PS
figure
for i=1:maxgen/taut
 plot(h(i).dataPS(:,1),h(i).dataPS(:,2),'.')
    hold on;
end
% grid on; 
xlabel('\it\fontname{Times New Roman}x_1'); ylabel('\it\fontname{Times New Roman}x_2');
title(strcat(probID,'-PS'))


%% 画PF
figure
if TestProblem<10
    if (TestProblem==1)||(TestProblem==2)||(TestProblem==3)||(TestProblem==6)
        for i=1:maxgen/taut
            plot(h(i).dataPF(:,1),h(i).dataPF(:,2),'.')
            hold on;
        end
        xlabel('\it\fontname{Times New Roman}f_1'); ylabel('\it\fontname{Times New Roman}f_2');
    elseif (TestProblem==4)||(TestProblem==5)||(TestProblem==7)||(TestProblem==9)
        for i=1:maxgen/taut
            plot(h(i).dataPF(:,1)+2*h(i).t,h(i).dataPF(:,2)+2*h(i).t,'.')
            hold on;
        end
        xlabel('\it\fontname{Times New Roman}f_1+2t'); ylabel('\it\fontname{Times New Roman}f_2+2t');
    else
        for i=1:maxgen/taut
            plot(h(i).dataPF(:,1)+4*h(i).t,h(i).dataPF(:,2)+4*h(i).t,'.')
            hold on;
        end
        xlabel('\it\fontname{Times New Roman}f_1+4t'); ylabel('\it\fontname{Times New Roman}f_2+4t');
    end
else
    for i=1:maxgen/taut
        plot3(h(i).dataPF(:,1),h(i).dataPF(:,2),h(i).dataPF(:,3),'.')        
        hold on;
    end
    xlabel('\it\fontname{Times New Roman}f_1'); ylabel('\it\fontname{Times New Roman}f_2');zlabel('\it\fontname{Times New Roman}f_3');
end
% grid on;
title(strcat(probID,'-PF'))

2.6 DF6:PS随时间变化,PF随时间变化

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.7 DF7:PS随时间变化,PF随时间变化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.8 DF8:PS随时间变化,PF随时间变化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.9 DF9:PS随时间变化,PF随时间变化

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、完整代码

文件夹内包含动态多目标测试函数DF6、DF7、DF8和DF9的PS及PF完整MATLAB代码。

点击PlotTruePF.m即可运行。
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值