论文题目:A Dynamic Multiobjective Evolutionary Algorithm Based on Decision Variable Classification
基于决策变量分类的动态多目标优化算法(Zhengping Liang , Tiancheng Wu, Xiaoliang Ma, Zexuan Zhu , Member, IEEE,and Shengxiang Yang , Senior Member, IEEE)IEEE TRANSACTIONS ON CYBERNETICS, VOL. 52, NO. 3, MARCH 2022
刚开始学习多目标优化算法,不作商业用途,如果有不正确的地方请指正!写作时借鉴了这些博客,如果想要了解,可以看
https://blog.csdn.net/u013555719/article/details/106856234?
个人总结:
现有动态多目标进化算法大致可以分为以下几类:1)基于多样性的办法,2)基于预测的办法,3)基于记忆的办法,4)基于多种群的办法。
本文的DMOEA—DVC方法采取多样性引入和预测同决策变量分类的办法相结合,就是在静态优化时把决策变量分为单最优变量和多最优变量,针对两个不同种类的变量采取SBX交叉算子和DE交叉算子两种不同的变异策略,保持种群多样性。
分类时使用了斯皮尔曼秩相关系数(SRCC)来衡量一个变量和一个目标函数之间的相关性
在检测到环境变化时使用非参数t检验用来评估决策变量的变化与环境变化的相关性,把决策变量分为相似,可预测,与不可预测三类。
对于相似变量,不需要在变更响应中重新初始化,对于可预测的变量就基于预测重新初始化,对于不可预测的变量就通过多样性引入重新初始化。
作者认DMOEA - DVC在各种基准问题上表现出了良好的性能,但在处理PS ( t )或相关变量发生微小变化的问题时仍存在不足。未来可以在分布算法的估计中引入先进的AR模型和其他有前途的算子
摘要
- 现阶段提出了许多多目标进化算法(DMOEAs)主要是将多样性引入或者是预测方法与传统的多目标进化算法相结合,用来解决多动态多目标规划问题(DMOPs)。保持种群多样性和收敛性的良好平衡对DMOEAs的性能至关重要。
- 本文提出了一种基于决策变量分类的MMOEA(DMOEA-DVC)。DMOEA - DVC在静态优化和变化响应阶段分别将决策变量分为两组和三组。在静态优化中,对两个决策变量组采用两种不同的交叉算子,在加快收敛的同时保持良好的多样性。在变化响应中,DMOEA - DVC分别通过维护、预测和多样性引入策略对三个决策变量组进行重新初始化。
- 将DMOEA-DVC算法与其他6个最先进的DMOEAs在33个基准DMOP上进行了比较。实验结果表明,DMOEA - DVC的综合性能优于或与之相当
引言
多目标进化算法(MOEAs)在各种静态多目标优化问题( MOPs)上都取得了成功。然而,由于缺乏动态环境下的快速变化响应机制,它们在DMOPs中往往失效。为了解决DMOPs,近年来提出了许多动态MOEAs ( DMOEAs )。其中大部分可分为多样性引入方法Diversity introduction approaches)和预测方法(prediction approaches)。
多样性引入方法
多样性引入方法是在进化种群发生变化时,将一定比例的随机或突变个体引入到进化种群中,以增加种群多样性。多样性的增加可以促进算法更好地适应新的环境,但是由于这些算法在引入多样性后主要依靠静态进化搜索来寻找最优解集,可能会减慢收敛速度。
预测方法
预测方法采用预测模型来预测变化环境中的有前途的种群,可以实质性地改善种群的收敛性。但是大多数的预测模型需要一个训练周期,且在周期中的训练模型不太令人满意
目前存在的问题
现有的DEMOA(在作者写这篇文章的时候),包括多样性引入和预测方法以及其他各种方法,都没有考虑到决策变量的不同特征。
本文提出的想法
提出一种基于决策变量分类的DMOEA——(DMOEA-DVC),特点是将多样性引入、快速预测模型和决策变量分类方法相结合,相辅相成克服了各自固有的缺陷。
- 用两种新的决策变量分类方法,分别适用于静态优化和变化响应阶段,使算法能够更有效地探索不同的变量。
- 在静态优化中,引入两种不同决策变量混合特定交叉算子的子代生成策略,在保持算法种群多样性的同时加快种群收敛速度。
- 在变化响应中,针对三种类型的决策变量,提出了维护、预测和多样性引入的混合响应策略,使系统在不同的动态环境中具有更好的适应性。
背景及相关工作
A.DMOP基础
假设DMOP的每个目标函数都是一个最小化问题。那么一个DMOP可以在数学上定义如下:
求解式( 1 )的目标是基于动态帕累托支配找到动态帕累托最优集或动态帕累托最优前沿。
下面作者给出了如下定义:
- 动态帕累托支配(Dynamic Pareto Dominance):给定t时刻的两个候选解x和y ( x , y∈),称x支配y,记为x ( t )≺y ( t ),当且仅当
- 动态帕累托最优集(Dynamic Pareto-Optimal Set):一个在时刻t的动态Pareto最优解集,记为PS ( t ),它包含了所有在时刻t不被其他解支配的解,即
- 动态帕累托最优前沿(Dynamic Pareto-Optimal Front):t时刻的动态Pareto最优前沿记为PF ( t ),是PS ( t )中的解在目标空间的映射,即
- 多最优变量(Multioptimal Variable):给定决策变量i,若PS ( t )中存在两个解x和y,且xi
yi,其中xi和yi分别为候选解x和y的第i个决策变量值,则称决策变量i具有多个最优值,即为多最优变量。
- 单最优变量(Single-Optimal Variable):给定一个决策变量i,如果对于PS ( t )中的任意两个解x和y,对应的第i个决策变量值相同,即xi = yi,则称决策变量i具有单最优值,即它是单最优变量。
- 并且如果一个决策变量是单一最优的,那么PS ( t )中的所有解在这个决策变量上具有相同的值。如果一个决策变量是多最优的,那么这个变量在PS ( t )中的个体中存在多个值。
根据 PF(t) 和 PS(t) 的动态特性把DMOP分为4类类型
- PS(t)随时间变化,PF(t)固定。
- PS(t)和PF(t)都随时间变化。
- PS(t)是固定的,PF(t)随时间变化。
- PS(t)和PF(t)都是固定的,但是随着时间的推移问题会改变。
B.动态多目标优化算法
这块介绍了一些以前的多样性引入和基于预测的方法,感兴趣的同学可以去看文献。
C.决策变量分类方法
作者首先是介绍了决策变量的背景和一些其他算法的创新点这里掠过
对于作者提出的决策变量分类方法适用于大多数DMOPs,并且不需要额外的目标函数评价,也不需要迭代累加来收集统计信息,实现了准确的分类,也不需要消耗额外的适应度评价。
本文提出的分类是对DMOPs中决策变量分布(即单最优值或多最优值)进行区分的首次尝试。从搜索开始,采用不同的策略对不同的决策变量进行采样。这样,决策变量在迭代过程中能够尽可能地服从PS ( t )的分布,从而更好地覆盖和逼近PS ( t )
提出框架与实施
DMODEA—DVC以静态方式响应变化并产生个体,以种群迭代的方式进行环境选择。具体的框架如下:
文章的创新之处在于决策变量分类(算法1的第6行和第9行)、子代(算法1的第11行)、变化响应策略(算法1的第9行)。
A.决策变量分类
1)静态优化中的决策变量分类
作者认为:好的DMOEA需要在前沿找到均匀分布的种群,并快速收敛。探索非支配个体的邻域有助于达成这个目标。但是,如果子代决策变量过于接近非支配个体的决策变量,种群容易陷入局部最优。为解决这个问题,子代个体应远离父代的取值,因为多个最优变量的最优值可能会扩散到一个特定区域。在早期搜索阶段,非支配个体可能无法覆盖这个区域,如果后代在非支配个体附近生成,种群就不能保持良好的多样性,因此,为了保持良好的多样性,后代应该在多个最优变量上远离非支配个体生成。相反,对于单最优变量,后代个体中生成的取值应该尽可能接近父代个体中相应的取值,以加速收敛。
所以这个问题的关键就在于如何对多最优变量和单最优变量进行分类,作者提出了一种区分多最优值变量和单最优值变量的近似方法
首先使用斯皮尔曼秩相关系数(SRCC)来衡量一个变量和一个目标函数之间的相关性:
如果第 i 个变量上的两个目标函数之间存在明显的相关冲突(正相关与负相关),即 max(ri1(t)、ri2(t),..., rim(t)) > 0.5α 和 min(ri1(t)、ri2(t),..., rim(t)) < −0.5α(α 是预定义阈值),则第 i 个决策变量被归类为多最优变量,否则就被认为是单最优变量
具体的决策变量分类方法伪代码:
2)变化响应中的决策变量分类
在大多数现有的DMOPs中,考虑到环境的变化,决策变量可以分为相似的、可预测的和不可预测的变量。
相似:表示在过去两次连续环境变化中几乎没有变化的变量,不需要在变更响应中重新初始化。
可预测:表示预测在前两次环境更改中实现显著性能改进的变量,应基于预测重新初始化。
不可预测:表示在预测中没有收益,可以通过多样性引入重新初始化。
非参数t检验用来评估决策变量的变化与环境变化的相关性:
同时预定义一个β 阈值,如果 t-testi >β,则认为第 i 个决策变量具有显著变化,即变量 i 是可预测的或不可预测的,需要重新初始化。
当然还需要执行一个额外的过程来确定变量 i 是可预测的还是不可预测的。
首先,生成当前种群的中心个体:
通过将 x_center 的第 i 个决策变量置入预测值,同时保持其他决策变量不变,生成 n 个试验个体 x_trial[i](i = 1,2,...,n) 。如果 x_trial[i] 支配 x_center,则第 i 个决策变量的预测值被接受,第 i 个决策变量被归类为可预测变量,并根据预测值重新初始化。否则,第 i 个决策变量为不可预测变量,并根据多样性引入进行重新初始化。
需要注意的是,中心点个体和试验个体已经添加到当前种群 P 中,因此变化响应中的决策变量分类不会导致额外的评估。
以下是变化响应中的决策变量分类伪代码:
B.环境选择
环境选择过程从适应度分配开始,为当前种群P的每个个体xi分配一个适应度值F ( i ),定义为支配xi的个体数。
如果 F(i) = 0,即 xi 不被其他个体支配,那么所有不被支配的个体都会被复制到存档 A 中。
如果存档 A 小于种群数量 N,则根据 N 个个体的适应度值,将最好的 N 个个体保留在后代种群 P′中。
如果A等于N,所有非支配个体被复制到P′。
如果 A 大于N,则复制最远的个体到P′
C.变化响应
DMOEA - DVC对前面定义的3类决策变量分别采用维持、多样性引入和预测方法。
维持:如果一个决策变量是相似变量,DMOEA - DVC在变化响应中保持该变量的值不变。
多样性引入:如果决策变量是一个不可预知的变量,则对该变量采用随机重初始化策略。具体如下:
Li ( t )和Ui ( t )分别表示第i个变量在时间步t的下界和上界,rand为[ 0、1 ]中的随机值。
预测:如果决策变量是一个可预知的变量,则利用卡尔曼滤波预测时间步长( t + 1)时的人口中心x _ p,即:
并利用预测中心对可预测决策变量进行如下重新初始化:
其中x _ p是x _ p的第i个决策变量
每一个新的决策变量如果违反边界约束,则需要进行修复,即
整体的变化响应伪代码:
D.子代生成
( a )和( b )分别显示了SBX交叉算子和DE交叉算子产生的100个解。蓝色星号表示子代解。红色圆圈表示父代解。
根据文章前面所述,多最优变量应该在远离父代的地方生成,所以应该选择DE交叉算子;而单最优变量应该在靠近父代的地方生成所以应该选择sbx交叉算子
具体的子代生成伪代码如下:
E.种群更新
在父代种群P和档案A中都进行种群更新策略,用新产生的个体y替换P中最差的个体,更新A。
首先,如果y与P中的任何个体都不相同,则将y与P中的每个个体进行比较。如果y≺xi,则xi的适应度值增加1。如果xi≺y,则y的适应值增加1。
其次,将P中适应度值最高的个体确定为z。 如果y在适应度值上并不比z差,那么y将替换z,并且在A中被y支配的所有个体都会被移除。
最后,如果A还没有满员,那么y会被添加到A中。
F.复杂度的计算
往下是一些复杂度的计算和DMOEA-DVC与其他算法的详情对比,由于目前刚开始学习暂时把它放一边,如果有想了解的同学可以直接看原文对比。