CEC2023:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解CEC2023(提供MATLAB代码及参考文献)

一、动态多目标优化问题

1.1问题定义

1.2 动态支配关系定义

二、 基于自适应启动策略的混合交叉动态多目标优化算法

基于自适应启动策略的混合交叉动态多目标优化算法(Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Self-Adaptive Start-Up Strategy, MC-DCMOEA)由耿焕同等人于2015年提出,其基于自适应冷热启动、混合交叉算子与精英群体的局部搜索等技术方法,力求克服单独采用冷启动方式而出现再次收敛速度慢、单种交叉算子 自适应不够以及正态变异多样性程度偏弱等问题。MC-DCMOEA算法描述如下:

参考文献:

1\]GENG Huan-Tong,SUN Jia-Qing,JIA Ting-Ting. **A Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Self-Adaptive Start-Up Strategy**\[J\]. Pattern Recognition and Artificial Intelligence, 2015, 28(5): 411-421. ### 三、CEC2023简介 现实生活中,存在许多动态多目标优化问题(Dynamic Multi-objective Optimization Problems,DMOPs),这类问题的目标函数之间相互矛盾,并且目标函数、约束或者参数都可能随着时间的变化而发生变化.这种随时间不断变化的特性,给解决DMOPs带来了挑战,算法不仅要能够追踪到最优解,同时还要求算法能够快速地对发生的变化做出响应。其中,动态约束多目标优化(Dynamic Constrained Multiobjective Optimization,DCMO)是动态多目标优化问题中的一种,其问题较为复杂且求解难度大。[动态约束多目标优化(Dynamic Constrained Multiobjective Optimization,DCMO)测试函数DCF1\~DCF10的turePF_IT猿手的博客-CSDN博客](https://blog.csdn.net/weixin_46204734/article/details/131553169?spm=1001.2014.3001.5502 "动态约束多目标优化(Dynamic Constrained Multiobjective Optimization,DCMO)测试函数DCF1~DCF10的turePF_IT猿手的博客-CSDN博客") ![](https://file.jishuzhan.net/article/1715924835093188610/f47d98454af97a4b00cdf1bd3280c5c7.webp) Benchmark Problems for CEC2023 Competition on Dynamic Constrained Multiobjective Optimization中共包含10测试函数,其详细信息如下: ![](https://file.jishuzhan.net/article/1715924835093188610/308a00d64efaffbcb6ac928936c7dc97.webp) 每个测试函数的环境变化程度、环境变化频率和最大迭代次数考虑如下八种情形: ![](https://file.jishuzhan.net/article/1715924835093188610/b09272923aafb837bceac9b0d6ae29da.webp) DCF #### DCF1\~DCF10的turePF如下: ![](https://file.jishuzhan.net/article/1715924835093188610/7bf81ba1f0ed92fde6120177d2c567c3.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/b0ceac8618540afb68db44e5b386ef49.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/01bdb56c72c6931526b26fd9234110b1.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/262a3df6b1f8b706420e1df5015fca2f.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/b88dfb100590616a398ab53b4f60c26a.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/bb50ad40f388aef584b05541bd805dd4.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/34701b73ab21bdb06e912ccb0bb8dde1.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/c07fb29e99bdc969406cd24199f050eb.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/16596d18a38628b08daee813a1f51f07.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/bcae11f80847a96f8a1296ae14e5adc4.webp) ### 四、MC-DCMOEA求解CEC2023 #### 4.1部分代码 设置种群大小为100,外部存档大小为200,以DCF5为例,当取第1组参数设置时,即环境变化程度、环境变化频率 和最大迭代次数分别为10/5/100,其代码如下:(代码中更改TestProblem以此选择不同测试函数1-10,更改group选择不同参数设置1-8,相对于共有80种情形可供选择) ```bash close all; clear ; clc; warning off addpath('./DCF') addpath('./DCF-PF') %% 基于自适应启动策略的混合交叉动态约束多目标优化算法(MCDCMOEA) TestProblem=5;%选择测试函数1-10(可以自己修改) group=1;%选择参数1-8 (可以自己修改) MultiObj = GetFunInfoCec2023(TestProblem);%获取测试问题维度、目标函数、上下限、目标个数等信息 paramiter=GetFunParamiter(group);%获取参数nt taut maxgen % 参数设置 params.Np = 100; %Np 种群大小 (可以自己修改) params.Nr = 200; %Nr 外部存档大小 (可以自己修改) 注意:外部存档大小Nr不能小于种群大小Np params.nt=paramiter(1); % nt 环境变化程度 params.taut=paramiter(2);% taut 环境变化频率 params.maxgen=paramiter(3);%maxgen 最大迭代次数 %% 基于自适应启动策略的混合交叉动态约束多目标优化算法(MCDCMOEA)求解,结果为Result Result = MCDCMOEA(params,MultiObj); %% 获取真实的POF POF_Banchmark = getBenchmarkPOF(TestProblem,group); for i=1:size(POF_Banchmark,2) Result(i).TruePOF=POF_Banchmark(i).PF; end %% 计算GD IGD HV Spacing for k=1:size(Result,2) Result(k).GD=GD(Result(k).PF,Result(k).TruePOF); Result(k).IGD=IGD(Result(k).PF,Result(k).TruePOF); Result(k).HV=HV(Result(k).PF,Result(k).TruePOF); Result(k).Spacing=Spacing(Result(k).PF);%计算性能指标SP end %% 保存结果 save Result Result %保存结果 PlotResult; ``` ```      ``` #### 4.2部分结果 由于测试函数共有10个,且每个测试函数均有8种参数可供选择,因而共有80种选择方案。由于篇幅限制,下面仅以DCF3、DCF5和DCF7为例,采用MCDCMOEA求解。**测试其余函数只需修改代码中TestProblem和group的值。** **(1)**DCF3 ![](https://file.jishuzhan.net/article/1715924835093188610/e277a39501f5378613263fbfe516154a.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/ff852f244357697b5375d41911c38e3a.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/1269fa49abeac7b9cab68c4fa662ddcc.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/19fbeed0c1dedc3b5fb5c023ab68d47d.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/f739c2913fefa50f3bd13e9486747dc3.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/a47d4321392b0c71efa760c722f328f9.webp) **(2)**DCF5 ![](https://file.jishuzhan.net/article/1715924835093188610/570e2c4bfe381c0ce8880c549d4c66c3.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/3c2fe7ddfda19d3c29b5f1cd7b3f4ab4.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/04a0a869ab4e70f68549f08fa13dd5f5.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/b652af9bb22e03838522c2745c5d2dcc.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/db6867df0c615553d877f4592d6ee571.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/2ede714d8ab23f40bf63ac6ebe241441.webp) **(3)**DCF7 ![](https://file.jishuzhan.net/article/1715924835093188610/6ac9a77d38e0144e620bfcf9d442b155.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/8a28e3f481b296005fadb695128031e8.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/2511a640dc4d202e59a10405b89654a2.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/6654ea7e923bb271e5154315145b5afa.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/1f8eb6d2d5209b4cfe7b92307718d707.webp) ![](https://file.jishuzhan.net/article/1715924835093188610/22da513dbc4d3fd8bc3b78c8b9e9dc9d.webp) ### 五、完整MATLAB代码 **完整MATLAB代码请添加博客下方博主联系方式。**

