Applying hybrid meta-heuristics for capacitated vehicle routing problem

Applying hybrid meta-heuristics for capacitated vehicle routing problem

Available online at www.sciencedirect.com Expert Systems with Applications Expert Systems with Applications 36 (2009) 1505–1512 www.elsevier.com/loca...

345KB Sizes 0 Downloads 110 Views

Available online at www.sciencedirect.com

Expert Systems with Applications Expert Systems with Applications 36 (2009) 1505–1512 www.elsevier.com/locate/eswa

Applying hybrid meta-heuristics for capacitated vehicle routing problem Shih-Wei Lin a,b, Zne-Jung Lee b,*, Kuo-Ching Ying c, Chou-Yuan Lee d a

Department of Information Management, Chang Gung University, No. 259, Wen-Hwa 1st Road, Tao-Yuan, Taiwan b Department of Information Management, Huafan University, No. 1, Huafan Road, Taipei, Taiwan c Department of Industrial Management and Management Information, Huafan University, No. 1, Huafan Road, Taipei, Taiwan d Department of Information Management, Lan Yang Institute of Technology, Taiwan

Abstract The capacitated vehicle routing problem (CVRP) is one of the most important problems in the optimization of distribution networks. The objective of CVRP, known demands on the cost of originating and terminating at a delivery depot, is to determine the optimal set of routes for a set of vehicles to deliver customers. CVRP is known to be NP-hard problem, and then it is difficult to solve this problem directly when the problem size is large. In this paper, a hybrid algorithm of simulated annealing and tabu search is applied to solve CVRP. It takes the advantages of simulated annealing and tabu search for solving CVRP. Simulation results are reported on classical fourteen instances and twenty large-scale benchmark instances. From simulation results, the proposed algorithm finds eight best solutions of classical fourteen instances. Additionally, the solutions of the proposed algorithm have also admirable performance for twenty large-scale benchmark instances. It shows that the proposed algorithm is competitive with other existing algorithms for solving CVRP. Ó 2007 Published by Elsevier Ltd. Keywords: Capacitated vehicle routing problem; Hybrid algorithm; Simulated annealing; Tabu search

1. Introduction CVRP is a generic name given to a whole class of problems in which a set of routes for a fleet of vehicles based at one or several depots must be determined for a number of geographically dispersed customers, and vehicles have the maximal loading capacity. The objective of CVRP is to minimize the total cost (i.e., a weighted function of the number of vehicles and the travel distance of vehicles) to serve a set of customers with known demands. The route must be designed in such a way that each customer is visited once and by only one vehicle. CVRP is a well known combination problem which falls into the category of NP-Hard problem, since it concludes the bin packing problem and the traveling salesperson problem as a special case (Laporte & Semet, 2001; Prins, 2004).

*

Corresponding author. Tel./fax: +886 2 26632102. E-mail address: [email protected] (Z.-J. Lee).

0957-4174/$ - see front matter Ó 2007 Published by Elsevier Ltd. doi:10.1016/j.eswa.2007.11.060

CVRP can be solved by mathematical methods or heuristic approaches. The use of mathematical methods can obtain the optimal solutions. However, the required computational complexity will result in exponential time when the problem size is large (Lee, Lee, & Su, 2002; Lee, Su, & Lee, 2003). Heuristic approaches can be divided into the classical heuristic approaches and the meta-heuristic approaches. The classical heuristic approaches can find one feasible solution quickly, but this feasible solution may have a large disparity compared with the best solution. The meta-heuristic approaches can obtain near optimal solutions or even global optimal solutions. Therefore, meta-heuristic approaches such as simulated annealing (SA) and tabu search (TS) are usually employed to find the optimal solutions. Recently, many researchers have found that the employment of local search in optimization problems can improve the quality of problem solving (Lee & Lee, 2005; Lee et al., 2002; Lee et al., 2003; Xu & Kelly, 1996). A local search approach starts with an initial solution and searches within neighborhoods for better solu-

1506

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

