【无标题】

《A critical problem in benchmarking and analysis of evolutionary computation methods》

摘要

基准测试是计算方法分析和发展的基石,尤其在几乎不可能对算法进行理论分析的进化计算领域。本文证明了一些常用的基准函数在可行集的中心有它们各自的最优值,这揭示了进化计算方法的一个关键问题。我们对最近发表的七种算法法进行了分析,发现这些算法包含一个中心偏差算子,可以让它们轻松地在基准集的中心找到最优解。然而,这种机制使得它们与其他方法(没有中心偏差)的比较毫无意义。我们将这七种新算法的计算性能与进化计算中的两种算法(“差分进化”和“粒子群优化”)在位移问题和更先进基准问题上的计算性能进行了比较。七种方法中只有一种始终比两种旧方法表现得更好,三种表现平平,两种表现非常糟糕,最差的一种表现得比随机搜索好不了多少。我们提供了一些建议,可以帮助改进进化计算中的分析和基准测试。


受到自然行为的启发,在进化计算领域丰富的历史中,提出了许多关键的元启发式算法,其中有基因算法、进化策略、差分进化和粒子群算法等经典算法。这些算法被应用于各种复杂的应用。在这些应用中,要么得到的解不够精确,要门计算成本太高。在过去的几年里,利用自然原理的‘新颖’方法出现了爆炸式增长。进化计算的百科全书,一个基于自然的算法名单已经列出了超过250个声称受到自然过程启发的算法。其中大量所谓新颖的算法,在充满隐喻的术语背后缺乏新意。进化计算社区发出了一个呼吁。作者和签署人指出了新方法大量涌现的四个主要问题:无用的隐喻,缺乏新颖性,缺乏实验验证和比较,以及在非主体期刊上发表这些算法。本文中,我们发现不同的算法的实验和比较中存在另一个严重问题。

由于元启发式算法通常很难进行理论分析,因此,关于这类算法的有效性推理大多是是通过基准测试来完成的。如果一种算法在普遍可接受的问题集中表现良好,那么它就很有可能被视是有效的。多年来,在期刊文章中提出了许多不同的基准函数和集合,但最流行的是在两个会议上为黑盒优化的特别会议(竞赛)构建的:电气和电子工程师协会(IEEE)进化计算大会(CEC)和遗传和进化计算会议(GECCO),其中举行了黑盒优化基准测试(BBOB)研讨会。BBOB函数是COCO平台的一部分,用于比较优化算法,而CEC竞赛(从2005年开始一直持续到今天)的基准可以在其中一位作者的github上找到。如先前所述,这两个基准测试中使用的函数的特征非常不同。CEC基准由相似的子函数组成,这可能会给在这些子函数上表现良好的算法带来优势。研究还发现,与BBOB中的函数相比,CEC的函数之间有更多的相似之处。CEC竞赛的存储库和COCO平台的一个非常有用的共同特性是它们包含了算法和数据。在CEC竞赛的存储库中,性能最好的算法与其结果一起分享。在COCO平台上,可以找到不同方法的结果。然而,仅包含少数方法的源代码,并且一些链接已经失效。一些作者也对这些基准集的人为性质提出了批判,转而主张在实际问题上测试优化算法。

另一个广泛用于比较优化算法的标准基准集包含一些最著名的函数,如Ackley、Griewank、Rosenbrock、Rastrigin或Schwefel,但它也存在一个设计缺陷。这个集合中的大部分函数的最优值在零向量处(或者可行集的中心)。这一事实本身不构成严重问题,但是如果用在包含“check-the-middle”过程或者中心偏差算子的算法和其他算法的对比实验上是没有意义的。在CEC2021比赛期间也发现这个问题。

从算法的描述上很难看出是否包含中心偏差算子。一方面是因为使用了隐喻的术语,另一方面是因为随机系统理论分析的困难。在元启发式中,例如, 在灰狼优化算法中发现的收缩算子和在Salp群优化算法中发现的搜索偏差是导致中心偏差的可能机制。在灰燕鸥优化算法和被TSA中也存在中心偏差操作。

