文献原题目,SETNDS: A SET-based Non-dominated Sorting Algorithm for Multi-objective Optimization Problems
SETNDS:基于集合的多目标优化问题非支配排序算法
摘要
在多目标进化算法中(multi-objective evolutionary algorithms, MOEAs),用于寻找Pareto解或者把解分配到不同的前沿中的非支配排序是一个重要并且耗时的过程。在最知名的最坏的情况下,非支配排序算法的时间复杂度是O(MN2)转存失败重新上传取消, 这里M和N分别代表目标数量和种群规模。本文提出了一个更为有效的算法即基于集合的多目标优化问题非支配排序算法(set-based non-dominated sorting algorithm),缩写为SETNDS。最坏的时间复杂度被减少为O(MNlogN)
转存失败重新上传取消,这表明算法运行时间随着种群规模的增加呈对数增长而非二次幂增长。在SETNDS中,通过与其所在的支配集中具有最高等级度的解进行比较来确定要排序的解的等级。本文在不同的数据集上对该算法和六个常用的非支配排序算法,即快速非支配排序(fast non-dominated sort)、擂台赛法排序(arena principle sort)、演绎排序(deductive sort)、角点排序(corner sort)、有效非支配排序(efficient non-dominated sort)以及最佳顺序排序(best order sort)进行比较。比较结果显示本文提出的算法是可行有效的,且在计算效率上和其他现存的算法表现更好。
关键字 支配集,非支配排序,基于集合的多目标优化问题非支配排序算法(SETNDS),最坏情况时间复杂度
I.前言
在许多实际生活和生产活动中,我们经常需要通过权衡很多目标的利弊来多出决策,但是这些目标往往互相冲突。比如说制造商需要最优的生产程序并在生产成本、时间和质量中做出权衡,这个情况可以形式化为多目标优化问题(MOP)[4]。进化算法比传统最优化算法更适合解决多目标优化问题(MOP),因为一次运行就可以得到一组最优解的集合[2]。在过去几十年中,有不同种的多目标进化算法(MOEAs)已经被提出用于解决多目标优化问题(MOP),例如,MOEA/D [7], SPEA 2 [9], NSGA II [2]和其改进版NSGA Ⅲ [11]。
正如文献[2]描述的那样,在多目标进化算法(MOEAs)中,用于寻找Pareto解或者把解分配到不同的前沿中的非支配排序是关键并且耗时的过程,对于改进非支配排序的效率也是非常重要的。通过研究现有的非支配排序算法,我们得出结论,有两个学派可以找到每个解决方案所属的前沿。快速非支配排序算法(FNDS)[2]代表了第一种方法。在这种方法中,不受其他解支配的解被认为是非支配解或Pareto集,它们被分配到第1级并从总体中删除。这些解对应于图1中的p6、p7和p8。然后通过相同的过程将p1和p2视为第2级. 重复该过程,直到种群为空为止。在[6,8]中给出了将解决方案分配给相关等级的第二种方法的典型代表。在这种方法中,每个解都需要与已分配等级的解进行比较。假设p2在支配p5的支配集{p2,p6,p8}中具有最大级别,并且p2的级别为2,因此p5的级别为2 + 1,即3。总而言之,在图1中有四个前沿:集合{p6,p8,p7}是等级1,等级2的{p1,p2},等级3的{p3,p5}和等级4的{p4}。本文在对现有算法进行分析和研究的基础上,提出了一种新的非支配排序算法,可以在最坏的情况下将时间复杂度从O(MN2)转存失败重新上传取消降低到O(MNlogN)
转存失败重新上传取消。该算法的运行时间随种群数量的增加而呈对数增长,而不是平方增长。
本文的研究内容如下,第二节介绍了一些用于查找pareto集或对解进行排名的常见的非支配排序算法。第三部分介绍了整篇文章中提出的基本概念和定义。第四节描述了提出的非支配算法,并且在本节中还给出了一个详细示例,说明了如何实现提出的算法。第五节给出了算法的复杂性分析。第六节讨论了仿真和实验结果。 最后,第七节总结了工作过程,并计划了下一步的后续工作。
II.相关工作
在本节中,我们讨论和分析最近在MOP中研究和利用的非支配排序方法。通过对世界范围内有关非支配排序的许多研究进行回顾[1-3、5、6、8、10、12-14],对多目标解决方案进行排序的常用方法可以分为两类:一类是一个接一个的前沿 (OFAA)和一个接一个的解的解(OSAA)。OFAA的基本思想是将每个解与其他解进行比较,以获得非支配解,然后将其分配给当前等级并暂时将其删除。这一过程一直重复直到种群数量为空。通用方法是基本非支配排序(basic non-dominated sort) [2]和改进版本FNDS(improved version FNDS) [2],快速非支配排序算法(quick non-dominated sorting algorithm,QNDS)[14],擂台赛法(arena principle,AP)[3],演绎排序(deductive sort,DS) [5]和爬升排序(climbing sort ,CLS)[5],角点排序(corner sort,CS)[10]等。基本的非支配排序[1]将解与其他解进行比较,以评估其是否为支配地位; 如果没有解支配它,它将被添加到当前等级。由于许多冗余比较,此方法的时间复杂度为O(MN3)转存失败重新上传取消。FNDS [2]是在参考基本插入排序算法的基础上提出的,该算法将时间复杂度降低至O(MN2)
转存失败重新上传取消,但其空间复杂度却提高至O(N2)
转存失败重新上传取消。QNDS [14]采用快速排序的实现思想,可以将最佳情况下的时间复杂度降低到O(MNN)
转存失败重新上传取消。它比FRIENDS更好,但最坏情况下的时间复杂度仍为O(MN2)
转存失败重新上传取消。
在经验评估中,AP [3]被证明是比其他OSAA算法更有效的算法。AP的想法是随机选择一个解决方案作为“擂主”(始终选择总体中的第一个解)。 剩下的解将一一挑战赛场。
如果挑战者获胜,它将成为新的擂主,而旧的擂主将被淘汰。比擂主还差的挑战者被删除。新的擂主用于与其余解进行比较。 最佳情况下的复杂度可以提高到O(MNN)转存失败重新上传取消,但在最坏情况下仍然是O(MN2)
转存失败重新上传取消。
CS [10]首先对具有一个或多个目标的种群进行排序; 具有最佳目标值的解为非支配解。
表现不佳的解总是支配解或与其余解无关。如AP方法一样,将删除被支配解,并保留无关的解。它的时间复杂度与FNDS相同,其空间复杂度为O(N)转存失败重新上传取消。
在文献[5]中提出了两种非支配的排序方法DS和CLS来解决多目标解决方案。前者表现比CLS要好。DS会记录比较结果,以避免不必要的比较。DS分别在最佳情况和最坏情况下也是O(MNN)转存失败重新上传取消和O(MN2)
转存失败重新上传取消。
与OFAA不同,OSAA的策略是将解决方案一一对应。 每个解都需要与已经排序的解进行比较[6,8,12]。有效的非支配排序策略-顺序策略(ENS-SS)及其改进版本的有效的非支配排序策略-二进制策略(ENS-BS)[6]和最佳顺序排序(BOS)[8],以及其改进版本(BBOS)[12]是代表性算法。这些方法的关键准备过程是按升序对具有一个或多个目标的总体进行排序,如果任何解的值相同,则使用字典顺序概念。ENS [6]在最佳情况下可以将时间复杂度降低为O(MNN)转存失败重新上传取消,但在最坏情况下此参数仍为O(MN2)
转存失败重新上传取消。BOS [8]比上面提到的方法具有更好的目标性能; 在最佳情况和最坏情况下的时间复杂度分别为O(MNlogN)
转存失败重新上传取消和O(MN^2 + MNlogN)
转存失败重新上传取消。寻找解的前沿的搜索策略也影响算法的效率,这在所提出的方法及其改进版本中得到了证明[12]。受生产级分类算法启发,提出了一种将分而治之策略与BOS相结合的混合方法来提高性能,并设计了一种启发式机制来确定何时使用BOS算法来解决子问题[15]。基于分而治之的机制[16],一些研究者提出了递归的非支配排序方法,这是实现OSAA的另一种方法[16-19]。 Kung的算法[18]用于找到一组向量的最大值。Jensen [19]扩展了Kung的算法,双目标的时间复杂度为O(MNlogN)
转存失败重新上传取消,而O(NlogM-1N)
转存失败重新上传取消用于三个或更多目标。当种群有大量的目标时,所提及的算法工作效率低下。为了减少冗余比较,在[17]中提出了一个支配树,用于记录解之间的支配关系,并且将该优势树与分治算法相结合以获取解的前沿。
前面的介绍表明减少比较数是提高排序算法效率的常规方法。这些研究表明,算法进行的比较越少,算法的性能就越好。充分利用隐藏的位置信息和集合论的思想,提出了一种新颖的非支配排序算法。通过确定首先要排序的解的支配区域,该算法可以大大减少比较时间。
III.基础概念和定义
为了促进对这项工作的理解,我们首先介绍本文中使用的以下概念和定义。
A. 参数
N 解的数量
M 优化目标数
s 解
B. 变量
Dp,s =1, p支配s0, p与s无关-1, p被s支配转存失败重新上传取消
C. 集合
P 解的集合
A 解的分类目标集
position_P 目标位置信息集
F 解前沿集
D. 定义
两个解之间的支配关系:
假设解p和解s是解集P中任意两个元素;如果满足
∀j=1,2,…M, AjP≤Ajs∩∃i∈1,M, AjP<Ajs转存失败重新上传取消
我们称p支配s,被记为p≻s转存失败重新上传取消;否则记为s≻p
转存失败重新上传取消.如果p和s互不支配,我们称p与s无关,记为p≻ds
转存失败重新上传取消,反之亦然。
目标空间的划分:
目标空间中任意点的目标值可以根据解之间的关系将空间划分为若干部分;这些部分可以成为支配域,无关域,被支配域。如图2所示,点扫描的目标值将双目标空间分为四个部分,点s与这些部分之间的关系如下:
Ω1s转存失败重新上传取消:位于s的左下部分,也称为支配域; 这里的任何一点都支配s,记为
Ω2s,Ω4s转存失败重新上传取消:位于s的左上和右下,也称为无关区域; 位于这些部分的任何一点与s无关,记为∀p∈Ω2s∪Ω4s,p≻ds
转存失败重新上传取消.
Ω3s转存失败重新上传取消:位于s的右上部分,也称为被支配域; 这里的任何一点都被s支配,记为
解的级别定义:
如图3所示,仅通过s的支配域Ω1s转存失败重新上传取消就能确定解s的级别。假设在支配域Ω1s
转存失败重新上传取消的最高级别为r,参照点为p。那么s的级别就是r+D(p,s)
转存失败重新上传取消.
IV.提出的非支配排序算法
这一部分主要介绍了非支配算法草案:基于集合的非支配排序算法(SETNDS)。图4显示了该策略,它充分利用了解的隐藏位置信息,并利用集合论的思想来找到支配域。从针对M个目标的排序集合A中,获得优先集合APjs转存失败重新上传取消,其中解决方案不比针对目标j的解决方案s差。与M集相交,我们得到s的支配域,即Ω1s=AP1s∩AP2s…∩APMs
转存失败重新上传取消. 首先考虑最小的优先集合APMs
转存失败重新上传取消,因为它代表解s首次出现在集合A中。
- 算法描述
算法1描述了所提出算法的整个实现过程。 该算法主要包括三个步骤:种群初始化,确定支配域和支配关系比较。种群初始化过程在算法1第2-8行中实现。首先获得种群P的目标规模和数量,分别表示为N和M(算法1第2行)。然后,按第j个目标中的每个目标值对解进行排序,并将排序后的序列存储在集合Aj中。如果任何目标值相同,则考虑下一个目标的值。 这个概念来自词典顺序[8](算法1行3-5)。从目标集A中确定用于获得每个解的等级的某个序列表SA,并根据SA和A生成相对目标序列表MA。将解与A相关联的位置信息存储在位置集position_P中(算法1行8)。
在算法2中实现了找到支配域的方法(算法1第12行)。该算法开始从position_P查找s的位置pos_m。然后,基于pos_m,判断是否继续搜索其他目标中的优先集合。也就是说,因为如果pos_m等于1,那么在目标m中没有比s更好的解,则支配域将为空。 一旦支配域为空,就无需搜索其他目标。否则,将其他优先集相交以获得组成优势区域的公共解(算法2行8-12)。否则,将其他优先集相交以获得组成支配域的公共解(算法2行8-12)。支配s的支配集在第12行返回算法1并分配给Ω1s转存失败重新上传取消。如果Ω1s
转存失败重新上传取消为空,这意味着没有比s更优的解决方案,并且s的等级为1(算法1第14行)。如果Ω1s
转存失败重新上传取消非空,任何在Ω1s
转存失败重新上传取消
的解都支配s,这个解有着最高的前沿级别。假设解p具有最高等级r,则确定s的等级。如果种群P中没有相同的解,则s的秩为r + 1。我们在算法3中进行主要比较,以避免分配给不同等级的相同解。
比较过程在算法3(第3-9行)中实现。该算法用于检查解p是否支配s或相等。如果p的任何目标值都比s好,则返回值为1,这意味着p支配s,并且s的最终排名为r + 1; 否则,如果返回值为0,则表示s与p相同,并且s的级别为r(算法1行18)。
- 算法说明示例
支配比较的次数是评估非支配排序算法效率的重要评估指标之一。当前大多数算法通过减少不必要的比较来提高性能[6]。图5给出了具有双目标种群的示例。运行了几种著名的非支配排序算法FNDS,DS,AP,ENS-SS,BOS和CS,以获取比较次数,表1给出了相应的结果。
表2显示了采用本文提出的算法SETNDS的图5中给定示例的实现过程。从算法描述中,我们知道应该找到要排名的解决方案的支配域,如第二列所示。通过与支配域中具有最高等级的解进行比较来确定等级。只需要进行8次比较,比表1中所示的现有非支配算法要小得多。
V. 算法复杂度分析
本节分析SETNDS的算法复杂性。N和M代表上述目标的大小和数量。如[8]中分析的,按字典顺序概念排序的时间复杂度为O(MNlogN)转存失败重新上传取消。时间复杂度为O(MN)
转存失败重新上传取消,因为每个解决方案都需要找到M个优先集合以合并到一个支配域中。根据先前的描述,每个解决方案都需要与其支配域中的最多一个解进行比较以确定等级,因此最多使用N-1次比较;相关的时间复杂度为O(MN-1)
转存失败重新上传取消。 总的来说,时间复杂度为O(MNlogN)
转存失败重新上传取消。从存储空间的角度来看,这些方法将两个M×N个存储空间用于排序的目标集A和位置信息集位置P,因此空间复杂度为O(MN)
转存失败重新上传取消。表3给出了我们提出的算法的时间和空间复杂度,以及八种通用非支配排序算法的时间和空间复杂度。即使改进的排序算法的效率得到了提高,最坏情况下的时间复杂度仍停留在O(MN2)
转存失败重新上传取消。此外,只有BOS会将最佳情况下的时间复杂度降低为O(MNlogN)
转存失败重新上传取消,而其他改进算法的复杂度则降低为O(MN2)
转存失败重新上传取消. SETNDS将最佳和最坏情况下的时间复杂度降低到O(MNlogN)
转存失败重新上传取消,可以有效地提高排序性能。简而言之,与现有算法相比,所提出的SETNDS算法大大降低了时间复杂度。 下一部分将进行一系列实验,以证明所提出算法的效率。
VI. 实验模拟与结果
本节介绍了有关SETNDS和上面提到的其他六种算法的一系列实验。在不失一般性的情况下,主要的比较时间和运行时间被用作性能指标[6、8、10、12]。所有提到的算法都是在装有Inter®Core i7-8550U CPU,1.80 GHz和8 GB RAM的PC上使用MATLAB进行的。如[10]中所述,将具有随机生成的数据集和预定义前沿的总体用于以下模拟。
- 带有随机数据的种群实验
为了显示人口规模N对绩效指标的影响,我们将N设置为从500变为10000,增量为500;目标数指定为2、5和10。 图6给出了仿真结果。 总体而言,所有算法的比较时间和总运行时间会随着种群规模的增加(以不同的比率)而增加。但是,无论从该图如何看,很明显,我们提出的算法都比其他算法优越得多,比较时间更短,运行时间更短。从图中还可以得出结论,对于双目标优化问题,ENS-SS的性能优于其他算法,并且如果不考虑我们的算法,则BOS在多目标问题上的表现最佳。
随着目标数量的增加,尺寸N等于100、500和1000的比较时间和运行时间的变化过程如图7所示。FNDS的性能比其他算法差。 ENS-SS的性能比AP稍好,两者均比DS更好; BOS是其余算法中第二好的算法。SETNDS表现最佳; 对于相同的种群数量N,其比较时间变化很小,并且随着目标数量的增加,运行时间的增长率远小于其他算法。
为了进一步验证该算法的有效性,将大小N从50变为10000,增量为50。本文提出的算法SETNDS具有2个,5个和10个目标的仿真实验结果如图8所示。该图不仅记录了比较时间和运行时间的变化,还记录了每个种群处理的前沿数量。从图8可以看出,比较时间随着大小N的增加而线性增加,最大上限为N。 运行时间随人口规模N的增加而呈对数增长。
- 固定前沿种群的实验
为了验证前沿数量增加的排序算法的计算效率的变化过程,本文采用了文献[10]中提出的固定前沿生成算法。前沿数量从1变为50,增量值为1,总体大小N取为1000,既不能太小也不能太大。目标数M保持为2、5和10。图9中的实验结果表明,FNDS的比较次数最多,运行时间最长,而SETNDS的数值最低。DS花费的时间更少,因此其性能比CS更好。 ENS和AP表现出相似的性能,在多目标情况下消耗大约相同的比较时间和运行时间。对于双目标优化问题,ENS是第二好的,而对于多目标优化,BOS是第二好的。这些结果与上述先前实验的结果一致。
- NSGA II测试DTLZ1和DTLZ2问题的实验
为了研究在MOEA中使用的建议排序算法的性能,将测试问题DTLZ1和DTLZ2用作基准[20]。如[2]中所述,采用的进化算法是NSGA II。参数如下:总体大小为N = 200,有200次迭代,选择算子是二元锦标赛,模拟二元交叉(SBX)(分布指数为mu = 20)和多项式变异算子(非负数) 实数num = 20)用于NSGA II中,如参考文献[2]所示。变量的维数设置为20。交叉率和变异率分别为0.8和1 / n。 要测试的目标M的数量为2、5和10。比较的数量和运行时间也被视为性能指标。每种算法独立运行十次以获得性能指标的平均值。表4-1和4-2分别给出了NSGA II算法在DTLZ1和DTLZ2上与FNDS,AP,CS,DS,ENS-SS,BOS和SETNDS的比较时间和运行时间的平均值。如表4-1所示,SETNDS的比较次数最少,因此比其他方法更好。从表4-2中可以看出,使用SETNDS的NSGA II算法的运行时间最短,而使用FNDS的算法的运行时间最差。在相同情况下,我们改进的排序算法可以大大缩短运行时间。
VII. 结论
本文提出了一种新颖有效的非支配排序算法— MOEAs STANDS。与其他非支配排序算法不同,本文将解决方案的位置信息与集合理论相结合,以找到支配要首先排序的解决方案的支配集合。在SETNDS中,解的排名最多可以通过一次比较来确定;因此,该算法的比较次数远远少于现有算法。由于时间复杂度为O(MNlogN)转存失败重新上传取消,SETNDS的运行时间随人口规模的增长而呈对数增长,而不是平方增长。实验结果表明,SETNDS优于其竞争对手FNDS,AP,DS,CS,ENS-SS和BOS,尤其是在种群数量众多的情况下。所提出算法的缺点是随着目标的积累,花更多的时间进行预排序。下一步有两个方向:一个是并行化算法以进一步加速它,另一个是将提出的算法与MOEA(例如NSGA II)结合起来解决实际问题。
参考文献
[1] N. Srinivas and K. Deb, Muiltiobjective optimization using non
dominated sorting in genetic algorithms. 1994.
[2] K. Deb, S. Agrawal, A. Pratap, and T. Meyarivan, "A Fast Elitist Non
dominated Sorting Genetic Algorithm for Multi-objective Optimization:
NSGA-II," Berlin, Heidelberg, 2000, pp. 849-858: Springer Berlin
Heidelberg.
[3] J. H. Zheng JinHua, Kuang Da, Shi ZhongZhi, "An Approach of
Constructing Multi-Objective Pareto Optimal Solutions Using Arena’s
Principle," Journal of Software, vol. 06, pp. 1287-1297, 2007.
[4] M. A. Adibi, M. Zandieh, and M. Amiri, "Multi-objective scheduling of
dynamic job shop using variable neighborhood search," Expert Systems
with Applications, vol. 37, no. 1, pp. 282-287, 2010.
[5] K. Mcclymont and E. Keedwell, "Deductive sort and climbing sort: new
methods for non-dominated sorting," Evolutionary Computation, vol. 20,
no. 1, pp. 1-26, 2014.
[6] X. Zhang, Y. Tian, R. Cheng, and Y. Jin, "An Efficient Approach to Non
dominated Sorting for Evolutionary Multi-objective Optimization," IEEE
Transactions on Evolutionary Computation, vol. 19, no. 2, pp. 201-213,
2015.
[7] Q. Zhang and H. Li, "MOEA/D: A Multiobjective Evolutionary
Algorithm Based on Decomposition," IEEE Transactions on Evolutionary
Computation, vol. 11, no. 6, pp. 712-731, 2007.
[8] P. C. Roy, M. M. Islam, and K. Deb, "Best Order Sort:A New Algorithm
to Non-dominated Sorting for Evolutionary Multi-objective
Optimization," in On Genetic & Evolutionary Computation Conference
Companion, 2016.
[9] M. L. Eckart Zitzler, Lothar Thiele, "SPEA2: Improving the Performance
of the Strength Pareto Evolutionary Algorithm,",Technical Report 103,
Computer Engineering and Communication Networks Lab (TIK), Swiss
Federal Institute of Technology (ETH) Zurich, 2001.
[10] H. Wang and X. Yao, "Corner Sort for Pareto-Based Many-Objective
Optimization," IEEE Transactions on Cybernetics, vol. 44, no. 1, pp. 92-
102, 2013.
[11] A. Ibrahim, S. Rahnamayan, M. V. Martin, and K. Deb, "EliteNSGA-III:
An improved evolutionary many-objective optimization algorithm," in
IEEE Congress on Evolutionary Computation, 2016.
[12] P. C. Roy, K. Deb, and M. M. Islam, "An Efficient Non-dominated Sorting
Algorithm for Large Number of Fronts," IEEE Transactions on
Cybernetics, vol. PP, no. 99, pp. 1-11, 2018.
[13] R. F. Alexandre, C. H. N. R. Barbosa, and J. A. Vasconcelos, "LONSA: A
Labeling-Oriented Non-dominated Sorting Algorithm for Evolutionary
Many-Objective Optimization," Swarm & Evolutionary Computation,
vol. 38, p. S2210650217306806, 2017.
[14] J. Zheng, C. Ling, Z. Shi, J. Xue, and X. Li, "A Multi-objective Genetic
Algorithm Based on Quick Sort," Berlin, Heidelberg, 2004, pp. 175-186:
Springer Berlin Heidelberg.
[15] M. Markina and M. Buzdalov, "Hybridizing Non-dominated Sorting
Algorithms: Divide-and-Conquer Meets Best Order Sort," 2017.
[16] J. L. Bentley, "Multidimensional Divide-and-Conquer," Communications
of the Acm, vol. 23, no. 4, pp. 214-229, 1980.
[17] H. Fang, Q. Wang, Y. C. Tu, and M. F. Horstemeyer, "An efficient non
dominated sorting method for evolutionary algorithms," Evolutionary
Computation, vol. 16, no. 3, pp. 355-384, 2008.
[18] H. T. Kung, F. Luccio, and F. P. Preparata, "On Finding the Maxima of a
Set of Vectors," Journal of the Acm, vol. 22, no. 4, pp. 469-476, 1975.
[19] J. M. T, "Reducing the run-time complexity of multiobjective EAs: The
NSGA-II and other algorithms," IEEE Transactions on Evolutionary
Computation, vol. 7, no. 5, pp. 503-515, 2003.
[20] K. Deb, L. Thiele, M. Laumanns, and E. Zitzler, Scalable Test Problems
for Evolutionary Multiobjective Optimization. 2001.