CMPSO论文翻译解读

多目标多种群:求解多目标的协同进化技术
Multiple Populations for Multiple Objectives: A Coevolutionary Technique for Solving Multiobjective

摘要

传统的多目标进化算法(MOEA)在求解多目标优化问题(MOPs)时将多个目标作为一个整体考虑。然而,这种考虑可能会导致难以为个体分配适合度,因为不同的目标往往相互冲突。。

为了避免这一困难,本文提出了一种新的协同进化技术,称为多目标多种群(MPMO)。MPMO的新颖之处在于,它提供了一种简单而直接的方法**,通过让每个群体只对应一个目标来求解MOP**。这样,可以解决适应度分配问题,因为每个群体中的个体适应度可以由相应的目标分配。

MPMO是一种通用技术,每个群体都可以使用现有的优化算法。本文将粒子群优化(PSO)应用于每个种群,并基于MPMO技术开发了协同进化多种群PSO(CMPSO)。此外,CMPSO是新颖有效的,它为不同群体使用外部共享档案来交换搜索信息,并使用两种新颖的设计来提高性能。

基于粒子群优化的多目标优化:PSO是1995年由提出的群智能优化算法,它将种群中每个个体看成搜索空间中的一个没有体积和质量的粒子.这些粒子在搜索空间中以一定的速度飞行,其速度根据其本身的飞行经验和整个种群的飞行经验进行动态调整.优点在于流程简单易实现,算法参数简洁, 无需复杂的调整, 因此, 从提出至今, 已被迅速用于遗传算法原有的一些应用领域.

一种设计是修改速度更新方程,以使用不同群体找到的搜索信息快速近似整个帕累托前沿(PF)。另一种设计是对档案更新使用精英学习策略,以引入多样性,避免局部PFs。CMPSO在具有不同特征的不同基准问题集上进行了全面测试,并与一些最先进的算法进行了比较。结果表明,CMPSO在求解这些不同的MOP集时具有优越的性能。

介绍

在过去的几十年中,多目标优化问题(MOPs)由于其在大量实际应用中的重要性而受到了广泛关注。随着进化计算(EC)算法在单目标优化中取得了巨大成功,许多研究人员试图将EC算法扩展到MOPs。然而,当使用多目标进化算法(MOEA)求解MOPs时,出现了如何为下一代选择好个体的问题。由于MOP有多个目标,这些目标经常相互矛盾,如果一个目标更好,但另一个目标更差,则很难判断一个人是否比另一个人更好。这是MOEA研究人员遇到的适应度分配问题。由于EC算法源自达尔文自然定律中的“适者生存”概念,如果我们不能解决适应度分配问题,将导致搜索效率低下。因此,MOEA部最重要的研究课题之一是设计一种合适的方法来分配个人的适应度。
为了克服MOEA中的适应度分配困难,文献[5]、[6]中提出了各种技术,如目标聚合技术、目标替代技术和基于帕累托的技术(更多信息见第II-C节)。目标聚合技术通过权重将目标汇总为单个目标,然后优化形成的单个目标。然而,该技术要求用户确定不同目标的权重。此外,使用该技术在一次运行中只能获得一个解决方案。目标交替技术根据目标的重要性对目标进行排序并交替优化。然而,目标的顺序可能会显著影响绩效,而确定不同目标的重要性通常取决于问题。第三种流行技术是应用帕累托优势对个体进行排序,并为其分配适合度。支配秩技术可能有助于近似帕累托前沿(PF)。然而,由于帕累托优势是一种偏序关系,很难为下一代选择个体。
如果选择算子不能保持足够的多样性,则所获得的解可能仍然不会沿整个PF扩散。因此,在MOEA社区中,开发一种既能方便地分配个体适应度,又能保持多样性以接近整个真实PF的MOEA仍然是一个具有挑战性的研究课题。

为了解决适应度分配问题,同时为MOPs设计有效的MOEA,本文提出了一种称为多目标多种群(MPMO)的新技术。MPMO的动机在于:由于MOP中有多个目标,我们可以使用多个群体而不是仅使用一个群体来优化MOP吗?由于很难将所有目标作为一个整体考虑在一个群体中,我们能否在不同群体中分别对待它们?因此,MPMO技术的思想是新颖的,与上述技术不同:MPMO使用多个群体处理多个目标,每个群体仅对应于一个目标,所有群体协作近似整个PF,而不是由同一群体整体处理所有目标。图1示出了基于MPMO技术的具有M个总体的MOP算法的框架,以求解具有M个目标的MOP。

