eve-opt: a hybrid algorithm for the capacitated vehicle routing problem

22
Math Meth Oper Res (2008) 68:361–382 DOI 10.1007/s00186-008-0236-7 ORIGINAL ARTICLE EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem Guido Perboli · Ferdinando Pezzella · Roberto Tadei Accepted: 12 February 2008 / Published online: 8 July 2008 © Springer-Verlag 2008 Abstract This paper presents EVE-OPT, a Hybrid Algorithm based on Genetic Algorithms and Taboo Search for solving the Capacitated Vehicle Routing Problem. Several hybrid algorithms have been proposed in recent years for solving this problem. Despite good results, they usually make use of highly problem-dependent neighbour- hoods and complex genetic operators. This makes their application to real instances difficult, as a number of additional constraints need to be considered. The algorithm described here hybridizes two very simple heuristics and introduces a new genetic operator, the Chain Mutation, as well as a new mutation scheme. We also apply a pro- cedure, the k -chain-moves, able to increase the neighbourhood size, thereby improving the quality of the solution with negligible computational effort. Despite its simplic- ity, EVE-OPT is able to achieve the same results as very complex state-of-the art algorithms. Keywords Vehicle routing · Hybrid algorithm · Genetic algorithm · Taboo search G. Perboli (B ) · R. Tadei Dipartimento di Automatica ed Informatica, Politecnico di Torino, C.so Duca degli Abruzzi 24, 10129 Torino (TO), Italy e-mail: [email protected] R. Tadei e-mail: [email protected] F. Pezzella Dipartimento di Ingegneria Informatica, Gestionale e dell’Automazione, Università Politecnica delle Marche, Via Brecce Bianche 12, 60131 Ancona (AN), Italy e-mail: [email protected] 123

Upload: guido-perboli

Post on 11-Jul-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

Math Meth Oper Res (2008) 68:361–382DOI 10.1007/s00186-008-0236-7

ORIGINAL ARTICLE

EVE-OPT: a hybrid algorithm for the capacitatedvehicle routing problem

Guido Perboli · Ferdinando Pezzella ·Roberto Tadei

Accepted: 12 February 2008 / Published online: 8 July 2008© Springer-Verlag 2008

Abstract This paper presents EVE-OPT, a Hybrid Algorithm based on GeneticAlgorithms and Taboo Search for solving the Capacitated Vehicle Routing Problem.Several hybrid algorithms have been proposed in recent years for solving this problem.Despite good results, they usually make use of highly problem-dependent neighbour-hoods and complex genetic operators. This makes their application to real instancesdifficult, as a number of additional constraints need to be considered. The algorithmdescribed here hybridizes two very simple heuristics and introduces a new geneticoperator, the Chain Mutation, as well as a new mutation scheme. We also apply a pro-cedure, the k-chain-moves, able to increase the neighbourhood size, thereby improvingthe quality of the solution with negligible computational effort. Despite its simplic-ity, EVE-OPT is able to achieve the same results as very complex state-of-the artalgorithms.

Keywords Vehicle routing · Hybrid algorithm · Genetic algorithm · Taboo search

G. Perboli (B) · R. TadeiDipartimento di Automatica ed Informatica, Politecnico di Torino,C.so Duca degli Abruzzi 24, 10129 Torino (TO), Italye-mail: [email protected]

R. Tadeie-mail: [email protected]

F. PezzellaDipartimento di Ingegneria Informatica, Gestionale e dell’Automazione,Università Politecnica delle Marche, Via Brecce Bianche 12, 60131 Ancona (AN), Italye-mail: [email protected]

123

Page 2: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

362 G. Perboli et al.

1 Introduction

Transportation and routing costs can account for up to 20% of the final costs of deliverytours. However, the introduction of software for the management and optimization ofrouting can reduce costs by as much as 13% (Radelet and Sachs 1999; EuropeanCommission 2006). For this reason Vehicle Routing Problems (VRPs) have beenintensively studied in past decades and constitute an important field in CombinatorialOptimization research (Toth and Vigo 2001). Given a depot, a set of customers witha given location and non-negative demand, and a set of vehicles with equal capacity,the Capacitated Vehicle Routing Problem (CVRP) consists of finding a collection ofexactly K circuits (each corresponding to a vehicle route) with minimum cost. Thisis defined as the sum of the costs of the arcs belonging to the circuits, and such thateach circuit visits the depot, each customer is visited by exactly one circuit, and thesum of the demands of the customers visited by a circuit does not exceed the vehiclecapacity C . See Fig. 1 for an example of solution. If many practical instances the costmatrix satisfies the triangle inequality:

cik + ck j ≥ ci j ∀i, j, k ∈ V, (1)

where V is the set of the vertices (depot and customers). In some of these instances thevertices are associated to points on a plane and the costs are computed as the Euclideandistance between the points. In this case, the cost matrix satisfies the triangle inequalityand the instances are called Euclidean.

Several approaches as Simulated Annealing, Taboo Search, Genetic Algorithmsand Ant Systems have been developed in past decades to solve the CVRP. Over the

6

10

5

1

4

2

3

9

7

8

0

Routes

Depot

Customers

Fig. 1 Example of a VRP solution

123

Page 3: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 363

last 2 years the research has focused on Hybrid Algorithms (HAs) (Cordeau et al.2005).

In this paper, we present the Evolutionary VEhicle OPTimization (EVE-OPT)method, a Hybrid Algorithm for solving the CVRP combining Genetic Algorithm(GA) and Taboo Search (TS). The main features of this GA are a representation of thesolutions which is easy to manage and a recombination able to transmit meaningfulcharacteristics from the parents to the children. To introduce new genetic material andmaintain genetic diversity, parent solutions are combined with a crossover operatorcalled Partially Mapped Crossover (PMX). Furthermore, we introduce a new kindof mutation operator, the Chain Mutation, which is able to explore new regions ofthe solution space and to escape from local optima. Each solution generated by theGA is further optimized by TS. The TS algorithm combines two different neighbour-hoods and a procedure able to enhance the neighbourhood size without increasing itscomplexity. This procedure is called k-chain-moves and was originally introduced byCrainic et al. for the Multi-dimensional Bin Packing Problem (Perboli 2002; Crainicet al. 2007).

The remainder of this paper is organized as follows. Section 2 presents the bestmetaheuristics proposed in the past years for solving the CVRP. In Sect. 3 the mainfeatures of GA and TS algorithms are discussed. Section 4 is devoted to the presentationof the EVE-OPT algorithm, and its computational tests are discussed in Sect. 5. Finally,the conclusions of our work are reported in Sect. 6.

2 State of the art

