我的盒子有一些尺寸长度,宽度,高度。
我有不同长度,宽度,高度的物品。
是否存在可以确定用于放入框内的最佳项目的现有算法?
答案 0 :(得分:11)
这被称为Bin装箱/切割库存/背包问题,并且它很难NP。通常,您只能使用启发式方法获得近似解,例如参见
http://en.wikipedia.org/wiki/Knapsack_problem
答案 1 :(得分:3)
这可能实际上并不是一个答案,但我相信答案是问题是无法回答的。是的,这是包装问题的一个版本。 但是看看Erich Friedma在两个方面的研究: 似乎方形中大小相等的矩形的问题仍然没有解决 - 看看其中一些解决方案的复杂性!
http://www2.stetson.edu/~efriedma/squinsqu/
http://www2.stetson.edu/~efriedma/rigidrect/
(问题略有不同,即如何最好地安排一定数量的物品占据最少的空间,而不是选择哪些物品。但我希望你的问题减少到迭代这种计算的几种组合对象。)
和三维变体看起来只是部分解决了: http://www2.stetson.edu/~efriedma/cubincub/
据推测,你最好的选择是Anders建议的一种启发式方法,尽管几乎肯定对几乎所有问题都不是最理想的。有趣的是,最优化的解决方案似乎是高度不规则,因此您可能找不到它们。