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


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

    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)" role="presentation">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)
    \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详细信息
    点击查看DF10-DF14详细信息

    %% 画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'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    2.10 DF10:PS随时间变化,PF随时间变化

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

    2.11 DF11:PS随时间变化,PF随时间变化

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

    在这里插入图片描述

    2.12 DF12:PS随时间变化,PF随时间变化

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

    在这里插入图片描述

    在这里插入图片描述

    2.13 DF13:PS随时间变化,PF随时间变化

    在这里插入图片描述

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

    2.14 DF14:PS随时间变化,PF随时间变化

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

    三、完整代码

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

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

  • 相关阅读:
    【Pytorch】各种维度变换函数总结
    MySQL及MySQLworkbench安装教程
    Python3 module 'cups' has no attribute 'Connection'
    机器视觉目标检测 - opencv 深度学习 计算机竞赛
    基于JAVA的学生课程后台管理系统【数据库设计、源码、开题报告】
    027实现可视化编程所需拖拽技术实现方案之vuedraggable
    【ubuntu】中screen的安装与使用
    java实现命令模式
    JOSEF约瑟 JJKY-30(JY82)检漏继电器 面板安装 0.1-50A 380V配零序互感器
    UE5两大核心技术介绍:Nanite与Lumen
  • 原文地址:https://blog.csdn.net/weixin_46204734/article/details/127354118