In many real-world applications, the transportation subproblem can be represented bya CVRP problem. For this reason, many algorithms have been developed.

Until recently, exact methods for the CVRP were dominated by branch-and-cutmethods. One of the best of these was developed by Lysgaard et al. (2004). How-ever, recent research results, such as the study by Fukasawa et al. (2005), indicate thatbranch-and-cut-and-price algorithms are a more promising approach. For the CVRP,the largest instance that has been solved to optimality contains 135 customers. Dueto the computational effort of these exact methods, several heuristic and metaheuris-tic approaches have been developed. These algorithms can be divided into the threefollowing classes:

– Local search: it includes Descent Algorithms (Ergun et al. 2006), SimulatedAnnealing (Osman 1993), Deterministic Annealing (Golden et al. 1998; Li et al.2005), Taboo Search (Osman 1993; Gendreau et al. 1994; Xu and Kelly 1996;Rego and Roucairol 1996; Rego 1998; Barbarosoglu and Ozgur 1999; Cordeau etal. 2001; Toth and Vigo 2003).

– Learning mechanism: it includes Neural Networks (Ghaziri 1991, 1996; Mat-suyama 1991; Schumann and Retzko 1995) and Ant Algorithms (Reimann et al.2004).

– Population search: it includes Evolutionary Algorithms (Prins 2004; Berger andBarkaoui 2003; Mester and Bräysy 2005) and Adaptive Memory Procedures(Rochat and Taillard 1995; Tarantilis and Kiranoudis 2002).

123

Page 4: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

364 G. Perboli et al.

We do not give a detailed description of them, being available recent surveys byCordeau et al. (2005, 2007). In the following, we focus our description on the two bestmetaheuristics: the hybrid algorithms by Prins (2004) and the Active Guided EvolutionStrategies (AGES) algorithm by Mester and Bräysy (2005).

Prins (2004) combined crossover and mutation operators. Improvements are obtai-ned by means of a Local Search procedure applied to a candidate solution whichends when the first improving move is met. This procedure is also applied after eachmutation.

AGES algorithm of Mester and Bräysy (2005) combines Guided Local Searchwith evolution strategies into an iterative two-stage procedure. AGES concentrates onsingle parents, creating a single offspring from a parent through a mutation procedure.Offsprings presenting a better fitness value replace their parents. A restart mechanismapplied to the best current solution covers a significant role in improving solutionsquality. This algorithm presents the best behaviour both from the computational resultsand the computational effort. On the other hand (see Cordeau et al. 2005 for a moredetailed discussion of that aspect), it is more difficult to adapt to different versions ofthe VRP.

3 Hybrid local search

A Hybrid Algorithm (HA) is a population-based approach that applies a local searchalgorithm to each individual of a population. Basically, it combines Local Searchheuristics with Evolutionary procedures. So, while the use of a population ensures anexploration of the search space, the use of local search techniques helps to quicklyidentify ”good” areas in the search space. Some authors refers to them also as MemeticAlgorithms, even though, according to recent surveys, the term HA is most used (Talbi2002; Blum and Roli 2003).

Our HA is based on the joint use of Genetic Algorithm and Taboo Search. In thefollowing a quick reminder of these methods is given.

Genetic Algorithms (GAs) (Mitchell 1998), introduced by John Holland in 1975,are stochastic search techniques imitating the mechanism of natural evolution. Unlikeother search techniques, GAs consider multiple designs during the same iteration. Sucha set of designs is referred to as a population. The population members are called chro-mosomes or individuals, and are associated with a fitness function defined such thatgood designs have high fitness values. Moreover, each chromosome is constituted bygenes that defines the different attributes of the chromosomes. In order to generate newchromosomes, three types of operators are applied: selection, crossover and mutation.Selection is the operator choosing the individuals producing the next generation mem-bers and is usually implemented by preferring the individuals with high fitness. Thecrossover, on the other hand, splits and merges chromosomes, so that children inheritgenes from both parents. Mutation alters the value of a few genes randomly selectedfrom the population and it is usually applied according to a predetermined probability.The new solutions are then reinserted in the population. Taboo Search (TS) is a meta-heuristic algorithm developed by Glover (1989, 1990). It partially explores the solutionspace by means of the definition of moves. In order to avoid to be trapped into local

123

Page 5: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 365

optima, TS uses a Taboo List, a mechanism forbidding certain selected moves. At eachiteration, the move carried out is the one that is most promising among those available.

4 Evolutionary VEhicle OPTimization

In this section, we describe in detail the features of the EVE-OPT algorithm, withparticular reference to their influence on global behaviour. The decision to combinean evolutionary procedure, such as GA, with the TS was dictated by the need to overridethe deficiencies in each. While a GA is able to explore the solutions space better thanTS, it is slower to converge to a good solution. All GA and TS features described in thefollowing are properly defined to create an algorithm which is as simple as possible, andable to run without substantial alterations for instances with additional constraints, as inthe real-world applications. The algorithm scheme is presented in Fig. 2. The algorithmstarts generating an initial population, then it selects chromosomes to be reproducedaccording to the Reproduction Probability. These are combined through a crossoveroperator to generate an offspring, which is then modified by a mutation operator witha certain probability. The resulting offspring is refined by the TS procedure. The newsolution substitutes a member of the population chosen according to the ReInsertionProbability. This procedure is iterated until the stop criterion is not met.

4.1 Common features

In the following we present those features exploited both by the GA and the TS.

Start Initial Population Generator

Population

ReProduction Probability (RPP)

Parents

Stop Condition = TRUEYES

End

Partially Mapped Crossover (PMX)

Chain Mutation with thresholds

Offspring

TABOO SEARCH

Add&Drop N 1-Swap N

k-chain-moves

Stop Condition = TRUE

Current Solution

ReInsertion Probability (RIP)

New Solution

GENETIC ALGORITHM

DIVERSIFICATION

INTENSIFICATION

NO

YES

NO

Fig. 2 Schema of the EVE-OPT algorithm

123

Page 6: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

366 G. Perboli et al.

Chromosome: 2 4 1 11 7 5 8 10 11 11 3 6 9 11 11

Fig. 3 Example of a chromosome

4.1.1 Solution representation

