Presentation is loading. Please wait.

Presentation is loading. Please wait.

Primal-Dual Algorithms for Connected Facility Location Chaitanya SwamyAmit Kumar Cornell University.

Similar presentations


Presentation on theme: "Primal-Dual Algorithms for Connected Facility Location Chaitanya SwamyAmit Kumar Cornell University."— Presentation transcript:

1 Primal-Dual Algorithms for Connected Facility Location Chaitanya SwamyAmit Kumar Cornell University

2 Connected Facility Location (ConFL) F : set of facilities. D : set of clients(demands). Facility i has facility cost f i. c ij : distance between i and j in V. client facility Graph G=(V,E), costs {c e } on edges and a parameter M ≥ 1. node

3 We want to : client facility Cost =  i  A f i +  j  D c i(j)j + M  e  T c e = facility opening cost + client assignment cost + cost of connecting facilities. 2)Assign each demand j to an open facility i(j). Steiner tree 3)Connect all open facilities by a Steiner tree T. open facility 1)Pick a set A of facilities to open.

4 Ravi & Selman : Look at related problem - connect facilities by a tour. Round optimal solution of an exponential size LP. Karger & Minkoff : Combinatorial algorithm with ‘large’ constant approx. ratio. Gupta, Kleinberg, Kumar, Rastogi & Yener : Also use LP rounding. Get a 9.001-approx. if F =V, f i = 0 for all i, a 10.66-approx. in the general case. Guha, Meyerson & Munagala; Talwar : Gave a constant approx. for the single-sink buy-at-bulk problem. Previous Work

5 Our Results Give primal-dual algorithms with approx. ratios of 5 ( F =V, f i = 0) and 9 (general case). Use this to solve the Connected k-Median problem, and an edge capacitated version of ConFL.

6 Rent-or-buy problem Special case with F =V and f i = 0,  i. Suppose we know a facility f that is open in an optimal solution. What does the solution look like ? Steiner tree. : cost of e = Mc e. Shortest paths : cost of e = c e (demand through e). f Open facility

7 Equivalently, Want to route traffic from clients to f by installing capacity on edges. 2 choices : I : Rent Capacity cost  rented capacity (Shortest Paths) II : Buy Capacity fixed cost, ∞ capacity (Steiner Tree) M cost capacity ConFL  single-sink buy-at-bulk problem with 2 cable types and sink f.

8 Cluster enough demand at a facility before opening it. Suppose we run a  -approx. algorithm for FL, and each open facility serves ≥ M clients. Total cost of adding edges ≤ C * +C. Opt. Steiner tree on ≤ S * +C * +C.  S ≤ 2(S * +C * +C)  get an O(1)-approx. ≥ M C Design Guideline S*S* C*C* OPT C *, S * : assignment, Steiner cost of OPT.

9 An Integer Program x ij = 1 if demand j is assigned to i. z e = 1 if edge e is included in the Steiner tree. Min.  j,i c ij x ij + M  e c e z e (primal) s.t.  i x ij ≥ 1  j  i  S x ij ≤  e   (S) z e  S  V : f  S, j x ij, z e  {0, 1}(1) Relax (1) to x ij, z e ≥ 0 to get an LP. f S j

10 What is the dual? v j  amount j is willing to ‘pay’ to route its demand to f. Let y S =  j y S,j. {y S }  moat packing around facilities. v j ≤ c ij +  S:i  S,f  S y S,j Any feasible dual solution is a lower bound on OPT – Weak Duality. Max.  j v j c ij j f  S:e  (S),f  S y S ≤ Mc e

11 The Algorithm 1)Decide which facilities to open, cluster demands around open facilities. Construct a primal soln. and dual soln. (v,y) simultaneously. 2)Build a Steiner tree on open facilities. The following will hold after 1) : (v,y) is a feasible dual solution. j is assigned to i(j) s.t. c i(j)j ≤ 3v j. Each open facility i has ≥ M clients, {j}, assigned to it s.t. c ij ≤ v j.

12 Analysis Suppose the 3 properties hold. Let A be the set of facilities opened, D i = {j assigned to i : c ij ≤ v j } for i  A. Then, |D i | ≥ M. Let D 1 = U i  A D i. can amortize the cost against demands in D i. ≥ M DiDi So, S ≤ 2(S * + C * +  j  D 1 v j ). i C ≤  j  D 1 v j +  j  D 1 3v j. Total cost ≤ 2(S * + C * ) + 3  j  D v j ≤ 5 OPT.

