【发布时间】:2017-01-18 16:12:37
【问题描述】:
我正在解决与Bin packing problem 类似的问题。
问题
我有几个垃圾箱。每个箱子包含多个重量相同的物品(例如 1、2、5、10 公斤)。每个 bin 中的项目数量不同。我必须实现一种算法,该算法计算应分配的物品数量以达到一定的重量,以便在更多操作过程中,垃圾箱大约同时是空的。
示例
- B1有50件,重量为1公斤
- B2有90件,重量为2公斤
- B3有80个物品,重量5公斤
- B4有50件10公斤的物品
算法应该计算出达到 45 公斤的物品数量。该算法应返回类似于以下内容的结果: 10*B1 + 3*B3 + 1*B4 = 45 公斤。
我想知道是否有任何已知算法可以用来解决我的问题。我已经有一个算法,它可以计算分配预期重量所需物品所需的所有排列,但我有问题要弄清楚,我应该根据每个箱子中物品的可用性选择哪种排列。
【问题讨论】:
标签: algorithm statistics combinatorics knapsack-problem bin-packing