摘要:我们已经开发了使用进化优化方法的多目标优化算法,并在涉及主要两个和三个目标的各种实际问题上展示了它们的优势。现在,对于处理具有四个或更多目标的优化问题,越来越需要开发进化多目标优化(EMO)算法。本文中,我们认识到一些最近的努力,并讨论了开发潜在的用于解决多目标优化问题的 EMO 算法的一些可行方向。之后,我们提出了一种基于参考点的多目标NSGA-II算法(我们将其称为NSGA-III),该算法强调群体成员既非支配又接近一组提供的参考点。提出的NSGA-III算法被应用于具有两个到15个目标的多目标测试问题,并与最近提出的EMO算法(MOEA/D)的两个版本进行了比较。尽管这两种 MOEA/D 方法在不同类型的问题上表现良好,但所提出的 NSGA-III 算法在本研究中被发现在所有考虑到的问题上都产生了令人满意的结果。本文展示了关于非约束问题的结果,后续文章将考虑在处理多目标优化问题时的约束和其他特殊情况。
I. INTRODUCTION
自上世纪90年代初以来,进化多目标优化(EMO)方法在不同的两个和三个目标优化问题中已经充分展示了其在找到一组良好收敛和良好多样化的非支配解上的优势。然而,在大多数涉及多个利益相关者和功能的实际问题中,往往存在许多涉及四个或更多目标的优化问题,有时需要有10到15个目标[1],[2]。因此,处理大量目标在过去几年一直是 EMO 领域的主要研究活动之一,这并不令人意外。许多目标问题对任何优化算法,包括 EMO,都提出了一些挑战。首先,非支配解在随机选择的目标向量集中所占比例随着目标数量的增加呈指数级增长。由于非支配解占据了大部分种群位置,任何保留精英解的 EMO 都面临着在种群中容纳足够数量的新解的困难。这会显著减慢搜索过程[3],[4]。其次,多样性保持运算(例如拥挤距离运算符[5]或聚类运算符[6])的实现成为一项计算代价高昂的操作。第三,对大维度前沿的可视化成为一项困难的任务,从而导致后续的决策任务和算法性能评估中的困难。为了解决这个问题,性能度量指标(例如超体积度量[7]或其他度量标准[3],[8])要么计算成本过高,要么可能没有意义。
那么一个重要的问题是,“EMO对于多目标优化问题是否有用?”尽管上述关于可视化和性能度量的第三个困难无法避免,但对现有的EMO算法进行一些算法上的改进可能有可能解决前两个问题。在本文中,我们回顾了一些关于设计多目标EMO的过去工作[9],[10],[11],[12],[13],[14],并概述了一些设计高效多目标EMO方法的可行方向。然后,**我们提出了一种新方法,该方法使用NSGA-II过程的框架[5],但与一组提供的或预定义的参考点一起工作,并展示了它在解决两个到15个目标的优化问题上的有效性。**在本文中,我们介绍了框架,并限制解决各种无约束问题,例如归一化、缩放、凸面、凹面、非连续,并且聚焦于帕累托最优前沿的一部分。在问题中可能存在许多这样的特性。因此,为这些可能性提供一个充分的算法测试仍然是一个重要的任务。我们将所提出的NSGA-III与现有的多目标 EMO(MOEA/D [10])的两个版本进行了性能比较,因为该方法与所提出的方法有些类似。关于 MOEA/D 和 NSGA-III 两个版本的工作原理,我们得到了一些有趣的见解。还对提出的 NSGA-III 算法在一些其他有趣的多目标优化和决策任务中进行了评估。在这篇论文的后续部分,我们建议将所提出的NSGA-III算法扩展用于处理多目标约束优化问题和其他一些特殊而具有挑战性的多目标问题。
在本文的剩余部分,我们首先讨论解决多目标优化问题的困难,然后尝试回答上面提出的有关EMO算法在处理多目标时的有用性的问题。之后,在第三部分,我们详细介绍了一些关于多目标优化的过去研究,包括最近提出的方法MOEA/D [10]。然后,在第四部分,我们详细概述了我们提出的NSGA-III过程。接下来,在第VA部分,我们展示了使用NSGA-III和两个MOEA/D版本在标准化DTLZ测试问题上的结果,目标数量最多为15个。随后,我们展示了在这里建议的缩放版本的DTLZ问题的结果。之后,在随后的几个部分中,我们将测试NSGA-III过程在不同类型的多目标优化问题上的表现。最后,NSGA-III被应用于第七节中涉及三个和九个目标问题的两个实际问题。本广泛研究的结论在第八节中得出。
II. MANY-OBJECTIVE PROBLEMS
大致上,多目标问题被定义为具有四个或更多目标的问题。而具有两个和三个目标的问题则属于另一类,因为在大多数情况下,所得的帕累托最优前沿可以通过图形手段全面地呈现。尽管对于多目标优化问题的目标数目是否存在严格的上限并不太清楚,除了少数情况[15]之外,大多数从业者对最多10到15个目标感兴趣。在本节中,首先我们讨论现有多目标进化算法在处理多目标问题时可能面临的困难,并探讨多目标优化算法是否在处理大量目标时真正有用。
A. Difficulties in Handling Many Objectives
A. 处理多目标问题的困难
在其他地方已经讨论过[4],[16],基于支配原则 [17] 的当前最先进的多目标进化优化算法可能面临以下困难:
1)大部分种群是非支配的:众所周知[3],[16],随着目标数量的增加,随机生成的种群中非支配的部分比例逐渐增大。由于大多数多目标优化算法强调种群中的非支配解,在处理多目标问题时,生成新解的空间相对较小。这减缓了搜索过程,因此整体而言,多目标优化算法的效率变得较低。
- 多样性度量的评估变得计算成本高昂:在确定种群中解决方案拥挤程度时,在高维空间中识别邻居变得计算成本高昂。为了加快计算速度,对多样性估计进行的任何妥协或近似可能导致最终解决方案分布不可接受。
3)重组操作可能效率低下:在多目标问题中,如果在大维空间中只有少数解可用,那么这些解可能彼此之间相距较远。在这样的种群中,重组操作的效果(被认为是多目标优化中的关键搜索操作)变得值得怀疑。两个相距较远的父代解可能会生成离父代解也较远的后代解。因此,可能需要特殊的重组操作(如交配限制或其他方案)来有效处理多目标问题。
4)折衷表面的表示困难:直观地认识到,要表示更高维度的折衷表面,需要指数级别更多的点。因此,需要较大的种群大小来表示由此产生的帕累托最优前沿。这对决策者来说可能很难理解并做出充分的决策以选择首选解决方案。
5)性能度量计算成本高昂:由于需要将高维点集相互比较以确定一个算法相对于另一个的性能,因此需要更大的计算工作量。例如,计算超体积度量需要随着目标数量呈指数增加而进行更多的计算[18],[19]。
6)可视化困难:最后,尽管这与优化直接相关,但最终对于多目标问题来说,更高维度的折衷前沿的可视化可能会变得困难。
前三个困难只能通过对现有多目标优化方法进行一定修改来缓解。第四、第五和第六个困难是所有多目标优化问题共有的,我们在这里未能充分解决它们。
B. EMO Methodologies for Handling Many-Objective Problems
B. 处理多目标问题的多目标优化方法
在我们讨论上述三个困难的可能解决方法之前,我们在这里强调两种不同的多目标问题类别,对于这两类问题,现有的多目标优化方法仍然可以使用。
首先,现有的多目标优化算法仍然可能在从完整帕累托最优集中找到首选解决方案子集(部分集)方面发挥作用。尽管首选子集仍然是多维的,由于目标解决方案集中在帕累托最优前沿的一个小区域内,通过这一原则,大多数上述困难将会得到缓解。已经设计了许多基于多准则决策(MCDM)的多目标优化方法,用于实现这一目的,并且在高达 10 目标的问题上的结果表明其性能良好 [20],[21],[22],[23]。
其次,实际中的许多问题,尽管具有许多目标,通常会退化为具有低维帕累托最优前沿的问题[4],[11],[24],[25]。在这类问题中,可以将冗余目标的识别与 EMO 集成在一起,以找到低维度的帕累托最优前沿。由于最终前沿降低到两个或三个维度,现有的多目标优化方法应该能够有效地处理这类问题。先前对带有 基于主成分分析(PCA)的过程的 NSGA-II 的研究[4]能够解决高达50个目标的问题,其中有一个两个目标的帕累托最优前沿。
C. Two Ideas for a Many-Objective EMO
C. 用于多目标进化多目标优化的两个想法
考虑到基于支配的EMO程序所涉及的前三个困难,可以考虑两种不同的策略来缓解这些困难:
使用特殊的支配原则:上述提到的第一个困难可以通过使用一种特殊的支配原则来缓解,该原则将自适应地离散化帕累托最优前沿并找到一个分布良好的点集。例如,使用ǫ-支配原则[26],[27]将使得与一组帕累托最优点在ǫ距离内的所有点都被ǫ-支配,因此该过程将生成一组有限的帕累托最优点作为目标。这样的考虑也将缓解多样性保持的第二个困难。通过使用配对限制方案或强调近邻父代解的特殊重组方案(例如具有大分布指数的SBX [28])可以处理第三个困难。还可以尝试使用其他特殊的支配原则[29],[30]。Aguirre和Tanaka [31]以及Sato等人 [32]建议使用目标子集进行支配检查,并在每一代中使用不同的目标组合。还可以尝试使用固定锥体支配[33],[34]或可变锥体支配[35]原则。这些研究是在低维问题的背景下进行的,它们在解决多目标优化问题方面的成功尚待证实。
使用预定义的多目标搜索:越来越明显的是,不应该期望单一基于种群的优化算法在大维问题中使其种群趋于帕累托最优前沿附近并同时在整个前沿上均匀分布。处理这类多目标优化问题的一种方法是通过一些外部手段来辅助多样性维护问题。这一原则可以直接解决上述提到的第二个困难。可以通过算法设置多个预定义的目标搜索来代替搜索整个搜索空间以找到帕累托最优解。由于每个目标搜索任务都找到了相应的最优点,因此也缓解了处理大型非支配集的第一个困难。重组问题可以通过使用一种配对限制方案来解决,在该方案中,参与重组操作的是来自相邻目标的两个解。我们提出的算法(NSGA-III)基于这一原则,因此我们会稍微详细地讨论这个方面。我们建议两种不同的实现预定义多目标搜索原则的方式:
a) 可以事先指定一组跨越整个帕累托最优前沿的预定义搜索方向,并可以沿每个方向执行多次搜索。由于搜索方向广泛分布,获得的最优点在大多数问题中也可能在帕累托最优前沿上广泛分布。最近提出的MOEA/D过程[10]使用了这个概念。
b) 与多个搜索方向不同,可以为此目的指定多个预定义的参考点。然后,可以强调与每个参考点对应的点,以找到广泛分布的帕累托最优点集。最近提出了一些这样的实现[36],[37],[38],[14],而本文建议采用另一种方法对第一个参考文献[36]中提出的算法进行扩展和完善。
III. EXISTING MANY-OBJECTIVE OPTIMIZATION ALGORITHMS
Garza-Fabre、Pulido和Coello [16] 提出了三个单目标度量方法,通过使用两个竞争父代之间的各个目标值的差异,表明在5到50目标的DTLZ1、DTLZ3和DTLZ6问题中,与许多现有方法(包括通常基于帕累托支配的EMO方法)相比,收敛性能可以得到增强。Purshouse和Fleming [39] 明确指出,多样性保持和在帕累托最优前沿附近实现收敛是两个矛盾的目标,并且通常的遗传算法操作符不能同时实现这两个目标,特别是对于多目标问题。另一项研究 [40] 通过添加控制多样性的操作符来扩展NSGA-II以解决6到20目标的DTLZ2问题。K¨oppen和Yoshida [41] 声称NSGA-II程序在其原始形式下不适用于多目标优化问题,并建议了一些潜在的度量标准,可以替代NSGA-II的拥挤距离算子以获得更好的性能。基于对两到15目标的DTLZ2、DTLZ3和DTLZ6问题的模拟研究,他们建议使用替代的分配距离度量作为最佳策略。Hadka和Reed [42] 提出了一种基于集成的EMO过程,该过程使用从八到十种不同的预定义操作符中自适应选择的适当重组算子,该选择基于它们在问题上的逐代成功率。它还使用ǫ-支配概念和一种自适应人口规模方法,据称可以成功解决多达八个目标的测试问题。Bader和Zitzler [43] 建议了一种用于计算基于样本的超体积的快速过程,并设计了一种用于找到最大化超体积的一组折衷解的算法。关于近似超体积计算的文献越来越多[44],[18],[45],这可能使这样的方法对解决多目标问题变得实际可行。
上述研究分析并扩展了先前提出的进化多目标优化算法,以评估其解决多目标问题的适用性。在大多数情况下,结果是令人鼓舞的,建议的算法必须在比通常的标准化测试问题(如DTLZ问题)更具挑战性的其他问题上进行测试。它们还必须在实际问题上进行尝试。在以下段落中,我们描述了最近提出的一种算法,该算法与我们在第II-C节中描述的多目标优化算法的描述很相符,并且与我们提出的算法非常相近。
MOEA/D [10] 使用预定义的一组权重向量来维护一组多样化的折衷解。对于每个权重向量,得到的问题称为一个子问题。首先,与每个权重向量随机关联的是种群中的每个个体(大小与权重向量数相同)。然后,从相邻权重向量中选择两个解(通过一个分隔参数(T)定义),进行交配并创建一个后代解。然后,根据性能度量,将后代解与一个或多个权重向量关联。研究中提出了两个度量标准。一个点到理想点的受惩罚距离度量是通过参考方向上的垂直距离(d2)和参考方向上的距离(d1)的加权和(权重θ是另一个算法参数)形成的:
我们在这里称这个过程为MOEA/D-PBI。第二种建议的方法是使用Tchebycheff度量,其中使用理想点z∗和权重向量w:
在报告的模拟[10]中,理想点被用作z∗,零权重的情况通过使用一个小的数值来处理。我们在这里将这个过程称为MOEA/D-TCH。外部种群维护非支配解。前面提到的前两个困难通过使用一个明确的权重向量集来找到点来解决,第三个困难通过使用交配限制方案得到缓解。仅对两个和三个目标的测试问题展示了模拟结果,并得出结论认为MOEA/D-PBI在三目标问题上优于MOEA/D-TCH,而使用人口最小和最大目标值进行目标规范化处理后,MOEA/D-TCH的性能得到了改善。MOEA/D的两个版本都需要设置一个分隔参数(T)。基于对两个和三个目标问题的一些模拟结果,作者建议将种群大小的大部分作为T的值。此外,MOEA/D-PBI需要适当设置另一个参数——惩罚参数θ,作者建议将其值设置为5。
MOEA/D的开发者在随后的研究中建议使用差分进化(DE)来替代遗传重组和突变操作符。此外,在定义特定解的邻域以及在给定邻域中用相应的后代解替换父代方面进行了进一步的修改[46]。我们在这里称这种方法为MOEA/D-DE。在一组主要是两个和三个目标的相关问题上的结果[47]显示,与其他算法相比,MOEA/D-DE表现更好。
正如前面提到的,MOEA/D是一种有前途的方法,因为它很好地解决了上述一些多目标优化中的困难。但是,上述的MOEA/D研究并没有完全探讨它们对大量目标的适用性。在本文中,我们将它们应用于具有多达15个目标的问题,并评估它们在真正的多目标优化问题中的适用性,并揭示了这些算法的有趣特性。
另一项最近的研究[14]遵循了我们对多目标优化程序的描述。该研究扩展了NSGA-II过程,提出了一种用于处理三目标和四目标问题的混合NSGA-II(HN算法)。合并的种群成员被投影到一个超平面上,并在超平面上执行一个聚类操作,以选择用户定义的所需聚类数量。然后,基于种群的多样性,要么在随机选择的一个聚类成员上执行局部搜索操作,将解移到更靠近帕累托最优前沿的位置,要么使用多样性增强操作符从所有聚类中选择种群成员。由于没有使用有针对性和分布式搜索,该方法比MOEA/D或本文提出的过程更通用。然而,HN算法在具有超过四个目标的问题上的效率尚待研究,以确定其在一般多目标问题中的使用。接下来,我们将描述我们提出的算法。
IV. PROPOSED ALGORITHM: NSGA-III
提出的多目标 NSGA-II(或NSGA-III)的基本框架与原始的NSGA-II算法[5]相似,但在其选择机制中有显著的变化。与 NSGA-II 不同的是,在 NSGA-III 中,维持种群成员之间的多样性是通过提供并自适应更新一些良好分布的参考点来实现的。为了完整起见,我们首先简要介绍原始的NSGA-II算法。
让我们考虑 NSGA-II算法的第t代。假设在这一代中,父代种群是Pt,其大小为 N,而由Pt创建的子代种群是Qt,其成员数也是 N。第一步是从合并的父代和子代种群Rt = Pt ∪ Qt(大小为2N)中选择最佳的N个成员,从而保留父代种群的精英成员。为了实现这一点,首先根据不同的非支配级别(F1,F2等)对合并种群Rt进行排序。然后,依次选择每个非支配级别来构建一个新的种群St,从F1开始,直到St的大小等于N或者第一次超过N。假设最后一个包含的级别是第l级。因此,来自级别(l + 1)及更高级别的所有解都被从合并种群Rt中拒绝。在大多数情况下,最后被接受的级别(第l级)仅被部分接受。在这种情况下,只选择那些将最大化第 l 个前沿多样性的解。在NSGA-II中,通过一种计算效率高但是近似的保 niche 操作符来实现这一点,该操作符计算每个最后一级成员的拥挤距离,作为两个相邻解之间的客观归一化距离的总和。然后,选择具有较大拥挤距离值的解。在这里,我们用以下方法(IV-A到IV-E小节)替换了拥挤距离算子。
A. 将种群分类为非支配级别
上述用常规支配原则[17]识别非支配前沿的步骤也在NSGA-III中使用。首先,将所有来自非支配前沿级别1到级别l的种群成员包括在St中。如果|St| = N,则无需进行进一步的操作,下一代将以Pt+1 = St开始。如果|St| > N,则来自第1到第(l-1)个前沿的成员已经被选择,即Pt+1 = ∪l i−=1 1Fi,而剩余的(K = N − |Pt+1|)种群成员则从最后一个前沿Fl中选择。我们将在以下小节中描述剩余的选择过程。
B. 在超平面上确定参考点
如前所述,NSGA-III使用预定义的一组参考点来确保获得解的多样性。所选的参考点可以以结构化的方式预定义,也可以由用户优先提供。我们将在后面的结果部分中展示这两种方法的结果。在没有任何优先信息的情况下,可以采用任何预定义的结构化参考点放置方式,但在本文中,我们使用Das和Dennis的系统方法 [48](也可以使用其他有结构的分布,无论是否对Pareto最优前沿的某些部分进行偏置),该方法将点放置在一个规范化的超平面上 -一个(M-1)维的单位单纯形,它与所有目标轴等倾斜,并且在每个轴上的截距为1。如果在每个目标上考虑 p 个划分,那么在一个 M 目标问题中,参考点(H)的总数为:
例如,在一个三目标问题(M = 3)中,参考点是在一个顶点为(1, 0, 0)、(0, 1, 0)和(0, 0, 1)的三角形上创建的。如果每个目标轴选择四个划分(p = 4),则将创建15个参考点。为了清晰起见,这些参考点在图1中显示。在提出的 NSGA-III 中,除了强调非支配解,我们还强调与每个参考点在某种程度上相关的个体成员。由于上述创建的参考点在整个归一化超平面上广泛分布,因此获得的解也很可能在 Pareto 最优前沿上或附近广泛分布。在用户提供首选参考点集的情况下,理想情况下用户可以在归一化超平面上标记 H 个点,或为此目的指示任何 H 个 M 维向量。提出的算法很可能找到与提供的参考点相对应的接近Pareto最优解,从而允许从决策和多目标优化的综合应用角度更多地使用这种方法。算法1给出了具体步骤。
C. Adaptive Normalization of Population Members
C. 种群个体的自适应归一化
首先,种群
S
t
S_t
St 的理想点被确定通过每个目标函数 i = 1,2,…M 的最小值(
Z
i
m
i
n
Z_i^{min}
Zimin)并且构建理想点
z
=
(
Z
1
m
i
n
,
.
.
.
,
Z
M
m
i
n
)
z = (Z_1^{min},...,Z_M^{min})
z=(Z1min,...,ZMmin) 。然后,通过将St的每个目标值减去zimin进行平移,即通过将目标函数fi减去zimin,以便将平移后的St的理想点变为零向量。我们将这个经过平移的目标表示为 接下来,通过找到满足以下权重向量 w 作为轴方向的最小成就标量化函数的解 (x ∈ St),确定每个目标轴上的极点:
对于
w
i
=
0
w_i = 0
wi=0,我们将其替换为一个小数10^(-6)。对于第i个平移后的目标方向fi′,这将导致一个极端的目标向量
Z
i
m
i
n
Z_i^{min}
Zimin。然后使用这M个极端向量构成一个M维线性超平面。然后可以计算第i个目标轴和线性超平面的截距ai(参见图2),并且可以将目标函数归一化如下:
请注意,每个归一化目标轴上的截距现在为
f
i
n
=
1
f_i^n = 1
fin=1,使用这些截距点构建的超平面将会产生
对于结构化的参考点(共H个),使用Das和Dennis的方法[48]计算得到的原始参考点已经位于这个归一化的超平面上。对于用户提供的首选参考点,参考点简单地通过方程5映射到上述构建的归一化超平面上。由于归一化过程和超平面的创建是在每一代中使用从仿真开始时找到的极端点进行的,所以所提出的NSGA-III过程能够自适应地在每一代中保持St成员所跨越的空间的多样性。这使得NSGA-III能够解决具有 Pareto 最优前沿的问题,其目标值可能具有不同的缩放。该过程也在Algorithm 2中描述。
D. Association Operation
D. 关联操作
在根据 St 在目标空间的成员范围自适应地对每个目标进行归一化之后,接下来我们需要将每个种群成员与一个参考点关联起来。为此,我们为超平面上的每个参考点定义一个对应的参考线,通过将参考点与原点连接而得到。然后,我们计算St的每个种群成员到每条参考线的垂直距离。在归一化的目标空间中,与种群成员关联的参考点是其参考线最接近的参考点。这在图3中有图示。
E. Niche-Preservation Operation
E. 生态位保护操作
值得注意的是,一个参考点可能与一个或多个种群个体关联,也可能不与任何种群个体关联。我们统计与每个参考点相关联的种群个体数量,种群个体从除了最后i一层中选择。我们将这个生态位计数表示为 ρj,表示第 j 个参考点。我们现在设计了一个新的生态位保护操作,具体如下。首先,首先,我们在集合
J
m
i
n
J_{min}
Jmin中确定具有最小ρj的参考点。在存在多个这样的参考点的情况下,随机选择一个。
如果 ρ¯j = 0 (表示与参考点 ¯j 没有关联的 Pt+1 成员),则有两种情况 ¯j 在集合 Fl 中。首先,在前面的 Fl 中存在一个或多个已经与参考点 ¯j 关联的成员。在这种情况下,将具有与参考线最短垂直距离的成员添加到 Pt+1 中。计数 ρ¯j 随之增加一次。其次,在前面的 Fl 中没有任何与参考点 ¯j 关联的成员。在这种情况下,将排除该参考点对当前这一代的进一步考虑。
在 ρ¯j ≥ 1 的情况下(表示已经存在一个与参考点相关联的成员在 St/Fl 中),随机选择一个与参考点 ¯j 相关联的前方 Fl 成员(如果存在),将其添加到 Pt+1。计数 ρ¯j 随之增加一次。在更新生态位计数后,重复该过程共计 K 次,以填充 Pt+1 的所有空缺种群槽位。算法 4 中给出了该过程的详细步骤。
F. Genetic Operations to Create Offspring Population
F. 基因操作创造后代(交叉和变异操作)
形成 Pt+1 后,我们使用常规的遗传算子将其用于创建新的后代种群 Qt+1。在 NSGA-III 中,我们已经通过精英选择的解来维持解的多样性,并强调与每个参考点的参考线最接近的解。另外,正如我们将在第五节中描述的那样,为了实现计算速度快的程序,我们将 N 设置得几乎等于 H,从而赋予每个种群成员相等的重要性。出于这些原因,我们不使用 NSGA-III 中的任何显式选择操作。通过从 Pt+1 中随机选择父母,通过应用常规的交叉和变异算子构建种群 Qt+1。然而,为了创建更接近父代解的后代解(以解决第二节提到的第三个困难),我们建议在 SBX 算子中使用较大的分布指数值。
G. Computational Complexity of One Generation of NSGA-III
G.一代NSGA-III的计算复杂度
对于一个大小为 2N、具有 M 维目标向量的种群,非支配排序(算法 1 中的第 4 行)需要 O(N logM−2 N) 的计算 [49]。算法 2 中的第 2 行需要总共 O(MN) 的计算来确定理想点。目标的转换(第 3 行)需要 O(MN) 的计算。然而,找到极点(第 4 行)需要 O(M2N) 的计算。决定截距(第 6 行)需要一个大小为 M × M 的矩阵求逆,需要 O(M3) 的运算。之后,对最多 2N 个种群成员进行归一化(第 7 行)需要 O(N) 的计算。算法 2 中的第 8 行需要 O(MH) 的计算。在关联最多 2N 个种群成员到 H 个参考点的算法 3 中,所有的操作需要 O(MNH) 的计算。之后,在算法 4 中的生态位程序中,第 3 行需要 O(H) 的比较。假设 L = |Fl|,第 5 行需要 O(L) 的检查。最坏情况下,第 8 行需要 O(L) 的计算。其他操作具有较小的复杂度。然而,生态位算法中的上述计算需要最多执行 L 次,因此需要较大的 O(L2) 或 O(LH) 的计算。在最坏的情况下(St = F1,即第一个非支配层超过种群大小),L ≤ 2N。在我们的所有模拟中,我们使用了 N ≈ H 和 N > M。考虑到上述所有考虑和计算,NSGA-III 的一个世代的最坏情况下的总体复杂度为 O(N2 logM−2 N) 或 O(N2M),取较大者。
H. Parameter-Less Property of NSGA-III
H. NSGA-III 的无参数特性
与NSGA-II一样,NSGA-III算法不需要设置任何新的参数,除了常规的遗传参数,如种群大小、终止参数、交叉和突变概率及其相关参数。参考点的数量H不是算法参数,因为这完全取决于用户。种群大小N依赖于H,因为N ≈ H。参考点的位置同样取决于用户在获得的解中希望实现的首选信息。
所有实验结果见原文!