Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems...
Transcript of Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems...
![Page 1: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/1.jpg)
Location Problems
Basic Concepts of Location Last IP modeling tricks
Dispel Misconception Introduce NLP
First Heuristic
15.057 Spring 03 Vande Vate 1
![Page 2: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/2.jpg)
Where to Locate Facilities
Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems
15.057 Spring 03 Vande Vate 2
![Page 3: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/3.jpg)
Basic Intuition 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
0 1 415.057 Spring 03 Vande Vate 3
![Page 4: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/4.jpg)
Rectilinear Distance
Travel on the streets and avenues
Distance = number of blocks East-West + number of blocks North-South
Manhattan Metric
15.057 Spring 03 Vande Vate 4
![Page 5: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/5.jpg)
Rectilinear Distance
5
4
9
15.057 Spring 03 Vande Vate 5
![Page 6: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/6.jpg)
Locate a facility...
Where?
Why?
To minimize the sum of rectilinear distances Intuition
15.057 Spring 03 Vande Vate 6
![Page 7: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/7.jpg)
Minimize the sum of Rectilinear distances to customers
Cust. X Y Xdist Ydist If Left If Right If Above If Below 1 9 9 9.00 (9.00) (9.00) 9.00Solver Model 2 9 3 9.00 (9.00) (3.00) 3.00 3 8 6 8.00 (8.00) (6.00) 6.00 4 3 9 3.00 (3.00) (9.00) 9.00 5 0 6 - - (6.00) 6.00 6 4 2 4.00 (4.00) (2.00) 2.00 7 4 0 4.00 (4.00) - -8 2 0 2.00 (2.00) - -9 0 9 - - (9.00) 9.00
10 5 2 5.00 (5.00) (2.00) 2.00 Facility 0 0
Total 0 - -
0
1 2
3 4
5
6 7
8 9
10
0 2 3 6 8 9 10
X
Y
1 5 4 7
15.057 Spring 03 Vande Vate 7
![Page 8: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/8.jpg)
Locate a facility...
To minimize the max of rectilinear distances Intuition
15.057 Spring 03 Vande Vate
Where?
Why?
8
![Page 9: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/9.jpg)
Models
Set Customers; Param X{Customer}; Param Y{Customer}; var Xloc >= 0; var Yloc >= 0; var Xdist{Customer}; var Ydist{Customer};
15.057 Spring 03 Vande Vate 9
![Page 10: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/10.jpg)
Constraints
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];
15.057 Spring 03 Vande Vate 10
![Page 11: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/11.jpg)
Objective
Total Distance: sum{c in Customer}(Xdist[c]+Ydist[c]);
Maximum Distance?
15.057 Spring 03 Vande Vate 11
![Page 12: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/12.jpg)
Min the Max!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];
15.057 Spring 03 Vande Vate 12
![Page 13: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/13.jpg)
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];
15.057 Spring 03 Vande Vate 13
![Page 14: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/14.jpg)
Mimimize the Maximum Rectilinear Distance
Customer X Y Max Total Xdist Ydist If Left If Right If Above If Below 1 9 9 0 0 0 0 9 -9 -9 9 2 9 3 0 0 0 0 9 -9 -3 3Solver Model 3 8 6 0 0 0 0 8 -8 -6 6 4 3 9 0 0 0 0 3 -3 -9 9 5 0 6 0 0 0 0 0 0 -6 6 6 4 2 0 0 0 0 4 -4 -2 2 7 4 0 0 0 0 0 4 -4 0 0 8 2 0 0 0 0 0 2 -2 0 0 9 0 9 0 0 0 0 0 0 -9 9
10 5 2 0 0 0 0 5 -5 -2 2 Facility 0 0
Total 0
0
1
2
3
4
5
6
7
8
9
10
0 2 4 7 9 10
X
Y
1 3 6 5 8
15.057 Spring 03 Vande Vate 14
![Page 15: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/15.jpg)
Challenge #3
NIMBY…. Maximize the Minimum Distance
How did you do it?
15.057 Spring 03 Vande Vate 15
![Page 16: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/16.jpg)
Mimimize the Maximum Rectilinear DistanceNIMBY Cust. X Y Min Total Xdist Ydist Left? Above? If Left If Right If Above If Below 1 9 9 0 0 29 -9 11 9 2 9 3 0 0 29 -9 17 3 3 8 6 0 0 28 -8 14 6 4 3 9 0 0 23 -3 11 9 5 0 6 0 0 20 0 14 6 6 4 2 0 0 24 -4 18 2 7 4 0 0 0 24 -4 20 0 8 2 0 0 0 22 -2 20 0 9 0 9 0 0 20 0 11 9
10 5 2 0 0 25 -5 18 2 Facility
Total
0 1 2 3 4 5 6 7 8 9
10
0 1 2 3 6 7 10
X
Y
5 4 9 8
15.057 Spring 03 Vande Vate
![Page 17: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/17.jpg)
Disjunctive Constraints
One of Two Constraints holds Ydist = TownY – DumpY Ydist = DumpY – TownY
Binary Variable Chooses 1 Ydist ≤ TownY – DumpY + 20*Left Ydist ≤ DumpY – TownY + 20*(1-Left)
Only 1 matters (20 is big) Objective drives the right choice These are hard for the solver
15.057 Spring 03 Vande Vate 17
![Page 18: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/18.jpg)
Outline
Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems
15.057 Spring 03 Vande Vate 18
![Page 19: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/19.jpg)
Locating a single facility Distance is not linear Distance is a convex function Local Minimum is a global Minimum
15.057 Spring 03 Vande Vate 19
![Page 20: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/20.jpg)
15.057 Spring 03 Vande Vate 20
What kind of function?
S1 S
3 S5 S
7 S9 S11 S
13 S15 S
17 S19 S
21
![Page 21: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/21.jpg)
Where to Put the Facility
Total Cost = Σ ckdk(x,y) = Σ ck√(xk- x)2 + (yk- y)2
∂Total Cost/∂x = Σ ck (xk - x)/dk(x,y) ∂Total Cost/∂x = 0 when x = [Σckxk/dk(x,y)]/[Σck/dk(x,y)] y = [Σckyk/dk(x,y)]/[Σck/dk(x,y)] But dk(x,y) changes with location...
15.057 Spring 03 Vande Vate 21
![Page 22: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/22.jpg)
Iterative Strategy Start somewhere, e.g.,
x = [Σckxk]/[Σck] y = [Σckyk]/[Σck] as though dk= 1.
Step 1: Calculate values of dk
Step 2: Refine values of x and y x = [Σckxk/dk]/[Σck/dk] y = [Σckyk/dk]/[Σck/dk]
Repeat Steps 1 and 2. ...
15.057 Spring 03 Vande Vate 22
![Page 23: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/23.jpg)
Solver Model: Not LinearFacility
23
50.88679 50.35772 50.11444 49.9801
49.90163 49.85438 49.82525 49.80693 49.79522 49.78763 49.78265 49.77935 49.77714 49.77565 49.77464
Center of Gravity
Better Answer
4.5 4.6 4.283971 4.0907 4.241999 3.73981 4.239085 3.486694 4.239961 3.298874 4.238616 3.15693 4.235342 3.048107 4.23113 2.963646
4.226679 2.897385 4.222382 2.844914 4.21843 2.80302
4.214899 2.769336 4.211803 2.742087 4.209121 2.719928
15.057 Spring 03 Vande Vate 4.206817 2.701827
![Page 24: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/24.jpg)
Euclidean Location Lo
catio
n
5 45.8
4.5
45.6
4
45.43.5
3 45.2
2.5 X Y Distance
45 2
1.5 44.8
1
44.6
0.5
0 44.4
Dist
ance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Iteration
![Page 25: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/25.jpg)
Euclidean LocationCustomer X Y d(x,y) 1/d(x,y) d(x,y) 1/d(x,y) d(x,y) 1/d(x,y) d(x,y) 1/d(x,y) d(x,y) 1/d(x,y)
1 9 9 6.293648 0.15889 6.807507 0.146897 7.092825 0.140988 7.284426 0.137279 7.427032 0.134643 2 9 1 5.762812 0.173526 5.638559 0.17735 5.490459 0.182134 5.371216 0.186178 5.286094 0.189176 3 8 10 6.43506 0.155399 6.980594 0.143254 7.301544 0.136957 7.521146 0.132958 7.683943 0.130142 4 3 9 4.648656 0.215116 5.074427 0.197067 5.404827 0.18502 5.65083 0.176965 5.83441 0.171397 5 0 6 4.712749 0.21219 4.690185 0.213211 4.806559 0.208049 4.928139 0.202916 5.027261 0.198915 6 4 2 2.64764 0.377695 2.109897 0.473957 1.75656 0.569294 1.505796 0.664101 1.320854 0.757086 7 4 0 4.627094 0.216118 4.100544 0.24387 3.747632 0.266835 3.494881 0.286133 3.30759 0.302335 8 3 0 4.838388 0.20668 4.287471 0.233238 3.940653 0.253765 3.70032 0.270247 3.524213 0.283751 9 0 9 6.293648 0.15889 6.515646 0.153477 6.757525 0.147983 6.954595 0.14379 7.104936 0.140747
10 5 0 4.627094 0.216118 4.152893 0.240796 3.815855 0.262064 3.568757 0.28021 3.385296 0.295395 Facility 50.88679 2.090624 2.223116 2.35309 2.480777 2.6035874.5 4.6
4.283971 4.0907 4.241999 3.73981 4.239085 3.486694 4.239961 3.298874 4.238616 3.15693 4.235342 3.048107 4.23113 2.963646
4.226679 2.897385 4.222382 2.844914 4.21843 2.80302
4.214899 2.769336 4.211803 2.742087 4.209121 2.719928 4.206817 2.701827
50.35772 50.11444 49.9801
49.90163 49.85438 49.82525 49.80693 49.79522 49.78763 49.78265 49.77935 49.77714 49.77565 49.77464
4.217658 2.805268 0 1 2 3 4 5 6 7 8 9
10
0 2 3 4 6 7 8 9 10
X
Y
1 5
15.057 Spring 03 Vande Vate 25
![Page 26: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/26.jpg)
Moving On
Example of Convex Minimization (Non-linear) Example of a Heuristic: Not guaranteed to give us the best answer, but works well.
15.057 Spring 03 Vande Vate 26
![Page 27: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/27.jpg)
Locating Several Facilities
Fixed Number of Facilities to ConsiderSingle Sourcing Two Questions:
Location: Where Allocation: Whom to serve
Each is simple Together they are “harder”
15.057 Spring 03 Vande Vate 27
![Page 28: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/28.jpg)
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 ….
15.057 Spring 03 Vande Vate 28
![Page 29: Location Problems - MIT OpenCourseWare · Rectilinear Location Problems Euclidean Location Problems Location - Allocation Problems 15.057 Spring 03 Vande Vate 18 . Locating a single](https://reader031.fdocuments.us/reader031/viewer/2022021900/5b7873977f8b9ad2498ece71/html5/thumbnails/29.jpg)
Assign Customers to Facilities Uncapacitated (facilities can be any size)
“Greedy”: Assign each customer to closest facility
Capacitated
Use Optimization: Single-sourcing
15.057 Spring 03 Vande Vate 29