Approximation Algorithms for Single and Multi-Commodity Connected - - PowerPoint PPT Presentation

approximation algorithms for single and multi commodity
SMART_READER_LITE
LIVE PREVIEW

Approximation Algorithms for Single and Multi-Commodity Connected - - PowerPoint PPT Presentation

Approximation Algorithms for Single and Multi-Commodity Connected Facility Location Fabrizio Grandoni & Thomas Rothvo Department of Mathematics, M.I.T. IPCO 2011 Outline Better approximation algorithm 1 . for Connected Facility Location


slide-1
SLIDE 1

Approximation Algorithms for Single and Multi-Commodity Connected Facility Location Fabrizio Grandoni & Thomas Rothvoß

Department of Mathematics, M.I.T.

IPCO 2011

slide-2
SLIDE 2

Outline

1.

Better approximation algorithm for Connected Facility Location

slide-3
SLIDE 3

Outline

1.

Better approximation algorithm for Connected Facility Location

2.

First O(1)-apx for Multi-Commodity Connected Facility Location

slide-4
SLIDE 4

Outline

1.

Better approximation algorithm for Connected Facility Location

2.

First O(1)-apx for Multi-Commodity Connected Facility Location

3.

Improved hardness results for several problems

slide-5
SLIDE 5

Part 1: Connected Facility Location

Given:

◮ graph G = (V, E), with

metric distances c : E → Q+

slide-6
SLIDE 6

Part 1: Connected Facility Location

Given:

◮ graph G = (V, E), with

metric distances c : E → Q+

◮ a set of clients C ⊆ V

clients

slide-7
SLIDE 7

Part 1: Connected Facility Location

Given:

◮ graph G = (V, E), with

metric distances c : E → Q+

◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with

  • pening cost o : F → Q+

facility clients

slide-8
SLIDE 8

Part 1: Connected Facility Location

Given:

◮ graph G = (V, E), with

metric distances c : E → Q+

◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with

  • pening cost o : F → Q+

◮ a parameter M ≥ 1

facility clients

slide-9
SLIDE 9

Part 1: Connected Facility Location

Given:

◮ graph G = (V, E), with

metric distances c : E → Q+

◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with

  • pening cost o : F → Q+

◮ a parameter M ≥ 1

facility clients Goal:

◮ open facilities F ′ ⊆ F

minimizing

  • f∈F ′
  • (f)
  • pening cost

+

  • j∈C

c(j, F ′)

  • connection cost
slide-10
SLIDE 10

Part 1: Connected Facility Location

Given:

◮ graph G = (V, E), with

metric distances c : E → Q+

◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with

  • pening cost o : F → Q+

◮ a parameter M ≥ 1

facility clients Goal:

◮ open facilities F ′ ⊆ F ◮ find Steiner tree T spanning opened facilities

minimizing

  • f∈F ′
  • (f)
  • pening cost

+

  • j∈C

c(j, F ′)

  • connection cost

+ M

  • e∈T

c(e)

  • Steiner cost
slide-11
SLIDE 11

Previous Results for Connected Facility Location

◮ APX-hard (reduction from Steiner Tree) ◮ 10.66-apx based on LP-rounding [Gupta et al ’01]. ◮ 8.55-apx primal-dual algorithm

[Swamy, Kumar ’02].

◮ 3.92-apx based on random-sampling

[Eisenbrand, Grandoni, R., Sch¨ afer ’08]

slide-12
SLIDE 12

Previous Results for Connected Facility Location

◮ APX-hard (reduction from Steiner Tree) ◮ 10.66-apx based on LP-rounding [Gupta et al ’01]. ◮ 8.55-apx primal-dual algorithm

[Swamy, Kumar ’02].

◮ 3.92-apx based on random-sampling

[Eisenbrand, Grandoni, R., Sch¨ afer ’08]

Our result

Simple 3.19-approximation algorithm.

slide-13
SLIDE 13

Previous Results for Connected Facility Location

◮ APX-hard (reduction from Steiner Tree) ◮ 10.66-apx based on LP-rounding [Gupta et al ’01]. ◮ 8.55-apx primal-dual algorithm

[Swamy, Kumar ’02].

◮ 3.92-apx based on random-sampling

[Eisenbrand, Grandoni, R., Sch¨ afer ’08]

Our result

Simple 3.19-approximation algorithm. Use existing algorithms for subproblems:

◮ Facility Location: 1.5-apx [Byrka ’07] ◮ Steiner Tree: 1.39-apx [Byrka,Grandoni,R.,Sanit`

a 10]

slide-14
SLIDE 14

Where is the difficulty?

Algorithm:

  • pening cost 0
slide-15
SLIDE 15

Where is the difficulty?

Algorithm: (1) Just solve Facility Location

  • pening cost 0
slide-16
SLIDE 16

Where is the difficulty?

Algorithm: (1) Just solve Facility Location (2) Run Steiner Tree algorithm

  • pening cost 0

pay tree M times!

slide-17
SLIDE 17

Where is the difficulty?

Algorithm: (1) Just solve Facility Location (2) Run Steiner Tree algorithm

  • pening cost 0

pay tree M times!

Doesn’t work!

slide-18
SLIDE 18

The CFL algorithm

slide-19
SLIDE 19

The CFL algorithm

(1) Guess facility r from OPT. r

slide-20
SLIDE 20

The CFL algorithm

(1) Guess facility r from OPT. (2) Sample each client with prob

1 M → C′

r

slide-21
SLIDE 21

The CFL algorithm

(1) Guess facility r from OPT. (2) Sample each client with prob

1 M → C′

(3) Compute 1.5-apx F ′ for Facility Location instance

  • ′(f) := o(f) + M · c(f, nearest node in C′ ∪ {r})

r

  • (f)+ penalty
slide-22
SLIDE 22

The CFL algorithm

(1) Guess facility r from OPT. (2) Sample each client with prob

1 M → C′

(3) Compute 1.5-apx F ′ for Facility Location instance

  • ′(f) := o(f) + M · c(f, nearest node in C′ ∪ {r})

r

slide-23
SLIDE 23

The CFL algorithm

(1) Guess facility r from OPT. (2) Sample each client with prob

1 M → C′

(3) Compute 1.5-apx F ′ for Facility Location instance

  • ′(f) := o(f) + M · c(f, nearest node in C′ ∪ {r})

(4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ {r} r

slide-24
SLIDE 24

The CFL algorithm

(1) Guess facility r from OPT. (2) Sample each client with prob

1 M → C′

(3) Compute 1.5-apx F ′ for Facility Location instance

  • ′(f) := o(f) + M · c(f, nearest node in C′ ∪ {r})

(4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ {r} r

◮ Observe:

E[APX] ≤ E   cost of apx Facility Location sol. +penalties  +E   cost of apx Steiner Tree  

slide-25
SLIDE 25

The CFL algorithm

(1) Guess facility r from OPT. (2) Sample each client with prob

1 M → C′

(3) Compute 1.5-apx F ′ for Facility Location instance

  • ′(f) := o(f) + M · c(f, nearest node in C′ ∪ {r})

(4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ {r} r

◮ Observe:

E[APX] ≤ E   cost of apx Facility Location sol. +penalties  +E   cost of apx Steiner Tree

  • n C′ ∪ {r}

 

slide-26
SLIDE 26

Analysis: Steiner Cost

Notation: OPT = O∗

  • pening cost

+ S∗

  • Steiner tree cost

+ C∗

  • connection cost
slide-27
SLIDE 27

Analysis: Steiner Cost

Notation: OPT = O∗

  • pening cost

+ S∗

  • Steiner tree cost

+ C∗

  • connection cost

Lemma

E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r

slide-28
SLIDE 28

Analysis: Steiner Cost

Notation: OPT = O∗

  • pening cost

+ S∗

  • Steiner tree cost

+ C∗

  • connection cost

Lemma

E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r S∗

  • Steiner tree

in OP T

slide-29
SLIDE 29

Analysis: Steiner Cost

Notation: OPT = O∗

  • pening cost

+ S∗

  • Steiner tree cost

+ C∗

  • connection cost

Lemma

E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r S∗

  • Steiner tree

in OP T

+ 1 M · M · C∗

  • need path in C∗

with prob. 1/M

slide-30
SLIDE 30

Analysis: Steiner Cost

Notation: OPT = O∗

  • pening cost

+ S∗

  • Steiner tree cost

+ C∗

  • connection cost

Lemma

E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r 1.39 ·

  • S∗
  • Steiner tree

in OP T

+ 1 M · M · C∗

  • need path in C∗

with prob. 1/M

slide-31
SLIDE 31

Core detouring theorem

Core Detouring Theorem [EGSR ’08]

Given a spanning tree T with root r ∈ T and distinguished terminals D ⊆ V . Sample any terminal in D with prob. p ∈]0, 1] E

  • v∈D

dist(v, sampled node ∪ {r})

  • ≤ 0.81

p · c(T) r T

slide-32
SLIDE 32

Core detouring theorem

Core Detouring Theorem [EGSR ’08]

Given a spanning tree T with root r ∈ T and distinguished terminals D ⊆ V . Sample any terminal in D with prob. p ∈]0, 1] E

  • v∈D

dist(v, sampled node ∪ {r})

  • ≤ 0.81

p · c(T) r T

r r r

slide-33
SLIDE 33

Core detouring theorem

Core Detouring Theorem [EGSR ’08]

Given a spanning tree T with root r ∈ T and distinguished terminals D ⊆ V . Sample any terminal in D with prob. p ∈]0, 1] E

  • v∈D

dist(v, sampled node ∪ {r})

  • ≤ 0.81

p · c(T) r T

r r r

slide-34
SLIDE 34

Analysis: Facility Location cost

Theorem

E[apx Facility Location cost] ≤ 1.5 · (O∗ + 2C∗ + 0.81S∗) r

slide-35
SLIDE 35

Analysis: Facility Location cost

Theorem

E[apx Facility Location cost] ≤ 1.5 · (O∗ + 2C∗ + 0.81S∗)

◮ There is a good sol: F := facilities in OPT serving C′ ∪ {r}

r

slide-36
SLIDE 36

Analysis: Facility Location cost

Theorem

E[apx Facility Location cost] ≤ 1.5 · (O∗ + 2C∗ + 0.81S∗)

◮ There is a good sol: F := facilities in OPT serving C′ ∪ {r} ◮ E

  • pening cost

+ penalties

O∗

  • rig. cost

+ 1 M · M · C∗

  • expected penalty

r

slide-37
SLIDE 37

Analysis: Facility Location cost

Theorem

E[apx Facility Location cost] ≤ 1.5 · (O∗ + 2C∗ + 0.81S∗)

◮ There is a good sol: F := facilities in OPT serving C′ ∪ {r} ◮ E

  • pening cost

+ penalties

O∗

  • rig. cost

+ 1 M · M · C∗

  • expected penalty

◮ E[connection cost] ≤ C∗ +

r

slide-38
SLIDE 38

Analysis: Facility Location cost

Theorem

E[apx Facility Location cost] ≤ 1.5 · (O∗ + 2C∗ + 0.81S∗)

◮ There is a good sol: F := facilities in OPT serving C′ ∪ {r} ◮ E

  • pening cost

+ penalties

O∗

  • rig. cost

+ 1 M · M · C∗

  • expected penalty

◮ E[connection cost] ≤ C∗ + 0.81

1/M · S∗ M

  • tree

Use Core Detouring Theorem with T = S∗ and p :=

1 M .

r

slide-39
SLIDE 39

Finishing the analysis for CFL

Conclusion: E[APX] ≤ 1.39 · (S∗ + C∗) + 1.5 · (O∗ + 2C∗ + 0.81S∗)

slide-40
SLIDE 40

Finishing the analysis for CFL

Conclusion: E[APX] ≤ 1.39 · (S∗ + C∗) + 1.5 · (O∗ + 2C∗ + 0.81S∗) ≤ 1.5 · O∗ + 2.7 · S∗ + 4.39 · C∗

slide-41
SLIDE 41

Finishing the analysis for CFL

Conclusion: E[APX] ≤ 1.39 · (S∗ + C∗) + 1.5 · (O∗ + 2C∗ + 0.81S∗) ≤ 1.5 · O∗ + 2.7 · S∗ + 4.39 · C∗

Improvement to 3.19:

◮ Adapting the sampling probability ◮ Using a bi-factor Facility Location algorithm

slide-42
SLIDE 42

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6

slide-43
SLIDE 43

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F

  • f∈F ′
  • (f)
  • pening cost
slide-44
SLIDE 44

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost
slide-45
SLIDE 45

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost

+

k

  • i=1

distF ′,T(si, ri)

  • 0 distance between
  • pened & connected

facilities

slide-46
SLIDE 46

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost

+

k

  • i=1

distF ′,T(si, ri)

  • 0 distance between
  • pened & connected

facilities

slide-47
SLIDE 47

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost

+

k

  • i=1

distF ′,T(si, ri)

  • 0 distance between
  • pened & connected

facilities

slide-48
SLIDE 48

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost

+

k

  • i=1

distF ′,T(si, ri)

  • 0 distance between
  • pened & connected

facilities

slide-49
SLIDE 49

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost

+

k

  • i=1

distF ′,T(si, ri)

  • 0 distance between
  • pened & connected

facilities

slide-50
SLIDE 50

Part 2: Multi-Commodity Connected Facility Location

Input:

◮ Undirected graph G = (V, E),

metric distances c : E → Q+

◮ source-sink pairs

(s1, r1), . . . , (sk, rk)

◮ a set of facilities F ⊆ V with

  • pening costs o : F → Q+

◮ parameter M ≥ 1

s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find

◮ Facilities F ′ ⊆ F ◮ Forest T

  • f∈F ′
  • (f)
  • pening cost

+ M · c(T)

  • forest cost

+

k

  • i=1

distF ′,T(si, ri)

  • 0 distance between
  • pened & connected

facilities

slide-51
SLIDE 51

Our result

Our result

Simple 16.2-approximation algorithm for Multi-Commodity Connected Facility Location. Ingredients:

◮ Random-sampling ◮ Use algorithms for

◮ Price-Collecting Facility Location ◮ Steiner Forest

slide-52
SLIDE 52

Part 3: Improved hardness results

Steiner Tree Facility Location Connected Facility Location Single-Sink Rent-or-Buy Single-Sink Buy-at-Bulk Virtual Private Network generalizes

slide-53
SLIDE 53

Part 3: Improved hardness results

Steiner Tree 1.01 Facility Location 1.46 Connected Facility Location 1.46 Single-Sink Rent-or-Buy 1.01 Single-Sink Buy-at-Bulk 1.01 Virtual Private Network 1.01 generalizes

slide-54
SLIDE 54

Part 3: Improved hardness results

Steiner Tree 1.01 Facility Location 1.46 Connected Facility Location 1.46 Single-Sink Rent-or-Buy 1.01 Single-Sink Buy-at-Bulk 1.01 Virtual Private Network 1.01 generalizes 1 . 2 8 1 . 2 8 1 . 2 8

slide-55
SLIDE 55

Part 3: Improved hardness results

Steiner Tree 1.01 Facility Location 1.46 Connected Facility Location 1.46 Single-Sink Rent-or-Buy 1.01 Single-Sink Buy-at-Bulk 1.01 Virtual Private Network 1.01 generalizes 1 . 2 8 1 . 2 8 1 . 2 8

  • (f) = 0

∀f ∈ V

slide-56
SLIDE 56

The reduction (1)

◮ Reduce Set Cover to SROB

b

elements sets

slide-57
SLIDE 57

The reduction (1)

◮ Reduce Set Cover to SROB

c(e) ∈ {1, 2} M = 0.27n OPTSC r clients/elements facilities/sets

slide-58
SLIDE 58

The reduction (1)

◮ Reduce Set Cover to SROB

c(e) ∈ {1, 2} M = 0.27n OPTSC r 1 2 clients/elements facilities/sets

slide-59
SLIDE 59

The reduction (1)

◮ Reduce Set Cover to SROB

c(e) ∈ {1, 2} M = 0.27n OPTSC r 1 2 clients/elements facilities/sets remove! buy! (1) WHILE not all elements covered DO

(2) Compute 1.27-apx SROB sol (3) Buy facilities/sets in sol. & remove covered elements

slide-60
SLIDE 60

The reduction (2)

◮ Use idea from [Guha & Khuller ’99]

1 · OPTSC 2 · OPTSC n # clients at dist 1 # facilities in apx. sol 0.27 # fac

OP TSC n + 0.3667n

slide-61
SLIDE 61

The reduction (2)

◮ Use idea from [Guha & Khuller ’99]

1 · OPTSC 2 · OPTSC n # clients at dist 1 # facilities in apx. sol 0.27 # fac

OP TSC n + 0.3667n

b

apx SROB sol.

slide-62
SLIDE 62

The reduction (2)

◮ Use idea from [Guha & Khuller ’99]

1 · OPTSC 2 · OPTSC n # clients at dist 1 # facilities in apx. sol 0.27 # fac

OP TSC n + 0.3667n

b

apx SROB sol. # needed sets ≤ [. . . some calc . . .] ≤ 0.999 ln(n) · OPTSC

slide-63
SLIDE 63

The reduction (2)

◮ Use idea from [Guha & Khuller ’99]

1 · OPTSC 2 · OPTSC n # clients at dist 1 # facilities in apx. sol 0.27 # fac

OP TSC n + 0.3667n

b

apx SROB sol. # needed sets ≤ [. . . some calc . . .] ≤ 0.999 ln(n) · OPTSC

◮ Contradiction!

Theorem (Feige ’98)

Unless NP ⊆ DTIME(nO(log log n)), there is no (1 − ε) · ln(n)-apx for Set Cover.

slide-64
SLIDE 64

The end Thanks for your attention