In order to apply GAs to a particular problem we have to encode a generic solutionof the problem into a chromosome. How to encode a solution is a key-issue for thesuccess of GAs. Canonical GAs use binary encoding of individuals on fixed-lengthstrings. Such a representation is not naturally suitable for ordering problems such asthe Travelling Salesman Problem or the VRP, because no direct and efficient way hasbeen found to map all the possible solutions into binary strings. Hence, with regard tothe representation, we use a fixed size chromosome. Let us define n as the number ofthe customers. Possible values for the genes are the integers from 0 to n representinga vertex (where 0 represents the depot and 1 to n the customers) or the value n + 1,representing the separator for the different routes in the solution. If in a chromosomethere are two or more consecutive separators, they are interpreted as being a singleseparator between two routes. In order to design a more flexible representation, werelax the constraint on the fixed number of vehicles in the fleet. Thus, we assume thatwe do not know beforehand how many vehicles will be used in the optimal solution.We must then include a sufficient number of separator genes. We set this numberto 4Rmin, where Rmin is a lower bound of the minimum number of vehicles neededdefined as:

Rmin =⌈∑n

i=1 di

C

⌉, (2)

where di is the demand of customer i , C is the capacity of a vehicle, and n is the totalnumber of customers.

The chromosome presented in Fig. 3 codifies a solution equivalent to the one pre-sented in Fig. 1. Figure 3 shows a chromosome presenting five separators able tocodify solutions with up to 6 vehicles (the separator’s value is 11. In the example thereare three vehicles, so three separators are redundant, the third and the last two). Thevehicle paths represented are {0, 2, 4, 1, 0}, {0, 7, 5, 8, 10, 0} and {0, 3, 6, 9, 0}.

The same representation is used by both the GA and the TS.

4.2 GA features

4.2.1 Population

The initial population is made up of an individual obtained from the Clarke and Wrightheuristic (1964) and a number of individuals with chromosomes randomly generated.During the whole evolutionary process the population size remains constant.

123

Page 7: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 367

4.2.2 Fitness function

Each chromosome in the population receives a fitness value. It biases the probabilityof the chromosome to reproduce. In our case the fitness value of a chromosome is thetravel cost of its encoded solution, computed as

∑(i, j)∈ri ,ri ∈R

ci j + K (|R| − Rmin), (3)

where R is the set of the routes in the solution, ri is a route, (i, j) is an arc, ci j is thetravelling cost of the arc (i, j) and K is a high valued constant representing the usageof extra vehicles.

4.2.3 Stop criterion

The algorithm ends after a fixed number of consecutive generations without anyimprovement, or after a fixed number of iterations.

4.2.4 Infeasibility management

The main difficulty in choosing a proper representation for highly constrained Combi-natorial Optimization problems such as CVRP is dealing with infeasible solutions gen-erated during the evolutionary process. This issue is typically addressed by modifyingthe operators updating the population (mutation and crossover operators), associatingthem with repair methods, providing penalties on infeasible solutions in the fitnessfunction, or discarding infeasible solutions when created. However, the use of penaltyfunctions or rejecting strategies is inefficient for the CVRP, as the feasible schedulesspace is very small when compared to the possible schedules. This means that the GAwould waste most of its time producing or processing infeasible solutions. When it istoo difficult to find embedded constraints in the coding of individuals in order to guar-antee their feasibility, repairing techniques are the best choice. A solution is infeasibleif some routes in the chromosome cause the vehicle to exceed its capacity. When thishappens, in order to avoid infeasible solutions, the EVE-OPT algorithm deletes allthe vertices leading to excessive loads. The algorithm locates them in another vehiclewhether possible, otherwise a new vehicle is generated.

4.2.5 Reproduction, reinsertion and mutation probability definition

Reproduction and Reinsertion Probability for each individual depend on a proportionalfitness assignment such that each individual in the population receives a ReProductionProbability (RPP) and a ReInsertion Probability (RIP) depending both on their own

123

Page 8: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

368 G. Perboli et al.

fitness and the fitness of the remaining individuals:

RPP( j) = 1/Fitness( j)∑ni=1 1/Fitness(i)

(4)

RIP( j) = Fitness( j)∑ni=1 Fitness(i)

(5)

These probabilities are introduced in order to decrease the homogeneity of the newpopulation, while still offering to the best individuals the highest probability of remain-ing in the population.

Usually the mutation probability is fixed and has low values (5–6%). In such a way,after some iterations the population members have the same fitness. This situationmeans that many of the chromosomes are very similar or, at worst, equal each others,which corresponds to being in a local minimum. To escape from local minima, dynamicMutation Probability (MP) is introduced, which depends on the distance between thebest and the worst solutions in the population. More formally, it is defined as follows:

MP = θ(HMP − LMP) + LMP (6)

θ = max

{0, 1 − FW − FB

FBα

},

where HMP and LMP are the given maximum and minimum values of the MutationProbability, and FB and FW the best and worst fitness values in the current population.The rationale of expression (6) is to dynamically update the mutation probabilitybetween LMP and HMP while FW −FB

FBα converges towards 0. In particular, α is a

constant-valued non-negative parameter used by the user to increase or decrease theconvergence of the ratio, while the max operator is necessary to ensure the non-negativity of θ .

4.2.6 Genetic operators

Here we consider two kinds of operators: crossover and mutation. The crossover oper-ator is used to consolidate what has already been “learned” by the different individuals.Recombination of two solutions is the primary tool for achieving this goal. In fact,combinations of useful pieces of information from different individuals would resultin better overall solutions, accelerating the search for the global optimum. The muta-tion operator ensures that new aspects of a problem are considered, introducing newinformation by means of random swapping of one or more genes.

The Partially Mapped CrossoverThe Partially Mapped Crossover (PMX) chooses a random cut point in both parents,

and considers the segments following the cut point as a partial mapping of the genesto be exchanged in the first parent to generate the offspring. It takes correspondinggenes from the segment of both parents, locates both of these in the first parent, andexchanges them. Hence, given two parents and a cut in a given position of the two

123

Page 9: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 369

Parent1: 2 7 9 9 9 0 8 1 9 5 6 4 3 9

Parent2: 2 8 7 9 6 0 1 9 9 5 3 4 9 9

Offspring: 2 8 7 9 9 0 1 9 9 5 6 4 3 9

Position 0 1 2 3 4 5 6 7 8 9 10 11 12 13

Fig. 4 Example of the Partially Mapped Crossover

parents (the cut position is the same for both the parents), the PMX operator builds anoffspring according to the following algorithm:

1. Starting from the first gene of the first parent on the right of the cut, PMX checksthe genes.

2. Let us assume to consider the genes in position i .– If the genes in position i of the two parents are different, the gene of the

first parent replaces the gene of the second one in position i of the offspring.However, the i th gene of the first parent is surely present in another positionj �= i of the complete chromosome of the second parent. Thus, in the offspring,the gene in position j is replaced by the gene in position i in the second parent.

– If the genes in the position i are equal, their value is placed in position i in theoffspring.

3. We move to the next gene on the right. If we are at the end of the solutions, weexit, otherwise we go to 2.