tions. However, it may be trapped in local optima which are significant factor affecting the quality of solutions. In this paper, the local search of swap method and insert method are embedded in the propose algorithm to ameliorate the search performance. From simulation results, the proposed algorithm can improve the quality of solution for CVRP. The remainder of this paper is organized as follows. Section 2 describes the problem definition of CVRP and the methods used to solve CVRP. Section 3 elaborates the proposed algorithm. In Section 4, simulation results are described and compared to other existing algorithms in the literature. Finally, conclusions are included in the last section. 2. Problem definition and literature review The basics of capacitated vehicle routing problem (CVRP) can be stated as follows. Each vehicle has the same loading capacity, and starts off from only one delivery depot and then routes through customers. All customers have known demands and required service time. Each customer can only be visited by one vehicle, and each vehicle has to return to the depot. The service time unit can be transformed into the distance unit. The loading and traveling distance of each vehicle cannot exceed the loading capacity and the maximum traveling distance of vehicle. The objective of CVRP is to minimize the traveling cost. The capacitated vehicle routing problem can be modeled as a mixed integer programming as follows: Minimize

N X N X K X i¼0

Subject to

C ij X kij

ð1Þ

j¼0 K¼1

N X N X i¼0

X kij d i 6 Qk

1 6 k 6 K;

ð2Þ

j¼0

N X N X i¼0 N X

X kij ðC ij þ S i Þ 6 T k

1 6 k 6 K;

X ijk ¼

j¼1

N X

X jik 6 1 for

i¼0

j¼1

and k 2 f1; . . . ; kg; N X X ijk 6 K for i ¼ 0;

K X k¼1

ð3Þ

j¼0

ð4Þ ð5Þ

j¼1

where C ij is the cost incurred on customer i to customer j, K the number of vehicles, N the number of customers, the S i the service time at customer i, Qk the loading capacity of vehicle k, T k the maximal traveling (route) distance of vehicle k, d i the demand at customer i, X Kij 2 0 and 1ði–j; i; j 2 0; 1; . . . ; N Þ. Eq. (1) is the objective function of the problem. Eq. (2) is the constraint of loading capacity, where X Kij ¼ 1 if vehicle k travels from customer i to customer j directly, and 0 otherwise. Eq. (3) is the constraint of maximum traveling

distance. Eq. (4) makes sure every route starts and ends at the delivery depot. Eq. (5) specifies that there are maximum K routes going out of the delivery depot. Because CVRP is a NP-hard problem, many researchers proposed various kinds of methods to solve this problem. Christofides, Mingozzi, and Toth (1981) applied exact procedures, branch and bound and dynamic programming, to solve the CVRP. Fisher and Jaikumar (1981) used a mathematical programming approach to solve the CVRP directly. The computational time will be exponentially increased when problem size is large. Other researchers had developed the constructive heuristics, using an accepted solution instead of the optimal solution. These approaches can obtain feasible solutions within a reasonable computing time. Clarke and Wright (1964) first proposed the use of savings algorithm to solve vehicle routing problems. The initial condition is that one vehicle only serves one customer, and then there are N routes when there are N demand points (customers). The saving cost for combining routes is calculated, and the routes are combined in order until there is no more improvement to be made under the constraint of vehicle loading capacity. Some work has utilized the improved savings algorithm (Yellow, 1970). Toth and Vigo (2001) adopted savings algorithm combined with 3-opt to search for neighborhood; and the solution has seen improvement compared to the result of traditional savings algorithm. Gillett and Miller (1974) used a sweep algorithm to solve vehicle routing problems, but the quality of the solution of the sweep algorithm is unstable. In a clustered problem, it is not as good as other approaches. However, in randomized problems, it has better performance than that of the clustered problem, which means that the approach is relatively suitable for randomized problem. Some researchers proposed the two-step method (Two-step) (Fisher & Jaikumar, 1981; Gillett & Johnson, 1976). The first stage of this approach is cluster method which divides customers into several clusters. The second stage of this approach is route construction which constructs the route of each vehicle with the goal to obtain the minimum cost for each route. Some approaches first construct routes and then use the cluster method (Beasley, 1983; Haimovich & Kan, 1985). Insertion heuristic was introduced by Mole and Jameson (1976). They used two parameters k and l to construct routes, and applied 3-opt exchange to improve the quality of problem solving (Lin, 1965). In recent years, meta-heuristic approaches are used to solve the CVRP (David, Olli, & Wout, 2007). Robuste´, Daganzo, and Souleyrette (1990) combined insertion heuristic and exchange to search for neighborhood in SA. Alfa, Heragu, and Chen (1991) first designed the route, then used cluster method to construct initial solution, and finally used a 3-opt method to perform the neighborhood search in SA. Osman (1993) adopted the combination of SA and local search in which savings algorithm is used to generate initial solution and then k-interchange is utilized in the local search to improve the route. Osman also developed

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

