ClassW04ApproxAlgs/WojciechJawor

Top | ClassW04ApproxAlgs | recent changes | Preferences

Difference (from prior author revision) (major diff, minor diff)

Added: 0a1

3-Approximation Algorithm for Uncapacited Facilty Location




Changed: 8c9
opening the facility i and c(i,j) is the cost of connecting
opening the facility i and c(i,j) be the cost of connecting

Changed: 12c13
-> I\) assigning cities to open facilities in such a way that
-> I\) assigning (connecting) cities to open facilities in such a way that

Changed: 19,20c20,21
equal to 1 iff facility i is open, and let x(i,j) be an
indicator variable iff facility i is connected to city j.
equal to 1 iff facility i is open and 0 otherwise. Let x(i,j) be an
indicator variable equal to 1 iff facility i is connected to city j and 0 otherwise.

Removed: 27d27
s.t

Changed: 32c32
x(i,j) ∈ {0,1} i ∈ F, j∈ C
x(i,j),y(i) ∈ {0,1} i ∈ F, j∈ C

Removed: 34d33
y(i) ≥ 0 i ∈ F

Removed: 42,43d40
s.t


Changed: 48,50c45
x(i,j) ≥ 0 i ∈ F, j∈ C

y(i) ≥ 0 i ∈ F
x(i,j),y(i) ≥ 0 i ∈ F, j∈ C

Removed: 58,59d52
s.t


Changed: 62,64c55
j ∈ Cβij ≤ f(i) i ∈ F

αj ≥ 0 j∈ C
j ∈ C βij ≤ f(i) i ∈ F

Changed: 66c57
βij ≥ 0 i ∈ F,j∈ C
αj, βij ≥ 0 j∈ C, i ∈ F

Changed: 71,72c62,63
phase we declare some facilities to be open temporarily, in the
second phase we shut some of the down.
phase we open some facilities temporarily; in the
second phase we shut some of them down.

Changed: 78c69
αi = 0 for all i, and raise the variables gradually.
αi, βij = 0 for all i,j, and raise the variables αj gradually.

Changed: 85,87c76,78
Facility i is paid for if j βij=f(i). Such
facilities are declared temporarily open, and unconnected cities
with tight edges get connected to facility i. The facility i
Facility i is paid for if j βij=f(i). If a facilities i is paid for, it is opened temporarily,
and unconnected cities
with tight edges are connected (assigned) to i. The facility i

Changed: 99,100c90,94
phase we ensure that a city only pays for opening facilities to
which it is eventually connected.
phase we ensure that a city only pays for opening facility it is eventually connected to.
(Can you find an example that shows
that the second phase is really needed - that is - the algorithm is not
a 3-approximation algorithm w/o the second phase.
How bad can the approximation ratio get without the second phase?)

Changed: 102c96
Let Ft denote the set of temporarily open facilities and T
Let Ft denote the set of facilities that are temporarily opened and T

Changed: 115c109
i in graph H such that i' ∈ I. Connect i to j and
i in graph H such that i' ∈ I. Connect i' to j and

Added: 116a111,140

Analysis




The algorithm constructs a feasible solution (x,y) to the primal, and a feasible solution (α, β) to the dual. It is enough to show that
cost(x,y) ≤ 3cost(α, β) , this will imply that the approximation ration of the algorithm is 3.

If a city j is connected directly to facilty i, then set αfj = βij and αej = c(i,j) . If a city j is connected indirectly then set
αfj = 0 and αej = αj . Clearly, for all cities αj = αfj + αej .

First we show that if i ∈ I, then j:φ(j)=i αfj =fi. Indeed, since the facility i must be fully paid for, we have
j:(i,j) is special βj =fi. Since only cities connected directly to j pay for it, and for these cities αfj = βj , the claim follows. The claim immediatelly implies that j ∈ C αfj =i ∈ I fi.

