我正在为一个定制的网络商店(用PHP)创建一个发货模块,这被证明是有点复杂的(对我来说至少是这样);
在所需的发货程序中,(目前)有两个外部“发货箱/容器”,每个“发货箱/容器”可以包含不同的项目/产品组合。有一个大的和一个小的,小的显然更便宜。商品/产品(目前)属于“内部盒子”的三个维度。
我正在寻找一个API/类,在其中我可以输入外箱的尺寸,然后输入内箱(或更确切地说,产品)的数量和尺寸。然后,应计算外箱及其内容物/包装顺序的最佳组合,以使所需的箱数量最少。
不用说,我预计外盒和内盒的数量以及它们的尺寸在未来可能会发生变化。
这真的存在吗?
发布于 2012-04-09 18:38:22
这是一个著名的Packing problem实例,其中大部分是NP-hard。要找到此类问题的最佳解决方案可能非常困难或不可能,因此您应该以足够好的解决方案为目标,而不是最佳解决方案。
您应该查看Bin packing problem,它与您的问题非常相似,不同之处在于您有两个不同的存储箱卷。
发布于 2012-04-09 23:11:10
当您试图找出并实现装箱算法以制定最佳解决方案时,让其中一个包装员为订单中最频繁的项目组合写下一个查询表。根据你告诉我们的,你只有2个尺寸的外盒和3个尺寸的内盒,你的一个包装工可能会在我写这个答案的时间内完成查询表。
现在,既然您是一名软件开发人员,那么就开发代码来读取查找表,并在打包新的项目组合时请求帮助。在查找表中存储这些新的组合,以及如何打包它们。随着业务的发展,也要开发查找表。
这种方法利用了人类在解决合理数量的物体的3D布局问题方面的高超技能。您不需要最优的解决方案,只需要一个足够好的解决方案,使您的客户不会经常询问包装的数量--您正在将成本转嫁给客户,不是吗?
https://stackoverflow.com/questions/10071875
复制相似问题