Inventory and Models in Project 3 Load Driven Systems John H. Vande Vate Spring, 2001.
1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005.
-
Upload
eustace-lynch -
Category
Documents
-
view
222 -
download
0
Transcript of 1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005.
11
1-to-Many DistributionVehicle Routing
John H. Vande Vate
Spring, 2005
22
Shared Transportation Capacity
• Large shipments reduce transportation costs but increase inventory costs
• EOQ trades off these two costs
• Reduce shipment size without increasing transportation costs?
• Combine shipments on one vehicle
33
TL vs LTL
Inventory
Transport
Transport
Inventory
44
Shared Loads
Inventory
Transport
Transport?
Inventory
?
55
Issues
• Design Routes that – Minimize the transportation cost– Respect the capacity of the vehicle
• This may require several routes
– Consider inventory holding costs• This may require more frequent visits
66
Our Approach
• Minimize Transportation Cost (Distance)– Traveling Salesman Problem
• Respect the capacity of the Vehicle– Multiple Traveling Salesmen
• Consider Inventory Costs– Estimate the Transportation Cost– Estimate the Inventory Cost– Trade off these two costs.
77
The Traveling Salesman Problem
• Minimize Distance
• s.t. – start at the depot, – visit each customer exactly once,– return to the depot
• A single vehicle no capacity
• Only issue is distance.
88
IP Formulation• Set Cities;
• param d{Cities, Cities};
• var x{Cities, Cities} binary;
• minimize Distance:sum{f in Cities, t in Cities}d[f,t]x[f,t];
• s.t. DepartEachCity{f in Cities}:sum{t in Cities}x[f,t] = 1;
• s.t. ArriveEachCity{t in Cities}:sum{f in Cities}x[f,t] = 1;
99
SubTours
3 cities
3 edges
1010
Eliminating Subtours
• S.t. SubTourElimination
{S subset Cities:
card(S) > 0 and
card(S) < card(Cities)}:
sum{f in S, t in S} x[f,t] <= card(S) - 1;
1111
An Equivalent Statement
3 cities
No edges out
1212
An Equivalent Formulation
• S.t. SubTourElimination
{S subset Cities:
card(S) > 0 and
card(S) < card(Cities)}:
sum{f in S, t not in S} x[f,t] >= 1;
1313
How Many Constraints?
• How many subsets of N items?
• 2N
• Omit 2 subsets:– All N items– The empty set
• 2N - 2
1414
OK, Half of that...
• If we have an edge out of S, we must have an edge out of N\S.
• Why? The edge out of S is an edge into N\S. But there are exactly |N\S| edges into cities in N\S. Since one of them comes from S, not all the edges from cities in N\S can lead to cities in N\S. At least one must go to S.
1515
Still Lots!
• How many subsets of N items?
• 2N
• Omit 2 subsets:– All N items– The empty set
• 2N - 2
• Half of that: 2N-1 - 1
1616
How Many?
10 511100 6.34E+29101 1.27E+30
1000 5.4E+300
N 2N-1 - 1
Too Many!
1717
Optimization is Possible But...
• It is difficult
• Few 100 cities is the limit
• For more details see www.tsp.gatech.edu
• Is it appropriate?
• Other approaches….
1818
Heuristics• The Strip Heuristic
– Partition the region into narrow strips– Routing in each strip is easy ~ 1-Dimensional– Paste the routes together
1919
The Strip Heuristic
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2020
Nearest Neighbor
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2121
Clark-Wright
• Shortcut a “tour” by finding the greatest “savings”
x
x
x
x
x
x
2222
Clark-Wright
• Shortcut a “tour” by finding the greatest “savings”
x
x
x
x
x
x
2323
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2424
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2525
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2626
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2727
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2828
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
2929
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3030
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3131
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3232
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3333
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3434
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3535
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3636
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3737
Nearest Insertion
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3838
Improvement Heuristics
• 2-Opt
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
3939
Local Minima
• No improvement found, but…
• Tour still isn’t good
4040
Probabilistic Methods
• Simulated Annealing
• With probability that reduces over time, accept an exchange that makes things worse (gets you out of local minima).
4141
Optimization-Base Heuristics
• Minimum Spanning Tree Heuristic
• Build a minimum spanning tree on the edges between customers
• Double the tree to get a Eulerian Tour (visits everyone perhaps several times and returns to the start)
• Short cut the Eulerian Tour to get a Hamilton Tour (Traveling Salesman Tour)
4242
The Spanning Tree
• Is Easy to construct– Use the Greedy Algorithm
• Add edges in increasing order of length
• Discard any that create a cycle
• Is a Lower bound on the TSP– Drop one edge from the TSP and you have a
spanning tree– It must be at least as long as the minimum
spanning tree
4343
The Spanning Tree
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
4444
Double the Spanning Tree
• Duplicate each edge in the Spanning Tree
• The resulting graph is connected
• The degree at every node must be even
• That’s an Eulerian Graph (you can start at a city, walk on each edge exactly once and return to where you started)
• It’s no more than twice the length of the shortest TSP
4545
The Spanning Tree
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x1
2
3
45 6
7
8
910
111213
1415
1617
1819
20
21
22
23
2425
26 27
28
29
30
4646
Short Cut the Eulerian Tour
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x1
2
3
45 6
7
8
910
111213
1415
1617
1819
20
21
22
23
2425
26 27
28
29
30
4747
Short Cut the Eulerian TourShort Cut the Eulerian Tour
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x1
2
3
45 6
7
8
910
111213
1415
1617
1819
20
21
22
23
2425
26 27
28
29
30
4848
Spacefilling Curves
• There are no more points in the unit square than in the interval from 0 to 1!?
4949
“Proof”• Each point (X,Y) on the map• For illustration let’s consider points in [0, 32]2
• Express X = string of 0’s and 1’s, 5 before the decimal– X = 16.5 = 10000.10 1*24+0*23+0*22+0*21+0*20+1*2-1 +0*2-2
• Express Y = string of 0’s and 1’s5 before the decimal– Y = 9.75 = 01001.11 0*24+1*23+0*22+0*21+1*20+1*2-1 +1*2-2
• Space Filling Number - interleave bits and move the decimal (X,Y) = 10010.000011101
5050
So,...
• Each pair of points
X = 16.5 = 10000.10
Y = 9.75 = 01001.11
maps to a unique point
(X,Y) = 10010.000011101
5151
How to Use this?
• A mapping of (X,Y) into the unit interval, i.e.• 18.056640625000 = 10010.000011101
X = 16.5 = 10000.10 Y = 9.75 = 01001.11
• Think of this as the inverse mapping of the unit interval onto the square (our super tour)
• For a given customer (X,Y) is the fraction of the way along the super tour where it lies
• Visit the customers in the order of (X,Y) (short cut the super tour to visit our customers)
5252
The TSP
• For More on SpaceFilling Curves visithttp://www.isye.gatech.edu/faculty/John_Bartholdi/mow/mow.html
• There are several books on the TSP
• ….
5353
Our Approach
• Minimize Transportation Cost (Distance)– Traveling Salesman Problem
• Respect the capacity of the Vehicle– Multiple Traveling Salesmen
• Consider Inventory Costs– Estimate the Transportation Cost– Estimate the Inventory Cost– Trade off these two costs.
5454
Different Approaches
• Route First - Cluster Second– Build a TSP tour– Partition it to meet capacity
• Cluster First - Route Second– Decide who gets served by each route– Then build the routes
5555
Route First
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
6
4
55
5
5
3
26
4 6
3
352
Vehicle Cap: 15
5656
Cluster First• Sweep Heuristic
x
x
x
x
x
xx
x
x
x
x
x x
x
x
x
6
4
55
5
5
3
26
4 6
3
352
Vehicle Cap: 15
5757
Our Approach
• Minimize Transportation Cost (Distance)– Traveling Salesman Problem
• Respect the capacity of the Vehicle– Multiple Traveling Salesmen
• Consider Inventory Costs– Estimate the Transportation Cost– Estimate the Inventory Cost– Trade off these two costs.