532 PDF
532 PDF
ANAND SUBRAMANIAN
Routing Problems
NITERÓI
2012
UNIVERSIDADE FEDERAL FLUMINENSE
ANAND SUBRAMANIAN
Routing Problems
Advisor:
Luiz Satoru Ochi
Co-advisor:
Eduardo Uchoa
NITERÓI
2012
Heuristic, Exact and Hybrid Approaches for Vehicle Routing Problems
Anand Subramanian
Approved by:
A great number of people have rendered assistance during the various phases of this
research. To all of them, I extend my deepest appreciation. In particular, I would like to
express my indebtedness and sincere gratitude to:
• Prof. Luiz Satoru Ochi, for his guidance, confidence in my work and constant
incentive throughout the research program.
• Prof. Eduardo Uchoa, to whom I owe so much for his patience, extremely valuable
guidance and encouragement.
• Members of the jury, for the important contributions and suggestions that helped
to improve the quality of this thesis.
• Prof. Artur Pessoa (DEP-UFF), for countless stimulating discussions during the
last 4 years and for his remarkable collaboration in Chapters 4 and 5.
• Prof. Lucı́dio Cabral (DI-UFPB), for introducing me to the optimization world way
back in 2005.
• Puca Huachi V. Penna, for the substantial help with the HFVRP and also for his
great friendship and delicious meals prepared by himself and his wife Temis.
• Jacques Alves da Silva, one of the most patient and generous people I have ever
met, for his friendship and all the support in solving Linux, LaTeX and general
debugging issues.
• My dearest friends Luciana Brugiolo, Renatha Capua and Adria Lyra for being
incredibly helpful and for taking care of me during my stay at IC-UFF.
• Hugo Kramer, Vinicius Petrucci, Carlos “Carlão” Henrique (tenso! carroça!) and
Sérgio T. Carvalho, for their friendship, support and enjoyable conversations on
general topics.
Acknowledgments v
• Tiago “Facada” and André Renato for very helpful CPLEX tips.
• Marcos Melo, Pablo Munhoz, Sabir Ribas, Igor Coelho, Mario Perché, Lucas Bastos,
Bruno Paes, Gustavo Carvalho, Gustavo Semaan, Márcio Mine, Matheus Silva,
Gabriel Argolo, Thibaut Lust, Rafael Martinelli, Thibaut Vidal and Maria Battarra
for fruitful discussions and research collaborations.
• Juliana Mendes, Stênio Sã Soares, Luciene Motta, Erick Passos, André Brandão,
Idalmis Milan, Aline Nascimento, Alexandre Sena, Diego Brandão, Maurı́cio Guedes,
Romulo Curty, Marcos Roboredo, Luiz Aizemberg and Warley Gramacho for inter-
esting conversations and for making my stay at IC-UFF very pleasant.
• IC-UFF staff, particularly Carlos Eduardo, Rafael Abreu, Teresa Cancela, Angela
Regina, Viviane Aceti and Maria Freitas for their kindness and cooperation.
• José Maurı́cio F. Medeiros, for all the support and for his great and loyal friendship.
Muito obrigado!
Abstract
Keywords: Vehicle Routing Problems. Exact approaches. Heuristic and hybrid algo-
rithms. Iterated Local Search. Logistics.
Resumo
Glossary xi
1 Introduction 1
3 Branch-and-cut over Flow Formulations for the Vehicle Routing Problem with
4 Branch-and-cut with Lazy Separation for the Single and Multi-depot Vehicle Rout-
Bibliography 136
Glossary
AC : Ant Colony;
ACVRP : Asymmetric Capacited Vehicle Routing Problem;
ALNS : Adaptive Large Neighborhood Search;
ADS : Auxiliary Data Structure;
AMP : Adaptive Memory Procedure;
ABHC : Attribute Based Hill Climber;
BC : Branch-and-Cut;
BCP : Branch-Cut-and-Price;
BKS : Best Known Solution;
BP : Branch-and-Price;
CO : Combinatorial Optimization;
CL : Candidate List;
CVRP : Capacited Vehicle Routing Problem;
ES : Evolutionary Strategies;
FSM : Fleet Size and Mix;
FSMD : Fleet Size and Mix with Dependent costs;
FSMF : Fleet Size and Mix with Fix costs;
FSMFD : Fleet Size and Mix with Fix and Dependent costs;
GRASP : Greedy Randomized Adaptive Search Procedure;
GA : Genetic Algorithm;
GLS : Guided Local Search;
ILS : Iterated Local Search;
ILP : Integer Linear Programming;
HVRP : Heterogeneous Vehicle Routing Problem;
HVRPFD : Heterogeneous Vehicle Routing Problem with Fix and
Dependent costs;
HVRPD : Heterogeneous Vehicle Routing Problem with Dependent costs;
HFVRP : Heterogeneous Fleet Vehicle Routing Problem;
LNS : Large Neighborhood Search;
LB : Lower Bound;
MA : Memetic Algorithm;
Glossary xii
6.28 Results found for the TSPMPD instances (20-60 customers) of Mosheiov
[122] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.29 Results found for the TSPMPD instances (100-500 customers) of Mosheiov
[122] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.30 Summary of ILS-RVND results . . . . . . . . . . . . . . . . . . . . . . . . 114
7.1 Values of the parameters used by ILS-RVND-SP . . . . . . . . . . . . . . . 119
7.2 Results found for the open instances of the M-series . . . . . . . . . . . . . 121
7.3 Results found for the CVRP instances of Christofides et al. [31] . . . . . . 122
7.4 Results found for the CVRP instances of Golden et al. [80] . . . . . . . . . 123
7.5 Results found for the ACVRP instances of Fischetti et al. [57] and Pessoa
et al. [134] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.6 Results found for the OVRP instances of Christofides et al. [31], Fisher
[58] and Li et al. [106] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.7 Results found for the VRPSPD instances of Salhi and [149] . . . . . . . . . 126
7.8 Results found for the VRPSPD instances of Montané and Galvão [121] . . 127
7.9 Results found for the VRPMPD instances of Salhi and Nagy [149] . . . . . 128
7.10 Results found for the old MDVRP instances of Cordeau et al. [35] . . . . . 129
7.11 Results found for the new MDVRP instances of Cordeau et al. [35] . . . . 129
7.12 Results found for the MDVRPMPD instances of Salhi and Nagy [149] . . . 130
7.13 Results found for the HVRPFD instances of Taillard [164] . . . . . . . . . 131
7.14 Results found for the HVRPD instances of [164] . . . . . . . . . . . . . . . 131
7.15 Results found for the FSMFD instances of [76] . . . . . . . . . . . . . . . . 132
7.16 Results found for the FSMF instances of Golden et al. [76] . . . . . . . . . 132
7.17 Results found for the FSMD instances of Golden et al. [76] . . . . . . . . . 133
7.18 Summary of ILS-RVND-SP results . . . . . . . . . . . . . . . . . . . . . . 133
Chapter 1
Introduction
1.2 Motivation
The VRP plays an important role in the supply chain of several companies that are
involved with the transportation of goods or people. This problem is regularly faced by
the distribution systems of these corporations and its solution quality may have direct
1.2 Motivation 2
implications on the logistic performance. In addition, the VRP can arise in different
contexts within the same company, whether by transporting raw-materials and/or finished
goods between the production unit and its subsidiaries, delivering (collecting) products to
(from) the customers, or even transporting employees from their homes to the company
and vice-versa.
Motivated by real-life situations, many VRP variants were proposed throughout the
years. They may include additional constraints to satisfy customers’ needs such as time
windows and pickup and delivery services, or additional features such as route duration,
multiple depots, mixed vehicle fleet, etc. In the end, regardless of the variant, the main
goal is to optimize the use of the transportation resources and also to satisfy customers’
demands.
The computing revolution as well as the industrial boom had impulsed the application
of OR methods in real-life CO problems such as the VRP in the last 50 years. Golden
et al. [77] described a number of case studies in which the application of computerized
vehicle routing systems in the solid waste, beverage, food, dairy and newspaper industries
led to substantial cost reductions. Toth and Vigo [175] state that the use of computerized
procedures in distribution planning results in 5% to 10% savings in transportation costs.
However, solving the VRP is far from a simple task since the problem is N P-hard [102].
Yet, there has been lot of advances in the development of exact algorithms for dealing
with the VRP, particularly those based on mathematical programming techniques. Up
to date, there is no exact algorithm that consistently solves VRP instances with more
than 150 customers. Nonetheless, in those cases where the optimal solution could not be
determined, one can still make use of the the value of the dual bounds for evaluating the
solution quality obtained by heuristic algorithms.
Due to their ability of obtaining good solutions in an acceptable time, heuristic proce-
dures are the most common method employed to solve CO problems. A special attention
must be given to metaheuristics, which can be defined as general master processes that
guide a subordinate heuristic in order to efficiently find high quality solutions. Meta-
heuristics are the core of a huge number of successful heuristic algorithms for CO prob-
lems, including the VRP. Such popularity arises from the fact that metaheuristics are
more flexible, easier to understand and, in general, require less implementation efforts
than the exact approaches.
Combining (meta)heuristic and exact methods appears to be a very promising al-
ternative in solving CO problems. The interest in hybrid approaches is rapidly growing
especially due to several encouraging results obtained by the fusion of these two methods
(see Maniezzo et al. [116]). The interaction between mathematical programming tech-
niques and metaheuristics led to a new class of optimization algorithms called matheuris-
tics. Nevertheless, the application of these kind of approaches have not received much
1.2 Motivation 3
attention yet from the VRP literature. Some examples can be found in the works of De
Franceschi et al. [43], Toth and Tramontani [173] and Alvarenga et al. [2].
Most VRP heuristics usually focus on a particular type of problem. A relatively small
number of works have suggested unified heuristic procedures for dealing with several
variants (see, for example, Røpke and Pisinger ([136], [148]), Cordeau et al. [38]). Seen
from a practical point of view, these non-specific approaches are highly relevant. For
instance, VRP commercial packages must be prepared to face real-life problems of different
classes. Therefore, the development of efficient general algorithms are crucial for achieving
a satisfactory performance. When talking about attributes for good heuristics, one should
take into account not only the solution quality (accuracy) and computational time (speed),
but also the simplicity and flexibility factors [36]. Hence, a general VRP heuristic that
contains these four attributes, is more likely to be successfully employed in practice.
Given the above, one of the interests of this work is to propose general heuristic and
hybrid algorithms for solving different VRPs. However, because of the huge number of
existing variations it becomes virtually impossible to tackle all of them here. Therefore, it
was thought advisable to turn attention only to a subset of variants, namely the following
ones:
Some versions of the problems listed above may also include route duration constraints.
These cases were also treated in this work.
Although other variants were not explicitly considered, the heuristic and hybrid ap-
proaches suggested here can easily be adapted to solve other cases such as VRP with
Time Windows, Site-dependent VRP, VRP with Backhauls, etc.
The proposed heuristic improves/extends the one suggested by Subramanian et al.
[157] for the VRP with Simultaneous Pickup and Delivery. The algorithm consists of a
1.2 Motivation 4
combination between the Iterated Local Search (ILS) [112] metaheuristic and the Variable
Neighborhood Descent (VND) [120] procedure. The first is a stochastic local search
procedure that focuses the search on a given subset of the solution space which is defined
by local optimal solutions. The latter is characterized for systematically modifying the
neighborhood operators during the local search.
According to Lourenço et al. [112], ILS contains several of the desirable features of a
metaheuristic such as simplicity, robustness, effectiveness and the ease of implementing.
These ingredients are highly important with regard to the development of general heuris-
tics. The authors [112] also described a number of well-succeeded ILS implementations
for different CO problems such as the Traveling Salesman Problem (TSP), Job Shop,
Flow Shop, MAX-SAT, etc. Surprisingly, to date there are relatively few applications of
this metaheuristic to VRPs (see, for example, [16], [28], [89], [140] and [157]). Yet, the
computational results found by these researchers who have made use of an ILS approach
to solve some VRP variant are quite encouraging.
One essential component of a good ILS algorithm is an efficient local search procedure.
The VND is a simple and flexible strategy that can be embedded into any other neighbor-
hood based heuristic. Hansen et al. [83] present various applications of the VND to many
classes of CO problems, including VRPs. Differently from the usual VND approaches that
employ a deterministic neighborhood ordering, the proposed heuristic adopted a random
neighborhood ordering scheme (RVND). This not only avoids parameter tuning, but may
also prevent premature convergence to poor local optimal solutions. In addition, the best
order may be highly dependent on the instance.
The developed hybrid algorithm incorporates an exact procedure based on the Set
Partitioning (SP) formulation into the ILS heuristic. This strategy is quite similar to the
classical two-phase petal algorithm (see Laporte and Semet [100]). The idea is to store
a pool of routes generated during the heuristic execution and then solve a SP problem
in order to extract the best combination of routes. However, unlike traditional petal
algorithms and other SP based approaches to VRPs [2, 91, 147], the proposed hybrid
algorithm includes some enhanced features such as the cooperation between a Mixed
Integer Programming (MIP) solver and the ILS heuristic (while solving the SP problem)
and a reactive mechanism that dynamically controls the dimension of the SP models when
dealing with large size instances.
Exact algorithms capable of solving instances with more than 50 customers can be
found in the literature for problems (i)-(iii), (vi), (viii) and (ix). It was thus decided to
develop exact approaches for problems (iv), (v) and (vi) in order to obtain new lower
bounds and some optimal solutions that can be used as a reference for measuring the
performance of the proposed heuristic and hybrid algorithms. In view of this, three math-
ematical formulations were implemented within a Branch-and-cut scheme for problems
1.3 Objectives 5
(iv) and (v). These formulations are also theoretically compared. Furthermore, another
Branch-and-cut algorithm, which is based on a mathematical formulation composed only
by edge variables, was developed for problems (iv), (v) and (vii). Finally, a Branch-cut-
and-price approach was put forward for problems (iv) and (v). Although there are more
sophisticated exact algorithms for solving problems (i)-(iii) and (vi), the proposed exact
strategies can still be used to solve these problems.
1.3 Objectives
The objectives of this work are as follows.
• Review the VRPs (i)-(ix), describing some practical applications and solution meth-
ods proposed in the literature.
• Develop a general heuristic framework capable of solving a large class of VRPs with
emphasis on problems (i)-(ix).
• Develop a general hybrid algorithm capable of solving a large class of VRPs with
emphasis on problems (i)-(v) and (vii)-(ix).
• Chapter 2 describes the VRPs treated in this work, as well as their respective liter-
ature reviews.
• Chapter 6 presents the heuristic algorithm for general VRPs, describing the con-
structive procedures, neighborhood operators and perturbation mechanisms.
1.4 Thesis outline 6
• Chapter 7 presents the hybrid algorithm for general VRPs, describing how an exact
procedure is integrated into the heuristic algorithm.
A huge number of works dealing with VRPs had been published since the seminal work of
Dantzig and Ramser [42] entitled The Truck Dispatching Problem that was published in
1959. Different variants may include some specific characteristics such as time windows,
pickup and delivery services, mixed fleet, stochastic components and so on. This chapter
describes and reviews the VRP variants treated in this work, particularly the: (i) Capac-
itated VRP (CVRP); (ii) Open VRP (OVRP); (iii) Asymmetric CVRP (ACVRP); (iv)
VRP with Simultaneous Pickup and Delivery (VRPSPD); (v) VRP with Mixed Pickup
and Delivery (VRPMPD); (vii) TSP with Mixed Pickup and Delivery (TSPMPD); (vii)
Multi-Depot VRP (MDVRP); (viii) Multi-Depot Vehicle Routing Problem with Mixed
Pickup and Delivery (MDVRPMPD); and (ix) Heterogeneous Fleet VRP (HFVRP). A
detailed and comprehensive survey of VRPs can be found in [39], [74], [75] and [175].
and-cut and set-covering were respectively performed by Toth and Vigo [176], Naddef and
Rinaldi [124] and Bramel and Simchi-Levi [19]. These three works, along with those of
Laporte and Nobert [97] and Cordeau et al. [39], together survey the main CVRP exact
algorithms developed in the past century and early 2000’s. A review of the most latest
advances regarding the exact approaches for solving the CVRP was performed by Baldacci
et al. ([11], [12]). According to these authors, the best exact algorithms designed for the
CVRP up to now are the BC of Lysgaard et al. [115], the robust Branch-cut-and-price
(BCP) of Fukasawa et al. [63] and the Set Partitioning (SP) with additional cuts based
algorithm of Baldacci et al. [7].
Recently, a robust BCP algorithm based on an extended formulation that makes use of
capacity-indexed variables was proposed by Pessoa et al. [134]. In addition, new families
of cuts over this formulation were also presented. Besides the CVRP, the authors applied
their BCP for solving other VRP variants, namely: OVRP, ACVRP and Fleet Size and
Mix VRP. The results obtained in all variants were highly competitive when compared
to those found in the literature. Finally, they believe that the development of new cuts
over the extended formulation appears to be promising and it can lead to novel research
directions.
Even though there has been a lot of progress in the development of exact algorithms,
the heuristic methods are still the most suitable approach, in terms of solution quality
vs. computational time, when dealing with the CVRP. Some authors ([39], [95], [100]),
divide them into two distinct classes: (i) classical heuristics, which consist on construc-
tive, two-phase and improvement heuristics; and (ii) metaheuristics, which employ more
sophisticated mechanisms such as memory structure, perturbation moves, route combina-
tion and so forth. A complete description of the classical heuristics can be found in [100],
while a review of the application of metaheuristics to the CVRP is available in [34], [67]
and [69]. In general, all of these solution methods can be extended to most VRP variants.
Due to the large number of (meta)heuristic based algorithms proposed for the CVRP,
one will concentrate only on those that produced the best results for two of the most used
sets of benchmark instances, specifically the one of Christofides et al. [31] and the one of
Golden et al. [80].
There were several applications of the Tabu Search (TS) metaheuristic [72] to the
CVRP during the 1990’s and early 2000’s (see [37]). Taillard’s algorithm [162] was one
of the first well succeeded implementations and it still remains as one of the best. In his
algorithm, two decomposition methods are employed in which customers are randomly
partitioned into subregions where each of these is treated as a subproblem that is solved
separately using a TS strategy. A feasible solution is then generated by merging the routes
produced by each subproblem. Rochat and Taillard [147] proposed a more sophisticated
version of Taillard’s algorithm by combining TS with an Adaptive Memory Procedure
2.1 Capacitated Vehicle Routing Problem (CVRP) 9
(AMP). During the TS execution, the AMP stores a pool of promising routes which are
periodically recombined/updated, with a view to obtain an improved incumbent solution.
A post-optimization phase was also incorporated in which a SP formulation was applied
over the pool of routes in order to build an improved solution. A similar AMP approach,
called Solutions’ Elite PArts Search (SEPAS), was suggested by Tarantilis [167]. Another
version of the TS, known as Attribute Based Hill Climber (ABHC) [45], was implemented
by Derigs and Kaiser [46]. This method extends the aspiration criterion concept by
defining a set of attributes (e.g, in a boolean fashion) over a feasible solution.
Some CVRP algorithms based on other local search metaheuristics such as Large
Neighorhood Search (LNS) [152], Variable Neighborhood Search (VNS) [120] and Guided
Local Search (GLS) [179] started to appear in the mid 2000’s. The Adaptive LNS (ALNS)
of Pisinger and Røpke [136] seems to be one of the most robust in terms of flexibility. Their
method consists of a set of removal (destroy) and insertion (repair) heuristics which are
chosen, at each iteration, using roulette wheel selection based on the past performance
of these heuristics. The authors also have applied their algorithm in the following VRP
variants: VRP with Time Windows (VRPTW), Site-dependent VRP, OVRP and MD-
VRP. Kytöjoki et al. [93] proposed an algorithm that uses VNS to guide an improvement
heuristic and the GLS to help escaping from local optimal solutions. This heuristic was
specially designed for very large scale VRPs. Zachariadis and Kiranoudis [187] developed
a procedure based on TS, GLS and VNS which contains local search enhancements in
terms of computational complexity. Chen et al. [28] developed a heuristic that integrates
the Variable Neighborhood Descent (VND) procedure in an ILS scheme which in turn
employs a Simulated Annealing (SA) approach for the acceptance criterion. Their scheme
is quite similar to the one presented in this work (see Chapter 6).
In recent years, there emerged many successful CVRP heuristics inspired in Evolution-
ary Strategies (ES). Reimann et al. [143] proposed an Ant Colony (AC) [51] based heuris-
tic using a divide and conquer decomposition. Both the complete and partial problems
are solved as follows: (i) a solution is generated employing a nearest neighbor heuristic;
(ii) local search is applied to the initial solution; (iii) the pheromones are updated; and
(iv) information regarding the level of attractiveness between each pair of customers is
augmented. Mester and Bräysy [118] proposed a two phase heuristic by combining GLS,
LNS and ES. In the first phase, an initial solution is generated using a hybrid version of
the cheapest insertion heuristic while the second one is divided into two stages: (i) a local
search is applied using the GLS; and (ii) LNS is performed through removal and inser-
tion heuristics in an evolutionary (genetic) fashion. Prins [139] put forward a Memetic
Algorithm (MA) whose main characteristics are: (i) TSP representation of chromosomes
(giant tour), without tour delimiters, which can be directly converted to a VRP solution
using a splitting procedure; and (ii) first improvement local search as mutation operator.
2.2 Asymmetric Capacitated Vehicle Routing Problem (ACVRP) 10
The same metaheuristic was implemented by Nagata [125] and Nagata and Bräysy [127].
In both these works, the MA proposed combines the edge assembly crossover (EAX),
that allows infeasible solutions, with an repairing/improvement (local search) procedure.
An enhanced version of Nagata’s MA was implemented by Nagata and Bräysy [126], in
which efficient limitation strategies were incorporated into the local search neighborhoods.
Prins [140] proposed some heuristics based on ILS, ES and Greedy Randomized Adaptive
Search Procedure (GRASP) that use some of the features previously adopted in [139].
More recently, Vidal et al. [177] put forward a hybrid GA originally designed to solve
the MDVRP, Period VRP and the Multi-depot Period VRP, which also turned out to be
highly efficient for the CVRP.
Unlike pure exact and heuristic methods, hybrid versions combining these two ap-
proaches have not been much explored in the CVRP literature. De Franceschi et al. [43]
proposed an LNS-like improvement heuristic based on Integer Linear Programming (ILP)
that works as follows: (i) a set of nodes is removed, according to a predefined criterion,
from a given solution which in turn is partially reconstructed by short-cutting all the
deleted nodes; and (ii) a complete solution is generated by solving an ILP associated to
a Reallocation Model which consists of re-inserting the extracted nodes into the partial
solution. This solution method was also applied to the ACVRP. Toth and Tramontani
[173] later extended this approach by generalizing the neighborhood structure which is
evaluated by a two-phase method that: (i) applies a neighborhood reduction strategy;
and (ii) explores this reduced neighborhood by solving the Column Generation problem
associated with the linear programming relaxation of the ILP of the so-called Reduced
Reallocation Model.
Table 2.1 presents a list of surveys regarding the CVRP, while Table 2.2 enumerates
the most effective heuristics developed for the CVRP.
on: (i) assignment problems; (ii) disjunction on infeasible arcs subset; and (iii) min-cost
flow relaxation.
Vigo [178] extended the classical CVRP heuristics of Clarke and Wright [33] and
Fisher and Jaikumar [59] to the ACVRP and also proposed a refinement heuristic that
repairs/improves an initial infeasible solution generated by the procedure developed by
Fischetti et al. [57].
2.3 Open Vehicle Routing Problem (OVRP) 12
Table 2.3 present the works that dealt with the ACVRP including the ones of De
Franceschi et al. [43] and Pessoa et al. [134] described in the previous section.
ran their formulation in CPLEX 9.0 within a time limit of 2 hours and had reported the
lower bounds produced for benchmark instances with 50-400 customers. Subramanian
[154] presented a two-commodity flow formulation for the VRPSPD but no practical
experiments were performed.
As a matter of fact, heuristic methods have been by far the most usual approach
applied for solving the VRPSPD. However, only two works were published during the
1990’s. Halse [82] proposed a two-phase heuristic based on the cluster-first, route-second
concept for some VRPs including the VRPSPD and the VRPMPD, while some insertion
heuristics also cabaple of solving the VRPMPD and the MDVRPMPD, were implemented
by Salhi and Nagy [149].
A considerable number of VRPSPD works started to appear at the beginning of this
century. Dethloff [48] proposed an insertion heuristic based on the cheapest feasible cri-
terion, radial surcharge and residual capacity. The author also investigates the relation
between the VRPSPD and other VRP variants. Røpke and Pisinger [148] developed
a LNS heuristic associated with a procedure similar to the VNS metaheuristic to solve
several variants of the VRP with Backhauls including the VRPSPD, VRPMPD and MD-
VRPMPD. Nagy and Salhi [128] developed a heuristic algorithm that considers different
levels of feasibility. The authors also dealt with the VRPMPD and MDVRPMPD.
Most of the heuristics developed for the VRPSPD are based on the TS metaheuristic.
Crispim and Brandão [40] presented a procedure where TS and the VND approach are
combined. Montané and Galvão [121] proposed a TS algorithm involving traditional
VRP neighborhood structures. Chen and Wu [27] proposed a local search procedure
based on the record-to-record travel approximation and tabu lists. Chen [26] presented a
heuristic based on SA and TS. Bianchessi and Righini [15] suggested some constructive
and local search heuristics as well as a TS procedure that uses a variable neighborhood
structure, in which the node-exchange-based and arc-exchange-based movements were
combined. Wassan et al. [183] presented a reactive TS with the following neighborhood
structures: rellocation of a ADS, exchanging two customers between two different routes
and reversing the route direction (reverse). Zachariadis et al. [189] developed an algorithm
which combines the principles of the TS and GLS metaheuristics. The same authors [190]
later suggested an AMP associated with a granular TS heuristic.
Some ES were also developed for the VRPSPD. Vural [180] proposed two Genetic
Algorithms, where the first one is inspired on the random key representation [13] while the
second one consists in an improvement heuristic that applies Or-opt movements. Gajpal
and Abad [64] also developed an AC heuristic which has two main steps: (i) the trail
intensities and parameters are initialized using an initial solution obtained by means of a
nearest neighborhood constructive heuristic; and (ii) an ant-solution is generated for each
ant using the trail intensities, followed by a local search in every ant-solution and updating
2.4 Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD) 16
of the elitist ants and trail intensities. The authors also dealt with the VRPMPD. Ai and
Kachitvichyanukul [1] suggested a Particle Swarm Optimization (PSO) [92] algorithm
with multiple structures that employs a random key based representation.
Subramanian [154] and Subramanian et al. [156] put forward an ILS algorithm which
uses a VND approach, with deterministic neighborhood ordering, in the local search phase.
A parallel version of this algorithm, in which the VND procedure has a random neighbor-
hood ordering (RVND), was later developed by Subramanian et al. [157]. Subramanian
and Cabral [155] also applied the ILS-VND combination to solve the VRPSPD with route
duration constraints. The unified VRP framework developed in the present work is an
extension of these ILS approaches. Souza et al. [153] also implemented an ILS algorithm
but combined with a GENIUS [66] approach. Finally, a local search based metaheuristic
was recently proposed by Zachariadis and Kiranoudis [188].
Table 2.5 summarizes the VRPSPD related works mentioned in this section.
a modular algorithm that decomposes the problem into subproblems which are solved
separately and then merged by means of an iterative procedure.
Like some other VRP variants, MDVRP algorithms inspired in metaheuristics started
to appear in the 1990’s. Chao et al. [25] developed an algorithm that makes use of
a record-to-record procedure to improve an initial solution generated using the savings
heuristic of Golden et al. [79]. Renaud et al. [145] implemented a TS heuristic composed
of three phases: fast improvements, intensification and diversification. Cordeau et al. [35]
suggested a TS algorithm that is embedded with a GENI mechanism, which consists of a
general insertion procedure originally developed by Gendreau et al. [66] for the TSP.
Table 2.8 lists the works that dealt with the MDVRP, including those of Pisinger and
Røpke [136] and Vidal et al. [177] that were already described in Subsection 2.1.
ii. HVRPD, limited fleet, with dependent costs but without fixed costs, i.e., fu =
0, ∀k ∈ M ;
iii. FSMFD, unlimited fleet, i.e., mu = +∞, ∀k ∈ M , with fixed and dependent costs;
iv. FSMF, unlimited fleet, with fixed costs but without dependent costs;
v. FSMD, unlimited fleet, with dependent costs but without fixed costs.
2.9 Heterogeneous Fleet Vehicle Routing Problem (HFVRP) 22
The first HFVRP variant studied in the literature was the FSM, initially proposed
by Golden et al. [76]. The authors developed two heuristics where the first one is based
on the savings algorithm of [33] while the second one makes use of a giant tour scheme.
They also proposed a mathematical formulation for the FSMF and presented some lower
bounds.
Some exact approaches were developed for the FSM. Yaman [185] suggested valid
inequalities and presented lower bounds for the FSMF. Baldacci et al. [6] proposed some
valid inequalities as well as a two-commodity Mixed Integer Programming (MIP) formula-
tion for the same variant. Choi and Tcha [29] obtained lower bounds for all FSM variants
by means of a Column Generation algorithm based on a set covering formulation. Pessoa
et al. [135] proposed a BCP algorithm also capable of solving all FSM variants. The
general exact approach of Baldacci and Mingozzi [10], mentioned in Subsection 2.7, was
also applied to the five HFVRP variants dealt in the present work.
Several TS heuristics were proposed to solve the FSMF and the FSMD. Gendreau et
al. [68] suggested a TS algorithm that incorporates a GENIUS approach and an AMP.
Lee et al. [101] developed an algorithm that combines TS with a SP approach. More
recently, Brandão [22] proposed a deterministic TS that makes use of different procedures
for generating initial solutions.
Some authors implemented heuristic procedures based on ES. Ochi et al. [129] devel-
oped a hybrid evolutionary heuristic that combines a Genetic Algorithm (GA) [88] with
Scatter Search (SS) [73] to solve the FSMF. A parallel version, based on the island model,
of the same algorithm was presented by Ochi et al. [130]. A hybrid GA that applies a
local search as a mutation method was proposed by Liu et al. [111] to solve the FSMF
and the FSMD. A MA was proposed by Lima et al. [110] for solving the FSMF. Two
heuristic procedures based on the same metaheuristic were developed by Prins [141] to
solve all FSM variants and the HVRPD.
Renaud and Boctor [144] proposed a sweep-based heuristic for the FSMF that in-
tegrates classical construction and improvement VRP approaches. Imran et al. [90]
developed a VNS algorithm that makes use of a procedure based on Dijkstra’s and sweep
algorithms for generating an initial solution and several neighborhood structures in the
local search phase. The authors considered all FSM variants.
The HVRP was proposed by Taillard [164]. The author developed an algorithm based
on AMP, TS and Column Generation which was also applied to solve the FSM.
Prins [138] dealt with the HVRP by implementing a heuristic that extends a series
of VRP classical heuristics followed by a local search procedure based on the Steepest
Descent Local Search and TS. Tarantilis et al. [168] solved the HVRPD by means of a
threshold accepting approach that consists of an adaptation of the SA procedure in which
a worse solution is only accepted if it is within a given threshold. The same authors [169]
2.9 Heterogeneous Fleet Vehicle Routing Problem (HFVRP) 23
also proposed another threshold accepting procedure to solve the same variant. Li et al.
[106] put forward a record-to-record travel algorithm that, also as the threshold method,
consists of a deterministic variant of the SA. The authors considered both HVRPFD and
HVRPD. Li et al. [107] proposed a multi-start adaptive memory procedure combined with
Path Relinking and a modified TS to solve the HVRPFD. More recently, [20] proposed a
TS algorithm for the HVRP which includes additional features such as strategic oscilation,
shaking and frequency-based memory.
A HFVRP comprehensive survey containing all the five variants mentioned here can
be found in [5]. The HFVRP works are summarized in Table 2.10.
This chapter presents commodity flow formulations for the VRPSPD/VRPMPD. Two-
commodity flow formulations — an undirected, developed by Subramanian [154], and a
directed, proposed in this work — are theoretically compared with the one-commodity
flow formulation presented by Dell’Amico et al. [44]. In addition, these three formulations
were implemented within a BC algorithm, including cuts from the CVRPSEP library [114],
and they were tested in well-known VRPSPD and VRPMPD benchmark problems with
up to 200 customers. The contents of the present chapter were partially published in
[159].
2 Cust.
10
Vehicle
load
12
1 3 Depot
20 20 Customer di pi
1 2 10
2 15 5
0 3 3 5
Q=20
indicate, respectively, the delivery and pickup loads carried along the arc (i, j) ∈ A. Let
xij be 1 if the arc (i, j) ∈ A is in the solution and 0 otherwise. The formulation F1C is
described next.
XX
min cij xij (3.1)
i∈V j∈V
X
s.t. xij = 1 ∀i ∈ V 0 (3.2)
j∈V
X
xji = 1 ∀i ∈ V 0 (3.3)
j∈V
X
x0j ≤ m (3.4)
j∈V 0
X X
Dji − Dij = di ∀i ∈ V 0 (3.5)
j∈V j∈V
X X
Pij − Pji = pi ∀i ∈ V 0 (3.6)
j∈V j∈V
The objective function (3.1) minimizes the sum of the travel costs. Constraints (3.2)-
(3.3) impose that each client should be visited exactly once. Constraints (3.4) refer to the
number of vehicles available. Constraints (3.5)-(3.7) are the flow conservation equalities.
Constraints (3.8)-(3.10) are related to the nature of the decision variables.
Dell’Amico et al. [44] basically extended the one-commodity flow formulation pro-
3.2 Two-commodity flow formulations 26
posed by Gavish and Graves [65] for the CVRP by adding constraints (3.6) and (3.9), and
the term Pij in (3.7). Gouveia [81] showed that it is possible to obtain stronger inequali-
ties for Dij by using the tighter bounds (3.11) instead of (3.8) in the Gavish and Graves
formulation. Accordingly, the same idea can be applied to develop stronger inequalities
for Pij by replacing (3.9) with (3.12) and for Dij + Pij by replacing (3.7) with (3.13).
It should be noticed that a lower bound for (3.13) is implicit in (3.11) and (3.12), i.e,
Dij + Pij ≥ dj xij + pi xij . Another valid inequality for F1C, given by (3.14), is due to the
fact that each edge not adjacent to the depot is traversed at most once.
0 → 5 → 6 → 7 → 8 → n+1. Moreover, it can be observed that the flows when the vehicle
is leaving the depot are equivalent in (i) and (iii), whereas the flows when the vehicle is
returning to the depot are equivalent in (ii) and (iii). This fact can be generalized to any
0 0
VRPSPD instance by means of the following relationships: SP D0j = D0j , SP Dj0 = Dj0 ,
0 0
SP Dj,n+1 = Pj,n+1 and SP Dn+1,j = Dn+1,j , ∀j ∈ V 0 .
7 12
10 2 3 3 6 2 3 16
10 13 17 14 8 4
1 4 1 4
3 20 20 2
17 0 0 18
0 n+1 0 n+1
18 2 20 0 0 20 3 17
5 8 5 8
7 14 17 8
11 12
13
6 7 6 3 6 7 12
9 8
(i) ( ii )
19
Cust
16 2 3 19 Residual
capacity
Vehicle
1 load
4 1
1 4 Depot
3 2
17 18
Customer di pi
0 n+1
1 7 6
2 3 6
18 17 3 4 4
2 3
4 3 2
5 8 5 5 3
4 2 6 4 5
3
7 3 4
8 6 5
16
6 7 18 Q=20
17
(iii)
0≤v≤m (3.34)
0 0
Dij ≥ 0, Dji ≥0 ∀{i, j} ∈ Ē (3.35)
Pij0 ≥ 0, Pji0 ≥ 0 ∀{i, j} ∈ Ē (3.36)
SP Dij ≥ 0, SP Dji ≥ 0 ∀{i, j} ∈ Ē (3.37)
x0ij ∈ {0, 1} ∀(i, j) ∈ Ē (3.38)
3.2 Two-commodity flow formulations 29
The objective function (3.15) minimizes the sum of the travel costs. Constraints
(3.16) are the degree equations. Constraints (3.17) ensure that the delivery demands are
satisfied. Constraints (3.18) state that the sum of the vehicle loads leaving the vertex
0 must be equal to the sum of the demand of all costumers. Constraints (3.19) enforce
that the sum of the vehicle loads arriving at the vertex 0 must be equal to the sum of
the residual capacity of all vehicles. Constraints (3.20)-(3.22) are related to the pickup
flow and their meaning are, respectively, analogous to (3.17)-(3.19). Constraints (3.23)
guarantee that the pickup and delivery demands are simultaneously satisfied. Constraints
(3.24)-(3.27) are self-explanatory. Constraints (3.28)-(3.30) state, respectively, that the
sum of the delivery, pickup and combined loads arriving and leaving each customer must
be equal to the vehicle capacity. Constraints (3.31)-(3.32) are self-explanatory. Constraint
(3.33) is related to the number of vehicles. Constraints (3.34)-(3.38) define the domain of
the decision variables.
The formulation F2C-U was obtained by simply adding constraints (3.20)-(3.27),
(3.29)-(3.34) and (3.36)-(3.37) to the formulation presented in [9]. As in F1C, stronger
inequalities can be developed by tightening the bounds of the flow variables, i.e, replacing
(3.35)-(3.36) with (3.39)-(3.40) and (3.37) with (3.41).
0
Dij ≥ dj x0ij ∀(i, j) ∈ Ē (3.39)
Pij0 ≥ pi x0ij ∀(i, j) ∈ Ē (3.40)
SP Dij ≥ max{0, dj − pj , pi − di }x0ij ∀(i, j) ∈ Ē (3.41)
Although the lower bounds of the flow variables are not explicit in (3.39)-(3.41) it
can be easily verified that they become inherent to the formulation when these upper
0
bound inequalities are combined with (3.28)-(3.30), resulting in Dij ≤ (Q − di )x0ij , Pij0 ≤
(Q − dj )x0ij and SP Dij ≤ (Q − max{0, di − pi , pj − dj })x0ij .
X
s.t. x̄ij = 1 ∀i ∈ V 0 (3.43)
j∈V̄
X
x̄ji = 1 ∀i ∈ V 0 (3.44)
j∈V̄
Constraints (3.43)-(3.44) are the degree equations. The meaning of constraint (3.45)
is self-explanatory. Constraints (3.46)-(3.48) are the capacity equalities. Constraints
(3.49)-(3.50) have already been defined.
The stronger flow inequalities defined for F2C-U also hold for F2C-D as can be ob-
served in (3.51)-(3.53). Also, the arc inequalities (3.14) used in F1C can be directly
converted to F2C-D as shown in (3.54).
0
Dij ≥ dj (x̄ij + x̄ji ) ∀(i, j) ∈ Ā (3.51)
Pij0 ≥ pi (x̄ij + x̄ji ) ∀(i, j) ∈ Ā (3.52)
SP Dij ≥ (max{0, dj − pj , pi − di })(x̄ij + x̄ji ) ∀(i, j) ∈ Ā (3.53)
x̄ij + x̄ji ≤ 1 ∀i, j, i < j, ∈ V 0 (3.54)
F2C-D is clearly at least as strong as F2C-U since the degree constraints (3.43)-
(3.44) along with (3.54) dominate (3.16) and the linear relaxation of (3.38), whereas the
remaining constraints are equivalent in both formulations.
Letchford and Salazar-Gonzalez [104] have shown that the one-commodity formulation
and the directed two-commodity flow formulation with their respective stronger inequal-
ities are equivalent for the CVRP. However, this fact is not verified for the VRPSPD as
stated by Proposition 1.
Proposition 1. The linear relaxation of F1C with (3.11)-(3.14) is stronger than the one
obtained by F2C-D with (3.51)-(3.54).
Proof. First, one shall prove that given the solution vector (x∗ , D∗ , P ∗ ) with cost z ∗ of the
linear programming relaxation of the one-commodity flow formulation, it is possible to
build a feasible solution of the linear program of F2C-D (in terms of (x̄, D0 , P 0 , SP D, v))
with the same cost.
3.2 Two-commodity flow formulations 31
The values of the variables of F2C-D can be directly obtained by means of (3.55)-
(3.68). For the sake of simplicity let Pj,n+1 = Pj0 and Pn+1,j = P0j , ∀j ∈ V 0 .
Note that constraints (3.46)-(3.48) are automatically satisfied since they can be easily
obtained from (3.58)-(3.63). Constraints (3.51) are satisfied since, according to (3.11),
0
Dij ≥ dj x̄ij and Qx̄ji − Dji ≥ dj x̄ji , which implies in Dij ≥ dj (x̄ij + x̄ji ). The same idea
can be employed, using (3.12), to show that constraints (3.52) are also satisfied.
To verify if constraints (3.53) are not violated the following statement must be proven:
Dij + Pij + (Qx̄ij − Dji − Pji ) ≥ (max{0, dj − pj , pi − di })(x̄ij + x̄ji ). Using the fact that
Dij + Pij ≥ dj x̄ij + pi x̄ij (see (3.11)-(3.12)) and after some algebraic manipulation one can
obtain: dj x̄ij + pi x̄ij + (Q − max{0, dj − pj , pi − di})x̄ji ≥ Dji + Pji + (max{0, dj − pj , pi −
di })x̄ij . From (3.13) it can be observed that (Q − max{0, dj − pj , pi − di})x̄ji ≥ Dji + Pji
and it is clear that dj x̄ij + pi x̄ij ≥ (max{0, dj − pj , pi − di })x̄ij , which proves that (3.53)
is satisfied.
Thus one can conclude that the vector (x̄, D0 , P 0 , SP D, v) is indeed a feasible solution
of the linear program of F2C-D.
On the other hand, given the solution vector (x̄∗ , D0∗ , P 0∗ , SP D∗ , v ∗ ) with cost z̄ ∗ of
the linear programming relaxation of F2C-D it is not always possible to build a feasible
solution in terms of (x, D, P ) with the same cost. Tables 3.1 and 3.3; 3.4 and 3.6; and 3.7
and 3.9; all presented in Section 5, show that the value of the linear relaxation obtained
by the F1C is always greater or equal than the one found by F2C-D.
3.3 A Branch-and-cut approach 32
3.4.1 VRPSPD
Three set of test-problems are available in the VRPSPD literature. These benchmark
instances were proposed by Dethloff [48], Salhi and Nagy [149] and Montané and Galvão
[121]. The first group contains 40 instances with 50 customers, the second contains 14
instances with 50-199 customers, while the third contains 12 instances with 100-200 cus-
tomers. The number of vehicles is not explicitly specified in these 66 instances. The
barrier algorithm was used to solve the initial linear relaxation of the last two group of
instances. It is noteworthy to mention that the Montané and Galvão’s instances involving
400 customers were not considered.
In the tables presented hereafter, #v represents the number of vehicles in the best
3.4 Computational experiments 33
known solution, LP is the linear relaxation, Root LB indicates the root lower bound,
after CVRPSEP cuts are added, Root Time is the CPU time in seconds spent at the
root node, Tree size corresponds to the the number of nodes opened, Total time is the
total CPU time in seconds of the BC procedure, Prev. LB is the lower bound obtained
in [121], New LB is the best lower bound determined among the three flow formulations,
F-LB is the lower bound found by the respective formulation, UB is the upper bound
reported in the literature, and Gap corresponds to the gap between the LB and the UB.
Proven optimal solutions are highlighted in boldface. If the F-LB is the one associated
with the New LB (F-LB = New LB), then its value is underlined only if New LB is not
an optimal solution.
Tables 3.1, 3.2 and 3.3 contain, respectively, the results obtained by F1C, F2C-U and
F2C-D on the set of instances of Dethloff. It can be seen that the three formulations were
able to prove the optimality of almost all instances of 4 vehicles. F2C-U appears to be the
most effective under this aspect, being capable of proving the optimality of 17 instances.
The performance of the three formulations on the instances of 9 vehicles were inferior in
terms of optimality proof, but their LBs are significantly better than the previous values
reported in [121]. F2C-U also seems to be the most effective in terms of LBs, with an
average gap of 0.94%, against 1.34% and 1.26% of F1C and F2C-D, respectively.
In order to check if the values of the UB of the instances SCA3-0, SCA3-6, SCA8-3,
SCA8-6, CON3-2, CON8-1, CON8-4 and CON8-7 are optimal the F2C-U was executed
with a time limit of 48 hours. The formulation was successful to prove the optimality of
each of these instances within up to 36 hours of execution.
The results found by F1C, F2C-U and F2C-D on the set of instances of Salhi and Nagy
are presented, respectively, in Tables 3.4, 3.5 and 3.6. The optimality of the instances
CMT1X and CMT1Y has been proven by all the three formulations. Nevertheless, these
are the first LBs presented for this set of instances. Montané and Galvão [121] had
reported LBs for the case where the demands were rounded to the nearest integer. When
comparing the LBs obtained by each of the three formulations it can be verified that F2C-
U produced superior results, with an average gap of 4,27 %, against 4,57% and 4,31% of
F2C-D and F1C, respectively.
The results obtained by the three formulations on the set of instances of Montané and
Galvão are shown in Tables 3.7, 3.8 and 3.9. Three optimal solutions were proven by all
formulations, namely in the instances r201, c201 and rc201. The main characteristic of
these three instances is the fact of having relatively very few vehicles. When comparing
the LBs of the different formulations, it can be verified that F2C-U found the best results,
with an average gap of 2.94%, whereas for F2C-U and F1C the average gap was 3.57%
and 3.62%, respectively.
Tables 3.10-3.12 present the statistics of the root node of each formulation over a
3.4 Computational experiments 34
set of representative instances. In these tables, Sep. Rounds represent the number of
calls to the separation routines, LP Time is the time in seconds spent solving the linear
relaxations, Sep. Time is the time in seconds spent separating the cuts, Root Time is
the sum of the LP Time and Sep. Time, and Gap is the gap between the root relaxation
and the UB.
From the results of Tables 3.10-3.12 it can be seen that in most cases the Sep. Rounds
increases with the number of vehicles, given a fixed number of customers. Also, it is
possible to verify that the LP Time is considerably higher than the Sep. Time and, as
expected, this difference tends to increase with the size of the instance as well as the
number of vehicles. It appears that all the three formulations became very “heavy” in the
instances involving 200 customers, since in almost all cases, they took about 2 hours to
solve less than 13 linear programs. An attempt has been made to use the barrier algorithm
to solve all the linear programs, but unfortunately the results were not satisfactory.
3.4 Computational experiments 35
Table 3.13 shows a summary of the results obtained by the three formulations in all
set of instances. In this table, G1 is the average gap between the linear relaxation and
the UB, G2 is the average gap with respect to the root LB, including the CVRPSEP cuts,
and G3 is average gap for the LB, possibly after branching, found within the time limit
established. Those results can be explained as follows. The linear relaxation of F1C is
indeed a little better than the linear relaxations of F2C-D and F2C-U. However, after the
cuts, there is no significant difference in the LB quality. This can be clearly seen in the
column G2 under Dethloff instances. For those smaller instances, the cut separation in
the root node could always be completed within the time limit. In those cases, the small
gap differences (2.96%, 2.94% and 2.92%) are not significant and can be attributed to
the heuristic nature of the routines in the CVRPSEP library. The consistent advantage
of formulation F2C-U shown in columns G3 is explained by the fact that CPLEX has a
significantly better performance when reoptimizing its LPs. This means that more cuts
3.4 Computational experiments 36
can be separated and more nodes can be explored within the same time limit.
Table 3.4: Results obtained by F1C on Salhi and Nagy’s instances (VRPSPD)
Instance/ #v LP Root Root Tree Total New F-LB UB Gap
Customers LB Time (s) size Time (s) LB (%)
CMT1X/50 3 449.00 459.94 63 1691 245 466.77 466.77 466.77 0.00
CMT1Y/50 3 449.00 460.06 71 3225 369 466.77 466.77 466.77 0.00
CMT2X/75 6 632.14 652.90 1025 2190 7200 655.98 655.39 684.21 4.21
CMT2Y/75 6 632.14 652.66 939 1071 7200 655.41 653.78 684.21 4.45
CMT3X/100 5 682.20 694.61 1382 1399 7200 705.54 695.55 721.27 3.57
CMT3Y/100 5 682.20 694.56 1649 1262 7200 705.62 696.05 721.27 3.50
CMT12X/100 5 566.09 628.64 3017 252 7200 629.39 629.19 662.22 4.99
CMT12Y/100 5 566.09 628.60 2279 618 7201 629.18 629.18 662.22 4.99
CMT11X/120 4 689.87 774.78 7200 1 7204 776.35 774.78 833.92 7.09
CMT11Y/120 4 689.87 775.01 7253 1 7256 775.74 775.01 833.92 7.06
CMT4X/150 7 796.52 816.39 7033 1 7201 817.11 816.39 852.46 4.23
CMT4Y/150 7 796.52 814.67 7013 1 7200 816.99 814.67 852.46 4.43
CMT5X/200 10 933.43 949.19 7315 1 7319 954.87 949.19 1029.25 7.78
CMT5Y/200 10 933.43 950.48 6844 1 7201 953.56 950.48 1029.25 7.65
Avg. Gap (%) 4.57
3.4 Computational experiments 37
Table 3.5: Results obtained by the F2C-U on Salhi and Nagy’s instances (VRPSPD)
Instance/ #v LP Root Root Tree Total New F-LB UB Gap
Customers LB Time (s) size Time (s) LB (%)
CMT1X/50 3 449.00 459.98 102 2282 300 466.77 466.77 466.77 0.00
CMT1Y/50 3 449.00 460.02 70 3205 213 466.77 466.77 466.77 0.00
CMT2X/75 6 632.11 652.85 346 2073 7200 655.88 655.21 684.21 4.24
CMT2Y/75 6 632.11 653.13 449 2610 7200 655.41 655.41 684.21 4.21
CMT3X/100 5 682.18 701.10 504 13820 7200 705.54 704.35 721.27 2.35
CMT3Y/100 5 682.18 701.12 612 19865 7200 705.62 705.28 721.27 2.22
CMT12X/100 5 564.08 628.59 813 991 7201 629.39 629.39 662.22 4.96
CMT12Y/100 5 564.08 628.58 923 118 7201 629.18 629.09 662.22 5.00
CMT11X/120 4 687.42 775.51 4835 42 7201 776.35 776.35 833.92 6.90
CMT11Y/120 4 687.42 775.40 6138 22 7200 775.74 775.74 833.92 6.98
CMT4X/150 7 796.48 817.11 7288 1 7292 817.11 817.11 852.46 4.15
CMT4Y/150 7 796.48 816.99 5747 1 7201 816.99 816.99 852.46 4.16
CMT5X/200 10 933.21 954.87 6939 1 7201 954.87 954.87 1029.25 7.23
CMT5Y/200 10 933.21 953.56 6600 1 7202 953.56 953.56 1029.25 7.35
Avg. Gap (%) 4.27
Table 3.6: Results obtained by F2C-D on Salhi and Nagy’s instances (VRPSPD)
Instance/ #v LP Root Root Tree Total New F-LB UB Gap
Customers LB Time (s) size Time (s) LB (%)
CMT1X/50 3 449.00 459.89 56 1971 204 466.77 466.77 466.77 0.00
CMT1Y/50 3 449.00 460.02 71 3204 239 466.77 466.77 466.77 0.00
CMT2X/75 6 632.11 653.05 788 5719 7200 655.88 655.88 684.21 4.14
CMT2Y/75 6 632.11 652.95 625 1800 7200 655.41 654.96 684.21 4.28
CMT3X/100 5 682.18 701.77 610 14470 7200 705.54 705.54 721.27 2.18
CMT3Y/100 5 682.18 701.74 460 13533 7200 705.62 705.62 721.27 2.17
CMT12X/100 5 564.18 628.58 1804 88 7200 629.39 628.81 662.22 5.05
CMT12Y/100 5 564.18 628.53 1564 88 7200 629.18 629.02 662.22 5.01
CMT11X/120 4 687.42 774.36 7222 1 7224 776.35 774.36 833.92 7.14
CMT11Y/120 4 687.42 774.56 7237 1 7239 775.74 774.56 833.92 7.12
CMT4X/150 7 796.48 816.90 7154 1 7201 817.11 816.90 852.46 4.17
CMT4Y/150 7 796.48 816.90 7185 1 7201 816.99 816.91 852.46 4.17
CMT5X/200 10 933.21 952.38 7419 1 7422 954.87 952.38 1029.25 7.47
CMT5Y/200 10 933.21 952.62 6798 1 7201 953.56 952.62 1029.25 7.45
Avg. Gap (%) 4.31
Table 3.7: Results obtained by the F1C on Montané and Galvão’s instances
Instance/ #v LP Root Root Tree Total Prev. New F-LB UB Gap
Customers LB Time (s) size Time (s) LB LB (%)
r101/100 12 939.75 972.57 3084 104 7201 934.97 973.91 973.17 1009.95 3.64
r201/100 3 643.08 664.87 562 17 575 643.65 666.20 666.20 666.20 0.00
c101/100 16 1070.82 1195.47 1788 909 7200 1066.19 1196.70 1196.70 1220.18 1.92
c201/100 5 598.51 657.97 260 88 325 278.05 662.07 662.07 662.07 0.00
rc101/100 10 946.99 1028.72 4006 82 7201 937.41 1029.38 1029.08 1059.32 2.85
rc201/100 3 600.31 672.31 323 1 324 602.70 672.92 672.92 672.92 0.00
r1 2 1/200 23 3023.35 3078.76 7015 1 7202 2951.12 3084.97 3078.76 3360.02 8.37
r2 2 1/200 5 1549.88 1607.89 6824 1 7201 1501.82 1618.76 1607.89 1665.58 3.46
c1 2 1/200 28 3326.05 3396.32 5377 1 7201 3299.07 3475.03 3396.32 3629.89 6.43
c2 2 1/200 9 1560.54 1611.74 5601 1 7201 1542.96 1647.83 1611.74 1726.59 6.65
rc1 2 1/200 23 3020.18 3092.57 7124 1 7202 2939.98 3093.30 3092.57 3306.00 6.46
rc2 2 1/200 5 1439.13 1513.14 6757 1 7200 1396.95 1551.07 1513.14 1560.00 3.00
Avg. Gap (%) 3.57
3.4.2 VRPMPD
A set of 21 VRPMPD instances involving 50-199 customers was proposed by Salhi and
Nagy [149]. As in the VRPSPD, the number of vehicles is not specified. Also, Gajpal and
Abad [64] did not report the number of vehicles associated with their UBs. The barrier
3.4 Computational experiments 38
Table 3.10: Root node statistics of F1C over a set of VRPSPD representative instances
Instance/ #v Sep. LP Sep. Root Gap
Customers Rounds Time (s) Time (s) Time (s) (%)
SCA3-1/50 4 19 106.1 0.8 106.9 2.21
SCA8-1/50 9 17 72.8 1.8 74.6 4.92
CON3-1/50 4 26 71.5 1.5 73.1 1.94
CON8-1/50 9 37 73.9 6.5 80.4 2.95
CMT1X/50 3 38 59.0 3.7 62.7 1.46
CMT2X/75 6 65 1005.0 19.9 1025.0 4.58
CMT3X/100 5 38 1369.0 13.4 1382.3 3.70
CMT12X/100 5 47 3006.4 10.2 3016.5 5.07
CMT11X/120 4 87 7152.3 48.1 7200.4 7.09
CMT4X/150 7 21 7030.6 2.6 7033.2 4.23
CMT5X/200 10 7 7312.7 2.2 7314.9 7.78
r101/100 12 82 2946.5 137.5 3084.0 3.70
r201/100 3 50 551.7 10.5 562.2 0.20
r1 2 1/200 23 12 7008.9 6.5 7015.4 8.37
r2 2 1/200 5 4 6823.0 0.5 6823.5 3.46
Tables 3.14, 3.15 and 3.16 present the results obtained, respectively, by F1C, F2C-U
and F2C-D. It can be observed that the optimality of the instances CMT1H, CMT1Q,
CMT1T, CMT3Q and CMT12T was proven by all formulations. When comparing the
3.4 Computational experiments 39
LBs, one can verify that they are very similar, but F1C slightly outperformed the other
formulations, with an average gap of 2.37% against 2.42% of F2C-U and 2.40% of F2C-D.
This little difference in favor of F1C is mostly due to the significant better LBs found in
all the three instances involving 200 customers.
Table 3.11: Root node statistics of F2C-U over a set of VRPSPD representative instances
Instance/ #v Sep. LP Sep. Root Gap
Customers Rounds Time (s) Time (s) Time (s) (%)
SCA3-1/50 4 22 40.8 1.2 42.0 2.22
SCA8-1/50 9 29 50.9 5.1 56.0 5.01
CON3-1/50 4 33 52.4 1.6 54.1 1.61
CON8-1/50 9 33 62.3 4.4 66.7 2.94
CMT1X/50 3 45 96.4 5.2 101.5 1.46
CMT2X/75 6 44 330.8 15.0 345.8 4.58
CMT3X/100 5 39 493.0 10.6 503.6 2.80
CMT12X/100 5 41 805.5 7.1 812.6 5.08
CMT11X/120 4 88 4770.0 64.5 4834.5 7.00
CMT4X/150 7 55 7173.3 114.6 7287.9 4.15
CMT5X/200 10 8 6936.7 2.6 6939.3 7.23
r101/100 12 76 2802.9 106.8 2909.7 3.67
r201/100 3 28 288.7 3.6 292.4 0.21
r1 2 1/200 23 13 6966.9 3.6 6970.5 8.19
r2 2 1/200 5 8 7868.2 1.0 7869.2 2.81
Table 3.12: Root node statistics of F2C-D over a set of VRPSPD representative instances
Instance/ #v Sep. LP Sep. Root Gap
Customers Rounds Time (s) Time (s) Time (s) (%)
SCA3-1/50 4 18 40.0 0.7 40.8 2.29
SCA8-1/50 9 26 78.2 2.8 81.0 5.35
CON3-1/50 4 25 39.8 1.4 41.2 1.98
CON8-1/50 9 55 126.0 6.1 132.1 3.04
CMT1X/50 3 33 53.1 2.7 55.8 1.50
CMT2X/75 6 49 778.3 9.9 788.2 4.77
CMT3X/100 5 45 586.9 22.7 609.6 2.78
CMT12X/100 5 44 1798.3 5.8 1804.1 5.35
CMT11X/120 4 80 7173.9 47.7 7221.6 7.69
CMT4X/150 7 29 7135.6 18.1 7153.8 4.35
CMT5X/200 10 6 7417.3 1.5 7418.7 8.07
r101/100 12 80 5776.4 90.8 5867.3 3.81
r201/100 3 56 472.4 17.2 489.5 0.17
r1 2 1/200 23 11 7084.8 2.9 7087.6 9.28
r2 2 1/200 5 8 7381.9 0.8 7382.7 3.12
Since the Gaps of the instances CMT12H and CMT12Q were relatively small for all
formulations, it was thought advisable, to verify if the UBs found by Gajpal and Abad
[64] for these instances are indeed optimal solutions by running F1C with a time limit
of 48 hours. The BC algorithm was capable of proving the optimality of the instance
3.4 Computational experiments 40
CMT12H after 7.1 hours of execution. On the other hand, the optimal solution found
by the BC algorithm (729.25) for the instance CMT12Q, after 22.7 hours of execution,
was better than the UB found by Gajpal and Abad (729.46). Moreover, the number of
vehicles associated with optimal solutions of the instances CMT12H and CMT12Q are,
respectively, 5 and 7.
Table 3.14: Results obtained by F1C on Salhi and Nagy’s instances (VRPMPD)
Instance/ #v LP Root Root Tree Total New F-LB UB Gap
Customers LB Time (s) size Time (s) LB (%)
CMT1H/50 3 442.77 460.11 39 794 87 465.02 465.02 465.02 0.00
CMT1Q/50 4 468.98 488.10 36 15 40 489.74 489.74 489.74 0.00
CMT1T/50 5 488.08 513.07 47 908 193 520.06 520.06 520.06 0.00
CMT2H/75 - 622.00 643.52 292 6174 7200 647.84 647.84 662.63 2.23
CMT2Q/75 - 682.68 707.50 698 5827 7200 711.30 710.83 732.76 2.99
CMT2T/75 - 733.20 760.18 574 4996 7200 764.99 764.19 782.77 2.37
CMT3H/100 - 675.40 691.44 621 4735 7200 694.92 694.40 701.31 0.98
CMT3Q/100 6 719.22 744.42 901 309 1112 747.15 747.15 747.15 0.00
CMT3T/100 - 757.25 784.23 3602 1016 7200 787.12 786.14 798.07 1.50
CMT12H/100 - 542.24 623.03 526 20280 7200 627.32 627.32 629.37 0.33
CMT12Q/100 - 641.08 721.71 863 2880 7200 726.71 724.63 729.46 0.66
CMT12T/100 9 706.28 787.52 457 1 457 787.52 787.52 787.52 0.00
CMT11H/120 - 671.59 800.99 7200 1 7204 801.05 800.99 820.35 2.36
CMT11Q/120 - 816.16 926.87 7182 1 7200 928.74 926.87 939.36 1.33
CMT11T/120 - 904.02 984.35 7224 1 7228 985.03 984.35 998.80 1.45
CMT4H/150 - 778.93 798.15 7240 1 7242 798.38 798.15 831.39 4.00
CMT4Q/150 - 857.79 889.58 7133 1 7201 890.12 889.58 913.93 2.66
CMT4T/150 - 920.63 949.50 7101 1 7200 950.59 949.50 990.39 4.13
CMT5H/200 - 905.32 922.88 6913 1 7201 922.88 922.88 992.37 7.00
CMT5Q/200 - 1023.95 1040.25 6541 1 7201 1040.25 1040.25 1134.72 8.33
CMT5T/200 - 1118.60 1139.93 7448 1 7449 1139.93 1139.93 1232.08 7.48
Avg. Gap (%) 2.37
Table 3.15: Results obtained by F2C-U on Salhi and Nagy’s instances (VRPMPD)
Instance/ #v LP Root Root Tree Total New F-LB UB Gap
Customers LB Time (s) size Time (s) LB (%)
CMT1H/50 3 442.09 460.12 52 2893 128 465.02 465.02 465.02 0.00
CMT1Q/50 4 468.58 488.13 49 15 54 489.74 489.74 489.74 0.00
CMT1T/50 5 488.08 512.83 71 1050 193 520.06 520.06 520.06 0.00
CMT2H/75 - 620.06 643.20 365 1642 7200 647.84 646.11 662.63 2.49
CMT2Q/75 - 681.52 707.91 765 1596 7200 711.30 709.96 732.76 3.11
CMT2T/75 - 733.01 760.81 511 2763 7200 764.99 763.47 782.77 2.47
CMT3H/100 - 674.46 691.53 1499 10735 7200 694.92 694.15 701.31 1.02
CMT3Q/100 6 718.88 744.50 1583 271 1788 747.15 747.15 747.15 0.00
CMT3T/100 - 757.23 784.43 4414 1267 7200 787.12 785.86 798.07 1.53
CMT12H/100 - 537.95 623.32 674 57192 7200 627.32 626.70 629.37 0.42
CMT12Q/100 - 639.80 721.95 1160 5675 7200 726.71 726.49 729.46 0.41
CMT12T/100 9 706.08 787.52 508 7 509 787.52 787.52 787.52 0.00
CMT11H/120 - 665.43 800.91 7057 4 7214 801.05 800.91 820.35 2.37
CMT11Q/120 - 811.84 928.74 7272 1 7275 928.74 928.74 939.36 1.13
CMT11T/120 - 903.15 984.67 5670 12 7201 985.03 985.03 998.80 1.38
CMT4H/150 - 778.19 798.38 7199 1 7202 798.38 798.38 831.39 3.97
CMT4Q/150 - 857.54 890.12 7280 1 7286 890.12 890.12 913.93 2.61
CMT4T/150 - 920.63 950.59 7255 1 7259 950.59 950.59 990.39 4.02
CMT5H/200 - 902.33 917.99 6756 1 7201 922.88 917.99 992.37 7.50
CMT5Q/200 - 1022.01 1039.20 7837 1 7840 1040.25 1039.20 1134.72 8.42
CMT5T/200 - 1118.44 1133.52 7538 1 7540 1139.93 1133.52 1232.08 8.00
Avg. Gap (%) 2.42
The statistics of the root node of each formulation over a set of representative instances
is presented in Tables 3.17-3.19. The interpretation of the results contained in these tables
3.4 Computational experiments 41
are quite similar to those reported for the VRPSPD instances (see Tables 3.10-3.12). The
amount of time spent by all formulations to solve the LPs considerably increases with
the size of the instances. Since the estimated number of vehicles of most instances is
unknown, a further analysis regarding their influence in the statistics of the root node
could not be performed.
Table 3.16: Results obtained by F2C-D on Salhi and Nagy’s instances (VRPMPD)
Instance/ #v LP Root Root Tree Total New F-LB UB Gap
Customers LB Time (s) size Time (s) LB (%)
CMT1H/50 3 442.09 460.07 71 1748 148 465.02 465.02 465.02 0.00
CMT1Q/50 4 468.58 488.21 61 11 64 489.74 489.74 489.74 0.00
CMT1T/50 5 488.08 512.92 85 813 208 520.06 520.06 520.06 0.00
CMT2H/75 - 620.06 643.42 730 5735 7200 647.84 647.45 662.63 2.29
CMT2Q/75 - 681.52 707.13 953 6287 7200 711.30 711.30 732.76 2.93
CMT2T/75 - 733.01 760.91 918 6183 7200 764.99 764.99 782.77 2.27
CMT3H/100 - 674.46 691.53 1158 19031 7200 694.92 694.92 701.31 0.91
CMT3Q/100 6 718.88 744.47 1366 411 1608 747.15 747.15 747.15 0.00
CMT3T/100 - 757.23 784.13 3957 1904 7200 787.12 787.12 798.07 1.37
CMT12H/100 - 538.07 623.32 773 42656 7200 627.32 626.45 629.37 0.46
CMT12Q/100 - 639.80 721.90 1309 3676 7200 726.71 726.71 729.46 0.38
CMT12T/100 9 706.08 787.25 750 6 752 787.52 787.52 787.52 0.00
CMT11H/120 - 665.46 801.05 7273 1 7277 801.05 801.05 820.35 2.35
CMT11Q/120 - 811.92 926.91 7197 1 7200 928.74 926.91 939.36 1.33
CMT11T/120 - 903.19 984.48 7196 1 7200 985.03 984.48 998.80 1.43
CMT4H/150 - 778.19 798.15 7295 1 7298 798.38 798.15 831.39 4.00
CMT4Q/150 - 857.54 890.11 7168 1 7200 890.12 890.11 913.93 2.61
CMT4T/150 - 920.63 950.12 7152 1 7200 950.59 950.12 990.39 4.07
CMT5H/200 - 902.34 922.85 7262 1 7265 922.88 922.85 992.37 7.01
CMT5Q/200 - 1022.08 1037.29 7249 1 7251 1040.25 1037.29 1134.72 8.59
CMT5T/200 - 1118.44 1129.15 6383 1 7201 1139.93 1129.15 1232.08 8.35
Avg. Gap (%) 2.40
Table 3.17: Root node statistics of the F1C over a set of VRPMPD representative in-
stances
Instance/ #v Sep. LP Sep. Root Gap
Customers Rounds Time (s) Time (s) Time (s) (%)
CMT1H/50 3 27 37.0 1.8 38.8 1.06
CMT1T/50 5 34 44.5 2.1 46.6 1.34
CMT2H/75 - 45 280.8 11.1 291.9 2.88
CMT2T/75 - 62 553.4 20.5 573.8 2.89
CMT3H/100 - 33 604.0 16.8 620.8 1.41
CMT3T/100 - 91 3520.0 81.9 3601.9 1.73
CMT12H/100 - 67 7168.0 32.2 7200.2 1.01
CMT12T/100 9 72 7206.0 17.5 7223.5 0.00
CMT11H/120 - 32 522.4 4.0 526.4 2.36
CMT11T/120 - 39 455.0 1.7 456.7 1.45
CMT4H/150 - 22 7236.6 3.4 7240.1 4.00
CMT4T/150 - 30 7096.0 5.3 7101.3 4.13
CMT5H/200 - 13 6908.8 4.1 6912.9 7.00
CMT5T/200 - 8 7445.6 2.1 7447.8 7.48
Table 3.20 shows the summary of the results obtained in the set of VRPMPD instances
of Salhi and Nagy. The value of the average gaps G1, G2 and G3 suggest that there are
practically no difference between the three formulations. Nonetheless, differently from
the VRPSPD results, where F2C-U consistently found better results, it was F1C that
produce, on average, slightly better LBs.
3.5 Concluding remarks 42
Table 3.18: Root node statistics of F2C-U over a set of VRPMPD representative instances
Instance/ #v Sep. LP Sep. Root Gap
Customers Rounds Time (s) Time (s) Time (s) (%)
CMT1H/50 3 30 49.6 2.0 51.7 1.05
CMT1T/50 5 41 68.3 3.2 71.4 1.39
CMT2H/75 - 53 355.2 9.4 364.7 2.93
CMT2T/75 - 58 492.1 19.2 511.3 2.81
CMT3H/100 - 52 1477.7 21.5 1499.2 1.39
CMT3T/100 - 110 4340.3 73.6 4413.9 1.71
CMT12H/100 - 45 671.4 2.9 674.3 0.96
CMT12T/100 9 39 505.1 2.9 508.0 0.00
CMT11H/120 - 83 6994.5 62.1 7056.6 2.37
CMT11T/120 - 118 5589.4 80.9 5670.3 1.41
CMT4H/150 - 31 7194.2 4.3 7198.5 3.97
CMT4T/150 - 30 7249.4 5.9 7255.2 4.02
CMT5H/200 - 4 6755.2 1.1 6756.4 7.50
CMT5T/200 - 4 7537.2 0.8 7538.0 8.00
Table 3.19: Root node statistics of F2C-D over a set of VRPMPD representative instances
Instance/ #v Sep. LP Sep. Root Gap
Customers Rounds Time (s) Time (s) Time (s) (%)
CMT1H/50 3 32 68.2 2.9 71.1 1.06
CMT1T/50 5 39 82.8 2.4 85.3 1.37
CMT2H/75 - 75 704.4 25.3 729.7 2.90
CMT2T/75 - 82 883.9 33.9 917.8 2.79
CMT3H/100 - 44 1142.7 15.5 1158.2 1.39
CMT3T/100 - 90 3882.4 74.2 3956.7 1.75
CMT12H/100 - 49 769.0 3.8 772.8 0.96
CMT12T/100 9 37 748.0 2.2 750.2 0.03
CMT11H/120 - 65 7246.7 26.2 7272.9 2.35
CMT11T/120 - 74 7178.3 17.6 7195.9 1.43
CMT4H/150 - 30 7274.2 21.1 7295.2 4.00
CMT4T/150 - 21 7148.7 3.0 7151.7 4.07
CMT5H/200 - 8 7259.8 2.2 7261.9 7.01
CMT5T/200 - 3 6382.6 0.6 6383.2 8.35
Table 3.20: Summary of the results obtained by the three formulations (VRPMPD)
Formulation Salhi and Nagy
G1 (%) G2 (%) G3 (%)
F1C 8.16 2.68 2.37
F2C-U 8.33 2.70 2.42
F2C-D 8.33 2.72 2.40
produced for both VRPSPD and VRPMPD instances with up to 200 customers. In
addition, although it has been shown that the one-commodity flow formulation produces
a stronger linear relaxation, the two-commodity flow formulations have found, on average,
better lower bounds in the VRPSPD instances. As for the VRPMPD, the lower bounds
were, on average, quite similar, but with a slight superiority of F1C.
This chapter presents a BC algorithm that is capable of dealing with the VRPSPD,
VRPMPD and MDVRPMPD. This BC includes cuts from the CVRPSEP library [114]
and it is based on a mathematical formulation composed only by edge variables. The
constraints that ensure that the capacities are not exceeded in the middle of a route and
those that ensure that a route starts and ends at the same depot are applied in a lazy
fashion. The developed solution approach was tested in well-known VRPSPD/VRPMPD
instances with up to 200 customers and it was capable of improving most of the previously
known lower bounds. The contents of the present chapter were partially published in [161].
X X
s.t. xik + xkj = 2 ∀k ∈ V 0 (4.2)
i∈V,i<k j∈V,j>k
X
x0j = 2vk ∀k ∈ G (4.3)
j∈V 0
X X X X
xij + xij ≥ 2e(S) ∀S ⊆ V 0 (4.4)
i∈S j∈S̄,i<j i∈S̄ j∈S,i<j
X X X X
xij + xij ≥ 2q(S) ∀S ⊆ V 0 (4.5)
i∈S j∈S̄,i<j i∈S̄ j∈S,i<j
0 ≤ vk ≤ mk ∀k ∈ G (4.6)
xij ∈ {0, 1} ∀{i, j} ∈ E, i > 0 (4.7)
xij ∈ {0, 1, 2} ∀{0, j} ∈ E. (4.8)
This is not a complete formulation for the VRPSPD. While Constraints (4.4) and
(4.5) are enough to ensure that all vehicles leave and return to the depot with load at
most Q, it is possible that a vehicle capacity may be exceeded in the middle of the
route. In fact, previous VRPSPD formulations use auxiliary flows for controlling vehicle
load ([44, 159, 160]). Such additional variables and constraints have the drawback of
increasing the solution time of the associated LPs. The new formulation proposed in this
work eliminates those unfeasible routes with constraints over the edge variables. Let R
be the set of all subsets of edges, not adjacent to the depot, representing routes (in both
directions) that are feasible with respect to both pickup and delivery alone, but not with
respect to the simultaneous pickup and delivery. The following constraints are added to
(4.1-4.8) in order to obtain a complete formulation for the VRPSPD, called F1:
X
xij ≤ |R| − 1 ∀R ∈ R (4.9)
{i,j}∈R
Constraints similar to (4.9) are sometimes called “no-good cuts” since they only remove
a single infeasible integral point, which is usually weak in a polyhedral sense, because
these kind of cuts are seldom violated by fractional solutions. In this case, a constraint
associated to an unfeasible route R actually eliminates all integral solutions that contain
such route. Nevertheless, they are still weak and only worthy to be applied in a lazy
fashion in a BC algorithm, with the purpose of checking the feasibility of the integral
solutions found along the tree.
Formulation F1 is a complete formulation for the VRPSPD/VRPMPD, but not for
the MDVRPMPD, because there are no constraints preventing a route from starting and
ending in different depots. Let R0 be the set of all feasible VRPSPD routes, represented
by their edges (including those adjacent to the depot), that start and end in different
depots. With a view of obtaining a complete formulation for the MDVRPMPD, called
F1-MD, one can add the following constraints to F1:
4.2 Computational experiments with a Branch-and-cut approach 46
X X
xij + 2 xij ≤ 2(|R| − 2) + 1 ∀R ∈ R0 (4.10)
{0,j}∈R {i,j}∈R,i>0
Constraints (4.10) follow the same idea of constraints (4.9) and therefore they are
only worthy to be applied in a lazy fashion within a BC scheme.
4.2.1 VRPSPD
Tables 4.1-4.3 present the results obtained by the BC on the set of instances of Dethloff
[48], Salhi and Nagy [149] and Montané and Galvão [121], respectively. For the first set
of instances, the BC was ran until the optimal solution was found, whereas a time limit
of 2 hours of execution was imposed for the remaining sets.
From Table 4.1, it is possible to observe that, except for the instance CON8-9, the
optimality of all instances were proved within up to 5000 seconds. In the instances that
require less vehicles the BC spent at most 33 seconds to find the optimal solution. Fur-
thermore, 15 new optimal solutions were proved. From Table 4.2 it can be seen that,
except for the instance CMT5Y, all the LBs were equaled or improved. Also, the optimal-
ity of the instances CMT3X and CMT3Y, involving 100 customers, were proved. Lastly,
from Table 4.3, one can verify that the BC equaled or improved the LBs of the instances
involving 100 customers, regardless of the number of vehicles. However, for the instances
involving 200 customers the results were rather inconsistent. On one hand, the BC found
the optimal solutions for the instances requiring few vehicles. On the other hand, the BC
obtained poor LBs for the instances requiring a large number of vehicles.
4.2.2 VRPMPD
Table 4.4 shows the results obtained in the instances of Salhi and Nagy. A time limit of
2 hours was imposed for the BC (which was sometimes exceeded by CPLEX), except for
the instances CMT3H, CMT3T and CMT11Q, where we the BC algorithm was ran until
the optimal solution was found. It can be verified that all LBs were either equaled or
improved and one new optimal solution was found (CMT11Q).
4.2.3 MDVRPMPD
The proposed algorithm was tested in the set of MDVRPMPD instances developed by
Salhi and Nagy [149]. This set consists of 33 test-problems with 50-249 customers. Only
those without route duration constraints (50-100 customers) were considered. Table 4.5
presents the results found by the BC algorithm in these instances. It can be observed that
BC managed to find the optimal solutions of 4 open-problems and to obtain the first lower
bounds for this set of instances. Furthermore, it is possible to verify that the quality of the
linear relaxation decreases when the number of depots and vehicles per depot increases.
Although the overall results are reasonably satisfactory, the BC algorithm was not as
effective for the MDVRPMPD as it was for the VRPSPD/VRPMPD.
4.2 Computational experiments with a Branch-and-cut approach 48
Table 4.2: Results obtained on the VRPSPD instances of Salhi and Nagy [149]
Instance/ Root Root Tree Total #Lazy Prev. Gap
v LB UB
Customers LB Time (s) size Time (s) Cuts 1 LB (%)
CMT1X/50 3 460.73 5.56 78 10.3 0 466.77 466.77 466.77 0.00
CMT1Y/50 3 460.69 15.5 60 19.3 0 466.77 466.77 466.77 0.00
CMT2X/75 6 658.38 100 17718 7200 0 655.98 666.57 684.21 2.65
CMT2Y/75 6 658.12 200 19875 7200 0 655.41 666.69 684.21 2.63
CMT3X/100 5 711.77 79.7 8521 2461 36 705.54 721.27 721.27 0.00
CMT3Y/100 5 711.89 140 9313 3226 36 705.62 721.27 721.27 0.00
CMT12X/100 5 635.52 50.3 10460 7200 1 629.39 643.76 662.22 2.87
CMT12Y/100 5 635.45 65.1 11621 7200 0 629.18 644.10 662.22 2.81
CMT11X/120 4 793.11 892 5988 7200 0 776.35 799.67 833.92 4.28
CMT11Y/120 4 793.54 1098 4063 7200 0 775.74 799.02 833.92 4.37
CMT4X/150 7 826.74 1950 4012 7200 0 817.11 831.18 852.46 2.56
CMT4Y/150 7 826.34 2568 4380 7200 0 816.99 831.65 852.46 2.50
CMT5X/200 10 971.07 7202 1 7206 0 954.87 971.07 1029.25 5.99
CMT5Y/200 10 937.66 7248 1 7252 0 953.56 937.66 1029.25 9.77
4.3 Concluding remarks 49
Table 4.3: Results obtained on the instances of Montané and Galvão [121]
Instance/ Root Root Tree Total #Lazy Prev. Gap
v LB UB
Customers LB Time (s) size Time (s) Cuts 1 LB (%)
r101/100 12 972.58 1282 5528 7200 0 973.91 978.28 1009.95 3.24
r201/100 3 664.80 42.9 10 43.7 0 666.20 666.20 666.20 0.00
c101/100 16 1194.69 722 10480 7200 0 1196.70 1202.59 1220.18 1.46
c201/100 5 657.97 24.6 12 28.3 0 662.07 662.07 662.07 0.00
rc101/100 10 1028.06 1067 8208 7200 0 1029.38 1041.06 1059.32 1.75
rc201/100 3 671.84 6.37 3 6.42 0 672.92 672.92 672.92 0.00
r1 2 1/200 23 2681.05 7198 1 7202 0 3084.97 2681.05 3360.02 25.32
r2 2 1/200 5 1656.62 4477 974 5551 0 1618.76 1665.58 1665.58 0.00
c1 2 1/200 27 2857.45 7196 1 the 7201 0 3475.03 2857.45 3629.89 27.03
c2 2 1/200 9 1638.99 7197 1 7203 0 1647.83 1638.99 1726.59 5.34
rc1 2 1/200 23 2656.78 7196 1 7201 0 3093.30 2656.78 3306.00 24.44
rc2 2 1/200 5 1551.54 1932 483 2323 0 1551.07 1560.00 1560.00 0.00
Table 4.4: Results obtained on the VRPMPD instances of Salhi and Nagy [149]
Instance/ Root Root Tree Total #Lazy Prev. Gap
v LB UB
Customers LB Time (s) size Time (s) Cuts 1 LB (%)
CMT1H/50 3 460.10 7.14 103 9.67 10 465.02 465.02 465.02 0.00
CMT1Q/50 4 488.15 5.65 5 5.87 0 489.74 489.74 489.74 0.00
CMT1T/50 5 512.61 4.98 126 11.7 0 520.06 520.06 520.06 0.00
CMT2H/75 - 643.28 101 15003 7200 0 647.84 653.79 662.63 1.33
CMT2Q/75 - 707.66 100 12256 7200 0 711.30 717.36 732.76 2.10
CMT2T/75 - 759.92 151 15585 7200 0 764.99 770.35 782.77 1.59
CMT3H/100 3 691.32 58.0 58219 42606 481 694.92 700.94 700.94 0.00
CMT3Q/100 6 744.50 95.5 39 113 0 747.15 747.15 747.15 0.00
CMT3T/100 5 784.13 342 92974 164046 0 787.12 798.07 798.07 0.00
CMT12H/100 - 623.00 40.3 17791 3018 180 629.37 629.37 629.37 0.00
CMT12Q/100 - 721.81 83.9 1577 686 4 729.25 729.25 729.25 0.00
CMT12T/100 9 787.27 37.7 3 37.9 0 787.52 787.52 787.52 0.00
CMT11H/120 - 801.24 353 4296 7200 0 801.05 806.46 820.35 1.69
CMT11Q/120 6 928.28 653 95065 209428 9 928.74 939.36 939.36 0.00
CMT11T/120 - 984.81 359 7232 7200 0 985.03 989.32 998.80 0.95
CMT4H/150 - 799.19 1122 3544 7200 0 798.38 804.10 831.39 3.28
CMT4Q/150 - 892.99 2920 3243 7200 0 890.12 898.28 913.93 1.71
CMT4T/150 - 953.41 4246 1873 7200 0 950.59 956.54 990.39 3.42
CMT5H/199 - 931.02 7209 1 7215 0 922.88 931.02 992.37 6.18
CMT5Q/199 - 1056.74 7206 1 7213 0 1040.25 1056.74 1134.72 6.87
CMT5T/199 - 1145.61 7192 1 7200 0 1139.93 1145.63 1232.08 7.02
Table 4.5: Results obtained on the MDVRPMPD instances of Salhi and Nagy [149]
Instance/ Root Root Tree Total #Lazy #Lazy Gap
v |G| LB UB
Customers LB Time (s) size Time (s) Cuts 1 Cuts 2 (%)
GJ01H/50 4 4 459.594 5.28 34210 7200 0 263 480.43 499.12 3.74
GJ01Q/50 4 4 492.635 3.34 44224 7200 2 132 515.09 528.30 2.50
GJ01T/50 4 4 532.425 11.0 33046 7200 0 45 558.12 569.43 1.99
GJ02H/50 2 4 428.195 0.46 2554 93.7 2 132 440.00 440.00 0.00
GJ02Q/50 2 4 437.079 1.00 4065 224 0 127 449.72 449.72 0.00
GJ02T/50 2 4 447.174 3.90 5321 517 0 151 464.13 464.13 0.00
GJ03H/75 3 5 559.289 15.1 27805 7200 5 71 572.75 579.45 1.16
GJ03Q/75 3 5 580.047 14.3 22271 7200 0 56 591.35 605.25 2.30
GJ03T/75 3 5 594.704 60.9 20880 7200 0 10 606.68 624.44 2.84
GJ04H/100 8 2 745.99 250 6362 7200 0 0 754.33 789.19 4.42
GJ04Q/100 8 2 831.759 364 8446 7200 0 0 841.74 874.78 3.78
GJ04T/100 8 2 915.006 589 8595 7200 0 0 923.90 962.25 3.99
GJ05H/100 5 2 659.855 13.6 16762 7200 9 12 668.72 676.81 1.20
GJ05Q/100 5 2 692.707 36.3 493 278 0 12 700.15 700.15 0.00
GJ05T/100 5 2 715.925 97.8 10080 7200 0 2 723.35 733.17 1.34
GJ06H/100 6 3 702.486 167 8408 7200 0 0 709.71 742.18 4.38
GJ06Q/100 6 3 756.244 358 9531 7200 0 0 765.70 793.85 3.55
GJ06T/100 6 3 805.96 735 8561 7200 0 0 815.61 850.82 4.14
GJ07H/100 4 4 699.282 64.3 10448 7200 0 0 706.86 732.73 3.53
GJ07Q/100 4 4 758.286 166 10011 7200 0 0 768.21 802.20 4.24
GJ07T/100 4 4 806.337 315 11053 7200 0 0 816.31 853.54 4.36
Chapter 5
This chapter presents a Branch-cut-and-price (BCP) algorithm for the VRPSPD that is
also capable of solving the VRPMPD. To the knowledge of the author this is the first
attempt to solve this problem using a BCP approach. The developed algorithm consists
of an extension of the one proposed by Fukasawa et al. [63] for the CVRP. Computational
experiments were carried out on instances with up to 200 customers. Four instances were
solved for the first time and some LBs were improved.
BCP is a generalization of both Branch-and-cut (BC) and Branch-and-price (BP)
algorithms. It can be used to solve formulations with a very large number of constraints
and variables. In the case of VRPs, such variables (columns) are usually associated to
routes. The columns are generated by solving a so-called pricing subproblem which aims
at finding the single vehicle route with most negative reduced cost. The cuts (constraints)
are expressed in terms of edge variables and then translated to route variables. The reader
is referred to [137] for further details on how this approach can be generally applied to
CO problems.
Fig. 5.1 illustrates an example of a pd-route. In this case, the pd-route is defined by
0 → 1 → 2 → 3 → 1 → 0. The vehicle leaves the depot with a load of 22 and returns to
depot with a load of 30. Notice that the edge {0,1} is traversed twice, which shows that
the existence of cycles is valid on pd-routes.
2 Cust.
5 / 15
20 / 10 Delivery load /
Pickup load
2 / 20
1 3 Depot
0 / 30
22 / 0 Customer di pi
1 2 10
2 15 5
0 3 3 5
Q = 30
X X
(F1) min cij xij (5.1)
i∈V j∈V,j>i
X X
s.t. xik + xkj = 2 ∀k ∈ V 0 (5.2)
i∈V,i<k j∈V,j>k
X
x0j = 2v (5.3)
j∈V 0
X X X X
xij + xij ≥ 2e(S) ∀S ⊆ V 0 (5.4)
i∈S j∈S̄,i<j i∈S̄ j∈S,i<j
5.2 Mathematical formulation 53
X X X X
xij + xij ≥ 2q(S) ∀S ⊆ V 0 (5.5)
i∈S j∈S̄,i<j i∈S̄ j∈S,i<j
X
xij ≤ |R| − 1 ∀R ∈ R (5.6)
{i,j}∈R
v ∈ Z+ (5.7)
xij ∈ {0, 1} ∀{i, j} ∈ E, i > 0 (5.8)
xij ∈ {0, 1, 2} ∀{0, j} ∈ E. (5.9)
λt ≥ 0 (t = 1, . . . , P ) (5.11)
X
P X X
(DWM) min ( cij atij )λt (5.12)
t=1 i∈V j∈V,j>i
X
P X X
s.t. ( atik + atkj )λt = 2 ∀k ∈ V 0 (5.13)
t=1 i∈V,i<k j∈V,j>k
X
P X
( at0j )λt = 2v (5.14)
t=1 j∈V 0
X
P X X X X
( atij + atij )λt ≥ 2e(S) ∀S ⊆ V 0 (5.15)
t=1 i∈S j∈S̄,i<j i∈S̄ j∈S,i<j
5.3 The Branch-cut-and-price algorithm 54
X
P X X X X
( atij + atij )λt ≥ 2q(S) ∀S ⊆ V 0 (5.16)
t=1 i∈S j∈S̄,i<j i∈S̄ j∈S,i<j
X
P
atij λt ≤ 1 ∀{i, j} ∈ E, i > 0 (5.17)
t=1
λt ≥ 0 (t = 1, . . . , P ) (5.18)
The reduced cost of a given λ variable is the sum of the reduced costs of the edges in
the corresponding pd-route. Let µ, ν, π, ω and σ be the dual variables associated with
constraints (5.13), (5.14), (5.15), (5.16) and (5.17) respectively. Define S : S̄ as the set
composed by the edges with one end in S and the other end in S̄. The reduced cost c̄ij
of an edge is given by:
X X
c − µ − µ − π − ωS − σij ∀{i, j} ∈ E, i > 0
ij i j S
S|S:S̄3{i,j} S|S:S̄3{i,j}
c̄ij =
X X
c − ν − π − ωS ∀{0, j} ∈ E
ij S
S|j∈S S|j∈S
PP P
In general, a cut of the form t=1 ( {i,j}∈E hij atij )λt ≥ b, with dual variable α, con-
tributes with −hij α to the value of c̄ij .
resource P is initialized with 0. Every time a customer j is visited the value of D decreases
by dj and the value of P increases by pj . A state is here denoted by a triple (j, D, P)
and it represents that customer j has just been visited, with D demand units to be still
delivered and P demand units already picked up.
Let c̄(i, D, P) be the least costly walk from customer i to the depot with respect to
the edge reduced costs. The recursive expression of the dynamic programming can be
expressed as follows.
min{c̄ij + c̄(j, D − dj , P + pj ) | D − dj ≥ 0, (D − dj ) + (P + pj ) ≤ Q},
j
c̄(i, D, P) = if D > 0
c̄i0 , if D = 0
The minimum reduced cost of a pd-route is given by mini,D {c̄0i + c̄(i, D, pi )}.
In classical dynamic programming recursion, the optimal cost of a given state is writ-
ten as a function of other known optimal state costs. Conversely, in label correcting
approaches, a state with known optimal cost is extended to others with unknown optimal
cost. In view of the latter, for each state there is an associated label containing three ele-
ments, namely: the customer identifier j; the minimum reduced cost, given by c(j, D, P),
of a walk that starts at the depot and ends at state (j, D, P); and a pointer to a label
representing the walk up to the previous customer.
The developed label correcting based dynamic programming algorithm starts by con-
sidering all feasible expansions from the depot given by states (0, D, 0), D ∈ {1, 2, . . . , Q},
to each customer j ∈ V 0 , thus generating the states (j, D − dj , pj ). This procedure is
repeated for every new generated state and a label is updated when c(i, D, P) + cij <
c(j, D − dj , P + pj ). Of course, a state can be only expanded when its optimal walk
had been already computed. The algorithm terminates when feasible expansions are no
longer possible. The optimal walk of each customer is then extended to the depot in
order to obtain a pd-route. The columns associated to pd-routes with negative reduced
costs are added to the master problem. The computational complexity of the dynamic
programming approach is O(n2 Q2 ).
Fig. 5.2 shows an example of all feasible states and pd-routes generated during the
dynamic programming. It can be seen that the initial states are (0, 1, 0), (0, 2, 0) and
(0, 3, 0). A total of 7 possible pd-routes can be obtained but only those with negative
reduced costs are considered as mentioned above. Notice that (1, 0, 3) is the only state
that is generated from two other states, namely (3, 1, 1) and (2, 1, 1). In this case, the
optimal walk for this state is the one with minimum cost between walks 0 → 2 → 1 and
0 → 3 → 1. The example assumes that the latter walk is the optimal one.
A crucial aspect regarding the performance of the proposed dynamic programming
5.3 The Branch-cut-and-price algorithm 56
Figure 5.2: Example of states and pd-routes generated during the dynamic programming
Finally, in order to strengthen the formulation, pd-routes with 2-cycle are forbidden.
This is done by simply keeping the label of the second least costly walk of each state [32].
5.4.2 Results
In the following tables, Instance is the name of the instance, Customers is the number
of customers, #vehicles is the number of vehicles in the best known solution or a LB
on the number of vehicles, Root LB indicates the root LB, Root Time is the CPU
time in seconds spent at the root node, Tree size is the number of nodes opened, Total
time is the total CPU time in seconds of the BCP procedure, Prev. LB is the best
known LB obtained considering Chapters 3 and 4, LB is the LB determined by BCP,
UB is the upper bound reported in [157] and [64, 161] for the VRPSPD and VRPMPD,
respectively. Previously known optimal solutions and improved LBs are highlighted in
boldface and new optimal solutions are underlined.
The LBs obtained at the root node are reported for all VRPSPD/VRPMPD. For
those instances with a relatively large number of customers per vehicle a time limit of 2
hours was imposed (CMT11X, CMT11Y, r201, rc101, r2 2 1, rc2 2 1 and CMT11H and
CMT4T). Nevertheless, this limit was exceeded in some instances because it was decided
not to interrupt the execution of the algorithm during a column generation procedure.
A comparison is performed with the root relaxations obtained by the BC presented in
Chapter 4. The full BCP algorithm was only executed in the instances where the BC has
an inferior performance.
5.4.2.1 VRPSPD
Table 4.1 shows the results found by the BCP algorithm on the set of instances proposed
in [48]. It is noteworthy to mention that the optimal solutions of all instances of this set
were found by the BC presented in Chapter 4. From Table 5.1, it can be observed that
the BCP algorithm had a considerable better performance in terms of both root LB and
computational time in those cases where the average number of customers per vehicle
(given by n/v) is smaller, i.e. instances SCA8-0, SCA8-1,...,SCA8-9, CON8-0, CON8-
1,...,CON8-9. The BC and BCP average gaps between the root LBs and the optimal
solutions in such subset of 20 instances were 3.24% and 1.28%, respectively. Moreover,
the average computational time of the complete execution of BCP in these instances was
197 seconds, whereas for BC this value was 2883 seconds.
Table 5.2 illustrates the results found in the instances suggested in [149]. In these
set of instances, BC appears to be more suitable, in terms of overall performance, when
compared to the BCP. Yet, the best known LBs of the instances CMT5X and CMT5Y
were improved at the root node when solving such problems using the BCP algorithm.
For the remaining the instances there is no advantage in applying the BCP instead of a
pure BC. Moreover, closing the gap between the UB and the LB of instances CMT2X and
CMT2Y, both with 75 customers and 6 vehicles, still remains a challenge.
Table 5.3 presents the results obtained in the set of benchmark instances proposed
5.4 Computational experiments 59
in [121]. As it happened in the set of instances of Dethloff [48], the BCP algorithm out-
performed the BC on those instances where the average number of customers per vehicle
is relatively small. Three instances containing 100 customers were solved to optimality
for the first time, namely r101, c101 and rc101. As a result, all the six 100-customer
instances of this set are now solved. In addition, the LB of the instances r1 2 1, c1 2 1,
c2 2 1 and rc1 2 1 were dramatically improved. On the other hand, the BCP algorithm
failed completely to solve the linear relaxation of the instances r2 2 1 and rc2 2 1 (where
the are about 40 customers per vehicle) in the time limit specified. These instances were
solved to optimality by the pure BC.
5.4.2.2 VRPMPD
The results found in the VRPMPD instances generated in [149] are depicted in Table 5.4.
The best known upper bounds for VRPMPD instances that are not proven optimal were
5.5 Concluding remarks 60
taken from [64]. However, the number of vehicles was not specified in the referred work.
The LB on the number of vehicles is reported in such cases. From Table 5.4 it is possible
to verify that the BCP algorithm had an overall performance similar to the one observed
in the VRPSPD instances of Salhi and Nagy [149] (see Table 4.2). The optimality of the
instance CMT2T was proved for the first time and LBs of the instances CMT4T, CMT5H,
CMT5Q and CMT5T were improved.
Table 5.2: Results obtained on the VRPSPD instances of Salhi and Nagy [149]
Instance/ BC BCP
Customers/ Prev. UB
Root Root Root Root Tree Total LB
#vehicles LB
LB Time (s) LB Time (s) Size Time (s)
CMT1X/50/3 460.73 5.56 461.90 96.0 - - - 466.77 466.77
CMT1Y/50/3 460.69 15.5 460.86 238 - - - 466.77 466.77
CMT2X/75/6 658.38 100 661.11 94.2 - - - 666.57 684.21
CMT2Y/75/6 658.12 200 659.76 308 - - - 666.69 684.21
CMT3X/100/5 711.77 79.7 711.70 1404 - - - 721.27 721.27
CMT3Y/100/5 711.89 140 711.49 4519 - - - 721.27 721.27
CMT12X/100/5 635.52 50.3 638.72 3130 - - - 643.76 662.22
CMT12Y/100/5 635.45 65.1 636.29 3608 - - - 644.10 662.22
CMT11X/120/4 793.11 892 766.22 9570 - - - 799.67 833.92
CMT11Y/120/4 793.54 1098 765.47 9421 - - - 799.02 833.92
CMT4X/150/7 826.74 1950 829.58 11433 - - - 831.18 852.46
CMT4Y/150/7 826.34 2568 827.50 791912 - - - 831.65 852.46
CMT5X/199/10 971.07 7202 988.28 66063 - - - 971.07 1029.25
CMT5Y/199/10 937.66 7248 980.63 260737 - - - 953.56 1029.25
Table 5.3: Results obtained on the instances of Montané and Galvão [121]
Instance/ BC BCP
Customers/ Prev. UB
Root Root Root Root Tree Total LB
#vehicles LB
LB Time (s) LB Time (s) Size Time (s)
r101/100/12 972.58 1282 996.18 208 23465 1.06 × 106 1009.95 978.28 1009.95
r201/100/3 664.80 42.9 661.95 9968 - - - 666.20 666.20
c101/100/16 1194.69 722 1208.99 3.99 31631 31042 1220.18 1202.59 1220.18
c201/100/5 657.97 24.6 659.11 17086 - - - 662.07 662.07
rc101/100/10 1028.06 1067 1049.84 78.5 653 17491 1059.32 1041.06 1059.32
rc201/100/3 671.84 6.37 668.84 15021 - - - 672.92 672.92
r1 2 1/200/23 2681.05 7198 3273.27 1094 - - - 3084.97 3360.02
r2 2 1/200/5 1656.62 4477 - - - - - 1665.58 1665.58
c1 2 1/200/28 2857.45 7196 3609.16 78.4 - - - 3475.03 3629.89
c2 2 1/200/9 1638.99 7197 1704.00 97487 - - - 1647.83 1726.59
rc1 2 1/200/23 2656.78 7196 3241.98 888 - - - 3093.30 3306.00
rc2 2 1/200/5 1551.54 1932 - - - - - 1560.00 1560.00
of them are VRPSPD instances containing 100 customers and one of them corresponds
to a VRPMPD instance containing 75 customers. Also, the best known LBs of other 10
instances involving 150-200 customers were improved. Moreover, the BCP clearly outper-
formed previous methods in a subset of instances proposed in [48] and [121]. The main
characteristic of such instances is the fact of having a small average number of customers
per vehicle, which is known to be favorable to column generation based techniques.
Table 5.4: Results obtained on the VRPMPD instances of Salhi and Nagy [149]
Instance/ BC BCP
Customers/ Prev. UB
Root Root Root Root Tree Total LB
#vehicles LB
LB Time (s) LB Time (s) Size Time (s)
CMT1H/50/3 460.10 7.14 461.32 64.7 - - - 465.02 465.02
CMT1Q/50/4 488.15 5.65 488.26 31.2 - - - 489.74 489.74
CMT1T/50/5 512.61 4.98 515.20 5.81 - - - 520.06 520.06
CMT2H/75/6 643.28 101 648.63 174 - - - 653.79 662.63
CMT2Q/75/8 707.66 100 710.00 14.0 - - - 717.36 732.76
CMT2T/75/9 759.92 151 767.77 7.31 14627 109348 782.77 770.35 782.77
CMT3H/100/3 691.32 58.0 691.42 3376 - - - 700.94 700.94
CMT3Q/100/6 744.50 95.5 744.84 854 - - - 747.15 747.15
CMT3T/100/5 784.13 342 784.75 346 - - - 798.07 798.07
CMT12H/100/5 623.00 40.3 623.33 881 - - - 629.37 629.37
CMT12Q/100/7 721.81 83.9 722.35 948 - - - 729.25 729.25
CMT12T/100/9 787.27 37.7 787.52 52.7 - - - 787.52 787.52
CMT11H/120/4 801.24 353 776.36 7680 - - - 806.46 820.35
CMT11Q/120/6 928.28 653 899.45 7831 - - - 939.36 939.36
CMT11T/120/7 984.81 359 985.75 2884 - - - 989.32 998.80
CMT4H/150/6 799.19 1122 795.22 8465 - - - 804.10 831.39
CMT4Q/150/9 892.99 2920 895.15 13090 - - - 898.28 913.93
CMT4T/150/11 953.41 4246 960.59 228 - - - 956.54 990.39
CMT5H/199/9 931.02 7209 948.46 276318 - - - 931.02 992.37
CMT5Q/199/12 1056.74 7206 1069.91 97259 - - - 1056.74 1134.72
CMT5T/199/15 1145.61 7192 1175.62 755 - - - 1145.63 1232.08
Chapter 6
This chapter presents a general heuristic algorithm for solving different VRPs. The pro-
posed approach is mostly based on the ILS framework. Before describing the solution
method, a brief outline of this metaheuristic is provided. The contents of this chapter
were partially published in [133].
because it controls the balance between intensification and diversification. The search
history is employed for deciding if some found previously local optimum solution should
be chosen. The ILS procedure can lead to good samples of the search space as long as the
perturbations are not too large or too small. If it is small, not many new solutions will
be explored, while if it is too large, it will adopt almost randomly starting points.
For the HFVRP with limited fleet and for the VRPs with multiple depots, the maxi-
mum number of vehicles of each type/depot is initially considered. In the case of HFVRP,
these values are computed considering the sum of the customers demands and the capac-
ity of each vehicle. For the HFVRP with unlimited fleet, one vehicle of each type is first
considered. As for the OVRP, use is made of a lower bound on the number of vehicles
(vmin ) which is computed dividing the sum of the customers demands by the capacity of
the vehicle.
Moreover, if the number of vehicles was not specified by the instance and the number of
consecutive trials for generating a feasible initial solution (ConsecutiveT rials) is equal to
M axIter then an extra vehicle is added (lines 14-20). If a feasible solution is found then
the procedure ends (lines 21-25). Notice that if the fleet is heterogeneous and unlimited
then an empty route associated to each type of vehicle is added to the constructed solution
s (lines 22-23). These empty routes are necessary to allow a possible fleet resizing during
the local search phase.
NFIC directly computes the distance between a customer k ∈ CL and every customer
i that has been already included into the partial solution, as can be observed by function
g in Eq. 6.2. It is assumed that the insertion of k is always performed after i.
In both criteria, the insertion associated with the least-cost is done, i.e. min{g(k)|k ∈
CL}.
6.2 The ILS-RVND heuristic 66
In SIS, only a single route is considered for insertion at each iteration. The pseudocode of
SIS is presented in Alg. 6.5. If the insertion criterion corresponds to MCFIC then a value
of γ is chosen at random within the set {0.00, 0.05, 0.10, . . . , 1.65, 1.70} (lines 3-4). This
set was defined in [157] after some preliminary experiments. While the CL is not empty
and there is at least one customer k ∈ CL that can be added to the current partial solution
without violating any constraint (lines 7-16), each route is filled with a customer selected
using the correspondent insertion criterion (lines 8-15). If the solution s is incomplete
and there are multiple depots and route duration constraints, a local search is performed
with a view of reducing the duration of the routes, thus may allowing further insertions
(lines 17-20). The procedure than restarts from line 7 (line 21). Moreover, if the vehicle
fleet is heterogeneous and unlimited and the solution s is incomplete then a new vehicle,
chosen at random from the available types, is added and the procedure restarts from line
7 (lines 21-24).
PIS differs from SIS because all routes are considered while evaluating the least-cost
insertion. Alg. 6.6 illustrates the pseudocode of PIS. While the CL is not empty and
there is at least one customer k ∈ CL that can be included in s (lines 6-12), the insertions
are evaluated using the selected insertion criterion and the customer associated with the
least-cost insertion is then included in the correspondent route v (lines 7-11). The rest of
6.2 The ILS-RVND heuristic 67
sense to use inter-route neighborhoods in the local search. Hence, in these situations the
set N utilized in the RVND procedure is replaced by the set N 0 composed only by intra-
route neighborhood structures and the call to the function IntraRouteSearch (line 9 in
Alg. 6.7) is ignored.
In order to enhance the neighborhood search, some ADSs were adopted. The following
arrays store useful informations regarding each route.
• NeighbStatus[ ][ ] — informs if the route has been modified after the neighbor-
hood has failed to find an improvement move involving the same route. For example,
if NeighbStatus[1][3] = true, it means that the last time the neighborhood N (1)
was applied, no improvement move involving route 3 was found, but this route was
later modified by another neighborhood structure or by a perturbation move. If
NeighbStatus[1][3] = false, it means that the route 3 did not suffer any change
after the last time N (1) was unsuccessful to find an improvement move involving
this route.
To update the information of the ADSs one should take into account only the routes
that were modified. Let n̄ be the total number of customers in the modified routes.
Except for the NeighbStatus, the ADSs updating is as follows. For each modified route,
a verification is performed along the whole tour to update the corresponding values of
the ADSs. Hence, the computational complexity is of the order of O(n̄). As for the
NeighbStatus, for each route, the information regarding all inter-routes neighborhoods
are updated which results in a computational complexity of O(v̄|N |), where v̄ is the
number of modified routes.
Six VRP neighborhood structures involving inter-route moves were employed for the VRPs
with homogeneous fleet and for the HVRP. Five of them are based on the λ-interchanges
scheme [132], which consists of exchanging up to λ customers between two routes, while
one is based on the Cross-exchange operator [163], which consists of exchanging two seg-
ments of different routes. For the FSM, besides these six neighborhood structures, another
one, called K−Shift, was also implemented. As for the MDVRP and MDVRPMPD, two
new neighborhood structures called ShiftDepot and SwapDepot were also employed.
To limit the number of possibilities one considered λ = 2. According to Cordeau and
Laporte [37], these exchanges are better described as couples (λ1 , λ2 ) (with λ1 ≤ λ and
λ2 ≤ λ) that represent an operation where λ1 customers are transferred from route 1 to
route 2 and λ2 customers are removed from route 2 to route 1. Therefore, disregarding
symmetries, the following combinations are possible in 2-exchanges: (1,0), (1,1), (2,0),
(2,1), (2,2). Remark that such combinations include swap moves ((1,1), (2,1), (2,2)) and
shift moves ((1,0), (2,0)).
6.2 The ILS-RVND heuristic 71
0 10
5
Initial 1 9
Configuration
4 6
2
8
3 7
11
a)
Shift(1,0) Swap(1,1)
0 0 10
10
5 5
1 1
9 9
4 4
2 6 2 6
8 8
3 3
7 7
b) 11 c) 11
Shift(2,0) Swap(2,1)
0 0
10 10
5 5
1 1
9 9
4 4
6 6
2 2
8 8
3 3
7 7
d) 11 e) 11
Swap(2,2) 0 Cross
10 0
10
5 5
1 1
9 9
4 4
6 6
2
8 2
8
3 3
7 7
f) 11 g) 11
and 2. In order to avoid evaluating some infeasible moves the following conditions must
be satisfied: MinPairDelivery[r1 ] - MaxDelivery[r2 ] + SumDelivery[r2 ] ≤ Q and
MinPairPickup[r1 ] - MaxPickup[r2 ] + SumPickup[r2 ] ≤ Q. The load is checked just
as Swap(2,1).
Cross — N (6) — The arc between adjacent customers k and l, belonging to a route
r1 , and the one between k 0 and l0 , from a route r2 , are both removed. Next, an arc is
6.2 The ILS-RVND heuristic 76
inserted connecting k and l0 and another is inserted linking k 0 and l. In Fig. 6.1.g the arcs
(1,2) and (6,7) were removed and the arcs (6,2) and (1,7) were inserted. The procedure
for testing the vehicle load of each route is the same and is as follows. At first, the initial
(L0 ) and final (Lf ) vehicle loads of both routes are computed in constant time using the
ADSs SumDelivery, SumPickup, CumulativeDelivery and CumulativePickup. If the
values of (L0 ) and (Lf ) do not exceed the vehicle capacity Q then the remaining loads
are verified through the following expression: Li = Li−1 + pi − di . Hence, if Li surpasses
Q, the move is infeasible.
0 10
9
1
Initial
Configuration 4 5
2 6
7 8
3
11
a)
k−Shift 0 10
9
1
4 5
2 6
7 8
3
11
b)
5 6
2
1
3
4
8
Initial 7
11
Configuration 10
D0 D1
9
12 14 17
15
16
13
19
a) 18
ShiftDepot 5
2 6
1
3
4
8
7
11
10
D0 D1
9
12 14 17
15
16
13
19
b) 18
SwapDepot
5 6
2
1
3
4
8
7
11
10
D0 D1
9
12 14 17
15
16
13
19
c) 18
The six intra-route neighborhood structures are described next. The set N 0 is composed
by Reinsertion, Or-opt [131], 2-opt [41], exchange and reverse [128] moves. In all cases, the
vehicle load of the PDP problems (VRPSPD, VRPMPD and MDVRPMPD) is verified
utilizing the same approach of the neighborhood Cross, but it is known in advance that
L0 and Lf never violate the maximum load allowed. Fig 6.4 shows an example of each
one of these neighborhood operators.
0
7
Initial 1
6 2
Configuration
3 4
a)
Or−opt1 Or−opt2
0 0
7 7
1 1
2 6 2
6
5 5
4 3 4
3
b) c)
Or−opt3 2−opt
0 0
7 7
1 1
2 6 2
6
5 5
4 3 4
d) 3 e)
Exchange Reverse
0 0
7 7
1 1
6 2 6 2
5 5
3 4 3 4
f) g)
In some VRP variants, minimizing the number of vehicles is the primary goal. Hence a
greedy randomized procedure was developed for dealing with this issue, as can be observed
in Alg. 6.18. The idea is to make use of the residual capacity and residual duration of the
routes of a given solution s by means of local search, with a view of decreasing the number
of routes of s. The procedure starts by storing a backup of the solution s in s0 (line 2).
Let Route List (RL) be the list composed by the routes of s (line 3). While |RL| is greater
than 1 (lines 4-11), an attempt to empty a route is performed. A route r is selected to
6.2 The ILS-RVND heuristic 81
be removed from RL (lines 6-7) according to one of the following criteria: (i) route with
maximum load; (ii) route with maximum duration; (iii) random selection. The route
selection criterion is chosen at random (line 5). Next, while it is still possible to move a
customer from any route r0 ∈ RL to r or it is still possible to exchange a customer from
any route r0 ∈ RL with another one in r in such a way that the load of r is increased,
a local search is performed between the route r and those in RL by the neighborhood
structures Shift(1,0), Shift(2,0) and Swap(1,1) (lines 9-11). The best admissible move is
considered for each of these three neighborhoods. Moreover, in the case of Shift(1,0) and
Shift(2,0), a move is immediately accepted if a route r0 ∈ RL becomes empty, whereas in
the case of Swap(1,1), a move is only accepted if the vehicle load of r is increased. An
intra-route local search is performed in every modified route using 2-opt and exchange
neighborhood structures. If the procedure is not capable of emptying a route then the
current solution is restored (lines 12-13).
Double-Bridge – P (3) – Consists in cutting four arcs of a given route and inserting
another four to form a new tour [117] (see Fig. 6.5). This perturbation can also be seen
as a permutation of segments of routes. For those instances with less than 75 customers,
an intra-route version of the neighborhood structure Swap(2,2) is employed. For the
remaining cases the length of the segment of routes is chosen at random from the set
[2, .. . . . , bn/25c]. This perturbation is only considered for single-vehicle routing problems.
Split, P (4) , a route r is divided into smaller routes. Let M 0 = {2, . . . , m} be a subset
of M composed by all vehicle types, except the one with the smallest capacity. Firstly,
a route r ∈ s (let s = s0 ) associated with a vehicle u ∈ M 0 is selected at random. Next,
while r is not empty, the remaining customers of r are sequentially transferred to a new
randomly selected route r0 ∈
/ s associated with a vehicle u0 ∈ {1, . . . , u − 1} in such a way
that the capacity of u0 is not violated. The new generated routes are added to the solution
s while the route r is removed from s. The procedure described is repeated multiple times
where the number of repetitions is chosen at random from the set {1, 2, ..., v}. This
perturbation was applied only for the FSM, since it does not make sense for the HVRP.
2.4 GHz and 4 GB of RAM running under Linux 64 bits (kernel 2.6.27-16). As for the
HFVRP the tests were executed in an Intel
R CoreTM i7 with 2.93 GHz and 8 GB of RAM
running under Linux 64 bits (kernel 2.6.32-22). Only a single thread was used.
The current section is divided into three parts: (i) VRPs with homogeneous fleet; (ii)
HFVRP and (iii) TSPMPD. For each of these parts, a parameter tuning was performed.
In the tables presented hereafter, Instance denotes the number of the test-problem,
n is the number of customers, BKS represents the best known solution reported in the
literature, Best Sol., Avg. Sol. and Time(s) indicate, respectively, the best solution,
the average solution and the average computational time in seconds associated to the cor-
respondent work, Gap denotes the gap between the best solution found by ILS-RVND and
6.3 Computational results 83
the best known solution, Avg. Gap corresponds to the gap between the average solution
found by ILS-RVND and the best known solution. The best solutions are highlighted
in boldface and the solutions improved by ILS-RVND are underlined. The approximate
speed, in Mflop/s, of the machines used by other authors is also reported considering the
factors suggested by the benchmarks of Dongarra [50], when solving solving a system of
equations of order 1000,
A set of representative instances of different VRPs with homogeneous fleet was selected
for tuning the two main parameters of the ILS-RVND heuristic, that is, M axIter and
M axIterILS. It has been observed that the last one varies with the size of the instances,
more precisely, with the number of customers and vehicles. For the sake of simplicity, it
was decided to use an intuitive and straightforward linear expression for computing the
value of M axIterILS according to n and v, as shown in Eq. 6.3.
M axIterILS = n + β × v (6.3)
Table 6.1 contains the results of the average gap and the average CPU time for the
tests involving M axIter = 50, while those obtained for M axIter = 75 are presented in
Table 6.2. It can be observed that the quality of the solutions and the computational time
tend to increase with the value of β and M axIter. This behavior was obviously expected
since more trials are given to the algorithm when the values of these two parameters
increase. The selected configuration was β = 5 and M axIter = 50 since it was capable
of producing, on average, satisfactory solutions in much less computational time when
compared to the configuration that obtained the best results in terms of solution quality
(β = 7 and M axIter = 75).
6.3.1.2 CVRP
Different sets of well-known CVRP instances were used to verify the behavior of the
proposed heuristic. The first group is composed by the so-called A, B, E, F, M, and P in-
stances (available at www.branchandcut.org, accessed 11 August 2010). These instances
are generally used for testing exact algorithms and most of them had been solved to opti-
mality (see [63, 115]). Also, it is worth mentioning that the distance matrix is rounded up
to the nearest integer. The second group of instances was suggested by Christofides et al.
[31] and it is composed of 14 instances with 50-199 customers. Half of these includes route
duration constraints (C6-C10, C13-C14). The third group contains large-sized instances
6.3 Computational results 85
composed by 20 instances with 240-483 customers and it was proposed by Golden et al.
[80]. In this case 8 instances include route duration constraints (G1-G8).
Tables 6.3-6.4 present the results obtained in the first group of CVRP instances. It can
be observed that, except for the instance B-n63-k10, the ILS-RVND managed to find all
proven optimal solutions. For the three instances where the optimal solution is not known,
the ILS-RVND equaled the BKS of one of them (M-n151-k12) but failed to obtain the
BKS for the other two (M-n200-k16 and M-n200-k17). Notice that the computational time
spent by ILS-RVND on the instance M-n200-k16 was considerably higher when compared
to the instance M-n200-k17. This occurred because the algorithm struggled to generate
P
initial feasible solutions due to the instance tightness (( i∈V 0 di )/(mQ) = 0.995).
Table 6.5 contains the results found in the instances of Christofides et al. [31] and a
comparison with those reported by Rochat and Taillard [147], Pisinger and Røpke (ALNS
50K) [136], Mester and Bräysy [118], Nagata and Bräysy [127] and Vidal et al. [177]. The
performance of the proposed algorithm was quite similar to the one developed by Pisinger
and Røpke [136], being successful to equal the BKS in 11 of the 14 instances. The average
gap between the Avg. Sols. found by ILS-RVND and the BKSs was 0.26%.
Table 6.6 illustrates a comparison, in terms of average solution. between the results
obtained by ILS-RVND and those found by Pisinger and Røpke (ALNS 50K) [136], Nagata
and Bräysy [127] and Zachariadis Kiranoudis [187] for the instances of Golden et al. [80].
6.3 Computational results 86
It can be seen that the ILS-RVND outperformed the algorithm of Pisinger and Røpke
[136], but it could not compete with those of Nagata and Bräysy [127], Vidal et al. [177]
and Zachariadis and Kiranoudis [187] in terms of average solution quality. Yet, the average
gap between the Avg. Sols. found by ILS-RVND and the BKSs was only 1.03%, a value
smaller the one obtained by the general heuristic of Pisinger and Røpke [136]. On the
other hand, in spite of obtaining slightly lower quality solutions, the proposed algorithm
6.3 Computational results 87
appears to be rather simple than those developed in [127], [177] and [187].
Best Time Best Time1 Best Time2 Best Time3 Best. Time4 Best Avg. Gap Avg. Time
Sol. Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
C1 50 5 a 524.61 524.61 - 524.61 21 524.61 0.2 524.61 4.3 524.61 25.8 524.61 524.61 0.00 0.00 2.11
C2 75 10 835.26 835.26 - 835.26 36 835.26 5.5 835.26 22.3 835.26 57.6 835.26 835.73 0.00 0.06 5.49
C3 100 8 826.14 826.14 - 826.14 78 826.14 1.0 826.14 17.1 826.14 76.2 826.14 826.33 0.00 0.02 12.87
C12 100 10 819.56 819.56 - 819.56 73 819.56 0.2 819.56 8.1 819.56 50.4 819.56 819.56 0.00 0.00 7.69
C11 120 7 1042.11 1042.11 - 1042.11 113 1042.11 1.1 1042.11 21 1042.11 69.0 1042.11 1042.11 0.00 0.00 23.58
C4 150 12 1028.42 1028.42 - 1029.56 160 1028.42 10.2 1028.42 75.2 1028.42 172.2 1028.42 1032.16 0.00 0.36 39.75
C5 199 17 1291.29 1291.45 - 1297.12 219 1291.29 2160.0 1291.45 302.1 1291.45 356.4 1291.74 1305.43 0.02 1.08 92.25
C6 50 6 555.43 555.43 555.43 21 555.43 4.2 555.43 5.1 555.43 28.8 555.43 556.84 0.00 0.25 1.43
C7 75 11 909.68 909.68 - 909.68 36 909.68 0.8 909.68 38.9 909.68 65.4 909.68 910.70 0.00 0.11 6.24
C8 100 9 865.94 865.94 - 865.94 78 865.94 0.8 865.94 23.5 865.94 68.4 865.94 866.07 0.00 0.02 10.21
C14 100 11 866.37 866.37 - 866.37 73 866.37 1.7 866.37 13.2 866.37 71.4 866.37 866.37 0.00 0.00 8.54
C13 120 11 1541.14 1541.14 - 1542.86 113 1541.14 13.5 1541.14 106.9 1541.14 169.8 1542.86 1544.57 0.11 0.22 18.61
C9 150 14 1162.55 1162.55 - 1163.68 160 1162.55 25.8 1162.55 135.6 1162.55 151.8 1163.02 1167.78 0.04 0.45 31.65
C10 199 18 1395.85 1395.85 - 1405.88 219 1401.12 52.2 1395.85 390.6 1395.85 493.2 1405.47 1411.50 0.69 1.12 69.40
- Avg. 0.06 0.26 23.56
a: Optimality proved.
1: Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2 : Average of 10 runs on a Pentium IV 2.8 GHz (2444 Mflop/s).
3 : Average of 10 runs on an Opteron 2.4 GHz (3485 Mflop/s).
4 : Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz.
88
Table 6.6: Results found for the CVRP instances of Golden et al. [80]
Pisinger and Nagata and Vidal Zachariadis and
ILS-RVND
Ropke [136] Bräysy [127] et al. [177] Kiranoudis [187]
Instance n v BKS Avg. Time1 Avg. Time2 Avg. Time3 Avg. Time4 Best Avg. Gap Avg. Time
Sol.∗ (s) Sol.∗ (s) Sol.∗ (s) Sol.∗ (s) Sol. Sol. (%) Gap (%) (s)
6.3 Computational results
G17 240 22 a,b 707.76 710.59 304 707.78 582.4 708.09 423.6 708.94 962.3 708.06 709.21 0.04 0.20 176.95
G13 252 26 a,b 857.19 874.24 285 858.42 921.9 859.64 561.6 860.44 1189.3 861.52 865.64 0.51 0.99 171.14
G9 255 14 b 579.71 590.33 437 581.46 1043.3 581.79 973.2 584.66 929.4 586.90 589.54 1.24 1.69 260.16
G18 300 27 a,b 995.13 1007.84 387 995.91 1465.9 998.44 993.6 997.74 1718.6 999.77 1003.13 0.47 0.80 489.37
G14 320 30 a,b 1080.55 1103.53 393 1080.84 1239.3 1082.41 847.2 1083.55 1187.4 1085.36 1092.07 0.45 1.07 344.61
G10 323 16 b 736.26 751.36 616 739.56 1617.5 739.86 1551.6 739.86 1271.4 744.07 749.16 1.06 1.75 598.85
G19 360 33 b 1365.60 1377.88 449 1366.70 2115.6 1367.83 1674.6 1370.77 1824.2 1370.46 1376.01 0.36 0.76 711.60
G15 396 33 b 1337.92 1366.23 468 1344.32 1872.2 1343.52 2349.0 1344.41 1658.8 1347.42 1354.24 0.71 1.22 784.28
G11 399 18 b 912.84 926.57 761 916.27 2337.5 916.44 2736.6 919.52 1392.2 922.53 928.23 1.06 1.69 1230.89
G20 420 38 b 1818.32 1834.70 488 1821.65 2824.7 1822.02 2293.8 1829.57 1199.3 1828.72 1836.06 0.57 0.98 1314.44
G16 480 37 b 1612.50 1645.67 549 1622.26 2616.2 1621.02 3496.2 1623.42 1848.5 1628.62 1635.62 1.00 1.43 1247.34
G12 483 19 b 1102.69 1125.22 911 1108.21 3561.9 1106.73 5740.2 1110.65 1282.3 1116.46 1121.24 1.25 1.68 2969.83
G5 200 5 6460.98 6482.49 629 6460.98 164.7 6460.98 153.6 6460.98 989.6 6460.98 6460.98 0.00 0.00 112.90
G1 240 9 b 5623.47 5662.57 93 5632.05 3393 5627.00 700.8 5637.99 907.7 5654.66 5711.19 0.55 1.56 152.09
G6 280 7 c 8412.88 8543.30 876 8413.41 830.3 8412.90 502.8 8412.90 1091.6 8412.90 8412.90 0.00 0.00 333.06
G2 320 10 b 8404.61 8487.94 672 8440.25 1726.2 8446.65 1245.0 8457.92 1249.4 8455.11 8480.62 0.60 0.90 441.98
G7 360 9 b 10102.70 10265.15 941 10186.93 2179.7 10157.63 1376.4 10192.47 1885.5 10195.60 10228.80 0.92 1.25 681.27
G3 400 10 11036.22 11052.72 1015 11036.22 2606.8 11036.22 1679.4 11036.22 1164.0 11038.60 11076.20 0.02 0.36 953.88
G8 440 10 b 11635.30 11766.07 1011 11691.54 5776.7 11646.58 2440.2 11674.43 1657.4 11704.50 11842.80 0.59 1.78 1292.34
G4 480 10 a 13592.88 13748.50 1328 13618.55 3841.6 13624.52 2620.2 13632.59 1019.0 13624.52 13665.85 0.23 0.54 1702.90
Avg. Gap (%) 1.34 Avg. Gap (%) 0.27 Avg. Gap (%) 0.26 Avg. Gap (%) 0.42 Avg. 0.58 1.03 798.49
1: Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2: Average of 10 runs on an Opteron 2.4 GHz (3485 Mflop/s)
3: Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz.
4: Average of 10 runs on a T5500 1.66 GHz (2791 Mflop/s).
∗: Average of 10 runs
a: Found by Nagata and Bräysy [127]
b: Found by Vidal et al. [177]
c: Found by Mester and Bräysy [118]
89
6.3 Computational results 90
6.3.1.3 ACVRP
The ILS-RVND algorithm was tested in the ACVRP instances suggested by Fischetti et
al. [57]. The capacity of the vehicle is the same (Q = 1000) for all these instances and
the number of customers varies between 33 and 70. Pessoa et al. [134] also considered
the same data set of Fischetti et al. [57] but with different capacities (150, 250 and 500).
The instances with Q = 150 are not considered, since they can be easily solved using a
Set Partitioning based formulation (most feasible routes contain very few customers and
it is practical to perform a complete enumeration), thus leading to a total of 24 instances.
Table 6.7 shows the results found for the ACVRP instances. All the known optimal
solutions were consistently found by ILS-RVND. Regarding the two instances where the
optimal solutions is not known, the proposed algorithm was capable of improving the BKS
in one of them (A071-05f), but the same did not happen with the other one (A071-10f).
Table 6.7: Results found for the ACVRP instances of Fischetti et al. [57] and Pessoa et
al. [134]
ILS-RVND
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
A034-02f 34 2 a 1406 1406 1406.00 0.00 0.00 0.56
A034-04f 34 4 a 1773 1773 1773.00 0.00 0.00 0.68
A034-08f 34 8 a 2672 2672 2672.00 0.00 0.00 0.73
A036-03f 36 3 a 1644 1644 1644.00 0.00 0.00 0.79
A036-05f 36 5 a 2110 2110 2110.00 0.00 0.00 0.82
A036-10f 36 10 a 3338 3338 3338.00 0.00 0.00 9.23
A039-03f 39 3 a 1654 1654 1654.00 0.00 0.00 0.85
A039-06f 39 6 a 2289 2289 2289.00 0.00 0.00 1.08
A039-12f 39 12 a 3705 3705 3705.00 0.00 0.00 1.12
A045-03f 45 3 a 1740 1740 1740.00 0.00 0.00 1.33
A045-06f 45 6 a 2303 2303 2303.36 0.00 0.02 1.60
A045-11f 45 11 a 3544 3544 3553.00 0.00 0.25 2.57
A048-03f 48 3 a 1891 1891 1891.00 0.00 0.00 1.61
A048-05f 48 5 a 2283 2283 2289.66 0.00 0.29 1.91
A048-10f 48 10 a 3325 3325 3325.66 0.00 0.02 1.51
A056-03f 56 3 a 1739 1739 1739.56 0.00 0.03 2.46
A056-05f 56 5 a 2165 2165 2175.70 0.00 0.49 2.42
A056-10f 56 10 a 3263 3263 3309.80 0.00 1.43 2.10
A065-03f 65 3 a 1974 1974 1974.00 0.00 0.00 3.78
A065-06f 65 6 a 2567 2567 2572.80 0.00 0.23 4.46
A065-12f 65 12 a 3902 3902 3925.36 0.00 0.60 3.06
A071-03f 71 3 a 2054 2054 2054.00 0.00 0.00 5.66
A071-05f 71 5 b 2475 2457 2463.58 -0.73 -0.46 6.16
A071-10f 71 10 b 3486 3489 3512.24 0.09 0.75 4.42
Avg. -0.03 0.15 2.54
a: Optimality proved. b : Value presented in [134].
6.3 Computational results 91
6.3.1.4 OVRP
To examine the behavior of the ILS-RVND algorithm when applied to solve the OVRP,
use was made of the CVRP A, B, E, F, M, and P instances, but without rounding up the
distance matrix. In this set of instances, the maximum number of vehicles is assumed as
an input data. The instances of Christofides et al. [31] without and with route durations
constraints (see Brandão [21] for more details), as well as another two generated by Fisher
[58] were also considered. Finally, the proposed heuristic was also tested in the large-sized
instances suggested by Li et al. [105] involving 200-480 customers. For these last two
benchmark data sets, the primary objective is to minimize the number of vehicles, whereas
the secondary one consists in minimizing the distance traveled.
Tables 6.8-6.9 illustrate the results obtained in the first group of instances. All known
optimal solutions were found with the exception instances B-n50-k8, B-n57-k9, M-n200-
k16 and P-n60-k15. Furthermore, the result of the instance M-n200-k17 was improved.
The overall behavior of the algorithm in this benchmark data set was quite similar to the
one verified for the CVRP.
Table 6.10 presents the results found by ILS-RVND in the second and third group of
instances and a comparison with those pointed out by Pisinger and Røpke (ALNS 50K)
[136], Fleszar et al. [60], Repoussis et al. [146] and Zachariadis and Kiranoudis [186].
Regarding those of Christofides et al. [31] and Fisher [58], ILS-RVND was capable of
obtaining the BKS in 11 cases and to improve another 2 solutions, but it failed to find 3
BKSs. Furthermore, ILS-RVND also failed to always obtain solutions with the minimum
number of vehicles on instances C7 and C9. The average gap between the Avg. Sols.
obtained by ILS-RVND and the BKSs, disregarding those two instances where the average
number of vehicles found by the proposed algorithm was larger than those associated to
the BKSs, was 0.62%. As for the 8 instances of Li et al. [105], ILS-RVND improved 7
results and the average gap between the Avg. Sols produced by ILS-RVND and the BKSs
was 0.19%. Also, the developed algorithm was successful to generate feasible solutions
using vmin vehicles in all instances of this group.
6.3 Computational results 92
F12 134 7 769.55 7 770.17 7 359 769.66 7 75.4 769.55 7 753 769.55 7 30 769.55 7 770.69 0.00 0.15 41.18
C4 150 12 733.13 12 733.13 12 279 737.82 12 45.4 733.13 12 613 733.13 12 190 733.13 12 733.43 0.00 0.04 39.71
C5 199 16 893.39 16 896.08 16 237 905.96 16 17.1 894.11 16 1272 893.39 16 355 898.08 16 927.31 0.52 3.80 101.86
C6 50 5 412.96 6 412.96 6 31 412.96 6 75.8 412.96 6 215 - - - 412.96 6 412.96 0.00 0.00 1.64
C7 75 10 583.19 10 583.19 10 33 596.47 10 22.3 584.15 10 367 - - - 584.15 10 588.07* 0.16 10.48
C8 100 8 644.63 9 645.16 9 114 644.63 9 587.6 644.63 9 510 - - - 644.63 9 645.67 0.00 0.16 9.48
C14 100 10 591.87 11 591.87 11 75 591.87 11 389 591.87 11 411 - - - 591.87 11 591.87 0.00 0.00 9.76
C13 120 7 904.04 11 909.80 11 116 904.94 11 1820.1 910.26 11 890 - - - 899.16 11 928.00 -0.54 2.65 19.50
C9 150 12 757.84 13 757.84 13 185 760.06 13 1094.1 764.56 13 933 - - - 759.36 13 759.27* 0.20 33.57
C10 199 16 875.67 17 875.67 17 224 875.67 17 1252.4 888.46 17 1678 - - - 875.24 17 887.92 -0.05 1.40 58.64
Avg. 0.02 0.62 24.50
O1 200 5 6018.52 5 - - - - - - 6018.52 5 452 6018.52 5 612 6018.52 5 6018.52 0.00 0.00 160.27
O2 240 9 4557.38 9 - - - - - - 4583.7 9 613 4557.38 9 774 4547.67 9 4567.72 -0.21 0.23 172.18
O3 280 7 7731.00 7 - - - - - - 7733.77 7 736 7731.00 7 681 7721.16 7 7730.30 -0.13 -0.01 335.04
O4 320 10 7253.20 10 - - - - - - 7271.24 10 833 7253.20 10 957 7220.19 10 7248.29 -0.46 -0.07 490.66
O5 360 8 9193.15 8 - - - - - - 9254.15 8 1365 9193.15 8 1491 9225.78 8 9289.39 0.35 1.05 996.76
O6 400 9 9793.72 9 - - - - - - 9821.09 9 1213 9793.72 9 1070 9771.31 9 9809.87 -0.23 0.16 1207.13
O7 440 10 10347.70 10 - - - - - - 10363.4 10 1547 10347.70 10 1257 10325.70 10 10365.80 -0.21 0.17 1567.80
O8 480 10 12415.36 10 - - - - - - 12428.2 10 1653 12415.36 10 1512 12389.40 10 12412.60 -0.21 -0.02 1816.19
Avg. -0.14 0.19 843.25
a: Optimality proved.
1: Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2: Best run on a Pentium M 2.0 GHz (1738 Mflop/s).
3: Best run on a Pentium IV 2.8 GHz (2444 Mflop/s).
4: Average of 10 runs on a T5500 1.66 GHz (2791 Mflop/s).
94
6.3 Computational results 95
6.3.1.5 VRPSPD
The same three set of VRPSPD instances used in Subsection 3.4.1 were also adopted
to evaluate the performance of the ILS-RVND. In this case the Montané and Galvão’s
instances [121] involving 400 customers were considered, as well as those of Salhi and Nagy
that include route duration constraints (CMT6X-CMT10X, CMT6Y-CMT10Y, CMT13X-
CMT14X, CMT13Y-CMT14Y).
Table 6.11 shows the results found in the benchmark instances of Dethloff [48] and
a comparison with those reported by Gajpal and Abad [64], Zachariadis et al. [190] and
Subramanian et al. [157]. All optimal solutions were found and in most cases the Avg.
Sol. was equal to the Best Sol.
Table 6.12 contains the results obtained on the set of instances of Salhi and Nagy
[149]. The same works mentioned in Table 6.11 are considered for comparison. It can
be verified that the ILS-RVND equaled 20 BKSs and it was found capable of improving
another 3. The Avg. Sols. appear to be highly consistent with an exception of instances
CMT11X and CMT11Y in which the Avg. Gaps were more than 1.50%.
Table 6.13 presents the results found by ILS-RNVD in the instances of Montané and
Galvão [121] and also those reported by Souza et al. [153], Zachariadis et al. [188] and
Subramanian et al. [157]. The ILS-RVND managed to find 10 BKSs and to improve
another 3 results. It is noteworthy to mention that the proposed algorithm had a satisfac-
tory performance in the large-sized instances, always producing, on average, competitive
results.
The average gap between the Avg. Sols. generated by ILS-RVND and the BKSs for
the first, second and third group of instances was, respectively, 0.02%, 0.28% and 0.26%.
6.3 Computational results 96
Table 6.11: Results found for the VRPSPD instances of Dethloff et al. [48]
Gajpal and Zachariadis Subramanian
ILS-RVND
Abad [64] et al. [190] et al. [157]
Instance n v BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
SCA3-0 50 4 a 635.62 635.62 6.0 635.62 2.5 635.62 2.31 635.62 636.05 0.00 0.07 1.67
SCA3-1 50 4 a 697.84 697.84 6.0 697.84 2.5 697.84 2.28 697.84 697.84 0.00 0.00 1.65
SCA3-2 50 4 a 659.34 659.34 6.0 659.34 2.9 659.34 2.14 659.34 659.34 0.00 0.00 1.87
SCA3-3 50 4 a 680.04 680.04 6.1 680.04 2.3 680.04 2.49 680.04 680.04 0.00 0.00 1.76
SCA3-4 50 4 a 690.50 690.50 5.7 690.50 2.9 690.50 2.18 690.50 690.50 0.00 0.00 1.66
SCA3-5 50 4 a 659.90 659.90 5.1 659.90 3.0 659.90 2.23 659.91 659.91 0.00 0.00 1.86
SCA3-6 50 4 a 651.09 651.09 6.1 651.09 3.1 651.09 2.51 651.09 651.09 0.00 0.00 1.99
SCA3-7 50 4 a 659.17 659.17 6.8 659.17 2.8 659.17 2.49 659.17 659.86 0.00 0.11 1.63
SCA3-8 50 4 a 719.48 719.47 5.4 719.47 3.5 719.48 2.26 719.48 719.48 0.00 0.00 1.85
SCA3-9 50 4 a 681.00 681.00 6.0 681.00 4.7 681.00 1.90 681.00 681.00 0.00 0.00 1.70
SCA8-0 50 9 a 961.50 961.50 11.0 961.50 2.7 961.50 3.37 961.50 961.50 0.00 0.00 2.19
SCA8-1 50 9 a 1049.65 1049.65 11.5 1049.65 3.8 1049.65 2.89 1049.65 1049.65 0.00 0.00 2.27
SCA8-2 50 9 a 1039.64 1042.69 11.9 1039.64 3.9 1039.64 2.38 1039.64 1040.52 0.00 0.08 2.20
SCA8-3 50 9 a 983.34 983.34 11.3 983.34 2.6 983.34 2.98 983.34 983.34 0.00 0.00 2.05
SCA8-4 50 9 a 1065.49 1065.49 11.1 1065.49 2.4 1065.49 2.81 1065.49 1065.49 0.00 0.00 1.87
SCA8-5 50 9 a 1027.08 1027.08 11.3 1027.08 3.4 1027.08 3.31 1027.08 1027.08 0.00 0.00 2.34
SCA8-6 50 9 a 971.82 971.82 12.0 971.82 2.7 971.82 3.51 971.82 971.86 0.00 < 0.01 2.16
SCA8-7 50 10 a 1051.28 1052.17 12.5 1051.28 5.1 1051.28 3.12 1051.28 1052.74 0.00 0.14 2.18
SCA8-8 50 9 a 1071.18 1071.18 11.0 1071.18 3.6 1071.18 2.92 1071.18 1071.18 0.00 0.00 1.81
SCA8-9 50 9 a 1060.50 1060.50 11.5 1060.50 4.8 1060.50 2.18 1060.50 1060.50 0.00 0.00 2.10
CON3-0 50 4 a 616.52 616.52 8.3 616.52 4.7 616.52 3.12 616.52 616.52 0.00 0.00 2.42
CON3-1 50 4 a 554.47 554.47 7.1 554.47 2.2 554.47 2.83 554.47 554.47 0.00 0.00 1.82
CON3-2 50 4 a 518.00 518.00 6.9 518.00 3.1 518.00 2.77 518.01 519.19 0.00 0.23 2.08
CON3-3 50 4 a 591.19 591.19 7.2 591.19 3.2 591.19 2.34 591.19 591.19 0.00 0.00 2.02
CON3-4 50 4 a 588.79 588.79 6.0 588.79 2.3 588.79 2.63 588.79 588.82 0.00 < 0.01 2.06
CON3-5 50 4 a 563.70 563.70 6.9 563.70 3.7 563.70 2.69 563.70 563.70 0.00 0.00 2.26
CON3-6 50 4 a 499.05 499.05 7.3 499.05 3.7 499.05 2.75 499.05 499.05 0.00 0.00 2.13
CON3-7 50 4 a 576.48 576.48 7.0 576.48 1.9 576.48 2.75 576.48 576.48 0.00 0.00 2.37
CON3-8 50 4 a 523.05 523.05 7.4 523.05 3.8 523.05 2.46 523.05 523.05 0.00 0.00 1.96
CON3-9 50 4 a 578.25 578.25 6.8 578.25 2.2 578.25 3.37 578.25 578.80 0.00 0.09 2.07
CON8-0 50 9 a 857.17 857.17 12.3 857.17 4.4 857.17 3.65 857.17 857.17 0.00 0.00 2.53
CON8-1 50 9 a 740.85 740.85 12.0 740.85 3.3 740.85 3.02 740.85 740.85 0.00 0.00 1.94
CON8-2 50 9 a 712.89 712.89 13.0 712.89 2.7 712.89 3.08 712.89 712.90 0.00 < 0.01 2.09
CON8-3 50 9 a 811.07 811.07 13.9 811.07 2.8 811.07 3.99 811.07 811.07 0.00 0.00 2.13
CON8-4 50 9 a 772.25 772.25 11.9 772.25 2.8 772.25 3.69 772.25 772.25 0.00 0.00 2.12
CON8-5 50 9 a 754.88 754.88 12.4 754.88 5.7 754.88 4.18 754.88 754.92 0.00 0.01 2.06
CON8-6 50 9 a 678.92 678.92 12.4 678.92 3.4 678.92 4.09 678.92 679.02 0.00 0.01 2.24
CON8-7 50 9 a 811.96 811.96 13.0 811.96 2.5 811.96 4.03 811.96 811.96 0.00 0.00 2.10
CON8-8 50 9 a 767.53 767.53 12.5 767.53 3.2 767.53 3.42 767.53 767.53 0.00 0.00 2.16
CON8-9 50 9 a 809.00 809.00 12.9 809.00 3.8 809.00 3.48 809.00 809.00 0.00 0.00 2.23
Avg. 0.00 0.02 2.04
a: Optimality proved.
1 : Best run on a Xeon 2.4 GHz.
2 : Best run on a T5500 1.66 GHz.
3 : Best run on a Cluster with 32 SMP nodes, where each node consists of two Intel Xeon 2.66 GHz (wall clock).
6.3 Computational results 97
Table 6.12: Results found for the VRPSPD instances of Salhi and Nagy [149]
Gajpal and Zachariadis Subramanian
ILS-RVND
Abad [64] et al. [188] et al. [157]
Instance n v BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
CMT1X 50 3 a 466.77 466.77 5.00 469.80 2.1 466.77 2.3 466.77 466.77 0.00 0.00 2.25
CMT1Y 50 3 a 466.77 466.77 5.00 469.80 3.8 466.77 2.3 466.77 466.77 0.00 0.00 2.25
CMT2X 75 6 684.21 684.21 41.25 684.21 5.4 684.21 6.4 684.21 685.45 0.00 0.18 6.74
CMT2Y 75 6 684.21 684.94 22.25 684.21 6.8 684.21 6.4 684.21 685.25 0.00 0.15 6.73
CMT3X 100 5 a 721.27 721.40 377.50 721.27 11.9 721.27 12.1 721.27 721.99 0.00 0.10 16.59
CMT3Y 100 5 a 721.27 721.40 43.75 721.27 11 721.27 12.3 721.27 721.95 0.00 0.09 16.63
CMT12X 100 5 662.22 663.01 36.25 662.22 9.3 662.22 10.3 662.22 663.82 0.00 0.24 13.39
CMT12Y 100 5 662.22 663.50 39.25 662.22 4.8 662.22 10.8 662.22 664.23 0.00 0.31 13.51
CMT11X 120 4 833.92 839.66 57.25 833.92 21.2 833.92 18.9 836.02 846.79 0.25 1.54 44.63
CMT11Y 120 4 833.92 840.19 52.75 833.92 14.4 833.92 19.0 835,53 847.51 0.19 1.63 45.22
CMT4X 150 7 852.46 854.12 131.75 852.46 29.6 852.46 30.9 852.46 853.70 0.00 0.15 56.40
CMT4Y 150 7 852.46 855.76 140.25 852.46 27.4 852.46 31.6 852.46 854.05 0.00 0.19 55.98
CMT5X 199 10 1029.25 1034.87 377.50 1030.55 62.8 1029.25 71.5 1029.25 1029.44 0.00 0.74 137.41
CMT5Y 199 10 1029.25 1037.34 393.50 1030.55 47.7 1029.25 69.6 1029.25 1033.38 0.00 0.40 138.68
CMT3Y, CMT12X, CMT12Y, CMT11X. CMT11Y, CMT4X, CMT4Y, CMT5X and CMT5Y.
1 : Best run on a Xeon 2.4 GHz (1978 Mflop/s). 2 : Average of 10 runs on a T5500 1.66 GHz (2791 Mflop/s).
3 : Average of 50 runs on a cluster with 32 SMP nodes, where each consists of two Intel Xeon 2.66 GHz (wall clock).
Table 6.13: Results found for the VRPSPD instances of Montané and Galvão [121]
Souza Zachariadis Subramanian
ILS-RVND
et al. [153] et al. [188] et al. [161]
Instance n v BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
r101 100 12 a 1009.95 1009.95 35.65 1009.95 28.7 1009.95 15.81 1009.95 1013.16 0.00 0.32 15.47
r201 100 3 a 666.20 666.20 39.62 666.20 31.4 666.20 15.95 666.20 666.20 0.00 0.00 20.25
c101 100 16 a 1220.18 1220.18 18.34 1220.18 18.5 1220.18 10.39 1220.18 1220.95 0.00 0.06 12.02
c201 100 5 a 662.07 662.07 16.62 662.07 23.5 662.07 8.83 662.07 662.07 0.00 0.00 11.73
rc101 100 10 a 1059.32 1059.32 12.79 1059.32 23.8 1059.32 11.07 1059.32 1059.32 0.00 0.00 15.74
rc201 100 3 a 672.92 672.92 24.03 672.92 21.2 672.92 7.28 672.92 672.92 0.00 0.00 15.18
6.3 Computational results
r1 2 1 200 23 3357.64 3357.64 175.81 3375.19 84.6 3360.02 66.21 3363.66 3382.49 0.18 0.74 121.623
r2 2 1 200 5 a 1665.58 1665.58 103.44 1665.58 72.7 1665.58 45.3 1665.58 1665.94 0.00 0.02 139.83
c1 2 1 200 28 3629.89 3636.74 117.62 3641.89 57.0 3629.89 87.38 3637.42 3641.39 0.21 0.32 107.652
c2 2 1 200 9 1726.59 1726.59 127.81 1726.73 67.3 1726.59 65.01 1726.59 1727.72 0.00 0.07 117.89
rc1 2 1 200 23 3306.00 3312.92 299.3 3316.94 83.4 3306.00 71.71 3309.83 3328.22 0.12 0.67 116.661
rc2 2 1 200 5 a 1560.00 1560.00 77.48 1560.00 74.4 1560.00 44.71 1560.00 1560.00 0.00 0.00 136.68
r1 4 1 400 54 b 9605.75 9627.43 2928.31 9668.18 421.5 9618.97 481.61 9595.75 9642.55 -0.10 0.38 1095.17
r2 4 1 400 10 3551.38 3582.08 768.6 3560.73 352.0 3551.38 459.15 3552.05 3568.33 0.02 0.48 1365.81
c1 4 1 400 63 11098.21 11098.21 1510.44 11125.14 384.6 11099.54 546.22 11086.30 11107.70 -0.11 0.09 963.16
c2 4 1 400 15 3546.10 3596.37 569.01 3549.20 341.1 3546.10 488.56 3550.45 3569.64 0.12 0.66 1156.61
rc1 4 1 400 52 9520.06 9535.46 2244.18 9520.06 412.7 9536.77 513.38 9526.52 9558.51 0.07 0.40 1266.56
rc2 4 1 400 11 3403.70 3422.11 3306.84 3414.90 264.7 3403.70 422.61 3403.70 3418.76 0.00 0.44 1132.05
Avg. 0.03 0.26 433.89
a: Optimality proved. 1 : Best run on an Intel Core 2 Duo 1.66 GHz (2791 Mflop/s).
2 : Average of 10 runs T5500 1.66 GHz ((2791 Mflop/s)).
3 : Average of 50 runs on a cluster with 32 SMP nodes, where each node consists of two Intel Xeon 2.66 GHz (wall clock).
b : Found by Subramanian et al. [157].
98
6.3 Computational results 99
6.3.1.6 VRPMPD
The set composed of 21 VRPMPD instances suggested by Salhi and Nagy [149] (see
Subsection 3.4.2) plus another 21 of the same authors that include route duration con-
straints (CMT6H-CMT10H, CMT6Q-CMT10Q, CMT6T-CMT10T CMT13H-CMT14H,
CMT13Q-CMT14Q, CMT13T-CMT14T) were used to test the proposed algorithm.
Table 6.14 illustrates the results found by ILS-RVND on the VRPMPD instances and
a comparison with those reported by Røpke and Pisinger (6R - normal learning) [148]
and Gajpal and Abad [64]. ILS-RVND obtained the BKS in 24 instances and it managed
to improve the result of another 10. The developed algorithm outperformed both the
algorithms of Røpke and Pisinger [148] and Gajpal and Abad [64] in terms of solution
quality. The average gap between the Avg. Sols. obtained by ILS-RVND and the BKSs
was 0.09%.
6.3.1.7 MDVRP
Two MDVRP benchmark instances proposed by Cordeau et al. [35] were used to test
the ILS-RVND algorithm. The first one, known as old, contains 23 instances involving
50-360 customers, where 12 of them have route duration constraints (p13, p14, p16, p17,
p19, p20, p08, p09, p10, p11, p22 and p23). The second set, known as new, contains 10
instances involving 48-288 customers, where all of them have route duration constraints.
Tables 6.15 and 6.16 present a comparison, in terms of average solution, between the
results found by ILS-RVND and those determined by Pisinger and Røpke (ALNS 50K)
[136] and Vidal et al. [177]. The latter clearly outperformed the first two in terms of
solution quality. The average gap between the Avg. Sols. found by ILS-RVND and the
BKSs for the old and new benchmark sets was respectively 0.47% and 0.66%.
6.3.1.8 MDVRPMPD
The proposed algorithm was tested in the set of 33 MDVRPMPD instances proposed by
Salhi and Nagy [149], where 12 of them (all with 249 customers) include route duration
constraints.
Table 6.17 presents the results found by ILS-RVND and those pointed out by Røpke
and Pisinger (6R - no learning) [148]. With respect to the solution quality, the developed
algorithm clearly had a better performance, equaling 17 BKSs and improving the result
of another 14. The average gap between the Avg. Sols. and the BKSs was 0.23%.
6.3 Computational results 100
Table 6.14: Results found for the VRPMPD instances of Salhi and Nagy [149]
Røpke and Gajpal and
ILS-RVND
Pisinger [148] Abad [64]
Instance n v BKS Best Time1 Best Time2 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
CMT1H 50 4 a 465.02 465 51 465.02 5.6 465.02 465.04 0.00 < 0.01 2.40
CMT1Q 50 6 a 489.74 490 41 489.74 6.0 489.74 489.74 0.00 0.00 1.91
CMT1T 50 7 a 520.06 520 34 520.06 7.0 520.06 520.06 0.00 0.00 1.86
CMT2H 75 5 662.63 663 78 662.63 22.0 662.63 662.70 0.00 0.01 6.67
CMT2Q 75 7 732.76 733 65 732.76 26.2 731.26 732.44 -0.20 -0.04 6.11
CMT2T 75 9 a 782.77 783 57 782.77 26.0 782.77 783.68 0.00 0.12 6.25
CMT3H 100 3 701.31 701 186 701.31 35.6 a 700.94 700.95 -0.05 -0.05 19.63
CMT3Q 100 4 a 747.15 747 128 747.15 39.8 747.15 747.15 0.00 0.00 15.24
CMT3T 100 5 a 798.07 798 109 798.07 42.6 798.07 798.19 0.00 0.01 15.77
CMT12H 100 6 a 629.37 629 150 629.37 32.8 629.37 629.37 0.00 0.00 16.04
CMT12Q 100 8 a 729.46 729 108 729.46 42.0 729.25 729.38 -0.03 -0.01 15.71
CMT12T 100 9 a 787.52 788 96 787.52 52.0 787.52 787.52 0.00 0.00 9.85
CMT11H 120 4 818 818 303 820.35 45.8 818.05 818.11 0.01 0.01 34.06
CMT11Q 120 6 a 939.36 939 196 939.36 66.2 939.36 939.36 0.00 0.00 28.96
CMT11T 120 7 998.8 1000 164 998.80 70.2 998.80 998.83 0.00 < 0.01 25.06
CMT4H 150 6 829 829 345 831.39 125.4 829.42 835.59 0.05 0.79 62.63
CMT4Q 150 9 913.93 918 244 913.93 153.0 915.27 915.59 0.15 0.18 46.98
CMT4T 150 11 990.39 1000 212 990.39 166.8 990.39 992.05 0.00 0.17 43.82
CMT5H 200 9 992.37 983 514 992.37 351.4 978.74 982.32 -1.37 -1.01 132.02
CMT5Q 200 12 b 1118 1119 381 1134.72 451.8 1109.43 1114.09 -0.77 -0.35 136.89
CMT5T 200 15 1227 1227 333 1232.08 460.8 1222.29 1226.82 -0.38 -0.01 107.71
CMT6H 50 7 555.43 555 31 555.43 13.0 555.43 557.24 0.00 0.33 1.79
CMT6Q 50 7 555.43 555 30 555.43 12.8 555.43 557.06 0.00 0.29 1.78
CMT6T 50 7 555.43 555 31 555.43 11.6 555.43 556.93 0.00 0.27 1.75
CMT7H 75 13 900 900 54 900.84 50.0 900.84 901.10 0.09 0.12 6.30
CMT7Q 75 14 900.69 901 53 900.69 46.8 900.69 902.86 0.00 0.24 7.19
CMT7T 75 14 903.05 903 52 903.05 39.0 903.05 903.12 0.00 0.01 7.26
CMT8H 100 10 865.50 866 95 865.50 85.6 865.50 865.50 0.00 0.00 12.04
CMT8Q 100 10 865.50 866 93 865.50 74.4 865.50 865.50 0.00 0.00 11.70
CMT8T 100 10 865.54 866 95 865.54 65.6 865.54 865.55 0.00 < 0.01 11.95
CMT14H 100 11 821.75 822 89 821.75 81.6 821.75 821.75 0.00 0.00 9.22
CMT14Q 100 11 821.75 822 85 821.75 72.4 821.75 821.75 0.00 0.00 9.12
CMT14T 100 11 826.77 827 86 826.77 64.6 826.77 826.77 0.00 0.00 10.31
CMT13H 120 12 1542.86 1543 125 1542.86 164.2 1542.86 1544.24 0.00 0.09 22.57
CMT13Q 120 12 1542.97 1543 120 1542.97 157.8 1542.86 1544.23 -0.01 0.08 22.46
CMT13T 120 12 1542.97 1544 127 1542.97 152.8 1541.25 1544.21 -0.11 0.08 22.81
CMT9H 150 16 b 1161 1166 177 1161.63 306.4 1161.31 1166.06 0.03 0.44 37.12
CMT9Q 150 16 1161.51 1162 171 1161.51 289.6 1161.76 1166.35 0.02 0.42 37.66
CMT9T 150 16 1162.68 1164 178 1162.68 261.0 1164.05 1167.44 0.12 0.41 37.31
CMT10H 199 20 1383.78 1393 296 1383.78 791.0 1379.83 1389.41 -0.29 0.41 88.14
CMT10Q 199 20 1386.54 1389 288 1386.54 730.2 1384.10 1391.99 -0.18 0.39 85.89
CMT10T 199 20 b 1395 1402 291 1400.22 658.6 1390.04 1401.34 -0.36 0.45 82.05
Avg. -0.08 0.09 30.05
a: Optimality proved. b : Found by Røpke and Pisinger [148] using another version of their algorithm.
1 : Average of 10 runs on a Pentium IV 1.5 GHz (1311 Mflop/s). 2 : Best run on a Xeon 2.4 GHz (1978 Mflop/s).
6.3 Computational results 101
Table 6.15: Results found for the old MDVRP instances of Cordeau et al. [35]
Pisinger and Vidal
ILS-RVND
Røpke [136] et al. [177]
Instance n v |G|
BKS Avg.∗ Time1 Avg.∗ Time2 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
p01 50 4 4 a 576.87 576.87 29 576.87 13.8 576.87 576.87 0.00 0.00 3.98
p02 50 2 4 a 473.53 473.53 28 473.53 12.6 473.53 473.53 0.00 0.00 3.12
p03 75 3 2 c 641.19 641.19 64 641.19 25.8 641.19 641.19 0.00 0.00 8.91
p12 80 5 2 b 1318.95 1319.13 75 1318.95 31.2 1318.95 1318.96 0.00 < 0.01 8.27
p04 100 8 2 d 1001.04 1006.09 88 1001.23 116.4 1001.04 1004.53 0.18 0.53 20.63
p05 100 5 2 c 750.03 752.34 120 750.03 63.6 750.03 751.26 0.00 0.16 20.67
p06 100 6 3 b 876.50 883.01 93 876.50 68.4 876.50 878.40 0.00 0.22 20.94
p07 100 4 4 d 881.97 889.36 88 884.43 93.0 881.97 883.61 0.00 0.19 18.42
p15 160 5 4 c 2505.42 2519.64 253 2505.42 115.2 2505.42 2505.42 0.00 0.00 75.62
p18 240 5 6 c 3702.85 3736.53 419 3702.85 271.2 3702.85 3714.48 0.00 0.31 367.91
p21 360 5 9 c 5474.84 5501.58 582 5476.41 600.0 5474.84 5500.75 0.00 0.47 1656.68
p13 80 5 2 b 1318.95 1318.95 60 1318.95 34.2 1318.95 1318.96 0.00 < 0.01 7.74
p14 80 5 2 c 1360.12 1360.12 58 1360.12 33.0 1360.12 1360.12 0.00 0.00 49.60
p16 160 5 4 b 2572.23 2573.95 188 2572.23 118.2 2572.23 2573.94 0.00 0.07 33.65
p17 160 5 4 c 2709.09 2709.09 179 2709.09 128.4 2709.09 2734.93 0.00 0.95 58.99
p19 240 5 6 b 3827.06 3838.76 315 3827.06 252.0 3827.06 3838.39 0.00 0.30 103.08
p20 240 5 6 c 4058.07 4064.76 300 4058.07 262.2 4058.07 4110.74 0.00 1.30 135.98
p08 249 14 2 e 4372.78 4421.03 333 4397.42 600.0 4403.47 4425.42 0.70 1.20 440.78
p09 249 12 3 e 3858.66 3892.50 361 3868.59 570.0 3877.15 3900.27 0.48 1.08 484.65
p10 249 8 4 e 3631.11 3666.85 363 3636.08 589.2 3634.16 3664.73 0.08 0.93 488.37
p11 249 6 5 d 3546.06 3573.23 357 3548.25 428.4 3546.06 3563.52 0.00 0.49 423.68
p22 360 5 9 c 5702.16 5722.19 462 5702.16 600.0 5714.45 5737.82 0.22 0.63 352.18
p23 360 5 9 d 6078.75 6092.66 443 6078.75 600.0 6112.46 6189.67 0.55 1.82 393.60
Avg. Gap (%) 0.40 Avg. Gap (%) 0.07 Avg. 0.10 0.46 225.11
a: Optimality proved. 1 : Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2 : Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz. ∗ : Average of 10 runs.
b : First found by Renaud et al. [145]. c : First found by Cordeau et al. [35].
d : First found by Pisinger and Røpke [136]. e : First found by Vidal et al. [177].
Table 6.16: Results found for the new MDVRP instances of Cordeau et al. [35]
Pisinger and Vidal
ILS-RVND
Røpke [136] et al. [177]
Instance n v |G|
BKS Avg.∗ Time1 Avg.∗ Time2 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
pr01 48 2 4 b 861.32 861.32 30 861.32 10.2 861.32 861.32 0.00 0.00 3.17
pr07 72 3 6 b 1089.56 1089.56 58 1089.56 20.4 1089.56 1089.56 0.00 0.00 9.28
pr02 96 4 4 c 1307.34 1308.17 103 1307.34 45.6 1307.34 1308.64 0.00 0.10 22.81
pr03 144 6 4 d 1803.80 1810.66 214 1803.80 114.6 1803.81 1807.50 0.00 0.21 74.64
pr08 144 6 6 c 1664.85 1675.74 207 1665.05 123.0 1664.85 1670.19 0.00 0.32 67.14
pr04 192 8 4 d 2058.31 2073.16 296 2059.36 313.2 2058.47 2075.57 0.01 0.84 179.79
pr09 216 9 6 d 2133.20 2144.84 350 2134.17 366.0 2133.64 2151.52 0.02 0.86 307.68
pr05 240 10 4 d 2331.20 2350.31 372 2340.29 573.6 2347.37 2359.94 0.69 1.23 439.88
pr06 288 12 4 d 2676.30 2695.74 465 2681.93 600.0 2696.03 2711.99 0.74 1.33 908.23
pr10 288 12 6 d 2868.26 2905.43 455 2886.59 600.0 2890.68 2916.15 0.78 1.67 908.94
Avg. Gap (%) 0.52 Avg. Gap (%) 0.13 Avg. 0.22 0.66 292.16
a: Optimality proved. 1 : Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2 : Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz. ∗ : Average of 10 runs.
b : First found by Cordeau et al. [35]. c : First found by Pisinger and Røpke [136]. d : First found by Vidal et al. [177].
6.3 Computational results 102
Table 6.17: Results found for the MDVRPMPD instances of Salhi and Nagy [149]
Røpke and
ILS-RVND
Pisinger [148]
Instance n v |G| BKS
Best Avg. Time1 Best Avg. Gap Avg. Time
Sol. Sol. (s) Sol. Sol. (%) Gap (%) (s)
GJ01H 50 4 4 499 499 499 40 499.12 499.12 0.02 0.02 5.71
GJ01Q 50 4 4 528 528 528 36 528.30 528.30 0.06 0.06 4.81
GJ01T 50 4 4 569 569 569 34 569.43 569.43 0.08 0.08 4.72
GJ02H 50 4 2 440 440 440 51 a 440.00 440.00 0.00 0.00 4.55
GJ02Q 50 4 2 450 450 451 43 a 449.72 449.72 -0.06 -0.06 4.24
GJ02T 50 4 2 464 464 464 37 a 464.13 464.13 0.03 0.03 3.91
GJ03H 75 5 3 581 581 583 81 579.45 579.59 -0.27 -0.24 14.82
GJ03Q 75 5 3 605 605 608 71 605.25 605.25 0.04 0.04 13.62
GJ03T 75 5 3 624 624 626 65 624.44 625.00 0.07 0.16 11.85
GJ04H 100 2 8 790 790 797 112 789.19 789.49 -0.10 -0.06 29.62
GJ04Q 100 2 8 875 875 876 94 874.78 875.37 -0.03 0.04 26.23
GJ04T 100 2 8 962 962 969 85 962.25 968.30 0.03 0.65 23.61
GJ05H 100 2 5 678 678 680 168 676.81 677.11 -0.18 -0.13 30.52
GJ05Q 100 2 5 b 700 702 705 133 a 700.15 700.15 0.02 0.02 26.99
GJ05T 100 2 5 733 733 738 118 733.17 733.74 0.02 0.10 24.99
GJ06H 100 3 6 b 745 747 751 116 742.18 743.05 -0.38 -0.26 30.84
GJ06Q 100 3 6 794 794 800 100 793.85 794.13 -0.02 0.02 27.52
GJ06T 100 3 6 851 851 853 90 850.82 851.61 -0.02 0.07 26.60
GJ07H 100 4 4 733 733 734 117 732.73 732.88 -0.04 -0.02 28.76
GJ07Q 100 4 4 b 802 803 807 94 802.20 803.76 0.02 0.22 24.46
GJ07T 100 4 4 b 854 855 862 88 853.54 853.80 -0.05 -0.02 23.79
GJ08H 249 2 14 3327 3327 3373 581 3348.39 3373.40 0.64 1.39 464.27
GJ08Q 249 2 14 b 3762 3774 3810 479 3773.99 3811.91 0.32 1.33 450.30
GJ08T 249 2 14 4134 4134 4170 431 4121.68 4151.68 -0.30 0.43 463.77
GJ09H 249 3 12 b 3005 3006 3028 646 3003.66 3029.16 -0.04 0.80 532.14
GJ09Q 249 3 12 3355 3355 3393 535 3351.66 3386.62 -0.10 0.94 510.96
GJ09T 249 3 12 3677 3677 3718 492 3667.55 3695.26 -0.26 0.50 525.20
GJ010H 249 4 8 b 2927 2930 2963 644 2907.94 2931.95 -0.65 0.17 512.72
GJ010Q 249 4 8 b 3242 3245 3267 513 3232.64 3250.22 -0.29 0.25 495.35
GJ010T 249 4 8 3485 3485 3524 472 3478.80 3502.61 -0.18 0.51 492.28
GJ011H 249 5 6 b 2855 2880 2905 609 2846.03 2871.93 -0.31 0.59 477.51
GJ011Q 249 5 6 b 3155 3165 3192 511 3140.15 3159.68 -0.47 0.15 455.25
GJ011T 249 5 6 3390 3390 3421 469 3376.54 3388.91 -0.40 -0.03 452.56
Avg. Gap (%) 0.66 Avg. -0.08 0.23 188.62
∗: Average of 10 runs.
b : Found by Røpke and Pisinger [148] using another version of their algorithm.
1 : Average of 10 runs on a Pentium IV 1.5 GHz (1311 Mflop/s).
6.3.2 HFVRP
The developed heuristic was tested in well-known HFVRP instances, namely those pro-
posed by Golden et al. [76] and by Taillard [164]. The latter introduced dependent costs
and established a limit for the number of vehicles of each type. Table 6.18 describes the
characteristics of these instances. The number of executions of the ILS-RVND on each
instance was 30.
A more detailed description of the results obtained by ILS-RVND for the HFVRP
instances can be found in [133].
Table 6.18: HFVRP Instances
A B C D E F
Instance n
QA fA rA mA QB fB rB mB QC fC rC mC QD fD rD mD QE fE rE mE QF fF rF mF
3 20 20 20 1.0 20 30 35 1.1 20 40 50 1.2 20 70 120 1.7 20 120 225 2.5 20
6.3 Computational results
Four instances with varying number of customers (20 - 100) and vehicles were selected
for tuning the values of the parameters. For each of these test-problems the ILS-RVND
was executed 10 times in all of their respective HFVRP variants. Two values of M axIter
were tested, specifically 400 and 450. For each of these, ten values of β were evaluated.
Table 6.19 contains the results of the average gap and the average CPU time for the
tests involving M axIter = 400, while those obtained for M axIter = 450 are presented in
Table 6.20. The selected configuration was β = 5 and M axIter = 400 and these values
were chosen using the same criterion employed for the VRP with homogeneous fleet.
6.3.2.2 HVRPFD
To the knowledge of the author the HVRPFD was only examined by Baldacci and Min-
gozzi [10] and Li et al. [107]. From Table 6.21 it can be verified that ILS-RVND found
all proven optimal solutions and improved the result of one instance. The average gap
between the Avg. Sols found by the developed algorithm and the BKSs was 0.27%.
6.3 Computational results 105
6.3.2.3 HVRPD
Table 6.22 presents a comparison between the results found by ILS-RVND and the best
heuristics proposed in the literature, namely those of Taillard [164], Tarantilis et al. [169],
Li et al. [106] and Prins (SMA-D2) [141]. As in the previous variant all proven optimal
solutions were found by ILS-RVND. In the only instance where the optimality was not
proved, ILS-RVND was unsuccessful to obtain the best solution pointed out by Taillard
[164]. The average gap between the Avg. Sols found by the proposed algorithm and the
BKSs was 0.22%.
6.3.2.4 FSMFD
In Table 6.23 a comparison is performed between the results found by ILS-RVND and
those of Choi and Tcha [29], Prins (SMA-U1) [141] and Imran et al. [90]. The ILS-
RVND failed to equal the results one instance but it was capable of improving the results
of another one. When individually comparing the ILS-RVND with each one of these
algorithms, one can verify that the ILS-RVND produced, on average, superior results in
terms of best solutions and the average gap between the Avg. Sols. and the BKSs was
0.09%.
6.3.2.5 FSMF
Table 6.24 illustrates the results obtained by ILS-RVND for the FSMF. These results are
compared with those of Choi and Tcha [29], Brandão [22], Prins (SMA-D1) [141], Imran
et al. [90] and Liu et al. [111]. It can be seen that the proposed algorithm equaled the
results of 10 instances and improved the result of another one. However, it failed to obtain
the best known solutions in another 3. The average gap between the Avg. Sols. found by
ILS-RVND and the BKSs was 0.23%.
6.3.2.6 FSMD
The best results obtained in the literature for the FSMD using heuristic approaches were
reported by Choi and Tcha [29], Brandão [22], Prins (SMA-D1) [141], Imran et al. [90]
and Liu et al. [111]. These results along with those found by ILS-RVND are presented
in Table 6.25. In this variant the optimal solutions were determined by Baldacci and
Mingozzi [10] for all instances. From Table 6.25 it can be observed that ILS-RVND was
capable of finding all optimal solutions, except for one instance. The average gap between
the Avg. Sols. obtained by the proposed algorithm and the BKSs was 0.17%.
Table 6.21: Results for the HVRPFD instances of Taillard [164]
Li et al. [107] ILS-RVND
Instance n BKS Best Time1 Best Avg. Gap Avg. Avg.
Sol. (s) Sol. Sol. (%) Gap (%) Time (s)
13 50 3185.09a 3185.09 110 3185.09 3189.17 0.00 0.13 19.04
14 50 10107.53a 10107.53 34 10107.53 10107.94 0.00 < 0.01 11.28
15 50 3065.29a 3065.29 46 3065.29 3065.34 0.00 < 0.01 12.48
16 50 3265.41a 3278.96 99 3265.41 3278.06 0.00 0.39 12.22
17 75 2076.96a 2076.96 148 2076.96 2083.19 0.00 0.30 29.59
6.3 Computational results
Table 6.23: Results for the FSMFD instances of Golden et al. [76]
Choi and Tcha [29] Prins [141] Imran et al. [90] ILS-RVND
Instance n BKS Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
3 20 a 1144.22 1144.22 0.25 1144.22 0.01 1144.22 19 1144.22 1144.22 0.00 0.00 4.05
4 20 a 6437.33 6437.33 0.45 6437.33 0.07 6437.33 17 6437.33 6437.66 0.00 0.01 3.03
5 20 a 1322.26 1322.26 0.19 1322.26 0.02 1322.26 24 1322.26 1322.26 0.00 0.00 4.85
6 20 a 6516.47 6516.47 0.41 6516.47 0.07 6516.47 21 6516.47 6516.47 0.00 0.00 3.01
13 50 a 2964.65 2964.65 3.95 2964.65 0.32 2964.65 328 2964.65 2971.32 0.00 0.22 27.44
14 50 a 9126.9 9126.9 51.7 9126.9 8.9 9126.9 250 9126.90 9126.91 0.00 < 0.01 11.66
15 50 a 2634.96 2634.96 4.36 2635.21 1.04 2634.96 275 2634.96 2635.02 0.00 < 0.01 13.83
16 50 a 3168.92 3168.92 5.98 3169.14 13.05 3168.95 313 3168.92 3170.81 0.00 0.06 18.20
17 75 a 2004.48 2023.61 68.11 2004.48 23.92 2004.48 641 2004.48 2012.23 0.00 0.39 43.68
18 75 a 3147.99 3147.99 18.78 3153.16 24.85 3153.67 835 3149.63 3158.24 0.05 0.33 47.80
19 100 a 8661.81 8664.29 905.2 8664.67 163.25 8666.57 1411 8661.81 8664.81 0.00 0.03 59.13
20 100 4153.11 4154.49 53.02 4154.49 41.25 4164.85 1460 4153.02 4155.90 0.00 0.07 59.07
Avg. 0.00 0.09 24.65
a: Optimal solution.
1 : Best run on a Sun Sparc 10 workstation with 50 MHz (27 Mflop/s).
2 : Best run on a Pentium IV M 1.8 GHz (1564 Mflop/s).
3 : Average of 10 runs on a Pentium M 1.7 GHz (1477 Mflop/s).
107
Table 6.24: Results for the FSMF instances of Golden et al. [76]
6.3 Computational results
Choi and Tcha [29] Brandão [22] Prins [141] Imran et al. [90] Liu et al. [111] ILS-RVND
Instance n BKS Best Time1 Best Time2 Best Time3 Best Time4 Best Time5 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
3 20 a 961.03 961.03 0 961.03 21 961.03 0.04 961.03 21 961.03 0 961.03 961.10 0.00 0.01 4.91
4 20 a 6437.33 6437.33 1 6437.33 22 6437.33 0.03 6437.33 18 6437.33 0 6437.33 6437.63 0.00 < 0.01 3.16
5 20 a 1007.05 1007.05 1 1007.05 20 1007.05 0.09 1007.05 13 1007.05 2 1007.05 1007.05 0.00 0.00 5.88
6 20 a 6516.47 6516.47 0 6516.47 25 6516.47 0.08 6516.47 22 6516.47 0 6516.47 6516.47 0.00 0.00 3.07
13 50 a 2406.36 2406.36 10 2406.36 145 2406.36 17.12 2406.36 252 2406.36 91 2408.41 2419.38 0.09 0.54 30.29
14 50 a 9119.03 9119.03 51 9119.03 220 9119.03 19.66 9119.03 274 9119.03 42 9119.03 9119.03 0.00 0.00 11.89
15 50 a 2586.37 2586.37 10 2586.84 110 2586.37 25.1 2586.37 303 2586.37 48 2586.37 2586.80 0.00 0.02 20.24
16 50 a 2720.43 2720.43 11 2728.14 111 2729.08 16.37 2720.43 253 2724.22 107 2720.43 2737.59 0.00 0.63 20.67
17 75 a 1734.53 1744.83 207 1736.09 322 1746.09 52.22 1741.95 745 1734.53 109 1734.53 1748.06 0.00 0.78 52.49
18 75 a 2369.65 2371.49 70 2376.89 267 2369.65 36.92 2369.65 897 2369.65 197 2371.48 2380.98 0.08 0.48 55.35
19 100 a 8661.81 8664.29 1179 8667.26 438 8665.12 169.93 8665.05 1613 8662.94 778 8662.86 8665.31 0.01 0.04 63.92
20 100 4038.46 4039.49 264 4048.09 601 4044.78 172.73 4044.68 1595 4038.46 1004 4037.90 4051.11 -0.01 0.31 93.88
Avg. 0.01 0.23 30.48
a: Optimal solution.
1: Best run on a Pentium IV 2.6 GHz (2266 Mflop/s).
2: Best run on a Pentium M 1.4 GHz (1564 Mflop/s).
3: Best run on a Pentium IV M 1.8 GHz (1564 Mflop/s).
4: Average of 10 runs on a Pentium M 1.7 GHz (1477 Mflop/s).
5: Best run on a Pentium IV 3.0 GHz (3181 Mflop/s).
108
Table 6.25: Results for the FSMD instances of Golden et al. [76]
6.3 Computational results
Choi and Tcha [29] Brandão [22] Prins [141] Imran et al. [90] Liu et al. [111] ILS-RVND
Instance n BKS Best Time1 Best Time2 Best Time3 Best Time4 Best Time5 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
3 20 a 623.22 623.22 0.19 - - - - - - - - 623.22 623.22 0.00 0.00 4.58
4 20 a 387.18 387.18 0.44 - - - - - - - - 387.18 387.18 0.00 0.00 2.85
5 20 a 742.87 742.87 0.23 - - - - - - - - 742.87 742.87 0.00 0.00 5.53
6 20 a 415.03 415.03 0.92 - - - - - - - - 415.03 415.03 0.00 0.00 3.37
13 50 a 1491.86 1491.86 4.11 1491.86 101 1491.86 3.45 1491.86 310 1491.86 117 1491.86 1495.61 0.00 0.25 31.62
14 50 a 603.21 603.21 20.41 603.21 135 603.21 0.86 603.21 161 603.21 26 603.21 603.21 0.00 0.00 14.66
15 50 a 999.82 999.82 4.61 999.82 137 999.82 9.14 999.82 218 999.82 37 999.82 1001.70 0.00 0.19 15.33
16 50 a 1131.00 1131.00 3.36 1131.00 95 1131.00 13.00 1131.00 239 1131.00 54 1131.00 1134.52 0.00 0.31 17.77
17 75 a 1038.60 1038.60 69.38 1038.60 312 1038.60 9.53 1038.60 509 1038.60 153 1038.60 1041.12 0.00 0.24 49.18
18 75 a 1800.80 1801.40 48.06 1801.40 269 1800.80 18.92 1800.80 606 1801.40 394 1800.80 1804.07 0.00 0.18 53.88
19 100 a 1105.44 1105.44 182.86 1105.44 839 1105.44 52.31 1105.44 1058 1105.44 479 1105.44 1108.21 0.00 0.25 77.84
20 100 a 1530.43 1530.43 98.14 1531.83 469 1535.12 104.41 1533.24 1147 1534.37 826 1530.52 1540.32 0.01 0.65 88.02
Avg. 0.00 0.17 30.39
a: Optimal solution.
1: Best run on a Pentium IV 2.6 GHz (2266 Mflop/s).
2: Best run on a Pentium M 1.4 GHz (1564 Mflop/s).
3: Best run on a Pentium IV M 1.8 GHz (1564 Mflop/s).
4: Average of 10 runs on a Pentium M 1.7 GHz (1477 Mflop/s).
5: Best run on a Pentium IV 3.0 GHz (3181 Mflop/s).
109
6.3 Computational results 110
6.3.3 TSPMPD
The ILS-RVND was tested on the benchmark instances generated by Mosheiov [122]. This
set of instances consists of 100 test-problems involving 20-500 customers. The algorithm
was executed 50 times for each instance.
Since there is only a single vehicle involved in the TSPMPD, a different approach from the
one adopted in the previous variants was employed to calibrate the value of M axIterILS.
This time an expression given by Eq. 6.5 computes the value of M axIterILS only in terms
of the number of customers n. A non-negative parameter α is used to adjust the level of
influence of n in the value of M axIterILS.
M axIterILS = α × n (6.5)
Tables 6.26 and 6.27 present the results of the parameter tuning for M axIter = 50 and
M axIter = 75, respectively. For each case, four values of α were tested. Ten instances of
different sizes were considered. Apparently, all configurations lead to competitive results
in terms of solution quality. The chosen parameters were M axIter = 50 and α = 1/5,
because the correspondent Avg. Gap was only 0.07% worse than the “heaviest” con-
figuration (M axIterILS = 75 and α = 1/3), but the average computational time was
approximately 50% smaller.
6.3.3.2 Results
Table 6.28 shows the results for the small sized instances, that is, those involving 20-60 cus-
tomers. A comparison is performed with those reported by Hernández-Pérez and Salazar-
González [85] (webpages.ull.es/users/hhperez/PDsite/TS2004t2.sol). It can be ob-
served that both the algorithms found all known optimal solutions.
6.3 Computational results 111
Table 6.29 contains the results found by ILS-RNVD and those found by Hernández-
Pérez and Salazar-González [85] (webpages.ull.es/users/hhperez/PDsite/TS2004t3.
sol) for the medium/large sized instances (200-500 customers). The proposed algorithm
equaled the results of 6 BKSs and improve those of the remaining 44 instances. The
average gap between the Avg. Sols and the BKSs was -0.46%.
6.3 Computational results 112
Table 6.28: Results found for the TSPMPD instances (20-60 customers) of Mosheiov [122]
Hernández-Pérez and
ILS-RVND
Instance n BKS Salazar-González [85]
Best Time1 Best Avg. Gap Avg. Time
Sol. (s) Sol. Sol. (%) Gap (%) (s)
n20mosA 20 a 3816 3816 0.06 3816 3816.00 0.00 0.00 0.01
n20mosB 20 a 3942 3942 0.06 3942 3942.00 0.00 0.00 0.01
n20mosC 20 a 4048 4048 0.05 4048 4048.00 0.00 0.00 0.01
n20mosD 20 a 4151 4151 0.11 4151 4151.00 0.00 0.00 0.01
n20mosE 20 a 4387 4387 0.11 4387 4387.00 0.00 0.00 0.01
n20mosF 20 a 4262 4262 0.10 4262 4262.00 0.00 0.00 0.01
n20mosG 20 a 4248 4248 0.11 4248 4248.00 0.00 0.00 0.01
n20mosH 20 a 4057 4057 0.05 4057 4057.00 0.00 0.00 0.01
n20mosI 20 a 4064 4064 0.06 4064 4064.00 0.00 0.00 0.01
n20mosJ 20 a 3793 3793 0.06 3793 3793.00 0.00 0.00 0.01
n30mosA 30 a 4686 4686 0.11 4686 4686.00 0.00 0.00 0.05
n30mosB 30 a 4805 4805 0.06 4805 4805.00 0.00 0.00 0.05
n30mosC 30 a 4503 4503 0.06 4503 4503.00 0.00 0.00 0.06
n30mosD 30 a 5047 5047 0.11 5047 5047.00 0.00 0.00 0.07
n30mosE 30 a 4929 4929 0.16 4929 4929.00 0.00 0.00 0.06
n30mosF 30 a 4500 4500 0.11 4500 4500.00 0.00 0.00 0.05
n30mosG 30 a 4948 4948 0.10 4948 4948.00 0.00 0.00 0.05
n30mosH 30 a 4602 4602 0.16 4602 4602.00 0.00 0.00 0.07
n30mosI 30 a 4390 4390 0.05 4390 4390.00 0.00 0.00 0.06
n30mosJ 30 a 4469 4469 0.05 4469 4469.00 0.00 0.00 0.06
n40mosA 40 a 5192 5192 0.11 5192 5192.00 0.00 0.00 0.18
n40mosB 40 a 5416 5416 0.11 5416 5416.00 0.00 0.00 0.19
n40mosC 40 a 5079 5079 0.28 5079 5079.00 0.00 0.00 0.16
n40mosD 40 a 5640 5640 0.11 5640 5640.00 0.00 0.00 0.19
n40mosE 40 a 5364 5364 0.11 5364 5364.00 0.00 0.00 0.19
n40mosF 40 a 5187 5187 0.44 5187 5187.00 0.00 0.00 0.16
n40mosG 40 a 5424 5424 0.11 5424 5424.00 0.00 0.00 0.17
n40mosH 40 a 5010 5010 0.44 5010 5010.00 0.00 0.00 0.18
n40mosI 40 a 5065 5065 0.22 5065 5065.00 0.00 0.00 0.18
n40mosJ 40 a 5068 5068 0.44 5068 5068.00 0.00 0.00 0.18
n50mosA 50 a 5826 5826 0.39 5826 5826.00 0.00 0.00 0.37
n50mosB 50 a 6080 6080 0.55 6080 6080.00 0.00 0.00 0.37
n50mosC 50 a 6203 6203 0.77 6203 6203.00 0.00 0.00 0.41
n50mosD 50 a 6239 6239 0.27 6239 6239.00 0.00 0.00 0.42
n50mosE 50 a 6200 6200 0.44 6200 6200.00 0.00 0.00 0.45
n50mosF 50 a 5537 5537 0.16 5537 5537.00 0.00 0.00 0.37
n50mosG 50 a 5938 5938 0.38 5938 5938.00 0.00 0.00 0.37
n50mosH 50 a 5820 5820 0.50 5820 5820.00 0.00 0.00 0.36
n50mosI 50 a 5625 5625 0.38 5625 5625.00 0.00 0.00 0.35
n50mosJ 50 a 5969 5969 0.27 5969 5969.00 0.00 0.00 0.39
n60mosA 60 a 6279 6279 1.48 6279 6279.00 0.00 0.00 0.67
n60mosB 60 a 6561 6561 0.71 6561 6561.00 0.00 0.00 0.83
n60mosC 60 a 6295 6295 0.76 6295 6295.00 0.00 0.00 0.71
n60mosD 60 a 6774 6774 0.77 6774 6774.00 0.00 0.00 0.76
n60mosE 60 a 6628 6628 2.53 6628 6642.04 0.00 0.21 0.80
n60mosF 60 a 6246 6246 1.98 6246 6246.00 0.00 0.00 0.87
n60mosG 60 a 6417 6417 0.44 6417 6417.00 0.00 0.00 0.85
n60mosH 60 a 6204 6204 0.49 6204 6204.00 0.00 0.00 0.83
n60mosI 60 a 6072 6072 0.71 6072 6072.00 0.00 0.00 0.72
n60mosJ 60 a 6651 6651 0.71 6651 6651.00 0.00 0.00 0.85
Avg. 0.00 < 0.01 0.28
a: Optimal Solution.
1 : Best run on an AMD 1.33 GHz (1554 Mflop/s)
6.3 Computational results 113
Table 6.29: Results found for the TSPMPD instances (100-500 customers) of Mosheiov
[122]
Hernández-Pérez and
ILS-RVND
Instance n BKS Salazar-González [85]
Best Time1 Best Avg. Gap Avg. Time
Sol. (s) Sol. Sol. (%) Gap (%) (s)
n100mosA 100 a 7860 7860 1.98 7860 7860.72 0.00 0.01 5.66
n100mosB 100 a 7843 7843 1.42 7843 7843.00 0.00 0.00 5.38
n100mosC 100 a 8244 8244 3.95 8244 8244.86 0.00 0.01 6.01
n100mosD 100 a 8100 8100 3.18 8100 8100.80 0.00 0.01 6.12
n100mosE 100 8105 8105 2.58 a 8100 8103.56 -0.06 -0.02 6.03
n100mosF 100 7941 7941 1.43 a 7918 7918.04 -0.29 -0.29 6.17
n100mosG 100 a 8080 8080 1.86 8080 8080.00 0.00 0.00 6.31
n100mosH 100 7923 7923 1.48 a 7909 7909.32 -0.18 -0.17 5.80
n100mosI 100 8080 8080 1.26 a 8071 8071.00 -0.11 -0.11 6.32
n100mosJ 100 7872 7872 3.13 a 7850 7850.00 -0.28 -0.28 5.52
n200mosA 200 10715 10715 18.40 10715 10748.70 0.00 0.31 82.37
n200mosB 200 10976 10976 17.69 10930 10952.70 -0.42 -0.21 82.59
n200mosC 200 10652 10652 21.81 10601 10608.20 -0.48 -0.41 89.83
n200mosD 200 11125 11125 30.86 10934 10958.40 -1.72 -1.50 85.75
n200mosE 200 10541 10541 19.39 10540 10543.50 -0.01 0.02 78.75
n200mosF 200 10854 10854 10.82 10816 10824.30 -0.35 -0.27 80.47
n200mosG 200 10844 10844 13.89 10759 10776.50 -0.78 -0.62 71.01
n200mosH 200 11345 11345 12.91 11231 11247.50 -1.00 -0.86 87.22
n200mosI 200 10835 10835 9.95 10824 10835.30 -0.10 0.00 78.85
n200mosJ 200 10648 10648 9.22 10593 10604.40 -0.52 -0.41 75.98
n300mosA 300 12889 12889 58.00 12872 12901.40 -0.13 0.10 357.18
n300mosB 300 13176 13176 45.97 13041 13093.50 -1.02 -0.63 393.81
n300mosC 300 13053 13053 86.12 12947 12974.40 -0.81 -0.60 351.62
n300mosD 300 13151 13151 27.58 13131 13190.10 -0.15 0.30 350.00
n300mosE 300 12882 12882 24.82 12723 12771.90 -1.23 -0.85 366.02
n300mosF 300 13138 13138 47.46 13122 13155.60 -0.12 0.13 372.93
n300mosG 300 13157 13157 39.93 12933 12955.10 -1.70 -1.53 353.74
n300mosH 300 13357 13357 30.16 13258 13314.80 -0.74 -0.32 367.32
n300mosI 300 13194 13194 80.46 13071 13121.00 -0.93 -0.55 353.67
n300mosJ 300 13304 13304 89.97 13300 13340.80 -0.03 0.28 345.73
n400mosA 400 14890 14890 112.49 14779 14817.20 -0.75 -0.49 1365.47
n400mosB 400 15177 15177 91.12 14919 14959.10 -1.70 -1.44 1230.52
n400mosC 400 15121 15121 168.95 14911 14967.00 -1.39 -1.02 1307.10
n400mosD 400 15291 15291 66.46 15179 15252.40 -0.73 -0.25 1204.40
n400mosE 400 14937 14937 75.85 14791 14855.40 -0.98 -0.55 1143.59
n400mosF 400 15191 15191 155.88 15061 15104.70 -0.86 -0.57 1180.64
n400mosG 400 15015 15015 57.50 14863 14925.50 -1.01 -0.60 1109.28
n400mosH 400 15196 15196 107.49 14922 14978.40 -1.80 -1.43 1062.90
n400mosI 400 14989 14989 277.04 14769 14867.50 -1.47 -0.81 1209.04
n400mosJ 400 15134 15134 73.54 15050 15090.60 -0.56 -0.29 1191.84
n500mosA 500 16555 16555 54.87 16503 16552.20 -0.31 -0.02 3161.28
n500mosB 500 16672 16672 109.74 16572 16625.80 -0.60 -0.28 3373.15
n500mosC 500 16859 16859 133.08 16720 16777.70 -0.82 -0.48 3474.14
n500mosD 500 17093 17093 426.61 16776 16842.20 -1.85 -1.47 3552.75
n500mosE 500 16738 16738 152.96 16560 16613.50 -1.06 -0.74 2993.31
n500mosF 500 16991 16991 80.03 16711 16808.70 -1.65 -1.07 3292.06
n500mosG 500 16708 16708 76.18 16638 16686.10 -0.42 -0.13 3186.70
n500mosH 500 16987 16987 39.55 16665 16710.70 -1.90 -1.63 3353.80
n500mosI 500 16668 16668 118.69 16470 16528.80 -1.19 -0.84 2969.25
n500mosJ 500 16941 16941 109.30 16798 16829.90 -0.84 -0.66 3294.63
Avg. -0.70 -0.46 982.80
a: Optimality proved using the BC approach presented in Chapter 3.
1 : Best run on an AMD 1.33 GHz (1554 Mflop/s)
6.4 Concluding remarks 114
OVRP1 a 93, e 16, f 8 a 1, e 2, f 6 a 88, e 12, f 1 a 0.09, e 0.62, f 0.19 a 9.31, e 24.50, f 843.25
VRPSPD1 g 40, h 28, i 18 g 0, h 3, i 2 g 40, h 20, i 10 g 0.02, h 0.28, i 0.26 g 2.04, h 12.60, i 433.89
This chapter presents a unified hybrid heuristic algorithm for a large class of Vehicle
Routing Problems. The developed approach consists of a combination of the ILS-RVND
heuristic described in Chapter 6 and a Set Partitioning (SP) formulation. A sequence of
SP models, with columns corresponding to routes found by ILS-RVND, are solved, not
necessarily to optimality, by means of a Mixed Integer Programming (MIP) solver, that
may interact with the ILS-RVND heuristic during its execution. The contents of this
chapter were partially published in [158].
The ILS-RVND structure was slightly modified in order to store routes during its
execution. Every time a local search is performed, the routes associated to the local
optimal solution s may be added to a pool of routes (RouteP ool). The method decides
whether to add or not such routes based on the average number of customers per route
(n/v) and on the deviation between the current best solution s∗ and s (see Subsection
7.2). If this deviation, given by (f (s) − f (s∗ ))/f (s∗ ), where f (.) is the cost function, is
smaller than a threshold value (tolerance) then the routes of s are added to RouteP ool.
Of course, if s0 is provided then the procedure that generates an initial solution is skipped.
yj ∈ {0, 1} ∀j ∈ R. (7.3)
The objective function (7.1) minimizes the sum of the costs by choosing the best
combination of routes. Constraints (7.2) state that a single route from the subset Ri
visits costumer i ∈ V 0 . Since the enumeration of set R is an impractical task, ILS-
RVND-SP only considers a subset of this set, usually limited to a few thousand routes.
Formulation F1 is mainly suitable for variants such as the Fleet Size and Mix because
the number of vehicles of each type is not predefined. Let Ru ⊆ R be the set of routes
associated with vehicle type u ∈ M or with depot u ∈ G and let mu be an upper bound
on the number of vehicles of a given type or available at a given depot. In order to deal
with HVRPs or with MDVRPs one can add the following constraints:
X
yj ≤ mu ∀u ∈ M (or ∀u ∈ G). (7.4)
j∈Ru
Let v be the number of vehicles. For the remaining variants, one must include the con-
straint that ensure that the number of routes in the solution is equal to the number of
vehicles available, i.e.,
X
yj = v. (7.5)
j∈R
It is important to mention that there are some instances of VRPs with homogeneous fleet
that do not specify the number of vehicles, but ILS-RVND-SP fixes this value by using the
number of vehicles of the best current solution. Although the solution space is reduced,
this helps the problem to be solved more efficiently.
The pseudocode of the SP procedure is illustrated in Alg. 7.1. Input parame-
ter M axSP T ime corresponds to the time limit imposed to the MIP solver, whereas
M axRootGap is the maximum gap allowed between the Lower Bound (LB) and the Up-
per Bound (UB) after solving the root node. It is assumed that the MIP solver uses a
branch-and-bound or a branch-and-cut procedure. The algorithm starts by verifying if the
number of vehicles should be minimized (e.g. OVRP) and if the number of vehicles of s∗ is
P
larger than the estimated lower bound on the number of vehicles (vmin = d( i∈V 0 di )/Qe).
If so, solution s∗ is stored in s0 and the number of vehicles is decreased by one unit (lines
2-3). Next, the SP M odel is created (line 4) according to the VRP variant and the
Cutof f value is initialized (line 5). The SP problem is given to a MIP solver (line 6),
7.2 The ILS-RVND-SP algorithm 117
Algorithm 7.1 SP
1: Procedure SP(s∗ , RouteP ool, M axSP T ime, M axRootGap, v);
2: if v must be minimized and v > vmin then
3: v ← v − 1; s0 ← s∗ ;
4: SP M odel ← CreateSetPartitioningModel(RouteP ool, v);
5: Cutof f ← f (s∗ ); {Only if v = vmin . Otherwise, Cutof f ← ∞}
6: s∗ ← MIPSolver(SP M odel, s∗ , Cutof f , M axSP T ime, M axRootGap, IncumbentCallback(s∗ ));
7: if Unlimited fleet and (T ime > M axSP T ime or RootGap > M axRootGap) then
8: Update SP M odel {Fixing the fleet}; M axRootGap ← ∞;
9: s∗ ← MIPSolver(SP M odel, s∗ , Cutof f , M axSP T ime, M axRootGap, IncumbentCallback(s∗ ));
10: if v must be minimized and and s∗ is infeasible then
11: s∗ ← s0 ; v ← v + 1;
12: Update SP M odel {Increasing one vehicle};
13: s∗ ← MIPSolver(SP M odel, s∗ , Cutof f , M axSP T ime, M axRootGap, IncumbentCallback(s∗ ));
14: return s∗ ;
15: end SP.
16: Procedure IncumbentCallback(s∗ )
17: s ← Incumbent Solution
18: s ← ILS-RVND(1, s, NULL)
19: if f (s) < f (s∗ ) then
20: s∗ ← s
21: Cutof f ← f (s)
22: end IncumbentCallback
iteration (line 8) and the SP procedure is repeatedly called while there is any improvement
over the best current solution (lines 10-21). When no improvement is observed, the non-
permanent routes (short-term memory) are removed from RouteP ool (line 16). After
each call to the SP procedure, the algorithm may update the value of tolerance, in case
n/v < A, according to the following conditions. If the SP model is solved at the root
node, meaning that the problem is easy, then tolerance is increased by one tenth of
T Dev-b (lines 17-18). If the time limit is exceeded then tolerance is decreased by one
tenth of T Dev-b (lines 19-20). If there is any improvement at the end of a given iteration,
the incumbent solution s∗ is updated and the associated routes are permanently added
(long-term memory) to RouteP ool (lines 22-24).
CoreTM i7 with 2.93 GHz and 8 GB of RAM running under Linux 64 bits. CPLEX 12.2
was used as a MIP solver. The computational experiments were carried out using a single
thread. Table 7.1 shows the values of the parameters used by ILS-RVND-SP, which were
calibrated after preliminary experiments. The most crucial parameters are N and A. The
values adopted for the remaining ones are not so critical, which is reflected in the round
numbers chosen.
In the following tables, Instance denotes the test-problem, n is the number of cus-
7.3 Computational results 120
tomers, |G| is the number of depots, v is the number of vehicles available per depot, BKS
represents the Best Known Solution (BKS) reported in the literature, Best Sol., Avg.
Sol. and Time (s) indicate, respectively, the best solution, the average solution and
the average computational time in seconds associated to the correspondent work, Gap
denotes the gap, given by 100 × ((zILS-RVND-SP − zBKS )/zBKS ), between the best solution
found by ILS-RVND-SP and the BKS, Avg. Gap corresponds to the gap between the
average solution found by ILS-RVND-SP and the best known solution. The BKSs are
highlighted in boldface and the improved solutions are underlined.
7.3.1 CVRP
The developed algorithm was tested in the instances of the A, B, E, M, P series and
all known optimal solutions were easily determined. Table 7.2 only shows the results
obtained in the three open instances of the M-series, namely: M-n151-k12, M-n200-k16
and M-n200-k17. ILS-RVND-SP was found capable of improving the result of the second
one and to equal the BKSs of the first and third ones. Table 7.3 contains the results
found in the instances of Christofides et al. [31] and a comparison with those reported
by Rochat and Taillard [147], Pisinger and Røpke (ALNS 50K) [136], Mester and Bräysy
[118], Nagata and Bräysy [127] and Vidal et al. [177]. ILS-RVND-SP was successful to
7.3 Computational results 121
equal the BKS in 13 of the 14 instances and the average gap between the Avg. Sols.
found by ILS-RVND-SP and the BKSs was 0.08%. Table 7.4 illustrates a comparison, in
terms of average solution. between the results obtained by ILS-RVND-SP and those found
by Pisinger and Røpke [136] (ALNS 50K),Nagata and Bräysy [127] and Zachariadis and
Kiranoudis [187] for the instances of Golden et al. [80]. It can be seen that the ILS-RVND
outperformed the algorithm of Pisinger and Røpke [136], but it could not compete with
those of Nagata and Bräysy [127], Vidal et al. [177] in terms of average solution quality.
Yet, the average gap between the Avg. Sols. found by ILS-RVND and the BKSs was
only 0.55%, a value smaller the one obtained by the general heuristic of [136]. On the
other hand, in spite of obtaining slightly lower quality solutions, the proposed algorithm
appears to be simpler than those developed in [127], [177] and [187].
Table 7.2: Results found for the open instances of the M-series
ILS-RVND-SP
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
M-n151-k12 150 12 1015 1015 1015.5 0.00 0.05 37.12
M-n200-k16 199 16 1285 1278 1285.8 -0.54 0.06 772.01
M-n200-k17 199 17 1275 1275 1279.9 0.00 0.38 513.00
Avg. -0.18 0.17 440.71
7.3.2 ACVRP
ILS-RVND-SP was tested in the ACVRP instances suggested by Fischetti et al. [57] and
extended by Pessoa et al. [134]. Table 7.5 shows the results obtained for the ACVRP
instances. All known optimal solutions were found by ILS-RVND-SP. Regarding the two
instances where the optimal solutions is not known, the proposed algorithm was capable
of improving the BKS in one of them and to equal the best result in the other one.
7.3.3 OVRP
Table 7.6 presents the results found by ILS-RVND-SP in the set of instances of Christofides
et al. [31] / Fisher [58] and in the set of instances of Li et al. [105], as well as a
comparison with those pointed out by Pisinger and Røpke [136] (ALNS 50K), Fleszar et
al. [60], Repoussis et al. [146] and Zachariadis and Kiranoudis [186]. Regarding those of
Christofides et al. [31] / Fisher [58], ILS-RVND-SP was capable of obtaining the BKS in
12 cases and to improve another 3 solutions, but it failed to find 1 BKS. Furthermore,
ILS-RVND-SP also failed to always obtain solutions with the minimum number of vehicles
on instance C7 . The average gap between the Avg. Sols. obtained by ILS-RVND-SP
and the BKSs, disregarding instance C7, was 0.06%. As for the 8 instances of Li et al.
[105], ILS-RVND-SP improved all solutions and the average gap between the Avg. Sols
produced by ILS-RVND-SP and the BKSs was -0.08%.
Table 7.3: Results found for the CVRP instances of Christofides et al. [31]
Rochat and Pisinger and Mester and Nagata and Vidal
ILS-RVND-SP
Taillard Ropke Bräysy Bräysy et al.
Instance n v BKS
7.3 Computational results
Best Time Best Time1 Best Time2 Best Time3 Best. Time4 Best Avg. Gap Avg. Time
Sol. Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
C1 50 5 a 524.61 524.61 - 524.61 21 524.61 0.2 524.61 4.3 524.61 25.8 524.61 524.61 0.00 0.00 1.48
C2 75 10 835.26 835.26 - 835.26 36 835.26 5.5 835.26 22.3 835.26 57.6 835.26 835.26 0.00 0.00 13.52
C3 100 8 826.14 826.14 - 826.14 78 826.14 1.0 826.14 17.1 826.14 76.2 826.14 826.14 0.00 0.00 12.49
C12 100 10 819.56 819.56 - 819.56 73 819.56 0.2 819.56 8.1 819.56 50.4 819.56 819.56 0.00 0.00 5.23
C11 120 7 1042.11 1042.11 - 1042.11 113 1042.11 1.1 1042.11 21.0 1042.11 69.0 1042.11 1042.11 0.00 0.00 20.66
C4 150 12 1028.42 1028.42 - 1029.56 160 1028.42 10.2 1028.42 75.2 1028.42 172.2 1028.42 1028.73 0.00 0.03 53.48
C5 199 17 1291.29 1291.45 - 1297.12 219 1291.29 2160.0 1291.45 302.1 1291.45 356.4 1291.45 1293.18 < 0.01 0.13 625.17
C6 50 6 555.43 555.43 555.43 21 555.43 4.2 555.43 5.1 555.43 28.8 555.43 556.49 0.00 0.19 0.93
C7 75 11 909.68 909.68 - 909.68 36 909.68 0.8 909.68 38.9 909.68 65.4 909.68 910.00 0.00 0.03 5.05
C8 100 9 865.94 865.94 - 865.94 78 865.94 0.8 865.94 23.5 865.94 68.4 865.94 865.94 0.00 0.00 7.61
C14 100 11 866.37 866.37 - 866.37 73 866.37 1.7 866.37 13.2 866.37 71.4 866.37 866.37 0.00 0.00 7.12
C13 120 11 1541.14 1541.14 - 1542.86 113 1541.14 13.5 1541.14 106.9 1541.14 169.8 1541.14 1544.07 0.00 0.19 80.24
C9 150 14 1162.55 1162.55 - 1163.68 160 1162.55 25.8 1162.55 135.6 1162.55 151.8 1162.55 1164.11 0.00 0.13 82.50
C10 199 18 1395.85 1395.85 - 1405.88 219 1401.12 52.2 1395.85 390.6 1395.85 493.2 1395.85 1402.03 0.00 0.44 496.07
Avg. 0.00 0.08 100.83
a: Optimality proved.
1: Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2 : Average of 10 runs on a Pentium IV 2.8 GHz (2444 Mflop/s).
3 : Average of 10 runs on an Opteron 2.4 GHz (3485 Mflop/s).
4 : Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz.
122
Table 7.4: Results found for the CVRP instances of Golden et al. [80]
Pisinger and Nagata and Vidal Zachariadis and
ILS-RVND-SP
Røpke Bräysy et al. Kiranoudis
Instance n v BKS Avg. Time1 Avg. Time2 Avg. Time3 Avg. Time4 Best Avg. Gap Avg. Time
Sol.∗ (s) Sol.∗ (s) Sol.∗ (s) Sol.∗ (s) Sol. Sol. (%) Gap (%) (s)
7.3 Computational results
G17 240 22 a,b 707.76 710.59 304 707.78 582.4 708.09 423.6 708.94 962.3 707.76 707.81 0.00 0.01 937.59
G13 252 26 a,b 857.19 874.24 285 858.42 921.9 859.64 561.6 860.44 1189.3 857.19 860.00 0.00 0.33 910.35
G9 255 14 b 579.71 590.33 437 581.46 1043.3 581.79 973.2 584.66 929.4 583.24 585.21 0.61 0.95 1720.76
G18 300 27 a,b 995.13 1007.84 387 995.91 1465.9 998.44 993.6 997.74 1718.6 995.65 997.85 0.05 0.27 2297.62
G14 320 30 a,b 1080.55 1103.53 393 1080.84 1239.3 1082.41 847.2 1083.55 1187.4 1080.55 1082.15 0.00 0.15 1513.32
G10 323 16 a,b 736.26 751.36 616 739.56 1617.5 739.86 1551.6 739.86 1271.4 741.96 744.17 0.77 1.07 3229.35
G19 360 33 a,b 1365.60 1377.88 449 1366.70 2115.6 1367.83 1674.6 1370.77 1824.2 1366.29 1367.25 0.05 0.12 2917.31
G15 396 33 a,b 1337.92 1366.23 468 1344.32 1872.2 1343.52 2349.0 1344.41 1658.8 1347.13 1349.23 0.69 0.85 3265.68
G11 399 18 a,b 912.84 926.57 761 916.27 2337.5 916.44 2736.6 919.52 1392.2 921.46 922.93 0.94 1.11 5978.97
G20 420 38 a,b 1818.32 1834.70 488 1821.65 2824.7 1822.02 2293.8 1829.57 1199.3 1821.16 1823.52 0.16 0.29 4997.31
G16 480 37 a,b 1612.50 1645.67 549 1622.26 2616.2 1621.02 3496.2 1623.42 1848.5 1624.55 1627.76 0.75 0.95 4835.12
G12 483 19 a,b 1102.69 1125.22 911 1108.21 3561.9 1106.73 5740.2 1110.65 1282.3 1113.30 1116.52 0.96 1.25 10410.70
G5 200 5 6460.98 6482.49 629 6460.98 164.7 6460.98 153.6 6460.98 989.6 6460.98 6460.98 0.00 0.00 978.69
G1 240 9 b 5623.47 5662.57 93 5632.05 3393 5627.00 700.8 5637.99 907.7 5657.74 5671.65 0.61 0.86 994.59
G6 280 7 c 8412.88 8543.30 876 8413.41 830.3 8412.90 502.8 8412.90 1091.6 8412.90 8412.90 0.00 0.00 2455.56
G2 320 10 b 8404.61 8487.94 672 8440.25 1726.2 8446.65 1245.0 8457.92 1249.4 8447.92 8449.82 0.52 0.54 2659.68
G7 360 9 b 10102.70 10265.15 941 10186.93 2179.7 10157.63 1376.4 10192.47 1885.5 10195.58 10195.60 0.92 0.92 4410.84
G3 400 10 11036.22 11052.72 1015 11036.22 2606.8 11036.22 1679.4 11036.22 1164.0 11036.22 11036.22 0.00 0.00 6064.98
G8 440 10 b 11635.30 11766.07 1011 11691.54 5776.7 11646.58 2440.2 11674.43 1657.4 11710.47 11774.40 0.65 1.20 7541.75
G4 480 10 a 13592.88 13748.50 1328 13618.55 3841.6 13624.52 2620.2 13632.59 1019.0 13624.53 13624.53 0.23 0.23 10644.50
Avg. Gap (%) 1.34 Avg. Gap (%) 0.27 Avg. Gap (%) 0.26 Avg. Gap (%) 0.42 Avg. 0.40 0.55 3938.23
1: Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2: Average of 10 runs on an Opteron 2.4 GHz (3485 Mflop/s)
3: Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz.
4: Average of 10 runs on a T5500 1.66 GHz (2791 Mflop/s).
∗: Average of 10 runs
a: Found by Nagata and Bräysy [127]
b: Found by Vidal et al. [177]
c: Found by Mester and Bräysy [118]
123
7.3 Computational results 124
Table 7.5: Results found for the ACVRP instances of Fischetti et al. [57] and Pessoa et
al. [134]
ILS-RVND-SP
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
A034-02f 34 2 a 1406 1406 1406.00 0.00 0.00 0.57
A034-04f 34 4 a 1773 1773 1773.00 0.00 0.00 0.47
A034-08f 34 8 a 2672 2672 2672.00 0.00 0.00 0.47
A036-03f 36 3 a 1644 1644 1644.00 0.00 0.00 0.64
A036-05f 36 5 a 2110 2110 2110.00 0.00 0.00 0.61
A036-10f 36 10 a 3338 3338 3338.00 0.00 0.00 5.67
A039-03f 39 3 a 1654 1654 1654.00 0.00 0.00 0.69
A039-06f 39 6 a 2289 2289 2289.00 0.00 0.00 0.60
A039-12f 39 12 a 3705 3705 3705.00 0.00 0.00 0.77
A045-03f 45 3 a 1740 1740 1740.00 0.00 0.00 1.06
A045-06f 45 6 a 2303 2303 2303.00 0.00 0.00 0.88
A045-11f 45 11 a 3544 3544 3544.00 0.00 0.00 2.46
A048-03f 48 3 a 1891 1891 1891.00 0.00 0.00 1.26
A048-05f 48 5 a 2283 2283 2289.50 0.00 0.28 1.79
A048-10f 48 10 a 3325 3325 3325.60 0.00 0.02 1.29
A056-03f 56 3 a 1739 1739 1740.00 0.00 0.06 2.09
A056-05f 56 5 a 2165 2165 2165.00 0.00 0.00 3.53
A056-10f 56 10 a 3263 3263 3264.50 0.00 0.05 2.26
A065-03f 65 3 a 1974 1974 1974.00 0.00 0.00 3.08
A065-06f 65 6 a 2567 2567 2571.70 0.00 0.18 3.30
A065-12f 65 12 a 3902 3902 3904.90 0.00 0.07 3.41
A071-03f 71 3 a 2054 2054 2054.00 0.00 0.00 4.46
A071-05f 71 5 b 2475 2457 2457.90 -0.73 -0.69 6.72
A071-10f 71 10 b 3486 3486 3492.90 0.00 0.20 5.61
Avg. -0.03 0.01 2.24
a: Optimality proved. b : Value presented by Pessoa et al. [134].
7.3.4 VRPSPD
Table 7.7 contains the results obtained in the set of instances of Salhi and Nagy [149] and
a comparison with those reported by Gajpal and Abad [64], Zachariadis et al. [190] and
Subramanian et al. [157]. It can be verified that the ILS-RVND-SP equaled 21 BKSs and
improved another 5. Table 7.8 presents the results found in the instances of Montané and
Galvão [121] and also those reported by Souza et al. [153], Zachariadis and Kiranoudis
[188] and Subramanian et al. [157]. ILS-RVND-SP found 12 BKSs and improved another
6 results. It is noteworthy to mention that the proposed algorithm had a satisfactory
performance in the large size instances, always producing, on average, competitive results.
The average gap between the Avg. Sols produced by ILS-RVND-SP and the BKSs in the
first and second group of instances was 0.12% and -0.07% respectively.
Table 7.6: Results found for the OVRP instances of Christofides et al. [31], Fisher [58] and Li et al. [106]
Pisinger and Fleszar Repoussis Zachariadis and
ILS-RVND-SP
Røpke et al. et al. Kiranoudis
Instance n vmin BKS vbest
Best Time1 Best Time2 Best Time3 Best Time4 Best Avg. Gap Avg. Time
v v v v v
Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
C1 50 5 a 416.06 5 416.06 5 23 416.06 5 1.0 416.06 5 98 416.06 5 28 416.06 5 416.06 0.00 0.00 1.78
F11 71 4 a 177.00 4 177.00 4 104 178.66 4 6.2 177.00 4 264 177.00 4 132 177.00 4 177.21 0.00 0.12 4.41
C2 75 10 a 567.14 10 567.14 10 53 567.14 10 2.3 567.14 10 143 567.14 10 72 567.14 10 567.14 0.00 0.00 6.44
C3 100 8 a 639.74 8 641.76 8 128 641.40 8 9.5 639.74 8 330 639.74 8 97 639.74 8 639.81 0.00 0.01 15.67
C12 100 10 a 534.24 10 534.24 10 118 534.40 10 6.7 534.24 10 363 534.24 10 47 534.24 10 534.24 0.00 0.00 5.74
C11 120 7 682.12 7 682.12 7 141 682.12 7 10.7 682.12 7 318 682.12 7 76 682.12 7 682.12 0.00 0.00 23.54
7.3 Computational results
F12 134 7 769.55 7 770.17 7 359 769.66 7 75.4 769.55 7 753 769.55 7 278 769.55 7 770.00 0.00 0.06 40.51
C4 150 12 733.13 12 733.13 12 279 737.82 12 45.4 733.13 12 613 733.13 12 204 733.13 12 733.13 0.00 0.00 27.77
C5 199 16 893.39 16 896.08 16 237 905.96 16 17.1 894.11 16 1272 893.39 16 332 883.50 16 895.55 -1.11 0.24 1579.45
C6 50 5 412.96 6 412.96 6 31 412.96 6 75.8 412.96 6 215 - - - 412.96 6 412.96 0.00 0.00 1.24
C7 75 10 583.19 10 583.19 10 33 596.47 10 22.3 584.15 10 367 - - - 583.19 10 582.07 0.00 7.29
C8 100 8 644.63 9 645.16 9 114 644.63 9 587.6 644.63 9 510 - - - 644.63 9 644.95 0.00 0.05 9.21
C14 100 10 591.87 11 591.87 11 75 591.87 11 389 591.87 11 411 - - - 591.87 11 591.87 0.00 0.00 22.76
C13 120 7 904.04 11 909.80 11 116 904.94 11 1820.1 910.26 11 890 - - - 899.16 11 904.02 -0.54 0.00 37.35
C9 150 12 757.84 13 757.84 13 185 760.06 13 1094.1 764.56 13 933 - - - 757.91 13 759.38 0.01 0.20 38.93
C10 199 16 875.67 17 875.67 17 224 875.67 17 1252.4 888.46 17 1678 - - - 874.71 17 877.68 -0.11 0.23 472.91
Avg. -0.11 0.06 143.44
O1 200 5 6018.52 5 - - - - - - 6018.52 5 452 6018.52 5 612 6018.52 5 6018.52 0.00 0.00 1270.81
O2 240 9 4557.38 9 - - - - - - 4583.70 9 613 4557.38 9 774 4544.46 9 4551.74 -0.28 -0.12 1247.37
O3 280 7 7731.00 7 - - - - - - 7733.77 7 736 7731.00 7 681 7721.16 7 7728.77 -0.13 -0.03 2008.76
O4 320 10 7253.20 10 - - - - - - 7271.24 10 833 7253.20 10 957 7215.48 10 7229.56 -0.52 -0.33 2663.24
O5 360 8 9193.15 8 - - - - - - 9254.15 8 1365 9193.15 8 1491 9180.93 8 9205.01 -0.13 0.13 5702.38
O6 400 9 9793.72 9 - - - - - - 9821.09 9 1213 9793.72 9 1070 9773.83 9 9784.52 -0.20 -0.09 5065.72
O7 440 10 10347.70 10 - - - - - - 10363.40 10 1547 10347.70 10 1257 10326.57 10 10342.1 -0.20 -0.05 6140.55
O8 480 10 12415.36 10 - - - - - - 12428.20 10 1653 12415.36 10 1512 12389.43 10 12393.4 -0.21 -0.18 6653.41
Avg. -0.21 -0.08 3844.03
a: Optimality proved.
1: Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2: Best run on a Pentium M 2.0 GHz (1738 Mflop/s).
3: Best run on a Pentium IV 2.8 GHz (2444 Mflop/s).
4: Average of 10 runs on a T5500 1.66 GHz (2791 Mflop/s).
125
7.3 Computational results 126
Table 7.7: Results found for the VRPSPD instances of Salhi and [149]
Gajpal and Zachariadis Subramanian
ILS-RVND-SP
Abad et al. et al.
Instance n v BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
CMT1X 50 3 a 466.77 466.77 5.00 469.80 2.1 466.77 2.3 466.77 466.77 0.00 0.00 2.08
CMT1Y 50 3 a 466.77 466.77 5.00 469.80 3.8 466.77 2.3 466.77 466.77 0.00 0.00 1.97
CMT2X 75 6 684.21 684.21 41.25 684.21 5.4 684.21 6.4 684.21 684.78 0.00 0.08 12.79
CMT2Y 75 6 684.21 684.94 22.25 684.21 6.8 684.21 6.4 684.21 684.59 0.00 0.06 10.83
CMT3X 100 5 a 721.27 721.40 377.50 721.27 11.9 721.27 12.1 721.27 721.46 0.00 0.03 17.69
CMT3Y 100 5 a 721.27 721.40 43.75 721.27 11 721.27 12.3 721.27 721.50 0.00 0.03 17.61
CMT12X 100 5 662.22 663.01 36.25 662.22 9.3 662.22 10.3 662.22 663.44 0.00 0.18 9.07
CMT12Y 100 5 662.22 663.50 39.25 662.22 4.8 662.22 10.8 662.22 663.12 0.00 0.14 9.34
CMT11X 120 4 833.92 839.66 57.25 833.92 21.2 833.92 18.9 846.23 848.65 1.48 1.77 51.82
CMT11Y 120 4 833.92 840.19 52.75 833.92 14.4 833.92 19.0 846.23 848.74 1.48 1.78 48.63
CMT4X 150 7 852.46 854.12 131.75 852.46 29.6 852.46 30.9 852.46 853.02 0.00 0.07 98.03
CMT4Y 150 7 852.46 855.76 140.25 852.46 27.4 852.46 31.6 852.46 852.73 0.00 0.03 80.63
CMT5X 199 10 1029.25 1034.87 377.50 1030.55 62.8 1029.25 71.5 1029.25 1029.52 0.00 0.03 1786.74
CMT5Y 199 10 1029.25 1037.34 393.50 1030.55 47.7 1029.25 69.6 1029.25 1029.25 0.00 0.00 1726.18
7.3.5 VRPMPD
Table 7.9 illustrates the results found by ILS-RVND-SP in the VRPMPD instances of
Salhi and Nagy [149] and a comparison with those reported by Røpke and Pisinger [148]
(6R - normal learning) and Gajpal and Abad [64]. ILS-RVND-SP obtained the BKS in 25
instances and it managed to improve the result of another 12. The developed algorithm
outperformed both the algorithms of Røpke and Pisinger [148] and Gajpal and Abad
[64] in terms of solution quality. The average gap between the Avg. Sols. obtained by
ILS-RVND-SP and the BKSs was -0.06%.
Table 7.8: Results found for the VRPSPD instances of Montané and Galvão [121]
Souza Zachariadis Subramanian
ILS-RVND-SP
et al. et al. et al.
Instance n v BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
r101 100 12 a 1009.95 1009.95 35.7 1009.95 28.7 1009.95 15.8 1009.95 1010.08 0.00 0.01 65.42
r201 100 3 a 666.20 666.20 39.6 666.20 31.4 666.20 16.0 666.20 666.20 0.00 0.00 15.71
c101 100 16 a 1220.18 1220.18 18.3 1220.18 18.5 1220.18 10.4 1220.18 1220.43 0.00 0.02 12.93
c201 100 5 a 662.07 662.07 16.6 662.07 23.5 662.07 8.8 662.07 662.07 0.00 0.00 9.77
rc101 100 10 a 1059.32 1059.32 12.8 1059.32 23.8 1059.32 11.1 1059.32 1059.32 0.00 0.00 16.89
rc201 100 3 a 672.92 672.92 24.0 672.92 21.2 672.92 7.3 672.92 672.92 0.00 0.00 11.42
7.3 Computational results
r1 2 1 200 23 3357.64 3357.64 175.8 3375.19 84.6 3360.02 66.2 3353.80 3355.04 -0.11 -0.08 1142.05
r2 2 1 200 5 a 1665.58 1665.58 103.4 1665.58 72.7 1665.58 45.3 1665.58 1665.58 0.00 0.00 1425.88
c1 2 1 200 28 3629.89 3636.74 117.6 3641.89 57.0 3629.89 87.4 3628.51 3636.53 -0.04 0.18 2874.50
c2 2 1 200 9 1726.59 1726.59 127.8 1726.73 67.3 1726.59 65.0 1726.59 1726.59 0.00 0.00 1365.93
rc1 2 1 200 23 3306.00 3312.92 299.3 3316.94 83.4 3306.00 71.7 3303.70 3306.73 -0.07 0.02 1293.53
rc2 2 1 200 5 a 1560.00 1560.00 77.5 1560.00 74.4 1560.00 44.7 1560.00 1560.00 0.00 0.00 1361.87
r1 4 1 400 54 b 9605.75 9627.43 2928.3 9668.18 421.5 9618.97 481.6 9519.45 9539.56 -0.90 -0.69 9177.90
r2 4 1 400 10 3551.38 3582.08 768.6 3560.73 352.0 3551.38 459.2 3546.49 3549.49 -0.14 -0.05 9086.79
c1 4 1 400 63 11098.21 11098.21 1510.4 11125.14 384.6 11099.54 546.2 11047.19 11075.60 -0.46 -0.20 8016.83
c2 4 1 400 15 3546.10 3596.37 569.0 3549.20 341.1 3546.10 488.6 3539.50 3543.65 -0.19 -0.07 10691.30
rc1 4 1 400 52 9520.06 9535.46 2244.2 9520.06 412.7 9536.77 513.4 9447.53 9478.12 -0.76 -0.44 10867.10
rc2 4 1 400 11 3403.70 3422.11 3306.8 3414.90 264.7 3403.70 422.6 3403.70 3403.70 0.00 0.00 8326.18
Avg. -0.15 -0.07 3653.44
a: Optimality proved. 1 : Best run on an Intel Core 2 Duo 1.66 GHz (2791 Mflop/s).
2 : Average of 10 runs T5500 1.66 GHz ((2791 Mflop/s)).
3 : Average of 50 runs on a cluster with 32 SMP nodes, where each node consists of two Intel Xeon 2.66 GHz (wall clock).
b : Found by Subramanian et al. [157].
127
7.3 Computational results 128
Table 7.9: Results found for the VRPMPD instances of Salhi and Nagy [149]
Røpke and Gajpal and
ILS-RVND-SP
Pisinger Abad
Instance n v BKS Best Time1 Best Time2 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
CMT1H 50 4 a 465.02 465 51 465.02 5.6 465.02 465.03 0.00 0.00 2.07
CMT1Q 50 6 a 489.74 490 41 489.74 6.0 489.74 489.74 0.00 0.00 1.52
CMT1T 50 7 a 520.06 520 34 520.06 7.0 520.06 520.06 0.00 0.00 1.60
CMT2H 75 5 662.63 663 78 662.63 22.0 662.63 662.63 0.00 0.00 5.16
CMT2Q 75 7 732.76 733 65 732.76 26.2 731.26 731.40 -0.20 -0.19 8.03
CMT2T 75 9 a 782.77 783 57 782.77 26.0 782.77 782.77 0.00 0.00 7.56
CMT3H 100 3 a 700.94 701 186 701.31 35.6 700.94 700.94 0.00 0.00 17.65
CMT3Q 100 4 a 747.15 747 128 747.15 39.8 747.15 747.15 0.00 0.00 9.70
CMT3T 100 5 a 798.07 798 109 798.07 42.6 798.07 798.07 0.00 0.00 28.76
CMT12H 100 6 a 629.37 629 150 629.37 32.8 629.37 629.37 0.00 0.00 13.93
CMT12Q 100 8 a 729.46 729 108 729.46 42.0 729.25 729.25 -0.03 -0.03 17.37
CMT12T 100 9 a 787.52 788 96 787.52 52.0 787.52 787.52 0.00 0.00 6.79
CMT11H 120 4 818 818 303 820.35 45.8 818.05 818.06 0.01 0.01 63.18
CMT11Q 120 6 a 939.36 939 196 939.36 66.2 939.36 939.36 0.00 0.00 20.35
CMT11T 120 7 998.8 1000 164 998.80 70.2 998.80 998.81 0.00 0.00 19.91
CMT4H 150 6 829 829 345 831.39 125.4 828.12 831.59 -0.11 0.31 80.24
CMT4Q 150 9 913.93 918 244 913.93 153.0 915.27 915.27 0.15 0.15 58.92
CMT4T 150 11 990.39 1000 212 990.39 166.8 990.39 990.39 0.00 0.00 50.42
CMT5H 200 9 992.37 983 514 992.37 351.4 978.736 978.736 -1.37 -1.37 1531.73
CMT5Q 200 12 b 1118 1119 381 1134.72 451.8 1104.87 1105.79 -1.17 -1.09 1627.78
CMT5T 200 15 1227 1227 333 1232.08 460.8 1218.77 1220.24 -0.67 -0.55 1802.81
CMT6H 50 7 555.43 555 31 555.43 13.0 555.43 557.35 0.00 0.35 1.08
CMT6Q 50 7 555.43 555 30 555.43 12.8 555.43 557.15 0.00 0.31 1.08
CMT6T 50 7 555.43 555 31 555.43 11.6 555.43 556.64 0.00 0.22 1.15
CMT7H 75 13 900 900 54 900.84 50.0 900.54 900.84 0.06 0.09 4.47
CMT7Q 75 14 900.69 901 53 900.69 46.8 900.69 902.62 0.00 0.21 4.90
CMT7T 75 14 903.05 903 52 903.05 39.0 903.05 903.05 0.00 0.00 4.77
CMT8H 100 10 865.50 866 95 865.50 85.6 865.50 865.50 0.00 0.00 7.78
CMT8Q 100 10 865.50 866 93 865.50 74.4 865.50 865.50 0.00 0.00 7.50
CMT8T 100 10 865.54 866 95 865.54 65.6 865.54 865.54 0.00 0.00 7.18
CMT14H 100 11 821.75 822 89 821.75 81.6 821.75 821.75 0.00 0.00 5.37
CMT14Q 100 11 821.75 822 85 821.75 72.4 821.75 821.75 0.00 0.00 5.47
CMT14T 100 11 826.77 827 86 826.77 64.6 826.77 826.77 0.00 0.00 6.30
CMT13H 120 12 1542.86 1543 125 1542.86 164.2 1542.86 1544.54 0.00 0.11 73.82
CMT13Q 120 12 1542.97 1543 120 1542.97 157.8 1542.86 1544.05 -0.01 0.07 69.87
CMT13T 120 12 1542.97 1544 127 1542.97 152.8 1542.86 1544.11 -0.01 0.07 73.59
CMT9H 150 16 b 1161 1166 177 1161.63 306.4 1160.68 1162.17 -0.03 0.10 77.95
CMT9Q 150 16 1161.51 1162 171 1161.51 289.6 1161.24 1161.69 -0.02 0.02 80.64
CMT9T 150 16 1162.68 1164 178 1162.68 261.0 1162.55 1164.37 -0.01 0.15 83.29
CMT10H 199 20 1383.78 1393 296 1383.78 791.0 1372.52 1377.23 -0.81 -0.47 550.45
CMT10Q 199 20 1386.54 1389 288 1386.54 730.2 1374.18 1379.47 -0.89 -0.51 537.66
CMT10T 199 20 b 1395 1402 291 1400.22 658.6 1381.04 1388.17 -1.00 -0.49 501.65
Avg. -0.15 -0.06 178.13
a: Optimality proved. b : Found by Røpke and Pisinger [148] using another version of their algorithm.
1 : Average of 10 runs on a Pentium IV 1.5 GHz (1311 Mflop/s). 2 : Best run on a Xeon 2.4 GHz (1978 Mflop/s).
7.3.6 MDVRP
Tables 7.10 and 7.11 present a comparison, in terms of average solution, between the
results found by ILS-RVND-SP and those determined by Pisinger and Røpke [136] (ALNS
50K) and Vidal et al. [177] in the old and new set of instances of [35], respectively. The
latter two clearly outperformed the first one in terms of solution quality. The average
gap between the Avg. Sols. found by ILS-RVND-SP and the BKSs for the old and new
benchmark sets was, respectively, 0.04% and 0.15%.
7.3 Computational results 129
Table 7.10: Results found for the old MDVRP instances of Cordeau et al. [35]
Pisinger and Vidal
ILS-RVND-SP
Røpke et al.
Instance n v |G|
BKS Avg.∗ Time1 Avg.∗ Time2 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
p01 50 4 4 a 576.87 576.87 29 576.87 13.8 576.87 576.87 0.00 0.00 2.80
p02 50 2 4 a 473.53 473.53 28 473.53 12.6 473.53 473.53 0.00 0.00 2.27
p03 75 3 2 c 641.19 641.19 64 641.19 25.8 641.19 641.19 0.00 0.00 7.25
p12 80 5 2 b 1318.95 1319.13 75 1318.95 31.2 1318.95 1318.95 0.00 0.00 6.14
p04 100 8 2 d 1001.04 1006.09 88 1001.23 116.4 1001.04 1001.04 0.00 0.00 51.76
p05 100 5 2 c 750.03 752.34 120 750.03 63.6 750.03 750.21 0.00 0.02 31.54
p06 100 6 3 b 876.50 883.01 93 876.50 68.4 876.50 876.50 0.00 0.00 25.70
p07 100 4 4 d 881.97 889.36 88 884.43 93.0 881.97 881.97 0.00 0.00 21.88
p15 160 5 4 c 2505.42 2519.64 253 2505.42 115.2 2505.42 2505.42 0.00 0.00 48.59
p18 240 5 6 c 3702.85 3736.53 419 3702.85 271.2 3702.85 3702.85 0.00 0.00 1019.76
p21 360 5 9 c 5474.84 5501.58 582 5476.41 600.0 5474.84 5474.84 0.00 0.00 2544.57
p13 80 5 2 b 1318.95 1318.95 60 1318.95 34.2 1318.95 1318.95 0.00 0.00 3.06
p14 80 5 2 c 1360.12 1360.12 58 1360.12 33.0 1360.12 1360.12 0.00 0.00 19.11
p16 160 5 4 b 2572.23 2573.95 188 2572.23 118.2 2572.23 2572.23 0.00 0.00 247.77
p17 160 5 4 c 2709.09 2709.09 179 2709.09 128.4 2709.09 2710.21 0.00 0.04 1448.47
p19 240 5 6 b 3827.06 3838.76 315 3827.06 252.0 3827.06 3827.55 0.00 0.01 1214.57
p20 240 5 6 c 4058.07 4064.76 300 4058.07 262.2 4058.07 4058.07 0.00 0.00 544.80
p08 249 14 2 e 4372.78 4421.03 333 4397.42 600.0 4379.46 4393.70 0.15 0.48 1244.57
p09 249 12 3 e 3858.66 3892.50 361 3868.59 570.0 3859.54 3864.22 0.02 0.14 1431.88
p10 249 8 4 e 3631.11 3666.85 363 3636.08 589.2 3631.37 3634.72 0.01 0.10 1422.66
p11 249 6 5 d 3546.06 3573.23 357 3548.25 428.4 3546.06 3546.15 0.00 0.00 1217.35
p22 360 5 9 c 5702.16 5722.19 462 5702.16 600.0 5702.15 5705.84 0.00 0.06 846.01
p23 360 5 9 d 6078.75 6092.66 443 6078.75 600.0 6078.75 6078.75 0.00 0.00 1019.15
Avg. Gap (%) 0.40 Avg. Gap (%) 0.07 Avg. 0.01 0.04 627.03
a: Optimality proved. 1 : Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2 : Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz. ∗ : Average of 10 runs.
b : First found by Renaud et al. [145]. c : First found by Cordeau et al. [35].
d : First found by Pisinger and Røpke [136]. e : First found by Vidal et al. [177].
Table 7.11: Results found for the new MDVRP instances of Cordeau et al. [35]
Pisinger and Vidal
ILS-RVND-SP
Røpke et al.
Instance n v |G|
BKS Avg.∗ Time1 Avg.∗ Time2 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
pr01 48 2 4 b 861.32 861.32 30 861.32 10.2 861.32 861.32 0.00 0.00 1.24
pr07 72 3 6 b 1089.56 1089.56 58 1089.56 20.4 1089.56 1089.56 0.00 0.00 3.87
pr02 96 4 4 c 1307.34 1308.17 103 1307.34 45.6 1307.34 1308.53 0.00 0.09 12.39
pr03 144 6 4 d 1803.80 1810.66 214 1803.80 114.6 1803.81 1804.09 0.00 0.02 55.04
pr08 144 6 6 c 1664.85 1675.74 207 1665.05 123.0 1664.85 1665.08 0.00 0.01 393.98
pr04 192 8 4 d 2058.31 2073.16 296 2059.36 313.2 2058.31 2060.93 0.00 0.13 779.30
pr09 216 9 6 d 2133.20 2144.84 350 2134.17 366.0 2133.20 2135.37 0.00 0.10 1070.41
pr05 240 10 4 d 2331.20 2350.31 372 2340.29 573.6 2331.20 2338.12 0.00 0.30 1337.10
pr06 288 12 4 d 2676.30 2695.74 465 2681.93 600.0 2680.77 2685.23 0.17 0.33 2297.66
pr10 288 12 6 d 2868.26 2905.43 455 2886.59 600.0 2874.28 2882.41 0.21 0.49 3009.53
Avg. Gap (%) 0.52 Avg. Gap (%) 0.13 Avg. 0.04 0.15 896.05
a: Optimality proved. 1:Average of 10 runs on a Pentium IV 3.0 GHz (3181 Mflop/s).
2: Average of 10 runs on an Opteron 2.4 GHz scaled for a Pentium IV 3.0 GHz. ∗ : Average of 10 runs.
b : First found by Cordeau et al. [35]. c : First found by Pisinger and Røpke [136]. d : First found by Vidal et al. [177].
7.3.7 MDVRPMPD
Table 7.12 presents the results found by ILS-RVND-SP and those pointed out by Røpke
and Pisinger [148] (6R - no learning) in the set of instances of Salhi and Nagy [149]. With
respect to the solution quality, the developed algorithm clearly had a better performance,
7.3 Computational results 130
equaling 17 BKSs and improving the result of another 16. The average gap between the
Avg. Sols. and the BKSs was -0.10%.
Table 7.12: Results found for the MDVRPMPD instances of Salhi and Nagy [149]
Røpke and
ILS-RVND-SP
Pisinger
Instance n v |G| BKS
Best Avg. Time1 Best Avg. Gap Avg. Time
Sol. Sol.∗ (s) Sol. Sol. (%) Gap (%) (s)
GJ01Q 50 4 4 528 528 528 36 528.30 528.30 0.06 0.06 3.12
GJ01T 50 4 4 569 569 569 34 569.43 569.43 0.08 0.08 2.98
GJ02H 75 4 2 440 440 440 51 440.00 440.00 0.00 0.00 2.95
GJ02Q 75 4 2 450 450 451 43 449.72 449.72 -0.06 -0.06 2.60
GJ02T 75 4 2 464 464 464 37 464.13 464.13 0.03 0.03 2.50
GJ03H 100 5 3 581 581 583 81 579.45 579.45 -0.27 -0.27 9.54
GJ03Q 100 5 3 605 605 608 71 605.25 605.25 0.04 0.04 8.95
GJ03T 100 5 3 624 624 626 65 624.44 624.44 0.07 0.07 10.94
GJ04H 100 2 8 790 790 797 112 789.19 789.30 -0.10 -0.09 31.69
GJ04Q 100 2 8 875 875 876 94 874.78 874.79 -0.03 -0.02 41.89
GJ04T 100 2 8 962 962 969 85 962.25 962.65 0.03 0.07 37.95
GJ05H 100 2 5 678 678 680 168 676.81 676.91 -0.18 -0.16 22.24
GJ05Q 100 2 5 700 702 705 133 700.15 700.15 0.02 0.02 19.55
GJ05T 100 2 5 733 733 738 118 733.17 733.18 0.02 0.02 39.31
GJ06H 100 3 6 745 747 751 116 742.18 742.18 -0.38 -0.38 32.28
GJ06Q 100 3 6 794 794 800 100 793.85 793.87 -0.02 -0.02 25.00
GJ06T 100 3 6 851 851 853 90 850.82 850.82 -0.02 -0.02 27.19
GJ07H 100 4 4 733 733 734 117 732.73 732.73 -0.04 -0.04 24.66
GJ07Q 100 4 4 802 803 807 94 801.91 801.94 -0.01 -0.01 38.58
GJ07T 100 4 4 854 855 862 88 853.54 853.54 -0.05 -0.05 20.64
GJ08H 249 2 14 3327 3327 3373 581 3320.39 3342.91 -0.20 0.48 1435.21
GJ08Q 249 2 14 3762 3774 3810 479 3745.18 3769.01 -0.45 0.19 1288.57
GJ08T 249 2 14 4134 4134 4170 431 4110.78 4120.27 -0.56 -0.33 1272.63
GJ09H 249 3 12 3005 3006 3028 646 2990.92 3005.52 -0.47 0.02 1478.35
GJ09Q 249 3 12 3355 3355 3393 535 3351.18 3361.23 -0.11 0.19 1362.18
GJ09T 249 3 12 3677 3677 3718 492 3656.03 3661.62 -0.57 -0.42 1316.84
GJ010H 249 4 8 2927 2930 2963 644 2894.71 2905.23 -1.10 -0.74 1452.52
GJ010Q 249 4 8 3242 3245 3267 513 3220.79 3226.79 -0.65 -0.47 1315.68
GJ010T 249 4 8 3485 3485 3524 472 3470.70 3477.99 -0.41 -0.20 1281.92
GJ011H 249 5 6 2855 2880 2905 609 2842.79 2845.71 -0.43 -0.33 1357.58
GJ011Q 249 5 6 3155 3165 3192 511 3138.64 3143.33 -0.52 -0.37 1267.12
GJ011T 249 5 6 3390 3390 3421 469 3360.48 3367.63 -0.87 -0.66 1181.56
Avg. Gap (%) 0.66 Avg. -0.22 -0.10 497.54
∗: Average of 10 runs.
b : Found by Røpke and Pisinger [148] using another version of their algorithm.
1 : Average of 10 runs on a Pentium IV 1.5 GHz (1311 Mflop/s).
7.3.8 HFVRP
Table 7.13 illustrates a comparison between ILS-RVND-SP and the algorithms of Li et
al. [107] and Penna et al. [133] in the HVRP instances of Taillard [164] with fixed
and dependent costs (HVRPFD). It can be verified that ILS-RVND-SP found all proven
optimal solutions and improved the result of one instance. The average gap between the
Avg. Sols found by the developed algorithm and the BKSs was 0.19%.
Table 7.14 presents a comparison between the results found by ILS-RVND-SP and
those of Prins [141] (SMA-D2), Li et al. [106] and Penna et al. [133] in the HVRP
instances of [164] only with dependent costs (HVRPD). As in the previous variant all
proven optimal solutions were found by ILS-RVND-SP. In the only instance where the
optimality was not proved, ILS-RVND-SP was unsuccessful to obtain the best solution
7.3 Computational results 131
Table 7.13: Results found for the HVRPFD instances of Taillard [164]
Li et al. Penna et al. ILS-RVND-SP
Best Time1 Best Time2 Best Avg. Gap Avg. Time
Instance n BKS
Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
13 50 a 3185.09 3185.09 110 3185.09 19.04 3185.09 3185.09 0.00 0.00 4.48
14 50 a 10107.53 10107.53 34 10107.53 11.28 10107.53 10109.74 0.00 0.02 2.24
15 50 a 3065.29 3065.29 46 3065.29 12.48 3065.29 3065.29 0.00 0.00 4.47
16 50 a 3265.41 3278.96 99 3265.41 12.22 3265.41 3277.52 0.00 0.37 3.68
17 75 a 2076.96 2076.96 148 2076.96 29.59 2076.96 2079.38 0.00 0.12 13.9
18 75 a 3743.58 3743.58 119 3743.58 36.38 3743.58 3752.54 0.00 0.24 57.77
19 100 10420.34 10420.34 287 10420.34 73.66 10420.34 10420.34 0.00 0.00 27.40
20 100 4788.49 4834.17 200 4788.49 68.46 4761.26 4826.98 -0.57 0.80 26.85
Avg. -0.07 0.19 17.60
a: Optimality proved. 1 : Best run on an Intel 2.2 GHz (the model was not provided by the authors).
2 : Average of 30 runs on an i7 2.93 GHz (5839 Mflop/s).
pointed out by Taillard [164]. The average gap between the Avg. Sols found by the
proposed algorithm and the BKSs was 0.12%.
Table 7.15 shows the results obtained by ILS-RVND-SP and those of Choi and Tcha
[29], Prins (SMA-U1) [141] and Penna et al. [133] in the FSM instances of [76] with fixed
and dependent costs (FSMFD). ILS-RVND-SP was capable of finding all BKSs. When
individually comparing ILS-RVND-SP with each one of these algorithms, one can verify
that the ILS-RVND-SP produced, on average, superior results in terms of best solutions
and the average gap between the Avg. Sols. and the BKSs was 0.01%.
Table 7.16 contains the results found by ILS-RVND-SP in the FSM instances of Golden
et al. [76] only with fixed costs (FSMF). A comparison is performed with those of Choi
and Tcha [29], Prins [141] (SMA-D1) and Penna et al. [133]. ILS-RVND-SP managed
to determine the BSKs of 10 instances, besides improving the result of another one. The
average gap between the Avg. Sols. found by ILS-RVND-SP and the BKSs was 0.07%.
The best heuristic results obtained in the literature in the FSM instances of Golden
et al. [76] wih only dependent costs (FSMD) were reported by Choi and Tcha [29], Prins
[141] (SMA-D1) and Penna et al. [133]. Table 7.17 illustrates a comparison between the
7.4 Concluding remarks 132
Table 7.16: Results found for the FSMF instances of Golden et al. [76]
Choi and Tcha Prins Penna et al. ILS-RVND-SP
Instance n BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
3 20 a 961.03 961.03 0 961.03 0.04 961.03 4.91 961.03 961.03 0.00 0.00 0.76
4 20 a 6437.33 6437.33 1 6437.33 0.03 6437.33 3.16 6437.33 6437.33 0.00 0.00 0.53
5 20 a 1007.05 1007.05 1 1007.05 0.09 1007.05 5.88 1007.05 1007.83 0.00 0.08 0.77
6 20 a 6516.47 6516.47 0 6516.47 0.08 6516.47 3.07 6516.47 6516.51 0.00 < 0.01 0.57
13 50 a 2406.36 2406.36 10 2406.36 17.12 2408.41 30.29 2406.36 2406.57 0.00 0.01 4.43
14 50 a 9119.03 9119.03 51 9119.03 19.66 9119.03 11.89 9119.03 9119.16 0.00 < 0.01 2.31
15 50 a 2586.37 2586.37 10 2586.37 25.10 2586.37 20.24 2586.37 2586.37 0.00 0.00 10.37
16 50 a 2720.43 2720.43 11 2729.08 16.37 2720.43 20.67 2720.43 2727.76 0.00 0.27 5.93
17 75 a 1734.53 1744.83 207 1746.09 52.22 1734.53 52.49 1734.53 1741.37 0.00 0.39 18.61
18 75 a 2369.65 2371.49 70 2369.65 36.92 2371.48 55.35 2369.65 2371.01 0.00 0.06 22.40
19 100 a 8661.81 8664.29 1179 8665.12 169.93 8662.86 63.92 8661.81 8662.46 0.00 0.01 55.86
20 100 4037.90 4039.49 264 4044.78 172.73 4037.90 93.88 4029.74 4037.44 -0.20 -0.01 91.30
Avg. -0.02 0.07 17.82
a: Optimality proved. 1:
Pentium IV 2.6 GHz (2266 Mflop/s).
2: Best run on a Pentium IV M 1.8 GHz (1564 Mflop/s). 3 : Average of 30 runs on an i7 2.93 GHz (5839 Mflop/s).
results presented in such works and those obtained by ILS-RVND-SP. It can be verified
that all optimal solutions were found and the average gap between the Avg. Sols. obtained
by ILS-RVND-SP and the BKSs was 0.03%.
Table 7.17: Results found for the FSMD instances of Golden et al. [76]
Choi and Tcha Prins Penna et al. ILS-RVND-SP
Instance n BKS
Best Time1 Best Time2 Best Time3 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
3 20 a 623.22 623.22 0.19 - - 623.22 4.58 623.22 623.22 0.00 0.00 0.69
4 20 a 387.18 387.18 0.44 - - 387.18 2.85 387.18 387.18 0.00 0.00 0.41
5 20 a 742.87 742.87 0.23 - - 742.87 5.53 742.87 742.87 0.00 0.00 0.80
6 20 a 415.03 415.03 0.92 - - 415.03 3.37 415.03 415.03 0.00 0.00 0.46
13 50 a 1491.86 1491.86 4.11 1491.86 3.45 1491.86 31.62 1491.86 1491.86 0.00 0.00 5.27
14 50 a 603.21 603.21 20.41 603.21 0.86 603.21 14.66 603.21 603.21 0.00 0.00 2.97
15 50 a 999.82 999.82 4.61 999.82 9.14 999.82 15.33 999.82 999.82 0.00 0.00 3.05
16 50 a 1131.00 1131.00 3.36 1131.00 13.00 1131.00 17.77 1131.00 1131.56 0.00 0.05 3.25
17 75 a 1038.60 1038.60 69.38 1038.60 9.53 1038.60 49.18 1038.60 1039.36 0.00 0.07 9.32
18 75 a 1800.80 1801.40 48.06 1800.80 18.92 1800.80 53.88 1800.80 1801.43 0.00 0.03 9.11
19 100 a 1105.44 1105.44 182.86 1105.44 52.31 1105.44 77.84 1105.44 1105.51 0.00 0.01 18.4
20 100 a 1530.43 1530.43 98.14 1535.12 104.41 1530.52 88.02 1530.43 1533.07 0.00 0.17 21.92
Avg. 0.00 0.03 6.30
a: Optimality proved. 1 : Pentium IV 2.6 GHz (2266 Mflop/s).
2 : Best run on a Pentium IV M 1.8 GHz (1564 Mflop/s). 3 : Average of 30 runs on an i7 2.93 GHz (5839 Mflop/s).
4 : Average of 10 runs considering the following instances: 13, 14, 15, 16, 17, 18, 19 and 20.
This thesis dealt with heuristic, exact and hybrid approaches for VRPs. One of the objec-
tives was to present the state-of-the-art of the VRPs considered here i.e., CVRP, ACVRP,
OVRP, VRPSPD, VRPMPD, TSPMPD, MDVRP, MDVRPMPD and HFVRP. An ex-
tensive literature review was carried out, focusing on describing the main contributions of
each work. By observing the substantial number of publications, one can verify that this
is indeed an area of intense and continuous research in the fields of CO and OR.
The present work also dealt with MIP flow formulations for the VRPSPD/VRPMPD.
Two versions of two-commodity flow formulations (an undirected and a directed) were
tested within a BC scheme, using cuts from the CVRPSEP library [114], and their results
were compared with the one-commodity flow formulation of Dell’Amico et al. [44]. The
optimal solutions of 30 VRPSPD open problems were proved. The three formulations
were also tested in benchmark instances of the VRPMPD, which is a particular case of
the VRPSPD, and were able to prove the optimality of 7 open problems. Furthermore,
new lower bounds were produced for both VRPSPD and VRPMPD instances with up to
200 customers. In addition, although it has been shown that the one-commodity flow for-
mulation produces a stronger linear relaxation, the two-commodity flow formulations have
found, on average, better lower bounds in the VRPSPD instances. As for the VRPMPD,
the lower bounds were, on average, quite similar, but with a slight superiority of the
one-commodity formulation.
A BC algorithm with a lazy separation scheme was developed for the VRPSPD,
VRPMPD and MDVRPMPD. This approach relies on a formulation only over the edge
variables and the constraints that ensure that the capacity is not exceeded in the middle
of the route and those that ensure that a route starts and ends at the same depot are
separated in a lazy fashion. The results obtained in the VRPSPD/VRPMPD instances
using this BC outperformed those found using the flow formulations in most cases, where
a total of 59 optimal solutions were found for instances with up to 200 customers. As for
the MDVRPMPD, the first LBs were presented for this variant and 4 optimal solutions
8 Concluding Remarks and Future Work 135
[1] Ai, T. J.; Kachitvichyanukul, V. A particle swarm optimization for the vehicle
routing problem with simultaneous pickup and delivery. Computers & Operations
Research 36, 5 (2009), 1693–1702.
[2] Alvarenga, G.; Mateus, G.; De Tomi, G. A genetic and set partitioning
two-phase approach for the vehicle routing problem with time windows. Computers
& Operations Research 34, 6 (2007), 1561–1584.
[4] Anily, S.; Mosheiov, G. The traveling salesman problem with delivery and
backhauls. Operations Research Letters 16 (1995), 11–18.
[5] Baldacci, R.; Battarra, M.; Vigo, D. The Vehicle Routing Problem: Latest
Advances and New Challenges. Springer, 2008, ch. Routing a Heterogeneous Fleet
of Vehicles, pp. 11–35.
[6] Baldacci, R.; Battarra, M.; Vigo, D. Valid inequalities for the fleet size and
mix vehicle routing problem with fixed costs. Networks 54, 4 (2009), 178–189.
[7] Baldacci, R.; Christofides, N.; Mingozzi, A. An exact algorithm for the
vehicle routing problem based on the set partitioning formulation with additional
cuts. Mathematical Programming 115, 2 (2008), 351–385.
[10] Baldacci, R.; Mingozzi, A. A unified exact method for solving different classes
of vehicle routing problems. Mathematical Programming 120, 2 (2009), 347–380.
BIBLIOGRAPHY 137
[11] Baldacci, R.; Toth, P.; Vigo, D. Recent advances in vehicle routing exact
algorithms. 4OR 5, 4 (2007), 269–298.
[12] Baldacci, R.; Toth, P.; Vigo, D. Exact algorithms for routing problems under
vehicle capacity constraints. Annals of Operations Research 175, 1 (2010), 213–245.
[13] Bean, J. C. Genetic algorithms and random keys for sequencing and optimization.
INFORMS Journal on Computing 6, 2 (1994), 154–160.
[15] Bianchessi, N.; Righini, G. Heuristic algorithms for the vehicle routing problem
with simultaneous pick-up and delivery. Computers & Operations Research 34, 2
(2007), 578–594.
[16] Bianchi, L.; Birattari, M.; Chiarandini, M.; Manfrin, M.; Mastrolilli,
M.; Paquete, L.; Rossi-Doria, O.; Schiavinotto, T. Hybrid metaheuristics
for the vehicle routing problem with stochastic demands. Journal of Mathematical
Modelling and Algorithms 5 (2006), 91–110.
[17] Bodin, L.; Golden, B. Classification in vehicle routing and scheduling. Networks
11 (1981), 97–108.
[18] Bodin, L.; Golden, B.; Assad, A.; Ball, M. Routing and scheduling of
vehicles and crews - the state of the art. Computers & Opertions Research 10, 2
(1983), 63–212.
[20] Brandão, J. A tabu search algorithm for the heterogeneous fixed fleet vehicle
routing problem. Computers & Operations Research 38 (2011), 140–151.
[21] Brandão, J. A tabu search algorithm for the open vehicle routing problem. Eu-
ropean Journal of Operational Research 157, 3 (2004), 552–564.
[22] Brandão, J. A deterministic tabu search algorithm for the fleet size and mix
vehicle routing problem. European Journal of Operational Research 195 (2009),
716–728.
BIBLIOGRAPHY 138
[24] Casco, D. O.; Golden, B. L.; Wasil, E. A. Vehicle Routing: Methods and
Studies. North-Holland, Amsterdam, 1988, ch. Vehicle routing with backhauls:
Models, algorithms, and case studies, pp. 127–147.
[25] Chao, I.-M.; Golden, B. L.; Wasil, E. A new heuristic for the multi-depot ve-
hicle routing problem that improves upon best-known solutions. American Journal
of Mathematical and Management Sciences 13, 3-4 (1993), 371–406.
[26] Chen, J. F. Approaches for the vehicle routing problem with simultaneous deliv-
eries and pickups. Journal of the Chinese Institute of Industrial Engineers 23, 2
(2006), 141–150.
[27] Chen, J. F.; Wu, T. H. Vehicle routing problem with simultaneous deliveries
and pickups. Journal of the Operational Research Society 57, 5 (2006), 579–587.
[28] Chen, P.; kuan Huang, H.; Dong, X.-Y. Iterated variable neighborhood
descent algorithm for the capacitated vehicle routing problem. Expert Systems with
Applications 37, 2 (2010), 1620–1627.
[29] Choi, E.; Tcha, D.-W. A column generation approach to the heterogeneous fleet
vehicle routing problem. Computers and Operations Research 34 (2007), 2080–2095.
[32] Christofides, N.; Mingozzi, A.; Toth, P. Exact algorithms for the vehicle
routing problem, based on spanning tree and shortest path relaxations. Mathemat-
ical Programming 20 (1981), 255–282.
[34] Cordeau, J.-F.; Gendreau, M.; Hertz, A.; Laporte, G.; Sormany, J.-S.
Logistics Systems: Design and Optimization. Sringer, New York, 2005, ch. New
heuristics for the Vehicle Routing Problem, pp. 279–297.
BIBLIOGRAPHY 139
[35] Cordeau, J.-F.; Gendreau, M.; Laporte, G. A tabu search heuristic for
periodic and multi-depot vehicle routing problems. Networks 30, 2 (1997), 105–119.
[36] Cordeau, J.-F.; Gendreau, M.; Laporte, G.; Potvin, J.-Y.; Semet, F.
A guide to vehicle routing problem. Journal of the Operational Research Society 53
(2002), 512–522.
[37] Cordeau, J.-F.; Laporte, G. Metaheuristic Optimization via Memory and Evo-
lution: Tabu Search and Scatter Search. Kluwer, Boston, 2005, ch. New heuristics
for the Vehicle Routing Problem, pp. 145–163.
[38] Cordeau, J.-F.; Laporte, G.; Mercier, A. A unified tabu search heuristic for
vehicle routing problems with time windows. Journal of the Operational Research
Society 52 (2011), 928–936.
[45] Derigs, U.; Kaiser, R. The attribute based hill climber. Journal of Mathematical
Modelling and Algorithms 3 (2004), 167–178.
[46] Derigs, U.; Kaiser, R. Applying the attribute based hill climber heuristic to the
vehicle routing problem. European Journal of Operational Research 177, 2 (2007),
719–732.
BIBLIOGRAPHY 140
[47] Derigs, U.; Reuter, K. A simple and efficient tabu search heuristic for solving
the open vehicle routing problem. Journal of the Operational Research Society 60
(2009), 1658–1669.
[48] Dethloff, J. Vehicle routing and reverse logistics: the vehicle routing problem
with simultaneous delivery and pick-up. OR Spektrum 23 (2001), 79–96.
[49] Dethloff, J. Relation between vehicle routing problems: an insertion heuristic for
the vehicle routing problem with simultaneous delivery and pick-up applied to the
vehicle routing problem. Journal of the Operational Research Society 53, 1 (2002),
115–118.
[52] Dror, M. Note on the complexity of the shortest path models for column genera-
tion in VRPTW. Operations Research 42 (1992), 977–978.
[55] Finke, G.; Clauss, A.; Gunn, E. A. A two-commodity network flow approach
to the traveling salesman problem. Congressus Numerantium 41 (1984), 167–178.
[57] Fischetti, M.; Toth, P.; Vigo, D. A Branch-and-Bound Algorithm for the
Capacitated Vehicle Routing Problem on Directed Graphs. Operations Research 42,
5 (1994), 846–859.
[58] Fisher, M. Optimal solutions of vehicle routing problems using minimum K-trees.
Operations Research 42 (1994), 626–642.
BIBLIOGRAPHY 141
[61] Fu, Z.; Eglese, R.; Li, L. Y. O. A new tabu search heuristic for the open vehicle
routing problem. Journal of the Operational Research Society 56 (2005), 267–274.
[62] Fu, Z.; Eglese, R.; Li, L. Y. O. A new tabu search heuristic for the open
vehicle routing problem. Journal of the Operational Research Society 57 (2006).
Corrigendum.
[63] Fukasawa, R.; Longo, H.; Lysgaard, J.; Poggi de Aragão, M.; Reis,
M.; Uchoa, E.; Werneck, R. F. Robust branch-and-cut-and-price for the
capacitated vehicle routing problem. Mathematical Programming 106 (2006), 491–
511.
[64] Gajpal, Y.; Abad, P. An ant colony system (ACS) for vehicle routing problem
with simultaneous delivery and pickup. Computers & Operations Research 36, 12
(2009), 3215–3223.
[65] Gavish, B.; Graves, S. The traveling salesman problem and related problems.
Working Paper (1979).
[66] Gendreau, M.; Hertz, A.; Laporte, G. New insertion and postoptimization
procedures for the traveling salesman problem. Operations Research 40 (1992),
1086–1094.
[67] Gendreau, M.; Laporte, G.; Semet, J.-Y. The Vehicle Routing Problem.
Monographs on Discrete Mathematics and Applications. SIAM, Philadelphia, 2002,
ch. Metaheuristics for the Capacitated VRP, pp. 129–154.
[68] Gendreau, M.; Laporte, G.; Vigo, D. Heuristics for the traveling salesman
problem with pickup and delivery. Computers & Operations Research 26, 7 (1999),
699–714.
[69] Gendreau, M.; Potvin, J.-Y.; Bräysy, O.; Hasle, G.; Løkketangen,
A. The Vehicle Routing Problem: Latest Advances and New Challenges. Springer,
2008, ch. Metaheuristics for the Vehicle Routing Problem and Its Extensions: A
Categorized Bibliography, pp. 143–169.
BIBLIOGRAPHY 142
[72] Glover, F. Future paths for integer programming and links to artificial intelli-
gence. Computers & Operations Research 13, 5 (1986), 533–549.
[74] Golden, B.; Raghavan, S.; Wasil, E. The Vehicle Routing Problem: Latest
Advances and New Challenges. Springer, New York, 2008.
[75] Golden, B. L.; Assad, A. A. Vehicle Routing: Methods and Studies. North-
Holland, Amsterdam, 1988.
[76] Golden, B. L.; Assad, A. A.; Levy, L.; Gheysens, F. G. The feet size and
mix vehicle routing problem. Computers & Operations Research 11 (1984), 49–66.
[77] Golden, B. L.; Assad, A. A.; Wasil, E. A. The Vehicle Routing Problem.
Monographs on Discrete Mathematics and Applications. SIAM, Philadelphia, 2002,
ch. Routing vehicles in the real world: applications in the solid waste, beverage,
food, dairy and newspaper industries, pp. 245–286.
[78] Golden, B. L.; Baker, E. K.; Alfaro, J. L.; Schaffer, J. R. The vehi-
cle routing problem with backhauling. In Proceedings of the Twenty-First Annual
Meeting of the S. E. TIMS (Myrtle Beach, SC, USA, 1985).
[80] Golden, B. L.; Wasil, E. A.; Kelly, J. P.; Chao, I.-M. Fleet Management
and Logistics. Kluwer, Boston, 1998, ch. Metaheuristics in Vehicle Routing, pp. 33–
56.
[81] Gouveia, L. A result on projection for the vehicle routing problem. European
Journal of Operational Research 85 (1995), 610–624.
[82] Halse, K. Modeling and solving complex vehicle routing problems. PhD thesis,
Institute of Mathematical Statistics and Operations Research, Technical University
of Denmark, Denmark, 1992.
BIBLIOGRAPHY 143
[87] Hoff, A.; Andersson, H.; Christiansen, M.; Hasle, G.; Løkketangen, A.
Industrial aspects and literature survey: Fleet composition and routing. Computers
& Operations Research (2010).
[89] Ibaraki, T.; Imahori, S.; Nonobe, K.; Sobue, K.; Uno, T.; Yagiura, M.
An iterated local search algorithm for the vehicle routing problem with convex time
penalty functions. Discrete Applied Mathematics 156, 11 (2008), 2050–2069.
[91] Kelly, J. P.; Xu, J. A set-partitioning-based heuristic for the vehicle routing
problem. INFORMS Journal on Computing 11, 2 (1999), 161–172.
[93] Kytöjoki, J.; Nuortio, T.; Bräysy, O.; Gendreau, M. An efficient vari-
able neighborhood search heuristic for very large scale vehicle routing problems.
Computers & Operations Research 34, 9 (2007), 2743–2757.
[94] Laporte, G. What you should know about the vehicle routing problem. Naval
Research Logistics 54, 8 (2007), 811–819.
BIBLIOGRAPHY 144
[95] Laporte, G. Fifty years of vehicle routing. Transportation Science 43, 4 (2009),
408–416.
[96] Laporte, G.; Mercure, H.; Nobert, Y. An exact algorithm for the asymmet-
rical capacitated vehicle routing problem. Networks 16 (1986), 33–46.
[97] Laporte, G.; Nobert, Y. Exact algorithms for the vehicle routing problem.
Annals of Discrete Mathematics 31 (1987), 147–184.
[98] Laporte, G.; Nobert, Y.; Arpin, D. Optimal solutions to capacitated multi-
depot vehicle routing problems. Congressus Numerantium 44 (1984), 283–292.
[100] Laporte, G.; Semet, F. The Vehicle Routing Problem. Monographs on Discrete
Mathematics and Applications. SIAM, Philadelphia, 2002, ch. Classical heuristics
for the Capacitated VRP, pp. 109–128.
[101] Lee, Y.; Kim, J.; Kang, K.; Kim, K. A heuristic for vehicle fleet mix problem
using tabu search and set partitioning. Journal of the Operational Research Society
59 (2008), 833–841.
[105] Li, F.; Golden, B.; Wasil, E. The open vehicle routing problem: Algorithms,
large-scale test problems, and computational results. Computers & Opertions Re-
search 34, 10 (2007), 2918–2930.
[106] Li, F.; Golden, B.; Wasil, E. A record-to-record travel algorithm for solving the
heterogeneous fleet vehicle routing problem. Computers and Operations Research
34 (2007), 2734–2742.
[107] Li, X.; Tian, P.; Aneja, Y. An adaptive memory programming metaheuristic
for the heterogeneous fixed fleet vehicle routing problem. Transportation Research
Part E: Logistics and Transportation Review 46, 6 (2010), 1111–1127.
BIBLIOGRAPHY 145
[108] Li, X.-Y.; Tian, P. An ant colony system for the open vehicle routing problem.
In Proceedings of the 5th International Workshop on Ant Colony Optimization and
Swarm Intelligence, ANTS 2006. Lecture Notes in Computer Science, vol. 4150.
Springer-Verlag, 2006, pp. 356–363.
[109] Li, X.-Y.; Tian, P.; Leung, S. C. H. An ant colony optimization metaheuris-
tic hybridized with tabu search for open vehicle routing problems. Journal of the
Operational Research Society 60 (2009), 1012–1025.
[111] Liu, S.; Huang, W.; Ma, H. An effective genetic algorithm for the fleet size and
mix vehicle routing problems. Transportation Research Part E 45 (2009), 434–445.
[113] Lucena, A. Exact Solution Approaches for the Vehicle Routing Problem. PhD
thesis, Imperial College, University of London, 1986.
[114] Lysgaard, J. A package of separation routines for the capacited vehicle routing
problem. Tech. rep., available at www.hha.dk/~lys/CVRPSEP.htm, 2003.
[116] Maniezzo, V.; Stützle, T.; Voß, S. The Vehicle Routing Problem, vol. 10 of
Annals of Information Systems. Springer, New York, 2009.
[117] Martin, O.; Otto, S. W.; Felten, E. W. Large-step markov chains for the
traveling salesman problem. Complex Systems 5 (1991), 299–326.
[118] Mester, D.; Bräysy, O. Active-guided evolution strategies for large-scale capac-
itated vehicle routing problems. Computers & Operations Research 34, 10 (2007),
2964–2975.
[119] Min, H. The multiple vehicle routing problem with simultaneous delivery and
pick-up points. Transportation Research 23, 5 (1989), 377–386.
BIBLIOGRAPHY 146
[121] Montané, F. A. T.; Galvão, R. D. A tabu search algorithm for the vehicle
routing problem with simultaneous pick-up and delivery service. European Journal
of Operational Research 33, 3 (2006), 595–619.
[122] Mosheiov, G. The traveling salesman problem with pick-up and delivery. European
Journal of Operational Research 79 (1994), 299–310.
[123] Mosheiov, G. Vehicle routing with pick-up and delivery: tour-partitioning heuris-
tics. Computers & Industrial Engineering 34, 3 (1998), 669–684.
[124] Naddef, D.; Rinaldi, G. The Vehicle Routing Problem. Monographs on Dis-
crete Mathematics and Applications. SIAM, Philadelphia, 2002, ch. Branch-and-cut
algorithms for the Capacitated VRP, pp. 53–84.
[125] Nagata, Y. Edge assembly crossover for the capacitated vehicle routing problem.
Proceedings of the Seventh European Conference on Evolutionary Computation in
Combinatorial Optimization. Lecture Notes in Computer Science 4446 (2007), 142–
153.
[126] Nagata, Y.; Bräysy, O. Efficient local search limitation strategies for vehicle
routing problems. Proceedings of the Eighth European Conference on Evolutionary
Computation in Combinatorial Optimization. Lecture Notes in Computer Science
4972 (2008), 48–60.
[127] Nagata, Y.; Bräysy, O. Edge assembly-based memetic algorithm for the capac-
itated vehicle routing problem. Networks 54, 4 (2009), 205–215.
[128] Nagy, G.; Salhi, S. Heuristic algorithms for single and multiple depot vehicle
routing problems with pickups and deliveries. European Journal of Operational
Research 162 (2005), 126–141.
[130] Ochi, L.; Vianna, D.; Drummond, L. M. A.; Victor, A. A parallel evolu-
tionary algorithm for the vehicle routing problem with heterogeneous fleet. Parallel
And Distributed Processing 1388 (1998), 216–224.
[131] Or, I. Traveling salesman-type combinational problems and their relation to the
logistics of blood banking. PhD thesis, Northwestern University, USA, 1976.
BIBLIOGRAPHY 147
[132] Osman, I. H. Metastrategy simulated annealing and tabu search algorithms for
the vehicle routing problem. Annals of Operations Research 41, 1-4 (1993), 421–451.
[134] Pessoa, A.; Uchoa, E.; Poggi de Aragão, M. The Vehicle Routing Problem:
Latest Advances and New Challenges. Springer, 2008, ch. Robust Branch-and-Cut-
and-Price Algorithms for Vehicle Routing Problems, pp. 297–325.
[136] Pisinger, D.; Røpke, S. A general heuristic for vehicle routing problems. Com-
puters & Operations Research 34, 8 (2007), 2403–2435.
[137] Poggi de Aragão, M.; Uchoa, E. Integer program reformulation for robust
branch-and-cut-and-price. In Annals of Mathematical Programming in Rio, Búzios
(2003), pp. 56–61.
[138] Prins, C. Efficient heuristics for the heterogeneous fleet multitrip vrp with appli-
cation to a large-scale real case. Journal of Mathematical Modelling and Algorithms
1 (2002), 135–150.
[139] Prins, C. A simple and effective evolutionary algorithm for the vehicle routing
problem. Computers & Operations Research 31, 12 (2004), 1985–2002.
[140] Prins, C. Bio-inspired Algorithms for the Vehicle Routing Problem, vol. 161 of
Studies in Computational Intelligence. Springer, 2009, ch. A GRASP x Evolutionary
Local Search Hybrid for the Vehicle Routing Problem, pp. 35–53.
[141] Prins, C. Two memetic algorithms for heterogeneous fleet vehicle routing prob-
lems. Engineering Aplications of Artificial Intelligence 22, 6 (2009), 916–928.
[143] Reimann, M.; Doerner, K.; Hartl, R. F. D-ants: savings based ants divide
and conquer the vehicle routing problem. Computers & Operations Research 31, 4
(2004), 563–591.
BIBLIOGRAPHY 148
[144] Renaud, J.; Boctor, F. A sweep-based algorithm for the fleet size and mix
vehicle routing problem. European Journal of Operational Research 140 (2002),
618–628.
[145] Renaud, J.; Laporte, G.; Boctor, F. F. A tabu search heuristic for the multi-
depot vehicle routing problem. Computers & Operations Research 23, 3 (1996),
229–235.
[148] Røpke, S.; Pisinger, D. A unified heuristic for a large class of vehicle routing
problems with backhauls. European Journal of Operational Research 171, 3 (2006),
750–775.
[149] Salhi, S.; Nagy, G. A cluster insertion heuristic for single and multiple depot
vehicle routing problems with backhauling. Journal of the Operational Research
Society 50 (1999), 1034–1042.
[150] Sariklis, D.; Powell, S. A heuristic method for the open vehicle routing prob-
lem. Journal of the Operational Research Society 51, 5 (2000), 564–573.
[152] Shaw, P. Using constraint programming and local search methods to solve ve-
hicle routing problems. Proceedings of the CP-98, Fourth international conference
on principles and practice of constraint programming, Lecture Notes in Computer
Science 1520 (1998), 417–431.
[155] Subramanian, A.; Cabral, L. A. F. An ILS based heuristic for the vehicle
routing problem with simultaneous pickup and delivery and time limit. Proceedings
of the Eighth European Conference on Evolutionary Computation in Combinatorial
Optimization, Lecture Notes in Computer Science 4972 (2008), 135–146.
[156] Subramanian, A.; Cabral, L. A. F.; Ochi, L. S. An efficient ILS heuristic for
the vehicle routing problem with simultaneous pickup and delivery. Tech. rep., Uni-
versidade Federal Fluminense, available at http://www.ic.uff.br/PosGraduacao/
RelTecnicos/401.pdf, 2008.
[157] Subramanian, A.; Drummond, L. M. A.; Bentes, C.; Ochi, L. S.; Farias,
R. A parallel heuristic for the vehicle routing problem with simultaneous pickup
and delivery. Computers & Operations Research 37, 11 (2010), 1899–1911.
[159] Subramanian, A.; Uchoa, E.; Ochi, L. S. New lower bounds for the vehi-
cle routing problem with simultaneous pickup and delivery. In Proceedings of the
9th International Symposium on Experimental Algorithms (SEA), Lecture Notes in
Computer Science (2010), pp. 276–287.
[160] Subramanian, A.; Uchoa, E.; Ochi, L. S. New lower bounds for the vehicle
routing problem with simultaneous pickup and delivery. Tech. Rep. 01/10, Univer-
sidade Federal Fluminense, Niterói, Brazil, 2010.
[162] Taillard, É. D. Parallel iterative search methods for vehicle routing problems.
Networks 23 (1993), 661–673.
[163] Taillard, É.; Badeau, P.; Gendreau, M.; Guertin, F.; Potvin, J.-Y.
A tabu search heuristic for the vehicle routing problem with soft time windows.
Transportation Science 31 (1997), 170–186.
[164] Taillard, É. D. A heuristic column generation method for heterogeneous fleet.
RAIRO (Recherche Opérationnelle) 33 (1999), 1–14.
[166] Tarantilis, C.; Ioannou, G.; Kiranoudis, C.; Prastacos, G. Solving the
open vehicle routeing problem via a single parameter metaheuristic algorithm. Jour-
nal of the Operational Research Society 56 (2005), 588–596.
[167] Tarantilis, C. D. Solving the vehicle routing problem with adaptive memory
programming methodology. Computers & Operations Research 32, 9 (2005), 2309–
2327.
[170] Tillman, F. A. The multiple terminal delivery problem with probabilistic de-
mands. Transportation Science 3 (1994), 192–204.
[171] Tillman, F. A.; Cain, T. M. An upperbound algorithm for the single and
multiple terminal delivery problem. Management Science 18 (1972), 664–682.
[173] Toth, P.; Tramontani, A. The Vehicle Routing Problem: Latest Advances and
New Challenges. Springer, 2008, ch. An Integer Linear Programming Local Search
for Capacitated Vehicle Routing Problems, pp. 275–295.
[174] Toth, P.; Vigo, D. Models, relaxations and exact approaches for the capacitated
vehicle routing problem. Discrete Applied Mathematics 123 (2002), 487–512.
[175] Toth, P.; Vigo, D. The Vehicle Routing Problem. Monographs on Discrete
Mathematics and Applications. SIAM, Philadelphia, 2002.
[176] Toth, P.; Vigo, D. The Vehicle Routing Problem. Monographs on Discrete
Mathematics and Applications. SIAM, Philadelphia, 2002, ch. Branch-and-bound
algorithms for the Capacitated VRP, pp. 29–51.
[177] Vidal, T.; Crainic, T.; Gendreau, M.; Lahrichi, N.; Rei, W. A hybrid
genetic algorithm for multi-depot and periodic vehicle routing problems. Operations
Research (2011). To appear.
BIBLIOGRAPHY 151
[178] Vigo, D. A heuristic algorithm for the asymmetric capacitated vehicle routing
problem. European Journal of Operational Research 89, 1 (1996), 108–126.
[179] Voudouris, C.; Tsang, E. Guided local search. European Journal of Operational
Research 113 (1998), 80–119.
[182] Wassan, N. A.; Nagy, G.; Ahmadi, S. A heuristic method for the vehicle
routing problem with mixed deliveries and pickups. Journal of Scheduling 11, 2
(2008), 149–161.
[183] Wassan, N. A.; Wassan, A. H.; Nagy, G. A reactive tabu search algorithm
for the vehicle routing problem with simultaneous pickups and deliveries. Journal
of Combinatorial Optimization 15, 4 (2008), 368–386.
[184] Wren, A.; Holliday, A. Computer scheduling of vehicles from one or more
depots to a number of delivery points. Operations Research 23 (1972), 333–344.
[185] Yaman, H. Formulations and valid inequalities for the heterogeneous vehicle rout-
ing problem. Mathematical Programming 106 (2006), 365–390.
[191] Zhao, F.-G.; Sun, J.-S.; Li, S.-J.; Li, W.-M. A hybrid genetic algorithm for
the traveling salesman problem with pickup and delivery. International Journal of
Automation and Computing 6, 1 (2009), 97–102.