min y i f i
play

min y i f i + x ij d ij min y i f i + x ij d ij i F i F , j D - PowerPoint PPT Presentation

Today Facility location Facility Location Linear program relaxation: Set of facilities: F , opening cost f i for facility i Decision Variables. y i - facility i open? Set of clients: D . x ij - client j assigned to facility i . d ij -


  1. Today Facility location Facility Location Linear program relaxation: Set of facilities: F , opening cost f i for facility i “Decision Variables”. y i - facility i open? Set of clients: D . x ij - client j assigned to facility i . d ij - distance between i and j . (notation abuse: clients/facility confusion.) Facility Location. Triangle inequality: d ij ≤ d ik + d kj . min ∑ y i f i + ∑ Lagrangian Dual. Already. x ij d ij i ∈ F i ∈ F , j ∈ D Convex Separator. ∀ j ∈ D ∑ x ij ≥ 1 Farkas Lemma. i ∈ F ∀ i ∈ F , j ∈ D x ij ≤ y i , x ij , y i ≥ 0 Facility opening cost. Client Connnection cost. Must connect each client. Only connect to open facility. Integer Solution? Round solution? The dual. min cx , Ax ≥ b ↔ max bx , y T A ≤ c . min ∑ y i f i + ∑ x ij d ij min ∑ y i f i + ∑ x ij d ij i ∈ F i ∈ F , j ∈ D min ∑ y i f i + ∑ x ij d ij i ∈ F i ∈ F , j ∈ D ∀ j ∈ D ∑ x ij ≥ 1 i ∈ F i ∈ F , j ∈ D ∀ j ∈ D ∑ x ij ≥ 1 i ∈ F ∀ j ∈ D ∑ x ij ≥ 1 i ∈ F ∀ i ∈ F , j ∈ D x ij ≤ y i , i ∈ F ∀ i ∈ F , j ∈ D x ij ≤ y i , ∀ i ∈ F , j ∈ D x ij ≤ y i , x ij , y i ≥ 0 x ij , y i ≥ 0 x ij = 1 2 edges. Round independently? 1 min ∑ y i f i + ∑ y i = 1 max ∑ α j x ij d ij 2 edges. y i and x ij separately? Assign to closed facility! client j i ∈ F i ∈ F , j ∈ D Facility Cost: 3 2 Connection Cost: 3 ∀ j ∈ D ∑ ∑ ∀ i β ij ≤ f i ; y i Round x ij and open facilities? x ij ≥ 1 ; α j Any one Facility: j ∈ D i ∈ F Different clients force different facilities open. Facility Cost: 1 Client Cost: 3 . 7 facility ∀ i ∈ F , j ∈ D y i − x ij ≥ 0 ; β ij ∀ i ∈ F , j ∈ D α i − β ij ≤ d ij ; x ij Make it worse? Sure. Not as pretty! Any ideas? x ij , y i ≥ 0 β ij , α j ≥ 0 Use Dual!

  2. Interpretation of Dual? Use Dual. Integral facility cost at most LP facility cost. max ∑ α j min ∑ y i f i + ∑ x ij d ij j Claim: Total facility cost is at most ∑ i f i y i . i ∈ F i ∈ F , j ∈ D ∑ ∀ i ∈ F β ij ≤ f i ∀ j ∈ D ∑ x ij ≥ 1 2. For smallest (remaining) α j , j ∈ D i ∈ F (a) Let N j = { i : x ij > 0 } . 1. Find solution to primal, ( x , y ) . and dual, ( α , β ) . ∀ i ∈ F , j ∈ D α j − β ij ≤ d ij x ij ∀ i ∈ F , j ∈ D x ij ≤ y i , (b) Open cheapest facility i in N j . α j , β ij ≤ 0 2. For smallest (remaining) α j , Every client j ′ with N j ′ ∩ N j � = / 0 assigned to i . x ij , y i ≥ 0 (a) Let N j = { i : x ij > 0 } . Proof: Step 2 picks client j . α j charge to client. (b) Open cheapest facility i in N j . f min - min cost facility in N j Every client j ′ with N j ′ ∩ N j � = / maximize price paid by client to α j ′ 0 assigned to i . f i k f min ≤ f min · ∑ i ∈ N j x ij ≤ f min ∑ i ∈ N j y i ≤ ∑ i ∈ N j y i f i . connect! x ij ≤ y i α j j ′ 3. Removed assigned clients, goto 2. Objective: ∑ j α j total payment. β ij For k used in Step 2. i ′ β i ′ j Client j travels or pays to open facility i . j N j ∩ N k = / 0 for j and k in step 2. Costs client d ij to get to there. i j β i ′ j ′ → Any facility in ≤ 1 sum from step 2. Savings is α j − d ij . → total step 2 facility cost is ∑ i y i f i . Willing to pay β ij = α j − d ij . Total payment to facility i at most f i before opening. Complementary slackness: x ij ≥ 0 if and only if α j ≥ d ij . only assign client to “paid to” facilities. Connection Cost. Twist on randomized rounding. Primal dual algorithm. 1. Feasible integer solution. 2. Feasible dual solution. 2. For smallest (remaining) α j , Client j : ∑ i x ij = 1, x ij ≥ 0. 3. Cost of integer solution ≤ α times dual value. (a) Let N j = { i : x ij > 0 } . Probability distribution! → Choose from distribution, x ij , in step 2. (b) Open cheapest facility i in N j . Just did it. Used linear program. Faster? Expected opening cost: Every client j ′ with N j ′ ∩ N j � = / 0 assigned to i . ∑ i ∈ N j x i jf i ≤ ∑ i ∈ N j y i f i . Typically. Client j is directly connected. Clients j ′ are indirectly connected. and separate balls implies total ≤ ∑ i y i f i . Begin with feasible dual. D j = ∑ i x ij d ij Connection cost of primal for j . Raise dual variables until tight constraint. Connection Cost of j : ≤ α j . Expected connection cost j ′ Set corresponding primal variable to an integer. Connection Cost of j ′ : α j + α j ′ + D j . ≤ α j ′ + α j + α j ≤ 3 α j ′ . α j ′ In step 2: pick in increasing order of α j + D j . Recall Dual: since α j ≤ α j ′ α j j ′ → Expected cost is ( 2 α j ′ + D j ′ ) . Connection cost: 2 ∑ j α j + ∑ j D j . Total connection cost: 2 OPT ( D ) plus connection cost or primal. max ∑ α j at most 3 ∑ j ′ α j ≤ 3 times Dual OPT. j Total expected cost: j Previous Slide: Facility cost: Facility cost is at most facility cost of primal. ∑ ∀ i ∈ F β ij ≤ f i ≤ primal “facility” cost ≤ Primal OPT. Connection cost at most 2 OPT + connection cost of prmal. j ∈ D Total Cost: 4 OPT. → at most 3 OPT . ∀ i ∈ F , j ∈ D α j − β ij ≤ d ij α j , β ij ≤ 0

  3. Facility location primal dual. Analysis Constraints for dual. Phase 1: 1. Initially α j , β ij = 0. ∑ j β ij ≤ f i 2. Raise α j for every (unconnected) client. α i − β ij ≤ d ij . When α j = d ij for some i Grow α j . raise β ij at same rate Why? Dual: α j − β ij ≤ d ij . β = . 5 α j = d ij ! Intution:Paying β ij to open i . Claim: Client only pays one facility. Tight constraint: α j − β ij ≤ d ij . Stop when ∑ i β ij = f i . Independent set of facilities. Grow β ij (and α j ). Why? Dual: ∑ i β ij ≤ f i α = 1 . 5 ∑ j β ij = f i for all facilities. Intution: facility paid for. Claim: S i - directly connected clients to open facility i . Tight: ∑ j β ij ≤ f i Temporarily open i . f i + ∑ j ∈ S i d ij ≤ ∑ j α j . LP Cost: ∑ j α j = 4 . 5 Connect all tight ji clients j to i . Proof: Temporarily open all facilities. 3. Continue until all clients connected. f i = ∑ j ∈ S i β ij = ∑ j ∈ S i α j − d ij . Assign Clients to “paid to” open facility. Since directly connected: β ij = α j − d ij . Phase 2: Connect facilities with client that pays both. Connect facilities that were paid by same client. Open independent set. Permanently open an independent set of facilities. Connect to “killer” client’s facility. For client j , connected facility i is opened. Good. Cost: 1 + 3.7 = 4.7. Connected facility not open A bit more than the LP cost. → exists client j ′ paid i and connected to open facility. Connect j to j ′ ’s open facility. Analysis. Putting it together! Claim: Client only pays one facility. Claim: Client j is indirectly connected to i Claim: S i - directly connected clients to open facility i . → d ij ≤ 3 α j . f i + ∑ j ∈ S i d ij ≤ ∑ j α j . Claim: Client j is indirectly connected to i Directly connected to (temp open) i ′ See you on Thursday. → d ij ≤ 3 α j . conflicts with i . exists j ′ with α j ′ ≥ d ij ′ and α j ≥ d i ′ j ′ . Total Cost: When i ′ opens, stops both α j and α ′ j . direct clients dual ( α j ) pays for facility and own connections. i ′ i j α ′ plus no more than 3 times indirect client dual. j stopped no later (..maybe earlier..) j ′ Total Cost: 3 times dual. α j ≤ α ′ j . feasible dual upper bounds fractional (and integer) primal. Total distance from j to i ′ . d ij + d ij ′ + d i ′ j ′ ≤ 3 α j 3 OPT. Fast! Cheap! Safe!

Recommend


More recommend