论文链接:MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition
参考博客:
【1】MOEAD_qq_37780048的博客-CSDN博客_moead
【2】https://blog.csdn.net/sinat_33231573/article/details/80271801
【3】进化计算(八)——MOEA/D算法详解Ⅱ_南木长的博客-CSDN博客,MOGLS和MEA/D算法的比较
【4】进化计算(七)——MOEA/D算法详解_南木长的博客-CSDN博客_moead算法
【5】一种基于分解的多目标优化算法 MOEA/D
【6】MOEA/D 三种分解方式的理解
【7】MOEA/D 算法详解_一条菜鸟鱼的博客-CSDN博客_moea算法
关于什么是多目标优化的小白笔记:多目标优化算法_小白笔记 - 简书 (jianshu.com)
!!本篇笔记主要分析这篇论文的摘要、介绍和结论。下篇论文将详细介绍论文中算法的细节。
一、摘要 Abstract
分解是传统多目标优化中的一种基本策略。但是在多目标的进化优化中没有得到广泛的应用。本文提出了一种基于分解的多目标进化算法(MOEA/D),他将一个多目标优化问题分解为若干个标量优化子问题,并同时进行优化。每个子问题只利用相邻几个子问题的信息进行优化,使得MOEA/D在每一代的计算复杂度低于MOGLS和非支配排序遗传算法||(NSGA-||). (也就是说MOEA/D算法在复杂度上可能优于这两种优化算法)。试验结果表明,采用简单的分解方法的MOEA/D在多目标0-1背包问题和连续多目标优化问题上优于或者近似于MOGLS和NSGA-||。
采用归一化的MOEA/D可以处理尺度不等的目标,采用先进的分解方法的MOEA/D可以为3目标测试实例生成一组非常均匀分布的解。
读到这里遇到许多新的关键词:
遗传算法:遗传算法就是在一个解空间上,随机的给定一组解,这组解称为父亲种群,通过这组解的交叉,变异(一会再解释这几个概念),构建出新的解,称为下一代种群,然后在目前已有的所有解(父亲种群和下一代种群)中抽取表现好的解组成新的父亲种群,然后继续上面的过程,直到达到了迭代条件或者获取到了最优解(一般都是局部最优解)。
参考博客:遗传算法
进化算法:进化算法,或称“[演化算法]进化算法包括遗传算法、进化程序设计、进化规划和进化策略等等,进化算法的基本框架还是简单遗传算法所描述的框架,但在进化的方式上有较大的差异,选择、交叉、变异、种群控制等有很多变化。
遗传算法和进化算法的关系:
参考博客:遗传算法与进化算法changyuanchn的博客-CSDN博客遗传进化算法
0-1背包问题(MOKP):给定n个物品和m个背包,在满足容量限制的条件下使收益最大化。MOKP的数学描述为:
p是价格,x是是否选中该物品,w是重量,c是背包容量
MOGLS(multiobjective genetic local search 一种基于遗传局部搜索的多目标优化算法)同时优化由加权和方法或者切比雪夫方法构建的所有聚合函数。每一次迭代,都优化一个随机生成的聚合函数。
TPLS(two-phase local search):TPLS针对一个单目标优化问题集。其中,目标函数是待优化的多目标优化问题的目标函数的聚合。使用单目标优化算法解决同一序列中基于聚合系数的单目标优化问题。前一问题获得的解可以作为解决下一个问题的起始解(由于两个问题的聚合目标函数仅存在细微的不同之处(稍有不同slightly different))。
MOP(multi-objective optimization problem 多目标优化问题):目标可能是找到一组有代表性的帕累托最优解,和/或量化满足不同目标的权衡,和/或找到一个单一的解决方案,满足人类决策者的主观偏好。https://blog.csdn.net/TravorPhilips/article/details/108920157
支配(Dominance) :在多目标优化问题中,如果个体p至少有一个目标比个体q好,而且个体p的所有目标都不比q差;那么称个体p支配个体q;
①支配:假设小明9岁,50斤,小红8岁,45斤,小明无论是岁数还是体重都比小红大,所以小明支配小红。
②互不支配:假设小明7岁,50斤,小红8岁,45斤,小明岁数比小红小,但体重比小红大,所以小明和小红互不支配。
③非支配排序:将一组解分成n个集合:rank1,rank2…rankn,每个集合中所有的解都互不支配,但ranki中的任意解支配rankj中的任意解(i<j)。
NSGA-||(非支配性排序遗传算法)为了克服非支配排序遗传算法(NSGA)的上述不足,印度科学家Deb于2002年在NSGA算法的基础上进行了改进,提出了带精英策略的非支配排序遗传算法(Elitist Non-Dominated Sorting Genetic Algorithm,NSGA-II),NSGA-II 算法针对NSGA的缺陷通过以下三个方面进行了改进:
①提出了快速非支配的排序算法,降低了计算非支配序的复杂度。
②引入了精英策略,扩大了采样空间,提高优化结果的准确度。
③引入拥挤度和拥挤度比较算子,这不但克服了NSGA算法中需要人为指定共享参数的缺陷,而且将拥挤度作为种群中个体之间的比较准则,使得准Pareto域中的种群个体能均匀扩展到整个Pareto域,从而保证了种群的多样性。
④精英策略即保留父代(上代),然后让父代和经过选择、交叉、变异后产生的子代共同组成一个群体,其目的就是为了防止父代中可能存在的最优解被遗落,最后经过再次选择操作,获得与初始种群同样规模的群落
加权和方法:权重求和法最常用的聚合方法,假设待优化的多目标问题有M个总目标,该函数通过一个非负的权重向量λ =(λ1,λ2,⋯,λm) 加权到每个目标上将MOP转换为单目标子向量,数学表达式为:
切比雪夫方法 ( 最大距离最小化角度理解 ):
(并没有很懂,接着读论文先。)
二、简介 Introduction
(1)译文
一个多目标优化的问题(MOP)可以被称述为:
在一个变量空间里面,函数可以是从空间向空间的映射。由m个目标函数组成。被称作为目标空间。记作:
如果所有的,并且所有的目标都是连续的,那么Ω又被描述为
其中是连续的函数,我们就可以将公式一叫做是一个MOP(多目标优化问题)
通常情况下,由于公式一中的目标相互矛盾,因此没有必要同时最大化所有目标。我们需要找到一个平衡点。目标之间的最佳权衡可以用帕累托最优性来定义。
假设u,v是属于空间. 当且仅当,u 在i维度上的所有值都大于 v,并且 u 在j维度上至少有一个值大于v,我们就称之为 支配(dominate) 。如果说是一个帕累托最优解,那么就不会找到一个 使得 支配。则被称作是一个帕累托最优化向量。换而言之,一个目标的帕累托最优点的任何改善都必然导致至少一个其他目标的恶化。(???????不理解)所有帕累托最优点的集合被称之为帕累托集合(PS),所有帕累托最优目标向量的集合称之为帕累托前沿(PF)。
在多目标优化的许多实际应用中,决策者在选择最终优选方案时需要一个近似于PF的解。大多数MOP可能有许多甚至无限个帕累托最优向量。获取完整的PF是非常耗时的。另一方面,由于信息溢出,决策者可能对处理过多的帕累托最优向量不感兴趣。因此,许多多目标优化算法都是寻找沿PF均匀分布的可管理数量的帕累托最优向量,从而很好地代表整个PF。一些研究人员也努力通过使用数学模型来近似PF。(也就是说,我们需要一个速度快,且数量较少的帕累托最优向量)
众所周知,在温和条件下,MOP的Pareto最优解可能是一个标量优化问题的最优解,该问题的目标是所有函数的聚集(即:f(x))。因此,PF的逼近可以分解为若干标量目标优化子问题。这是许多逼近PF的传统数学规划方法背后的基本思想。在文献中可以找到几种构造聚集函数的方法。其中最受欢迎的有加权和法和切比雪夫法。
近年来,边界交叉方法也引起了广泛关注
目前最先进的多目标进化算法并不涉及将MOP问题分解,这些算法将MOP 视作是一个整体他们不将每个单独的解与任何特定的标量优化问题联系起来。在标量目标优化问题中,所有的解都可以根据它们的目标函数值进行比较,而标量目标进化算法的任务往往是寻找一个最优解。然而,在MOPs中,支配并并没有在目标空间的解之间定义一个完整的顺序,MOEAs旨在产生少数的帕累托最优解,并且能够代表(帕累托前沿)PF的多样性和完整性。
因此,传统的选择算子最初是为标量优化设计的,不能直接用于非分解的MOEA算法中。可以论证的是,如果存在一个适合度分配方案,为单个解分配一个相对适合度值,以反映其选择的效用,那么标量优化EAs可以很容易地扩展到MOPs,尽管其他技术,如交配限制,多样性保持,MOPs的某些属性和外部种群可能也需要增强这些扩展算法的性能。因此,体能分配一直是当前MOEA研究的一个重要课题。流行的适应度分配策略包括基于交替目标的适应度分配,如矢量评估遗传算法(VEGA)[24],和基于支配的适应度分配,如帕累托归档进化策略(PAES),强度帕累托进化算法II (SPEA-II)和非支配排序遗传算法II (NSGA-II)。
分解的思想已经在多种MOPs的元启发式中得到了一定程度的应用。例如,两阶段局部搜索(TPLS)考虑一组标量优化问题,其中目标是所考虑MOP中目标的聚合,一个标量优化算法根据聚合系数按顺序应用于这些标量优化问题,上一题的解被设置为下一题的起点,因为它的聚合目标与上一题的聚合目标略有不同。多目标遗传局部搜索(MOGLS)旨在同时优化由加权和方法或切比雪夫方法构造的所有聚集。在每次迭代中,它优化随机生成的聚合目标。
本文提出了一种新的基于分解的多目标优化算法(MOEA/D)。MOEA/D算法显式的将MOPs问题分解为N个标量优化的子问题,它通过演化一组解决方案来同时解决这些子问题。在每一代,种群的总体是由迄今为止找到的所有每个子问题的最优解组成(从算法运行以来)。这些子问题之间的临近关系是根据他们的聚焦系数向量之间的距离定义的。也就是说相邻子问题的最优解应该非常相似。
在MOEA/D中,每个子问题(即标量聚集函数)都只使用来自相邻子问题的信息进行优化。MOEA/D具有以下特性
- MOEA/D提供了一种将分解方法引入多目标进化算法的简单而有效的方法。通常在数学规划社区中开发的分解方法可以很容易地合并到MOEA/D框架中的EAs中,以解决MOPs。
- 由于MOEA/D优化的是N个标量优化问题,而不是直接解决一整个MOP问题,因此在MOEA/D框架中,诸如适合度分配和多样性维护等给非分解MOEAS带来困难的问题将变得更容易处理。
- MOEA/D每一代的计算复杂度都要低于NSGA-||和MOGLS这两种算法。当两种算法使用相同的分解方法时,在解决0-1多目标背包问题的时候(摘要中有提到),MOEA/D能够产生解的质量要优于MOGLS。在一组连续的MOP测试实例上,带有切比雪夫分解方法的MOEA/D算法执行起来与NSGA-||类似。在3目标连续测试实例上,采用先进分解方法的MOEA/D比NSGA-II具有更好的性能。MOEA/D使用小的population能够产生少量非常均匀分布的解决方案。
- 目标归一化技术可以合并到MOEA/D中,以处理不同尺度的目标。
- 在MOEA/D中使用标量优化方法是非常自然的,因为每个解都与一个标量优化问题相关。相比之下,非分解MOEA的一个主要缺点是没有简单的方法来利用标量优化方法的优势。
本文的组织结构如下。第二节介绍了MOPs的三种分解方法。第三节介绍MOEA/D。第四节和第五节比较了MOEA/D与MOGLS和NSGA-II,并表明MOEA/D优于或表现类似于MOGLS和NSGA-II。第六节对MOEA/D进行了更多的实验研究。第七部分是本文的总结部分。
(2)总结
简介部分是对摘要的进一步详细的介绍。
首先,文章介绍了MOP问题是什么,就是寻找在多个目标作用下,一个问题能够达到最优解的一个平衡点,这个所谓的最佳平衡可以使用帕累托最优来描述。
那么MOP问题可以转化为找到一组帕累托最优,所有帕累托最优目标向量的集合称之为帕累托前沿(PF)。那么MO算法需要快速并且准确的找到一组在PF前沿上的均匀分布的向量的集合,且数量可管理。
现在的将MOP进行分解的方法主要有三种:加权和方法、切比雪夫方法和边界交叉方法。这三种方法都是用于将分解为多个
目前的多目标进化算法不涉及MOP的分解,他们都将MOP问题视为一个整体。传统的算子是为标量优化设计的,不能用于非分解的MOEA。也就是说目前大部分的目标分解算法是解决标量化的MOP问题,并且将F(x)视做是一个整体,直接求解F(x)。文中的MOEA/D算法就是将整体目标进行分解。
并且举例了两种涵盖分解思想的算法:
MOGLS(multiobjective genetic local search 一种基于遗传局部搜索的多目标优化算法)同时优化由加权和方法或者切比雪夫方法构建的所有聚合函数。每一次迭代,都优化一个随机生成的聚合函数。
TPLS(two-phase local search):TPLS针对一个单目标优化问题集。其中,目标函数是待优化的多目标优化问题的目标函数的聚合。使用单目标优化算法解决同一序列中基于聚合系数的单目标优化问题。前一问题获得的解可以作为解决下一个问题的起始解(由于两个问题的聚合目标函数仅存在细微的不同之处(稍有不同slightly different))。
作者还介绍了MOEA/D算法的一些特征:
- 使用分解的方法融入到MOEA/D算法中,解决连续的多目标优化上
- MOEA/D算法将整个MOP问题分解为若干个子问题,使得问题更加容易处理
- MOEA/D计算复杂度更低,在一些问题上MOEA/D更产生更高质量的解,在一些情况下性能更高,并且产生数量较少的并且均匀分布的解。
- 目标归一化技术能够使得MOEA/D算法能够处理不同尺度的目标
三、结论
在传统的数学规划方法中,分解被广泛应用于求解MOPs问题。相比之下,大多数MOEA将MOP视为一个整体,在搜索过程中主要依靠支配度来衡量解决方案的质量。
这些算法可能不能很好地生成沿PF的解的均匀分布。
本文提出了一种简单通用的基于分解的进化多目标优化算法MOEA/D。它首先使用分解方法将MOP分解为若干标量优化问题。然后,利用EA对这些子问题同时进行优化。MOEA/D总体中的每个解决方案都与一个子问题相关联。基于子问题权向量之间的距离定义了子问题之间的邻域关系 。在MOEA/D中,子问题的优化使用相邻子问题的当前信息,因为相邻子问题应该有接近的最优解。我们分别在多目标背包问题和连续多目标问题上比较了MOEA/D与MOGLS和NSGA-II。我们的分析表明,MOEA/D的计算复杂度低于MOGLS和NSGA-II,实验结果也证实了这一点。就解决方案质量而言,在大多数测试实例中,具有简单分解方法的MOEA/D优于或类似于MOGLS和NSGA-II。
我们已经证明,在两个连续的3目标测试实例上,带有PBI方法的MOEA/D能够在PF上生成具有代表性的帕累托最优解的非常均匀的分布。我们还证明了带有朴素目标归一化技术的MOEA/D可以很好地处理不同尺度的目标。这些结果表明,如果付出更多努力,MOEA/D的实现将更加高效和有效。
实验研究了MOEA/D的可扩展性和对邻域大小的敏感性。我们发现计算成本随决策变量数量的增加而线性增加,MOEA/D对决策变量的设置不是很敏感。我们还证明了MOEA/D在计算成本低的情况下,能很好地找到少量均匀分布的帕累托解。