29
A (5/3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni 1 Tobias M¨ omke 2 Andreas Wiese 3 Hang Zhou 4 1 IDSIA, Switzerland 2 Saarland University and University of Bremen, Germany 3 University of Chile, Chile 4 ´ Ecole Polytechnique, France Symposium on Theory of Computing (STOC), 2018

A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

A (5/3 + ε)-Approximation for Unsplittable Flow ona Path: Placing Small Tasks into Boxes

Fabrizio Grandoni1 Tobias Momke2 Andreas Wiese3 Hang Zhou4

1IDSIA, Switzerland

2Saarland University and University of Bremen, Germany

3University of Chile, Chile

4Ecole Polytechnique, France

Symposium on Theory of Computing (STOC), 2018

Page 2: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Unsplittable Flow on a Path (UFP)

A task: subpath, demand, weight

subpath

demand

Page 3: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Polynomial time:

O(log n) [Bansal, Friggstad, Khandekar, Salavatipour, SODA 2009]

7 + ε [Bonsma, Schulz, Wiese, FOCS 2011]

2 + ε [Anagnostopoulos, Grandoni, Leonardi, Wiese, SODA 2014]

1 + ε when weight/demand is bounded[Batra, Garg, Kumar, Momke, Wiese, SODA 2015]

1 + ε when all tasks share a common edge[Grandoni, Momke, Wiese, Zhou, SODA 2017]

Page 4: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Polynomial time:

O(log n) [Bansal, Friggstad, Khandekar, Salavatipour, SODA 2009]

7 + ε [Bonsma, Schulz, Wiese, FOCS 2011]

2 + ε [Anagnostopoulos, Grandoni, Leonardi, Wiese, SODA 2014]

1 + ε when weight/demand is bounded[Batra, Garg, Kumar, Momke, Wiese, SODA 2015]

1 + ε when all tasks share a common edge[Grandoni, Momke, Wiese, Zhou, SODA 2017]

Page 5: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Polynomial time:

O(log n) [Bansal, Friggstad, Khandekar, Salavatipour, SODA 2009]

7 + ε [Bonsma, Schulz, Wiese, FOCS 2011]

2 + ε [Anagnostopoulos, Grandoni, Leonardi, Wiese, SODA 2014]

1 + ε when weight/demand is bounded[Batra, Garg, Kumar, Momke, Wiese, SODA 2015]

1 + ε when all tasks share a common edge[Grandoni, Momke, Wiese, Zhou, SODA 2017]

Quasi-polynomial time:

1 + ε (*) [Bansal, Chakrabarti, Epstein, Schieber, STOC 2006]

1 + ε [Batra, Garg, Kumar, Momke, Wiese, SODA 2015]

Page 6: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Polynomial time:

O(log n) [Bansal, Friggstad, Khandekar, Salavatipour, SODA 2009]

7 + ε [Bonsma, Schulz, Wiese, FOCS 2011]

2 + ε [Anagnostopoulos, Grandoni, Leonardi, Wiese, SODA 2014]

1 + ε when weight/demand is bounded[Batra, Garg, Kumar, Momke, Wiese, SODA 2015]

1 + ε when all tasks share a common edge[Grandoni, Momke, Wiese, Zhou, SODA 2017]

Quasi-polynomial time:

1 + ε (*) [Bansal, Chakrabarti, Epstein, Schieber, STOC 2006]

1 + ε [Batra, Garg, Kumar, Momke, Wiese, SODA 2015]

Open Question

Is there a polynomial-time approximation scheme for UFP?

Page 7: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Our Result

Polynomial-time (5/3 + ε)-approximation for UFP

Idea: combine large tasks and small tasks together

large

small

Page 8: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Previous techniques:

1 Dynamic programming: large tasks

2 Linear programming: small tasks

1 + 2 =⇒ (2 + ε)-approximation

Q: How to achieve better-than-2 approximation?

A: Dynamic programming with boxes: large tasks + 1/3 of small tasks

Combined with 2 =⇒ (5/3 + ε)-approximation

Page 9: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Previous techniques:

1 Dynamic programming: large tasks

2 Linear programming: small tasks

1 + 2 =⇒ (2 + ε)-approximation

Q: How to achieve better-than-2 approximation?

A: Dynamic programming with boxes: large tasks + 1/3 of small tasks

Combined with 2 =⇒ (5/3 + ε)-approximation

Page 10: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Difficulty: Unknown separation between space for large tasks andspace for small tasks in the optimal solution

Page 11: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Preprocessing: Round down the separation profile to powers of 1 + ε

Page 12: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Main idea: Decompose the space for small tasks into boxes

Page 13: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Q: What factor of small tasks do we lose by introducing boxes?

A: At most 2.

Page 14: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Horizontal slicing lemma

We are given a set of tasks such that, on each edge e, the total demand ofthe tasks using e is at most half of the capacity on the edge e. We areallowed to slice each task horizontally into pieces of unit height. Then wecan pack all the resulting slices geometrically within the capacity profile.

e

Page 15: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 16: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 17: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 18: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 19: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 20: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 21: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 22: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Algorithm to compute small tasks within boxes

Guess boxes bottom-up using dynamic programming

Fill each box with small tasks using linear programming

Page 23: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Q: How to avoid a small task being selected several times?

Page 24: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Q: How to avoid a small task being selected several times?

A: As soon as a small task is selected in some box, it is no longer allowedin upper boxes.

Page 25: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Q: What factor of small tasks do we lose by filling boxes bottom-up?

A: At most 2.

Page 26: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Loss of small tasks:

factor of 2 by introducing boxes

factor of 2 by filling boxes bottom up

Q: Do we have to lose altogether a factor of 4 of small tasks?

Page 27: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Loss of small tasks:

factor of 2 by introducing boxes

factor of 2 by filling boxes bottom up

Q: Do we have to lose altogether a factor of 4 of small tasks?

A: No. Both factors of 2 cannot happen simultaneously.

Main technical contribution

Our algorithm loses at most a factor of 3 of small tasks.

Page 28: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Selecting large tasks: we guess large tasks during the dynamic program.

Observation: All profit from large tasks achieved when guessed correctly.

Page 29: A (5/3 + )-Approximation for Unsplittable Flow on a Path ... · A (5=3+ )-Approximation for Unsplittable Flow on a Path: Placing Small Tasks into Boxes Fabrizio Grandoni1 Tobias M

Summary

Dynamic programming to guess large tasks and boxes

Linear programming to select small tasks inside each box

Total profit: large tasks + 1/3 of small tasks

Thank you!

Our Result

Polynomial-time (5/3 + ε)-approximation for UFP