If a city is connected directly then c(i,j) = αej . We will now show that for an indirectly connected city j to i c(i,j) ≤ 3 αej . Let j be an indirectly connected city, and let i' be the facility j is connected to (we use the notation from the algorithm). Let j' <> j be any city connected to i' (j' must exists, since j does not pay for the facility) and let i be the facility j was connected to in the first phase. It is enought to show that αej ≥ c(i, j), c(i, j'), c(i', j') . First observe that αej > c(i, j) and that αej' > c(i, j'), c(i',j) since all these edges are special. It remains to show that αej > αej' . This inequality holds because city j' was connected to i' before j was connected to i. (Since otherwise j' would be connected to i, not i'.)

i' *---* j'
/
/
/
/
i *---* j

Using the results from the two last paragraphs, we have

i ∈ F, j ∈ C c(i,j)x(i,j) + i ∈ F f(i)y(i) ≤ i ∈ F, j ∈ C c(i,j)x(i,j) + 3i ∈ F f(i)y(i) ≤ i,j: j = φ(i) c(i,j) + 3 i ∈ I f(i) ≤ 3 i,j: j = φ(i) αej + 3 j ∈ C αfj ≤ 3 j αj




References:

* Primal-Dual Approximation Algorithms for Metric Facility Location and k-Median Problems. http://citeseer.nj.nec.com/3752.html

3-Approximation Algorithm for Uncapacited Facilty Location

Chapter 24 in the text.

Problem

We are given a bipartite graph G=(F,C;E) where F is the set of facilities and C is the set of cities (aka customers). Let f(i) be a cost of opening the facility i and c(i,j) be the cost of connecting facility i to city j. The connection costs satisfy the triangle inequality. The problem is to find a subset I ⊆ F of facilities that should be opened, and a function φ:C -> I assigning (connecting) cities to open facilities in such a way that a total cost of opening the facilities and connecting the cities is minimized.

LP formulation

Let y(i) be an indicator variable equal to 1 iff facility i is open and 0 otherwise. Let x(i,j) be an indicator variable equal to 1 iff facility i is connected to city j and 0 otherwise. Consider the following integer program for the problem

IP

minimize i,j c(i,j)x(i,j) + i f(i)y(i)

i ∈ F x(i,j) ≥ 1 j∈ C

y(i)-x(i,j) ≥ 0 i ∈ F, j∈ C

x(i,j),y(i) ∈ {0,1} i ∈ F, j∈ C

Primal

The LP-relaxation of the program is

minimize i,j c(i,j)x(i,j) + i f(i)y(i)

i ∈ F x(i,j) ≥ 1 j∈ C

y(i)-x(i,j) ≥ 0 i ∈ F, j∈ C

x(i,j),y(i) ≥ 0 i ∈ F, j∈ C

Dual

The dual program is

maxizmize j ∈ C αj

αj - βij ≤ c(i,j) i ∈ F, j∈ C

j ∈ C βij ≤ f(i) i ∈ F

αj, βij ≥ 0 j∈ C, i ∈ F

Algorithm

Algorithm runs in 2 phases. In the first phase we open some facilities temporarily; in the second phase we shut some of them down.

Phase 1.

We want the dual solution to be as large as possible. This motivates the following approach. We start from αi, βij = 0 for all i,j, and raise the variables αj gradually. When αj = c(i,j) for some edge (i,j), the algorithm will declare this edge to be tight. From now on to keep the solution feasible we will have to raise variable βij. We will say that an edge (i,j) is special if βij > 0.

Facility i is paid for if j βij=f(i). If a facilities i is paid for, it is opened temporarily, and unconnected cities with tight edges are connected (assigned) to i. The facility i is a connecting witness for those cities. In the future if an edge connecting a temporarily open facility i and a city j gets tight we connect facility i to j, and i becomes the connecting witness (note that in this case βij = 0 and the edge is not special). The first phase terminates when all cities get connected.

Phase 2.

Note that in the first phase, a city might have paid for opening a facility it is not connected to. In the next phase we ensure that a city only pays for opening facility it is eventually connected to. (Can you find an example that shows that the second phase is really needed - that is - the algorithm is not a 3-approximation algorithm w/o the second phase. How bad can the approximation ratio get without the second phase?)

Let Ft denote the set of facilities that are temporarily opened and T denote the subgraph of G with special edges. Let H be the subgraph of T2 induced on Ft. Find maximal independent set in H, say I. The facilities in I are opened.

Now we need to connect cities to the opened facilities. For a city j, define Mj={i ∈ Ft: (i,j) is special}. For a city j if there is an opened facility in Mj we connect j to it. We call j directly connected. Otherwise, consider a city j and a facility i such that i was a connecting witness for j. If i ∈ I we connect i to j (direct connection) again (note that in this case the edge (i,j) is not special). In the remaining case let i' be any neighbor of i in graph H such that i' ∈ I. Connect i' to j and declare j indirectly connected.

Analysis

The algorithm constructs a feasible solution (x,y) to the primal, and a feasible solution (α, β) to the dual. It is enough to show that cost(x,y) ≤ 3cost(α, β) , this will imply that the approximation ration of the algorithm is 3.

If a city j is connected directly to facilty i, then set αfj = βij and αej = c(i,j) . If a city j is connected indirectly then set αfj = 0 and αej = αj . Clearly, for all cities αj = αfj + αej .

First we show that if i ∈ I, then j:φ(j)=i αfj =fi. Indeed, since the facility i must be fully paid for, we have j:(i,j) is special βj =fi. Since only cities connected directly to j pay for it, and for these cities αfj = βj , the claim follows. The claim immediatelly implies that j ∈ C αfj =i ∈ I fi.

If a city is connected directly then c(i,j) = αej . We will now show that for an indirectly connected city j to i c(i,j) ≤ 3 αej . Let j be an indirectly connected city, and let i' be the facility j is connected to (we use the notation from the algorithm). Let j' <> j be any city connected to i' (j' must exists, since j does not pay for the facility) and let i be the facility j was connected to in the first phase. It is enought to show that αej ≥ c(i, j), c(i, j'), c(i', j') . First observe that αej > c(i, j) and that αej' > c(i, j'), c(i',j) since all these edges are special. It remains to show that αej > αej' . This inequality holds because city j' was connected to i' before j was connected to i. (Since otherwise j' would be connected to i, not i'.)

  i' *---* j'
        /
       /
      /
     /
  i *---* j

Using the results from the two last paragraphs, we have

i ∈ F, j ∈ C c(i,j)x(i,j) + i ∈ F f(i)y(i) ≤ i ∈ F, j ∈ C c(i,j)x(i,j) + 3i ∈ F f(i)y(i) ≤ i,j: j = φ(i) c(i,j) + 3 i ∈ I f(i) ≤ 3 i,j: j = φ(i) αej + 3 j ∈ C αfj ≤ 3 j αj


References:


Top | ClassW04ApproxAlgs | recent changes | Preferences
This page is read-only | View other revisions
Last edited February 24, 2004 3:49 pm by ruby.cs.ucr.edu (diff)
Search: