![Page 1: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/1.jpg)
Primal-Dual Algorithms for Connected Facility
Location
Chaitanya Swamy Amit KumarCornell University
![Page 2: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/2.jpg)
ALADDIN Workshop, 10/2002
Connected Facility Location (ConFL)
F : set of facilities.D : set of clients(demands).
Facility i has facility cost fi.
cij : distance between i and j in V.
client
facility
Graph G=(V,E), costs {ce} on edges
and a parameter M ≥ 1.
node
![Page 3: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/3.jpg)
ALADDIN Workshop, 10/2002
We want to :
client
facility
Cost = iA fi + jD ci(j)j + M eT ce
= 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.
openfacility
1) Pick a set A of facilities to open.
![Page 4: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/4.jpg)
ALADDIN Workshop, 10/2002
•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, fi = 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
![Page 5: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/5.jpg)
ALADDIN Workshop, 10/2002
Our Results
•Give primal-dual algorithms with approx. ratios of 5 (F =V, fi = 0) and 9 (general case).
•Use this to solve the Connected k-Median problem, and an edge capacitated version of ConFL.
![Page 6: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/6.jpg)
ALADDIN Workshop, 10/2002
Rent-or-buy problem
Special case with F =V and fi = 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 = Mce.
Shortest paths : cost of e = ce(demand through e).
fOpen facility
![Page 7: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/7.jpg)
ALADDIN Workshop, 10/2002
Equivalently,
Want to route traffic from clients to f by installing capacity on edges.
2 choices :
I : Rent Capacitycost rented capacity (Shortest Paths)
II : Buy Capacityfixed cost, ∞ capacity (Steiner Tree)
M
cost cost
capacity
capacity
ConFL single-sink buy-at-bulk problem with 2 cable types and sink f.
![Page 8: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/8.jpg)
ALADDIN Workshop, 10/2002
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*
C*
OPTC*, S* : assignment, Steiner cost of OPT.
![Page 9: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/9.jpg)
ALADDIN Workshop, 10/2002
An Integer Program
xij = 1 if demand j is assigned to i.
ze = 1 if edge e is included in the Steiner tree.
Min. j,i cijxij + M e ceze (primal)
s.t.
i xij ≥ 1 j
iS xij ≤ e(S) ze
S V : fS, j
xij, ze {0, 1} (1)
Relax (1) to xij, ze ≥ 0 to get an LP.
f
S j
![Page 10: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/10.jpg)
ALADDIN Workshop, 10/2002
What is the dual?
vj amount j is willing to ‘pay’ to route its demand to f.
Let yS = j yS,j.
{yS } moat packing around facilities.
vj ≤ cij + S:iS,fS yS,j
Any feasible dual solution is a lower bound on OPT – Weak Duality.
Max. j vjcij
j
f
S:e(S),fS yS ≤ Mce
![Page 11: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/11.jpg)
ALADDIN Workshop, 10/2002
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. ci(j)j ≤ 3vj.
•Each open facility i has ≥ M clients, {j}, assigned to it s.t. cij ≤ vj.
![Page 12: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/12.jpg)
ALADDIN Workshop, 10/2002
Analysis
Suppose the 3 properties hold.
Let A be the set of facilities opened,Di = {j assigned to i : cij ≤ vj } for iA.
Then, |Di| ≥ M. Let D1 = UiA Di.
can amortize the cost against demands in Di.
≥ M
Di
So, S ≤ 2(S*+ C* + jD1 vj).
i
C ≤ jD1 vj + jD1 3vj.
![Page 13: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/13.jpg)
ALADDIN Workshop, 10/2002
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*
C*
OPTC*, S* : assignment, Steiner cost of OPT.
![Page 14: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/14.jpg)
ALADDIN Workshop, 10/2002
Analysis
Suppose the 3 properties hold.
Let A be the set of facilities opened,Di = {j assigned to i : cij ≤ vj } for iA.
Then, |Di| ≥ M. Let D1 = UiA Di.
Total cost ≤ 2(S*+ C*) + 3 jD vj
≤ 5 OPT.
can amortize the cost against demands in Di.
≥ M
Di
So, S ≤ 2(S*+ C* + jD1 vj).
i
C ≤ jD1 vj + jD1 3vj.
![Page 15: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/15.jpg)
ALADDIN Workshop, 10/2002
Phase 1
Simplifying assumption – can open a facility anywhere along an edge.
locations
Notion of time, t. Start at t=0.
Initially vj = 0, j. f is tentatively open, all other locations are closed.
Say j is tight with i (has reached i) if vj ≥ cij.
Sj is set of vertices j is tight with.
![Page 16: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/16.jpg)
ALADDIN Workshop, 10/2002
Keep raising vjs 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 vj of unfrozen demands. Continue this process until all demands are frozen.
Raise all vj at rate 1. Also raise ySj,j
at same rate.
![Page 17: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/17.jpg)
ALADDIN Workshop, 10/2002
Execution of the algorithm
not open location
tentatively openlocation
unfrozen demand
M=2, time t=0
f
M=2, time t=1
![Page 18: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/18.jpg)
ALADDIN Workshop, 10/2002
Execution of the algorithm
M=2, time t=2
f
not open location
tentatively openlocation
unfrozen demandfrozen demand
![Page 19: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/19.jpg)
ALADDIN Workshop, 10/2002
Execution of the algorithm
M=2, time t=3
f
frozen demand
not open location
tentatively openlocation
unfrozen demand
j
vj=t=3
![Page 20: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/20.jpg)
ALADDIN Workshop, 10/2002
Opening locations
Let i be tentatively open.
Di = {j : j is tight with i }.
ti = time when i was tent’vely opened.
Note, |Di| ≥ M. But the Dis may not be disjoint.
4
2
31
0f
Consider locations in order of ti. 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
Di Dl .
![Page 21: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/21.jpg)
ALADDIN Workshop, 10/2002
Assigning clients
Consider client j.
jk
il
i is tentatively open and caused j to get frozen j is tight with i.
i and l are dependent, tl ≤ ti 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)
ji
![Page 22: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/22.jpg)
ALADDIN Workshop, 10/2002
i(j) = location that j is assigned to.
1) ci(j)j ≤ vj.
2) ci(j)j ≤ vj+ 2vk.
vj ≥ ti since j freezes at or after time ti.
Also vk ≤ ti .
So vk ≤ vj and ci(j)j ≤ 3vj.For every open i, all clients in Di are assigned to i.
|Di| ≥ M, so at least M demands {j} are assigned to i with cij ≤ vj.
![Page 23: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/23.jpg)
ALADDIN Workshop, 10/2002
Putting it together
Need to show that (v,y) is feasible.
j( S yS,j) =
pe (# of across p)
≤ pe M = Mce.
j S:e(S),fS yS,j ≤ Mce
M=3
≤ M at any location
e
vj ≤ cij + S:iS,fS yS,j
Once j reaches i, set Sj includes i and ySj,j
is
increasing at same rate as vj.
vj
cij
ji
Sj
![Page 24: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/24.jpg)
ALADDIN Workshop, 10/2002
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.
![Page 25: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/25.jpg)
ALADDIN Workshop, 10/2002
The General Case
• F V : Cannot open a facility everywhere.
•Facilities have costs : Want to open cheap facilities.
Modified Phase 1
1) Dual variables, vj, 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.
![Page 26: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/26.jpg)
ALADDIN Workshop, 10/2002
Let A be the set of terminal locations,
Di = {j : cij ≤ vj } for iA.
We ensure |Di| ≥ M. Let D1 = UiA
Di.
Total cost ≤ 2(S*+ C*) + 7 jD vj
≤ 9 OPT.
≥ M
Di
S ≤ jD1 2vj +
Can show, F + C ≤ jD1 3vj + jD1 7vj.
≤ 2 minjDi
vj
open facility
2(S*+ C* + jD1 vj).
i
![Page 27: Primal-Dual Algorithms for Connected Facility Location](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813d58550346895da71e50/html5/thumbnails/27.jpg)
ALADDIN Workshop, 10/2002
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 fiyi + j,i cijxij + e deze. Can reduce from group Steiner tree – get a O(log2 n) LB. Matching UB?