我有一份清单
[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.用于集合划分算法
尝试:
贪婪算法位:
上面的内容应该比纯粹的随机选择更好。你知道吗
相关问题 更多 >
编程相关推荐