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

基于流形迁移学习的快速动态多目标进化算法(MMTL-MOEA/D)求解FDA1-FDA5和dMOP1-dMOP3,提供完整MATLAB代码

一、MMTL-MOEA/D简介

基于流形迁移学习的快速动态多目标进化算法(A Fast Dynamic Evolutionary Multi-objective Algorithm via Manifold Transfer Learning,MMTL-MOEA/D)是2021年提出的一种高效动态代表进化算法。MMTL-DMOE/A 将记忆机制与流形迁移学习相结合,在动态优化环境下预测适应未来时刻的初始种群,从而在保持求解精度的同时,极大提升求解速度。其核心思想是:当环境发生变化时,从记忆存储的过去最优个体中提取知识,并利用流形迁移学习的方法,将这些知识迁移到新的环境中,预测出可能的最优个体作为初始种群,帮助算法更快地收敛到新的 Pareto 最优前沿。
在这里插入图片描述

(1)算法流程

  1. 初始化 :在初始时刻,随机生成一个种群作为初始种群,并将其经过进化后得到的最优个体存储到外部存储器中。
  2. 环境变化检测 :在每个进化代数,通过一定的方法检测环境是否发生变化。例如,可以比较当前种群与历史种群的目标函数值的差异,或者监测决策变量的变化等。
  3. 个体选择与预测 :当检测到环境变化时,从外部存储器中根据预定义的标准选择一定数量的个体。然后,通过主成分分析(PCA)和流形迁移学习算法对这些个体进行预测,得到适应新环境的可能最优个体。
  4. 初始种群生成 :将预测得到的个体和从外部存储器中选出的精英个体合并,构成适应新环境的初始种群。
  5. 进化搜索 :以生成的初始种群作为起点,进行常规的多目标进化操作,如选择、交叉、变异等,继续进化搜索过程,更新种群。
  6. 更新外部存储器 :在进化过程中,将每次得到的最优个体更新到外部存储器中,以便在后续环境变化时使用。
  7. 终止条件判断 :若满足终止条件,如达到最大进化代数或满足一定的收敛精度,则输出最终的 Pareto 前沿和 Pareto 解集,否则返回步骤 2。

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

(2)算法的关键技术创新

  • 记忆机制与流形迁移学习的融合 :将记忆机制保存过去的最优个体与流形迁移学习相结合,能够充分利用历史信息,快速预测出适应新环境的初始种群,显著提高了算法的收敛速度和解的质量,降低了计算成本。
  • 低维空间中的数据压缩与分析 :使用特殊的流形迁移学习技术在低维空间中压缩高维数据,减少了数据的维度和复杂性,同时保留了数据的主要特征和结构信息,使得算法能够更高效地处理高维动态多目标优化问题,并且需要的超参数较少。
  • 精英个体的选择与利用 :通过精英选择算法,从外部存储器中选出精英个体,并将其与预测个体合并构成初始种群,有效地平衡了探索与开发之间的关系,既保证了种群的多样性,又加快了算法的收敛速度。

(3)算法的优势

  • 高效性 :通过预测初始种群,减少了算法在环境变化后重新初始化种群所需的计算资源和时间,提高了算法的运行效率,能够在较短的时间内得到较好的解。
  • 准确性 :利用流形迁移学习和精英记忆机制,能够更准确地预测新环境下的 Pareto 最优前沿,提高了解的质量和精度。
  • 适应性 :该算法对动态环境具有较强的适应能力,能够快速跟踪不断变化的 Pareto 最优前沿,适用于各种动态多目标优化问题。

(4)参考文献

[1] Jiang M , Wang Z , Tan G K C .A Fast Dynamic Evolutionary Multiobjective Algorithm via Manifold Transfer Learning[J].IEEE transactions on cybernetics, 2021, 51(7):3417-3428.DOI:10.1109/TCYB.2020.2989465.

二、MMTL-MOEA/D求解FDA1-FDA5和dMOP1-dMOP3介绍

