Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005.

Similar presentations


Presentation on theme: "1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005."— Presentation transcript:

1 1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005

2 2 2 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

3 3 3 TL vs LTL         Inventory Transport Inventory

4 4 4 Shared Loads         Inventory Transport Transport? Inventory ?

5 5 5 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

6 6 6 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.

7 7 7 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.

8 8 8 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;

9 9 9 SubTours        3 cities 3 edges

10 10 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;

11 11 An Equivalent Statement        3 cities No edges out

12 12 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;

13 13 How Many Constraints? How many subsets of N items? 2 N Omit 2 subsets: –All N items –The empty set 2 N - 2

14 14 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.

15 15 Still Lots! How many subsets of N items? 2 N Omit 2 subsets: –All N items –The empty set 2 N - 2 Half of that: 2 N-1 - 1

16 16 How Many? N 2 N-1 - 1 Too Many!

17 17 Optimization is Possible But... It is difficult Few 100 cities is the limit For more details see www.tsp.gatech.eduwww.tsp.gatech.edu Is it appropriate? Other approaches….

18 18 Heuristics The Strip Heuristic –Partition the region into narrow strips –Routing in each strip is easy ~ 1-Dimensional –Paste the routes together

19 19 The Strip Heuristic x x x x x x x x x x x x x x x x

20 20 Nearest Neighbor x x x x x x x x x x x x x x x x

21 21 Clark-Wright Shortcut a “tour” by finding the greatest “savings” x x x x x x

22 22 Clark-Wright Shortcut a “tour” by finding the greatest “savings” x x x x x x

23 23 Nearest Insertion x x x x x x x x x x x x x x x x

24 24 Nearest Insertion x x x x x x x x x x x x x x x x

25 25 Nearest Insertion x x x x x x x x x x x x x x x x

26 26 Nearest Insertion x x x x x x x x x x x x x x x x

27 27 Nearest Insertion x x x x x x x x x x x x x x x x

28 28 Nearest Insertion x x x x x x x x x x x x x x x x

29 29 Nearest Insertion x x x x x x x x x x x x x x x x

30 30 Nearest Insertion x x x x x x x x x x x x x x x x

31 31 Nearest Insertion x x x x x x x x x x x x x x x x

32 32 Nearest Insertion x x x x x x x x x x x x x x x x

33 33 Nearest Insertion x x x x x x x x x x x x x x x x

34 34 Nearest Insertion x x x x x x x x x x x x x x x x

35 35 Nearest Insertion x x x x x x x x x x x x x x x x

36 36 Nearest Insertion x x x x x x x x x x x x x x x x

37 37 Nearest Insertion x x x x x x x x x x x x x x x x

38 38 Improvement Heuristics 2-Opt x x x x x x x x x x x x x x x x

39 39 Local Minima No improvement found, but… Tour still isn’t good

40 40 Probabilistic Methods Simulated Annealing With probability that reduces over time, accept an exchange that makes things worse (gets you out of local minima).

41 41 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)

42 42 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

43 43 The Spanning Tree x x x x x x x x x x x x x x x x

44 44 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

45 45 The Spanning Tree x x x x x x x x x x x x x x x x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

46 46 Short Cut the Eulerian Tour x x x x x x x x x x x x x x x x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

47 47 Short Cut the Eulerian Tour x x x x x x x x x x x x x x x x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

48 48 Spacefilling Curves There are no more points in the unit square than in the interval from 0 to 1!?

49 49 “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*2 4 +0*2 3 +0*2 2 +0*2 1 +0*2 0 +1*2 -1 +0*2 -2 Express Y = string of 0’s and 1’s5 before the decimal –Y = 9.75 = 01001.11 0*2 4 +1*2 3 +0*2 2 +0*2 1 +1*2 0 +1*2 -1 +1*2 -2 Space Filling Number - interleave bits and move the decimal –  (X,Y) = 10010.000011101

50 50 So,... Each pair of points X = 16.5 = 10000.10 Y = 9.75 = 01001.11 maps to a unique point  (X,Y) = 10010.000011101

51 51 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)

52 52 The TSP For More on SpaceFilling Curves visit http://www.isye.gatech.edu/faculty/John_Bartholdi/mow/mow.html There are several books on the TSP ….

53 53 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.

54 54 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

55 55 Route First x x x x x x x x x x x x x x x x 6 4 5 5 5 5 3 2 6 4 6 3 3 5 2 Vehicle Cap: 15

56 56 Cluster First Sweep Heuristic x x x x x x x x x x x x x x x x 6 4 5 5 5 5 3 2 6 4 6 3 3 5 2 Vehicle Cap: 15

57 57 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.


Download ppt "1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005."

Similar presentations


Ads by Google