We study a generalization of the knapsack problem with geometric and vector constraints. The input is a set of rectangular items, each with an associated profit and $d$ nonnegative weights ($d$-dimensional vector), and a square knapsack. The goal is to find a non-overlapping axis-parallel packing of a subset of items into the given knapsack such that the vector constraints are not violated, i.e., the sum of weights of all the packed items in any of the $d$ dimensions does not exceed one. We consider two variants of the problem: $(i)$ the items are not allowed to be rotated, $(ii)$ items can be rotated by 90 degrees. We give a $(2+\epsilon)$-approximation algorithm for this problem (both versions). In the process, we also study a variant of the maximum generalized assignment problem (Max-GAP), called Vector-Max-GAP, and design a PTAS for it.
翻译:输入是一组矩形项目,每个项目都有相关的利润和非负负重量(d$-维矢量),以及一个正方Knapack。目标是找到一种不重叠轴-平行包装,将一组物品放入给给定的 knapsack 中,这样矢量限制不会被违反,也就是说,在任何一个维度中,所有包装物品的重量总和不超过1美元。我们认为问题的两个变式是:不允许轮换(一)美元,物品可以旋转90度,物品可以旋转(二)美元。我们给这个问题提供一种(两种版本)$(2 ⁇ -epsilon)的轴-平行包装算法。在这个过程中,我们还研究一个最大通用分配问题(Max-GAP)的变式,称为Vector-Max-GAP,并为它设计一个PATAS。