Thumbnail Image

A Constant Factor Approximation Algorithm for Unsplittable Flow on Paths

Bonsma, Paul; Schulz, Jens; Wiese, Andreas

Inst. Mathematik

We study the unsplittable flow problem on a path P. We are given a set of n tasks. Each task is specified by a sub path of P, a demand, and a profit. Moreover, each edge of P has a given capacity. The aim is to find a subset of the tasks with maximum profit, for which the given demands can be simultaneously routed along P, subject to the capacities. The best known polynomial time approximation algorithm for this problem achieves a performance ratio of O (log n) and the best known hardness result is weak NP-hardness. In this paper, we firstly show that the problem is strongly NP-hard, even when the capacities are constant, and all demands are chosen from {1,2,3}. Secondly, we present the first polynomial time constant-factor approximation algorithm for this problem, achieving an approximation factor of 7+epsilon for any epsilon>0. This answers an open question from Bansal et al. (SODA'09). We employ a novel framework which reduces the problem to instances where the capacities of the edges differ by at most a constant factor. Moreover, for the difficult "large" tasks - for which in particular the straightforward linear program has an integrality gap of Omega(n) - we present a new geometrically inspired dynamic program.