Approximation Algorithms for Single and Multi-Commodity Connected Facility Location Fabrizio Grandoni & Thomas Rothvoß
Department of Mathematics, M.I.T.
IPCO 2011
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
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 for Connected Facility Location
Outline
Better approximation algorithm for Connected Facility Location
First O(1)-apx for Multi-Commodity Connected Facility Location
Outline
Better approximation algorithm for Connected Facility Location
First O(1)-apx for Multi-Commodity Connected Facility Location
Improved hardness results for several problems
Part 1: Connected Facility Location
Given:
◮ graph G = (V, E), with
metric distances c : E → Q+
Part 1: Connected Facility Location
Given:
◮ graph G = (V, E), with
metric distances c : E → Q+
◮ a set of clients C ⊆ V
clients
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
facility clients
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
◮ a parameter M ≥ 1
facility clients
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
◮ a parameter M ≥ 1
facility clients Goal:
◮ open facilities F ′ ⊆ F
minimizing
+
c(j, F ′)
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
◮ a parameter M ≥ 1
facility clients Goal:
◮ open facilities F ′ ⊆ F ◮ find Steiner tree T spanning opened facilities
minimizing
+
c(j, F ′)
+ M
c(e)
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]
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.
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]
Where is the difficulty?
Algorithm:
Where is the difficulty?
Algorithm: (1) Just solve Facility Location
Where is the difficulty?
Algorithm: (1) Just solve Facility Location (2) Run Steiner Tree algorithm
pay tree M times!
Where is the difficulty?
Algorithm: (1) Just solve Facility Location (2) Run Steiner Tree algorithm
pay tree M times!
The CFL algorithm
The CFL algorithm
(1) Guess facility r from OPT. r
The CFL algorithm
(1) Guess facility r from OPT. (2) Sample each client with prob
1 M → C′
r
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
r
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
r
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
(4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ {r} r
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
(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
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
(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
Analysis: Steiner Cost
Notation: OPT = O∗
+ S∗
+ C∗
Analysis: Steiner Cost
Notation: OPT = O∗
+ S∗
+ C∗
Lemma
E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r
Analysis: Steiner Cost
Notation: OPT = O∗
+ S∗
+ C∗
Lemma
E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r S∗
in OP T
Analysis: Steiner Cost
Notation: OPT = O∗
+ S∗
+ C∗
Lemma
E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r S∗
in OP T
+ 1 M · M · C∗
with prob. 1/M
Analysis: Steiner Cost
Notation: OPT = O∗
+ S∗
+ C∗
Lemma
E[M · apx Steiner Tree on C′ ∪ {r}] ≤ 1.39 · (S∗ + C∗) r 1.39 ·
in OP T
+ 1 M · M · C∗
with prob. 1/M
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
dist(v, sampled node ∪ {r})
p · c(T) r T
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
dist(v, sampled node ∪ {r})
p · c(T) r T
r r r
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
dist(v, sampled node ∪ {r})
p · c(T) r T
r r r
Analysis: Facility Location cost
Theorem
E[apx Facility Location cost] ≤ 1.5 · (O∗ + 2C∗ + 0.81S∗) r
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
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
+ penalties
O∗
+ 1 M · M · C∗
r
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
+ penalties
O∗
+ 1 M · M · C∗
◮ E[connection cost] ≤ C∗ +
r
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
+ penalties
O∗
+ 1 M · M · C∗
◮ E[connection cost] ≤ C∗ + 0.81
1/M · S∗ M
Use Core Detouring Theorem with T = S∗ and p :=
1 M .
r
Finishing the analysis for CFL
Conclusion: E[APX] ≤ 1.39 · (S∗ + C∗) + 1.5 · (O∗ + 2C∗ + 0.81S∗)
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∗
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
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
+
k
distF ′,T(si, ri)
facilities
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
+
k
distF ′,T(si, ri)
facilities
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
+
k
distF ′,T(si, ri)
facilities
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
+
k
distF ′,T(si, ri)
facilities
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
+
k
distF ′,T(si, ri)
facilities
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
◮ parameter M ≥ 1
s1 r1 s2 r2 s3 r3 r4 s4 s5 r5 s6 r6 Goal: Find
◮ Facilities F ′ ⊆ F ◮ Forest T
+ M · c(T)
+
k
distF ′,T(si, ri)
facilities
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
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
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
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
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 ∈ V
The reduction (1)
◮ Reduce Set Cover to SROB
elements sets
The reduction (1)
◮ Reduce Set Cover to SROB
c(e) ∈ {1, 2} M = 0.27n OPTSC r clients/elements facilities/sets
The reduction (1)
◮ Reduce Set Cover to SROB
c(e) ∈ {1, 2} M = 0.27n OPTSC r 1 2 clients/elements facilities/sets
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
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
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.
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
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.
The end Thanks for your attention