We study the storage allocation problem (SAP) which is a variant of the unsplittable flow problem on paths (UFPP). A SAP instance consists of a path P= (V, E) and a set J of tasks. Each edge e∈ E has a capacity ce and each task j∈ J is associated with a path Ij in P, a demand dj and a weight wj. The goal is to find a maximum weight subset S⊆ J of tasks and a height function h: S→ R+ such that (i) h(j) + dj≤ ce, for every e∈ Ij; and (ii) if j, i∈ S such that Ij∩ Ii≠ ∅ and h(j) ≥ h(i) , then h(j) ≥ h(i) + di. SAP can be seen as a rectangle packing problem in which rectangles can be moved vertically, but not horizontally. We present a polynomial time (9 + ε) -approximation algorithm for SAP. Our algorithm is based on a variation of the framework for approximating UFPP by Bonsma et al. [FOCS 2011] and on a (4 + ε) -approximation algorithm for δ-small SAP instances (in which dj≤ δ· ce, for every e∈ Ij, for a sufficiently small constant δ> 0). In our algorithm for δ-small instances, tasks are packed carefully in strips in a UFPP manner, and then a (1 + ε) factor is incurred by a reduction from SAP to UFPP in strips. The strips are stacked to form a SAP solution. Finally, we provide a (10 + ε) -approximation algorithm for SAP on ring networks.
|Number of pages||23|
|State||Published - 1 Apr 2017|
Bibliographical notePublisher Copyright:
© 2016, Springer Science+Business Media New York.
- Approximation algorithms
- Bandwidth allocation
- Rectangle packing
- Storage allocation
- Unsplittable flow