【发布时间】:2013-05-23 01:05:39
【问题描述】:
我想从 250 个地点中选择 5 个地点,以最大化预期利润,使每个地点之间的最小距离为 5 英里。给出了与每个位置和它们之间的距离相关的预期利润。
我试图找出这是否是一个标准问题。应用过滤器来获得解决方案似乎是计算密集型的。我一直在探索模拟退火等方法,以达到足够好的解决方案。
【问题讨论】:
-
要清楚一点,
maximize expected profit such that minimum distance between each locality is 5 miles,你想要 5 个选定的地区,它们的利润总和在集合中最大化,并且这 5 个中任何两个地区之间的距离大于或等于5 英里? -
这听起来一点计算成本都不算高,您肯定可以轻松地暴力破解“250 中最好的 5”。
-
我怀疑你甚至不得不暴力破解它。这实际上只是一个相对简单的对约束的最大子集问题(即 O(kn))。 “贪心对”算法 O(kn^2) 可能非常接近最优。
-
一般来说,这是一个最大利润的打包问题,并且是 NP 难的。 Binomial[250, 5] 小于 8e9;这肯定不是太多的可能性。
标签: algorithm