我有一个项目列表说
[1,2,3]
我有上面列表的某些子集的字典,例如。
的特定成本{
(1) : 5.0,
(2) : 3.0,
(3) : 2.5,
(1,3) : 6.0,
(2,3) : 5.0,
}
我必须找到一种以最低成本获得上述列表的方法。例如。我可以通过combining (1),(2),(3) with a cost of 10.5,
combining (1,3) and (2) with a cost of 9.0
和combining (1) and (2,3) with a cost of 10.0
获得[1,2,3]。通过我的第二选择,我将能够达到最低成本。
我可以想到的解决方案是对上面的列表[1,2,3]进行集合划分,并匹配字典中是否存在特定的子集组合。但是这种解决方案并不是最优的,因为它们是与生成列表的集合分区相关的巨大成本。
see this link for ref.用于设置分区算法
答案 0 :(得分:0)
尝试:
贪心算法位:
上述内容应该比纯随机选择更好。