Upload
davis
View
18
Download
0
Tags:
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
ESA 2003 M. Pál. Universal Facility Location 1
Universal Facility Location
Mohammad Mahdian
MIT
Martin Pál Cornell University
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)
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.
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).
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
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]
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+
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.
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
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
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)
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?
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.
ESA 2003 M. Pál. Universal Facility Location 14
Analysis
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)
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)
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)
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)
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
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
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).
ESA 2003 M. Pál. Universal Facility Location 22
Covering the tree
sources
sinks
ESA 2003 M. Pál. Universal Facility Location 23
Subtrees of depth 2
sourcessinks
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.
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)
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)