托盘上三维装箱问题的算法



我正在寻找3D装箱问题的算法。我的任务是:

我有一个输送机,我在上面接收4种尺寸的箱子(300x200x160、400x300x220、600x400x340、700x510x340(。这些箱子必须以最佳方式包装在托盘(1200x800x1800(上。我事先不知道我会收到哪种类型的盒子,以及有多少,我只需要把盒子以最好的方式放在托盘上,这样我就可以放尽可能多的盒子。

我一直在寻找任何类型的算法,但找不到任何好的。

谢谢你的任何想法:(

我希望我的英语能被理解:(

有趣的是,我也有同样的故事,所以我开始模拟它,我可以为两个不同大小的盒子做它,我现在正在为更多的盒子做一个更好的版本,我不知道它是否会对你有所帮助,但我是如何做到的:

1:即使你有很多不同尺寸的盒子,你在托盘上也只有很少的地方可以接受这些"盒子";"大";盒子,所以你需要优先考虑这些盒子,特别是如果你不喜欢把它们放在一边,以便稍后

2:你不知道会有什么盒子,但你有一个不会改变的尺寸,你的托盘,X和Y,所以你需要计算托盘可以接收的最大X和Y

我试图解释的一个例子:

我有两个盒子A和B,B是A的两倍大托盘的最大值是3A和1B。在这种情况下,当3A到来时,你可以把它们并排放,然后假设大的一个来了,B会占据托盘上的最后一个位置。

但现在假设我有第一个B,然后是3个A,我不会把B放在我放A的地方,这是上面的例子,因为如果我这样做,我只能放1B和2A所以我优先考虑最有效的位置,并一直把B放在一个特定的位置。在这种情况下,如果A来了,我知道我有位置。

对不起,我很难给你解释,但如果你愿意,我可以给你发一段视频和一些代码。

最新更新