在这里插入图片描述

(1)部分MATLAB代码

figure
for T=1:size(resStruct,2)if size(Result(T).truePOF,2)<3plot(Result(T).truePOF(:,1),Result(T).truePOF(:,2),'.')xlabel('f1')ylabel('f2')elseplot3(Result(T).truePOF(:,1),Result(T).truePOF(:,2),Result(T).truePOF(:,3),'.')xlabel('f1')ylabel('f2')zlabel('f3')endhold on
end
title([functions 'truePOF'])
figure
for T=1:size(resStruct,2)if size(Result(T).ObtianPOF,2)<3plot(Result(T).ObtianPOF(:,1),Result(T).ObtianPOF(:,2),'.')xlabel('f1')ylabel('f2')elseplot3(Result(T).ObtianPOF(:,1),Result(T).ObtianPOF(:,2),Result(T).ObtianPOF(:,3),'.')xlabel('f1')ylabel('f2')zlabel('f3')endhold on
end
title([functions 'ObtianPOF'])%% 计算评价指标
for T=1:size(resStruct,2)IGDdata(T)= IGD(Result(T).ObtianPOF,Result(T).truePOF);HVdata(T)= HV(Result(T).ObtianPOF,Result(T).truePOF);MSdata(T)= MS(Result(T).ObtianPOF,Result(T).truePOF);SPdata(T)= SP(Result(T).ObtianPOF,Result(T).truePOF);
end
figure
plot(IGDdata,'r-o')
hold on
plot(HVdata,'k-*')
hold on
plot(SPdata,'g-p')
hold on
plot(MSdata,'b-<')
legend('IGD','HV','SP','MS')
title(functions)

(2)部分结果

FDA2:

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

FDA3:

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

dMOP3:

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

三、完整MATLAB代码见下方名片

http://www.xdnf.cn/news/13413.html

相关文章:

  • ubuntu桌面x11异常修复
  • 《安富莱嵌入式周报》第354期: 开源36通道16bit同步数据采集卡,开源PoE以太网GPIB,分体式键盘DIY,微软WSL开源,USB转车载以太网
  • 第5章 类的基本概念 笔记
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | EventKey Codes(键盘码)
  • Vim 调用外部命令学习笔记
  • 主键(PRIMARY KEY)与唯一键(UNIQUE KEY)的区别详解
  • 代码随想录算法训练营第60期第六十四天打卡
  • Maven 多仓库配置及缓存清理实战分享
  • 反向工程与模型迁移:打造未来商品详情API的可持续创新体系
  • 工厂方法模式(Factory Method Pattern)
  • 一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (三)
  • 通义灵码 AI IDE 上线!智能体+MCP 从手动调用工具过渡到“AI 主动调度资源”
  • 欧盟手机和平板电脑生态设计和能源标签法案解析
  • 零基础玩转物联网-串口转以太网模块如何快速实现与MQTT服务器通信
  • 【Elasticsearch】Elasticsearch 近实时高速查询原理
  • 0610_特性和反射_加密和解密_单例模式
  • Python爬虫基础之Selenium详解
  • 如何排查 Docker 容器资源占用过高的问题?
  • RabbitMq详解
  • 期权卖方是谁?
  • CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
  • Mybatisplus3.5.6,用String处理数据库列为JSONB字段
  • 配置Linux的网络为静态IP地址的一些方法
  • http协议同时传输文本和数据的新理解
  • 可编辑前端列表页面,让你的用户直接粘贴录入数据
  • pdf.js在iOS移动端分页加载优化方案(ios移动端反复刷新加载问题)
  • dedecms 织梦自定义表单留言增加ajax验证码功能
  • 传统影像的盲区:心血管疾病诊断的新突破与未来
  • H5流媒体播放器EasyPlayer.js对H.265编码MP4文件的播放支持应用方案
  • C++_核心编程_多态案例二-制作饮品