700 likes | 1.08k Views
The Vehicle Routing Problem with Time Windows and Scheduled Departure. Ho-Chi-Minh City, March-2010. Cristian Oliva San Martín. Universidad Católica de la Santísima Concepción. Chile. Outline. INTRODUCTION. Algorithms. Remarks. VRPTW. VRP. VRPTWSL. Objective. Methods of Solution.
E N D
The Vehicle Routing Problem with Time Windows and Scheduled Departure. Ho-Chi-Minh City, March-2010 Cristian Oliva San Martín. Universidad Católica de la Santísima Concepción. Chile.
Outline INTRODUCTION Algorithms Remarks
VRPTW VRP VRPTWSL
Methods of Solution Exact Methods Approximation Methods Heuristics Metaheuristics • Construction. • Local search. • Simulated Annealing • Genetic algorithms • Ant Colony Optimization • Tabu-Search
The vehicle is loaded in the depot, This time is calculated as: load time = load factor * service time.
Arrival Time: Load time + Travel time + departure time. • Departure time: Arrival time + Service time.
24 2 25 5 20 3 10 18 36 18 17 55 5 16 16 5 3 5 19 7 15 5
24 2 25 5 20 3 [0,27] 10 18 36 18 17 55 5 16 16 5 3 5 19 7 15 5
24 2 25 5 [37,127] 20 3 [0,27] 10 18 36 [27,45] 18 17 55 5 16 16 5 3 5 19 7 15 5
[132,222] 24 2 25 5 [37,127] 20 3 [0,27] 10 18 36 [45,90] [27,45] 18 17 55 [62,152] 5 16 16 5 3 5 19 7 15 5
[132,222] 24 2 [224,314] 25 5 [37,127] [108,198] 20 3 [0,27] 10 18 36 [45,90] [27,45] 18 17 55 [62,152] 5 16 16 5 3 5 19 7 15 5 [170,260]
[132,222] Route 2: [276,1236] 24 Route 1: [331,1236] 2 [224,314] 25 5 [37,127] [108,198] 20 3 [0,27] 10 18 36 [45,90] [234,324] [27,45] 18 17 55 [62,152] 5 16 16 5 3 5 19 7 15 5
[132,222] Route 2: [276,1236] 24 Route 1: [331,1236] 2 [224,314] 25 5 [37,127] [108,198] 20 3 [0,27] 10 18 36 [45,90] [234,324] [27,45] 18 17 55 [62,152] 5 16 16 5 3 5 19 7 15 5 [329,419] [170,260]
[132,222] Route 2: [276,1236] 24 Route 1: [331,1236] 2 [224,314] 25 5 [37,127] [108,198] 20 3 [0,27] 10 18 36 [45,90] [234,324] [27,45] 18 17 55 [62,152] 5 16 16 5 3 5 19 7 15 5 [329,419] [170,260] [424,514]
[132,222] Route 2: [276,1236] 24 Route 1: [331,1236] 2 [224,314] 25 5 [37,127] [108,198] 20 3 [0,27] 10 18 36 [45,90] [234,324] [27,45] 18 17 55 [62,152] [519,609] 5 16 16 5 3 5 19 7 15 5 [329,419] [170,260] [424,514]
[132,222] Route 2: [276,1236] 24 Route 1: [331,1236] 2 [224,314] Route 3: [664,1236] 25 5 [37,127] [108,198] 20 3 [0,27] 10 18 36 [45,90] [234,324] [27,45] 18 17 55 [62,152] [519,609] 5 16 16 5 3 5 19 7 15 5 [329,419] [170,260] [424,514]
Model of VRPTWSL VRPTW SL
Simple Heuristics for VRPTWSL 1. Nearest Neighbor (NN) [for TSP] (By Rosenkrantz, Sterns, Lewis, SIAM J. Computing 6(1977) 563-581) Step 1. Start with node 0 as the beginning of the TSP tour Step 2. - Find the node closest to the last node added to the tour satisfying all the constraints. - Add this node to the tour Step 3.- Repeat Step 2 until all nodes are added to the tour - Then join the first and the last nodes
NearestNeighbor. 1 Arrival= 9+18=27 departure= 65+90=155 pi= 9 route1 0 Arrival= 155+18=173
NearestNeighbor. departure= 65+90=155 Arrival = 18+18=36 1 arrival= 155+6=161 pi= 18 3 route1 0 departure= 255+90=345 arrival =345+20= 371
NearestNeighbor. departure= 65+90=155 arrival = 27+18=45 1 arrival= 155+6=161 pi= 27 3 0 departure= 255+90=345 arrival=1002+23=1025 route1 arrival= 345+7=352 4 departure= 912+90=1002
NearestNeighbor. departure= 65+90=155 arrival = 27+18=45 arrival=36+47=83 1 2 arrival= 155+2=157 pi= 27 3 departure=99+90=189 0 departure= 255+90=345 route2 arrival=1002+23=1025 pi= 36 route1 arrival= 345+2=347 arrival=189+57=246 4 departure= 912+90=1002
Local Search Heuristics (LSH) • Simple heuristics: • - generates one solution only • Local search heuristics: • - generates many solutions • - choose the best one Definition: Given a solution S, its neighborhood N(S) is defined as the set of all solutions than can be obtained through a well-defined modification of S
Basic idea of Local Search Heuristics • Start with a solution • (initial solution obtained • by a simple heuristic) • Search its • neighborhood • Select a solution from • the neighborhood • Either reject or • accept the new • solution S1 N(S1) S2 N(S2) S3 N(S3) S4 Three components of a LSH 1. Neighborhood design 2. Search process in the neighborhood 3. Acceptance-rejection criterion
K-Opt heuristic • Lin, Bell Systems Technical J. 44(1965) 2245-2269 • Lin & Kernigham, Operations Research 21(1973) 498-516 Definition:K-exchange is a procedure that replaces K arcs in a given TSP tour by K new arcs so that the resulting tour is still a TSP tour.
K-Opt heuristic Replace (A, B) & (C, D) by (A, C) & (B, D) B B C A A C D “2-exchange” E E D Replace (A, B), (C, D) & (D, E) by (B, D), (A, D) & (C, E) B B C A C A “3-exchange” E D E D
2-Interchange for VRPTWSL 8 8 4 4 1 7 1 7 6 6 5 5 3 3 2 2 Initial Solution X Total cost: 42 Waiting time: 25 Solution X’ Total cost: 36 Waiting time: 24
2. Simulated Annealing (SA) Step 1:Find an initial solution using any heuristic, S. Let the incumbent solution S*=S. Select the cooling parameter T > 0. Step 2:Select a candidate solution Scfrom N(S). If F(Sc)<F(S*), update the incumbent, S*=Sc. If F(Sc)<F(S), accept Sc, i.e. let S = Sc. If F(Sc)>F(S), accept Scwith probability exp((F(S)-F(Sc))/T), if Scis accepted, then let S = Sc, o/w, S is not updated.
Step 3:- Update b such that it becomes smaller. - Repeat Step 2 until a certain stopping rule is satisfied(e.g. stop after 1000 iterations). Note: Three things may affect effectiveness of SA - neighborhood design - the way a candidate solution is selected - cooling parameter
3. Tabu Search (TS) (1 of 3) • Similar to SA with a different acceptance-rejection • criterion • Tabu list of mutations (prohibited moves) • Step 1:- Find an initial solution using any • heuristic, S. • - Let the incumbent solution S*=S. • - Set tabu list length L. Initially the tabu • list is empty.
3. Tabu Search (TS) (2 of 3) . Step 2:(1) Select a candidate solution Scfrom N(S) such that the move from S to Scis not a mutation on the tabu list. (2) Enter the reverse mutation of the move at the top of the tabu list, push all other entries in the list one position down, & delete the entry at the bottom of list if the list length exceeds L. (3) Accept Sc, i.e. let S = Sc. (4) If F(Sc)<F(S*), update the incumbent, S*=Sc.
3. Tabu Search (TS) (3 of 3) Step 3:Repeat Step 2 until some stopping rule is satisfied(e.g. stop after 1000 iterations). Three things may affect effectiveness of TS - neighborhood design - the way a candidate solution is selected - Length parameter