TS approach combined three methods: 2-opt, assigning customers to different routes, and exchanges of customers among different routes, to search for neighborhood. Gendreau, Hertz, and Laporte (1994) applied TABUROUTE to solve VRP. The TABUROUTE used tabu list to move out of local optima and got better solutions. Toth and Vigo (2003) used granular tabu search (GTS) to solve VRP. In GTS, the possibility of becoming the best solution is extremely small when the minimum total cost is over a certain range. Their research included some characteristics of TABUROUTE, and the computational time of problem solving was smaller than that of Osman’s TS and TABUROUTE. Four problems of classical 14 problems can reach the best solutions, and the solutions of other problems are close to the best solutions. Ho and Gendreau (2006) applied the TS combined the path relinking to solve CVRP with the large scale. The path relinking was used to reserve the better paths and to make the improvement on the worse local path. Zeng, Ong, and Ng (2005) proposed a SA-based approach which applied the single-point and multi-point insertion method to obtain the neighborhood. Xu and Kelly (1996) proposed a TS heuristic based on a network flow model, and defined the neighborhood by ejection chain. Rego and Roucairol (1996) also used ejection chain based neighborhood with parallel computing for a more extensive exploration of the search spaces. Taillard’s (1993) algorithm used a 1-interchange mechanism without local re-optimization and allowing infeasibilities. Rochat and Taillard (1995) used a probabilistic technique to diversify, intensify and parallelize a local search adapted for solving vehicle routing problem. Baker and Ayechew (2003) employed GA to arrange the routes. They constructed the initial solutions by random, and used a 2-opt method to replace the commonly used mutation. Prins (2004) also used GA with initial value to solve CVRP. Bullnheimer, Hartl, and Strauss (1999) used a nearest neighbor heuristic for VRP in ant systems, and ant colony optimization techniques were proposed for VRP (Mazzeo & Loiseau, 2004; Bell & McMullen, 2004). However, most solutions obtained are worse than the best solution found so far. 3. The proposed algorithm In this paper, the proposed algorithm which takes the advantages of simulated annealing and tabu search combined with local search for solving CVRP. The concept of simulated annealing is taken from nature introduced by Metropolis, Rosenbluth, Rosenbluth, Teller, and Teller (1953) and popularized by Kirkpatrick, Gelatt, and Vecchi (1983). The essential idea is not to restrict the search algorithm to move in solution-space that can decrease the objective function. Furthermore, it allows moving in solution-space that can increase the objective function. In principle, it allows the search algorithm to escape from the local minima. Tabu search, initially suggested by Glover (1989, 1990) is an iterative improvement approach designed

1507

