27
Primal-Dual Algorithms for Connected Facility Location Chaitanya Swamy Amit Kumar Cornell University

Primal-Dual Algorithms for Connected Facility Location

Embed Size (px)

DESCRIPTION

Primal-Dual Algorithms for Connected Facility Location. Chaitanya SwamyAmit Kumar Cornell University. Connected Facility Location (ConFL). Graph G=(V,E) , costs {c e } on edges and a parameter M ≥ 1. F : set of facilities . D : set of clients ( demands ). - PowerPoint PPT Presentation

Citation preview

Primal-Dual Algorithms for Connected Facility

Location

Chaitanya Swamy Amit KumarCornell University

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

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.

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

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.

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

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.

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.

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

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

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.

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.

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.

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.

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.

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.

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

ALADDIN Workshop, 10/2002

Execution of the algorithm

M=2, time t=2

f

not open location

tentatively openlocation

unfrozen demandfrozen demand

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

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 .

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

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.

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

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.

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.

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

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?