European Journal of Operational Research 178 (2007) 699–717 www.elsevier.com/locate/ejor
Discrete Optimization
CLOVES: A clusterandsearch heuristic to solve the vehicle routing problem with delivery and pickup K. Ganesh, T.T. Narendran
*
Department of Management Studies, Indian Institute of Technology Madras, Chennai 600036, India Received 15 October 2004; accepted 11 January 2006 Available online 19 May 2006
Abstract This paper addresses the vehicle routing problem with sequenceconstrained delivery and pickup (VRPDP). We propose a multiphase constructive heuristic that clusters nodes based on proximity, orients them along a route using shrinkwrap algorithm and allots vehicles using generalized assignment procedure. We employ genetic algorithm for an intensive ﬁnal search. Trials on a large number of testproblems have yielded encouraging results. 2006 Elsevier B.V. All rights reserved. Keywords: Distribution; Logistics; Vehicle routing problem; Clustering; Genetic algorithm
1. Introduction The classical vehicle routing problem (VRP) involves routing (Golden and Assad, 1988) a ﬂeet of vehicles, each visiting a set of nodes such that every node is visited exactly once and by exactly one vehicle, with the objective of minimizing the total distance traveled by all the vehicles. It has been investigated exhaustively and has been proved to be nphard (Lenstra and Rinnooy Kan, 1976). The classical VRP has variants depending on tasks performed and on some constraints. We address a problem with a mix of nodes that require pure delivery, pure pickup or both delivery and pickup. Such a problem exists in blood banks in a public health care system in which the logistics involves distribution of blood from the bank to a string of hospitals, collection of blood from blood camps and, sometimes, collection as well as distribution at a few hospitals. For operational reasons, collection from camps will have to be done at the end of a trip. This imposes the constraint that nodes that involve only delivery and those that involve both delivery and pickup must be visited ahead of nodes that require only pickup. The problem is to be addressed under the conditions that all vehicles must return to the node of origin (depot) and that every node will be visited exactly once. We seek to develop a uniﬁed heuristic that addresses the VRPDP, solves it within reasonable limits of accuracy and computational time and is also
*
Corresponding author. Email addresses:
[email protected] (K. Ganesh),
[email protected] (T.T. Narendran).
03772217/$  see front matter 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2006.01.037
700
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
applicable to the classical VRP and VRP with backhauls (VRPB). When embedded in the planner’s software, it can be a valuable tool towards providing service of high quality at low cost. The remainder of the paper is organized as follows: Section 2 presents a review of literature. Section 3 contains a description of the methodology. Section 4 provides the results and comparison while Section 5 presents the conclusions. 2. Literature summary The combined delivery and pickup problem has the following variants: 1. Vehicle routing problem with backhauls (VRPB): This has delivery and pickup with the condition that all deliveries must be completed before commencing pickup. 2. Vehicle routing problem with mixed delivery and pickup (VRPMD): This has delivery alone at some nodes and pickup alone at some nodes with no constraint on sequence or on multiple visits by a vehicle to a node. 3. Vehicle routing with simultaneous delivery and pickup (VRPSDP): This has delivery and pickup at every node of visit. Table 1 presents a summary of the existing literature on these three variants of the VRP. We consider a hybrid version which combines the features of VRPB and VRPSDP. It has some nodes exclusive for delivery or pickup while others require simultaneous delivery and pickup. The VRP with this feature has not been considered in literature. The sequence is pure delivery, delivery and pickup and pure pickup. As suggested by Fisher and Jaikumar (1981) and Toth and Vigo (1999), we develop a constructive heuristic to provide good initial solutions to Genetic Algorithm and thereby accelerate its convergence.
Table 1 Literature summary Variants
Methodology
Author and Year
VRPB
Extensions of savings algorithm (Clarke and Wright, 1964) List processing heuristic, set covering heuristic using Lagrangian relaxation Spaceﬁlling curves for clustering and routing followed by improvement procedures
Deif and Bodin (1984) Yano et al. (1987) Goetschalckx and JacobsBlecha (1989) Min et al. (1992) JacobsBlecha and Goetschalckx (1993) Anily (1996) Thangiah et al. (1996) Toth and Vigo (1996) Toth and Vigo (1997) Gendreau et al. (1997) Toth and Vigo (1999) Osman and Wassan (2002)
Clustering, improvement procedure for solving TSP Joint clustering for pickup and delivery nodes followed by assignment Clustering, solving TSPs, assignment, ﬁnally constructing routes Insert both pickups and deliveries one by one, then use improvement procedures Separate clustering, matching clusters, solving TSPs, improvement procedures Exact method (Lagrangian branchandbound procedure) Create a minimal spanning tree, transform to TSP Clustering, solving TSP, improvement procedures Initial solution based on savinginsertion or savingassignment, plus reactive tabu search VRPMD
VRP for linehaul; backhauls inserted using stopbased criterion VRP for linehaul; backhauls inserted using loadbased criterion Solving TSPs, then reinserting depot Creation of minimum spanning tree; transformation to a TSP VRP for linehaul nodes, backhauls inserted in clusters or one by one VRP for linehaul nodes, backhauls brought in by insertion heuristic Initial solution based on constructive heuristic, followed by improvement procedures
Golden et al. (1985) Casco et al. (1988) Mosheiov (1994) Anily and Mosheiov (1994) Salhi and Nagy (1999) Wade and Salhi (2002) Nagy and Salhi (2005)
VRPSDP
Clustering; solving TSPs; penalization of infeasible arcs; resolving TSPs Solving as TSP; ﬁnding pickup and delivery order on TSPtour Insertion procedure Initial solution based on constructive heuristic; improvement procedures
Min (1989) Gendreau et al. (1999) Dethloﬀ (2001) Nagy and Salhi (2005)
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
701
3. Problem description: VRPDP A ﬂeet of V vehicles, each of capacity Q, originating from a single, common depot must serve a set of N nodes. V could either be an input speciﬁed by the user or a parameter that is evaluated at diﬀerent settings so that its best value could be ascertained. Each node i is characterized by its geographical location and its delivery and pickup requirements di and pi. Each vehicle must leave from and return to the node of origin. A solution is a set of, at most, V routes such that all the nodes are visited exactly once without violating the constraint on capacity. The problem consists of determining a route for each vehicle so as to serve a set of nodes such that the total distance traversed is minimal. Each vehicle makes exactly one trip. The load carried by a vehicle between any pair of adjacent nodes on the route must not exceed capacity. If a node requires both delivery and pickup, delivery precedes pickup. In every route, delivery and delivery and pickup nodes should be visited before the pickup nodes. No route should comprise pickup nodes exclusively. 4. Approach for solving the VRPDP We propose a fourstage algorithm, CLOVES • to CLuster nodes, based on proximity, and determine the set of nodes that each vehicle will visit, • to Orient the nodes in each cluster so that a route is identiﬁed for each vehicle, • to assign VEhicles to the routes in conformance with the restrictions on sequence and on maximum loads and • to use this constructed solution as the input to Search for the best solution using GA. 4.1. Clustering Clustering is a classiﬁcation technique to group a set of objects into clusters such that the objects in the same cluster are similar in some sense and those in diﬀerent clusters are dissimilar in the same sense. Proximity or distance measures are often used as the basis for clustering the objects (Anderberg, 1973). 4.1.1. Description There are three classes of nodes, viz., delivery nodes (d), delivery and pickup nodes (dp) and pickup nodes (p), where d = {1, 2, . . . , D}, dp = {1, 2, . . . , DP}, p = {1, 2, . . . , P} and N = {d [ dp [ p}. The steps are as follows: (1) Classify the N nodes into D, DP and P nodes. (2) Construct the distance matrix for each set using the Euclidean coordinates. (3) Choose the number of initial seeds (Z) in the distance matrix from Row 0 (distances from depot to nodes). Take roughly half the number of seeds as nodes which are farthest from the depot and the rest from the nodes that are nearest to the depot. Zd, Zdp, and Zp are the numbers of seeds for the sets D, DP and P Kd, Kdp and Kp, are the numbers of clusters for the sets D, DP and P (Zd, Zdp, ZpKd, Kdp and Kp P 1) Zdi, Zdpi, Zpi (i = 1, 2, . . . , k) are the seeds for the sets D, DP, P, respectively. (4) Form the initial clusters using the chosen seeds Assign point Xw, w = 1, 2, . . . , d to cluster Cdu, u 2 {1, 2, . . . , Kd} for the set D. iﬀ kXw Zuk < kXw Zgk, g = 1, 2, . . . , Kd, and u # g Resolve ties arbitrarily. Assign point Xy, y = 1, 2, . . . , dp to cluster Cdpv, v 2 {1, 2, . . . , Kdp} for the set DP. iﬀ kXy Zvk < kXy Zgk, g = 1, 2, . . . , Kdp, and v # g Resolve ties arbitrarily. Assign point Xi, i = 1, 2, . . . , p to cluster Cpj, j 2 {1, 2, . . . , Kp} for the set P. iﬀ kXi Zjk < kXi Zgk, g = 1, 2, . . . , Kp, and j # g Resolve ties arbitrarily.
702
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
If any seed fails to gather a cluster around it, consider the next farthest or nearest node as the seed, as is appropriate, and repeat the process. (5) If the total load of any cluster exceeds the vehicle capacity Q, recompute the seeds Z dw ; Z dpy ; Z pi for the sets D, DP and P as follows: 1 X Z dw ¼ X u ; w ¼ 1; 2; . . . ; K d ; nw X u ¼Cw 1 X X y ; y ¼ 1; 2; . . . ; K dp ; Z dpy ¼ ny X v ¼Cy 1 X Z pi ¼ X j ; i ¼ 1; 2; . . . ; K p ; ni X j ¼Ci nw, ny and ni are the numbers of elements belonging to clusters Cw, Cy and Ci. If Z dw ¼ Z dw , w = 1, 2, . . . , Kd for the set D, then go to Step 6. Else, repeat steps 2–4. If Z dpy ¼ Z dpy , y = 1, 2, . . . , Kdp for the set DP, then go to Step 6. Else, repeat steps 2–4. If Z pi ¼ Z pi , i = 1, 2, . . . , Kp for the set P, then go to Step 6. Else, repeat steps 2–4. (6) If the total load of any cluster still exceeds the vehicle capacity Q, remove nodes, as required, from overloaded clusters and reassign them to the next nearest seed such that the vehicle capacity Q is not exceeded in any cluster. 4.2. Orientation of nodes In each feasible cluster obtained, we orient the nodes along a route using the ShrinkWrap Algorithm (Lawler et al., 1985; Sofge et al., 2002). The nodes are mapped on polar coordinates, sorted by angle, then by distance (h ﬁrst, then q) and arranged in ascending order. This gives the route to be traversed within each cluster. Brieﬂy, the steps are: (1) Convert the coordinates of all the nodes to polar coordinates (h, q). (2) Sort the list of nodes in ascending order of h. If the h of two nodes are equal, then sort by q. (3) Join the nodes in the sorted list in the same sequence to obtain the route for each cluster. 4.3. Vehicle allocation Here, we allocate vehicles to the routes identiﬁed for each cluster. The number of vehicles available is known a priori (Petch and Salhi, 2003). Vehicles must visit nodes in the order, delivery, delivery and pickup and pickup. Routes that involve only pickup are not allowed. For allotting vehicles to the routes identiﬁed for each cluster so as to minimize the total cost, we use the generalized assignment procedure (GAP), which addresses the capacity constraints (Fisher and Jaikumar, 1981). The application of GAP to the current problem is explained here. 4.3.1. Extended GAP GAP is used to ﬁnd the minimum cost assignment of v vehicles to n clusters such that each vehicle is assigned to exactly one cluster, subject to its available capacity. While applying GAP, each cluster is treated as a node. Since the number of clusters depends upon the number of vehicles, the problem will be relatively small and can be solved by the extended GAP in reasonable computing time. The extended GAP is similar to the heuristic of Fisher and Jaikumar (1981) for VRP. The problem can be formulated as follows: Notations v = {1, 2, . . . , V} a set of vehicles n = {1, 2, . . . , N} be a set of clusters Cn is the cost of assigning a vehicle to cluster n; "n 2 N
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
703
un the maximum load that will have to be carried in cluster n tv remaining capacity of each partially loaded vehicle v Xvn = 1 if vehicle v assigned to cluster n = 0 otherwise. The mathematical formulation of the GAP is XX Minimize C n X vn v2V
Subject to
X
ð4:3:1:1Þ
n2N
X vn ¼ 1
for n ¼ 1; . . . ; N ;
ð4:3:1:2Þ
v2V
X
for v ¼ 1; . . . ; V ;
un X vn 6 tv
ð4:3:1:3Þ
n2N
X vn 2 f0; 1g
for v ¼ 1; . . . ; V and n ¼ 1; . . . ; N ;
ð4:3:1:4Þ
(4.3.1.2) ensures that each cluster is assigned to exactly one vehicle and (4.3.1.3) ensures that the maximum load in a cluster does not exceed the capacity of the vehicle assigned to that cluster. 4.3.2. Procedure (1) (2) (3) (4) (5) (6) (7) (8) (9)
Treat each cluster as a node. Find the coordinates of each cluster’s centroid. Construct the matrix of distances between every pair of clusters. Find the cumulative delivery and pickup load for each cluster. From the delivery clusters, choose that which is nearest to the depot. Check for load feasibility. Complete the route by including delivery and pickup clusters next, followed by pickup clusters. If the route is not load feasible, increase the number of vehicles and go to step (5). Check the distance from the depot to the ﬁrst and last node of each delivery cluster and choose the nearer of the two as the ﬁrst point of visit for a route. (10) Find the sequence of nodes for each vehicle using nearest neighbour principle and Stop. Fig. 1 shows an illustrative example, in which two vehicles are routed through a sequence of clusters. Vehicle 1 goes to D cluster 1, DP cluster 4 and P cluster 6 while vehicle 2 covers D cluster 2, DP cluster 3 and P cluster 5 in that order. 4.4. Intensive search using GA The solution obtained by the three phases of the proposed constructive heuristic is used as the input to the proposed GA (Goldberg, 1989). We expect the initial population of structured solutions to evolve to highquality solutions within a relatively small number of generations. 4.4.1. Description of GA In the application of GA, we seek to design eﬃcient genetic operators for crossover and for mutation. The proposed GA uses a suitable twopoint crossover operator and an insertion operator for mutation. The ﬂow chart for the proposed GA is shown in Fig. 2. 4.4.2. Description of proposed GA (1) For VRPDP, a string (chromosome) is a solution set that shows the order in which nodes are visited, category of nodes, viz., delivery, delivery and pickup or pickup and the ordinal number of the vehicle assigned.
704
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
Delivery nodes (D)
Delivery and Pickup Nodes (DP)
V1
Pickup nodes (P)
V1
V2
V2
V1
V2 1 3 5
2
6
4
Depot Fig. 1. Vehicle allocation by extended GAP.
Start Obtain initial solution from the third stage using Oropt exchange Evaluation: Compute objective function; Find fitness value using rank based evaluation.
Selection: Choose chromosome using roulette wheel approach
Crossover: Effect crossover using twopoint crossover operator Mutation: Effect mutation using insertion operator Next generation: Identify the offspring Evaluate fitness of the new offspring
No
Iterations over?
Yes Print the best result Stop Fig. 2. Flow chart for proposed GA.
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
705
Hence we represent the solution in the form of Xiv where X denotes the node (X 2 N) i indicates D, DP or P v indicates vehicle, (v 2 V) A sample string is shown: 1D 1 3D 1 4D 1 6DP 1 5D 1 8DP 1 9DP 2 7P 2 2P 2 (2) Initialize: Generate the initial population (popsize) using Oropt exchange (Or, 1976; Taillard et al., 1997) from the structured initial string obtained by the route construction heuristic up to the required population size by satisfying the string feasibility. Disallow strings that are exact replicas of the existing members of the population. String feasibility The removal of one node from its original position and insertion in another position in the same string should be load feasible (Casco et al., 1988; Dethloﬀ, 2001). Notations RDCi remaining delivery capacity prior to the insertion of node i RPCi remaining pickup capacity prior to the insertion of node i SRi immediate successor of node i PRi immediate predecessor of node i Ui remaining load on vehicle after servicing node i N {1, 2, . . . , s, . . . , i} For the insertion of node s after node i, check for the following feasibility condition: ds 6 RDC (PRi), ps 6 RPC (SRi), where N X d i; RDC 0 ¼ Q i¼1
RDC i ¼ min½RDCðPRi Þ; Q U i ; N X RPCðPR0 Þ ¼ Q pi ;
where i ¼ 1; . . . ; N ;
i¼1
RPC i ¼ min½RPCðSRi Þ; Q U i ;
where i ¼ 1; . . . ; N :
(3) Evaluate ﬁtness function: Evaluate each string by the total distance traveled through all the routes. The following procedure of rankbased evaluation is proposed to assess the merit of the string (Gen and Liu, 1995). (a) Calculate the objective function g(p) (Eq. (3.1.1)). (b) Identify the string with the maximum value of objective function, gmax. (c) Transform the objective function to a score function f(p) as follows: f ðpÞ ¼ gmax gðpÞ
where gðpÞ 6 gmax :
(d) Rank(kj) the strings in ascending order of the score function f(p). (e) To each string sj assign a value evalðsj Þ ¼ að1 aÞ
k j 1
;
where a[a 2 (0, 1)] must be assigned by the user. (f) Compute the cumulative probabilities qi for each string qi ¼
i X
evalðsj Þ:
j¼1
Provide a higher chance to strings with good ﬁtness value to be selected as parents for producing the next generation.
706
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
(4) Select best strings: Use Holland’s proportionate selection, (Holland, 1975) known as roulette wheel selection, for creating a new population for the next generation. Every string carries a probability of being selected at any time, which is proportional to the normalized reciprocal of its ﬁtness value. The selection process is based on obtaining popsize random numbers and selecting a single string for a new population as shown below: (a) Generate a random number r in [0, 1]. (b) Select the jth string sj(1 6 j 6 popsize) such that (qj1 6 r < qj). (c) Repeat steps (a) and (b) popsize times and obtain that many strings. (5) Crossover: Apply the crossover operator to each of the N/2 pairs of strings in the mating pool with a crossover probability Pc. Use a two point crossover; select a pair of crossing points randomly, along the length of the ﬁrst parent string. Based on the string length, generate two crossover points randomly to select a segment in another parent between these crossover points. Generate the oﬀspring by arranging the elements of the selected segment in this parent according to the order in which they appear in the other parent, with the order of the remaining elements being the same as in the ﬁrst node; check it for feasibility. Exchange the role of these parents to generate another oﬀspring. We implement two versions of the operator, labeled C1 and C2. In the ﬁrst version (Fig. 3), the nodes outside the two selected points are copied into the proto child and the remaining nodes are copied from the second parent in the order of their appearance. In Fig. 3, the two crossing points are the nodes 5 and 7. In the second version of the operator (Fig. 4), we copy the sequence of the nodes between the selected crossing points into the child and take the remaining nodes from the second parent in the order of their appearance. Here is an illustration of the crossover operator: Crossing Point Parent 1
1 2 3 4 5 6 7 8 9
Proto child
1 2 3 4
Final child
1 2 3 4 7 5 6 8 9
Parent 2
7 3 1 8 5 2 9 6 4
  
8 9
Fig. 3. Two point crossover (C1).
Crossing Point Parent 1
1 2 3 4 5 6 7 8 9
Proto child


Final child
3
1 8 2 5 6 7 9 4
Parent 2
7 3 1 8 5 2 9 6 4
 
5 6 7 

Fig. 4. Two point crossover (C2).
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
707
Select two strings randomly from the population and denote them as parent 1 and parent 2. Consider two random crossover points: iv and vii. Exchange the selected segment between two parents to produce oﬀspring as shown in Figs. 3 and 4. (6) Mutate: The mutation operator makes random changes to one or more nodes of the string. The neighbourhood solution is altered by an insertionmutation operator (Gen and Cheng, 1997). Mutation is done with a small probability called Mutation Probability (Pm) in order to obtain new strings that are included if found possible. (7) Termination: Stop, if the same solution repeats or if the maximum number of generations has been reached; else, go to Step 3. 5. Results and analysis CLOVES algorithm is coded in C and run on a PC Pentium IV 1.70 GHz processor. There is no benchmark problem available in the literature for VRPDP. VRP does not consider pickup or delivery and pickup nodes; VRPB considers delivery nodes which precede pickup nodes, but does not include concurrent
Table 2 Comparison of CLOVES with best solution value of VRP datasets: Christoﬁdes and Eilon (1969) Problem number
No. of nodes
Optimal solution value (OS)a
Constructed initial solution
% Deviation from OS
CLOVES ’ solution
% Deviation from OS
CPU time (seconds)
CLOVES ’ best solution
% Deviation from OS
En13k4 En22k4 En23k3 En30k3 En31k7 En33k4 En51k5 En76k7 En76k8 En76k10 En76k14 En101k8 En101k14
12 21 22 29 30 32 50 75 75 75 75 100 100
247 375 569 534 379 835 521 682 735 830 1021 815 1071
260 410 602 566 409 865 630 853 956 963 1294 969 1354
5.26 9.33 5.80 5.99 7.92 3.59 20.92 25.07 30.07 16.02 26.74 18.90 26.42
247 375 569 534 379 835 521 694 740 867 1032 830 1099
0 0 0 0 0 0 0 1.76 0.68 4.46 1.08 1.84 2.61
0.32 0.41 0.45 0.63 0.68 0.96 1.82 7.71 6.96 2.42 8.43 6.52 7.16
247 375 569 534 379 835 521 690 738 867 1032 830 1099
0 0 0 0 0 0 0 1.17 0.41 4.46 1.08 1.84 2.61
Average relative percentage deviation a
15.54
0.96
0.89
http://www.branchandcut.org/VRP.
Table 3 Comparison of CLOVES with best solution value of VRP datasets: Christoﬁdes et al. (1979) Problem number
No. of nodes
Bestknown solution value (BS)a
Constructed initial solution
% Deviation from BS
CLOVES ’ solution
% Deviation from BS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from BS
C1 C2 C3 C4 C5 C11 C12
50 75 100 150 199 120 100
524.61 835.26 826.14 1028.42 1291.45 1042.11 819.56
531.90 902.04 879.43 1147.41 1473.4 1049.43 824.42
1.39 8.00 6.45 11.57 14.09 0.70 0.59
524.61 835.26 826.14 1030.46 1304.37 1042.11 819.56
0 0 0 0.20 1.00 0 0
0.21 6.23 9.63 44.84 159.43 6.73 0.89
524.61 835.26 826.14 1029.56 1298.79 1042.11 819.56
0 0 0 0.11 0.57 0 0
Average relative percentage deviation a
Gendreau et al. (1998).
6.11
0.17
0.10
708
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
Table 4 Comparison of CLOVES with best solution value of VRP datasets Augerat et al. (1995) Problem number
No. of nodes
Optimal solution value (OS)a
Constructed initial solution
% Deviation from OS
CLOVES ’ solution
% Deviation from OS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from OS
An32k5 An33k5 An33k6 An34k5 An36k5 An37k5 An37k6 An38k5 An39k5 An39k6 An44k6 An45k6 An45k7 An46k7 An48k7 An53k7 An54k7 An55k9 An60k9 An61k9 An62k8 An63k9 An63k10 An64k9 An65k9 An69k9 An80k10 Bn31k5 Bn34k5 Bn35k5 Bn38k6 Bn39k5 Bn41k6 Bn43k6 Bn44k7 Bn45k5 Bn45k6 Bn50k7 Bn50k8 Bn51k7 Bn52k7 Bn56k7 Bn57k7 Bn57k9 Bn63k10 Bn64k9 Bn67k10 Bn68k9 Bn78k10 Pn16k8 Pn19k2 Pn20k2 Pn21k2 Pn22k2 Pn22k8
31 32 32 33 35 36 36 37 38 38 43 44 44 45 47 52 53 54 59 60 61 62 63 63 64 68 79 30 33 34 37 38 40 42 43 44 44 49 49 50 51 55 56 56 62 63 66 67 77 15 18 19 20 21 21
784 661 742 778 799 669 949 730 822 831 937 944 1146 914 1073 1010 1167 1073 1354 1034 1288 1616 1314 1401 1174 1159 1763 672 788 955 805 549 829 742 909 751 678 741 1312 1032 747 707 1153 1598 1496 861 1032 1272 1221 450 212 216 211 216 603
822 684 768 814 829 710 989 785 884 897 998 1010 1230 1016 1197 1295 1363 1254 1740 1334 1656 2149 1943 1786 1577 1491 2215 734 878 1070 895 654 960 890 1190 990 964 1082 1458 1168 1005 941 1701 2126 2033 1370 1481 1558 1527 510 254 246 261 280 693
4.85 3.48 3.50 4.63 3.75 6.13 4.21 7.53 7.54 7.94 6.51 6.99 7.33 11.16 11.56 28.22 16.80 16.87 28.51 29.01 28.57 32.98 47.87 27.48 34.33 28.65 25.64 9.23 11.42 12.04 11.18 19.13 15.80 19.95 30.91 31.82 42.18 46.02 11.13 13.18 34.54 33.10 47.53 33.04 35.90 59.12 43.51 22.48 25.06 13.33 19.81 13.89 23.70 29.63 14.93
784 661 742 778 799 669 949 730 822 831 937 944 1146 914 1073 1017 1201 1081 1403 1113 1321 1662 1332 1430 1230 1199 1786 672 788 955 805 549 829 742 909 751 678 741 1322 1057 747 748 1236 1614 1541 877 1040 1317 1287 450 212 216 211 216 603
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.69 2.91 0.75 3.62 7.64 2.56 2.85 1.37 2.07 4.77 3.45 1.3 0 0 0 0 0 0 0 0 0 0 0 0.76 2.42 0 5.8 7.2 1 3.01 1.86 0.78 3.54 5.41 0 0 0 0 0 0
3.21 4.21 3.67 4.23 4.12 5.21 5.02 5.23 5.73 4.23 5.56 4.87 6.23 6.56 5.44 7.54 5.21 7.32 11.21 4.52 7.52 10.32 10.77 7.64 6.53 5.62 10.23 4.23 3.43 5.38 4.73 2.45 3.78 4.81 5.75 6.24 6.18 5.94 6.55 3.42 4.12 12.23 4.56 15.32 11.21 13.21 15.62 8.21 11.28 3.43 3.21 2.45 2.89 3.45 3.76
784 661 742 778 799 669 949 730 822 831 937 944 1146 914 1073 1017 1172 1073 1358 1038 1288 1627 1322 1410 1177 1163 1780 672 788 955 805 549 829 742 909 751 678 741 1318 1032 747 710 1193 1599 1510 864 1037 1275 1260 450 212 216 211 216 603
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.69 0.43 0 0.3 0.39 0 0.68 0.61 0.64 0.26 0.35 0.96 0 0 0 0 0 0 0 0 0 0 0 0.46 0 0 0.42 3.47 0.06 0.94 0.35 0.48 0.24 3.19 0 0 0 0 0 0
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
709
Table 4 (continued) Problem number
No. of nodes
Optimal solution value (OS)a
Constructed initial solution
% Deviation from OS
CLOVES ’ solution
% Deviation from OS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from OS
Pn23k8 Pn40k5 Pn45k5 Pn50k7 Pn50k8 Pn50k10 Pn51k10 Pn55k7 Pn55k10 Pn55k15 Pn60k10 Pn60k15 Pn65k10 Pn70k10 Pn76k4 Pn76k5 Pn101k4
22 39 44 49 49 49 50 54 54 54 59 59 64 69 75 75 100
529 458 510 554 631 696 741 568 694 989 744 968 792 827 593 627 681
630 570 590 684 867 880 891 687 889 1198 955 1245 922 1057 734 793 788
19.09 24.45 15.69 23.47 37.40 26.44 20.24 20.95 28.10 21.13 28.36 28.62 16.41 27.81 23.78 26.48 15.71
529 458 510 554 650 696 741 568 703 989 764 1008 809 876 593 627 693
0 0 0 0 3.01 0 0 0 1.3 0 2.69 4.13 2.15 5.93 0 0 1.76
4.32 7.32 6.65 8.21 11.21 8.34 7.48 7.86 9.21 8.25 4.56 2.38 5.12 7.23 6.43 7.99 8.21
529 458 510 554 643 696 741 568 698 989 744 968 800 827 593 627 687
0 0 0 0 1.9 0 0 0 0.58 0 0 0 1.01 0 0 0 0.88
Average relative percentage deviation a
21.87
1.21
0.27
http://www.branchandcut.org/VRP.
delivery and pickup nodes. Hence, for the purpose of comparison, the proposed methodology is tested on VRP datasets, VRRDP derived from VRP datasets and VRPB datasets. 5.1. Performance of CLOVES The number of nodes, the bestknown solution value reported in the literature, the solution obtained by the construction heuristic, the solution and the CPU time for CLOVES and the best solution obtained by CLOVES are reported for all datasets. A statistic called Relative percentage Deviation (RD) is calculated for each solution as follows: RD ¼
ðObtained solution Optimal or Best known solutionÞ 100: Optimal or Best known solution
An average of the RD’s is then calculated for the best solutions and presented in last row of each table. Computing times, though reported, are not used for comparison owing to possible variations in the conﬁgurations of hardware and software used. Table 5 Comparison of CLOVES for VRPDP datasets derived from VRP datasets Problem number
No. of nodes
Lower bound (LB)a
Constructed initial solution
% Deviation from LB
CLOVES ’ solution
% Deviation from LB
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from LB
Z1 Z2 Z3 Z4 Z5 Z11 Z12
50 75 100 150 199 120 100
524.61 835.26 826.14 1028.42 1291.45 1042.11 819.56
601.34 985.54 994.73 1198.21 1476.32 1267.34 992.87
14.63 17.99 20.41 16.51 14.31 21.61 21.15
603.11 872.86 923.74 1178.13 1484.07 1072.01 873.16
14.9635 4.501592 11.81398 14.51839 14.38073 2.869179 0.122017
0.23 17.23 19.63 124.84 179.43 7.43 1.91
603.11 872.86 923.74 1177.45 1477.01 1070.23 873.08
14.9635 4.501592 11.81398 14.49116 14.36835 2.698372 6.530333
Average relative percentage deviation a
Gendreau et al. (1998).
18.09
10.02
9.91
710
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
Table 6 Comparison of CLOVES with best solution value of VRPB datasets: Goetschalckx and JacobsBlecha (1989) using a realvalued cost matrix Problem number
No. of nodes
Bestknown solution value (BS)a
Constructed initial solution
% Deviation from BS
CLOVES ’ solution
% Deviation from BS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from BS
A1 A2 A3 A4 B1 B2 B3 C1 C2 C3 C4 D1 D2 D3 D4 E1 E2 E3 F1 F2 F3 F4 G1 G2 G3 G4 G5 G6 H1 H2 H3 H4 H5 H6 I1 I2 I3 I4 I5 J1 J2 J3 J4 K1 K2 K3 K4 L1 L2 L3 L4 L5 M1
25 25 25 25 30 30 30 40 40 40 40 38 38 38 38 45 45 45 60 60 60 60 57 57 57 57 57 57 68 68 68 68 68 68 90 90 90 90 90 94 94 94 94 113 113 113 113 150 150 150 150 150 125
229885.65 180119.21 163405.38 155796.41 239080.15 198047.77 169372.29 250556.77 215020.23 199345.96 195366.63 322530.13 316708.86 239478.63 205831.94 238879.58 212263.11 206659.17 264299.60 265653.47 241120.77 233861.85 306305.40 245440.99 229507.48 235251.47 221730.35 213457.45 268933.06 253365.50 247449.04 250220.77 246121.31 249135.32 351606.91 309955.04 294507.38 295999.65 302524.33 335593.42 310800.53 279219.21 296773.38 395546.40 363214.24 366222.05 349038.84 426017.86 402245.17 403886.22 384844.01 388061.69 400860.79
269043.35 215498.79 182510.62 197540.59 276818.85 246210.23 205802.71 315724.23 251247.77 204746.04 228197.37 357408.87 337234.14 266258.37 226167.06 296152.42 280137.89 269169.83 290315.40 336390.53 300311.23 294197.15 373821.60 297112.01 275023.52 297011.53 289113.65 259111.55 338112.94 313645.50 301342.96 291608.23 279871.69 291981.68 447451.09 391123.96 337231.62 368732.35 372785.67 341124.58 361098.47 331643.79 348714.62 441532.60 438771.76 451210.95 411982.16 584527.14 539122.83 435851.78 498594.99 431388.31 491884.21
17.03 19.64 11.69 26.79 15.78 24.32 21.51 26.01 16.85 2.71 16.80 10.81 6.48 11.18 9.88 23.98 31.98 30.25 9.84 26.63 24.55 25.80 22.04 21.05 19.83 26.25 30.39 21.39 25.72 23.79 21.78 16.54 13.71 17.20 27.26 26.19 14.51 24.57 23.23 1.65 16.18 18.78 17.50 11.63 20.80 23.21 18.03 37.21 34.03 7.91 29.56 11.16 22.71
229885.65 180119.21 163405.38 155796.41 239080.15 198047.77 169372.29 251502.50 215020.23 199345.96 195366.63 322530.13 316708.86 239478.63 205881.56 238879.58 212263.11 206659.17 264299.60 265653.47 241120.77 233861.85 306305.40 245440.99 229507.48 235251.47 221730.35 213457.45 268933.06 253365.50 247449.04 250220.77 246121.31 249135.32 351905.01 311649.29 294507.38 296903.67 302529.34 336975.93 311077.00 281458.02 296773.38 397769.29 365217.96 367767.39 350899.52 426659.89 402245.17 406873.02 385133.49 388211.73 401255.14
0 0 0 0 0 0 0 0.377451 0 0 0 0 0 0 0.024107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.084782 0.546612 0 0.305413 0.001656 0.41196 0.088954 0.801811 0 0.56198 0.551663 0.421968 0.533087 0.150705 0 0.739515 0.07522 0.038664 0.098376
20.82 24.52 18.50 17.59 47.28 36.29 17.42 120.81 68.71 33.53 29.86 107.14 113.00 74.01 62.35 136.57 78.25 76.29 190.13 193.14 143.54 132.61 231.80 207.47 217.11 186.30 148.52 189.35 170.88 247.09 268.59 288.60 240.54 196.63 304.07 299.13 297.35 346.67 297.04 336.64 360.68 319.14 325.78 558.88 578.11 616.89 576.46 898.18 792.50 832.02 787.92 835.22 693.18
229885.65 180119.21 163405.38 155796.41 239080.15 198047.77 169372.29 251502.50 215020.23 199345.96 195366.63 322530.13 316708.86 239478.63 205881.56 238879.58 212263.11 206659.17 264299.60 265653.47 241120.77 233861.85 306305.40 245440.99 229507.48 235251.47 221730.35 213457.45 268933.06 253365.50 247449.04 250220.77 246121.31 249135.32 351606.91 309955.04 294507.38 295999.65 302524.33 336165.45 310417.21b 279219.21 296773.38 395546.40 363214.24 366222.05 349038.84 426017.86 402245.17 403886.22 385133.49 388211.73 401255.14
0 0 0 0 0 0 0 0.377451 0 0 0 0 0 0 0.024107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.170453 0.123333 0 0 0 0 0 0 0 0 0 0.07522 0.038664 0.098376
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
711
Table 6 (continued) Problem number
No. of nodes
Bestknown solution value (BS)a
Constructed initial solution
% Deviation from BS
CLOVES ’ solution
% Deviation from BS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from BS
M2 M3 M4 N1 N2 N3 N4 N5 N6
125 125 125 150 150 150 150 150 150
398908.71 377352.81 348624.42 408926.40 409280.16 396167.85 397753.86 376431.84 377665.19
428122.29 441123.19 428124.58 609121.60 458123.84 499201.15 499921.14 431295.16 431211.81
7.32 16.90 22.80 48.96 11.93 26.01 25.69 14.57 14.18
399239.75 378716.96 349471.24 409588.92 409280.16 398275.45 397810.09 376431.84 383264.53
0.082986 0.361505 0.242903 0.162014 0 0.531997 0.014137 0 1.48262
645.91 672.32 639.81 797.09 825.63 798.61 844.80 873.94 880.57
397655.71b 378716.96 349471.24 409588.92 409280.16 398275.45 397810.09 376431.84 383264.53
0.314107 0.361505 0.242903 0.162014 0 0.531997 0.014137 0 1.48262
Average relative percentage deviation a b
20.08
0.140195
0.0506776
Osman and Wassan (2002). CLOVES ’ solution better than the existing bestknown solution.
5.1.1. VRP datasets of Christoﬁdes and Eilon (1969) These are denoted as WnYkZ, where W is equal to instance series E, Y, the number of nodes and Z, the number of routes. The results are shown in Table 2. 5.1.2. VRP datasets of Christoﬁdes et al. (1979) The test problems which have been taken from Christoﬁdes et al. (1979) are identiﬁed with their original number, preﬁxed, with letter C. The problems C1 to C5, C11 and C12 without maximum route length constraint are taken. The results are shown in Table 3. 5.1.3. VRP datasets of Augerat et al. (1995) These instances are denoted as XnYkZ, where X is equal to instance series (i.e., A, B, P), Y, the number on nodes and Z, the number of routes. The results are shown in Table 4. All the VRP datasets are available at http://www.branchandcut.org/VRP, maintained by T.Ralphs (LehighUniversity, Bethlehem, PA). 5.1.4. Derived VRPDP datasets from Christoﬁdes et al. (1979) The next set of data is taken from literature pertaining to VRP. Here, the best solutions reported for VRP are taken as lower bounds, while we superimpose the VRPDP features on this set of problems and the datasets are named as Z1 to Z5, Z11 and Z12. The results are shown in Table 5. 5.1.5. VRPB datasets of Goetschalckx and JacobsBlecha (1989) The Goetschalckx and JacobsBlecha (1989) problems have long existed as benchmarks among datasets for VRPB. In the test problems, the total number of nodes range from 25 to 150 with 14 diﬀerent groups. In each group, the capacity and the ﬂeetsizes vary. In each group, linehaul percentages of 50%, 66%, and 80% are considered. The problem input data and the solution values are available in the internet website http://www.isye.gatech.edu/people/faculty/Marc_Goetschalckx/cali/Lineback/EvalOnly/Lhbhcase.txt. In the literature, the Euclidean distances between pairs of nodes are computed in two diﬀerent ways. In one method, the Euclidean distances are shown in a realvalued cost matrix; the solution is rounded oﬀ to the nearest integer. In the other method, the Euclidean distances are multiplied by 10 and rounded oﬀ to the nearest integer and presented as an integervalued cost matrix. Finally, this solution is divided by 10 and rounded oﬀ to the nearest integer. Both forms are used for comparing the results. Table 6 reports the results obtained by CLOVES using realvalued cost matrices, while Table 7 reports those obtained by CLOVES using integervalued cost matrices. An illustrated example from this dataset is given in Appendix.
712
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
Table 7 Comparison of CLOVES with best solution value of VRPB datasets: Goetschalckx and JacobsBlecha (1989) using an integervalued cost matrix Problem number
No. of nodes
Bestknown solution value (BS)a
Constructed initial solution
% Deviation from BS
CLOVES ’ solution
% Deviation from BS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from BS
A1 A2 A3 A4 B1 B2 B3 C1 C2 C3 C4 D1 D2 D3 D4 E1 E2 E3 F1 F2 F3 F4 G1 G2 G3 G4 G5 G6 H1 H2 H3 H4 H5 H6 I1 I2 I3 I4 I5 J1 J2 J3 J4 K1 K2 K3 K4 L1 L2 L3 L4 L5 M1 M2 M3
25 25 25 25 30 30 30 40 40 40 40 38 38 38 38 45 45 45 60 60 60 60 57 57 57 57 57 57 68 68 68 68 68 68 90 90 90 90 90 94 94 94 94 113 113 113 113 150 150 150 150 150 125 125 125
229884 180117 163403 155795 239077 198045 169368 250557 215019 199344 195365 322533 316711 239482 205834 238880 212262 206658 263175 265214 241121 233861 306304 245441 229506 232646 221731 213457 268933 253366 247449 250221 246121 249136 351609 309957 294509 295988 302525 335590 310798 279220 296774 395544 363213 366222 349037 426021 402246 403806 384343 388060 400858 398902 377352
269045 215461 182533 197512 276862 246142 205907 315624 251349 203988 227899 357301 336724 265143 225442 295874 280469 269571 291960 339160 301401 295298 373917 296362 276105 300734 285013 259292 334948 324654 307935 295409 277267 295409 442718 394715 339974 365146 370397 345564 362398 338654 342746 449316 433663 455587 419529 588725 531033 433942 497026 434378 496587 423778 449393
17.04 19.62 11.71 26.78 15.80 24.29 21.57 25.97 16.90 2.33 16.65 10.78 6.32 10.72 9.53 23.86 32.13 30.44 10.94 27.88 25.00 26.27 22.07 20.75 20.30 29.27 28.54 21.47 24.55 28.14 24.44 18.06 12.65 18.57 25.91 27.35 15.44 23.37 22.44 2.97 16.60 21.29 15.49 13.59 19.40 24.40 20.20 38.19 32.02 7.46 29.32 11.94 23.88 6.24 19.09
229884 180117 163403 155795 239077 198045 169368 250557 215019 199344 195365 322533 316711 239482 205834 238880 212262 206658 264300 265654 241121 233861 307274 245441 230170 235251 221731 213457 270525 253366 247449 250221 246121 249136 356381 313917 297318 295988 302708 335590 310798 282535 298284 395544 363231 371322 359642 426021 402246 403806 384343 394576 400858 398902 383448
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.427472 0.165904 0 0 0.316679 0 0.289317 1.119727 0 0 0.591969 0 0 0 0 0 1.357189 1.277597 0.953791 0 0.060491 0 0 1.187236 0.508805 0 0.004956 1.392598 3.03836 0 0 0 0 1.679122 0 0 1.615468
19.40 20.90 17.91 16.42 40.30 35.82 16.42 102.98 67.16 31.34 26.87 105.97 110.45 71.64 58.21 116.42 73.13 68.66 188.06 191.04 140.30 128.36 216.41 195.52 185.07 182.09 138.80 185.07 159.70 222.38 265.67 282.08 232.83 183.58 286.56 289.55 277.61 295.52 277.61 302.98 307.46 311.93 304.47 546.26 540.29 555.21 543.27 765.65 774.61 777.59 770.13 780.58 623.87 631.33 628.34
229884 180117 163403 155795 239077 198045 169368 250557 215019 199344 195365 322533 316711 239482 205834 238880 212262 206658 263175 265214 241121 233861 306304 245441 229506 232646 221731 213457 268933 253366 247449 250221 246121 249136 351609 309957 294509 295988 302525 335340b 310417b 279220 296774 394524b 362657b 366222 349037 426021 402246 403806 384343 394576 399747b 398857b 377352
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0745 0.12259 0 0 0.25787 0.15308 0 0 0 0 0 0 1.679122 0.27716 0.01128 0
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
713
Table 7 (continued) Problem number
No. of nodes
Bestknown solution value (BS)a
Constructed initial solution
% Deviation from BS
CLOVES ’ solution
% Deviation from BS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from BS
M4 N1 N2 N3 N4 N5 N6
125 150 150 150 150 150 150
348624 408921 409275 396162 397748 376426 377660
423075 601419 454998 497150 495167 448301 444603
21.36 47.07 11.17 25.49 24.49 19.09 17.73
356311 408921 409275 396162 410694 389349 377660
2.204954 0 0 0 3.254825 3.433078 0
625.36 779.09 771.62 780.58 789.53 786.55 792.52
348624 408921 409275 396162 410694 376426 377408b
0 0 0 0 3.254825 0 0.06673
Average relative percentage deviation a b
20.39
0.401283
0.064044
Osman and Wassan (2002). CLOVES’ solution better than the existing bestknown solution.
Table 8 Comparison of CLOVES with Best Solution value of VRPB datasets: Toth and Vigo (1996) Problem number
No. of nodes
Bestknown solution value (BS)a
Constructed initial solution
% Deviation from BS
CLOVES ’ solution
% Deviation from BS
CPU time (seconds)
CLOVES ’ Best solution
% Deviation from BS
eil22_50 eil22_66 eil22_80 eil23_50 eil23_66 eil23_80 eil30_50 eil30_66 eil30_80 eil33_50 eil33_66 eil33_80 eil51_50 eil51_66 eil51_80 eilA76_50 eilA76_66 eilA76_80 eilB76_50 eilB76_66 eilB76_80 eilC76_50 eilC76_66 eilC76_80 eilD76_50 eilD76_66 eilD76_80 eilA101_50 eilA101_66 eilA101_80 eilB101_50 eilB101_66 eilB101_80
21 21 21 22 22 22 29 29 29 32 32 32 50 50 50 75 75 75 75 75 75 75 75 75 75 75 75 100 100 100 100 100 100
371 366 375 682b 649b 623b 501 537 514 738 750 748 559 548 570 739 768 811 809 873 931 713 734 736 690 715 694 842 852 875 936 998 1021
492 493 526 778 802 681 728 802 778 946 1157 1081 696 656 703 922 1057 972 1162 1228 1155 934 966 956 860 898 884 1021 1125 1104 1214 1318 1332
32.61 34.70 40.27 14.08 23.57 9.31 45.31 49.35 51.36 28.18 54.27 44.52 24.51 19.71 23.33 24.76 37.63 19.85 43.63 40.66 24.06 31.00 31.61 29.89 24.64 25.59 27.38 21.26 32.04 26.17 29.70 32.06 30.46
371 366 375 682 649 623 503 537 517 739 750 761 562 548 574 743 780 833 825 891 947 715 742 753 690 717 710 847 867 900 952 1040 1059
0 0 0 0 0 0 0.399202 0 0.583658 0.135501 0 1.737968 0.536673 0 0.701754 0.541272 1.5625 2.7127 1.97775 2.061856 1.718582 0.280505 1.089918 2.309783 0 0.27972 2.305476 0.593824 1.760563 2.857143 1.709402 4.208417 3.721841
15.83 17.06 14.62 13.40 32.89 29.24 13.40 84.05 54.82 25.58 21.93 86.49 90.15 58.47 47.51 95.02 59.69 56.04 153.49 155.93 114.51 104.77 176.63 159.58 151.05 148.62 113.29 151.05 130.35 181.51 216.84 230.23 190.04
371 366 375 682 649 623 501 537 514 738 750 748 559 548 570 739 768 811 809 873 947 713 734 736 690 715 710 842 867 875 936 1040 1059
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.718582 0 0 0 0 0 2.305476 0 1.760563 0 0 4.208417 3.721841
Average relative percentage deviation a b
Osman and Wassan (2002). Toth and Vigo (1999).
31.14
1.084424
0.415602
714
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
5.1.6. VRPB datasets of Toth and Vigo (1996) Toth and Vigo (1996) generated 33 datasets from 11 classical instances found in VRP literature. The VRPB instances range from 21 to 100 nodes. For each VRP dataset, three VRPB instances are generated with linehaul percentages of 50, 66 and 80, respectively. The results are shown in Table 8. The average deviation for each dataset and the average deviation from the bestknown solutions clearly indicate that CLOVES has performed well on all the datasets. It consistently obtains good quality solutions at reasonable computing times. Solutions better than the existing best are indicated by a (#) symbol in the tables. 6. Conclusion This study has addressed the vehicle routing problem with delivery and pickup (VRPDP) with an imposed sequence of pure delivery, delivery and pickup and pure pickup. For this nphard problem, we have developed a fourstage algorithm called CLOVES, which constructs a good initial solution and uses it to achieve rapid convergence in the ﬁnal intensive search. In the absence of published datasets that incorporate VRPDP features, we have used published datasets, some incorporating pickups (VRPB) and some with only delivery (VRP), for comparison. As can be seen from the results, CLOVES promises to be a useful tool for certain classes of VRPs. The study can be extended, in future, to consider constraints on maximum route length and on maximum duration of each trip. Appendix Illustration of CLOVES for an integervalued dataset (K1) of Goetschalckx and JacobsBlecha (1989). Dataset: K1 Phase 1: Clustering of Nodes Delivery Clusters: R1: (44, 67, 50, 26, 43, 10, 56, 72) R2: (35, 55, 24, 11, 36, 61, 46, 21) R3: (27, 66, 25, 17, 7, 31, 38) R4: (39, 37, 47, 6, 5, 22, 32, 8) R5: (58, 69, 63, 2, 73, 74, 34) R6: (70, 60, 13, 29, 19, 64) R7: (12, 53, 45, 71, 14, 33, 42, 20, 62) R8: (4, 3, 49, 65, 75, 9, 40) R9: (23, 15, 54, 28, 59, 18, 51, 52) R10: (48, 16, 68, 41, 57, 1, 30) Pickup Clusters: R1: (30) R2: (10, 37, 3, 5, 29, 12, 32) R3: (7, 31, 11, 6) R4: (1, 17, 15, 33) R5: (9, 36) R6: (27, 24, 22, 4) R7: (18, 8, 13, 26) R8: (25, 20, 21, 23, 14) R9: (16, 34) R10: (2, 35, 19, 28, 38)
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
Phase 2: Orientation of Nodes to a Route Delivery Clusters: R1: (1050674372445626) R2: (4621613611245535) R3: (6617252731387) R4: (3282247563739) R5: (2637369587434) R6: (607013296419) R7: (125345711433624220) R8: (43496575409) R9: (2315525154185928) R10: (3016481685741) Pickup Clusters: R1: (30) R2: (101237295332) R3: (116317) R4: (1171533) R5: (936) R6: (4222427) R7: (2613188) R8: (1423202125) R9: (1634) R10: (235192838) Phase 3: Vehicle Allocation – Solution obtained by Constructive Heuristic R1: (1050674372445626 30) R2: (4621613611245535 323529371210) R3: (6617252731387 731611) R4: (3282247563739 3315171) R5: (3474586973631 936) R6: (196429137060 4222427) R7: (204262331471455312 2613188) R8: (43496575409 2521202314) R9: (2315525154185928 3416) R10: (4157681481630 235192838) Objective Function Value (Total Distance Traveled) = 449316 Phase 4: Intensive Search using GA R1: R2: R3: R4: R5: R6: R7: R8:
(4467502643105672 30) (3555241136614621 103735291232) (2766172573138 731116) (3937476522328 1171533) (5869632737434 936) (706013291964 2724224) (125345711433422062 1881326) (43496575409 2520212314)
715
716
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
R9: (2315542859185152 1634) R10: (4816684157130 235192838) Objective Function Value = 394 524. Percent improvement over constructive heuristic = 13.88%. Objective Function Value for existing best solution = 395 544. References Anderberg, M.R., 1973. Cluster Analysis for Applications. Academic press, New York. Anily, Sh., 1996. The vehiclerouting problem with delivery and backhaul options. Naval Research Logistics 43, 415–434. Anily, Sh., Mosheiov, G., 1994. The traveling salesman problem with delivery and backhauls. Operations Research Letters 16, 11–18. Augerat, P., Belenguer, J.M., Benavent, E., Corber’an, A., Naddef, D., Rinaldi, G. 1995. Computational Results with a Branch and Cut Code for the Capacitated Vehicle Routing Problem. Research Report 949M, Universit’e Joseph Fourier, Grenoble, France. Casco, D.O., Golden, B.L., Wasil, E.A., 1988. Vehicle routing with backhauls: Models, algorithms, and case studies. In: Golden, B.L., Assad, A.A. (Eds.), Vehicle Routing: Methods and Studies. Elsevier, Amsterdam, pp. 127–147. Christoﬁdes, N., Eilon, S., 1969. Expected distances in distribution problems. Operational Research Quarterly 20 (4), 437–443. Christoﬁdes, N., Mingozzi, A., Toth, P., 1979. The vehicle routing problem. In: Christoﬁdes, N., Mingozzi, A., Toth, P., Sandi, C. (Eds.), Combinatorial Optimization. Wiley, New York, pp. 315–338. Clarke, G., Wright, J., 1964. Scheduling of vehicles from a central depot to a number of delivery points. Operations Research 12, 568–581. Deif, I., Bodin, L. 1984. Extension of the Clarke and Wright algorithm for solving the vehicle routing problem with backhauling. In: Kidder, A. (Eds.), Proceedings of the Babson Conference on Software Uses in Transportation and Logistic Management, Babson Park, pp. 75–96. Dethloﬀ, J., 2001. Vehicle routing and reverse logistics: The vehicle routing problem with simultaneous delivery and pickup. OR Specktrum 23, 79–96. Fisher, M., Jaikumar, R., 1981. A generalized assignment heuristic for vehicle routing. Networks 11, 109–124. Gen, M., Cheng, R., 1997. Genetic Algorithms and Engineering Design. Wiley Interscience. Gen, M., Liu, B. 1995. A genetic algorithm for nonlinear goal programming. Technical Report, ISE955, Ashikaga Institute of Technology, Ashikaga, Japan. Gendreau, M., Laporte, G., Hertz, A., 1997. An approximation algorithm for the traveling salesman problem with backhauls. Operations Research 45, 639–641. Gendreau, M., Laporte, G., Potvin, JY. 1998. Metaheuristics for the vehicle routing problem. GERAD research report G9852, Montreal, Canada. Gendreau, M., Laporte, G., Vigo, D., 1999. Heuristics for the travelling salesman problem with pickup and delivery. Computers and Operations Research 26, 699–714. Goetschalckx, M., JacobsBlecha, Ch., 1989. The vehicle routing problem with backhauls. European Journal of Operational Research 42, 39–51. Goldberg, D.E., 1989. Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley Longman. Golden, B.L., Assad, A.A., 1988. Vehicle Routing: Methods and StudiesStudies in Management Science and Systems, vol. 16. Elsevier Science Publication, Amsterdam, Netherlands. Golden, B.L., Baker, E.K., Alfaro, J.L., Schaﬀer, J.R. 1985. The Vehicle routing problem with backhauling: Two approaches. Working paper MS/S 85017, University of Maryland, College Park. Holland, J.H., 1975. Adaptation in natural and artiﬁcial systems. University of Michigan Press, Ann Arbor. JacobsBlecha, Ch., Goetschalckx, M. 1993. The vehicle routing problem with backhauls: Properties and solution algorithms. Materials Handling Research Centre Technical Report MHRCTR8813, Georgia Institute of Technology, Atlanta. Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., Shmoys, D.B., 1985. The Traveling Salesman Problem. Wiley, New York. Lenstra, J.K., Rinnooy Kan, A.H.G., 1976. On general routing problems. Networks 6, 273–280. Min, H., 1989. The multiple vehicle routing problem with simultaneous delivery and pickup points. Transportation Research A 23A, 377– 386. Min, H., Current, J., Schilling, D., 1992. The multiple depot vehicle routing problem with backhauling. Journal of Business Logistics 13, 259–288. Mosheiov, G., 1994. The travelling salesman problem with pickup and delivery. European Journal of Operational Research 79, 299–310. Nagy, G., Salhi, S., 2005. Heuristic algorithms for single and multiple depot vehicle routing problems with pickups and deliveries. European Journal of Operational Research 162, 126–141. Or, I. 1976. Traveling salesman type combinatorial problems and their relation to the logistics of blood banking. Ph.D. Dissertation. Department of Industrial Engineering and Management Science, Northwestern University, Evanston, IL. Osman, I.H., Wassan, N.A., 2002. A reactive tabu search metaheuristic for the vehicle routing problem with backhauls. Journal of Scheduling 5, 263–285. Petch, R.J., Salhi, S., 2003. A multiphase constructive heuristic for the vehicle routing problem with multiple trips. Discrete Applied Mathematics 133 (1–3), 69–92.
K. Ganesh, T.T. Narendran / European Journal of Operational Research 178 (2007) 699–717
717
Salhi, S., Nagy, G., 1999. A cluster insertion heuristic for single and multiple depot vehicle routing problems with backhauling. Journal of the Operational Research Society 50, 1034–1042. Sofge, D., Schultz, A., Jong, K.D., 2002. Evolutionary computational approaches to solving the multiple traveling salesman problem using a neighborhood attractor schema. Lecture Notes in Computer Science, vol. 2279. SpringerVerlag, Heidelberg, pp. 153–162. Taillard, E., Badeau, P., Gendreau, M., Guertin, F., Potvin, J., 1997. A tabu search heuristic for the vehicle routing problem with soft time windows. Transportation Science 31, 170–186. Thangiah, S.R., Sun, T., Potvin, JY., 1996. Heuristic approaches to vehicle routing with backhauls and time windows. Computers and Operations Research 23, 1043–1057. Toth, P., Vigo, D., 1996. A heuristic algorithm for the vehicle routing problem with backhauls. In: Bianco, L., Toth, P. (Eds.), Advanced Methods in Transportation Analysis. Springer, Berlin, pp. 585–608. Toth, P., Vigo, D., 1997. An exact algorithm for the vehicle routing problem with backhauls. Transportation Science 31, 372–385. Toth, P., Vigo, D., 1999. A heuristic algorithm for the symmetric and asymmetric vehicle routing problems with backhauls. European Journal of Operational Research 113, 528–543. Wade, A.C., Salhi, S., 2002. An investigation into a new class of vehicle routing problem with backhauls. Omega 30, 479–487. Yano, C., Chan, T., Richter, L., Cutler, T., Murty, K., McGettigan, G., 1987. Vehicle routing at quality stores. Interfaces 17, 52–63.