26
ESA 2003 M. Pál. Universal Facilit y Location 1 Universal Facility Location Mohammad Mahdian MIT Martin Pál Cornell University

Universal Facility Location

  • Upload
    davis

  • View
    18

  • Download
    0

Embed Size (px)

DESCRIPTION

Universal Facility Location. Mohammad Mahdian MIT. Martin P ál Cornell University. Metric Facility Location. F is a set of facilities . D is a set of clients . c ij is the distance between any i and j in D  F . (assume c ij satisfies triangle inequality). 0. 4. 3. - PowerPoint PPT Presentation

Citation preview

Page 1: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 1

Universal Facility Location

Mohammad Mahdian

MIT

Martin Pál Cornell University

Page 2: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 2

Metric Facility LocationF is a set of facilities.D is a set of clients.cij is the distance between any i and j in D

F.(assume cij satisfies triangle inequality)

Page 3: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 3

Problem Statement1) Allocate capacity ui at each facility i

4

5

0

3

2) Assign every client to a facility (each facility i is assigned at most ui clients). Goal: Minimize the sum of allocation and assignment costs.

Page 4: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 4

The costCost of facility i is a function

fi(.) of demand allocated.

capacity

cost

fi(ui)

Assptn: fi(.) is nondecreasing.

Allocation cost cf(S): sum of

fi(ui) over all i in F.

Assignment cost cs(S): sum of distances from clients to assigned facilities.

Goal: Minimize cf(S) + cs(S).

Page 5: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 5

Special cases

demand

cost

Uncapacitated FL

cost

demandFL with soft capacities

demand

cost

Concave cost FL

cost

demand

FL with hard capacities

Page 6: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 6

Related work

Uncapacitated: primal-dual 1.52 [MYZ02] local search 3+ [CG99]

Soft capacities: primal-dual 2 [MYZ03] local search 4+ [AGK+01]

Concave cost: reduction to uncapacitated [HMM]

Hard capacities: local search 9+ [PTW01]

Page 7: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 7

Our result

First approximation algorithm for Universal FL

Generalizes local search algorithms for above special cases, with the same approx. guarantees

Our analysis: 8+ approximation (7.88 w. scaling)[CYZ] just claimed improved analysis: 7+

Page 8: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 8

Local Search

1) Start with any feasible solution.

2) Improve solution with “local operations”.

3) Stop when there are no remaining operations that lower the cost.

Well, almost… …we want to finish in poly-time:

Each operation is required to lower cost by a factor of /n.

Page 9: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 9

The add operationadd(s,) – Increase allocation at facility s by .

Reassign clients optimally.

Given u=(u1,u2 ,..., un), where do we send clients?

Solve a min cost flow.

11 1

us

+1=2

Page 10: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 10

The pivot operation

4

2

0

3

pivot(s,Δ): Pick a pivot point s and vector Δ.

For each facility i:

•Send -Δi units of demand from i to s (if Δi<0)

•Send +Δi units of demand from s to i (if Δi>0)s

Page 11: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 11

3

3

2

1

The pivot operationpivot(s,Δ): Pick a pivot point s and vector Δ.

For each facility i:

•Send -Δi units of demand from i to s (if Δi<0)

•Send +Δi units of demand from s to i (if Δi>0)

Page 12: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 12

Finding good operations

Want operations that decrease cost the most.

Plan: Try every s, find the best and Δ for add(s,) and pivot(s,Δ).

Easy to do for add: try all values for .

Too many possibilities for Δ to try them all. How to find the best pivot operation?

Page 13: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 13

How to find a good pivot?

Problem: find Δ to minimize cost(pivot(s,Δ)).

Consider facilities in any order.

Let p[d,i] be the min cost way of having d excess demand at the pivot from the first i facilities.

p[d,i+1] = min{ p[d-,i]+gi+1() }

p[0,n] is the optimum

Solution: dynamic programming, just like knapsack.

Page 14: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 14

Analysis

Page 15: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 15

Assignment cost

Thm: [Korupolu et al]

If no add(s,) op. improves a solution S,

cs(S) ≤ cs(SOPT) + cf(SOPT).

2 01

0

Current sol S1 10

1

Optimum SOPT

2 11

1

Max(ui,uiOPT)

Page 16: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 16

Bounding the allocation cost

Bounding cf(S):

Local opt. cost(pivot(s,Δ)) ≥ 0 for any s, Δ.

Every operation gives a bound:

Σi fi(ui) ≤ Σi fi(ui + Δi) + flow cost

upper bound on cf(S) lower bound on cf(SOPT)

Page 17: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 17

First attempt

Take current S with some SOPT: let di = uiOPT - ui.

sources di < 0.

sinks di > 0.

20

12

20

03

Reassignment costs may be high.

try pivot(s,d)

Page 18: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 18

Second attempt

Take current S with some SOPT: let di = uiOPT - ui.

di < 0.

di > 0.

20

12

20

03

try swap(d): routing along min cost flow

Don’t have a swap operation.

sources

sinks

Flow is cheap: cost(y) ≤ cs(S) + cs(SOPT)

Page 19: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 19

What works

Take the swap(d) operation, let y be the flow.

Tile it with pivot operations so that:

•each source covered (at least) once

•each sink used at most k times (k=4)

•each pivot ships only along flow edges

Page 20: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 20

What works

Take the swap(d) operation, let y be the flow.

di < 0.

di > 0.

0

12

20

03

Example: flow decomposed into two pivot op’s.

sources

sinks

Page 21: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 21

The flow y

Fact 1: cost(y) ≤ cs(S)+cs(SOPT)

Pf: use triangle inequality

Fact 2: y is min cost acyclic

Pf: augment along cycle to remove it

I.e. the flow is a tree (forest).

Page 22: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 22

Covering the tree

sources

sinks

Page 23: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 23

Subtrees of depth 2

sourcessinks

Page 24: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 24

Almost done..

Every source closed once

Every sink used ≤ 1+1=2 times(once as root, once as child)

Problem: flow cost

is nondominating if it sends ≥ ½ of its flow down.

Page 25: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 25

Nondominating sources

...

r

s1 s2 s3 sk

y(s1,r) ≤ y(s2,r) ≤ y(s3,r) ≤ ... ≤ y(sk,r)

Page 26: Universal Facility Location

ESA 2003 M. Pál. Universal Facility Location 26

Summing up

Every facility opened 4 times

Flow at most tripled

cf(S) ≤ 7c(SOPT)

cs(S) ≤ 1c(SOPT)Assignment cost

Hence the algorithm is a (8+є)-approximation.

(7.88+є with scaling)

Total c(S) ≤ 8c(SOPT)