寻找评估成本高的非凸准光滑函数的全局最小值

计算科学 优化 约束优化 非凸的
2021-12-16 17:38:58

我在 10 维空间中有一个有界非凸函数。该函数是准平滑的,你可以想象一个直方图,这里是一个插图,它只是展示了这个想法,与我的特定函数无关:

在此处输入图像描述

函数值是通过耗时模拟获得的(大约需要10秒)。显然,如果我想计算梯度,我需要用差商来近似它们。如果您需要有关该功能的更多详细信息,我可能会说更多。

我读过 LM Rios 和 NV Sahinidis 的文章,Derivative-free optimization: A review of algorithms and comparison of software implementations

所以我尝试了文章中提出的所有 TOMLAB 求解器以及MCS方法,文章中也提到了它是最好的方法之一。但他们都无法超越简单的布伦特方法以及手工挑选的初始猜测(好吧,我几乎不相信我能做出如此伟大的猜测)。

我也听说过代理建模,值得尝试吗?

那么我应该考虑哪些其他全局优化方法?

2个回答

正如评论文章指出的那样,没有一种最好的无导数优化器可以解决所有问题,就像没有一种最好的非线性求解器可以找到代数方程的根,也没有一种最好的线性求解器可以求解线性方程等。另外,就像线性求解器和非线性求解器,如果您想要一个高性能的解决方案,则需要进行一定数量的实验。

沿着这个论点,代理建模是值得尝试的。您可以首先尝试NLOPT中的算法,该算法由 MIT 的 Steven G. Johnson 编写,其中包含一些使用代理模型(基本上是多项式插值)的无导数算法。听起来你现在正在使用类似于 PRAXIS 的东西,所以你也可以试试 COBYLA、BOBYQA 和 NEWUOA,看看它们是如何工作的。

您可以尝试按照本文中的建议通过惩罚最小二乘拟合通过 10 维 B 样条超曲面拟合数据:

N. Whitehorn、J. van Santen、S. Lafebre,计算机物理通信 (2013) 184: 9. doi:10.1016/j.cpc.2013.04.008

这会产生一个平滑的函数,它的评估成本非常低,并为您提供了一个廉价的梯度。这可能会使您接近本地搜索不应该成为问题的全局最小值。