4. All the genes of the offspring on the left of the cut, which have not been fixed yet,take the value of those of the second parent.

Figure 4 presents an example of the PMX. In this example, we introduce a cutbetween the genes placed in the ninth and the tenth position. The resulting offspringcorresponds to the second parent after the following changes: for any gene on theright side of the cut, we replace the genes of Parent2 with those of Parent1. So, wereplace gene C3 of Parent2 with gene C6 from Parent1. Moreover, gene C3 is movedin position 4 (where C6 appears in Parent2). We then consider the position 11. Havingthe same value for both parents, it involves no action. When we consider position 12,on the other hand, we replace gene C9 of Parent2 with gene C3 of Parent1. At thesame time, gene C9 is moved to position 4. Finally, we consider position 13, whichdoes not change the offspring anymore.

123

Page 10: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

370 G. Perboli et al.

Fig. 5 Chromosome before and after the Chain Mutation

Chain MutationThe Chain Mutation is a mutation operator that chooses a stochastic number of genes

k, builds an ordered list of them (the chain) and shifts the corresponding informationfrom one gene to the other (see Algorithm 1). Figure 5 offers an example. Let usassume we select the four genes in positions 4, 10, 6 and 0, respectively, for the ChainMutation. In the new solution, the value of gene 4 is placed in gene 10, the value ofgene 10 in gene 6 and so on, up to the last gene in the chain (gene 0), whose value isplaced in the position of the first gene of the chain (gene 4).

Algorithm 1 Chain MutationInput C : target chromosomeInput S: set of randomly-generated genes

prev = C (S (1))

for i = 2 to k docurrent = C (S (i))C (S (i)) = prevprev = current

end forC (S (1)) = prevreturn C

4.2.7 Clones management

In order to maintain a population as different as possible, after a fixed number ofiterations we check whether there are clones in the current population. We defineclones two individuals having the same fitness function. The check for clones in the

123

Page 11: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 371

population is applied after a fixed number of iterations. If one or more individuals areidentified as clones, they are replaced by new randomly built individuals.

4.3 TS features

The aim of the TS is to optimize an offspring generated by the GA. The algorithm usedto achieve this is a TS-based heuristic procedure that explores a macro-neighbourhoodconstituted by the fusion of two neighbourhoods: the Add and Drop and the 1-Swap.The best solution of the macro-neighbourhood is chosen as the Candidate Solutionand this procedure is iterated until the stop criterion is met. The above mentionedcomponents are presented below.

4.3.1 Neighbourhood

The TS procedure starts by randomly choosing a target vehicle in order to generateits neighbourhood. Our algorithm is able to combine two different kinds of neigh-bourhoods: the Add and Drop and the 1-Swap neighbourhood. The Add and Dropneighbourhood consists of trying to put each vehicle’s customer into each of the othervehicles. The 1-Swap considers each target vehicle’s customer and attempts to swapit with another customer belonging to a different vehicle. These two neighbourhoodsconsider only feasible solutions, i.e. solutions with vehicles exceeding their capacityare discarded.

In order to increase the accuracy of the macro-neighbourhood without affectingthe overall complexity of the procedure, the Add and Drop accuracy is dynamicallyincreased by means of the k-chain-moves procedure. The k-chain-moves procedure isa simplified version of the cyclic exchange neighbourhood by Thompson and Orlin(1989) and Thompson and Psaraftis (1993), which introduces a chain of k changesin the solution with a negligible additional computational effort. Despite the cyclicexchange neighbourhood, the k-chain-moves procedure does not involve the manage-ment of an additional data structure.

The basic idea, introduced by Perboli (2002) and Crainic et al. (2007) for theThree-dimensional Bin Packing Problem, is to build into a solution chains of movesof length k by iterating a given neighbourhood, in such a way that the computationalcomplexity of the resulting procedure is not increased. Indeed, given a neighbourhoodJ of complexity O(|J |), a chain of k −1 moves could be trivially obtained in O(|J |k).For example, if a neighbourhood considers all the pairs in a given set, a series ofk moves can be obtained considering all the possible k-tuples. Unfortunately thisheuristic method cannot be used due to the increasing computational effort needed toexploit the new neighbourhood.

In the k-chain-moves (see Algorithm 2) at each iteration, the neighbourhood isapplied to the best solution of the previous iteration, defining a macro-neighbourhoodof size k|J |. The procedure first applies the neighbourhood J and adds its solutionsto the macro-neighbourhood N Set . Let us consider BS1 as the best solution obtainedby J after the first iteration. We apply back the neighbourhood J to BS1 obtaininga new set of solutions N Set2. The algorithm adds N Set2 to N Set and extracts the

123

Page 12: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

372 G. Perboli et al.

Algorithm 2 k-chain-moves procedureInput k : length of the cycle to buildInput G E NN : function generating the set of the solutions of the neighbourhoodC S : Current SolutionAV O I D : List of forbidden solutionsN Set : set of the solutions belonging to the neighbourhood

N Set = {∅}AV O I D = AV O I D ∪ {CS}}, BS0 = C Sfor i = 1 to k − 1 do

N Setk = G E NN (AV O I D, BSk−1) AV O I DN Set = N Set ∪ {N Setk }Extract the best solution BSk from N SetkAV O I D = AV O I D ∪ {BSk }}

end forreturn N Set

solution BS2 defined as the best solution in N Set2\{BS1}. Iterating the procedure ktimes, in N Set we have a set of solutions, which differs from the starting solutions bya cycle of up to k moves. In such a way, the overall complexity becomes O((k−1)|J |),where k is a constant. At the end of the process, the tours of the best solution foundare optimized by means of a heuristic algorithm for the TSP problem. The presentimplementation has a steepest descent heuristics with a neighbourhood defined by theswaps between every pair of customers in the route. A limit of 10 iterations is imposedto this heuristics.

Consider, for example, the situation depicted in Fig. 6. Let us assume that we applythe Add and Drop neighbourhood to a solution, that we use V1 as target vehicle andobtain the result that the best move is to load customer C5 on vehicle V2 (Fig. 6a).Now let us assume that the k-chain-moves is applied to the same neighbourhood andto the same solution, setting the chain length equal to 2. At the end of the first iteration,we will obtain the previous move as the best one (we move customer C5 from vehicleV1 to V2). We now apply the Add and Drop approach again using vehicle V2 as targetvehicle, while forbidding the use of vehicle V1. Suppose now that the best move is toshift customer C13 from vehicle V2 to V3 (see Fig. 6b). We obtain a chain of 2 moves;the resulting solution is depicted in Fig. 6c.

4.3.2 Taboo list

