我正在尝试解决将物品堆叠成最方便的邮寄大小的问题。物品的大小和形状各不相同,所有物品的长度、宽度和高度都是已知的。
例如,客户可能会订购一个(长×宽×高)为200x100x10厘米的宽平板物品以及2个50x50x50厘米的立方体物品。如果我要打包,我会把宽平物品放在底部,两个立方体并排放在顶部。
是否有人有或知道一个相当有效的算法解决这个问题?甚至是一种解决这个问题的方法?我已经编码了整整一周,现在很晚了,我的大脑已经崩溃。我还没有绝望,但我只是想明天休息一天。
我设想的方式是创建一个表示3D空间的数组,每个数组元素代表该空间中1平方厘米的正方形。3D空间的长度和宽度将基于最长的物品和最宽的物品。然后,您只需从最大的物品到最小的物品进行操作,找到足够的“空洞”并填满它们。
虽然我确定会有一个数学公式更有效地完成这项工作。
有什么想法吗?
例如,客户可能会订购一个(长×宽×高)为200x100x10厘米的宽平板物品以及2个50x50x50厘米的立方体物品。如果我要打包,我会把宽平物品放在底部,两个立方体并排放在顶部。
是否有人有或知道一个相当有效的算法解决这个问题?甚至是一种解决这个问题的方法?我已经编码了整整一周,现在很晚了,我的大脑已经崩溃。我还没有绝望,但我只是想明天休息一天。
我设想的方式是创建一个表示3D空间的数组,每个数组元素代表该空间中1平方厘米的正方形。3D空间的长度和宽度将基于最长的物品和最宽的物品。然后,您只需从最大的物品到最小的物品进行操作,找到足够的“空洞”并填满它们。
虽然我确定会有一个数学公式更有效地完成这项工作。
有什么想法吗?