计算机科学理论中这个问题描述的正确问题名称/算法是什么?

时间:2010-12-11 03:10:25

标签: algorithm data-structures time-complexity

问题是我有X个不同加权值的项目必须进入Y容器。容器具有不同的尺寸(例如,保持不同的最大重量)。每个容器的总负载必须大致相当于其他容器,但容器不需要充满或最小化。必须使用所有容器。

这让我想起了“背包”问题,但我有多个不同尺寸的背包,它们之间的负荷都必须相对相等(例如一个背包可能只能容纳12磅,而另一个背包可能只能容纳8磅,但它们都需要填充相同的总重量百分比。它还让我想起了“垃圾箱包装”的问题,但这并不涉及不同的垃圾箱尺寸,或者垃圾箱不需要充满或最小化,它们只需要等量的负载,所有这些都需要使用

有谁能请指出我在数据结构和算法理论中对这个问题的名称的正确方向?我也对可能常用于解决此类问题的任何算法或启发式方法感兴趣,或者对可能的时间复杂度有所了解。

2 个答案:

答案 0 :(得分:2)

对我来说听起来像背包多了。来自Wikipedia

  

如果我们有n个物品和m背包的容量为Wi,我们会遇到多个背包问题

编辑:抱歉,错过了每个需要同样加载的容器。尽管有额外的限制,它仍然会像多背包一样闻起来像一样。

答案 1 :(得分:1)

如果您将X映射到不同高度的图片;并将Y映射到列,然后给出here的解决方案也适合你。它是一种最适合的装箱解决方案,具有预先排序和附加项目交换,用Python编写,并带有示例。