Facility Location with Service Installation Costs Chaitanya Swamy

  • Slides: 30
Download presentation
Facility Location with Service Installation Costs Chaitanya Swamy Joint work with David Shmoys and

Facility Location with Service Installation Costs Chaitanya Swamy Joint work with David Shmoys and Retsef Levi Cornell University SODA Talk, 01/2004

Facility Location facility client F : set of facilities. D : set of clients.

Facility Location facility client F : set of facilities. D : set of clients. Facility i has facility cost fi. cij : distance between points i and j. SODA Talk, 01/2004

Facility Location with Services facility client services F : set of facilities. D :

Facility Location with Services facility client services F : set of facilities. D : set of clients. S : set of services={tan, green, pink}. Facility i has facility cost fi. cij : distance between points i and j. Client j requires service s(j). fi, s : cost of installing service s at fac. i. SODA Talk, 01/2004

We want to: 1) Choose a set A of facilities to open. 2) Install

We want to: 1) Choose a set A of facilities to open. 2) Install a set of services S(i) on each open facility i. 3) Assign each client j to an open facility i(j) on which service s(j) is installed. Cost = ∑iÎA fi + ∑iÎA, sÎS(i) fi, s + ∑jÎD ci(j)j = facility opening cost + service installation cost + client assignment cost open facility client services SODA Talk, 01/2004

Related Work Only one service º uncapacitated facility location • LP rounding: Shmoys, Tardos

Related Work Only one service º uncapacitated facility location • LP rounding: Shmoys, Tardos & Aardal; • Chudak & Shmoys; Sviridenko. Primal-dual algorithms: Jain & Vazirani; Jain, Mahdian, Markakis, Saberi & Vazirani. Best approx. - Mahdian, Ye & Zhang: 1. 52 Baev & Rajaraman consider related caching problem: No facility costs, capacity on the number of services that may be installed at a facility. Gave a 20. 5 approx. algorithm, improved to 10 by (S). Ravi & Sinha consider similar model – multicommodity facility location. Give a log(|S|)-approx. algorithm. SODA Talk, 01/2004

Our Results • Give a 6 -approx. primal-dual algorithm. Assume facilities can be ordered

Our Results • Give a 6 -approx. primal-dual algorithm. Assume facilities can be ordered s. t. if i ≤ i’, then fi, s ≤ fi’, s for all services s. Special cases: § fi, s = hs – depends only on s § fi, s = gi – depends only on i General problem is set-cover hard. • When fi, s = hs primal-dual gives a 5 - approx. Improve ratio to 2. 391 using LP rounding. • Consider k-median variant: give a 11. 6 -approx. when fi, s = hs using primal-dual+Lagrangian relaxation. SODA Talk, 01/2004

LP formulation Minimize ∑i fiyi+∑i, s fi, syi, s+∑j, i cijxij (Primal) subject to

LP formulation Minimize ∑i fiyi+∑i, s fi, syi, s+∑j, i cijxij (Primal) subject to ∑i xij ≥ 1 yi j xij ≤ yi, s(j) i, j xij ≤ yi i, j xij, yi ≥ 0 i, j : indicates if facility i is open. yi, s : indicates if service s is installed on facility i. xij : indicates if client j is assigned to facility i. s(j) : service required by j. SODA Talk, 01/2004

The Dual vj wij zij cij j D(s) = clients requiring service s Maximize

The Dual vj wij zij cij j D(s) = clients requiring service s Maximize ∑j vj subject to vj ≤ cij + wij + zij ∑i, jÎD(s) zij ≤ fi, s i, j i, s ∑i, j wij ≤ fi i vj, wij, zij ≥ 0 i, j SODA Talk, 01/2004

Algorithm Outline Based on the primal-dual method. Any feasible dual solution is a lower

Algorithm Outline Based on the primal-dual method. Any feasible dual solution is a lower bound on OPT - Weak Duality. 1) Construct primal solution and dual solution simultaneously. 2) Bound cost of primal by c●(dual value) Þ get a c-approx. Algorithm strongly motivated by the Jain-Vazirani algorithm. Notion of time, t. Initially, t=0, all dual variables vj, zij, wij are 0. No facility is open, no service is installed. SODA Talk, 01/2004

fd, s = 2 for all services s. fc, green = 2. t=0 d

fd, s = 2 for all services s. fc, green = 2. t=0 d a c b not open facility unfrozen client SODA Talk, 01/2004

Raise all vj at rate 1. t=0 d a c b not open facility

Raise all vj at rate 1. t=0 d a c b not open facility unfrozen client SODA Talk, 01/2004

fd, s = 2 for all services s. fc, green = 2. t=1 not

