1 / 26

Universal Facility Location

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.

davis
Download Presentation

Universal Facility Location

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universal Facility Location Mohammad Mahdian MIT Martin Pál Cornell University M. Pál. Universal Facility Location

  2. Metric Facility Location F 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) M. Pál. Universal Facility Location

  3. 0 4 3 5 Problem Statement 1) Allocate capacity ui at each facility i 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. M. Pál. Universal Facility Location

  4. cost fi(ui) capacity Assptn: fi(.)is nondecreasing. The cost Cost of facility i is a function fi(.) of demand allocated. Allocation costcf(S): sum offi(ui) over all i in F. Assignment costcs(S): sum of distances from clients to assigned facilities. Goal: Minimize cf(S) + cs(S). M. Pál. Universal Facility Location

  5. cost cost cost cost Uncapacitated FL FL with soft capacities  demand demand demand demand Concave cost FL FL with hard capacities Special cases 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] 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+ 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. M. Pál. Universal Facility Location

  9. 1 1 1 The add operation add(s,) – Increase allocation at facility s by . Reassign clients optimally. us +1=2 Givenu=(u1,u2 ,...,un), where do we send clients? Solve a min cost flow. M. Pál. Universal Facility Location

  10. s 0 4 3 2 The pivot operation • 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) M. Pál. Universal Facility Location

  11. 2 3 1 3 The pivot operation • 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) 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? M. Pál. Universal Facility Location

  13. How to find a good pivot? Problem: find Δ to minimize cost(pivot(s,Δ)). Solution: dynamic programming, just like knapsack. 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 M. Pál. Universal Facility Location

  14. Analysis M. Pál. Universal Facility Location

  15. Max(ui,uiOPT) 0 1 1 Current solS 1 2 0 0 1 2 1 1 1 OptimumSOPT Assignment cost Thm: [Korupolu et al] If no add(s,) op. improves a solution S, cs(S)≤ cs(SOPT) + cf(SOPT). 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) ≤ Σifi(ui + Δi) + flow cost lower bound on cf(SOPT) upper bound on cf(S) M. Pál. Universal Facility Location

  17. try pivot(s,d) First attempt Take current S with some SOPT: let di = uiOPT - ui. 2 2 di < 0. sources 0 0 1 0 di > 0. sinks 2 3 Reassignment costs may be high. M. Pál. Universal Facility Location

  18.  Flow is cheap: cost(y) ≤ cs(S)+ cs(SOPT) Second attempt Take current S with some SOPT: let di = uiOPT - ui. try swap(d): routing along min cost flow 2 2 di < 0. sources 0 0 1 0 di > 0. sinks 2 3  Don’t have a swap operation. 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 M. Pál. Universal Facility Location

  20. What works Take the swap(d) operation, let y be the flow. 2 di < 0. sources 0 0 1 0 di > 0. sinks 2 3 Example: flow decomposed into two pivot op’s. M. Pál. Universal Facility Location

  21. Fact 1: cost(y) ≤cs(S)+cs(SOPT) Pf: use triangle inequality I.e. the flow is a tree (forest). The flow y Fact 2: y is min cost  acyclic Pf: augment along cycle to remove it M. Pál. Universal Facility Location

  22. Covering the tree sources sinks M. Pál. Universal Facility Location

  23. Subtrees of depth 2 sinks sources M. Pál. Universal Facility Location

  24. Problem: flow cost is nondominating if it sends ≥ ½ of its flow down. Almost done.. Every source closed once Every sink used ≤ 1+1=2 times (once as root, once as child) 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) M. Pál. Universal Facility Location

  26. Every facility opened 4 times Flow at most tripled cf(S)≤ 7c(SOPT) Assignment cost cs(S)≤ 1c(SOPT) Total c(S) ≤ 8c(SOPT) Summing up Hence the algorithm is a (8+є)-approximation. (7.88+є with scaling) M. Pál. Universal Facility Location

More Related