1

我正在解决一般的黑盒优化问题,例如:x*: f(x) -> min,其中 x 是长度为 N 的排列(例如,N = 50,因此无法进行强力搜索)。目标函数 f(x) 由独立的计算机代码表示,x 表示复杂系统的配置,其响应由 f(x) 模拟。

我了解到,在这种情况下,我可以使用许多启发式方法。但是,这些方法中的大多数总是使用某种局部搜索,这需要在搜索空间(在我的例子中是排列空间 x)有合适的距离度量。在合适的距离度量下,我的意思是满足“局部性”属性的度量,例如排列 x 的微小变化会产生目标函数 f(x) 的微小变化。在我的情况下,不知道具有此属性的任何合适的距离度量,因此任何类型的本地搜索几乎都是随机搜索。

我有几个问题:

  1. 是否有任何可用的启发式黑盒组合优化方法,它不使用本地搜索和/或搜索空间中的任何距离度量?我需要克服问题的低“局部性”或简单的事实,即搜索空间中任何合适的距离度量都是未知的。

  2. 一般来说,“局部性”属性在组合优化中真的如此受限吗?可能是我错过了一些东西......,但大多数现实世界的黑盒组合问题具有低或非常低的“局部性”,因为常见的排列距离度量(Hamming、Kendal 等)不是一般合适的指标。

  3. 是否有任何通用方法如何在搜索空间中找到合适的距离度量以至少近似地满足“局部性”?

补充说明:

  • 在现实中,黑盒函数 f(x) 是通过独立的确定性仿真代码实现的,其中 x 起着模拟物理系统的离散配置的作用。因此,函数 f(x) 具有明确定义的属性,但这些属性非常困难,不可能简单地利用它。

  • 由于上述函数 f(x) 的复杂内部特性,不可能在搜索空间中找到满足“局部性”的适当距离度量 d(x,x')(在任何距离度量产生的意义上类似的 x 和 x'类似的反应 f(x) 和 f(x'))

  • 所以,最后,我正在寻找任何优化启发式方法,它只能通过适应空间中 f(x) 的属性可用的信息来找到任何合适的次优解决方案。例如,像 EDA(分布算法估计)一样。

这个问题的主要原因是,什么样的优化启发式适合解决这类问题。

4

0 回答 0