fd, s = 2 for all services s. fc, green = 2. t=1 not open facility unfrozen client SODA Talk, 01/2004

If vj ≥ cij say that j is tight with i. fd, s =

If vj ≥ cij say that j is tight with i. fd, s = 2 for all services s. j becomes tight with i and s(j) is not fc, green = 2. installed on i: start increasing zij. t=2 not open facility unfrozen client SODA Talk, 01/2004

For some i, service s, ∑i, jÎD(s) zij = fi, s: ftentatively = 2

For some i, service s, ∑i, jÎD(s) zij = fi, s: ftentatively = 2 for all services s. d, s install s on i, start raising fwc, green = 2. j in D(s) tight with i. for all ij t=3 not open facility unfrozen client SODA Talk, 01/2004

For some i, ∑i, j wij = fi : tentatively fd, s = 2

For some i, ∑i, j wij = fi : tentatively fd, s = 2 for all services s. open i, if j is tight with i and s(j) is fc, green = 2. tentatively installed at i, freeze j. t=4 not open facility tentatively open facility unfrozen client SODA Talk, 01/2004

fd, s = for all services s. When all 2 demands are frozen, process

fd, s = for all services s. When all 2 demands are frozen, process fc, green = stops. 2. t=5 not open facility tentatively open facility unfrozen client SODA Talk, 01/2004

The Primal-Dual process Keep raising all vj at rate 1 until: 1) j reaches

The Primal-Dual process Keep raising all vj at rate 1 until: 1) j reaches facility i: if s(j) is not tentatively installed at i, increase zij; else, if i is not tentatively open, raise wij; otherwise freeze j. 2) For some i and s, ∑i, jÎD(s) zij = fi, s: tentatively install s on i. If i is not tentatively open raise wij for all j in D(s) tight with i, else freeze j. 3) For some i, ∑i, j wij = fi : tentatively open i. If j is tight with i and s(j) is tentatively installed at i, freeze j. Now only raise vj of unfrozen demands. Continue until all demands are frozen. SODA Talk, 01/2004

Opening facilities X a d Xc b Say i, i’ are dependent if there

Opening facilities X a d Xc b Say i, i’ are dependent if there is client j s. t. wij, wi’j > 0. Let O: ordering on facilities. Suppose O is a ≤ b ≤ c ≤ d. Consider tentatively open facilities in this order, pick a maximal independent subset. Open all these facilities – call this set F’. i tentatively open, not opened Þ there is i’ s. t. i’ ≤ i and i, i’ are dependent. Denote i’ = nbr(i). SODA Talk, 01/2004

Installing services X F’ = facilities opened. X SODA Talk, 01/2004

Installing services X F’ = facilities opened. X SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. For each i in F’s, if iÎF’ install service s on i, otherwise install s on nbr(i). SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. For each i in F’s, if iÎF’ install service s on i, otherwise install s on nbr(i). SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. For each i in F’s, if iÎF’ install service s on i, otherwise install s on nbr(i). SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. For each i in F’s, if iÎF’ install service s on i, otherwise install s on nbr(i). SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. For each i in F’s, if iÎF’ install service s on i, otherwise install s on nbr(i). SODA Talk, 01/2004

Installing services X F’ = facilities opened. X Consider service s. Let Fs =

Installing services X F’ = facilities opened. X Consider service s. Let Fs = tentatively open facilities where service s is tentatively installed. Say i, i’ are s-dependent if there is a client jÎD(s) s. t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Í Fs. For each i in F’s, if iÎF’ install service s on i, otherwise install s on nbr(i). SODA Talk, 01/2004

Finally, Client j is assigned to the nearest open facility on which service s(j)

Finally, Client j is assigned to the nearest open facility on which service s(j) is installed. SODA Talk, 01/2004

Analysis sketch Let D’ = {j: $i in F’ s. t. wij > 0}.

Analysis sketch Let D’ = {j: $i in F’ s. t. wij > 0}. Facility opening cost ≤ ∑jÎD’ vj. Service installation cost ≤ ∑j vj. Can show that the assignment cost of j is at most 3 vj if jÎD’ and at most 5 vj otherwise. SODA Talk, 01/2004

Analysis sketch Let D’ = {j: $i in F’ s. t. wij > 0}.

Analysis sketch Let D’ = {j: $i in F’ s. t. wij > 0}. Facility opening cost ≤ ∑jÎD’ vj. Service installation cost ≤ ∑j vj. Can show that the assignment cost of j is at most 3 vj if jÎD’ and at most 5 vj otherwise. Theorem: Total cost ≤ 6●∑j vj ≤ 6●OPT. SODA Talk, 01/2004

Thank You. SODA Talk, 01/2004

Thank You. SODA Talk, 01/2004