在每一代中,每个群体中的个体计算所有目标函数,就像传统的MOP算法一样。然而,当执行进化算子如选择时,第m个群体中个体的适应度值由MOP的第m个目标函数分配,其中1≤ m≤ M这样,个体将不再被不同的冲突目标所迷惑,而是被相应的目标所引导以搜索PF的不同区域。然而,由于每个群体只专注于优化一个目标,这可能会导致MPMO将每个群体中的个体引导到相应目标的边缘,从而导致整个PF的无效近似。因此,MPMO的另一个特点是,它要求算法设计一个信息共享策略,如图1所示。这样,不同的群体可以共享他们的搜索信息,并通过信息共享策略与其他人通信,以有效地近似整个PF。

应该注意的是,MPMO技术可以被视为一种协同进化机制,因为它使用多个种群来协同解决问题。共同进化被认为是生物学中一种重要的进化机制,它产生了许多有趣的适应性,并对生物多样性做出了重大贡献[9]。在过去二十年中,欧共体的科学家也使用了共同进化的概念[10]-[13]。

这些研究的主要思想是将问题分解为子问题,并使用多个种群协同优化不同的子问题。在MPMO中,MOP自然具有多个目标,不需要分解问题。多个群体优化不同的目标,并合作地近似MOP的整个PF。因此,我们声明MPMO是求解MOP的共同进化技术。

作为一种通用技术,实现MPMO算法非常简单,可以在每个群体中容纳任何现有的单目标优化算法。在本文中,考虑到粒子群优化(PSO)[14]是一种简单但功能强大的全局优化器,具有非常快的收敛速度,我们对每个群采用PSO,并设计协同进化多种群PSO(CMPSO)作为MPMO的实例来求解MOP。基于MPMO框架,CMPSO使用外部共享档案来实现信息共享策略,并开发了两种新的设计来提高算法性能。第一种设计是使用从外部共享档案中获得的信息修改粒子速度更新方程。共享存档用于存储不同集群发现的非主导解决方案,并在每一代更新。不仅粒子的速度和位置是通过考虑其个人经验和群体经验来更新的,而且还考虑从档案中获取的经验。因此,所有集群都可以通过共享档案彻底共享其搜索信息。这有助于算法加速整个PF的近似。第二种设计是利用精英学习策略(ELS)来更新档案,以便引入足够的多样性,从而避免出现局部PFs。这可能有助于具有多模态目标函数或复杂帕累托集的MOP。

CMPSO算法的创新点和优势如下:
1) CMPSO是一种基于MPMO技术的协同进化多种群算法,不同于现有的将多个目标作为一个整体来考虑群体中的所有目标的算法。每个群只考虑一个目标进行优化。然后,不同的群将相互协作以有效地近似整个PF。

2) 由于每个群只优化一个目标,CMPSO不仅避免了适应度分配的困难,而且还受益于使用常规PSO或改进的PSO算法优化单个目标。
3) 由于外部共享档案用于存储不同群中发现的非支配解决方案,因此每个群可以通过共享档案与其他群通信,并可以使用其他群提供的信息快速近似整个PF。
4) 由于ELS用于存档更新过程,该算法有望在具有多模态目标函数的MOP中跳出局部PFs。

CMPSO的性能将在目标函数、PF和Pareto集具有不同特征的不同基准问题集上进行测试。为了证明CMPSO的优势,我们不仅将其与最先进的现代MOEA进行比较,还将其与多目标PSO(MOPSO)进行比较。实验结果表明,CMPSO在求解MOPs问题上具有优越的性能。本文的其余部分组织如下。
在第二节中,回顾了一些背景,包括PSO算法的框架、MOP的定义以及MOP的相关工作。
在第三节中,提出了求解MOP的CMPSO算法。
第四节介绍了CMPSO的实验结果、比较、讨论和分析。最后,第五节给出了结论和未来工作。

背景

PSO
粒子群优化算法最初由Kennedy和Eberhart于1995年开发,作为一种全局优化技术。
D维问题,N粒子种群
假设目标函数是y =f(x),决策变量就是这个x,V就是x的维度。比如求二元函数y=x1^3 -x2 ^2的极值,V就是2,对应[x1, x2].
对于粒子i来说,对应一个速度向量:
一个位置向量:
在这里插入图片描述
一个位置向量:
在这里插入图片描述

粒子i的最佳位置:
在这里插入图片描述
其中最好的一个,pBesti被认为是全局最佳位置
在这里插入图片描述
向量V i和Xi在其相应范围内随机初始化,在pBesti和gBest的指导下,每一代更新为(1)和(2)(w为权重)
在这里插入图片描述
惯性权重ω建议在运行期间从0.9线性减少到0.4,以平衡全局和局部搜索能力
c1和c2是加速度系数,通常设置为2.0或根据进化状态自适应控制
r1d和r2d是在[0,1]的范围内为dth维度随机生成的两个值。
通过(1)获得的速度被限制在以下范围内:[−Vmax,d,Vmax,d]
其中Vmax,d是最大速度值的用户预定义正值。
此外,通过(2)获得的更新位置被限制在[Xmin,d,Xmax,d]的搜索范围内。在文献中,Vmax,d通常设置为20%