for getting (near) the global optimum solutions. The idea of TS can be described briefly as follows. Starting from an initial solution, TS iteratively moves from the current solution X to its best improved solution Y in the neighborhood of X. To choose the least worsening solution until a superimposed stopping criterion has satisfied if none exists. In order to avoid cycling to some extent, moves would bring back to a recently visited solution should be forbidden or declare tabu for a certain number of iterations. This is accomplished by keeping the attributes of the forbidden moves in a list, called a tabu list. This move can be selected even though it is tabu, overriding the tabu restriction if a tabu move is better than the best solution obtained so far by this search process. This is called the aspiration criterion. The flowchart of the proposed algorithm is shown in Fig. 1. The proposed algorithm begins with eight parameters, namely I iter ; T 0 ; T F ; a; k; N non-improving ; MIN T and MAX T where I iter denotes the number of iterations, T 0 represents the initial temperature, T F represents the final temperature that stops proposed algorithm if the current temperature is lower than T F , a is the coefficient controlling the cooling schedule, k is the Boltzmann constant, N non-improving is the allowable number of reductions in temperature where the best objective function value obtained is not improved, MIN T and MAX T are the minimal and maximal tenure of tabu move, respectively. Given that a solution to CVRP is made of multiple routes, the path representation is extend and contains multiple copies of the depot, with each copy acting as a separator for two routes. Let 0 represent the depot and other integer numbers (1 to N) denoted the visited customers. Supposed there are K vehicles, which can be obtained by neighborhood algorithm. The coding representation is the permutation of 1 to N and K zero values. Customer will be visited by the following way. The first vehicle sets out beforehand from the depot and gets back to the depot after visiting customers on that route. Other vehicles leave the depot in order and each vehicle’s route arrangement takes place at each iteration process, until every customer has one vehicle visited. For example, a solution is below coded and it is displayed graphically as in Fig. 2. (6, 16, 23, 24, 18, 25, 9, 3, 17, 0, 12, 10, 11, 14, 19, 8, 7, 0, 4, 13, 15, 20, 5, 21, 22, 1, 2), which can be decoded as follows. This CVRP solution is made of three routes. The first route contains customers 6, 16, 23, 24, 18, 25, 9, 3, 17, the second route contains customers 12, 10, 11, 14, 19, 8, 7, and the third route contains customers 4, 13, 15, 20, 5, 21, 22, 1, 2. First, the current temperature T is set to T 0 for the proposed algorithm. Next, an initial solution X is generated by neighborhood algorithm. The current best solution X best is set to be equal to X, and the current objective function value F cur is set to be equal to the objective function value ðF X Þ of X. The obtained best objective function value ðF best Þ is set to be equal to F cur . For each iteration, the next solution Y is generated from X either by swap or by insertion. The new solution Y cannot belong to tabu move,

1508

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

Fig. 1. The flowchart of the proposed algorithm.

Fig. 2. A graph representation of CVRP solution (0 denotes the depot).

unless new solution Y is the best solution found so far. T is decreased after running I iter iterations from the previous decrease, according to a formula T aT , where 0 < a < 1. The tenure of tabu move is re-assigned by choosing a integral value between MIN T and MAX T randomly, when T is decreased once. Let obj(X) denotes the calculation of the objective function value of X, and D denote the difference between obj(X) and obj(Y); that is D ¼ objðY Þ  objðX Þ. The probability of replacing X with Y, where X is the current solution and Y is the next solution, given that D > 0, is eD=kT . This is accomplished by generating a random number r 2 ½0; 1 and replacing the solution X with Y if r < eD=kT . Meanwhile, if D < 0, the probability of replacing X with Y is 1. If the solution X is replaced by Y, the tabu_time matrix is changed accordingly. If T is lower than T F , the algorithm is terminated.

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

If the X best is not improved in N non-improving successive reductions in temperature, the algorithm is also terminated. The X best records the best solution as the algorithm progresses. Following the termination of proposed algorithm, the (near) global optimal schedule can thus be derived by X best . In the proposed algorithm, the method of insertion and swap are performed as local search. The insertion is done by randomly selecting the ith number of X and inserting it into the position immediately preceding the jth number of X. The swap is done by randomly selecting the ith and jth number of X, and then swapping the values of these two numbers directly. While improving routes, the probabilities of choosing the swap and the insertion are 0.45 and 0.45. In order to increase the chance of obtaining better solution, it randomly chooses two points (customers) to undergo exchange or insert at a random place. The probability of orderly exchanging or inserting with nearby bN =5c points (bc denoted the largest integer which is smaller than or equal to the enclosed number) is 0.05 and 0.05, respectively. The best solution is chosen from bN =5c solutions as the next solution. In order to avoid cycling, the tabu_time matrix is applied to impose tabu move. Let (i, j) element of the tabu_time matrix contains the iteration number that job i is allowed to return to the jth position of the scheduling sequence. If the chosen neighborhood

1509

solution Y of current solution X belongs to the tabu move, the solution Y is discarded and new neighborhood solution is generated until solution Y does not belong to tabu move or solution Y is the found best solution.

