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
Outline Better approximation algorithm 1 . for Connected Facility Location First O (1)-apx for Multi-Commodity 2 . Connected Facility Location
Outline Better approximation algorithm 1 . for Connected Facility Location First O (1)-apx for Multi-Commodity 2 . Connected Facility Location 3 . 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: clients ◮ graph G = ( V, E ), with metric distances c : E → Q + ◮ a set of clients C ⊆ V
Part 1: Connected Facility Location Given: facility clients ◮ graph G = ( V, E ), with metric distances c : E → Q + ◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with opening cost o : F → Q +
Part 1: Connected Facility Location Given: facility clients ◮ graph G = ( V, E ), with metric distances c : E → Q + ◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with opening cost o : F → Q + ◮ a parameter M ≥ 1
Part 1: Connected Facility Location Given: facility clients ◮ graph G = ( V, E ), with metric distances c : E → Q + ◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with opening cost o : F → Q + ◮ a parameter M ≥ 1 Goal: ◮ open facilities F ′ ⊆ F minimizing � � o ( f ) + c ( j, F ′ ) f ∈ F ′ j ∈ C � �� � � �� � opening cost connection cost
Part 1: Connected Facility Location Given: facility clients ◮ graph G = ( V, E ), with metric distances c : E → Q + ◮ a set of clients C ⊆ V ◮ facilities F ⊆ V , with opening cost o : F → Q + ◮ a parameter M ≥ 1 Goal: ◮ open facilities F ′ ⊆ F ◮ find Steiner tree T spanning opened facilities minimizing � � � o ( f ) + c ( j, F ′ ) + M c ( e ) f ∈ F ′ j ∈ C e ∈ T � �� � � �� � � �� � Steiner cost opening cost connection cost
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: opening cost 0
Where is the difficulty? Algorithm: (1) Just solve Facility Location opening cost 0
Where is the difficulty? Algorithm: (1) Just solve Facility Location (2) Run Steiner Tree algorithm opening cost 0 pay tree M times!
Where is the difficulty? Algorithm: (1) Just solve Facility Location Doesn’t work! (2) Run Steiner Tree algorithm opening cost 0 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 . 1 (2) Sample each client with prob M → C ′ r
The CFL algorithm (1) Guess facility r from OPT . 1 (2) Sample each client with prob M → C ′ (3) Compute 1.5-apx F ′ for Facility Location instance o ′ ( f ) := o ( f ) + M · c ( f, nearest node in C ′ ∪ { r } ) r o ( f )+ penalty
The CFL algorithm (1) Guess facility r from OPT . 1 (2) Sample each client with prob M → C ′ (3) Compute 1.5-apx F ′ for Facility Location instance o ′ ( f ) := o ( f ) + M · c ( f, nearest node in C ′ ∪ { r } ) r
The CFL algorithm (1) Guess facility r from OPT . 1 (2) Sample each client with prob M → C ′ (3) Compute 1.5-apx F ′ for Facility Location instance o ′ ( f ) := o ( f ) + M · c ( f, nearest node in C ′ ∪ { r } ) (4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ { r } r
The CFL algorithm (1) Guess facility r from OPT . 1 (2) Sample each client with prob M → C ′ (3) Compute 1.5-apx F ′ for Facility Location instance o ′ ( f ) := o ( f ) + M · c ( f, nearest node in C ′ ∪ { r } ) (4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ { r } r ◮ Observe: cost of apx cost of apx E [ APX ] ≤ E Facility Location sol. + E Steiner Tree +penalties
The CFL algorithm (1) Guess facility r from OPT . 1 (2) Sample each client with prob M → C ′ (3) Compute 1.5-apx F ′ for Facility Location instance o ′ ( f ) := o ( f ) + M · c ( f, nearest node in C ′ ∪ { r } ) (4) Compute 1.39-apx Steiner Tree T ′ on F ′ ∪ { r } r ◮ Observe: cost of apx cost of apx E [ APX ] ≤ E Facility Location sol. + E Steiner Tree on C ′ ∪ { r } +penalties
Analysis: Steiner Cost Notation: O ∗ S ∗ C ∗ OPT = + + ���� ���� ���� opening cost Steiner tree cost connection cost
Analysis: Steiner Cost Notation: O ∗ S ∗ C ∗ OPT = + + ���� ���� ���� opening cost Steiner tree cost connection cost Lemma E [ M · apx Steiner Tree on C ′ ∪ { r } ] ≤ 1 . 39 · ( S ∗ + C ∗ ) r
Analysis: Steiner Cost Notation: O ∗ S ∗ C ∗ OPT = + + ���� ���� ���� opening cost Steiner tree cost connection cost Lemma E [ M · apx Steiner Tree on C ′ ∪ { r } ] ≤ 1 . 39 · ( S ∗ + C ∗ ) r S ∗ ���� Steiner tree in OP T
Analysis: Steiner Cost Notation: O ∗ S ∗ C ∗ OPT = + + ���� ���� ���� opening cost Steiner tree cost connection cost Lemma E [ M · apx Steiner Tree on C ′ ∪ { r } ] ≤ 1 . 39 · ( S ∗ + C ∗ ) r 1 S ∗ M · M · C ∗ + ���� Steiner tree � �� � in OP T need path in C ∗ with prob. 1 /M
Analysis: Steiner Cost Notation: O ∗ S ∗ C ∗ OPT = + + ���� ���� ���� opening cost Steiner tree cost connection cost Lemma E [ M · apx Steiner Tree on C ′ ∪ { r } ] ≤ 1 . 39 · ( S ∗ + C ∗ ) r � 1 � S ∗ M · M · C ∗ 1 . 39 · + ���� Steiner tree � �� � in OP T need path in 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] �� � ≤ 0 . 81 E dist( v, sampled node ∪ { r } ) · c ( T ) p v ∈ D 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] �� � ≤ 0 . 81 E dist( v, sampled node ∪ { r } ) · c ( T ) p v ∈ D 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] �� � ≤ 0 . 81 E dist( v, sampled node ∪ { r } ) · c ( T ) p v ∈ D r T
Analysis: Facility Location cost Theorem E [ apx Facility Location cost ] ≤ 1 . 5 · ( O ∗ + 2 C ∗ + 0 . 81 S ∗ ) r
Analysis: Facility Location cost Theorem E [ apx Facility Location cost ] ≤ 1 . 5 · ( O ∗ + 2 C ∗ + 0 . 81 S ∗ ) ◮ 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 ∗ + 2 C ∗ + 0 . 81 S ∗ ) ◮ There is a good sol: F := facilities in OPT serving C ′ ∪ { r } � opening cost � 1 ◮ E O ∗ M · M · C ∗ ≤ + + penalties ���� orig. cost � �� � expected penalty r
Analysis: Facility Location cost Theorem E [ apx Facility Location cost ] ≤ 1 . 5 · ( O ∗ + 2 C ∗ + 0 . 81 S ∗ ) ◮ There is a good sol: F := facilities in OPT serving C ′ ∪ { r } � opening cost � 1 ◮ E O ∗ M · M · C ∗ ≤ + + penalties ���� orig. cost � �� � expected penalty ◮ E [connection cost] ≤ C ∗ + r
Analysis: Facility Location cost Theorem E [ apx Facility Location cost ] ≤ 1 . 5 · ( O ∗ + 2 C ∗ + 0 . 81 S ∗ ) ◮ There is a good sol: F := facilities in OPT serving C ′ ∪ { r } � opening cost � 1 ◮ E O ∗ M · M · C ∗ ≤ + + penalties ���� orig. cost � �� � expected penalty 1 /M · S ∗ ◮ E [connection cost] ≤ C ∗ + 0 . 81 M ���� tree Use Core Detouring Theorem with T = S ∗ and p := 1 M . r
Recommend
More recommend