在速度和位置更新之后,对新位置进行评估,如果新位置具有更好的适应度,它将取代pBesti。此外,如果pBesti具有更好的适应度,则用pBesti代替gBest。所有粒子执行相同的操作,算法迭代运行,直到满足终止标准。
MOPs
在这里插入图片描述
在这里插入图片描述

这个X是个D位决策空间的点,F是目标函数值

在这里插入图片描述
上面是pareto的各种定义
pareto支配,给定两个属于解空间的解,对于第m个目标来说

MOP的相关工作

一些研究人员使用聚合方法来解决MOP[17]。也就是说,对多个目标进行加权和求和,形成单个目标,然后对获得的单目标问题进行优化。然而,不同目标的权重取决于问题或决策者。因此,它们难以确定。此外,聚合方法在一次运行中仅获得一个解,这在实际应用中是不够的。

将MOP分解为不同的标量优化子问题,并对这些子问题使用不同的权重,以在单个运行中获得一组Pareto解。
其他一些研究人员建议在求解MOP时交替优化目标。这种方法也被称为词典排序方法[6],因为目标通常按重要性顺序排列,并且通过根据目标函数的等级交替优化目标函数来获得解。
例如,在Hu和Eberhart的MOPSO[18]中,一个粒子的邻域是由一些最近的粒子根据一个目标的目标空间形成的,而邻域中的最佳粒子由另一目标的适应度确定。然而,由于[18]中使用的方法涉及使用两个目标分别确定邻域和邻域最佳粒子,因此似乎仅适用于具有两个目标的MOP。此外,确定不同目标的重要性取决于问题,目标的顺序可能会显著影响性能。
其他研究人员应用帕累托优势的概念来解决MOPs。多目标遗传算法(GA)根据支配它的其他个体的数量为每个个体分配一个等级[19]。然后,根据个体的等级将适合度分配给个体。小生境帕累托遗传算法基于帕累托支配锦标赛策略对每两个个体进行比较[20]。非支配排序GA(NSGA-II)根据帕累托支配关系对所有个体进行排序,并选择具有更好等级的个体形成下一代群体[7]。此外,许多MOPSO在分配个体的适应度值[21]、[22]时采用帕累托支配概念,例如,在确定个人历史最佳位置[23]或选择全局最佳位置[24]时。

用CMPSO解决MOP

CMPSO的进化过程

CMPSO算法基于MPMO技术,使用多个群优化不同的目标。在本节中,详细描述了每个群的进化过程和所有群的信息共享策略。随后,给出了完整的CMPSO过程,并讨论了CMPSO的新颖性。

假设MOP中有M个目标,因此,在CMPSO中有M群同时工作以优化MOP。每个群中的进化过程类似于用于优化单目标问题的传统PSO。在不丧失一般性的情况下,我们在此仅考虑M群中的一个,以索引m表示,以描述进化过程。
在初始化中,第m个群中的每个粒子i随机初始化其速度V m i和位置Xm i,计算Xmi,并使pBestm i与Xm i.i相同
在进化过程中的每一代中,对于第m个粒子群,每个粒子i通过其个人历史最佳位置pBestm的影响更新其速度和位置
群的全局最佳位置gBestm,以及由粒子i从存档中选择的存档位置Archivem i=[Ami1,Ami2,…,Am iD]。在这里插入图片描述

在这里插入图片描述
以上是速度更新公式,d表示维度索引,r3d是[0,1]的随机数。位置更新公式如下
在这里插入图片描述
在速度更新方程中,术语c3r3d(Am id− Xm id)是来自共享存档的共享信息。借助共享存档中的解决方案信息,粒子不仅可以使用其自身群的搜索信息,还可以使用其他群的搜索。
我们期望粒子通过使用所有群的整个搜索信息沿着整个PF搜索,而不是仅被其自身群的搜索信息吸引到边缘。
因此,该算法可以借助存档信息快速近似整个PF。
Archive m i是通过粒子i从共享档案中随机选择一个解决方案来选择的。随机选择方法快速,具有高多样性的优点,并且计算成本低。因此,本文采用了该方法。注意,如果存档为空,则从其他M-1的gBests中随机选择Archivem i,不包括第m群本身。

CMPSO的存档更新
CMPSO使用外部存档来存储来自所有集群的非支配解。该档案不仅用于存储进化结束时报告的非支配解,如传统的MOP算法[39],还用于不同集群之间的信息共享。因此,所有粒子群中的粒子可以访问存档中的信息,并使用它来引导飞行,如(6)所示。