When a vehicle is removed from the route r , the Taboo List forbids reinserting it inthe same route. The Taboo list has a variable size ϑ , dynamically set by the algorithmbetween a minimum and a maximum value. It is increased by 1 if the current solutionin the neighbourhood is worst than the best solution for a fixed number of iterations,while every time the best solution is updated, ϑ is set again to the minimum value.

4.3.3 Aspiration and stop criteria

The aspiration criterion allows the procedure to consider those moves whose objectivevalue is better than the current best one, even if they are taboo moves. Both GA and

123

Page 13: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 373

Vehicle 1

0

DEPOT

6

1

72

5

3

4

Vehicle 210

DEPOT8

1414

13

119

12

Vehicle 3

Vehicle 1 Vehicle 2 Vehicle 3

Vehicle 1 Vehicle 2 Vehicle 3

16

DEPOT

21 17

20

18

15

19

DEPOT

0

6

41

72

3

10

DEPOT12

911

13

8

145

16

DEPOT

21 17

20

18

15

19

DEPOT

0

6

41

72

3

10

DEPOT12

9

11

8

14

5

16

DEPOT

21 17

20

18

15

19 13

13

5

(a)

(b)

(c)

Fig. 6 Example of k-chain-moves

TS components present the same stop criteria: they end after Q iterations without anyimprovement or after a fixed iterations number. Note that TS is a inner function of theGA, so when TS ends the algorithm continues executing the GA procedure, while theGA and the full algorithm stop at the same time.

5 Computational results

