• CEC2015:(二)动态多目标野狗优化算法DMODOA求解DIMP2、dMOP2、dMOP2iso、dMOP2dec(提供Matlab代码)


    一、cec2015中测试函数DIMP2、dMOP2、dMOP2iso、dMOP2dec详细信息

    CEC2015:动态多目标测试函数之DIMP2、dMOP2、dMOP2iso、dMOP2dec详细信息

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

    多目标野狗优化算法(Multi-Objective Dingo Optimization Algorithm,MODOA)原理

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

    三、DIMP2、dMOP2、dMOP2iso、dMOP2dec参数说明及求解结果

    3.1 8种不同参数设置

    环境变化程度、环境变化频率 和最大迭代次数考虑如下8种情形:
    在这里插入图片描述

    3.2多样性度量指标(Spacing,SP)

    Schott提出了计算解集分布性的方法, 该指标用来衡量在目标空间的解集分布是否均匀, 其函数定义为:

    在这里插入图片描述

    其中:
    在这里插入图片描述

    式中, di是第 i 个解与其最近解之间的欧几里得距离, n 是已知 Pareto 边界的大小。SP 反映了算法所得到的 Pareto 前沿的均匀性, SP 越小说明算法得到的 Pareto 最优解分布的越 是均匀. 当这种方法与其他方法结合时, 它能提供所得解的分布信息, 从而使结果更加准确。

    3.3部分求解结果

    设置种群大小为300,外部存档大小为500,当取第一组参数设置时,即环境变化程度、环境变化频率 和最大迭代次数分别为10/5/100,以dMOP2iso为例,其代码如下:(代码中更改TestProblem可以选择不同测试函数,更改group可以选择不同参数设置)

    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.
    %[3]https://blog.csdn.net/weixin_46204734/article/details/126926257?spm=1001.2014.3001.5501
    %% 动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)
    % DMODOA求解cec2015中DIMP2、dMOP2、dMOP2_iso、dMOP2_dec
    TestProblem=7;%选择测试函数5-8分别为DIMP2、dMOP2、dMOP2_iso、dMOP2_dec 
    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 外部存档大小
    params.nt=paramiter(1); % nt 环境变化程度
    params.taut=paramiter(2);% taut 环境变化频率  
    params.maxgen=paramiter(3);%maxgen 最大迭代次数
    
    %动态多目标野狗优化算法求解,结果为Result
    Result = DMODOA(params,MultiObj);
    save Result Result %保存结果
    disp('Repository fitness values are stored in Result.PF');
    disp('Repository particles positions are store in Result.PS');
    
    • 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

    dMOP2iso在环境变化程度为10和环境变化频率为5时:

    DMODOA求解dMOP2iso得到的PF:

    在这里插入图片描述

    DMODOA求解dMOP2iso的多样性度量指标SP随时间的变化曲线:

    在这里插入图片描述

    在代码中更改TestProblem和group的值就可以实现不同测试函数在不同参数设置下的结果,简洁方便。

    四、参考代码

    文件夹中包含DMODOA求解cec2015中测试函数DIMP2、dMOP2、dMOP2iso、dMOP2dec在8种不同参数设置下的所有MATLAB代码,点击main.m即可运行。只需在main.m代码中更改group的值就可以选择不同参数,更改TestProblem的值就可以选择不同测试函数,代码中包含部分注释,快捷方便。

    在这里插入图片描述

  • 相关阅读:
    智能手术机器人起源及应用(一)
    网站都变成灰色的了,代码是怎么实现的呢?
    基于SpringBoot+Vue的新能源汽车充电桩管理系统
    GStreamer概述
    急招开发、安全工程师&实习生
    如何在 Unbuntu 下安装配置 Apache Zookeeper
    Docker进入容器出现:bash: vi: command not found
    Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]
    基于workbench的PTFE矩形密封圈压缩回弹仿真分析
    C语言中,基本数据类型介绍
  • 原文地址:https://blog.csdn.net/weixin_46204734/article/details/127770198