0

我正在为一个定制的网上商店(在 PHP 中)创建一个运输模块,结果证明它有点复杂(无论如何对我来说);

在所需的运输过程中,(当前)有两个外部“运输箱/容器”,每个都可以包含不同的项目/产品组合。有大的和小的,小的显然更便宜。项目/产品(当前)属于“内盒”的三个维度。

我正在寻找一个 API/类,我可以在其中输入外箱的尺寸,然后输入要运送的内箱(或者更确切地说,产品)的数量和尺寸。然后应计算外箱及其内容物/包装顺序的最佳组合,以便需要最少数量的箱子。

不用说,我预计未来外盒、内盒的数量及其尺寸很可能会发生变化。

这甚至存在吗?

4

2 回答 2

1

这是著名的打包问题的一个例子,其中大部分是NP-hard问题。要找到此类问题的最佳解决方案可能非常困难或不可能,因此您应该瞄准一个足够好的解决方案而不是最佳解决方案。

您应该检查与您的问题非常相似的Bin 打包问题,不同之处在于您有两个不同的 bin 卷。

于 2012-04-09T10:38:21.837 回答
1

当您试图找出并实施一种装箱算法来制定最佳解决方案时,请让其中一个包装员写下一个查找表,以查找订单中最常见的项目组合。根据您告诉我们的情况,您只有 2 种尺寸的外盒和 3 种尺寸的内盒,您的一位包装员可能会在我写这个答案的时间内完成查找表。

现在,由于您是一名软件开发人员,请开发代码以读取查找表并在要打包新的项目组合时寻求帮助。将这些新组合以及如何打包它们存储在查找表中。随着业务的发展,开发查找表。

这种方法利用了人类在解决合理数量物体的 3D 包装问题方面的卓越技能。您不需要一个最佳解决方案,只要一个足够好,让您的客户不会经常查询包装数量的解决方案——您正在将成本转嫁给客户,不是吗?

于 2012-04-09T15:11:10.117 回答