我正在开发一个购物车项目,该项目需要基于该用户在购物车中的物品的“邮资计算器”。用于包裹包装的PHP/C++空间计算
很明显,我将存储项目的尺寸incl。体重和填充在数据库中,并且还将存储项目将进入的包裹(包裹)尺寸和重量,盒子填充。
确定包裹的重量很容易,但我想知道如何去弄清楚如何通过PHP打包盒子,也就是说,我希望代码能够与物品一起玩“俄罗斯方块”,以确保它们获得最佳的适合度,并提供准确的邮资费用。
有没有人有任何想法如何最好地实现这一点,或有人知道一个PHP类或功能可以做到这一点?
编辑:当我说'最好可能适合'也许我很乐观!让脚本尝试在包内分发包的每种可能的组合将超过顶部,但是我可以通过在C++中编写算法并在用户'检出'时使用PHP运行程序来提高速度,返回值是阵列与包裹大小和重量(这些都是需要计算邮资费用)
我相信这是一个[NP难题](http://en.wikipedia.org/wiki/Bin_packing_problem),所以不要指望得到一个“好”的解决方案。 – kba 2012-04-15 22:42:49
@Kristian - 您的链接证实了我的怀疑:最好先争取“最大的第一”,然后编写一个算法,以便在三个不同的位置处理每个项目,在第一个适合的位置停下来,然后增加到下一个尺寸的包装如果它不适合。我的主要担心是过度收费邮资......或收费不足,这不会太好! – 2012-04-15 23:04:34