An important goal in algorithm design is determining the best running time for solving a problem (approximately). For some problems, we know the optimal running time, assuming certain conditional lower bounds. In this work, we study the $d$-dimensional geometric knapsack problem where we are far from this level of understanding. We are given a set of weighted d-dimensional geometric items like squares, rectangles, or hypercubes and a knapsack which is a square or a (hyper-)cube. We want to select a subset of items that fit non-overlappingly inside the knapsack, maximizing the total profit of the packed items. We make a significant step towards determining the best running time for solving these problems approximately by presenting approximation algorithms with near-linear running times for any constant dimension d and any constant parameter $\epsilon$. For (hyper)-cubes, we present a $(1+\epsilon)$-approximation algorithm whose running time drastically improves upon the known $(1+\epsilon)$-approximation algorithm which has a running time where the exponent of n depends exponentially on $1/\epsilon$ and $d$. Moreover, we present a $(2+\epsilon)$-approximation algorithm for rectangles in the setting without rotations and a $(17/9+\epsilon)$-approximation algorithm if we allow rotations by 90 degrees. The best known polynomial time algorithms for these settings have approximation ratios of $17/9+\epsilon$ and $1.5+\epsilon$, respectively, and running times in which the exponent of n depends exponentially on $1/\epsilon$. We also give dynamic algorithms with polylogarithmic query and update times and the same approximation guarantees as the algorithms above. Key to our results is a new family of structured packings which we call easily guessable packings. They are flexible enough to guarantee profitable solutions and structured enough so that we can compute these solutions quickly.
翻译:算法设计的一个重要目标是确定(近似)求解问题的最佳运行时间。对于某些问题,在假定特定条件性下界成立的情况下,我们已知其最优运行时间。本研究关注的是d维几何背包问题,对此我们距离这一认知水平尚远。给定一组带权重的d维几何物品(如正方形、矩形或超立方体)以及一个方形或(超)立方体形状的背包,我们需要选择一组能够无重叠地放入背包中的物品,使得装入物品的总利润最大化。本文通过针对任意常数维度d和任意常数参数ε提出近线性运行时间的近似算法,在确定这些问题近似求解的最佳运行时间方面迈出了重要一步。对于(超)立方体,我们提出了一种(1+ε)近似算法,其运行时间相比已知的(1+ε)近似算法有了显著改进——后者的运行时间中n的指数依赖于1/ε和d呈指数级增长。此外,针对无旋转情形下的矩形,我们提出了(2+ε)近似算法;若允许90度旋转,则提出(17/9+ε)近似算法。已知这些情形的最佳多项式时间算法的近似比分别为17/9+ε和1.5+ε,且运行时间中n的指数依赖于1/ε呈指数级增长。我们还设计了动态算法,其查询和更新时间均为多对数级别,且保持与上述算法相同的近似保证。我们结果的关键在于一类新型结构化装填方案,我们称之为"易于猜测的装填"。这类方案兼具灵活性(可保证利润解质量)和结构性(可快速计算解)的双重优势。