如果我有一些不到一磅的物品,并且我想有效地将它们装入一个磅的容器中,我应该用蛮力吗? (弄清楚所有各种组合,包装,看看哪种组合导致最少数量的包装?)
这种算法有名称吗?
在我的情况下,我没有大量的包。
答案 0 :(得分:1)
您可能需要查看knapsack problem
答案 1 :(得分:1)
您还可以查找1d bin-packing或2d bin-packing算法。如果你没有太多的垃圾箱,我建议使用蛮力算法,但这似乎是一个非常难的问题。
答案 2 :(得分:1)
您可以查看“算法设计手册”以了解您的问题:
Bin Packing http://www.cs.sunysb.edu/~algorith/files/bin-packing.shtml
背包问题 http://www.cs.sunysb.edu/~algorith/files/knapsack.shtml
如果您可以定义一个合适的解决方案(足够好),而不是如果您想知道最佳解决方案,那么您可以更轻松地自己。
答案 3 :(得分:0)
这是NP完全问题。你没有更好的选择,最好的可能是一些具有伪多项式(指数)复杂度的动态编程算法。
答案 4 :(得分:0)
我编写了以下Ruby程序来解决这个问题,它似乎运行良好。