4. Simulation results The proposed algorithm was coded in C language on a Pentium IV 2.8 GHz machine with 1024 MB RAM. The parameters of proposed algorithm have tremendous influence on the efficiency of problem solving. Therefore, through initial experiments, the following parameters are used. T 0 ¼ 50; I iter ¼ 500  N ; a ¼ 0:98; k ¼ 1=5; N non-improving ¼ 80; T F ¼ 0:1; MIN T ¼ 2 and MAX T ¼ 5, where N is the number of customer. Each problem is solved 20 times and the best solution among 20 runs is taken as the objective function value obtained (Prins, 2004). In order to verify the effectiveness of the proposed algorithm, this research first included the 14 classical instances from Christofides, Mingozzi, and Toth (1979) as the test problems. Instances 1, 2, 3, 4, 5, 11, and 12 only have the constraint of loading capacity. Instances 6, 7, 8, 9, 10, 13, and 14 both have the constraint of loading capacity and maximum traveling distance, and service time required

Table 1 Comparisons between the proposed algorithm and other approaches for 14 classical instances Problem

N

Best published solution

Osman’s SA

Osman’s TS

TS

GTS0

HG

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14

50 75 100 150 199 50 75 100 150 199 120 100 120 100

524.61 835.26 826.14 1028.42 1291.45 555.43 909.68 865.94 1162.55 1395.85 1042.11 819.56 1541.14 866.37

528.00 838.62 829.18 1058.00 1378.00 555.43 909.68 866.75 1164.12 1417.85 1176.00 826.00 1545.98 890.00

524.61 844.00 835.00 1044.35 1334.55 555.43 911.00 866.75 1184.00 1417.85 1042.11 819.59 1547.00 866.37

524.61 835.77 829.45 1036.16 1322.65 555.43 913.23 865.94 1177.76 1418.51 1073.47 819.56 1573.81 866.37

524.61 838.60 828.56 1033.21 1318.25 555.43 920.72 869.48 1173.12 1435.74 1042.87 819.56 1545.51 866.37

524.61 836.37 828.26 1034.08 1311.78 555.43 909.68 866.71 1177.01 1420.66 1042.97 819.56 1568.79 866.37

GA

AS

EA

The proposed algorithm

524.81 849.77 839.73 1055.85 1374.73 559.04 909.94 872.82 1188.22 1451.63 1060.24 863.73 1560.79 872.34

524.61 844.31 832.32 1061.55 1343.46 560.24 916.21 866.74 1195.99 1451.65 1065.21 819.56 1559.92 867.07

524.61 835.26 826.14 1030.46 1296.39 555.43 909.68 865.94 1162.55 1402.75 1042.11 819.56 1542.86 866.37

Time (s) 524.61 835.26 826.14 1038.71 1311.70 555.43 909.68 865.94 1162.89 1410.96 1045.50 819.56 1554.93 866.37

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14

50 75 100 150 199 50 75 100 150 199 120 100 120 100

524.61 835.26 826.14 1028.42 1291.45 555.43 909.68 865.94 1162.55 1395.85 1042.11 819.56 1541.14 866.37

38.14 118.27 293.25 701.38 1844.34 31.36 96.84 234.47 738.44 1538.33 332.77 316.02 392.39 216.56

1510

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

Table 2 Comparisons between the proposed algorithm and other approaches for large-scale instances Problem

N

GWKC

GTS

EOS

HG

EA

Kelly01 Kelly02 Kelly03 Kelly04 Kelly05 Kelly06 Kelly07 Kelly08 Kelly09 Kelly10 Kelly11 Kelly12 Kelly13 Kelly14 Kelly15 Kelly16 Kelly17 Kelly18 Kelly19 Kelly20

240 320 400 480 200 280 360 440 255 323 399 483 252 320 396 480 240 300 360 420

5834.60 9002.26 11879.95 14639.32 6702.73 9016.93 11213.31 12514.20 587.09 749.09 934.33 1137.18 881.04 1103.69 1364.23 1657.93 720.44 1029.21 1403.05 1875.17

5736.15 8553.03 11402.75 14910.62 6697.53 8963.32 10547.44 12036.24 593.35 751.66 936.04 1147.14 868.80 1096.18 1369.44 1652.32 711.07 1016.83 1400.96 1915.83

5741.79 8917.41 12106.41 15316.64 6570.28 8836.25 11116.68 12634.17 587.89 749.85 932.74 1134.63 870.90 1097.11 1367.15 1643.0 716.46 1023.32 1404.84 1883.33