在本文的其余部分,我们将仔细研究最近在Applied Soft Computing, Information Sciences and Future Generation Computer Systems等期刊上发表的七种算法,包括KMA、SMA、BOA、GBO、MPA、HHO和STOA。我们将证明上述所有的算法都包含中心偏差算子。我们将这些相对较新的算法和典型的算法(差分进化(DE)和粒子群优化(PSO))进行比较。此外,还包含了在CEC竞赛中表现良好的两种方法,即LSHADE(这是过去CEC竞赛中许多表现最佳的方法的基础)和HSES (CEC 2018竞赛优胜者)。对于所有算法,我们都选择使用相应出版物中推荐的参数设置,没有进行任何参数调优。所有实验的代码都可以在https://doi.org/10.24433/ CO.1268126上找到。

结果

基准问题

在上述七种算法中,有六种算法在非常相似的基准集上进行了比较,表1中总结了13种基准函数。唯一没有使用这些函数的是GBO(它也使用了具体相同问题的函数)。除了GBO和BOA之外,这些是考虑的基准集中的前13个问题。在这13个问题中,有8个的最优解在0向量处。另外四个的最优解非常接近于零向量,在零向量处求值时给出了很好的结果。只有一个问题(F08)的最优值远离零。
在这里插入图片描述
在这里插入图片描述

Behaviour without a shift

我们使用先前设计的方法论来分析算法的行为。首先,在没有任何额外修改的情况下,在13个基准函数上评估不同的算法。问题的维度设置为30,允许的函数评估的最大次数设置为50,000。选择30次独立运行的平均误差(最优函数值与最大迭代计数后找到的最佳函数值之间的差值)作为性能度量。结果在表2中。虽然像 2.25 × 1 0 ( − 133 ) 2.25×10^(-133) 2.25×10(133)这样的数据没有实际意义,但这些数据是通过各自的算法公布的数据(以及在各自的出版物中进行统计分析的数据)。更有趣的事情是,所有的算法(除了PSO和DE)在零向量(F01-F04, F07, F09-F11)上表现得非常好。唯一的例外是STOA,它在F10上的表现很糟糕。此外,对于在零向量处评估时产生良好值的四个问题(F05, F06, F12, F13),这些方法都表现得非常好,除了BOA之外-所有方法都优于旧的DE和PSO方法。但对于F08,这些方法的性能较差,GBO、BOA、MPA、KMA和STOA都不如PSO。有趣的是,HSES在F08上也比PSO差——这可能是因为CEC竞争允许进行更多的函数评估(这正是HSES设计和调优的目的)。

Behaviour with a shift

现在,我们检查修改这些基准问题的效果。根据之前的工作,我们引入了一个移位算子,它通过一个预定的向量 s s s移动评估点,也就是说,基准函数不是 f ( x ) f (x) f(x),而是 f ( x + s ) f (x + s) f(x+s)。由于函数基本保持不变,人们可以期望算法的表现一致。偏移向量被选择为每个维度范围的10%,例如,对于F01, s = [ 20 , 20 , … ] s =[20,20,…] s=[20,20]。我们再次运行算法30次(这一次,任何小于 1 × 1 0 − 8 1×10^{-8} 1×108的结果都被认为是零)。结果(平均误差)如表3所示。这一次,只有一种新提出的方法(不考虑LSHADE和HSES)能够始终如一地找到最优解,而且只针对单个问题。对于F01,GBO移位前后表现一致,这并不奇怪,因为GBO在每一步都使用牛顿方法,而F01是一个二次函数(GBO在F06上也表现得很好,它几乎是一个二次函数)。除了这单一实例之外,新算法的最高性能已经不复存在,而PSO、DE、LSHADE和HSES的性能基本保持不变。更重要的是,GBO、MPA,尤其是BOA和STOA,似乎只比这两种已有20年历史的方法提升了一点点(或根本没有)优势。HHO、KMA和SMA的结果表明,它们可能包含一些计算上的进步(甚至在F05、F07-F09等问题上与LSHADE或HSES相比)。或者,也许它们被调优了,以便在这些基准问题上表现良好。对于同时添加移位和旋转,我们也进行了相同的分析,得出了相同的结论(结果见补充表1)。
在这里插入图片描述

