⭐️ 前言
小编之前写过一篇博文:求解三维装箱问题的启发式深度优先搜索算法(python),详述了基于空间选择的三维装箱算法。本文考虑了一个事实:在某些情况下,我们在摆放物品时,总是优先选择较低的平面,基于这个常识,本文提出一种基于平面选择的三维装箱算法。废话不多说,开始算法之旅吧。
⭐️ 块
块的定义及生成可以参考博文:求解三维装箱问题的启发式深度优先搜索算法(python),这里就不在赘述。
⭐️ 平面
“平面”指可用于摆放货物的面。初始平面就是箱的整个底面,放入第一批货物后,“平面”包括了同批货物顶面形成的面和箱底面空余的部分。
本文算法采用由底向上的方式完成物品的装载,既优先铺满底面,然后再向上堆放物品。大体过程是:首先由完全相同的货物组成“块”,然后用块自底向上依次填充所选择的目标平面,并重新生成若干新的平面,然后不断重复上述过程来完成最终的摆放方案。下图演示了一个用4个“块”进行填充的简单过程,每个块顶部都生成了一个的平面。在这个例子中,填充完毕后,从原先的1个平面,分成了8个新的平面。

订阅专栏 解锁全文
1万+





