290 likes | 477 Views
LP-based Algorithms for Capacitated Facility Location. Chaitanya Swamy Joint work with Retsef Levi and David Shmoys Cornell University. Capacitated Facility Location (CFL). facility. 3. 2. 2. 3. client. 4. 3. F : set of facilities D : set of clients .
E N D
LP-based Algorithms for Capacitated Facility Location Chaitanya Swamy Joint work with Retsef Levi and David Shmoys Cornell University
Capacitated Facility Location (CFL) facility 3 2 2 3 client 4 3 F : set of facilities D : set of clients. Facility i has facility cost = fi capacity = ui cij : distance between points i and j
Choose a set A of facilities to open. • Assign client j to an open facility i(j). At mostuiclients may be assigned to i. open facility 3 2 3 4 Want to: Goal: Minimize total cost = ∑iÎA fi + ∑jÎDci(j)j = facility cost + client assignment cost 3 2 2 3 facility client 4 3
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 (ZCY04). Current best factor: 5.83 (ZCY04). 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 single-client 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 i xij,yi≥ 0 i, j yi : indicates if facility i is open. xij : indicates if client j is assigned to facility i. ui : capacity of facility i.
vj ri wij The Dual j cij Maximize ∑j vj – ∑i zi(CFL-D) subject to vj ≤ cij + wij + rii, j ∑i,j wij + uiri ≤ fi + zii vj, wij, zi, ri≥ 0 i, j Strong Duality: Primal and dual problems have same optimum value.
Single-Client CFL 4 3 3 2 ci 4 2 Demand = D Also called single-node fixed-charge problem. Minimize ∑i fi Yi + ∑i ciXi(SN-P) subject to ∑iXi≥ D Xi ≤ ui Yi i Yi ≤ 1 i Xi, Yi≥ 0 i Yi : indicates if facility i is open. Xi : demand assigned to facility i.
Can set Yi = Xi /ui, so (SN-P) º Minimize ∑i (fi /ui+ci)Xi subject to ∑iXi≥ D Xi ≤ ui 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 that0 < Yi < 1. Þ get integer solution of cost ≤OPTSN-P + maxi fi.
Algorithm Outline Let (x,y) : optimal primal solution • 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. • 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 atcenter k – get a 1-client CFL instance. • Solve instance to decide which other facilities to open from Nk. • Assign clients to open facilities.
A Sample Run 4 3 2 1 client facility with yi > 0
A Sample Run 4 3 2 1 client facility with yi > 0 cluster center Partition facilities in {i : yi > 0} into clusters.
A Sample Run 4 3 2 1 client facility with yi > 0 cluster center open facility Open each facility i with yi = 1.
A Sample Run 4 3 2 1 client facility with yi > 0 cluster center open facility Create 1-client CFL instances – move demand to cluster centers.
A Sample Run 4 3 2 1 client facility with yi > 0 cluster center open facility Create 1-client CFL instances by moving demand to cluster centers.
A Sample Run 4 3 2 1 client facility with yi > 0 cluster center open facility Solve the 1-client CFL instances to decide which facilities to open.
A Sample Run 4 3 2 1 client facility with yi > 0 open facility Assign clients to open facilities.
∑iÎNk yi≥ ½ ci,ctr(i) ≤ 3vj • Each cluster Nkhas wt(Nk) ≥ ½. • For every client j and facility iÎFj, ci,ctr(i) ≤ 3vj. 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 Form clusters iteratively. Clustering ensures the following properties:
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.
Cost of opening i with yi = 1, assigning ∑j xij units of demand to each such i. • Cost of 1-client CFL solutions. • Cost to move demand from cluster centers back tooriginal client locations. Overview (contd.) j Fj ctr(i) i • If iÎFj, then ci,ctr(i) ≤ 3vj, • wt(cluster)≥½ Rest is handled by the 1-client CFL solutions.
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).
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. open facility with yi = 1 cluster Nk facility in Lk k 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.
Cost of 1-client CFL solns. open facility with yi = 1 cluster Nk facility in Lk k 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 ofall 1-client CFL solutions ≤ ∑i:yi<1 (3fiyi + ∑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
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. Putting it all together Recall: for each iÎFj, ci,ctr(i) ≤ 3vj ∑i:yi<1 (fiyi + ∑j cijxij) = ∑j vj (∑i:yi<1 xij) 2) Cost of 1-client CFL solutions ≤ ∑i:yi<1 (3fiyi + ∑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 (3fi + ∑j cijxij) + ∑i:yi<1 (3fiyi + ∑j cijxij) + ∑j 6vj (∑i:yi<1 xij) ≤ 9(∑j vj – ∑i zi ) ≤ 9.OPT.
Improvement Clustering ensures that for every client j, an xij-weight of ≥ ½ is in facilities i such that ci,ctr(i) ≤ vj. j S ∑iÎS xij≥ ½ Fj For each iÎS, ci,ctr(i) ≤ vj Can do a tighter analysis to show that algorithm is a 5-approx. algorithm. Theorem: Get a 9-approximation algorithm for equal facility costs.
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?