Comparison on a collection of real-world problems

由于许多作者强调需要在实际应用中测试算法,因此下一个对比考虑基于这些类型问题的基准函数。实际问题的主要难题是,它们是任何基准集的很小一部分,除了两个明显的例外。第一个是CEC 2011竞赛基准集,不幸的是,它在实践中仍然很少使用。第二个包含13个相对较低维度(2到11之间)的工程问题,如表4所示。
在这里插入图片描述
在这里插入图片描述
除了KMA,其他六种算法在至少三个实际问题上与其他算法进行了性能比较(在各自的出版物中)。最常见的问题是P12(在七种算法中有五种考虑到该问题),以及P2和P3(都是四种)。尽管考虑实际问题的六个算法的作者共享了这些方法的源代码(以及上面提到的有问题的基准测试),但没有包括用于优化实际问题的实现。这是一个相当重要的问题,因为所有考虑到的实际问题都有约束条件,并且可以使用不同的技术将它们整合到目标中。另一个问题是选择用于比较的算法。虽然大多数算法都与合成基准中的PSO或DE进行了比较,但只有MPA和STOA将它们纳入对实际问题的比较中。

对于这些实际问题的计算实验,我们使用了先前发表的方法实现。我们也选择通过简单的线性惩罚将约束条件整合到目标中。最大评估次数设置为50,000次,每种算法运行30次。这些计算结果(平均目标函数值)汇总在表4中。最值得注意的是,所有这些实际问题都可以通过DE解决。第二个重要的结果是,尽管HHO和SMA在移位的基准集上表现良好,但这并没有转移到实际问题集。相反,尽管STOA在位移基准上的表现非常糟糕,但它在实际问题上取得了相对较好的结果(类似于PSO)。BOA仍然是最糟糕的方法之一。另一方面,性能最好的方法(DE、LSHADE、MPA、KMA和GBO)的结果非常相似。此外,对于13个问题中的8个,11种算法中超过一半的算法获得了相同的结果。这使得基准测试集和性能指标的设置(在给定数量的函数评估之后的最佳结果)不太适合对比先进算法。

Comparison on a more advanced benchmark set

为了研究七种算法在未调优的难题上的性能,我们决定在一个更先进的基准集上测试它们,并按照先前采用的程序进行数值实验。我们选择了模糊基准集,它在维度5、10、15和20中有32个多模态、不可微、不可分离的函数(每个维度8个)。尽管有些方法能够优化千维函数(在有问题的基准集上),但我们认为“中等”维度足以进行比较。对于维度5、10、15和20,可用函数评估的次数分别增加到50,000、200,000、500,000和1,000,000。此外,我们实现了一种随机搜索(RS)算法,该算法不进行任何优化,仅使用函数评估的最大次数对点进行随机抽样,并从中找到最佳点。这些方法在32个问题中每个问题上运行30次。这种比较的详细结果载于补充表4。

为了给这些方法一个有意义的排名,我们选择了Glicko-2评级系统。评级的详细结果见补充表2,其图形表示如图1所示。我们还进行了Friedman秩和检验,其结果与Glicko-2评级密切相关(这些可以在补充表3中找到)。只有一种方法MPA的排名显著高于PSO或DE。三种方法的排名与PSO-KMA, GBO和SMA大致相同。虽然它们似乎没有比PSO/DE带来任何优势,但它们即使在困难的问题上也表现得相当好。HHO、STOA和BOA的情况就不一样了。虽然HHO在从之前的评估转移的基准上获得了非常好的结果,但它在模糊基准集上的表现非常糟糕。
在这里插入图片描述
类似地,STOA在真实的基准测试中表现得相当好,但是它不能转换为模糊的基准测试集。最后,BOA的结果是7种新方法中最差的,在某些问题上甚至被RS超越。需要强调的是,即使是这些方法中表现最好的算法(KMA)也被来自CEC竞赛的两种算法(LSHADE和HSES)所主导。

Discussion