5850.28 8799.33 11715.90 13973.50 6546.19 8755.48 10716.80 12170.90 589.39 749.04 927.99 1124.44 875.13 1105.49 1369.70 1648.10 713.68 1017.65 1397.16 1864.01

5646.63 8447.92 11036.22 13624.52 6460.98 8412.80 10195.59 11828.78 591.54 751.41 933.04 1133.79 875.16 1086.24 1367.37 1650.94 710.42 1014.8 1376.49 1846.55

The proposed algorithm Time(s)

for each customer is added when visiting customers. In instances 1–10, customers are randomly distributed whereas customers are clustered in instance 11–14. The simulation results are shown in Table 1. In Table 1, the proposed algorithm exhibited eight instances which reach the level of the best solution found in the literature. The detailed routes of eight instances are shown in Appendix. In Table 1, Osman’s SA (1993) had two instance, Taburoute had five instances, Osman’s TS (1993) had four instances, and GTS had four instances (Toth & Vigo, 2003), GA had no instance (Baker & Ayechew, 2003), AS had two instances (Bullnheimer et al., 1999), and EA had ten instances with best solutions (Prins, 2004). The CPU time of the proposed algorithm is also tabulated in Table 1. It shows that the proposed algorithm performs better performance than other approaches except EA (Prins, 2004). For large-scale instances, the simulation results are listed in Table 2. In Table 2, it shows that the proposed algorithm obtains the best solutions for Kelly 09 Kelly 13, Kelly 15, and Kelly 16 among all compared approaches. The CPU time of the proposed algorithm fro large-scale instances is also tabulated in Table 2. Because the customers of large-scale instances are larger than those of classical instances, the CPU time is also larger than those of classical instances. For both classical and largescale instances, it shows that the proposed algorithm is competitive with other approaches for CVRP. 5. Conclusions This study proposed a hybrid algorithm which takes the advantages of simulated annealing and tabu search applied for solving CVRP. Fourteen small-sized and

5795.61 8501.67 11364.69 14136.32 6512.27 8553.19 10422.65 11986.73 586.68 748.89 924.70 1125.71 867.29 1098.86 1356.65 1642.90 712.26 1017.91 1384.93 1855.91

1399.63 3498.61 5782.01 10171.38 1149.05 2247.75 5655.92 7708.77 3444.64 6336.48 11288.73 15989.65 3108.03 6062.3 11242.63 14813.88 2860.8 5566.23 9499.45 14947.05

twenty large-sized benchmark instances are used to verify the proposed algorithm. Compared to other previous approaches, in the small-sized benchmark problems, the proposed algorithm finds eight solutions which are equal to the best solution found so far in literature. For the large-scale benchmark instances, the proposed algorithm finds seven better solutions than other compared approaches. It shows that the proposed algorithm can be applied to vehicle routing problems of various types with loading capacity constraints. Hopefully, the proposed algorithm can be used to solve the vehicle routing problems with different limitation conditions in the future, such as vehicle routing problems with backhauls and multiple depot vehicle routing problem.

Appendix A The obtained eight solutions equal to the best solution found in the literature are presented. C1

1 2 3 4 5

38-9-30-34-50-16-21-29-2-11 47-4-17-42-19-40-41-13-18 8-26-31-28-3-36-35-20-22-1-32 12-37-44-15-45-33-39-10-49-5-46 6-14-25-24-43-7-23-48-27

C2

1 2 3 4 5 6 7 8 9 10

30-74-21-61-28-2-68 26-12-39-9-40-17 3-44-32-50-18-55-25-31-72 67-46-34-4-75 62-22-64-42-41-43-1-73-51 27-37-20-70-60-71-69-36-47-48 6-33-63-23-56-24-49-16 8-35-14-59-11-7 45-29-5-15-57-13-54-19-52 58-10-38-65-66-53

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

C3

1 2 3 4 5 6 7 8

52-7-82-48-19-11-64-49-36-47-46-8-83-18 76-77-3-79-78-34-35-65-71-9-51-81-33-50 40-73-74-22-41-23-67-39-56-75-72-21 94-95-97-87-13 28-12-80-68-29-24-54-55-25-4-26-53 31-88-62-10-63-90-32-66-20-30-70-1-69-27 92-98-37-100-91-16-86-38-44-14-42-43-1557-2-58 6-96-99-59-93-85-61-17-45-84-5-60-89

