Download presentation
Presentation is loading. Please wait.
1
John H. Vande Vate Spring 2005
Location Problems John H. Vande Vate Spring 2005 1
2
Where to Locate Facilities
Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 2
3
Basic Intuition 1 4 On the line, if the objective is to min …
The maximum distance traveled The maximum distance left + right The distance traveled there and back to each customer The item-miles traveled 1 4 3
4
Rectilinear Distance Travel on the streets and avenues Distance =
number of blocks East-West + number of blocks North-South Manhattan Metric 4
5
Rectilinear Distance 9 5 4 5
6
Locate a facility... To minimize the sum of rectilinear distances
Intuition Where? Why? 6
7
Solver Model 7
8
Locate a facility... To minimize the max of rectilinear distances
Intuition Where? Why? 8
9
Min the Max Set Customers; Param X{Customer}; Param Y{Customer};
Var Xloc; var Yloc; var Xdist{Customer}>= 0; var Ydist{Customer}>= 0; var dmax; min objective: dmax; s.t. DefineMaxDist{c in Custs}: dmax >= Xdist[c] + Ydist[c]; 9
10
Min the Max Cont’d DefineXdist1{c in Customer}:
Xdist[c] >= X[c]-Xloc; DefineXdist2{c in Customer}: Xdist[c] >= Xloc-X[c]; DefineYdist1{c in Customer}: Ydist[c] >= Y[c]-Yloc; DefineYdist2{c in Customer}: Ydist[c] >= Yloc-Y[c]; 10
11
Solver Model 11
12
Locate a facility... To minimize the max of rectilinear distances
Intuition Where? Why? 12
13
Finding the Center(s) 13
14
NIMBY Maximize the Minimum Distance
Can’t say Xdist[c] <= X[c] - Xloc; Want to say that either Xdist[c] <= X[c] – Xloc OR Xdist[c] <= Xloc - X[c] Find a bound on the X distance between a customer and the facility, call it M Add a variable Left[c] = 1 if X[c] > Xloc and Left[c] = 0 otherwise Xdist[c] <= X[c] – Xloc + 2*Left[c]*M Xdist[c] <= Xloc – X[c] + 2*(1-Left[c])*M 14
15
The Model 15
16
Outline Rectilinear Location Problems Euclidean Location Problems
Location - Allocation Problems 16
17
Locating a single facility
Distance is not linear Distance is a convex function Local Minimum is a global Minimum 17
18
Where to Put the Facility
Total Cost = S ckdk(x,y) = S ck(xk- x)2 + (yk- y)2 Total Cost/x = S ck (xk - x)/dk(x,y) Total Cost/x = 0 when x = [Sckxk/dk(x,y)]/[Sck/dk(x,y)] y = [Sckyk/dk(x,y)]/[Sck/dk(x,y)] But dk(x,y) changes with location... 18
19
Iterative Strategy Start somewhere, e.g.,
x = [Sckxk]/[Sck] y = [Sckyk]/[Sck] as though dk= 1. Step 1: Calculate values of dk Step 2: Refine values of x and y x = [Sckxk/dk]/[Sck/dk] y = [Sckyk/dk]/[Sck/dk] Repeat Steps 1 and 19
20
Solver Model 20
21
Convex Minimization Call on Convex Minimization Tool
Minos, Interior Point Methods, … Typically don’t support discrete variables too… 21
22
Locating Several Facilities
Fixed Number of Facilities to Consider Single Sourcing Two Questions: Location: Where Allocation: Whom to serve Each is simple Together they are “harder” 22
23
Iterative Approach Put the facilities somewhere
Step 1: Assign the Customers to the Facilities Step 2: Find the best location for each facility given the assignments (see previous method) Repeat Step 1 and Step 2 …. 23
24
Assign Customers to Facilities
Uncapacitated (facilities can be any size) “Greedy”: Assign each customer to closest facility Capacitated Use Optimization 24
25
Dealers sourced by multiple ramps
Under the old system dealerships could be fed from multiple destination ramps. This proved to be costly and more difficult to manage. 25
26
An Allocation Model 26
27
Allocation Model Var x{Custs, Facs} binary; minimize AllocationCost:
sum{c in Custs, f in Facs} C[c,f]*x[c,f]; s.t. AssignEachCust{c in Custs}: sum{f in Facs} x[c,f] = 1; s.t. FacilityCapacity{f in Facs}: sum{c in Custs}D[c]*c[c,f] <= Cap[f]; 27
28
Set Covering Models 28
29
WesternAir 29
30
The Rest of the Story If there is If there is labor content…
Value Added: E.g., BMW Assembly Plant High Value items: E.g., Intel EU distribution center If there is labor content… Competition… Service vs Cost... 30
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.