当前位置: 首页 > news >正文

动态多目标优化算法:MOEA/D-FD求解FDA1、FDA2、FDA3、FDA4和FDA5(Matlab代码)

一、动态多目标优化简介

一个多目标优化问题如果需要同时优化具有多个依赖时间的、相互冲突的目标,并且需要适应环境的变化,这类问题称为动态多目标优化问题(DynamicMulti-objective Optimization Problems,DMOPs)。动态多目标优化问题与静态多目标优化问题的区别在于其最优解不再是一个固定不变的解,而是一个随时间变化的 Pareto 最优解(Pareto-optimal Solution Set,POS)。受环境变化严重程度和变化频率的影响,DMOPs 的目标函数、约束函数和参数等都会发生变化,这些条件要求优化算法能够快速准确的跟踪收敛到变化的 Pareto 前端(Pareto-optimal Front Set,POF)随着环境的变化,根据PS和PF的变化情况,动态多目标优化问题可分为下面四类:

第一类:PS随时间变化,PF不随时间变化。

第二类:PS不随时间变化,PF随时间变化。

第三类:PS和PF都随时间变化。

第四类:PS和PF都不随时间变化。

(注:POS即PS,POF即PF)

本文选取5个传统典型动态标准测试问题FDA1~FDA5,其详细信息如下:

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

参考文献: Farina M , Deb K , Amato P . Dynamic multiobjective optimization problems[J]. IEEE Transactions on Evolutionary Computation, 2004, 8(5):425-442.

二、MOEA/D-FD

MOEA/D-FD算法步骤:

在这里插入图片描述

参考文献:Shi Y , Tan K C , Zhang M , et al. [Lecture Notes in Computer Science] Simulated Evolution and Learning Volume 10593 || A First-Order Difference Model-Based Evolutionary Dynamic Multiobjective Optimization[J]. 2017, 10.1007/978-3-319-68759-9(Chapter 52):644-655.

三、实验结果

3.1参数设置

本次测试中,环境变化程度为10,环境变化率为10,最大环境变化次数为5,种群大小为100,评价指标为SP。

close all
clear 
clc;
warning off
%%
global  step window ;
%测试函数 TestProblem可以选择1-5
%参考文献:Farina, M., Deb, K., & Amato, P. (2004). Dynamic multiobjective optimization problems: test cases, approximations, and applications. Evolutionary Computation, IEEE Transactions on,8(5), 425-442.
TestProblem=1;%FDA1-FDA5
MultiObj = objective_description_function1(TestProblem);
MultiObj.N=100;%种群大小
MultiObj.EvroChaNum=5;%最大环境变化次数
step=10;% severity of change  环境变化程度
window=10;% frequency of change 环境变化率 
result=MOEADFD(MultiObj);
%% 结果说明
%最终求解结果在result中

3.2求解结果

部分求解几个如下:(仅测试了FDA1,其余4个函数可自行测试)

FDA1的POF:
在这里插入图片描述

FDA1的POS:
在这里插入图片描述

5种环境下FDA1的SP:

在这里插入图片描述

四、完整代码

文件夹内包含MOEA/D-FD求解FDA1、FDA2、FDA3、FDA4和FDA5的所有代码,点击main.m即可运行。(MOEA/D-FD完整MATLAB代码链接见评论区或添加博主微信获取)
在这里插入图片描述

相关文章:

  • 【基于C的排序算法】插入排序之直接插入排序
  • Golang——从入门到放弃
  • 报告分享|数据变现,车企利润新增长点
  • 计算机网络基本概念
  • 零基础入门MATLAB(一篇十分钟)
  • 求最大公约数、最小公倍数、
  • 15、IOC 之ApplicationContext 的附加功能
  • Hive sql 行列转换(行转列,列转行)
  • 【MATLAB教程案例10】使用MATLAB自带的LDPC工具箱实现LDPC编译码误码率仿真
  • 小学数学学习:神奇的走马灯数 142857
  • 【OFDM系列6】MIMO-OFDM系统模型、迫零(ZF)均衡检测和最小均方误差(MMSE)均衡检测原理和公式推导
  • 点云处理简介
  • 跨域问题以及经过网关二次转发重复跨域
  • 自动控制原理9.2---线性系统的可控性与可观测性(上)
  • DOM事件流+阻止冒泡事件+dom包含
  • Google 是如何开发 Web 框架的
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【Amaple教程】5. 插件
  • 【翻译】babel对TC39装饰器草案的实现
  • 〔开发系列〕一次关于小程序开发的深度总结
  • golang 发送GET和POST示例
  • LeetCode算法系列_0891_子序列宽度之和
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • swift基础之_对象 实例方法 对象方法。
  • SwizzleMethod 黑魔法
  • TCP拥塞控制
  • Zepto.js源码学习之二
  • Zsh 开发指南(第十四篇 文件读写)
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 测试如何在敏捷团队中工作?
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 记一次用 NodeJs 实现模拟登录的思路
  • 温故知新之javascript面向对象
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 阿里云服务器购买完整流程
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (笔试题)合法字符串
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (附源码)ssm码农论坛 毕业设计 231126
  • (论文阅读30/100)Convolutional Pose Machines
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)关于多人操作数据的处理策略
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .bat文件调用java类的main方法
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600