Breaking the Barrier of 2 for the Storage Allocation Problem
Packing problems are an important class of optimization problems. The probably most well-known problem if this type is knapsack and many generalizations of it have been studied in the literature like Two-dimensional Geometric Knapsack (2DKP) and Unsplittable Flow on a Path (UFP). For the latter two problems, recently the first polynomial time approximation algorithms with better approximation ratios than 2 were presented [Gálvez et al., FOCS 2017][Grandoni et al., STOC 2018]. In this paper we break the barrier of 2 for the Storage Allocation Problem (SAP) which is a natural intermediate problem between 2DKP and UFP. We are given a path with capacitated edges and a set of tasks where each task has a start vertex, an end vertex, a size, and a profit. We seek to select the most profitable set of tasks that we can draw as non-overlapping rectangles underneath the capacity profile of the edges where the height of each rectangle equals the size of the corresponding task. This problem is motivated by settings of allocation resources like memory, bandwidths, etc. where each request needs a contiguous portion of the resource. The best known polynomial time approximation algorithm for SAP has an approximation ratio of 2+epsilon[Mömke and Wiese, ICALP 2015] and no better quasi-polynomial time algorithm is known. We present a polynomial time (63/32) < 1.969-approximation algorithm for the case of uniform edge capacities and a quasi-polynomial time (1.997)-approximation algorithm for non-uniform quasi-polynomially bounded edge capacities. Finally, we show that under slight resource augmentation we can obtain approximation ratios of 3/2 + epsilon in polynomial time and 1 + epsilon in quasi-polynomial time, both for arbitrary edge capacities.
READ FULL TEXT