13 Phase 1 Simplifying assumption – can open a facility anywhere along an edge. locations Notion of time, t. Start at t=0. Initially v j = 0,  j. f is tentatively open, all other locations are closed. Say j is tight with i (has reached i) if v j ≥ c ij. S j is set of vertices j is tight with.

14 Keep raising v j s until : 1)There is a closed location i with which M demands become tight : tentatively open i. Freeze all these M demands. 2)j reaches a tentatively open location : freeze j. Now only raise v j of unfrozen demands. Continue this process until all demands are frozen. Raise all v j at rate 1. Also raise y S j,j at same rate.

15 Execution of the algorithm not open location tentatively open location unfrozen demand M=2, time t=0 f M=2, time t=1

16 Execution of the algorithm M=2, time t=2 f not open location tentatively open location unfrozen demand frozen demand

17 Execution of the algorithm M=2, time t=3 f frozen demand not open location tentatively open location unfrozen demand j v j =t=3

18 Opening locations Let i be tentatively open. D i = {j : j is tight with i }. t i = time when i was tent’vely opened. Note, |D i | ≥ M. But the D i s may not be disjoint. 4 2 3 1 0 f Consider locations in order of  t i. If A U {i} is independent add i to A. Here order is 0,1,2,3,4 so A={0,1,3}. Initially A =  Pick an indepdt. set of locations, A  A’ and open these. Say i, l are dependent if D i  D l .

19 Assigning clients Consider client j. j k i l i is tentatively open and caused j to get frozen  j is tight with i. i and l are dependent, t l ≤ t i and l is open : assign j to l. 2) open location tentatively open location, not open j is tight with some open i : assign j to i. At most 1 open i may be tight with j. 1) j i

20 i(j) = location that j is assigned to. 1)c i(j)j ≤ v j. 2)c i(j)j ≤ v j + 2v k. v j ≥ t i since j freezes at or after time t i. Also v k ≤ t i. So v k ≤ v j and c i(j)j ≤ 3v j. For every open i, all clients in D i are assigned to i. |D i | ≥ M, so at least M demands {j} are assigned to i with c ij ≤ v j.

21 Putting it together Need to show that (v,y) is feasible.  j (  S y S,j ) =  p  e (# of across p) ≤  p  e M = Mc e.  j  S:e   (S),f  S y S,j ≤ Mc e M=3 ≤ M at any location e v j ≤ c ij +  S:i  S,f  S y S,j Once j reaches i, set S j includes i and y S j,j is increasing at same rate as v j. vjvj c ij j i SjSj

22 Done? Almost… Could have opened non-vertex locations. Fix : Move all such locations to vertices. Cost only decreases ! e.g., ≥ M Theorem : The above algorithm is a 5-approx. for rent-or-buy.

23 The General Case F  V : Cannot open a facility everywhere. Facilities have costs : Want to open cheap facilities. Modified Phase 1 1)Dual variables, v j, also pay for opening facilities. 2)Cluster ≥ M demands around terminal locations, open facilities ‘near’ terminal locations. Theorem : There is a 9-approx. algorithm for the general case.

24 Let A be the set of terminal locations, D i = {j : c ij ≤ v j } for i  A. We ensure |D i | ≥ M. Let D 1 = U i  A D i. Total cost ≤ 2(S * + C * ) + 7  j  D v j ≤ 9 OPT. ≥ M DiDi S ≤  j  D 1 2v j + Can show, F + C ≤  j  D 1 3v j +  j  D 1 7v j. ≤ 2 min j  D i v j open facility 2(S * + C * +  j  D 1 v j ). i

25 Open Questions 1)Better approximation : only know an integrality gap of 2 from Steiner tree. 2)Multicommodity buy-at-bulk. Multiple source-sink pairs, route flow from source to sink. Have different cable types. Kumar et al. give a const. approx. for multicommodity rent-or-buy. 3)Unrelated metrics : Min.  i f i y i +  j,i c ij x ij +  e d e z e. Can reduce from group Steiner tree – get a O(log n) LB. Matching UB?


Download ppt "Primal-Dual Algorithms for Connected Facility Location Chaitanya SwamyAmit Kumar Cornell University."

Similar presentations


Ads by Google