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

动态多目标进化算法:TrRMMEDA求解CEC2018(DF1-DF14),提供完整MATLAB代码

一、TrRMMEDA简介

TrRMMEDA(Transfer Learning-based Regularity Model-based Multiobjective Estimation of Distribution Algorithm)是2017年提出的一种基于迁移学习的动态多目标优化算法。

算法背景

在动态多目标优化问题(DMOPs)中,目标函数、约束或参数会随时间变化,传统动态多目标进化算法(DMOEAs)面临难以快速跟踪最优解等问题。迁移学习可重用历史环境信息加速新环境搜索,但存在负迁移风险,即历史信息可能误导当前优化方向。TrRMMEDA 应运而生,旨在有效利用历史信息的同时避免负迁移。

算法原理

  • 迁移学习与分布估计结合 :将迁移学习引入基于分布估计的多目标优化算法(RM-MEDA)中,形成 TrRMMEDA。先利用迁移学习从历史环境知识中提取有价值信息,将其融入新环境的分布估计模型,使模型更准确捕捉新环境的 Pareto 最优前沿分布,进而生成更优质的初始种群,加速收敛。
  • 负迁移处理 :为避免负迁移,TrRMMEDA 采用信任区域等策略筛选和利用历史信息。只将与当前问题相关性高、可信度强的历史解纳入迁移学习过程,确保历史信息对当前优化有正面引导作用。
    在这里插入图片描述

在这里插入图片描述

算法步骤

  1. 初始化 :在初始时刻,随机生成初始种群,对种群中个体进行评价,计算其目标函数值和约束违反度等。
  2. 建立分布估计模型 :利用初始种群中的非支配解,基于 RM-MEDA 的原理建立分布估计模型,如采用主成分分析等技术对非支配解进行降维和特征提取,构建潜在空间中的概率分布模型。
  3. 种群生成与进化 :根据分布估计模型,在潜在空间中采样生成新个体,并将其映射回原决策空间,形成新种群。对新种群进行进化操作,包括选择、交叉、变异等。
  4. 环境变化检测 :在进化过程中持续监测环境是否发生变化,可通过监测目标函数值的变化率等指标来判断。
  5. 迁移学习触发 :当检测到环境变化时,触发迁移学习机制,将历史环境中的优质解筛选出来,将其与当前种群中的个体相结合,重新构建分布估计模型。
  6. 更新与重复 :利用新的分布估计模型生成新的种群,继续迭代优化过程,直至达到终止条件。

算法优势

  • 快速收敛 :借助迁移学习充分利用历史信息,使算法在环境变化后能快速适应并收敛到新的 Pareto 最优前沿,减少从随机初始种群开始的无效搜索时间。
  • 保持多样性 :注重在迁移学习过程中保持种群多样性,避免因过度依赖历史信息而导致种群早熟收敛,有效探索目标空间,得到具有广泛分布的 Pareto 最优解。
  • 较强的鲁棒性 :通过负迁移处理机制,对历史信息进行筛选和评估,确保迁移的知识对当前优化有积极影响,增强了算法在复杂动态环境下的鲁棒性。

算法局限性及应用场景

  • 局限性 :TrRMMEDA 的性能在一定程度上依赖于历史信息的质量和相关性,若历史信息与当前问题差异较大,可能影响算法效果。且该算法在处理多模态动态多目标优化问题时,可能会面临分布估计模型复杂度增加等挑战。
  • 应用场景 :适用于具有时间变化特性的多目标优化场景,如动态资源分配、动态路径规划、实时调度等领域,能够快速为决策者提供一组优质解,帮助其在动态环境中做出平衡决策。

参考文献

[1] Jiang M , Huang Z , Qiu L ,et al.Transfer Learning based Dynamic Multiobjective Optimization Algorithms[J].IEEE Transactions on Evolutionary Computation, 2017, 22(4):501-514.DOI:10.1109/TEVC.2017.2771451.

二、TrRMMEDA求解DF1-DF14

(1)CEC2018 动态多目标测试函数介绍

CEC2018 竞赛定义了 14 个动态多目标测试函数(DF1-DF14),分为两类:
在这里插入图片描述

  1. 双目标问题(DF1-DF9):这些函数具有两个目标,用于测试算法在动态环境下的性能。
  2. 三目标问题(DF10-DF14):这些函数具有三个目标,增加了优化的复杂性。

这些测试函数设计了不同的动态特性,以评估动态多目标优化算法的性能。动态特性包括:

  • 目标位置变化:Pareto 最优前沿(PF)或 Pareto 最优解集(PS)的位置随时间变化。
  • 约束条件变化:动态约束条件的引入或变化。
  • 目标数量或决策变量数量变化:在某些测试函数中,目标数量或决策变量数量可能随时间变化。
