【问题标题】:Packing items into fixed number of bins将物品打包到固定数量的箱子中
【发布时间】:2011-12-22 19:31:24
【问题描述】:

我正在寻找一种能够以最有效的方式解决我的问题的算法。

问题描述:

我有一个项目列表(只允许正整数)和相同容量的固定数量的箱子。到目前为止,我考虑过分支定界算法,但我不太确定它是否是这种情况下的最佳方法。

示例:

给定一个项目列表:

(3, 4, 4, 2, 3, 9, 2)

和三个容量为 9 的垃圾箱 我需要把它们打包成这样:(物品的顺序无关紧要)

[3, 4, 2], [4, 3, 2], [9]

我认为这是装箱问题的一种变体(我知道这是 NP 完全问题),但由于我并不想尽量减少使用的箱数,我想知道是否有更好的解决方案。

【问题讨论】:

  • Here 是 Java 源代码的 multibin 打包问题。

标签: algorithm packing bin-packing branch-and-bound


【解决方案1】:

这等价于装箱问题,给定多个箱子,最大化装进箱子的物品数量。

如果最佳解决方案大于或等于列表中的项目数,则该解决方案也是您的问题的解决方案。如果最佳解决方案少于列表中的项目数,则您的问题没有解决方案。

由于装箱问题是 NP-Hard,因此您的问题也没有多项式时间解。您可以使用针对装箱问题开发的启发式算法,例如最佳拟合、首次拟合等。但它们不能保证找到最佳解决方案。

【讨论】:

    【解决方案2】:

    这是多箱打包问题:

    给定一组物品,每个物品都有特定的尺寸,还有一组箱子,每个 也有特定尺寸——是否有物品分配到垃圾箱 这样就没有任何物品被打开包装并且没有超过垃圾箱容量?

    一般来说它是 NP 难的。但是,有几种特殊情况可以有效地解决,无论是近似的还是最优的。

    Wolfgang Stille aus Göppingen's thesis

    【讨论】:

      猜你喜欢
      • 2014-06-04
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多