In this section, we present the results of the computational experiments. EVE-OPThas been implemented in C language and the tests have run on a Pentium-IV 3.0 GHzPC. Benchmark instances are built such that the vertexes are defined by points in theplane and the cost for each edge (i, j) is the Euclidean distance between i and j .The evaluation has been performed on two sets of Euclidean benchmark instances: thefirst contains seven medium-sized classical instances with 50–199 customers proposedby Christofides et al. (1979) and can be downloaded from the OR Library (Vehiclerouting data sets, http://www.branchandcut.org/VRP/data/), the second contains 8large-scale instances (200–480 customers) presented by Golden et al. (1998). To givean estimation of the EVE-OPT’s performance, we present two series of results: in thefirst, we analyse the behaviour of the different components of EVE-OPT, while in thesecond EVE-OPT is compared with state-of-the-art algorithms.

123

Page 14: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

374 G. Perboli et al.

Table 1 Comparison between EVE-OPT, TS and GA: Christofides et al. instances

Instance Best GA TS EVE-OPT

Value (%) Value (%) Value (%)

1 50 524.61 531.32 1.28 524.61 0.00 524.61 0.00

2 75 835.26 842.93 0.92 835.26 0.00 835.26 0.00

3 100 826.14 845.65 2.36 827.04 0.11 826.14 0.00

4 150 1028.42 1065.67 3.62 1043.29 1.45 1030.42 0.19

5 199 1291.29 1332.34 3.18 1321.11 2.31 1300.23 0.69

11 120 1042.11 1087.64 4.37 1079.98 3.63 1042.11 0.00

12 100 819.56 837.82 2.23 819.56 0.00 819.56 0.00

Average 2.57 1.07 0.13

Table 2 Comparison between EVE-OPT, TS and GA: Golden et al. instances

Instance Best GA TS EVE-OPT

Value (%) Value (%) Value (%)

1 240 5627.54 5959.49 5.90 5915.00 5.11 5642.02 0.26

2 320 8447.92 8998.61 6.52 8950.25 5.95 8447.92 0.00

3 400 11036.22 12501.83 13.28 12664.31 14.75 11121.98 0.78

4 480 13624.52 14982.54 9.97 15133.37 11.07 13673.58 0.36

5 200 6460.98 6822.67 5.60 6635.47 2.70 6460.98 0.00

6 280 8412.8 8635.61 2.65 8602.89 2.26 8412.80 0.00

7 360 10195.56 11178.69 9.64 11152.29 9.38 10215.19 0.19

8 440 11663.55 12948.45 11.02 12836.94 10.06 11828.36 1.41

Average 8.07 7.66 0.38

5.1 EVE-OPT’s components effect

EVE-OPT is based on different sub-procedures that interact each other. In the follow-ing, we present the effects on the global behaviour of the hybridization between theGA and the TS, the Chain Mutation and the k-chain-moves algorithm.

5.1.1 EVE-OPT versus GA and TS

Aim of this test is to understand whether the combination of TS and GA is fruitful.The question is therefore whether EVE-OPT performs better than its two componentstaken separately. Tables 1 and 2 present the results of EVE-OPT, GA only and TS only.First, the results were obtained using EVE-OPT with the GA and the TS hybridized(the TS stops after 50 non-improving iterations). Given the time needed by EVE-OPTto optimize each instance, the GA and the TS were applied separately to the sameinstance for the same time. In each table, the first column presents the instance name,while the second gives the number of customers in the instance. Columns 4, 6 and 8give the objective function value obtained using GA, TS and EVE-OPT, respectively,

123

Page 15: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 375

Table 3 Comparison between EVE-OPT with static and dynamic mutation probability: Christofides et al.instances

Instance Best Static Dynamic

Value (%) Value (%)

1 50 524.61 524.61 0.00 524.61 0.00

2 75 835.26 835.26 0.00 835.26 0.00

3 100 826.14 826.14 0.00 826.14 0.00

4 150 1028.42 1033.20 0.46 1030.42 0.19

5 199 1291.29 1302.95 0.90 1300.23 0.69

11 120 1042.11 1044.71 0.25 1042.11 0.00

12 100 819.56 819.56 0.00 819.56 0.00

Average 0.23 0.13

while columns 5, 7 and 9 present the deviation of each algorithm from the best knownsolution, whose value is reported in column 3. In Table 1 we can see that the TSoutperforms the GA on the medium instances, while they produce similar results onthe larger ones (see Table 2). Our HA benefits from these two different behaviours,outperforming both TS and GA in both sets of instances.

5.1.2 EVE-OPT with static and dynamic mutation probability

Fixing the mutation probability to a standard value (5–6%), the population convergesquite fast to a local minimum without any chance of escaping. However, when thisvalue is increased, a strong stochastic component is introduced in the system, makingit highly unpredictable. Our idea is to use a mutation probability which depends onthe distance between the best and the worst population fitness values. This allows usto exploit the stability of low mutation probability in heterogeneous populations andthe strong stochastic component in the homogeneous ones, in order to explore newregions of the solution space when the population is composed of similar individuals.The computational results presented in Tables 3 and 4 were obtained by setting a fixedmutation probability LMP = 0.06 in the tests named Static and using the dynamicmutation probability defined in (6) in the Dynamic tests. In the second case, the para-meters have been set in the following way: HMP = 0.4, LMP = 0.06, α = 5. In eachtable, columns 4 and 6 show the objective function value obtained in the two tests,while columns 5 and 7 present the deviation from the best known solution. Accordingto these results, the mutation with a dynamic probability related to the homogenousbehaviour of the population (i.e. Dynamic) leads to an improvement up to 1%.

5.1.3 EVE-OPT with or without k-chain-moves

The results shown in Tables 5 and 6 indicate the effectiveness of the k-chain-movesprocedure. In both tables, the columns 4, 6 and 8 report the objective function valueobtained by setting the length of the chain of moves in the k-chain-moves procedure

123

Page 16: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

376 G. Perboli et al.

Table 4 Comparison between EVE-OPT with static and dynamic mutation probability: Golden et al.instances

Instance Best Static Dynamic

Value (%) Value (%)

1 240 5627.54 5662.10 0.61 5642.02 0.26

2 320 8447.92 8505.49 0.68 8447.92 0.00

3 400 11036.22 11121.71 0.77 11121.98 0.78

4 480 13624.52 13703.56 0.58 13673.58 0.36

5 200 6460.98 6518.34 0.89 6460.98 0.00

6 280 8412.80 8420.37 0.09 8412.80 0.00

7 360 10195.56 10213.58 0.18 10215.19 0.19

8 440 11663.55 11895.64 1.99 11828.36 1.41

Average 0.72 0.38

Table 5 Results with different values of k in the k-chain-moves procedure: Christofides et al. instances

Instance Best K = 1 K = 2 K = 3

Value (%) Value (%) Value (%)

1 50 524.61 524.61 0.00 524.61 0.00 524.61 0.00

2 75 835.26 835.26 0.00 835.26 0.00 835.26 0.00

3 100 826.14 827.14 0.12 826.14 0.00 826.14 0.00

4 150 1028.42 1035.52 0.69 1032.42 0.39 1030.42 0.19

5 199 1291.29 1329.19 2.94 1301.82 0.82 1300.23 0.69

11 120 1042.11 1047.11 0.48 1042.11 0.00 1042.11 0.00

12 100 819.56 827.09 0.92 819.56 0.00 819.56 0.00

Average 0.74 0.17 0.13

to 1, 2 and 3, respectively, while columns 5, 7 and 9 present the deviation from thebest known solution. In all the tests, the mutation probability has been set to a constantvalue LMP = 0.06. It should be noted that, when k is set to 1, this is equivalent todisabling the k-chain-moves procedure. According to these results, the best valuesare obtained when k is 3. Moreover, higher values of k do not improve the solutionquality, increasing only the execution. Setting k = 3, we obtain an improvement ofthe solution quality up to 5%. These results, and the corresponding calibration of thek parameter, confirms the tests made for the Three-dimensional Bin Packing Problem(Perboli 2002; Crainic et al. 2007).

5.2 EVE-OPT versus State-of-Art

In this section, we compare EVE-OPT with state-of-the-art algorithms, where boththe dynamic mutation probability and the k-chain-moves are used. For the dynamic

123

Page 17: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 377

Table 6 Results with different values of k in the k-chain-moves procedure: Golden et al. instances

Instance Best K = 1 K = 2 K = 3

Value (%) Value (%) Value (%)

1 240 5627.54 5737.02 1.95 5677.22 0.88 5642.02 0.26

2 320 8447.92 8651.92 2.41 8505.19 0.68 8447.92 0.00

3 400 11036.22 11430.88 3.58 11446.92 3.72 11121.98 0.78

4 480 13624.52 14283.29 4.84 13813.27 1.39 13673.58 0.36

5 200 6460.98 6591.63 2.02 6509.63 0.75 6460.98 0.00

6 280 8412.80 8612.48 2.37 8491.48 0.94 8412.80 0.00

7 360 10195.56 10561.28 3.59 10493.45 2.92 10215.19 0.19

8 440 11663.55 12175.26 4.39 11922.04 2.22 11828.36 1.41

Average 3.14 1.69 0.38

mutation probability, the parameters are HMP = 0.4, LMP = 0.06, α = 5, while thevalue of k in the k-chain-moves procedure is 3. Tables 7 and 8 show the results ofEVE-OPT compared with the results of Prins (2004) and AGES (Mester and Bräysy2005). The results of GTS (Toth and Vigo 2003), VRTR (Li et al. 2005), USTA(Cordeau et al. 2001), VLNS (Ergun et al. 2006), BoneRoute (Tarantilis and Kiranoudis2002; Berger and Barkaoui 2003) are not reported, being dominated by Prins, AGES(see Cordeau et al. 2005 for the detailed tables). The results for those algorithms aretaken from the literature. For each algorithm, we show the value of the best solution,the gap from the best known solution and the execution time. Given the differentcomputers used, the reported computational times are hard to interpret. However,in the following we present a comparison of the computational times of the bestalgorithms according to Standard performance evaluation corporation (http://www.spec.org/cpu2000/results/).

AGES has still the best results both in accuracy and computing time. On the otherhand, according to several analysis of the algorithms (see, e.g. Cordeau et al. 2002),AGES is the most complex algorithm to implement and calibrate, and also one of themost difficult to modify when additional constraints must be introduced (see Cordeauet al. 2005 for further details).

EVE-OPT is able to achieve the same results of Prins on the medium-sized instances,while in the large-sized instances EVE-OPT obtains a better global behaviour, with anaverage deviation from the optimal values of 0.19% compared to 0.22% of Prins. Tables9 and 10 compare the unified computational times of EVE-OPT, Prins and AGES. Theunified computational time is defined by scaling the original times of Prins and AGESaccording to a ratio obtained from the SPEC CPU2000 benchmarks published in Stan-dard performance evaluation corporation (http://www.spec.org/cpu2000/results/). Theratios are 0.44 and 0.6 for Prins and AGES, respectively, considering that Prins andAGES run on 1 Ghz and a 2 Ghz Pentium based workstations, while EVE-OPT runson a 3 Ghz machine. In this way, we can compare the different computers in terms ofperformance. For EVE-OPT, column 5 gives the overall time, while column 6 shows

123

Page 18: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

378 G. Perboli et al.

Tabl

e7

EV

E-O

PTve

rsus

Stat

e-of

-Art

:Chr

isto

fides

etal

.ins

tanc

es

Inst

ance

Bes

tPr

ins

AG

ES

Mes

ter

and

Brä

ysy

EV

E-O

PT

Val

ue(%

)M

inut

esa

Val

ueb

(%)

Min

utes

cV

alue

(%)

Min

utes

d

150

524.

6152

4.61

0.00

0.01

524.

610.

000.

0152

4.61

0.00

0.94

275

835.

2683

5.26

0.00

0.77

835.

260.

000.

2683

5.26

0.00

7.17

310

082

6.14

826.

140.

000.

4682

6.14

0.00

0.05

826.

140.

006.

92

415

010

28.4

210

31.6

30.

315.

5010

28.4

20.

000.

4710

30.4

20.

1930

.26

519

912

91.2

913

00.2

30.

6919

.11

1291

.29

0.00

101.

9313

00.2

30 .

6911

.51

1112

010

42.1

110

42.1

10.

000.

3010

42.1

10.

000.

0510

42.1

10.

004.

64

1210

081

9.56

819.

560.

000.

0581

9.56

0.00

0.01

819.

560.

0020

.83

Ave

rage

0.14

3.74

0.00

14.6

80.

1311

.75

aPe

ntiu

mII

I1

GH

zb

See

Mes

ter

and

Brä

ysy

(200

5)an

dC

orde

auet

al.(

2005

)c

Pent

ium

IV2

GH

zd

Pent

ium

IV3

GH

z

123

Page 19: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 379

Tabl

e8

EV

E-O

PTve

rsus

Stat

e-of

-Art

:Gol

den

etal

.ins

tanc

es

Inst

ance

Bes

tPr

ins

AG

ES

Mes

ter

and

Brä

ysy

EV

E-O

PT

Val

ue(%

)M

inut

esa

Val

ueb

(%)

Min

utes

cV

alue

(%)

Min

utes

d

124

056

27.5

456

46.6

30.

3432

.42

5627

.54

0.00

8.73

5642

.02

0.26

26.7

2

232

084

47.9

284

47.9

20.

0077

.92

8447

.92

0.00

46.6

684

47.9

20.

0027

.58

340

011

036.

2211

036.

220.

0012

0.83

1103

6.22

0.00

40.5

511

036.

220.

0067

.81

448

013

624.

5213

624.

520.

0018

7.60

1362

4.52

0.00

470.

0013

673.

580.

3611

5.94

520

064

60.9

864

60.9

80.

001.

0464

60.9

80.

000.

1764

60.9

80 .

009.

80

628

084

12.8

084

12.8

00.

009.

9784

12.8

80.

0075

.22

8412

.80

0.00

31.3

4

736

010

195.

5610

195.

590.

0039

.05

1019

5.56

0.00

0.55

1021

5.19

0.19

24.1

3

844

011

663.

5511

828.

781.

4288

.30

1166

3.55

0.00

34.3

011

748.

360.

7333

.90

Ave

rage

0.22

69.6

40.

0084

.52

0.19

42.1

5

aPe

ntiu

mII

I1

GH

zb

See

Mes

ter

and

Brä

ysy

(200

5)an

dC

orde

auet

al.(

2005

)c

Pent

ium

IV2

GH

zd

Pent

ium

IV3

GH

z

123

Page 20: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

380 G. Perboli et al.

Table 9 EVE-OPT versus State-of-Art—unified computational times: Christofides et al. instances

Instance Unified time (min)

Prins (2004) AGES best EVE-OPT EVE-OPT best solution(Mester and Bräysy 2005)

1 50 0.00 0.01 0.94 0.73

2 75 0.34 0.16 7.17 3.92

3 100 0.20 0.03 6.92 2.12

4 150 2.45 0.28 30.26 21.37

5 199 8.51 61.07 11.51 5.62

11 120 0.13 0.03 4.64 3.45

12 100 0.02 0.01 20.83 16.03

Average 1.67 8.80 11.75 7.63

Table 10 EVE-OPT versus State-of-Art—unified computational times: Golden et al. instances

Instance Unified time (min)

Prins (2004) AGES best EVE-OPT EVE-OPT(Mester and Bräysy 2005) best solution

1 240 14.44 5.23 26.72 17.39

2 320 34.71 27.95 27.58 21.84

3 400 53.82 24.29 67.81 44.56

4 480 83.57 281.57 115.94 83.42

5 200 0.46 0.10 9.8 8.75

6 280 4.44 45.06 31.34 23.45

7 360 17.40 0.33 24.13 14.16

8 440 39.33 20.55 33.9 25.8

Average 31.02 50.64 42.15 31.73

the time when the best solution has been found. According to those results, Prinsappears to behave better than EVE-OPT, in particular for medium sized instances.However, this is not generally the case. In fact the Prins stopping criterion is to halteither after a fixed number of non-increasing iterations or if the optimal solution isfound (when available from the literature), while EVE-OPT does not consider theoptimal value as a stopping criterion. We decided not to use the information about theoptimal solution to stop EVE-OPT because, in real-world application, this value is notknown in advance. This implies that the values of the computational times of Prinsin the medium sized instances are underestimated for Instance 1 and 12. In fact, thebest solution of these instances was considered optimal by Prins (to our knowledge,this is true only for Instance 1, while no optimality proof for Instance 12 exists). Evenconsidering this, Prins is quicker than EVE-OPT, but with a lower quality of the finalsolutions. On the other hand, analysing the objective functions of the solutions found

123

Page 21: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

EVE-OPT for CVRP 381

by EVE-OPT, it is evident that EVE-OPT takes on average about 70% of the timeto find the best solution, so EVE-OPT computational times could be further reducedwithout affecting the solution quality.

6 Conclusions

This paper describes EVE-OPT, a Hybrid Algorithm for the CVRP combining GeneticAlgorithms and Taboo Search. The ingredients of our GA are a natural representationof solutions and a recombination able to transmit meaningful characteristics fromparents to children. Moreover, a new kind of mutation, the Chain Mutation, and a neweffective dynamic mutation scheme are presented.

Extensive computational results suggest that all the algorithms (GA, TS andk-chain-moves) lead to a considerable improvement in the quality of the solutions,and that EVE-OPT generates results comparable with the State-of-Art. Moreover,EVE-OPT is quite simple to code and modify. In fact, it has been modified to be usedto solve real delivery problems with additional constraints.

Acknowledgments This project has been partially supported by the Ministero dell’Università e dellaRicerca (MUR), under the Progetto di Ricerca di Interesse Nazionale (PRIN) 2005 ”Sistemi di Infomobilitàe Distribuzione Merci in Aree Metropolitane” and by the Natural Sciences and Engineering ResearchCouncil of Canada through its Discovery Research Grant program.The authors wish to thank two anonymous Referees for their useful suggestions, which significantlyimproved this paper.

References

Barbarosoglu G, Ozgur D (1999) A tabu search algorithm for the vehicle routing problem. Comput OperRes 26(3):255–270

Berger J, Barkaoui M (2003) A new hybrid genetic algorithm for the capacitated vehicle routing problem.J Oper Res Soc 54(12):1254–1262

Blum C, Roli A (2003) Metaheuristics in combinatorial optimization: overview and conceptual comparison.ACM Comput Surv 35(3):268–308

Christofides N, Mingozzi A, Toth P (1979) The vehicle routing problem. In: Christofides N, Mingozzi A,Toth P, Sandi C (eds) Combinatorial optimization. Wiley, Chichester pp 315–338

Clarke G, Wright JW (1964) Scheduling of vehicles from a central depot to a number of delivery points.Oper Res 12(4):568–581

Cordeau J-F, Gendreau M, Hertz A, Laporte G, Sormany J-S (2005) New heuristics for the vehicle routingproblem. In: Langevin A, Riopel D (eds) Logistics systems: design and optimization. Springer, NewYork pp 279–297

Cordeau J-F, Gendreau M, Laporte G, Potvin J-Y, Semet F (2002) A guide to vehicle routing heuristics. JOper Res Soc 53(5):512–522

Cordeau J-F, Laporte G, Mercier A (2001) A unified tabu search heuristic for vehicle routing problemswith time windows. J Oper Res Soc 52(8):928–936

Cordeau J-F, Laporte G, Savelsbergh MWP, Vigo D (2007) Vehicle Routing. In: Barnhart C, Laporte G(eds) Transportation. North Holland, Amsterdam pp 367–428

Crainic TG, Perboli G, Tadei R (2007) TS2 PACK: A two-stage tabu search heuristic for the three-dimensional bin packing problem. Eur J Oper Res (in press). doi:10.1016/j.ejor.2007.06.063

Ergun O, Orlin JB, Steele-Feldman A (2006) Creating very large scale neighborhoods out of smaller onesby compounding moves. J Heuristics 12(1–2):115–140

European Commission (2006) Energy and Transport, European energy and transport-Trends to 2030, Officefor Official Publications of the European Communities

123

Page 22: EVE-OPT: a hybrid algorithm for the capacitated vehicle routing problem

382 G. Perboli et al.

Fukasawa R, Lysgaard J, Poggide Aragao M, Reis M, Uchoa E, Werneck RF (2005) Robust branch-and-cut-and-price for the capacitated vehicle routing problem. Math Program 106(3):491–511

Gendreau M, Hertz A, Laporte G (1994) A tabu search heuristic for the vehicle routing problem. ManageSci 40(10):1276–1290

Ghaziri H (1991) Solving routing problems by a self-organizing map. In: Kohonen T, Makisara K, SimulaO, Kangas J (eds) Artificial neural networks. North-Holland, Amsterdam pp 829–834

Ghaziri H (1996) Supervision in the self-organizing feature map: application to the vehicle routing problem.In: Osman IH, Kelly JP (eds) Meta-heuristics: theory and applications. Kluwer, Boston pp 651–660

Glover F (1989) Tabu search—part I. ORSA J Comput 1(3 ):190–206Glover F (1990) Tabu search—part II. ORSA J Comput 2(1):4–32Golden BL, Wasil EA, Kelly JP, Chao I-M (1998) Metaheuristics in vehicle routing. In: Crainic TG, Laporte

G (eds) Fleet management and logistics. Kluwer, Boston pp 33–56Li F, Golden BL, Wasil EA (2005) Very large-scale vehicle routing: New test problems, algorithms, and

results. Comput Oper Res 32(5):1165–1179Lysgaard J, Letchford AN, Eglese RW (2004) A new branch-and-cut algorithm forthe capacitated vehicle

routing problem. Math Program 100(2):423–445Matsuyama Y (1991) Self-organization via competition, cooperation and categorization applied to extended

vehicle routing problems. In: Proceedings of the International Joint Conference on Neural Networks,Seattle, pp 385–390

Mester D, Bräysy O (2005) Active guided evolution strategies for the large scale vehicle routing problemswith time windows. Comput Oper Res 32(6):1593–1614

Mitchell M (1998) An introduction to genetic algorithms. MIT Press, CambridgeOsman IH (1993) Metastrategy simulated annealing and tabu search algorithms for the vehicle routing

problem. Ann Oper Res 41(1–4):421–451Perboli G (2002) Bounds and heuristics for the packing problems. Ph.D. thesis, Politecnico di TorinoPrins C (2004) A simple and effective evolutionary algorithm for the vehicle routing problem. Comput Oper

Res 31(12):1985–2002Radelet S, Sachs J-D (1999) Shipping costs, manufactured exports and economic growth. Harvard Institute

for International Development, CambridgeRego C (1998) A subpath ejection method for the vehicle routing problem. Manage Sci 44(10):1447–1459Rego C, Roucairol C (1996) A parallel tabu search algorithm using ejection chains for the vehicle routing

problem. In: Osman IH, Kelly JP (eds) Meta-heuristics: theory and applications. Kluwer, Bostonpp 661–675

Reimann M, Doerner K, Hartl RF (2004) D-ants: savings based ants divide and conquer the vehicle routingproblem. Comput Oper Res 31(4):563–591

Rochat Y, Taillard ED (1995) Probabilistic diversification and intensification in local search for vehiclerouting. J Heuristics 1(1):147–167

Schumann M, Retzko R (1995) Self-organizing maps for vehicle routing problems-minimizing an explicitcost function. In: Fogelman-SouliT F, Gallinari P (eds) Proceedings of the International Conferenceon Artificial Neural Networks, Paris, pp 401–406

Talbi E-G (2002) A taxonomy of hybrid metaheuristics. J Heuristics 8(5):541–564Tarantilis CD, Kiranoudis CT (2002) BoneRoute: an adaptive memory-based method for effective fleet

management. Ann Oper Res 115(1–4):227–241Thompson PM, Orlin JB (1989) The theory of cyclic transfers, Tech. rep., Operations Research Center,

MIT, Cambridge, MA, Working Paper No. OR 200-89Thompson PM, Psaraftis HN (1993) Cyclic transfer algorithms for multi-vehicle routing and scheduling

problems. Oper Res 41(5):935–946Toth P, Vigo D (eds) (2001) The vehicle routing problem. Society for Industrial and Applied Mathematics,

PhiladelpiaToth P, Vigo D (2003) The granular tabu search and its application to the vehicle routing problem.

INFORMS J Comput 15(1):333–346Xu J, Kelly JP (1996) A network flow-based tabu search heuristic for the vehicle routing problem. Trans-

portation Sci 30(4):379–393

123