当前位置:  开发笔记 > 编程语言 > 正文

如何以编程方式确定如何将较小的盒子放入更大的包装中?

如何解决《如何以编程方式确定如何将较小的盒子放入更大的包装中?》经验,为你挑选了4个好方法。

有没有人知道现有的软件或算法来计算运送多件物品的包装尺寸?

我的库存数据库中有很多项目,定义了长度,宽度和高度尺寸.鉴于这些尺寸,我需要计算购买的商品中有多少符合预定义的尺寸.



1> Nick Johnson..:

这是一个Bin Packing问题,它是NP难的.对于少量的对象和包,您可能只需使用强力方法尝试各种可能性.除此之外,您还需要使用某种启发式方法.维基百科的文章有一些细节,以及您可能想要查看的论文的参考.

当然,替代方案是从一个非常简单的算法开始(例如简单地"堆叠"项目)并使用它计算合理的运输上限,然后如果您的人类包装工可以做得更好,那么您可以获得微利.或者假设您的包装不理想,可以略微折扣您的计算价格.


你的定义是准确的,我投了你的答案,因为它提供了一些有用的参考信息.理想情况下,我想找到一个现成的解决方案.

2> max..:

关于"3D Bin包装"的文献是广泛的.您可以通过跟踪David Pisinger教授的出版物来获得一个很好的概述.他还发布了少量高质量的bin打包实现之一,其源代码为:3dbpp.c

我自己的物流工具包pyShipping带有一个用于仓储应用程序的3D Bin Packing实现.它基本上实现了4D Bin Packing(3D尺寸和重量),并在第二个运行时间内获得了典型订单尺寸(几十个包)的可接受解决方案.它现在用于生产(意味着仓库)几个月,以确定要使用的运输箱的上限.仓库工人通常能够更有效地打包,但这对我来说没问题.



3> 小智..:

Pisinger是为数不多的发布工作代码的学者之一.在他的一篇论文中,他提到了"最小深度"问题.

这是一个实用而有效的3D矩形盒包装算法,可以调整封闭盒的高度.

这是php中的一个实现.



4> Herms..:

您是否想要查看单个类型中有多少适合特定大小的包,或者您是否尝试混合类型?

听起来你正试图解决背包问题.您可能能够找到适合您特定要求的算法.只是明白找到一个有效的算法很困难,因为问题是NP完全(虽然根据你的具体要求你可以找到一个有效的近似值,或者你的输入可能足够小,无关紧要) .


OP发布的问题不是Knapsack的实例.
推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有