【问题标题】:Bin packing algorithm装箱算法
【发布时间】:2012-08-21 13:58:42
【问题描述】:

我有一个厨房加热冷冻食物,他们需要按人数生产食物。餐点以冷冻大小的份量提供,例如 4 份、6 份等。较大的份量具有较低的单位成本。所以允许浪费,我如何计算尺寸以最低成本完成订单。

【问题讨论】:

  • 似乎答案就在你的标题中..
  • 您的问题太笼统了,您只能采用一种可用于您选择的语言的装箱算法并输入您的参数。你被困在哪里了?
  • 没有回答安德鲁?我会接受第一个有用的回复。

标签: algorithm bin-packing


【解决方案1】:

这个问题在我看来有点像knapsack problem。我假设 greedy algorithm 在这里不起作用,因为似乎存在重叠的子问题。您可能必须使用dynamic programming 算法,该算法通过计算满足该人数的膳食部分的所有可能组合的成本来确定给定人数的最低成本。

我只是为您指出了正确的方向,因为这听起来像是家庭作业。无论哪种方式,这个问题听起来都可以简化为一个众所周知的解决方案。

【讨论】:

  • 好的,我将实现背包以加深我对动态编程的理解,然后看看我是否可以修改它。非常感谢。不是家庭作业,这些是真正的医院,有真正的钱可以节省。 :)
  • @Neil 如果您使用 Java 并希望尽可能多地保存(并超越贪婪算法),请查看重用开源库,例如 this tutorial
  • 我相信这是可变大小的装箱问题。 VSBPP
  • 更新:我们可以用excel求解器插件解决这个VSBPP。下一步是使用 MS Solver Foundation 之类的东西来解决 C# 的问题。
猜你喜欢
  • 2011-01-12
  • 1970-01-01
  • 2013-10-11
  • 2013-02-03
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
  • 2013-02-11
  • 1970-01-01
相关资源
最近更新 更多