所有可能的分解排列中找到最佳的DAP解是一个极具挑战性的全局优化问题。通过有界的集束搜索,我们只能够探索有限的搜索空间,因此,任何所提及的求解全局最优的DAP解均指探索有限搜索空间内的最优解。虽然如此,即使只是使用中等的搜索宽度,随之而来的搜索空间依然极大。因此为了使得优化搜索更易于处理,我们通过体素化所有的部件并且限制Dapper的操作对象为体素化部件,来离散化全局搜索的空间。此外,体素化部件在排列堆上的对接测试中,只允许以90度角及其整数倍进行旋转。当全局优化体素化部件的分解与排列结束之后,体素化表示将被移除,取而代之的是体素化部件内实际的部件形状几何,并通过一个最终的局部微调优化进一步减小部件几何之间的缝隙。
在Dapper框架中,还存在着一个重要的算法设计问题:我们应该使用什么基本图元来进行模型的分解与排列?将模型分解成任意形状的部件可能可以减少部件的数量,但是排列的问题将会变得更加复杂。另一方面,形状规则方正的矩形(或三维空间中的长方体)非常易于排列,但却可能导致过多的分解部件。方法选择使用近似金字塔属性块(或简称金字塔块)作为分解与排列问题中的基本图元,将其扩展应用到DAP问题当中。金字塔块是具有单面平坦底面的类似地形的二维或三维形状,金字塔块包括但不仅限于矩形,定义更加广泛,并且有助于产生少数块的分解结果。金字塔块不仅仅有利于排列(底面平坦,易于对接测试),因其在逐层累积形式的打印过程中无需支撑材料还有利于打印。最后,金字塔块在水平和垂直的切割操作下产生的块也均为金字塔块,即金字塔块的自包含性。在Dapper中,我们从一个仅有少量金字塔块的初始化分解开始,通过对体素化后的块进行轴对齐的切割操作,优化搜索最优的DAP解。