Facility Location with Service Installation Costs
-
Upload
rhiannon-briallen -
Category
Documents
-
view
47 -
download
0
description
Transcript of Facility Location with Service Installation Costs
Facility Location with Service Installation
Costs
Chaitanya Swamy
Joint work with David Shmoys and Retsef Levi
Cornell University
SODA Talk, 01/2004
Facility Location
F : set of facilities.D : set of clients.
Facility i has facility cost fi.
cij : distance between points i and j.
client
facility
SODA Talk, 01/2004
Facility Locationwith 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.
facility
client
services
SODA Talk, 01/2004
2) Install a set of services S(i) on each open facility i.
We want to:
Cost = ∑iA fi + ∑iA, sS(i) fi,s + ∑jD ci(j)j
= facility opening cost + service installation cost + client assignment cost
facility
client
services
3) Assign each client j to an open facility i(j) on which service s(j) is installed.
1) Choose a set A of facilities to open.
open facility
SODA Talk, 01/2004
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 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∑i xij ≥ 1 j
xij ≤ yi,s(j) i, j
xij ≤ yi i, j
xij, yi ≥ 0 i, j
yi : 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
∑i,jD(s) zij ≤ fi,s i, s
The Dual
D(s) = clients requiring service s
∑i,j wij ≤ fi i
cij
zij
wij
vj, wij, zij ≥ 0 i, j
Maximize ∑j vj
subject tovj ≤ cij + wij + zij i, j
vj
j
SODA Talk, 01/2004
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
unfrozen client
not openfacility
a
c
d
b
SODA Talk, 01/2004
Raise all vj at rate 1.
t=0
unfrozen client
not openfacility
a
c
d
b
SODA Talk, 01/2004
t=1
unfrozen client
not openfacility
fd,s = 2 for all services s.
fc,green = 2.
SODA Talk, 01/2004
t=2
unfrozen client
not openfacility
fd,s = 2 for all services s.
fc,green = 2.
If vj ≥ cij say that j is tight with i.
j becomes tight with i and s(j) is not installed on i: start increasing zij.
SODA Talk, 01/2004
t=3
unfrozen client
not openfacility
fd,s = 2 for all services s.
fc,green = 2.
For some i, service s, ∑i,jD(s) zij = fi,s: tentatively install s on i, start raising wij for all j in D(s) tight with i.
SODA Talk, 01/2004
unfrozen client
not openfacility
t=4
unfrozen client
not openfacilitytentativelyopen facility
frozenclient
fd,s = 2 for all services s.
fc,green = 2.
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.
SODA Talk, 01/2004
t=5
unfrozen client
not openfacilitytentativelyopen facility
frozenclient
fd,s = 2 for all services s.
fc,green = 2.
When all demands are frozen, process stops.
SODA Talk, 01/2004
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,jD(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
a
c
d
b
X
X
Say i, i’ are dependent if there is client j s.t. wij, wi’j > 0.
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’.
Let O: ordering on facilities.
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
X F’ = facilities opened.
SODA Talk, 01/2004
X
X
Installing services
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
F’ = facilities opened.
SODA Talk, 01/2004
X
X
Installing services
For each i in F’s, if iF’ install service s on i, otherwise install s on nbr(i).
F’ = facilities opened.
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
SODA Talk, 01/2004
Installing services
For each i in F’s, if iF’ install service s on i, otherwise install s on nbr(i).
F’ = facilities opened.
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
X
X
SODA Talk, 01/2004
Installing services
For each i in F’s, if iF’ install service s on i, otherwise install s on nbr(i).
F’ = facilities opened.
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
X
X
SODA Talk, 01/2004
Installing services
F’ = facilities opened.
For each i in F’s, if iF’ install service s on i, otherwise install s on nbr(i).
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
X
X
SODA Talk, 01/2004
X
X
Installing services
For each i in F’s, if iF’ install service s on i, otherwise install s on nbr(i).
F’ = facilities opened.
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
SODA Talk, 01/2004
X
X
Installing services
For each i in F’s, if iF’ install service s on i, otherwise install s on nbr(i).
F’ = facilities opened.
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 jD(s) s.t. zij, zi’j > 0. Carefully pick a maximal independent set F’s Fs.
SODA Talk, 01/2004
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}.
Facility opening cost ≤ ∑jD’ vj.
Service installation cost ≤ ∑j vj.
Can show that the assignment cost of j is at most 3vj if jD’ and at most 5vj otherwise.
SODA Talk, 01/2004
Analysis sketch
Let D’ = {j: i in F’ s.t. wij > 0}.
Facility opening cost ≤ ∑jD’ vj.
Service installation cost ≤ ∑j vj.
Can show that the assignment cost of j is at most 3vj if jD’ and at most 5vj otherwise.
Theorem: Total cost ≤ 6●∑j vj ≤ 6●OPT.
SODA Talk, 01/2004
Thank You.