测试函数目标数量动态特性
DF12PF 的位置随时间线性移动
DF22PF 的位置随时间非线性移动
DF32PF 的位置和形状随时间变化
DF42PF 的位置和形状随时间剧烈变化
DF52PF 的凸性随时间变化
DF62PF 的凹性随时间变化,并引入局部最优解
DF72PF 的不同部分以不同方向和速度移动
DF82PF 的不同部分以不同方向和速度移动,且存在多个膝点
DF92PF 断裂成多个部分
DF103PF 的位置随时间移动
DF113PF 的位置和形状随时间变化
DF123PF 的位置和形状随时间剧烈变化
DF133PF 的凸性随时间变化
DF143PF 的凹性随时间变化,并引入局部最优解

参考文献:
[1] Jiang S , Yang S , Yao X ,et al.Benchmark Functions for the CEC’2018 Competition on Dynamic Multiobjective Optimization[J]. 2018.

(2)部分MATLAB代码

%% 计算POF
for i=1:size(ArchiveResult{1,1}{1,1},1)/(10*nt*taut)k1=1+(i-1)*(10*nt*taut);k2=k1+nt*taut;if prob_ids<110data=ArchiveResult{1,1}{1,1}(k1:k2,end-1:end);elsedata=ArchiveResult{1,1}{1,1}(k1:k2,end-2:end);endresult(i).data=data;%     plot(data(:,1)+i,data(:,2)+i,'ro')%     hold on
end
%% 计算TurePOF
prob=problem(prob_ids);
k=1;
for t=0:1:100/taut-1PF(k).data=generatePF(prob,t);PF(k).t=t;k=k+1;
end%% 画图
figure
Fm=size(PF,2);
Tm=size(PF(1).data,2);
if Tm<3for t=1:Fmplot(result(t).data(:,1)+PF(t).t,result(t).data(:,2)+PF(t).t,'ro');hold onplot(PF(t).data(:,1)+PF(t).t,PF(t).data(:,2)+PF(t).t,'g.');endxlabel('f1+t')ylabel('f2+t')
elsefor t=1:Fmplot3(result(t).data(:,1)+PF(t).t,result(t).data(:,2)+PF(t).t,result(t).data(:,3)+PF(t).t,'ro');hold onplot3(PF(t).data(:,1)+PF(t).t,PF(t).data(:,2)+PF(t).t,PF(t).data(:,3)+PF(t).t,'g.');endxlabel('f1+t')ylabel('f2+t')zlabel('f3+t')
end
title(prob.name)

(3)部分结果

环境变量: n t n_t nt =10, τ t τ_t τt =10

DF2:

在这里插入图片描述

DF3:

在这里插入图片描述

DF7:

在这里插入图片描述

三、完整MATLAB见下方名片

相关文章:

  • IOT集群扩容实践:问题剖析与解决策略
  • WebRTC(三):P2P协议
  • 企业不同发展阶段平衡品牌建设和利润获取的策略-中小企实战运营和营销工作室博客
  • 快速排序优化技巧详解:提升性能的关键策略
  • Linux 下 pcie 初始化设备枚举流程代码分析
  • 建筑业应用:机器人如何改变未来建筑业发展方向
  • 医疗行业网络安全的综合防护策略
  • 哈医大团队利用网络药理学+PPI分析+分子对接三联策略,解码灵芝孢子调控AKI凋亡的精准机制
  • 离线部署openstack 2024.1控制节点基础服务
  • 基于Orange Pi Zero3的音频管理系统搭建与远程访问实现
  • 基于OpenCV实现视频运动目标检测与跟踪
  • tabs页签嵌套表格,切换表格保存数据不变并回勾
  • Flask 应用中执行指定 JavaScript 脚本
  • 智慧管廊数字化运维管理平台
  • 外资车全面反弹,被看衰的日系车尤其凶猛,国产电车再承压
  • 每日学习一道数模题-2024国赛B题-生产过程中的决策问题
  • 单片机队列功能模块的实战和应用
  • Flask 中结合 Jinja2 模板引擎返回渲染后的 HTML
  • SiteAzure4.x 版本 访问html静态页文件出现404错误
  • 【AS32系列MCU调试教程】基础配置:Eclipse项目与工具链的优化
  • 商城类网站怎么推广/地推拉新app推广接单平台免费
  • 电商供应链怎么找/宁波品牌网站推广优化公司
  • 网站开发计算机配置/宁波最好的推广平台
  • 中国建设银行产品信息网站/刷外链
  • 想接外包做网站/微信推广软件
  • 请列出五个以上做外贸的网站/游戏推广员平台