We study the three-dimensional Knapsack (3DK) problem, in which we are given a set of axis-aligned cuboids with associated profits and an axis-aligned cube knapsack. The objective is to find a non-overlapping axis-aligned packing (by translation) of the maximum profit subset of cuboids into the cube. The previous best approximation algorithm is due to Diedrich, Harren, Jansen, Th\"{o}le, and Thomas (2008), who gave a $(7+\varepsilon)$-approximation algorithm for 3DK and a $(5+\varepsilon)$-approximation algorithm for the variant when the items can be rotated by 90 degrees around any axis, for any constant $\varepsilon>0$. Chleb\'{\i}k and Chleb\'{\i}kov\'{a} (2009) showed that the problem does not admit an asymptotic polynomial-time approximation scheme. We provide an improved polynomial-time $(139/29+\varepsilon) \approx 4.794$-approximation algorithm for 3DK and $(30/7+\varepsilon) \approx 4.286$-approximation when rotations by 90 degrees are allowed. We also provide improved approximation algorithms for several variants such as the cardinality case (when all items have the same profit) and uniform profit-density case (when the profit of an item is equal to its volume). Our key technical contribution is container packing -- a structured packing in 3D such that all items are assigned into a constant number of containers, and each container is packed using a specific strategy based on its type. We first show the existence of highly profitable container packings. Thereafter, we show that one can find near-optimal container packing efficiently using a variant of the Generalized Assignment Problem (GAP).
翻译:我们研究三维背包(3DK)问题,该问题给定一组轴对齐的长方体(附带收益值)和一个轴对齐的立方体背包。目标是通过平移将长方体子集以非重叠轴对齐方式装入立方体,使得子集总收益最大化。此前最佳近似算法由Diedrich、Harren、Jansen、Thöle和Thomas(2008)提出,他们针对任意常数ε>0,给出了3DK问题的(7+ε)-近似算法,以及允许物品绕任意轴旋转90度变体的(5+ε)-近似算法。Chlebík和Chlebíková(2009)证明该问题不存在渐近多项式时间近似方案。我们提出了改进的多项式时间(139/29+ε)≈4.794-近似算法用于3DK问题,以及允许90度旋转时的(30/7+ε)≈4.286-近似算法。我们还针对多个变体提出了改进的近似算法,包括基数情形(所有物品收益相同)和均匀收益密度情形(物品收益等于其体积)。我们的核心技术贡献是容器装箱——一种三维结构化装箱方案,将所有物品分配至恒定数量的容器中,每个容器根据其类型采用特定策略装箱。我们首先证明存在高收益的容器装箱方案,进而通过广义分配问题(GAP)的变体,证明可以高效找到接近最优的容器装箱方案。