相关推荐
全干engineer22 分钟前
web3-基于贝尔曼福特算法(Bellman-Ford )与 SMT 的 Web3 DeFi 套利策略研究
算法·金融·web3·去中心化·区块链·智能合约
重生之后端学习37 分钟前
苍穹外卖-day03
java·开发语言·数据库·spring boot·mysql·spring·tomcat
Splendid44 分钟前
Geneformer:基于Transformer的基因表达预测深度学习模型
javascript·算法
愿所愿皆可成1 小时前
机器学习之聚类Kmeans算法
算法·机器学习·kmeans·聚类
幻奏岚音1 小时前
统计学(第8版)——假设检验学习笔记(考试用)
笔记·学习·算法
超大力王1 小时前
DAY 45 超大力王爱学Python
开发语言·python
林-梦璃1 小时前
Python开发基础手语识别(基础框架版)
开发语言·python·手语识别
hie988941 小时前
基于matlab策略迭代和值迭代法的动态规划
算法·动态规划
Coovally AI模型快速验证1 小时前
SFTrack:面向警务无人机的自适应多目标跟踪算法——突破小尺度高速运动目标的追踪瓶颈
人工智能·神经网络·算法·yolo·计算机视觉·目标跟踪·无人机
Brduino脑机接口技术答疑1 小时前
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
人工智能·算法·脑机接口·新手入门