没有价值的背包或类似物,以及可以分配哪些物品的限制?

时间:2017-01-05 09:38:12

标签: algorithm knapsack-problem np

假设我有一些重量需要在有限数量的背包上展开,以便每个背包尽可能分配重量。问题在于,不同的权重只能放在第一个n行李中,其中n的每个值因重量而异。

例如,一个重量可能只能插入袋子直到袋子4,即袋子1到4.另一个可能有一个限制达到5.如前所述的目标是尝试在所有袋子上均匀分布,按重量设定的行李数量,最高限额。

是否存在此问题的名称,以及存在哪些算法?

编辑:为了帮助想象,说我有4个权重:

+----------+--------+-----------+
| Weight # | Weight | Bag Limit |
+----------+--------+-----------+
|        1 |      2 |         2 |
|        2 |      3 |         3 |
|        3 |      1 |         1 |
|        4 |      2 |         4 |
+----------+--------+-----------+

问题的解决方案可能如下所示

| 1 |  |   |  |   |  |   |
| 2 |  | 3 |  | 2 |  |   |
|___|  |___|  |___|  |___|

Bag 1  Bag 2  Bag 3  Bag 4

将重量3和1放入袋1中

将重量2放入袋2中

将重量4放入袋3中

在这里,负载尽可能均匀地分布,问题得到解决(尽管可能不是最佳的,正如我在脑海中所做的那样)

希望这可以澄清我想要解决的问题。

1 个答案:

答案 0 :(得分:0)

我将这个问题描述为带有边界约束的bin打包 - 很多NP难问题没有好名字,因为它们有很多。我希望基于LP的方法可以将可变大小的垃圾箱打包成将问题分解为(1)整个垃圾箱的包装问题(2)垃圾箱内的背包问题,以便生成候选箱以便相当好地进行搬运。