C6

1 2 3 4 5 6

6-23-24-43-7-26-8-48-27 17-42-19-40-41-13-25-14 5-49-10-39-33-45-15-44-37-12 1-22-31-28-3-36-35-20-2 38-9-30-34-50-21-29-16-11-32 18-4-47-46

C7

1 2 3 4 5 6 7 8 9 10 11

32-50-18-55-25-9 12-72-39-31-10-58-26 69-71-60-70-20-4 51-63-23-56-41-43-33 62-22-64-42-1-73-6 30-74-21-61-28-2-68 27-15-57-13-54-52-34-67 7-35-14-59-19-8-46 38-65-66-11-53 75-48-47-36-37-5-29-45 16-49-24-3-44-40-17

C8

1 2 3 4 5 6 7 8 9

26-4-56-23-67-39-25-55-54 58-2-57-15-41-22-75-74-72-73-21-40-53 89-60-83-8-46-45-17-84-5-6 99-61-16-86-38-44-14-43-42-87-13 96-59-93-85-91-100-37-98-92-97-95-94 28-76-77-3-79-78-34-29-24-68-80-12 52-7-19-11-64-49-36-47-48-82-18 1-51-20-66-65-71-35-9-81-33-50 27-69-70-30-32-90-63-10-62-88-31

C12

1 2 3 4 5 6 7 8 9 10

69-68-64-61-72-80-79-77-73-70-71-76-78-81 10-12-14-16-15-19-18-17-13 91-89-88-85-84-82-83-86-87-90 67-65-63-74-62-66 98-96-95-94-92-93-97-100-99 57-55-54-53-56-58-60-59 32-33-31-35-37-38-39-36-34 75-1-2-4-6-9-11-8-7-3-5 21-22-23-26-28-30-29-27-25-24-20 43-42-41-40-44-46-45-48-51-50-52-49-47

C14

1 2 3 4 5 6 7 8 9 10 11

75-2-4-6-9-11-8-7-3-5 13-17-18-19-15-16-14-12-10 55-54-53-56-58-60-59-57 43-42-44-40-41 47-46-45-48-51-50-52-49-20 98-96-95-94-92-93-97-100-99-1 34-36-39-38-37-35-31-33-32 91-89-88-85-84-82-83-86-87-90 81-78-76-71-70-73-77-79-80-63 67-65-62-74-72-61-64-68-66-69 23-26-28-30-29-27-25-24-22-21

References Alfa, A. S., Heragu, S. S., & Chen, M. (1991). A 3-opt based simulated annealing algorithm for vehicle routing problem. Computers & Industrial Engineering, 21, 635–639.

1511

