难以计算成本的二进制组合优化

计算科学 优化
2021-12-18 18:27:50

我有一个关于传感器最佳放置的组合问题。我想找到的最佳位置N传感器,给定M可能的位置,N<M. 现在我正在使用的值NM分别约为 15 和 30,但理想情况下,它可以扩展到数千个。我想要最小化的成本是系统中任何故障的最坏可能的检测延迟(即最大延迟)。换句话说,这是一个极小极大问题。

给定一种特殊的安排N传感器,找到最大延迟的计算是一个大约需要 3 秒的黑匣子。这不能缩短,我也不能访问黑匣子内的代码。黑匣子将传感器的排列作为输入并输出一个我想最小化的值。

我发现的许多组合优化算法,例如分支定界算法,都假设成本是现成的,并且解决方案子集的成本也是可用的。例如,给定位置{1,2,3}, 和N=2,分支定界算法想知道{1},{2},{3},{1,2},{1,3}, 和{2,3}在最坏的情况下。这使得它比穷举搜索更糟糕,因为穷举搜索只需要计算{1,2},{1,3}, 和{2,3}.

对于较大的值M,分支定界只会变得更糟。

我的问题是:

  1. 这类问题有名称吗?
  2. 是否有关于解决方案的资源?
1个回答

确实,对数的比例为N2和子集的数量为2N,但只考虑了集合的一小部分,因为每次检查都排除了许多其他检查,因此总体成本较小。

如果您有任何黑匣子N,为什么不将盒子包装在一个函数中,该函数动态构造适当的盒子并缓存它们以供重用?

您仍然需要支付计算成本,但您现在拥有适合您提到的求解器的工具。

或者,您需要一种优化形式,以最大限度地减少对目标的调用。贝叶斯优化(参见论文“贝叶斯优化以获得更好的甜点”)就是针对这种情况而设计的。