【问题标题】:Multiple Knapsack, weight = profit多重背包,重量=利润
【发布时间】:2015-03-30 23:23:24
【问题描述】:

我对背包问题进行了研究。现在我停止了特殊类型的多背包问题,其中每件物品的重量等于该物品的利润。

我找不到任何关于这个问题的复杂性的论文。是不是NP完全的?

任何帮助将不胜感激。

【问题讨论】:

  • 你的意思是你有多个单独的箱子和多个重量,目标是在不超过每个箱子的总重量的情况下将尽可能多的重量装入箱子吗?
  • @templatetypedef 是的。

标签: complexity-theory knapsack-problem


【解决方案1】:

我发现了一个可以归结为我的问题 - 多子集和问题。多子集和问题 (MSSP) 是从给定的地面集中选择项目并将它们打包到给定数量的相同箱中,使得每个箱中的物品重量总和不超过箱容量和总和包装物品的重量尽可能大。它可以很容易地归结为我的问题。这证明我的问题是 NP 难的。

【讨论】:

  • 有什么建议可以让 bin 不相同?我对不同的箱子有不同的子集;但是当我将一件物品用于第一个垃圾箱时,我不能将它用于第二个垃圾箱。
【解决方案2】:

这个问题是 NP 难的,通过减少集合分区问题。在那个问题中,你得到了一组整数,并被询问是否可以将该集合分成两个总和相同的集合。您可以将其简化为您的问题,如下所示:如果集合的总和为 2k,则创建两个容量为 k 的背包,并为要拆分的集合中的每个数字创建一个项目。然后,任何完美填充背包的方式都对应于原始集合的分区,反之亦然。 (如果数字的总和不是偶数,只需将问题实例映射到您的背包问题的无法解决的实例。

希望这会有所帮助!

【讨论】:

  • 感谢您的回答!我已经发现了另一个可以归结为我的问题——多子集和问题。多子集和问题 (MSSP) 是从给定的基础集中选择项目并将它们打包到给定数量的相同箱中,使得每个箱中的物品重量总和不超过箱容量和总和包装物品的重量尽可能大。它可以很容易地归结为我的问题。这也证明了我的问题是 NP 难的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 2021-03-23
相关资源
最近更新 更多