Baker, B. M., & Ayechew, M. A. (2003). A genetic algorithm for the vehicle routing problem. Computers & Operations Research, 30, 787–800. Beasley, J. E. (1983). Route first-cluster second methods for vehicle routing. Omega, 11, 403–408. Bell, J. E., & McMullen, P. R. (2004). Ant colony optimization techniques for the vehicle routing. Advanced Engineering Informatics, 18, 41–48. Bullnheimer, B., Hartl, R. F., & Strauss, C. (1999). An improved ant system algorithm for the vehicle routing problem. Annals of Operations Research, 89, 319–328. Christofides, N., Mingozzi, A., & Toth, P. (1979). The vehicle routing problem. In N. Christofides, A. Mingozzi, P. Toth, & C. Sandi (Eds.), Combinatorial Optimization (pp. 325–338). Chichester: Wiley. Christofides, N., Mingozzi, A., & Toth, P. (1981). Exact algorithm for the vehicle routing problem, based on spanning tree and shortest path relaxations. Mathematical Programming, 20, 255–282. Clarke, G., & Wright, J. W. (1964). Scheduling of vehicles from a central depot to a number of delivery points. Operations Research, 12, 568–581. David, M., Olli, B., & Wout, D. (2007). A multi-parametric evolution strategies algorithm for vehicle routing problems. Expert Systems with Applications, 32, 508–517. Fisher, M. L., & Jaikumar, R. (1981). A generalized assignment heuristic for vehicle routing. Networks, 11, 109–124. Gendreau, M. P., Hertz, A., & Laporte, G. (1994). A tabu search heuristic for the vehicle routing problem. Management Science, 40, 1276–1290. Gillett, B., & Johnson, J. (1976). Multi-terminal vehicle-dispatch algorithm. Omega, 4, 711–718. Gillett, B. E., & Miller, L. R. (1974). A heuristic algorithm for the vehicle dispatch problem. Operations Research, 22, 340–349. Glover, F. (1989). Tabu search-Part I. ORSA Journal on Computing, 1, 190–206. Glover, F. (1990). Tabu search-Part II. ORSA Journal on Computing, 2, 4–32. Haimovich, M., & Kan, A. H. G. R. (1985). Bounds and heuristics for capacitated routing problems. Mathematics of Operations Research, 10, 527–542. Ho, S. C., & Gendreau, M. (2006). Path relinking for the vehicle routing problem. Journal of Heuristics, 12, 55–72. Kirkpatrick, S., Gelatt, C. D., & Vecchi, J. M. P. (1983). Optimization by simulated annealing. Science, 220, 671–680. Laporte, G. & Semet, F. (2001). The vehicle routing problem. In P. Toth, D. Vigo (Eds.), SIAM monographs on discrete mathematics and application (pp. 109–125). Philadelphia. Lee, Z.-J., & Lee, C.-Y. (2005). A hybrid search algorithm with heuristics for resource allocation problem. Information Sciences, 173, 155–167. Lee, Z.-J., Lee, C.-Y., & Su, S.-F. (2002). An immunity based ant colony optimization algorithm for solving weapon-target assignment problem. Applied Soft Computing, 2, 39–47. Lee, Z.-J., Su, S.-F., & Lee, C.-Y. (2003). Efficiently solving general weapon-target assignment problem by genetic algorithms with greedy eugenics. IEEE Transactions on Systems, Man and Cybernetics, Part B, 33, 113–121. Lin, S. (1965). Computer solutions of the traveling salesman problem. Bell System Technical Journal, 44, 2245–2269. Mazzeo, S., & Loiseau, I. (2004). An ant colony algorithm for the capacitated vehicle routing. Electronic Notes in Discrete Mathematics, 18, 181–186. Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H., & Teller, E. (1953). Equations of state calculations by fast computing machines. Journal of Chemical Physics, 21, 1087–1092. Mole, R. H., & Jameson, S. R. (1976). A sequential route-building algorithm employing a generalised savings criterion. Operation Research Quarterly, 27, 503–511. Osman, I. H. (1993). Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem. Annals of Operations Research, 41, 421–451.

1512

S.-W. Lin et al. / Expert Systems with Applications 36 (2009) 1505–1512

Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computer & Operation Research, 31, 1985–2002. Rego, C., & Roucairol, C. (1996). A parallel tabu search algorithm using ejection chains for the vehicle routing problem. In I. H. Osman & J. P. Kelly (Eds.), Meta-Heuristics: Theory and Applications (pp. 661–675). Boston: Kluwer, MA. Robuste´, F., Daganzo, C. F., & Souleyrette, I. I. R. (1990). Implementing vehicle routing models. Transportation Research, 24B, 263–286. Rochat, Y., & Taillard, E. D. (1995). Probabilistic diversification and intensification in local search for vehicle routing. Journal of Heuristics, 1, 147–167.

Taillard, E. D. (1993). Parallel iterative search methods for vehicle routing problem. Networks, 23, 661–673. Toth, P., & Vigo, D. (2003). The granular tabu search and its application to the vehicle-routing problem. INFORMS Journal on Computing, 15, 333–346. Xu, J., & Kelly, J. P. (1996). A network flow-based tabu search heuristic for the vehicle routing problem. Transportation Science, 30, 379–393. Yellow, P. C. (1970). A computational modification to the savings method of vehicle scheduling. Operational Research Quarterly, 21, 281–283. Zeng, L., Ong, H. L., & Ng, K. M. (2005). An assignment-based local search method for solving vehicle routing problems. Asia-Pacific Journal of Operational Research, 22, 85–104.