有没有人知道现有的软件或算法来计算运送多件物品的包装尺寸?
我的库存数据库中有很多项目,定义了长度,宽度和高度尺寸.鉴于这些尺寸,我需要计算购买的商品中有多少符合预定义的尺寸.
这是一个Bin Packing问题,它是NP难的.对于少量的对象和包,您可能只需使用强力方法尝试各种可能性.除此之外,您还需要使用某种启发式方法.维基百科的文章有一些细节,以及您可能想要查看的论文的参考.
当然,替代方案是从一个非常简单的算法开始(例如简单地"堆叠"项目)并使用它计算合理的运输上限,然后如果您的人类包装工可以做得更好,那么您可以获得微利.或者假设您的包装不理想,可以略微折扣您的计算价格.
关于"3D Bin包装"的文献是广泛的.您可以通过跟踪David Pisinger教授的出版物来获得一个很好的概述.他还发布了少量高质量的bin打包实现之一,其源代码为:3dbpp.c
我自己的物流工具包pyShipping带有一个用于仓储应用程序的3D Bin Packing实现.它基本上实现了4D Bin Packing(3D尺寸和重量),并在第二个运行时间内获得了典型订单尺寸(几十个包)的可接受解决方案.它现在用于生产(意味着仓库)几个月,以确定要使用的运输箱的上限.仓库工人通常能够更有效地打包,但这对我来说没问题.
Pisinger是为数不多的发布工作代码的学者之一.在他的一篇论文中,他提到了"最小深度"问题.
这是一个实用而有效的3D矩形盒包装算法,可以调整封闭盒的高度.
这是php中的一个实现.
您是否想要查看单个类型中有多少适合特定大小的包,或者您是否尝试混合类型?
听起来你正试图解决背包问题.您可能能够找到适合您特定要求的算法.只是明白找到一个有效的算法很困难,因为问题是NP完全(虽然根据你的具体要求你可以找到一个有效的近似值,或者你的输入可能足够小,无关紧要) .