LPbased Algorithms for Capacitated Facility Location Chaitanya Swamy
LP-based Algorithms for Capacitated Facility Location Chaitanya Swamy Joint work with Retsef Levi and David Shmoys Cornell University
Capacitated Facility Location (CFL) 3 2 3 3 2 facility client 4 F : set of facilities D : set of clients. Facility i has facility cost = fi capacity = ui cij : distance between points i and j
Want to: 1) Choose a set A of facilities to open. 2) Assign client j to an open facility i(j). At most ui clients may be assigned to i. Goal: Minimize total cost = ∑iÎA fi + ∑jÎD ci(j)j = facility cost + client assignment cost 3 2 2 3 3 4 open facility client
Related Work Approximation Algorithms • Korupolu, Plaxton & Rajaraman: – First constant-approx. algorithm. – Handle uniform capacities. • Chudak & Williamson: – Simplified and improved analysis. • Pal, Tardos & Wexler: – Constant-approximation algorithm for non-uniform capacities. Improvements by Mahdian & Pal, Zhang, Chen & Ye (ZCY 04). Current best factor: 5. 83 (ZCY 04). All results based on local search.
Strengthening LP relaxations • Padberg, Van Roy & Wolsey: – considered single-client CFL problem – gave extended flow cover inequalities; integrality gap = 1 for uniform capacities. • Aardal: – adapted flow cover inequalities to general CFL. • Carr, Fleischer, Leung & Phillips: – gave covering inequalities for singleclient CFL; integrality gap ≤ 2. No LP-relaxation is known for CFL with a constant integrality gap.
Our Results • Give an LP-rounding algorithm for CFL. First LP-based approx. algorithm. Get an approx. ratio of 5 when all facility costs are equal (capacities can be different). • Decomposition technique to divide the CFL instance into single-client CFL problems which are solved separately. Analysis is not a client-by-client analysis. • Decomposition technique might be useful in analyzing sophisticated LP relaxations.
LP formulation Minimize ∑i fiyi + ∑j, i cijxij (CFL-P) subject to ∑i xij ≥ 1 j xij ≤ yi i, j ∑j xij ≤ uiyi i, j yi ≤ 1 xij, yi ≥ 0 yi i i, j : indicates if facility i is open. xij : indicates if client j is assigned to facility i. ui : capacity of facility i.
The Dual vj ri wij cij j Maximize ∑j vj – ∑i zi subject to vj ≤ cij + wij + ri ∑i, j wij + uiri ≤ fi + zi vj, wij, zi, ri ≥ 0 (CFL-D) i, j i i, j Strong Duality: Primal and dual problems have same optimum value.
Single-Client CFL 4 3 3 2 ci 2 4 Demand = D Also called single-node fixed-charge problem. Minimize ∑i fi Yi + ∑i ci. Xi subject to Yi Xi (SN-P) ∑ i Xi ≥ D Xi ≤ u i Y i i Yi ≤ 1 i Xi , Y i ≥ 0 i : indicates if facility i is open. : demand assigned to facility i.
Can set Yi = Xi /ui, so (SN-P) º Minimize ∑i (fi /ui+ci)Xi subject to ∑i Xi ≥ D Xi ≤ u i i Xi ≥ 0 i Lemma: Assigning demand to facilities in (fi /ui + ci) order gives optimal solution to (SN-P). Þ at most one facility i such that 0 < Yi < 1. Þ get integer solution of cost ≤ OPTSN-P + maxi fi.
Algorithm Outline Let (x, y) : optimal primal solution 1) Clustering. • Partition facilities in {i : yi > 0} into • clusters. Each cluster is “centered” around a client k and denoted by Nk. Cluster Nk takes care of demand ∑j, iÎNk xij. 2) Create a 1 -client CFL instance for each cluster Nk. • Open each facility iÎNk with yi = 1. • Consider total demand served by facilities in Nk with yi < 1 as located at center k – get a 1 -client CFL instance. • Solve instance to decide which other facilities to open from Nk. 3) Assign clients to open facilities.
A Sample Run 1 client 2 3 4 facility with yi > 0
A Sample Run 1 client cluster center 2 3 4 facility with yi > 0 Partition facilities in {i : yi > 0} into clusters.
A Sample Run 1 client cluster center 2 3 4 facility with yi > 0 open facility Open each facility i with yi = 1.
A Sample Run 1 client cluster center 2 3 4 facility with yi > 0 open facility Create 1 -client CFL instances – move demand to cluster centers.
A Sample Run 1 client cluster center 2 3 4 facility with yi > 0 open facility Create 1 -client CFL instances by moving demand to cluster centers.
A Sample Run 1 client cluster center 2 3 4 facility with yi > 0 open facility Solve the 1 -client CFL instances to decide which facilities to open.
A Sample Run 1 client 2 3 4 facility with yi > 0 open facility Assign clients to open facilities.
Clustering Let Fj = {i: xij > 0}, wt(S) = ∑iÎS yi, ctr(i) = center of i’s cluster, i. e. , iÎNctr(i). j k Fj ctr(i) ∑iÎNk yi ≥ ½ i ci, ctr(i) ≤ 3 vj Form clusters iteratively. Clustering ensures the following properties: • Each cluster Nk has wt(Nk) ≥ ½. • For every client j and facility iÎFj, ci, ctr(i) ≤ 3 vj.
Analysis Overview Let y' = {0, 1}-solution constructed y'i = 1 iff facility i is open, 0 otherwise. Will construct x' so that (x', y') is a feasible solution to (CFL-P) and bound cost of (x', y'). Use dual variables vj to bound cost: xij > 0 Þ cij ≤ vj. Problem: Have –zis in the dual. But zi > 0 Þ yi = 1. So can open these facilities and charge all of this cost to the LP; takes care of –zis.
Overview (contd. ) j Fj ctr(i) i • If iÎFj, then ci, ctr(i) ≤ 3 vj, • wt(cluster) ≥ ½ 1) Cost of opening i with yi = 1, assigning ∑j xij units of demand to each such i. Rest is handled by the 1 -client CFL solutions. 2) Cost of 1 -client CFL solutions. 3) Cost to move demand from cluster centers back to original client locations.
Taking care of –zis For each facility i with yi = 1 – Open facility i. – For each j, assign xij fraction to i. Lemma: Cost incurred = ∑i: yi=1 (fi + ∑j cijxij) = ∑j vj (∑i: yi=1 xij) – ∑i zi. Proof: By complementary slackness. Corollary: ∑i: yi<1 (fiyi+ ∑j cijxij) = ∑j vj (∑i: yi<1 xij).
Cost of 1 -client CFL solns. cluster Nk k open facility with yi = 1 facility in Lk Let Lk={iÎNk: yi < 1}. (x, y) induces feasible solution to (SN-P). Set Yi = yi, Xi = ∑j xij. OPTSN-P ≤ cost of (X, Y) = ∑iÎLk fiyi + ∑iÎLk cik(∑j xij) Cost of integer 1 -client CFL solution for Nk ≤ OPTSN-P + maxiÎLk fi. But fi = f and wt(Nk) ≥ ½, so cost ≤ ∑iÎLk fiyi + ∑iÎLk cik(∑j xij) + 2. ∑iÎNk fiyi. Only place where we use the fact that the facility costs are all equal.
Cost of 1 -client CFL solns. cluster Nk k open facility with yi = 1 facility in Lk Let Lk={iÎNk: yi < 1}. (x, y) induces feasible solution to (SN-P). Set Yi = yi, Xi = ∑j xij. OPTSN-P ≤ cost of (X, Y) = ∑iÎLk fiyi + ∑iÎLk cik(∑j xij) Cost of integer 1 -client CFL solution for Nk ≤ OPTSN-P + maxiÎLk fi. But fi = f and wt(Nk) ≥ ½, so cost ≤ ∑iÎLk fiyi + ∑iÎLk cik(∑j xij) + 2. ∑iÎNk fiyi. So total cost of all 1 -client CFL solutions ≤ ∑i: yi<1 (3 fiyi + ∑j ci, ctr(i) xij) + 2. ∑i: yi=1 fi.
Moving back demands j Fj ctr(i) i Fix client j. For every facility i with yi < 1, move xij demand from ctr(i) back to j. Cost incurred for j = ∑i: yi<1 cctr(i), j xij ≤ ∑i: yi<1 (ci, ctr(i) + cij) xij Overall cost = ∑i: yi<1 ∑j (ci, ctr(i) + cij) xij
Putting it all together Recall: for each iÎFj, ci, ctr(i) ≤ 3 vj ∑i: yi<1 (fiyi + ∑j cijxij) = ∑j vj (∑i: yi<1 xij) 3 components of total cost: 1) Cost of opening i such that yi = 1, and assigning xij demand of each client j to i = ∑i: yi=1 (fi + ∑j cijxij) = ∑j vj (∑i: yi=1 xij) – ∑i zi. 2) Cost of 1 -client CFL solutions ≤ ∑i: yi<1 (3 fiyi + ∑j ci, ctr(i) xij) + 2. ∑i: yi=1 fi. 3) Cost of moving back demands ≤ ∑i: yi<1 ∑j (ci, ctr(i) + cij) xij Total cost ≤ ∑i: yi=1 (3 fi + ∑j cijxij) + ∑i: yi<1 (3 fiyi + ∑j cijxij) + ∑j 6 vj (∑i: yi<1 xij) ≤ 9(∑j vj – ∑i zi ) ≤ 9. OPT.
Theorem: Get a 9 -approximation algorithm for equal facility costs. Improvement Clustering ensures that for every client j, an xij-weight of ≥ ½ is in facilities i such that ci, ctr(i) ≤ vj. j Fj S ∑iÎS xij ≥ ½ For each iÎS, ci, ctr(i) ≤ vj Can do a tighter analysis to show that algorithm is a 5 -approx. algorithm.
Open Questions • LP relaxation with a constant integrality gap? Strong formulations known for the 1 -client CFL problem. – extended flow cover inequalities of Padberg, Van Roy & Wolsey – covering inequalities of Carr, Fleischer, Leung & Phillips Can we use these to get a strong LP relaxation for CFL?
Thank You.
- Slides: 29