Algo从给定的数据集中找到最佳解决方案

时间:2014-01-15 15:14:30

标签: algorithm graph-algorithm

假设我有一个给定的数据集。

 4 → a b c
 5 → l b d
 6 → e b c
42 → l b c

此处数据项在组中,使得它们的组合值在第一列中给出。为了更准确,这些物品以不同的方式进行杵状持。

算法的输入应该是项目。 输出应该是最好的组合,通过它我们可以以最低的成本获得所有项目集。

实施例。
要获取bcle值,我们需要使用5的键和行的键来获取行。 6。返回56的总和。

programm b c l e
    output: 11 = 5+6

在这里,我们必须返回4+5 = 9。虽然密钥为42的行也符合条件9 < 42

programm l b c
    output: 9 = 4+5

programm e b c
    output: 6

1 个答案:

答案 0 :(得分:1)

显然,您可以从不属于查询集的集合中删除元素。然后,剩下的是加权Set Cover问题。它是NP难的,因此难以最佳地解决。可能greedy heuristic就足够了;如果你真的需要一个最佳解决方案,我首先会尝试调查你的输入实例是否有任何可能被利用的属性,或者使用ILP求解器。