5

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

问题描述:

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

例子:

给定一个项目列表:

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

和三个容量为 9 的箱子,我需要将它们打包:(物品的顺序无关紧要)

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

我认为这是装箱问题的一个变体(我知道这是 NP 完全问题),但由于我并没有试图最小化使用的箱数,我想知道是否有更好的解决方案。

4

2 回答 2

3

这是多箱包装问题:

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

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

参见Wolfgang Stille aus Göppingen 的论文

于 2011-11-05T20:50:10.067 回答
0

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

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

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

于 2014-01-19T21:42:55.240 回答