CEC2018动态多目标优化算法:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解CEC2018

news2025/5/14 16:12:20

一、动态多目标优化问题

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.

三、CEC2018简介

现实生活中,存在许多动态多目标优化问题(Dynamic Multi-objective Optimization Problems,DMOPs),这类问题的目标函数之间相互矛盾,并且目标函数、约束或者参数都可能随着时间的变化而发生变化.这种随时间不断变化的特性,给解决DMOPs带来了挑战,算法不仅要能够追踪到最优解,同时还要求算法能够快速地对发生的变化做出响应。CEC2018:动态多目标测试函数DF10~DF14的PS及PF(提供Matlab代码)_IT猿手的博客-CSDN博客

CEC2018:动态多目标测试函数DF1-DF5的PS及PF(提供MATLAB代码)cec测试函数IT猿手的博客-CSDN博客

CEC2018:动态多目标测试函数DF6~DF9的PS及PF(提供Matlab代码)_IT猿手的博客-CSDN博客

CEC2018:动态多目标测试函数DF10~DF14的PS及PF(提供Matlab代码)_IT猿手的博客-CSDN博客

CEC2018共有14个测试函数:DF1-DF14,其中DF1-DF9是两个目标,DF10-DF14是三个目标。

每个测试函数的环境变化程度、环境变化频率和最大迭代次数考虑如下八种情形:

参考文献:

[1] Jiang S , Yang S , Yao X ,et al.Benchmark Functions for the CEC'2018 Competition on Dynamic Multiobjective Optimization[J]. 2018.

四、MC-DCMOEA求解CEC2018

4.1部分代码

设置种群大小为100,外部存档大小为200,以DF1为例,当取第1组参数设置时,即环境变化程度、环境变化频率 和最大迭代次数分别为10/5/100,其代码如下:(代码中更改TestProblem以此选择不同测试函数1-14,更改group选择不同参数设置1-8,相当于共有112种情形可供选择)

close all;
clear ; 
clc;
warning off
%% 基于自适应启动策略的混合交叉动态约束多目标优化算法(MCDCMOEA)
TestProblem=1;%选择测试函数1-14(可以自己修改)
group=1;%选择参数1-8 (可以自己修改)
MultiObj = GetFunInfoCec2018(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部分结果

由于测试函数共有14个,且每个测试函数均有8种参数可供选择,因而共有112种选择方案。由于篇幅限制,下面仅以DF1、DF9和DF10为例,采用MCDCMOEA求解。测试其余函数只需修改代码中TestProblem和group的值。

(1)DF1

(2)DF9

(3)DF10

五、完整MATLAB代码

完整MATLAB代码添加博客下方博主联系方式获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/733803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Blender基础入门(1):Blender建模系统简单介绍

文章目录 我个人的Blender专栏前言偏好设置推荐常用组合按键空格(需在偏好设置里面选择空格->工具)ShiftA(添加物体)右键:物体对象操作I:显示关键帧操作~(1左边的波浪号):视角选择…

【算法与数据结构】1047、LeetCode删除字符串中的所有相邻重复项

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题和【算法与数据结构】20、LeetCode有效的括号类似,本质上都是找一个字符的匹配字符。…

深入理解Linux网络——内核是如何接收到网络包的

文章目录 一、相关实际问题二、数据是如何从网卡到协议栈的1、Linux网络收包总览2、Linux启动1)创建ksotfirqd内核线程2)网络子系统初始化3)协议栈注册4)网卡驱动初始化5)网卡启动 3、迎接数据的到来1)硬中…

Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!

△点击上方“Python猫”关注 ,回复“1”领取电子书 你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,大部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题&#xff0c…

Vue+elementUI实现下拉框多选和反选

Vue代码如下&#xff1a; <el-form-item label"下拉框名称&#xff1a;"><el-select size"mini" v-model"testModelName" focus"getSelectInfo" :disabled"SelectStyle" filterable clearable placeholder"&…

SpringBoot实战(二十)集成Druid连接池

目录 一、简介1.定义2.特点3.竞品对比 二、搭建测试项目1.Maven依赖2.yaml配置2.1 JDBC配置2.2 连接池配置2.3 监控配置 三、测试1.查看监控页面2.单元测试 四、补充&#xff1a;1.如何打印慢SQL&#xff1f;2.去除广告3.如何手动获取监控内容 一、简介 1.定义 Druid数据库连…

简析电力系统网络靶场建设的价值、挑战与趋势

在当下已经演变为持久战的俄乌地区冲突中&#xff0c;通信、交通、能源供应等相关国家关键基础设施一直是双方互相攻击的重点目标。同时&#xff0c;“网络战”作为先行战场&#xff0c;也把关基设施作为主阵地&#xff0c;不断以相对轻量级成本制造比想象中更广泛的破坏和社会…

Haproxy搭建Web群集和脑裂的概念

