将物品包装成固定数量的垃圾箱

时间:2011-11-05 20:37:06

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

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

问题描述:

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

示例:

给出一个项目清单:

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

和三个容量为9的容器 我需要打包它们:(项目顺序无关紧要)

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

我认为这是bin-packing问题的一个变种(我知道它是NP-complete),但是由于我不是想尽量减少使用的bin数量,我想知道是否有更好的解决方案。

2 个答案:

答案 0 :(得分:3)

这是多包装问题:

  

给出一组项目,每个项目具有特定大小和一组箱子   特定尺寸的 - 是否有物品分配到箱子   这样没有任何物品被解包并且没有超出容器容量?

一般来说,它是NP难的。但是,有几种特殊情况可以大致或甚至最佳地有效地解决。

请参阅Wolfgang Stille aus Göppingen's thesis

答案 1 :(得分:0)

这相当于垃圾箱包装问题,给定了多个垃圾箱,最大化了装入垃圾箱的物品数量。

如果最佳解决方案大于或等于列表中项目的数量,则解决方案也是您问题的解决方案。如果最佳解决方案小于列表中的项目数,则无法解决您的问题。

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