在算法中存档标记为A,存档被初始化为空,并在每一代中更新。研究表明,最好使用具有固定最大大小的存档,因为非支配解的数量可能会快速增加[6]。因此,在CMPSO中,存档的最大大小设置为NA ,当前一代中的存档大小表示为na。
在每一代结束时,存档A都会更新。存档更新过程如图2所示,并描述如下。
在这里插入图片描述在这里插入图片描述

首先,新的集合S被初始化为空。
然后,将每个群中每个粒子的pBest添加到集合S中。
然后,将旧存档A中的所有解决方案添加到集合S中。
之后,对存档A中的每个解决方案执行ELS[16],以形成新的解决方案。
然后将所有新的解决方案添加到集合S中。
在上述操作之后,集合S将具有(N×M+2×na)解,其中N和M分别是群的种群大小和群数(目标数),na是旧档案a的解数
然后,对集合S执行非支配解确定过程,以确定所有非支配解并将它们存储在集合R中。
如果R的大小(非支配解的数量)不大于NA
然后,将所有非主导解决方案存储在新存档A中,并将na设置为R的大小。否则,将根据密度对所有非主导方案进行排序,并选择第一个na不太拥挤的解决方案存储到新存档A,并将数字na设置为NA

以下部分给出了ELS程序、非支配解确定程序和基于密度的选择程序的详细信息。

ELS:ELS首先在自适应粒子群优化算法[16]中引入,用于全局最佳粒子跳出可能的局部最优。在本文中,我们对存档中的所有解决方案执行ELS,因为它们都是CMPSO的全局最佳解决方案。该过程的伪码如图2(a)所示,并描述如下。
在这里插入图片描述

对于存档A中的每个解Ai,首先,让新解Ei等于Ai,然后,选择随机维度d以执行高斯扰动,如下
在这里插入图片描述
其中,Xmax,d和Xmin,d分别是dth维度的上界和下界。高斯(0,1)是由平均值为0和标准偏差为1的高斯分布生成的随机值。
扰动后,检查Eid并保证其在[Xmin,d,Xmax,d]的搜索范围内;否则,将Eid设置为相应的边界。随后,计算新解Ei的所有目标,并将解Ei添加到集合S中。

在这里插入图片描述

非支配解确定:该过程用于确定给定解集S中的非支配解。该过程描述如下,其伪代码如图2(b)所示。集合R用于存储非支配解,并初始化为空。然后,对于集合S中的每个解i,该过程检查解i是否由任何其他解j支配。如果解i不由任何其它解支配,则将解i添加到集合R中。该检查过程对集合S中所有解执行,并且可以确定所有非支配解并将其存储在集合R中。

在这里插入图片描述

基于密度的选择:如果R的大小大于存档的最大大小(NA),则执行此过程。该功能是在第一个NA中选择不太拥挤的解决方案进入新存档。密度估计度量在[7]中介绍,并在本文中采用。对于详细的计算,程序如图2(c)所示,并描述如下。给定一组解R,每个解的距离初始化为零。然后,根据每个目标值对所有解进行排序,从最小到最大。对于每个目标,边界解,即在该目标上具有最小值和最大值的解,被分配无限距离值。其他解的距离增加了两个相邻解之间目标值的绝对归一化差
在密度估计之后,集合R中的所有解都分配有距离。然后,我们可以选择距离新存档A较远的第一个NA解决方案

完全的算法
在这里插入图片描述

前面的小节描述了演化过程和存档更新过程。完整的CMPSO算法如图3所示,并描述如下。
在初始化过程中,初始化每个群中有N个粒子的M个群,并将存档A设置为空。对于第m个群中的每个粒子i,初始化其速度V m i和位置Xm i,计算Xm i的所有目标,并使pBestm i与Xm i相同。
根据第m个目标的适合度比较所有pBestm i,以确定第m个群的全局最佳位置gBestm。初始化后,更新存档A,算法开始其进化过程。

在进化过程中的每一代中,第m个群中的每个粒子i,首先从A中随机选择存档解,然后根据(6)和(7)更新其速度和位置。计算新位置Xm i的所有目标,如果Xm i第m个目标小于pBestm i第m目标,则Xm i将替换历史最佳位置pBestm i。此外,如果pBestm m i在第m目标上的适应度值小于gBestm,则gBestm将替换为pBestm 1。在生成结束时,更新存档A,并重复该过程,直到满足终止标准。算法完成后,将报告存档A中的解决方案。

CMPSO的新特性
CMPSO算法的新颖之处不仅在于它基于自然解决适应度分配问题的MPMO技术,还在于它使用外部共享档案和两种新颖的设计来有效地实现信息共享策略。一种设计是修改速度更新方程,以使用共享的存档信息来加速速度,以近似PF,另一种是在存档解更新中使用ELS,以避免局部最优PFs。因此,CMPSO不同于许多现有的多种群算法。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值