目录 脑裂概念 脑裂如何生的: 解决方法 Haproxy概念 HAProxy的主要特性有&#xff1a; HAProxy负载均衡策略非常多&#xff0c;常见的有如下8种&#xff1a; CDN Nginx LVS haproxy haproxy服务器部署 关闭防火墙 编译安装 Haproxy Haproxy服务器配置 添加haprox…

Spring MVC教程

Spring MVC属于SpringFrameWork的后续产品&#xff0c;已经融合在Spring Web Flow里面。 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring 可插入的 MVC 架构&#xff0c;从而在使用Spring进行WEB开发时&#xff0c;可以选择使用Spring的Spring MVC框架或集…

明明都是2000坐标的地形图,怎么位置就不一样呢?

前几天有一个同事在工作中遇到一个问题,核心说起来就是,甲方发来两个年份的同一个片区的地形图,并且言之凿凿都是2000坐标的,但是在一个CAD复制后,到另一个CAD中使用“粘贴到原坐标”,就是位置对不上。 以下使用测试数据还原一下情景。 地形图A,是一个高程点: 地形图…

【网络系统集成】Windows Server集群实验

1.实验名称 Windows Server集群实验 2.实验目的 通过使用Windows 2003进行实验,理解与掌握服务器技术与系统集成相关知识点。 3.实验内容 (1)在Vmware Workstation中安装Windows Server 2003 (2)在Windows Server 2008中完成DNS,WEB的配置

LinuxI2C应用编程——访问EEPROM

文章目录 介绍读芯片手册代码编译运行 阅读博文&#xff1a;LinuxI2C应用编程——I2C-Tools的使用 介绍 EEPROM (Electrically Erasable Programmable read only memory)&#xff0c;指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 读芯片手册 首先按如图…

SSMP整合案例(15) 解决分页中删除最后一页的最后一条数据,导致查询错位问题

上文 我们还是做了个比较重要的是 将我们的查询全部逻辑改为了分页查询 但是 目前 我们的删除和分页配合起来 它会有一点点问题 例如 这种情况 我们最后一页只有一条数据了 我们操作删除 将这条数据给他干掉 删除完之后 它会调分页查询 但我们当前页的条件还是之前的 例如 我…

【网络】UDP协议详解

目录 UDP的感性理解 UDP协议格式 UDP协议格式感性理解 UDP特点 UDP的缓冲区 UDP的感性理解 UDP的传输过程类似于寄信&#xff0c;假设你要写一封家书寄回家里&#xff1a;首先你要在信封上填写好寄件人和收件人的地址&#xff0c;其次在贴好邮票&#xff0c;最后将信件投放…

MySQL数据库 库表操作

1. (1) mysql> create database Market; 创建数据库 mysql> use Market 使用Market数据库(2) mysql> create table customers(-> c_num int(11) primary key auto_increment,-> c_name varchar(50),-> c_contact varchar(50),-> c_city varc…

ChatGPT炒股:从巨潮资讯网上批量下载特定主题的股票公告

巨潮资讯网是股票公告的指定披露渠道之一&#xff0c;上面有非常详细的A股股票公告内容。 现在&#xff0c;我们要获取2023-01-04~2023-07-04期间所有新三板公司中标题包含“2023年日常性关联交易”的公告。 首先从network中获取到真实网址&#xff1a;http://www.cninfo.com…

大一下学期期末考wp

【web】 1.sign 打开题目 发现有1000个页面 打开第9999个和第9998个页面&#xff0c;发现是utf-8编码 当再随机打开其他页面时&#xff0c;页面又出现了另外一种情况 于是我们猜测&#xff0c;flag是由utf-8编码的&#xff0c;编码被拆散了随机放在10000个页面中的几个页面中…

找不到msvcp140.dll解决方法有哪些?那个修复方法更简单

是使用Windows操作系统的计算机时&#xff0c;总是不可避免会遇到系统报错。像计算机提示找不到msvcp140.dll&#xff0c;msvcp140.dll是一个Windows操作系统中的动态链接库文件&#xff0c;它属于Microsoft Visual C Redistributable包的一部分。这个文件包含了一些供C程序使用…

计算机的大脑 CPU

晶体管 N型MOS管P型MOS管 算术逻辑单元 ALU 晶体管–>门电路–>加法器–>ALU 既可以做逻辑运算、也可以做逻辑运算、成为计算机CPU中非常核心的组件。 指令 一条指令只完成一个基本操作的精简指令集 RISC 、它们的指令长度基本上是固定的。比如 ARM一条指令可以…

【SLAM14讲】02 视觉SLAM基本架构

一、传感器 1.1 安装位置分类 根据安装位置分为两类&#xff1a; 携带于机器人本体 上的传感器&#xff0c;比如激光传感器、相机、轮式编码器、惯性测量单元&#xff08;Inertial Measurement Unit, IMU&#xff09;等等&#xff0c;它们测到的通常都是一些间接的物理量而不…