三维装箱算法(3d bin packing algorithm)

2019-07-23 11:07发布

我要寻找一个确定的实施任何3D装箱算法,即包装内的一个许多小型和不同的立方体或多个大的。 该解决方案可从最佳一个变化。

它应该在C,C ++,Java和C#,IronPython的,IronRuby的或任何其他语言的罐箱从.net代码被写入。

我发现这款C算法http://www.diku.dk/hjemmesider/ansatte/pisinger/3dbpp.c ,但它不会转动立方体找到最合适的。 我行与不旋转他们倒挂,但水平旋转应该是可能的。

Answer 1:

我写的情况下,你描述即3D矩形框,用正交旋转,在C近似算法++。 你可以找到在发表论文的结果和算法: http://www.cs.ukzn.ac.za/publications/erick_dube_507-034.pdf



Answer 2:

我转换wknechtel / 3D彬包 C代码的JavaScript。 可以很容易地移植到C#。

https://github.com/keremdemirer/3dbinpackingjs

您可以从运行的计算实例index.html文件,并查看生成的报告。 pack1.js文件中包含的应用程序和算法。 我不知道是怎么算法的作品,但结果满足包装计算。



Answer 3:

这个问题是NP难问题。 最好的办法是一种近似算法(直到天才的人解决任何NP问题,或在一个解决方案是一个非常幸运的家伙跌跌撞撞。)我不为这个问题所知道的任何众所周知近似算法很遗憾。



Answer 4:

开源Java项目与面积最大飞度第一支撑位: 3D斌容器包装

旋转2D或3D。



Answer 5:

这个问题的一般版本是在“算法考虑一般和三维装箱问题的机器人可压缩变形: http://www.3dbinbox.com/Public/home/



Answer 6:

你可以看看我的近似算法。

它是基于最大面积覆盖率智能首次适应算法。

https://github.com/mohitesh07/3d-bin-packing

它是用Java编写



文章来源: 3d bin packing algorithm