Proceedings of the 8th International IEEE Conference on Intelligent Transportation Systems Vienna, Austria, September 13-16, 2005
TA6.3
Improved Tabu Search In An Hybrid Evolutionary Approach For The Pickup And Delivery Problem With Time Windows R. Kammarti, S. Hammadi, Senior Member, IEEE, P. Borne, fellow, IEEE, and M. Ksouri, Senior Member, IEEE
Abstract—In This paper we present an improved tabu search in an hybrid evolutionary approach for the single-vehicle Pickup and Delivery Problem with Time Windows (1-PDPTW). In the 1-PDPTW a vehicle must serve a collection of transportation requests by taking loads from providers to customers satisfying precedence, capacity and time constraints. This paper purposes a brief review the scientific literature of the 1-PDPTW, presents the hybrid evolutionary approach to solve this problem and details the improved tabu search. Our hybrid evolutionary approach use evolutionary algorithm, with special genetic operators, tabu search, construction heuristics, Pareto dominance method to provide a set of satisfying and feasible solutions to the 1-PDPTW minimizing total traveled distance, total waiting time and total tardiness time.
O
I. INTODUCTION
UR days, goods and people transportation take an important place in all societies daily life and business. The single pickup and delivery problem is one of the faced problems. Having a set of request to satisfy the transportation vehicle will carry goods from providers to respective customers respecting there each time windows and its self transportation capacity. In this paper, we present a brief review of the scientific literature on the 1-PDPTW present our new evolutionary approach and detail the improved tabu search used. The evolutionary approach is based on the use of heuristics for generation of the initial solutions, Pareto dominance to provide a set of satisfying and feasible solutions, and tabu search approach to improve solutions. II. LITTERATURE REVIEW ON THE 1-PDPTW Savelsbergh shown The Vehicle Routing Problem (VRP) is a NP-hard problem [14].Since the PDPTW is a generalization of the VRP it’s a NP-hard problem Manuscript received January 15, 2001. Ryan Kammarti, PhD Student, Ecole Centrale de Lille, LAGIS – UPRESA 8021, BP48, 59651 Villeneuve d’Ascq – FRANCE, École Nationale d'Ingénieurs de Tunis, Campus Universitaire, BP. 37, 1002 Tunis - Belvédère. TUNISIE e-mail:
[email protected] Slim Hammadi, Professor, Senior member IEEE, Ecole Centrale de Lille, LAGIS – UPRESA 8021, BP48, 59651 Villeneuve d’Ascq – FRANCE, e-mail:
[email protected] Pierre Borne, Professor, Past-President and Fellow IEEE, Ecole Centrale de Lille, LAGIS – UPRESA 8021, BP48, 59651 Villeneuve d’Ascq – FRANCE, e-mail :
[email protected] Mekki Ksouri, Professor, Senior member IEEE, École Nationale d'Ingénieurs de Tunis, Campus Universitaire, BP. 37, 1002 Tunis Belvédère. TUNISIE, e-mail:
[email protected]
0-7803-9215-9/05/$20.00 ©2005 IEEE.
The PDPTW is divided in two classes: the 1-PDPTW and the m-PDPTW. The 1-PDPTW concerns the single vehicle case of the PDPTW. Like all scheduling problems many approaches, exact and approximate were used to solve it. Among the exact methods we mention Psaraftis [12] and Desrosiers, Dumas and Soumis works [3] based on dynamic programming methods. Since the dynamic programming method was restricted to a small number of customers, the approximate methods were chosen by several researchers. Among those researchers, we distinguish Psaraftis [13] who elaborated an O(n²) heuristic. Able to solve instances up to 100 nodes, this heuristic is based on the minimum spanning tree and local interchanges. In 1983, Sexton and Bodin [15] presented a new insertion algorithm, then, in 1985, they treated the Dial a Ride Problem where the customer chooses the pickup or the delivery date by applying Bender’s decomposition to mixed binary nonlinear formulation of the 1-PDPTW [16][17]. In 1993, Van der Bruggen, Lenstra, and Schuur, develop a two phase resolution method which gives good and feasible solutions in a short time. Based on variable depth search procedure, this method improves bad solutions with a simulated annealing [2]. Finally, Landrieu, Mati and Binder [9], presented two resolution methods: a classical tabu search with two classical nodes exchange procedures and some parameters evaluation roles. III. MATHEMATICAL FORMULATION In our work we suppose that: • A vertex is served only once, • There is one depot, • The capacity constraint must be respected. • The depot is the start and the finish vertex for the vehicle. • The vehicle stops at every vertex for a period of time to allow the request processing. • If the vehicle arrives at a vertex i before its time windows begin date ei , it waits. Let’s consider the following variables: The given variables: N : Set of customers, providers and depot vertices, N ' : Set of customers and providers requests. + N : Set of the providers vertices,
682
N
−
: Set of the customers vertices,
dij : Euclidian distance between the vertex i and the vertex j. If dij = ∞ then the road between i et j doesn’t exist (Blind alley, pedestrian street,…) tij : Time used by the vehicle to travel from the vertex i to the vertex j, [ei, li ] : Time window of the vertex i, si : Stopping time at the vertex i, qi : Goods quantity of the vertex i request. If qi > 0 , the
vertex i is a provider ; if qi < 0 , the vertex i is a customer and if qi = 0 then the vertex was served. Q : Vehicle capacity, i = 0..N : Predecessor vertex index, j = 0..N : Successor vertex index. The decision variables : ⎧1 If the vehicle travel from the vertex i to the Xij = ⎨ ⎩0 Else
beginning and finishing is the depot. The constraint (4) assures that the vehicle leave all the reached vertices. (5),(6) and (7) are the capacity constraints. The precedence constraints are guaranteed by (8),(9) and (10). IV. THE HYBRID EVOLUTIONARY APPROACH We detail in Fig 1 the hybrid evolutionary approach algorithm. We use evolutionary algorithm with special genetic operators, Pareto optimality and personalized tabu search.
Begin • Create, correct and evaluate the initial population • Where (the end criterion is not satisfied) do o Apply the evolution procedure • Selection • Crossover • Mutations • Correction procedures • Pareto optimality • Improve the first non dominate solution with a local special tabu search
Ai : Arrival time of the vehicle to the vertex i, Di : Departure time of the vehicle from the vertex i, Di = Ai + si ∀i ∈ N ; yi : The goods quantity in the vehicle visiting the vertex i.
Fig. 1. Hybrid Evolutionary Approach Algorithm.
A. Fitness Function We aim to minimize the compromise between the total travel distance, the total waiting time and the total tardiness. α 1, α 2 and α 3 are weight and scaling coefficients.
⎛ ⎞ ⎜α 1 ⎟ dijXij + ⎜ i∈N j∈N ⎟ ⎜ ⎟ MINIMIZE ⎜ α 2 max(0, ei − Ai ) + ⎟ ⎜ i∈N j∈N ⎟ ⎜ ⎟ max(0, li − Di ) ⎟ ⎜⎜ α 3 ⎟ ⎝ i∈N j∈N ⎠
∑∑
∑∑
∑
∀i ∈ N ;
(1)
B. Initial Population Generation To improve quality of final results and the convergence speed, Initial solution population is generated via personal constructive heuristics. These heuristics aim to reduce the
j∈N
∑ Xi 0 = 1
(2)
∑X0j =1
(3)
Our evolutionary optimization is based on simple solution’s representation, directed generation of the initial solutions, original crossover and mutation operators and correction procedures ensuring solutions feasibility. A. Solutions Representation The solutions representation (Chromosomes) is the classical list code which is the most used representation for the TSP. In this representation the vertices are classified in the order of the vehicle passage. Fig 2 gives an example of this representation.
∑∑
Subject to: Xij = 1
V. EVOLUTIONARY OPTIMIZATION
i∈N
Vertex served: 1st vertex (i) 0
j∈N
∑ Xiu − ∑ Xuj = 0
∀u ∈ N ;
(4)
Xij = 1 ⇒ yi = yi + qi
∀i, j ∈ N ;
Xij = 1 ⇒ Di + tij ≤ Dj
∀i ∈ N ; ∀i, j ∈ N ;
(5) (6) (7) (8)
Dw ≤ Dv
∀i ∈ N ; w = N i+ , v = N i−
(9)
i∈N
2nd 2
3rd 1
4th 0
j∈ N
y0 = 0 Q ≥ yi ≥ 0
Fig. 2. Solution Representation.
D0 = 0 (10) The constraint (1) ensures that a vertex is visited once. The constraints (2) and (3) ensure that the vehicle route
search space and avoid the blind searching aspect of genetic algorithms. 1) Minimizing the total travel distance To minimize the total travel distance we use a special heuristic. The principle of this heuristic is to fix the depot as the departure and arrival vertex and to make that the vehicle leaves and returns to the depot by traveling from the present vertex to the nearest one.
683
2) Minimizing the total waiting time The principle of this heuristic is to fix the depot as the departure and arrival vertex, then visit the remaining vertices sorted in the decreasing order of the sum of the time window finishing date and the stopping time of the simultaneous vertex ( li + si ). 3) Minimizing the total tardiness The minimizing total tardiness heuristic is also based on the time characteristics of the problem. Its principle is to fix the depot as a departure and arrival vertex, then visit the remaining vertices sorted in the increasing order of the time window dates ( si ). C. Crossover operator To ensure the feasibility of the obtained solutions and decrease the general calculation time, we conceived a special crossover operator which doesn’t need correction procedures. The principle of this special crossover operator can be in our previous work [8]. Considering p as crossing position, Figure 3 illustrates the principle of this crossover operator. Figure 4 presents the algorithm of this operator. D. Mutations operators In each mutation stage we use one of these four special mutation operators designed especially to our problem . • The first mutation operator is based on local optimality condition. It aims to reduce the total traveled distance.The principle of this operator is to calculate the sum of the traveled distances between three consecutive vertices when reading a solution. Then, permute the central genes of the two groups which the highest sum of the traveled distances. • The second special mutation operator is based on shifting any gene by inserting it in a randomly chosen position. • The third special mutation operator is based on choosing randomly a gene and shifting it to any position of the chromosome. Then, it searches its respective provider or customer and shifts it with the same magnitude if it is possible. • The special fourth mutation operator has the same principle as the third one except that the randomly chosen gene must be a provider. E. Correction procedures After applying the initial solutions generation heuristics and mutation operators, we can obtain no realizable solutions. Then, to ensure the feasibility of the solutions, we developed a correction method compound by two procedures applied one after the other. The first serve to verify and correct precedence mistakes and the second to verify and ensure the transportation capacity respect. 1) Precedence correction procedure The principle of this procedure is to go over the chromosome gene per gene and verify, when a gene is a customer, if its respective provider was served before. If
not, we insert this provider just before the customer. When a correction is done, the procedure continues until reaching the arrival depot. 2) Capacity correction procedure The principle of this procedure is to ensure, after applying the precedence correction procedure, the transportation capacity verification and correction. For that, this procedure goes over the chromosome gene per gene and calculates the capacity. When it exceeds the transportation capacity, it goes back to the precedent provider that is not followed by its respective customer. Then, it inserts the respective customer just behind it. When a correction is done the procedure continues until reaching the arrival depot. VI. MULTICRITERIA EVALUATION AND EVOLUTION PROCEDURE A. Pareto Optimality Approach Based on the probability wheel method of selection, our multicriteria evaluation approach uses Pareto dominance to give the decision-maker a set of feasible and good solution. This approach can be formulated like shown below: • The Pareto optimal set of solutions is formed by non dominated solutions, • The solution is a dominant, if it wasn’t dominated by any other solution. • x dominate y ( x ∈ Ω et y ∈ Ω) if ∀1 ≤ q ≤ 2, f q ( x) ≤ f q ( y ) . This is valid if we
minimize f q . In the opposite case, we will have ∀1 ≤ q ≤ 2, f q ( x) ≥ f q ( y ) Having to minimize f 1 and f 2 , Fig. 3 show the Pareto optimality principle. E,F and G are dominate solution, whereas A,B,C and D
Fig. 3. Pareto Optimality Approach.
are Pareto optimal solutions. B. Evolution Procedure Here we detail the evolution procedure used in our hybrid approach. The principle of the selection procedure is illustrated in Fig. 4. The algorithm of this selection procedure is shown by the Fig. 5. 684
N
a range of techniques are often employed in order to diversify or to intensify the search process.
N’
A. Neighborhood Structure In this section, we present some exchange heuristics.
Sort the chromosomes in the increasing order of fitness value
1) 2-opt, 3-opt Exchange Heuristics Edge exchange heuristics like 2-opt and 3-opt [11] are widely used to improve vehicle routing solutions. Usually, these kinds of exchange are embedded within a local search structure of the following type [19]:
N+1
1. Copy the non dominated solutions and fulfill with the best sorted solutions
Copy operation Genetic operation
2.
3. Fig. 4. Evolution Procedure.
4.
Begin o Copy the n best solutions from the present population to a new intermediate 2n sized one o Where (the intermediate population is not full) do. According to the roulette principle, fill up the intermediate population with child solutions obtained with crossover, mutation or copy. o Sort the intermediate population solutions according to their fitness in the increasing order. o Copy the non dominate solutions to the following population (N sized) and fill it up with the best classified solutions of the intermediate population. End
Start with an initial solution defined also current solution, Generate all the solutions in the neighborhood of the current solution by applying all modifications associated with the method under consideration, Select the best solution in this neighborhood and define this solution to be the new current solution, Go to step 2.
2) Our Exchange Heuristic The principle of our heuristic is to choose two random couples (provider1, customer1) and (provider2, customer2). Then exchange respectively provider1 with provider2 and customer1 with customer2. Fig. 6 illustrates our heuristic. 0 1+
Fig. 5. Evolution Procedure Algorithm.
4+ 4-
1-
3+
This evolution procedure allows: • Having a set of non dominate final solutions, • Make that the “best” non dominate solution have a good chance to be selected, • All the non dominate solutions are presented in the final population.
32-
2+
- Before Exchange0 4+
VII. IMPROVING STAGE: SPECIAL TABU SEARCH
1+ 1-
4-
Tabu Search (TS) is a local search metaheuristic introduced by [4]. Details about tabu search can also be found in [5], [6] and [7]. TS explores the solution space by moving at each iteration from a solution s to the best solution in a subset of its neighborhood N(s). Contrary to classical descent methods, the current solution may deteriorate from the iteration (i) to the next one (i+1). Therefore, to avoid cycling, solutions recently explored solutions are temporarily declared tabu. The duration that an attribute remains tabu is called tabu-tenure and it can vary over different intervals of time and the tabu status can be overridden if certain conditions are met. This is called the aspiration criterion and it happens for example when a tabu solution is better than any previously seen solution [1]. Also,
3+ 32-
2+
- After Exchange-
Fig. 6. Special Exchange .
B. Special Tabu Search In order to improve solutions given by the evolutionary approach, we apply a local tabu search. The framework of our tabu search is may be summarized as show in the following Fig. 7.
685
Ev_t : Average time spent by the Evolutionary approach in seconds Begin • Let the initial solution be the first no dominate solution given by the evolutionary approach • While the stopping criterion is not satisfied, do: o Initialize the counter of iteration without improving to 0 o If the number of iteration without improving solution is not reached Set the best solution as current solution o Repeat : Generate the neighborhood of the current solution by using our exchange heuristic Apply capacity verification procedures. If the neighborhood isn’t a feasible solution don’t consider it Until exploring all neighborhoods o Evaluate the set of moves generated and define the best non tabu move to construct the new current solution o Execute the best move update tabu list o If the new current solution is better then the best encountered record it as best solution o Else increment the counter of iteration without improving • Return the best solution End
Nb_iter
LC101 T_fit
LR101 T_fit
Av_T_Sim
50 50 100 300 600 1000 2000 2500
465589 465652,4063 460337,3438 459331,7188 457703,375 457149,8438 456816,701 456816,701
97893,25000 98631,53906 98423,21875 92109,79687 90143.07812 89878,99218 89670,17968 89670,17968
Ev_t 25 25 55 180 461 777 1651 2133
Ta_t 156 156 156 156 156 156 156 156
Table. 1. Convergence of the Evolutionary Approach
Ta_t : Average time spent by the Tabu search in seconds.
Fig. 7. Special Tabu Search Framework .
VIII. EXPERIMENTAL RESULTS To test our new hybrid approach, we use 56 benchmark problem instances generated by Li and Lim [10] from Solomon’s ones [18]. Corresponding to Solomon’s classification of C1, C2, R1, R2, RC1 and RC2, their data sets were also generated in six classes: LC1, LC2, LR1, LR2, LRC1 and LRC2. All problems have 100 real providers and customers with several additional dummy vertices for coupling purpose if necessary, capacity, time windows, precedence and coupling constraints and a central depot. The LC problems are clustered whereas in the LR problems, providers and customers are randomly generated. Therefore in the LRC problems the providers and the customers are partially clustered and partially randomly distributed. While LC1, LR1 and LRC1 problems have a short scheduling horizon, LC2, LR2 and LRC2 have longer scheduling one. A. Computational parameters In this case, we apply the evolutionary phase to the 1000th iteration for ensuring the obtaining of a set of good and feasible solutions in a reasonable computing time . Table 1 shows the results obtained for 2 of the tested problem instances. We stop the tabu search in the 1000th iteration too and we fix at 50 the maximum number of iterations without improving.
α1 = α 2 = α 3 = 1 ; Nb_iter : Iterations number of the evolutionary phase, T_fit: Fitness value of the final solution, Av_T_Sim : Average Simulation Time in seconds, Ev : Fitness value of the first fitness classified non dominated solution, Ta : The fitness value after applying the tabu search,
B. Tabu search for solution’s improving The Table 2 shows some of the numerous treated problems. We can observe that our tabu search improve in many cases the final solution given by the evolutionary approach. The figure 8 illustrates the evolution of the solution with our tabu search method for the LRC 102 with 50 iterations in the evolutionary approach. 103000 102000 101000 100000 99000 98000 97000 96000 95000 94000 0
200
400
600
800
1000
1200
Fig 8. Evolution of the solution value with the special tabu search
C. Results for the 56 problem instances In their work, Li and Lim [10] try to minimize the number of vehicles, the total traveled distance, the scheduling duration and the total waiting time. In our work, we have one vehicle and we minimize the compromise between the total traveled distance, the total waiting time and the total tardiness. Table 3 shows a summary of the results obtained for the 56 problem instances by giving details on each first non dominate solution and the number of Pareto optimal solutions. Nd_Sol: Number of Pareto optimal solutions. T_D: Total traveled distance T_W: Total waiting time T_T: Total tardiness T_D_Li: Total traveled distance in [10]
686
We observe that the tardiness value is always considerable. This is due to benchmark’s data. There are many cases which impose a lateness time. For example we mention the vertex 1 of the LC101 problem which the time window is [912, 967] and the service time is 90.
The computational tests are performed with 56 benchmarks recently introduced in the PDPTW literature. Our researches are now based to find a new method to fix automatically the weight and scaling coefficients α 1, α 2 and α 3 . REFERENCES
Nb_iter
LC103 LC104 LR101 LR102 LRC101 LRC102
50
100
300
600
1000
Ev
426768
447731
427272
422995
423406
Ta
422937
422869
425489
422995
423406
Ev
419513
418148
417724
414720
413826
Ta
417051
415870
415353
414526
413826
Ev
98632
98423
92110
89879
90143
Ta
93601
92607
92110
89879
89878
Ev
99249
97068
88765
86363
83928
Ta
89524
91850
88765
86340
83880
Ev
100360
98904
95761
90340
88124
Ta
92261
97779
95585
90296
88124
Ev
102149
101594
92303
87962
86054
Ta
94408
93993
92201
87907
86054
Prob
Nd
Table. 2. Tabu search improving T_D T_W T_T
LC101 LC102 LC201 LC202 LR101 LR102 LR201 LR202 LRC101 LRC102 LRC201 LRC202
4 3 10 15 42 19 7 25 14 21 33 22
731.16 730.08 734,28 800,11 981.61 896.81 859,05 971,81 945.61 950.91 1087,79 1092,29
64,78 0 1493,61 59,68 259.64 251.55 2226,84 2298,62 81.75 266.97 2124,02 2737,73
456353.937 443662.531 337113,563 296089,594 88636.515 82731.953 44442,500 42733,805 87096.335 84835.625 52520,789 51340,402
T_D_Li 828,94 828.94 591.56 591.56 1650.78 1487.57 1263.84 1197.67 1708.80 1563.55 1468.96 1374.27
Table. 3. Solutions for samples of the 56 instances
Compared to other resolution methods, by giving a set of solutions, our approach guarantees the flexibility of choice to the decision-maker. We cannot rightly compare our results to those founded in [10], because of the incompatibilities between the objective functions, we mention that our approach allow us to have the best total travelled distance in many cases. IX. CONCLUSION In this paper, we have presented a new hybrid evolutionary approach to solve the 1-PDPTW. We proposed a brief literature review on the 1-PDPTW and the mathematical formulation of the problem. Then, we presented our optimization approach which is an hybrid evolutionary algorithm based on special genetic operators. We also detailed the use and Pareto dominance method and our special local tabu search used for solutions improving.
[1] Bräysy.O, Gendreau M. “Tabu Search Heuristics for the Vehicle Routing Problem with Time Windows”. SINTEF Applied Mathematics, Research Council of Norway, REPORT NO: STF42 A01022, (2001) [2] Van Der Bruggen L.J.J., Lenstra J.K., Schuur P.C., “Variable-depth search for the single-vehicle pickup and delivery problem with time windows”, Transportation Science 27 (3), 298-311, (1993). [3] Dumas Y., Desrosiers J., Soumis J., “A dynamic programming solution of the large-scale single vehicle dial-a-ride problem with time windows”.American Journal of Mathematical and Management Science 16, 301–325, (1986). [4] Glover F. “Future Paths for Integer Programming and Links to Artificial Intelligence”, Computers and Operations Research 13, 533-549, (1986). [5] Glover F., “Tabu Search – Part I”, Journal on Computing 1, 190206, (1989). [6] Glover F. “Tabu Search – Part II”, Journal on Computing 2, 4-32, (1990). [7] Glover F. and M. Laguna, “Tabu Search”, Kluwer Academic Publishers, Boston (1997). [8] Kammarti R., Hammadi S., Borne P., Ksouri M. “ A New Hybrid Evolutionary Approach for the Pickup and Delivery Problem With Time Windows”. IEEE SMC, The Hague, (2005). [9] Landrieu A., Mati Y., Binder Z. “A tabu search heuristic for the single vehicle pickup and delivery problem with time windows”, Journal of Intelligent Manufacturing, 12:497 - 508, (2001). [10] Li H., Lim A., “A metaheuristic for the pickup and delivery problem with time windows”, In IEEE International Conference on Tools with Artificial Intelligence, volume 13, pages 160–167, (2001). [11] Lin S., “Computer Solutions of the Traveling Salesman Problem”, Bell System Technical Journal 44, 2245-2269, (1965). [12] Psaraftis H.N., “An exact algorithm for the single vehicle many-tomany immediate request dial-a-ride problem with time windows”, Transportation Science 17, 351-357, (1983). [13] Psaraftis H.N., “Analysis of an O(N2) heuristic for the single vehicle many-to-many Euclidean dial-a-ride problem”. Transportation Research 17B, 133-145, (1983). [14] Savelsbergh M.P.W., SOL M., “The general pickup and delivery problem”, Transportation Science 29 (1), 17-29, (1995). [15] Sexton T.R., Bodin L.D., “The multiple-vehicle subscriber dial-aride problem”, Working paper MS /S 83-009, College of Business and Management, University of Maryland, (1983). [16] Sexton T.R., Bodin L.D., “Optimizing single vehicle many-to-many operations with desired delivery times: I. scheduling”, Transportation Science 19 (4), 378-410, (1985). [17] Sexton T.R., Bodin L.D., “Optimizing single vehicle many-to-many operations with desired delivery times: II. routing”, Transportation Science 19 (4), 411-435, (1985) . [18] Solomon M.M., “Algorithms for the vehicle Routing and Scheduling Problem with Time Window Constraints”, Operations Research, 41, 469488, (1987). [19] Taillard, E., P. Badeau, M. Gendreau, F. Guertin and J.-Y. Potvin, “A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows”, Transportation Science 31, 170-186, (1997).
687