玩具箱挑战 - 电子商务装运/集装箱分裂

时间:2016-07-20 19:31:22

标签: javascript algorithm math e-commerce bin-packing

编辑:我正在寻找一个有效的Ruby,JavaScript,Java或Python实现的3D bin-packing,具有以下约束

我正在寻找一种有效的算法来正确识别存储项目列表所需的容器数量。上下文围绕为电子商务订单生成准确的运输标签数量和类型。

假设:

  • 物品具有已知的宽度,长度,深度和重量
  • 项目的包装类型指定它们可以与同一容器中的其他项目组合(" over-pack"),或者必须装在自己的容器中("单独运输& #34)
  • 容器具有已知的宽度,长度,深度和重量容量
  • 可提供不同尺寸和容量的多个容器

问题:

  • 存在可能具有不同尺寸和包装类型的物品清单,并且可能包含多个数量。拆分项目列表,以便它们可以存储在尽可能少的容器中

我认为这是一个有趣的体积数学挑战,你们中的一些人可能会喜欢。我正在寻找最佳的程序化解决方案。

感谢接受任何语言的解决方案,优先选择Java,JavaScript,Python或Ruby。

提前致谢!

1 个答案:

答案 0 :(得分:1)

这正是3D bin-packing problem

单独出货的要求"只需将这些元素放在一起并单独运输就可以减少这些因素,这使您与其他元素保持一致。

找到包装所需容器的最小数量现在是三维空间中的装箱问题。

这个问题无疑是强NP-Hard,所以与背包不同 - 没有已知的伪多项式最优解。

本文讨论了这个问题: The Three-Dimensional Bin Packing Problem (Martello et al)