根据对比计算,很明显,所研究的七种算法都包含一个中心偏差(或零偏差)算子,帮助它们在可行集的中心具有各自的最优值的函数上表现得非常好(或者在那里评估时给出非常好的值)。对其中一些算法进行了分析,并调优到基准集,其中这些函数构成了大多数问题。与其他方法相比,它们似乎提供了更好的性能。然而,当对位移问题进行评估时,他们的大部分优越性能几乎消失了。当在适当的基准集上进行评估时,其中一些结果只比随机搜索好一点点。

在最近的一项大型计算研究中,作者在scipy中实现的195个测试函数的基准集上比较了95种EC技术。在本文提出的方法中,DE排名最佳(第13位),其次是SMA和PSO,而BOA和STOA都排名最差。更有趣的是,作者还研究了减少测试函数和算法的数量对结果排名的影响。他们发现,如果问题/算法的数量减少一半(类似的语句适用于更多的算法),STOA将其排名从第86位提高到最佳算法。一个问题是,这种行为是否可以通过测试函数对STOA包含的中心偏差算子的敏感性来解释。

在所有基准集上测试表现一致是MPA。MPA是唯一在其原始出版物中对更复杂的基准问题(来自CEC 2014和CEC 2017竞赛)进行了彻底测试的方法,并与基于DE的几种最先进的方法(来自某些CEC竞赛的最佳表现方法)进行了比较。在模糊基准集上的和在真实基准集上表现良好的方法中,第二好的方法是KMA。虽然KMA没有在任何先进基准集上进行测试,但它与一些基于DE的最先进的方法进行了比较。不幸的是,将新提出的方法与最先进的技术进行比较仍然是例外,而不是常态。

与其他作者类似,我们认为基准集也应该包括实际问题。这一点似乎特别重要,因为最近发现,以前研究过的很大一部分(接近30%)受自然启发的算法并没有与之相关的应用。但是,正如我们所看到的,只有少数几个经常使用的实际工程问题,而且这些问题作为基准太容易。EC社区应该开始构建大量具有挑战性的实际基准问题。由数学规划社区开发的混合整数规划库(MIPLIB)可以作为一个灵感来源。其最新版本(MIPLIB 2017)由1,065个精心挑选的现实世界整数规划问题(来自学术界和工业界)组成,其中240个专门用于对优化求解器的性能进行基准测试。

普遍存在的一个令人头疼的基准测试问题是它们易于使用。它们的编程相对简单,本文中考虑的所有方法都在各自的源代码中包含了它们(除了GBO,它使用不同的函数来解决相同的问题)。我们提倡构建一个易于使用的跨平台存储库,它将收集:(1)几个异构基准集(BBOB、CEC竞赛、模糊基准集、真实基准和类似的基准),并以统一的方式调用测试问题;(2)标准EC方法和最新技术的可信实现(源代码);(3)在基准测试(1)上运行算法(2)获得的数据。长期以来,在测试EC方法中使用异构基准一直被提倡,我们已经看到,从我们的比较中,性能最好的方法是最初在多个基准集上测试的方法。比较标准方法和最先进方法的能力也是必要的(同样,我们将比较的最佳方法与最先进的方法进行比较)。拥有一个包含这些方法的源代码和相应数据的单一存储库将极大地有利于想要对这些方法进行不同修改的研究人员,或者相反,那些对编写方法的编程语言经验有限,但仍然想在比较中使用它们的研究人员。在这方面,我们认为COCO平台是朝着正确方向迈出的一步,但是它缺乏广度(它只使用BBOB基准测试并提供有限的源代码),并且仍然没有得到充分利用。

我们认为,进化计算领域需要采用更严格的基准和方法来分析和比较新提出的方法。

Methods

Source code

不同方法的源代码链接可以在各自的出版物中找到。对于DE和PSO算法,我们分别使用了随CEC 2021和CEC 2020竞赛文件一起提供的实现。所考虑的方法的所有参数,以及用于运行实验的代码(用MATLAB编写),可以在https://doi.org/10.24433/CO.1268126上找到。

Ambiguous benchmark set

模糊基准测试集中的函数基于之字形模式。这些函数是在不同CEC比赛中表现最好的几个方法以及一些标准方法的帮助下选择的。每个函数在算法之间的排名在统计上都是显著的,但整个集合的排名仍然是模糊的(因此得名)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值