0

抱歉标题,所以不允许在其中使用“问题”一词。我有以下问题:

我有一包我想卖的东西,每个包都有一个价格。当有人要东西XYZ我想查看所有的包裹,其中一些包含不止一件物品,并为用户提供能够覆盖他们的东西并且价格最低的包裹组合。

例如,我可能建议[(X, Y), (Z, Q)]10 美元,因为要[(X), (Y), (Z)]11 美元。由于这些是价格,我不能使用贪心加权集覆盖算法,因为两个人以不同的价格得到相同的东西会很糟糕。

但是,我还没有找到详细说明加权集覆盖问题的最佳算法的论文(或任何东西)。有人可以帮助实现(我正在使用 Python)、论文,甚至是对其工作原理的高级描述吗?

我有数百个包,东西是 5-6 个,所以运行时间不是问题。

谢谢!

4

1 回答 1

2

如果你想要一个指数算法,只需尝试一组包的每个子集,然后选择包含你需要的所有东西的最便宜的一个。

于 2013-07-23T15:00:32.333 回答