烟台网站开发公司,规避电子政务门户网站建设的教训,青海城乡建设部网站,wordpress主题进的慢一、TrMOPSO介绍
基于迁移学习的动态多目标粒子群优化算法#xff08;Transfer Learning based Dynamic Multiobjective particle swarm optimization#xff0c;TrMOPSO#xff09;是一种经典的动态多目标进化算法。
算法概述
算法组合 #xff1a;将迁移学习技术与多目…一、TrMOPSO介绍
基于迁移学习的动态多目标粒子群优化算法Transfer Learning based Dynamic Multiobjective particle swarm optimizationTrMOPSO是一种经典的动态多目标进化算法。
算法概述
算法组合 将迁移学习技术与多目标粒子群优化算法相结合旨在解决动态多目标优化问题。软件架构 基于 Tr-DMOEA 框架通过调用 Tr-IPG 模块来生成初始种群进而利用 MOPSO 算法进行优化操作。
算法流程 初始化 在优化过程开始时对粒子群进行初始化操作随机生成粒子的位置和速度并计算每个粒子的适应度值。 个体最优位置更新 每个粒子根据自身的适应度值更新个体最优位置pbest即将当前适应度值与历史个体最优位置的适应度值进行比较若更优则将其作为新的个体最优位置。 全局最优位置更新 在粒子群中选择适应度值最优的粒子的位置作为全局最优位置gbest该位置代表着当前粒子群搜索到的最优解的位置。 粒子速度和位置更新 根据粒子群优化算法的速度和位置更新公式调整粒子的速度和位置公式如下 速度更新公式 v i t 1 w ∗ v i t c 1 ∗ r a n d ( ) ∗ ( p b e s t i − x i t ) c 2 ∗ r a n d ( ) ∗ ( g b e s t − x i t ) v_{i}^{t1}w*v_{i}^{t}c_{1}*rand()*(pbest_{i}-x_{i}^{t})c_{2}*rand()*(gbest-x_{i}^{t}) vit1w∗vitc1∗rand()∗(pbesti−xit)c2∗rand()∗(gbest−xit)位置更新公式 x i t 1 x i t v i t 1 x_{i}^{t1}x_{i}^{t}v_{i}^{t1} xit1xitvit1 适应度值更新 根据新的位置信息计算每个粒子的适应度值为后续的个体最优位置和全局最优位置的更新做准备。 终止条件判断 判断是否满足终止条件如达到最大迭代次数或适应度值收敛要求。若满足终止条件则输出当前的全局最优位置作为优化结果否则返回步骤 2继续进行迭代优化。
关键点解析 迁移学习原理 通过领域自适应方法如 TCA将历史环境下的 Pareto 最优前沿POF映射到新环境下的潜在空间使得不同环境下的解的概率分布差异尽可能小从而在新环境下快速生成具有较高质量的初始种群加速粒子群的收敛过程。 种群初始化 利用 Tr-IPG 模块基于迁移学习生成初始种群。其主要过程是先随机生成当前优化函数和下一时刻优化函数的两组解再通过 TCA 方法计算得到变换矩阵将当前时刻的 POF 映射到潜在空间最后在潜在空间中搜索与映射后的 POF 最近的个体作为下一时刻优化函数的初始种群。 多样性和收敛性平衡 在动态多目标优化过程中需要在多样性和收敛性之间进行平衡。TrMOPSO 算法通过调整粒子群中的个体最优位置和全局最优位置来影响粒子的搜索行为同时利用迁移学习生成的初始种群具有较高的多样性有利于算法在动态环境中快速适应和收敛。
与其他算法比较
与传统 MOPSO 算法比较 传统的 MOPSO 算法在处理动态多目标优化问题时往往需要重新初始化种群难以充分利用历史信息收敛速度较慢且在环境变化时容易陷入局部最优。而 TrMOPSO 算法通过迁移学习技术能够有效地利用历史环境下的 POF 信息快速生成适应新环境的初始种群提高了算法的收敛速度和解的质量。与 Tr-NSGA-II 算法比较 Tr-NSGA-II 算法是基于遗传算法的动态多目标优化算法而 TrMOPSO 算法是基于粒子群优化算法的动态多目标优化算法。这两种算法在优化原理和搜索机制上存在差异但都通过迁移学习技术有效地提高了算法在动态环境下的性能。一般来说TrMOPSO 算法在处理动态多目标优化问题时具有更快的收敛速度和更高的多样性保持能力而 Tr-NSGA-II 算法则在处理复杂约束条件和多模态优化问题方面表现较好。
参考文献
[1] Jiang M , Huang Z , Qiu L ,et al.Transfer Learning-Based Dynamic Multiobjective Optimization Algorithms[J].IEEE Transactions on Evolutionary Computation, 2017.DOI:10.1109/TEVC.2017.2771451.
二、动态多目标测试集CEC2015
CEC2015 中共有12个动态多目标测试函数用于评估和比较动态多目标优化算法的性能。这些函数具有不同的特性和动态变化机制能够模拟现实世界中的动态多目标优化问题。
测试函数分类
Type I FDA4、DIMP2、dMOP3。这类函数的动态性主要表现在 Pareto 最优解集POS的变化而 Pareto 最优前沿POF的形状保持不变。Type II FDA5、FDA5iso、FDA5dec、dMOP2、dMOP2iso、dMOP2dec。这类函数的 POF 和 POS 都会随时间变化且 POF 的形状也会发生改变如从凸变为凹或反之。Type III HE2、HE7、HE9。这类函数的 POF 具有不连续性或复杂的变化特性如 HE2 的 POF 不连续HE7 和 HE9 的 POF 会周期性地在凸和凹之间变化。
具体测试函数及其特性
FDA4 3 个目标函数非凸 POF呈球面形状POF 表达式为 f₂₁ f₂₂ f₂₃ 1。其动态性体现在 POS 随时间变化POS 为 xi G(t)其中 G(t) |sin(0.5πt)|。FDA5 3 个目标函数非凸 POFPOF 的形状随时间变化其半径呈周期性增减POF 表达式为 f₂₁ f₂₂ f₂₃ (1 G(t))²。POS 同样为 xi G(t)。FDA5iso 3 个目标函数孤立的非凸 POF其动态性与 FDA5 类似但 POF 上的解分布随时间变化。FDA5dec 3 个目标函数具有欺骗性的非凸 POF动态特性与 FDA5 相同。DIMP2 2 个目标函数凸 POF表达式为 1 - √f₁。每个决策变量都有自己的变化率POS 为 xi G(t)。dMOP2 2 个目标函数POF 会随时间在凸和凹之间变化表达式为 1 - f₁^{H(t)}。其动态性通过参数 H(t) 和 G(t) 实现H(t) 0.75 sin(0.5πt) 1.25G(t) sin(0.5πt)。dMOP2iso 2 个目标函数孤立的 POF其动态变化特性与 dMOP2 相同。dMOP2dec 2 个目标函数具有欺骗性的 POF动态特性与 dMOP2 一致。dMOP3 2 个目标函数凸 POF表达式为 1 - √f₁。其动态性体现在 POF 上解的分布随时间变化。HE2 2 个目标函数不连续的 POF由多个不连续的子区域组成。其动态性通过参数 H(t) 实现POF 表达式为 1 - (√f₁)^{H(t)} - f₁^{H(t)} sin(0.5πf₁)POS 为 xi 0。HE7 2 个目标函数POF 呈周期性变化在凸和凹之间交替。其 POS 和 POF 的表达式较为复杂涉及多个三角函数和非线性变换。HE9 2 个目标函数POF 同样呈周期性变化形状在凸和凹之间转换。其 POS 和 POF 的表达式与 HE7 类似但具体形式略有不同。
参考文献
[1]M. Helbig and A. Engelbrecht. Benchmark functions for cec 2015 special session and competition on dynamic multi-objective optimization.Technical report, 2015
三、TrMOPSO求解CEC2015
部分代码
close all;
clear ;
clc;
warning off
TestProblem1;%选择测试函数1-12可以自己修改
group1;%选择参数1-8 可以自己修改
MultiObj GetFunInfoCec2015(TestProblem);%获取测试问题维度、目标函数、上下限、目标个数等信息
MultiObj.nameGetFunPlotName(TestProblem);%获取测试问题名称
paramiterGetFunParamiter(group);%获取参数nt taut maxgen
% 参数设置
params.Np 300; %Np 种群大小 可以自己修改
params.Nr 500; %Nr 外部存档大小 可以自己修改 注意外部存档大小Nr不能小于种群大小Np
params.ntparamiter(1); % nt 环境变化程度
params.tautparamiter(2);% taut 环境变化频率
params.maxgenparamiter(3);%maxgen 最大迭代次数Result TrMOPSO(params,MultiObj);%% 获取真实的POF
for gen1:params.maxgenif rem(gen1,params.taut)0POF_Banchmark getBenchmarkPOF(TestProblem,group,gen);k(gen1)/params.taut;Result(k).TruePOFPOF_Banchmark;end
end
%% 计算GD IGD HV Spacing
for k1:size(Result,2)Result(k).GDGD(Result(k).PF,Result(k).TruePOF);Result(k).IGDIGD(Result(k).PF,Result(k).TruePOF);Result(k).HVHV(Result(k).PF,Result(k).TruePOF);Result(k).SpacingSpacing(Result(k).PF);%计算性能指标SP
end部分结果
环境变量 n t n_t nt 10, τ t τ_t τt 10
四、完整MATLAB代码见下方名片