首页 理论教育群体智能算法性能度量方法简介

群体智能算法性能度量方法简介

【摘要】:一般地,对多目标优化算法性能的度量包括对算法所获得的近似Pareto解集的质量和为产生这样的近似解集所需计算资源的度量。直至1999年至2000年间,Veldhuizen和Lamont[1-3]提出了多目标进化算法性能度量的方法,才开启了量化评估算法性能之路。性能度量曲线应随着代数的增加呈递增或递减之势,这样更有利于不同集合之间的比较。性能度量函数的计算复杂度不能太高。

科学研究和工程实践中存在大量的多目标优化问题,而研究和应用多目标优化算法求解这些多目标优化问题时经常需要执行不同算法之间性能的比较。一方面,对同一多目标优化问题,不同的多目标优化算法求出的结果可能不相同。为了评价不同算法对同一多目标优化问题在求解性能上的差异,就需要对不同的算法进行性能比较,以反映不同算法的优劣,进而确定出求解此问题(或此类问题)较好的算法。另一方面,多目标优化算法最终所获得的解集一般为Pareto最优解集的近似解集,那么就需要有一些机制或指标来度量这些近似解集的质量,以定量地评估不同算法的性能。

可以用两类不同的方法来评估多目标优化算法的性能,一类是从理论上对多目标优化算法的性能进行分析,另一类是采用实验的方法对多目标优化算法的性能进行测试和比较分析。一个多目标优化问题的运行效率和收敛性是可以通过理论上的方法进行推导和论证的。多目标优化算法的设计者一般也会对自己设计的算法进行有关理论分析和论证。但必须指出,目前对多目标优化算法收敛性的论证多数局限于考虑当算法的执行时间(或进化代数)t趋于无穷大时算法的收敛性,而对于在有限时间或受限的计算资源环境下这些多目标优化算法的收敛性到底如何,相关的研究结果十分匮乏。此外,当前大多数多目标优化算法所采用的进化机制并无本质上的差异,因而很难从理论上判断哪个多目标优化算法更优。因此,目前研究者多采用实验的方法对多目标优化算法的性能进行测试和比较分析。实践中,可以采用理论分析与实验分析相结合的方法来评价多目标优化算法的性能。

一般地,对多目标优化算法性能的度量包括对算法所获得的近似Pareto解集的质量和为产生这样的近似解集所需计算资源的度量。对于计算资源的度量通常可以通过算法迭代的次数或预设适应度函数的最大评价次数或运行时间等来评估。在这一点上,多目标优化问题与单目标优化问题并无实质上的差异。而对于前者,单目标优化问题和多目标优化问题有着本质上的差别,这是因为单目标优化可以通过所求解函数值的大小来判断最终解的质量,而对于多目标优化问题则很难恰当地定义解的质量的好坏。因而在较长一段时期内,研究者只能使用直观测度或者用图形的方式来描述各算法进行比较的结果以验证算法的性能,除非Pareto最优前沿有先验知识,但倘若如此,则无须多目标优化方法。直至1999年至2000年间,Veldhuizen和Lamont[1-3]提出了多目标进化算法性能度量的方法,才开启了量化评估算法性能之路。此后,许多研究工作转向如何用数量化的方法评价不同算法的求解结果[4-9]

设计多目标优化算法的性能度量方法时,需要综合考虑如下因素[10]:

性能度量函数值的范围应当在0~1之间,因为函数要用于不同世代之间的比较,0~1之间的函数值可以更方便地比较算法在不同代之间的变化。

期望函数值应是可知的,亦即理论上的Pareto最优解集的分布度是可以计算出来的。

性能度量曲线应随着代数的增加呈递增或递减之势,这样更有利于不同集合之间的比较。

评价函数应适用于任意多个目标的优化问题。尽管这不是绝对需要的,但这样能使算法可在不同的目标空间维度上进行比较。(www.chuimin.cn)

性能度量函数的计算复杂度不能太高。

目前,研究者已经提出了多种多目标优化算法的性能度量工具或方法,Deb[5]认为现有的这些度量方法可分为以下三种类型:

算法收敛性的度量;

所得近似解集多样性的度量;

收敛性和多样性的综合度量。

算法的收敛性用于评价近似解(解集)与最优解(解集)的接近程度,多样性用于衡量近似解集中解点的分布情况。而这些已有的度量方法之间到底有何联系以及它们各自的优缺点尚不清楚,因此在评价算法性能时到底使用哪种方法也未达成一致。但有一点是明确的,即多目标优化算法的性能不可能用单一的数值来刻画。例如,Zitzler[9]用严格的数学证明指出:对于具有m个目标的多目标优化问题,至少需要m个指标才可度量两个不同算法之间的优劣程度,且现有的度量方法均为兼容的,但不是完全的,比如在度量两个算法的性能时,这两个算法的均匀性可能完全不同,但度量结果却是相同的。