0% found this document useful (0 votes)
206 views170 pages

532 PDF

The document is a thesis presented to the Computing Graduate Program of the Universidade Federal Fluminense in partial fulfillment of the requirements for the degree of Doctor of Science. The thesis, written by Anand Subramanian and advised by Luiz Satoru Ochi and Eduardo Uchoa, examines heuristic, exact, and hybrid approaches for solving various vehicle routing problems, including capacitated vehicle routing, open vehicle routing, and vehicle routing with simultaneous pickup and delivery. The thesis includes an extensive literature review, theoretical examinations of formulations, computational testing of exact algorithms, and development of heuristic and hybrid algorithms to solve several variants of the vehicle routing problem.

Uploaded by

phylosophys
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
206 views170 pages

532 PDF

The document is a thesis presented to the Computing Graduate Program of the Universidade Federal Fluminense in partial fulfillment of the requirements for the degree of Doctor of Science. The thesis, written by Anand Subramanian and advised by Luiz Satoru Ochi and Eduardo Uchoa, examines heuristic, exact, and hybrid approaches for solving various vehicle routing problems, including capacitated vehicle routing, open vehicle routing, and vehicle routing with simultaneous pickup and delivery. The thesis includes an extensive literature review, theoretical examinations of formulations, computational testing of exact algorithms, and development of heuristic and hybrid algorithms to solve several variants of the vehicle routing problem.

Uploaded by

phylosophys
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 170

UNIVERSIDADE FEDERAL FLUMINENSE

ANAND SUBRAMANIAN

Heuristic, Exact and Hybrid Approaches for Vehicle

Routing Problems

NITERÓI
2012
UNIVERSIDADE FEDERAL FLUMINENSE

ANAND SUBRAMANIAN

Heuristic, Exact and Hybrid Approaches for Vehicle

Routing Problems

Thesis presented to the Computing Gradu-


ate Program of the Universidade Federal Flu-
minense in partial fulfillment of the require-
ments for the degree of Doctor of Science.
Topic Area: Algorithms and Optimization.

Advisor:
Luiz Satoru Ochi

Co-advisor:
Eduardo Uchoa

NITERÓI
2012
Heuristic, Exact and Hybrid Approaches for Vehicle Routing Problems

Anand Subramanian

Thesis presented to the Computing Gradu-


ate Program of the Universidade Federal Flu-
minense in partial fulfillment of the require-
ments for the degree of Doctor of Science.

Approved by:

Prof. D.Sc. Luiz Satoru Ochi / IC-UFF (President)

Prof. D.Sc. Eduardo Uchoa / DEP-UFF

Prof. D.Sc. Carlos Alberto de Jesus Martinhon / IC-UFF

Prof. D.Sc. Simone de Lima Martins / IC-UFF

Prof. D.Sc. Lucı́dio dos Anjos Formiga Cabral / DI-UFPB

Prof. D.Sc. Reinaldo Morabito Neto / DEP-UFSCar

Prof. Ph.D. Marcus V. S. Poggi de Aragão / DI-PUC-Rio

Niterói, March 05, 2012


“You can fight without ever winning
but never ever win without a fight.”

Neil Peart (Rush)


To my parents.
Acknowledgments

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:

• My family, especially my parents Mani and Shyla, my brother Aravind, my sister-in-


law Ramya and my lovely nieces Arya and Sruthi for their affection, encouragement
and support.

• 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.

• Profs. Lucia Drummond (IC-UFF), Marcone Jamilson F. Souza (DECOM-UFOP),


Cristiana Bentes (UERJ), Ricardo Farias (COPPE-UFRJ), Fábio Protti (IC-UFF),
Anna Dolejsi (IC-UFF) and Anselmo Montenegro (IC-UFF) for insightful discus-
sions and research collaborations.

• 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.

• Janaı́na Lima, for reading and correcting parts of the text.

• Conselho Nacional de Pesquisa (CNPq), for the scholarship grant.

Muito obrigado!
Abstract

The Vehicle Routing Problem (VRP) is a classical combinatorial optimization problem


that was proposed in the late 1950’s and it is still one of the most studied in the field
of Operations Research. The great interest in the VRP is due to its practical impor-
tance, as well as the difficulty in solving it. This work deals with heuristic, exact and
hybrid approaches for solving different variants of the VRP, namely: Capacitated VRP
(CVRP), Open VRP (OVRP), Asymmetric CVRP (ACVRP), VRP with Simultaneous
Pickup and Delivery (VRPSPD), VRP with Mixed Pickup and Delivery (VRPMPD), TSP
with Mixed Pickup and Delivery (TSPMPD), Multi-Depot VRP (MDVRP), Multi-Depot
Vehicle Routing Problem with Mixed Pickup and Delivery (MDVRPMPD) and Hetero-
geneous Fleet VRP (HFVRP). An extensive literature review is performed for all these
variants, focusing on the main contributions of each work. Commodity flow formulations
for the VRPSPD/VRPMPD are theoretically examined and their practical performance
are measured by a Branch-and-cut (BC) algorithm. Another BC algorithm, based on a
formulation defined only over the edge variables, is proposed for the VRPSPD, VRPMPD
and MDVRPMPD, where the constraints that ensure that the capacity of the vehicle is
not exceeded in the middle of the route and those that ensure that a route starts and ends
at the same depot are treated in a lazy fashion. The third and last exact approach is a
Branch-cut-and-price algorithm that is also designed to solve the VRPSPD/VRPMPD.
These three exact approaches are tested in benchmark instances involving up to 200 cus-
tomers and new optimal solutions are found for 67 open problems. A heuristic algorithm
is proposed for solving the VRPs considered here. The algorithm, called ILS-RVND, is
based on the Iterated Local Search (ILS) metaheuristic and it makes use of a Variable
Neighborhood Descent with Random neighborhood ordering (RVND) in the local search
phase. Finally, a hybrid algorithm that incorporates a Set Partitioning approach into the
ILS-RVND heuristic is presented for solving 8 of the VRPs treated in this work. The
developed heuristic and hybrid algorithms are tested in hundreds of benchmark instances
and the results obtained are, on average, highly competitive.

Keywords: Vehicle Routing Problems. Exact approaches. Heuristic and hybrid algo-
rithms. Iterated Local Search. Logistics.
Resumo

O Problema de Roteamento de Veı́culos (PRV) é um problema clássico de otimização


combinatória proposto no final da década de 1950, sendo ainda um dos mais estudados
na área de Pesquisa Operacional. O elevado interesse no PRV é devido a sua importân-
cia prática, bem como a dificuldade em resolvê-lo. Este trabalho trata de abordagens
heurı́sticas, exatas e hı́bridas para diferentes variantes do PRV, a saber: PRV Capacitado
(PRVC), PRV com Rotas Abertas (PRVRA), PRV Capacitado e Assimétrico (PRVCA),
PRV com Coleta e Entrega Simultânea (PRVCES), PRV com Coleta e Entrega Mista
(PRVCEM), Problema do Caixeiro Viajante com Coleta e Entrega Mista (PCVCEM),
PRV com Múltiplos Depósitos (PRVMD), PRV com Coleta e Entrega Mista e Múlti-
plos Depósitos (PRVCEMMD) e PRV com Frota Heterogênea (PRVFH). Uma extensa
revisão da literatura é efetuada para todas estas variantes, dando destaque as princi-
pais contribuições de cada trabalho. Formulações baseadas em fluxo em rede para o
PRVCES/PRVCEM são teoricamente examinadas e seus desempenhos práticos são me-
didos por meio de um algoritmo Branch-and-Cut (BC). Outro algoritmo BC, baseado em
uma formulação definida apenas sobre as variáveis de aresta, é proposto para o PRVCES,
PRVCEM e PRVCEMMD, onde as restrições que garantem que a capacidade do veı́culo
não é excedida no meio da rota e aquelas que garantem que uma rota começa e termina
no mesmo depósito são separadas de uma maneira lazy. A terceira e última abordagem
exata é um algoritmo Branch-cut-and-price que também é desenvolvido para resolver o
PRVCES/PRVCEM. Estas três abordagens exatas são testadas em instâncias da literatura
envolvendo até 200 clientes e novas soluções ótimas são encontradas para 67 problemas
em aberto. Um algoritmo heurı́stico é proposto para resolver os PRVs aqui considerados.
O algoritmo, denominado, ILS-RVND, é baseado na metaheurı́stica Iterated Local Search
(ILS) que faz uso de procedimento inspirado no método Variable Neighborhood Descent
com ordem aleatória na escolha das vizinhanças (RVND) na fase de busca local. Final-
mente, um algoritmo hı́brido, que incorpora uma abordagem baseada em Particionamento
de Conjuntos na heurı́stica ILS-RVND, é apresentado para resolver 8 dos PRVs tratados
neste trabalho. Os algoritmos heurı́sticos e hı́bridos são testados em centenas de instân-
cias da literatura e os resultados obtidos são, em média, altamente competitivos.

Palavras-chave: Problemas de Roteamento de Veı́culos. Abordagens exatas. Algoritmos


heurı́sticos e hı́bridos. Iterated Local Search. Logı́stica.
Contents

Glossary xi

List of Figures xiii

List of Tables xiv

1 Introduction 1

1.1 Definition of the theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 A Review of the Vehicle Routing Problems Considered in the Present Work 7

2.1 Capacitated Vehicle Routing Problem (CVRP) . . . . . . . . . . . . . . . . 7


2.2 Asymmetric Capacitated Vehicle Routing Problem (ACVRP) . . . . . . . . 10
2.3 Open Vehicle Routing Problem (OVRP) . . . . . . . . . . . . . . . . . . . 12
2.4 Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD) 13
2.5 Vehicle Routing Problem with Mixed Pickup and Delivery (VRPMPD) . . 17
2.6 Traveling Salesmen Problem with Mixed Pickup and Delivery (TSPMPD) . 18
2.7 Multi-depot Vehicle Routing Problem (MDVRP) . . . . . . . . . . . . . . 19
2.8 Multi-depot Vehicle Routing Problem with Mixed Pickup and Delivery
(MDVRPMPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.9 Heterogeneous Fleet Vehicle Routing Problem (HFVRP) . . . . . . . . . . 21

3 Branch-and-cut over Flow Formulations for the Vehicle Routing Problem with

Simultaneous/Mixed Pickup and Delivery 24

3.1 One-commodity flow formulation . . . . . . . . . . . . . . . . . . . . . . . 24


3.2 Two-commodity flow formulations . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Undirected two-commodity flow formulation . . . . . . . . . . . . . 26
3.2.2 Directed two-commodity flow formulation . . . . . . . . . . . . . . 29
3.3 A Branch-and-cut approach . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Computational experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 VRPSPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2 VRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Contents ix

3.5 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Branch-and-cut with Lazy Separation for the Single and Multi-depot Vehicle Rout-

ing Problem with Simultaneous/Mixed Pickup and Delivery 44

4.1 Mathematical formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


4.2 Computational experiments with a Branch-and-cut approach . . . . . . . . 46
4.2.1 VRPSPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 VRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.3 MDVRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5 Branch-cut-and-price for the Vehicle Routing Problem with Simultaneous/Mixed

Pickup and Delivery 51

5.1 Introducing the pd-route . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


5.2 Mathematical formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 The Branch-cut-and-price algorithm . . . . . . . . . . . . . . . . . . . . . . 54
5.3.1 Pricing subproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.2 Cut generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4 Computational experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.1 Data preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.4.2.1 VRPSPD . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.4.2.2 VRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.5 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6 An ILS Heuristic for General Vehicle Routing Problems 62

6.1 A brief overview of the ILS metaheuristic . . . . . . . . . . . . . . . . . . . 62


6.2 The ILS-RVND heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.2.1 Estimating the number of vehicles . . . . . . . . . . . . . . . . . . . 63
6.2.2 Constructive procedure . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.2.2.1 Insertion criteria . . . . . . . . . . . . . . . . . . . . . . . 65
6.2.2.2 Insertion strategies . . . . . . . . . . . . . . . . . . . . . . 66
6.2.3 Local search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.2.3.1 Auxiliary Data Structures (ADSs) . . . . . . . . . . . . . 69
6.2.3.2 Inter-Route neighborhood structures . . . . . . . . . . . . 70
6.2.3.3 Intra-Route neighborhood structures . . . . . . . . . . . . 79
6.2.3.4 Trying to empty a route . . . . . . . . . . . . . . . . . . . 80
6.2.4 Perturbation mechanisms . . . . . . . . . . . . . . . . . . . . . . . 81
6.3 Computational results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Contents x

6.3.1 VRPs with Homogeneous Fleet . . . . . . . . . . . . . . . . . . . . 83


6.3.1.1 Parameter tuning . . . . . . . . . . . . . . . . . . . . . . . 83
6.3.1.2 CVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.3.1.3 ACVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.3.1.4 OVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3.1.5 VRPSPD . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.3.1.6 VRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.1.7 MDVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.1.8 MDVRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.2 HFVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.2.1 Parameter tuning . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.2.2 HVRPFD . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.2.3 HVRPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3.2.4 FSMFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3.2.5 FSMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3.2.6 FSMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3.3 TSPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3.3.1 Parameter tuning . . . . . . . . . . . . . . . . . . . . . . . 110
6.3.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7 A Hybrid Algorithm for General Vehicle Routing Problems 115

7.1 A Set Partitioning approach . . . . . . . . . . . . . . . . . . . . . . . . . . 115


7.2 The ILS-RVND-SP algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3 Computational results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.3.1 CVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.3.2 ACVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.3.3 OVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.3.4 VRPSPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.3.5 VRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.3.6 MDVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.3.7 MDVRPMPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.3.8 HFVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.4 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8 Concluding Remarks and Future Work 134

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

MDVRP : Multi-Depot Vehicle Routing Problem;


MDVRPMPD : Multi-Depot Vehicle Routing Problem with Mixed Pickup and
Delivery;
MIP : Mixed Integer Programming;
MST : Minimum Spanning Tree;
NL : Neighborhood List;
MCFIC : Modified Cheapest Feasible Insertion Criterion;
NFIC : Nearest Feasible Insertion Criterion;
OR : Operations Research;
OVRP : Open Vehicle Routing Problem;
PSO : Particle Swarm Optimization;
PDP : Pickup and Delivery Problem;
RL : Route List;
RVND : Variable Neighborhood Descent with Random neighborhood
ordering;
SA : Simulated Annealing;
SIS : Sequential Insertion Strategy;
PIS : Parallel Insertion Strategy;
SS : Scatter Search;
SP : Set Partitioning;
TSP : Traveling Salesman Problem;
TSPMPD : Traveling Salesman Problem with Mixed Pickup and Delivery;
TS : Tabu Search;
UB : Upper Bound;
VND : Variable Neighborhood Descent;
VNS : Variable Neighborhood Search;
VRP : Vehicle Routing Problem;
VRPMPD : Vehicle Routing Problem with Mixed Pickup and Delivery;
VRPSPD : Vehicle Routing Problem with Simultaneous Pickup and
Delivery;
VRPTW : Vehicle Routing Problem with Time Windows.
List of Figures

3.1 VRPSPD example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


3.2 The two-commodity formulation scheme for the VRPSPD . . . . . . . . . 27
5.1 Example of a pd-route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2 Example of states and pd-routes generated during the dynamic programming 56
6.1 λ-interchanges and Cross based neighborhoods . . . . . . . . . . . . . . . . 72
6.2 K-Shift neighborhood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3 Multi-depot neighborhoods . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.4 Intra-Route neighborhoods . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.5 Double-Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
List of Tables

2.1 CVRP surveys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


2.2 CVRP effective heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 ACVRP related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 OVRP related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 VRPSPD related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 VRPMPD related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 TSPMPD related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8 MDVRP related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.9 MDVRPMPD related works . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10 HFVRP related works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1 Results obtained by F1C on Dethloff’s instances . . . . . . . . . . . . . . . 34
3.2 Results obtained by the F2C-U on Dethloff’s instances . . . . . . . . . . . 35
3.3 Results obtained by F2C-D on Dethloff’s instances . . . . . . . . . . . . . 36
3.4 Results obtained by F1C on Salhi and Nagy’s instances (VRPSPD) . . . . 36
3.5 Results obtained by the F2C-U on Salhi and Nagy’s instances (VRPSPD) . 37
3.6 Results obtained by F2C-D on Salhi and Nagy’s instances (VRPSPD) . . . 37
3.7 Results obtained by the F1C on Montané and Galvão’s instances . . . . . . 37
3.8 Results obtained by F2C-U on Montané and Galvão’s instances . . . . . . 38
3.9 Results obtained by F2C-D on Montané and Galvão’s instances . . . . . . 38
3.10 Root node statistics of F1C over a set of VRPSPD representative instances 38
3.11 Root node statistics of F2C-U over a set of VRPSPD representative instances 39
3.12 Root node statistics of F2C-D over a set of VRPSPD representative instances 39
3.13 Summary of the results obtained by the three formulations . . . . . . . . . 39
3.14 Results obtained by F1C on Salhi and Nagy’s instances (VRPMPD) . . . . 40
3.15 Results obtained by F2C-U on Salhi and Nagy’s instances (VRPMPD) . . 40
3.16 Results obtained by F2C-D on Salhi and Nagy’s instances (VRPMPD) . . 41
3.17 Root node statistics of the F1C over a set of VRPMPD representative
instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.18 Root node statistics of F2C-U over a set of VRPMPD representative instances 42
3.19 Root node statistics of F2C-D over a set of VRPMPD representative instances 42
3.20 Summary of the results obtained by the three formulations (VRPMPD) . . 42
3.21 Optimal Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
List of Tables xv

4.1 Results obtained on the instances of Dethloff [48] . . . . . . . . . . . . . . 48


4.2 Results obtained on the VRPSPD instances of Salhi and Nagy [149] . . . . 48
4.3 Results obtained on the instances of Montané and Galvão [121] . . . . . . 49
4.4 Results obtained on the VRPMPD instances of Salhi and Nagy [149] . . . 49
4.5 Results obtained on the MDVRPMPD instances of Salhi and Nagy [149] . 50
5.1 Results obtained on the instances of Dethloff [48] . . . . . . . . . . . . . . 59
5.2 Results obtained on the VRPSPD instances of Salhi and Nagy [149] . . . . 60
5.3 Results obtained on the instances of Montané and Galvão [121] . . . . . . 60
5.4 Results obtained on the VRPMPD instances of Salhi and Nagy [149] . . . 61
6.1 Results of the parameter tuning for M axIter = 50 . . . . . . . . . . . . . . 84
6.2 Results of the parameter tuning for M axIter = 75 . . . . . . . . . . . . . . 85
6.3 Results found for the A and B CVRP instances . . . . . . . . . . . . . . . 86
6.4 Results found for the E, F, M and P CVRP instances . . . . . . . . . . . . 87
6.5 Results found for the CVRP instances of Christofides et al. [31] . . . . . . 88
6.6 Results found for the CVRP instances of Golden et al. [80] . . . . . . . . . 89
6.7 Results found for the ACVRP instances of Fischetti et al. [57] and Pessoa
et al. [134] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.8 Results found for the A and B OVRP instances . . . . . . . . . . . . . . . 92
6.9 Results found for the E, F, M and P OVRP instances . . . . . . . . . . . . 93
6.10 Results found for the instances of Christofides et al. [31], Fisher [58] and
Li et al. [106] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.11 Results found for the VRPSPD instances of Dethloff et al. [48] . . . . . . . 96
6.12 Results found for the VRPSPD instances of Salhi and Nagy [149] . . . . . 97
6.13 Results found for the VRPSPD instances of Montané and Galvão [121] . . 98
6.14 Results found for the VRPMPD instances of Salhi and Nagy [149] . . . . . 100
6.15 Results found for the old MDVRP instances of Cordeau et al. [35] . . . . . 101
6.16 Results found for the new MDVRP instances of Cordeau et al. [35] . . . . 101
6.17 Results found for the MDVRPMPD instances of Salhi and Nagy [149] . . . 102
6.18 HFVRP Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.19 Results of the parameter tuning for M axIter = 400 . . . . . . . . . . . . . 104
6.20 Results of the parameter tuning for M axIter = 450 . . . . . . . . . . . . . 104
6.21 Results for the HVRPFD instances of Taillard [164] . . . . . . . . . . . . . 106
6.22 Results for the HVRPD instances of Taillard [164] . . . . . . . . . . . . . . 106
6.23 Results for the FSMFD instances of Golden et al. [76] . . . . . . . . . . . . 107
6.24 Results for the FSMF instances of Golden et al. [76] . . . . . . . . . . . . . 108
6.25 Results for the FSMD instances of Golden et al. [76] . . . . . . . . . . . . 109
6.26 Results of the parameter tuning for M axIter = 50 (TSPMPD) . . . . . . . 110
6.27 Results of the parameter tuning for M axIter = 75 (TSPMPD) . . . . . . . 111
List of Tables xvi

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.1 Denition of the theme


The Vehicle Routing Problem (VRP) is a classical Combinatorial Optimization (CO)
problem that was proposed in the late 1950’s and it is still one of the most studied in the
field of Operations Research (OR). The great interest in the VRP is due to its practical
importance, as well as the difficulty in solving it.
The dictionary defines the term routing as the act of sending someone or something
along a particular course. According to Laporte [95], the name Vehicle Routing Problem
was first employed in the mid 1970’s by Christofides [30] and it had been widely adopted
since then. In a general form, the VRP consists of designing a least-cost set of vehicle
routes, subjected to some side constraints, in order to serve geographically dispersed
customers.
The VRP is generally solved by exact or heuristic algorithms. The first aims to
find strict optimal solutions while the latter seeks to obtain sub-optimal/approximate
solutions. The term heuristic is derived from the greek word heuriskein, which means
to find. In the area of computing, heuristic can be defined as a rule-based procedure
developed for determining a good quality solution to a specific problem.
Hybrid approaches, i.e, those that combine heuristic and exact methods, are another
alternative that can be employed to solve the VRP. Exact procedures can be integrated
into heuristics and vice-versa.
This work presents heuristic, exact and hybrid approaches to solve a large class of
VRPs. The next sections describe the motivation, objectives and outline of the thesis.

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:

(i) Capacitated VRP.

(ii) Asymmetric CVRP.

(iii) Open VRP.

(iv) VRP with Simultaneous Pickup and Delivery.

(v) VRP with Mixed Pickup and Delivery.

(vi) Traveling Salesman Problem with Mixed Pickup and Delivery.

(vii) Multi-depot VRP.

(viii) Multi-depot VRP with Mixed Pickup and Delivery.

(ix) Heterogeneous Fleet VRP.

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 exact approaches for problems (iv), (v) and (vii).

• 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).

1.4 Thesis outline


The remainder of this work is organized as follows.

• Chapter 2 describes the VRPs treated in this work, as well as their respective liter-
ature reviews.

• Chapter 3 presents a theoretical comparison between different commodity flow for-


mulations and a Branch-and-cut approach for the VRP with Simultaneous/Mixed
Pickup and Delivery.

• Chapter 4 presents a Branch-and-cut algorithm with a lazy separation scheme over


a mathematical formulation composed only by the edge variables for the Single and
Multi-depot VRP with Simultaneous/Mixed Pickup and delivery.

• Chapter 5 presents a Branch-cut-and-price algorithm for the VRP with Simultane-


ous/Mixed Pickup and Delivery.

• 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.

• Chapter 8 contains the concluding remarks of this work.


Chapter 2

A Review of the Vehicle Routing Prob-


lems Considered in the Present Work

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].

2.1 Capacitated Vehicle Routing Problem (CVRP)


The CVRP is considered to be the classical version of the VRP. A formal definition of
the problem is as follows. Let G = (V, E) be a complete graph with a set of vertices V =
{0, ..., n}, where the vertex 0 represents the depot and the remaining ones the customers.
Each edge {i, j} ∈ E has a non-negative cost cij and each customer i ∈ V 0 = V \{0} has a
demand di . Let C = {1, ..., m} be the set of homogeneous vehicles with capacity Q. The
CVRP consists in constructing a set up to m routes in such a way that: (i) every route
starts and ends at the depot; (ii) all the demands are accomplished; (iii) the vehicle’s
capacity is not exceeded; (iv) a customer is visited by only a single vehicle; (v) the sum
of costs is minimized.
Many exact algorithms had been proposed to solve the CVRP and the goal is not to
review all of them here. There are some specific surveys in the literature that cover most of
these approaches. A detailed review of algorithms based on Branch-and-bound, Branch-
2.1 Capacitated Vehicle Routing Problem (CVRP) 8

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.

2.2 Asymmetric Capacitated Vehicle Routing Problem


(ACVRP)
The ACVRP is a generalization of the CVRP where the cost between a pair of vertices is
not necessarily symmetric, i.e., cij need not be equal to cji , ∀i, j ∈ V .
Examples of ACVRP applications appear in some cases where the travel costs between
two destinations may differ due to certain road restrictions such as one-way directions or
the existence of tolls.
There are very few works specially devoted to the ACVRP in the literature. In mid
1980’s, Laporte et al. [96] suggested an exact Branch-and-bound algorithm in which
the subproblems are formulated as modified assignment problems. Almost a decade later,
Fischetti et al. [57] proposed a Branch-and-bound approach whose lower bounds are based
2.2 Asymmetric Capacitated Vehicle Routing Problem (ACVRP) 11

on: (i) assignment problems; (ii) disjunction on infeasible arcs subset; and (iii) min-cost
flow relaxation.

Table 2.1: CVRP surveys


Work Year Topic of the survey
Laporte and Nobert [97] 1987 Exact algorithms
Toth and Vigo [176] 2002 Branch-and-bound algorithms
Naddef and Rinaldi [124] 2002 Branch-and-cut algorithms
Bramel and Simchi-Levi [19] 2002 Set-covering based algorithms
Laporte and Semet [100] 2002 Classical heuristics
Gendreau et al. [100] 2002 Metaheuristics
Cordeau et al. [37] 2004 TS heuristics
Cordeau et al. [34] 2005 Metaheuristics
Cordeau et al. [39] 2007 Exact and heuristic algorithms
Laporte [94] 2007 Exact and heuristic algorithms
Baldacci et al. [11] 2007 Latest exact approaches
Gendreau et al. [69] 2008 Annotated bibliography on metaheuristics
Laporte [95] 2009 Exact and heurisitc algorithms
Baldacci et al. [12] 2010 Latest exact approaches (update of [11])

Table 2.2: CVRP effective heuristics


Work Year Approach
Taillard [162] 1993 TS
Rochat and Taillard [147] 1995 TS + AMP
Reinmann et al. [143] 2004 AC
Prins [139] 2004 MA
Tarantilis [167] 2005 TS + AMP
De Franceschi et al. [43] 2006 ILP Local Search
Pisinger and Røpke [136] 2007 ALNS
Kytöjoki [93] 2007 VNS + GLS
Mester and Bräysy [118] 2007 LNS + GLS + ES
Nagata [125] 2007 MA
Derigs and Kaiser [46] 2007 ABHC
Nagata and Bräysy [126] 2008 MA
Toth and Tramontani [173] 2008 ILP Local Search
Prins [140] 2009 GRASP + ILS + ES
Nagata and Bräysy [127] 2009 MA
Zacharidis and Kiranoudis [187] 2010 Enhanced Local Search algorithm
Chen et al. [28] 2010 ILS + VND
Vidal et al. [177] 2011 Hybrid GA

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.

Table 2.3: ACVRP related works


Work Year Approach
Laporte et al. [96] 1986 Branch-and-bound Algorithm
Fischetti et al. [57] 1994 Branch-and-bound Algorithm
Vigo [178] 1996 Improvement/repairing heuristic
De Franceschi et al. [43] 2006 ILP Local Search
Pessoa et al. [134] 2008 Robust Branch-and-cut-and-price

2.3 Open Vehicle Routing Problem (OVRP)


The OVRP is a special case of the ACVRP where the vehicles need not to return to
the depot after visiting the last customer of a given route. Any OVRP instance can be
converted to an ACVRP instance by simply setting ci0 = 0, ∀i ∈ V . Most authors also
state that the number of vehicles must be minimized.
Applications of the OVRP may arise when a company chooses to hire a vehicle fleet
to be in charge of the delivery services and, due to logistic reasons, these vehicles are not
forced to return to the company’s depot. In this case, the distribution costs are generally
proportional to the lenght of the routes and/or to the number of vehicles used by the
outsourced company.
Schrage [151] was the first to address the problem, in early 1980’s, by describing certain
characteristics of some real-life VRPs. One example mentioned by the author is the air
express courier, in which aircrafts depart from a depot city, deliver their cargo to a set of
customers geographically spread and then collect the cargo from the same set of customers
by retracing their routes back to the depot. Bodin et al. [18] have presented a case study
of this type of application at the FedEx Express company. Besides capacity constraints,
other restrictions such as time windows and routes duration were also considered. The
problem was solved by a procudure based on the Clarke and Wright savings heuristic [33].
The OVRP literature remained practically unchanged for nearly two decades until
it was revisited by Sariklis and Powell [150] in 2000. The authors proposed a cluster-
first, route second approach [17] where the first phase consists in grouping the customers
according to the capacity constraints, while the second phase consists of a Minimum
Spanning Tree (MST) heuristic that incoporates a penalty procedure.
Letchford et al. [103] presented an ILP formulation, a set of valid inequalities, as well
as a BC algorithm that is mainly based on the one described in [115]. Their procedure
is capable of solving to optimality several small and medium-sized instances. This work,
along with the one of Pessoa et al. [134], are to date the only exact approaches that dealt
2.4 Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD) 13

with the OVRP.


A considerable number of OVRP heuristic algorithms have been published since 2004.
Some of these are based on the TS metaheuristic. Brandão [21] proposed a TS heuristic
that makes use of a nearest neighborhood heuristic and a K-tree based procedure for
generating initial solutions, whereas the local search is performed by shift and swap moves.
Tarantilis et al. [23] suggested a heuristic that interactively combines the TS and AMP
methods. Fu et al. ([61], [62]) developed a TS algorithm that employs a farthest-first
heuristic for constructing an initial solution while shift, swap and 2-opt moves are used
in the local search phase. Derigs and Reuter [47] proposed a ABHC procedure which is
similar to the one presented in [46] for the CVRP.
OVRP algorithms based on other local search metaheuristics were also proposed.
Tarantilis et al. [165] presented a threshold accepting approach [54] 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 [166] also proposed another threshold accepting pro-
cedure that is integrated in a single-parameter metaheuristic. Li et al. [105] put forward
a record-to-record [53] travel algorithm that, also as the threshold method, consists of
a deterministic variant of the SA. Fleszar et al. [60] presented a VNS heuristic whose
neighborhood operators are composed by exchanging segments between two routes and
reversing segments of a single route. Zachariadis et al. [186] developed a local search
metaheuristic that explores wide neighborhoods by only evaluating parts of a current
solution that have been modified by a previous move.
Differently from pure local search approches, there are few works containing applica-
tions of ES to the OVRP. Li and Tian [108] presented an AC algorithm combined with
local search followed by a post-optimization procedure applied to the best solution ob-
tained. A similar approach was later developed by Li et al. [109] where a TS procedure
is incorporated into the AC framework. Repoussis et al. [146] suggested a heuristic based
on ES in which offspring individuals (solutions) are generated through mutation operators
and these intermediate solutions are improved by a procedure based on GLS and TS.
Table 2.4 summarizes the OVRP related works.

2.4 Vehicle Routing Problem with Simultaneous Pickup


and Delivery (VRPSPD)
The VRPSPD is a generalization of the CVRP in which a customer i ∈ V 0 have both
a delivery demand di and also a pickup demand pi . This problem can be considered as
a Pickup and Delivery Problem (PDP). Berbeglia et al. [14] proposed a general scheme
for classifying PDPs based on the characteristic of each problem. According to their
framework, the VRPSPD was categorized as the multi-vehicle one-to-many-to-one PDP
2.4 Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD) 14

with combined demands.

Table 2.4: OVRP related works


Work Year Approach
Bodin et al. [18] 1983 Clarke and Wright based heuristic
Sariklis and Powell [150] 2000 Cluster-first, route-second heuristic
Brandão [21] 2004 TS
Tarantilis et al. [23] 2004 TS + AMP
Tarantilis et al. [165] 2004 Threshold accepting approach
Tarantilis et al. [166] 2005 Single-parameter metaheuristic
Fu et al. ([61], [62]) 2005 TS
Li and Tian [108] 2006 AC
Letchford et al. [103] 2007 Branch-and-cut algorithm
Pisinger and Røpke [136] 2007 ALNS
Li et al. ([105] 2007 Record-to-record travel algorithm
Pessoa et al. [134] 2008 Robust Branch-and-cut-and-price
Derigs and Reuter [47] 2009 ABHC
Fleszar et al. [60] 2009 VNS
Li et al. [109] 2009 AC + TS
Repoussis et al. [146] 2010 ES + GLS + TS
Zachariadis and Kiranoudis [186] 2010 Wide neighborhoods based metaheuristic

A number of applications of the VRPSPD can be found in the beverage industry,


where filled bottles are delivered while the empty ones are collected; in grocery stores,
where pallets or containers are collected for re-use in merchandise transportation, etc.
On the other hand, some customers can demand that the delivery and pickup services
should performed at the same time, since, if it is carried out separately, it may imply in
additional costs and operational efforts for these customers.
The VRPSPD was first proposed by Min [119] in the late 1980’s. The author presented
a heuristic to solve a real-life problem concerning the distribution and collection of books
of a public library.
Very few exact approaches were proposed in the VRPSPD literature. A Branch-and-
price algorithm was developed by Dell’Amico et al. [44], in which two different strategies
were used to solve the subpricing problem: (i) exact dynamic programming; and (ii)
state space relaxation. The authors managed to find optimal solutions for instances
with up to 40 customers. Angelelli and Manisini [3] also developed a Branch-and-price
approach based on the set covering formulation, but for the VRPSPD with time-windows
constraints. The subproblem was formulated as a shortest-path with resource constraints
but without the elementary condition and it was solved by applying a permanent labeling
algorithm. The authors were able to find optimal solutions for instances with up to 20
customers. Three-index formulations for the VRPSPD were proposed by Dethloff [48] and
Montané and Galvão [121], however only the last authors had tested it in practice. They
2.4 Vehicle Routing Problem with Simultaneous Pickup and Delivery (VRPSPD) 15

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.

Table 2.5: VRPSPD related works


Work Year Approach
Min [119] 1989 Three-phase heuristic
Halse [82] 1992 Cluster-first, route-second strategy
Salhi and Nagy [149] 1999 Insertion based heuristics
Dethloff [48] 2001 Constructive heuristics
Angelelli and Mansini[3] 2001 Branch-and-price for the VRPSPD with TW
Vural [180] 2003 GA
Røpke and Pisinger [148] 2004 LNS
Nagy and Salhi [128] 2005 Constructive and Improvement/Feasibility Heuristics
Crispim and Brandão [40] 2005 TS + VND
Dell’amico et al. [44] 2006 Branch-and-price
Chen and Wu [27] 2006 Record-to-record travel + Tabu Lists
Chen [26] 2006 TS + SA
Montané and Galvão [121] 2006 TS Algorithm
Bianchessi and Righini [15] 2007 Constructive, Local Search and TS + VNS Heuristics
Wassan et al. [183] 2008 Reactive TS
Subramanian and Cabral [155] 2008 ILS + VND for the VRPSPD with route durations
Subramanian [154] 2008 ILS + VND
Subramanian et al. [156] 2008 ILS + VND
Zachariadis et al. [189] 2009 TS + GLS
Gajpal and Abad [64] 2009 AC
Zachariadis et al. [190] 2010 TS + AMP
Subramanian et al. [157] 2010 Parallel ILS + RVND
Souza et al. [157] 2011 ILS + GENIUS
Zachariadis and Kiranoudis [188] 2011 Local search metaheuristic
2.5 Vehicle Routing Problem with Mixed Pickup and Delivery (VRPMPD) 17

2.5 Vehicle Routing Problem with Mixed Pickup and


Delivery (VRPMPD)
The VRPMPD, also known as the VRP with Mixed Backhauls, is a particular case of the
VRPSPD, in which customers either have a pickup or a delivery demand. More precisely,
if di > 0, then pi = 0 and vice-versa. In principle, any VRPSPD solution method
can be directly applied to solve the VRPMPD. According to the classification scheme
of Berbeglia et al. [14], this problem is referred as the multi-vehicle one-to-many-to-one
PDP with single demands and mixed solutions.
The first VRPMPD works appeared in the 1980’s. Golden et al. [78] suggested a so-
called stop-based backhaul insertion procedure, where routes are first generated in terms of
the delivery customers, and then the pickup customers are evaluated for insertion in these
routes. Casco et al. [24] proposed a so-called load-based backhaul insertion procedure, in
which a penalty term, associated to the delivery load after pickup, is incorporated to the
insertion cost.
A decade later, Mosheiov [123] developed two tour partitioning heuristics that consist
of breaking a tour into disjoint segments which are assigned to different vehicles. Dethloff
[49] applied the VRPSPD insertion approach developed in [48] to the VRPMPD. Wade and
Salhi [181] proposed an AC heuristic that include some features such as the incorporation
of a look ahead approach into the visibility function and enhanced trail updating rules.
Recently, Wassan et al. [182] investigated the relationship between the VRPSPD and the
VPMPD, besides presenting a Reactive TS heuristic based on the one developed for the
VRPSPD [183].
Table 2.6 presents the works that dealt with the VRPMPD, including those of Salhi
and Nagy [149], Røpke and Pisinger [148], Crispim and Brandão [40] and Gajpal and
Abad [64], that were cited in the previous subsection.

Table 2.6: VRPMPD related works


Work Year Approach
Golden et al. [78] 1985 Stop-based backhaul insertion procedure
Casco et al. [24] 1988 Load-based backhaul insertion procedure
Mosheiov [123] 1998 Tour partitioning based heuristics
Salhi and Nagy [149] 1999 Insertion based heuristics
Dethloff [49] 2002 Insertion based heuristics
Wade and Salhi [181] 2003 AC
Røpke and Pisinger [148] 2004 LNS
Nagy and Salhi [128] 2005 Constructive and Improvement/Feasibility Heuristics
Crispim and Brandao [40] 2005 TS + VND
Wassan et al. [182] 2008 Reactive TS
Gajpal and Abad [64] 2009 AC
2.6 Traveling Salesmen Problem with Mixed Pickup and Delivery (TSPMPD) 18

2.6 Traveling Salesmen Problem with Mixed Pickup


and Delivery (TSPMPD)
The TSPMPD, sometimes referred as TSP with Pickup and Delivery or TSP with Delivery
and Backhauls, is a special case of the VRPMPD in which only one vehicle is considered,
i.e, m = 1. Berbeglia et al. [14] classified this problem as the single-vehicle one-to-many-
to-one PDP with single demands and mixed solutions.
Mosheiov [122] was one of the first to deal with the TSPMPD, in mid 1990’s, when he
described a real-life application concerning a welfare non-profit organization that arranges
summer vacations for underprivileged children in out of town locations. The institution
was faced with the problem of transporting the children between a central station and
the vacation locations. The author also proposed a mathematical formulation as well as
two heuristic procedures. The first one obtains a feasible solution for the TSPMPD by
adapting an (sub-)optimal TSP solution, while the second one is based on the cheapest
insertion criterion.
Some TSPMPD exact approaches have been proposed during the past decade. Bal-
dacci et al. [8] developed a BC algorithm based on a two-commodity flow formulation that
is capable of solving instances with up to 200 customers. Hernández-Pérez and Salazar-
González [84] analyzed the relationship between the TSPMPD and a similar problem
called One-Commodity Pickup and Delivery TSP (1-PDTSP) and they also proposed a
BC algorithm that solves both problems. The same authors [86] later described a new set
of valid inequalities and an improved BC algorithm that is capable of solving TSPMPD
instances with up to 260 customers.
The number of heuristic works devoted to the TSPMPD are more or less equivalent
to the exact ones. Anily and Mosheiov [4] suggested a two-phase MST heuristic where
the first step consists of solving a relaxation of the problem and the second one consists
of extending the relaxed solution into a feasible solution. Two heuristics were proposed
by Gendreau et al. [68] in which the first one was designed to solve a special case of the
TSPMPD that arises when the graph G is a cycle, whereas the second one consists of a
TS algorithm that solves the general TSPMPD. Zhao et al. [191] presented a GA that
makes use of a pheromone-based crossover operator as well as a local search procedure.
Hernández-Pérez and Salazar-González [85] presented a local search heuristic that
uses 2-opt and 3-opt moves. They also proposed a hybrid algorithm, implemented using
a Local Branching [56] scheme, that is based on their BC algorithm developed in [84].
This procedure also incorporates a primal heuristic that is periodically applied in order
to obtain feasible solutions.
Table 2.7 compiles the TSPMPD works mentioned above.
2.7 Multi-depot Vehicle Routing Problem (MDVRP) 19

Table 2.7: TSPMPD related works


Work Year Approach
Mosheiov [122] 1994 TSP based and Cheapest Insertion heuristics
Anily and Mosheiov [4] 1994 MST heuristics
Gendreau et al. [68] 1999 TS
Baldacci et al. [8] 2003 BC based on a two-commodity flow formulation
Hernández-Pérez and Salazar-González [84] 2004 BC algorithm
Hernández-Pérez and Salazar-González [85] 2004 Local Search and Hybrid algorithms
Hernández-Pérez and Salazar-González [86] 2007 Improved BC algorithm
Zhao et al. [191] 2009 GA

2.7 Multi-depot Vehicle Routing Problem (MDVRP)


Let G be the set of depots. The MDVRP is a generalization of the CVRP where more
the one depot may be considered, that is, |G| ≥ 1. Also, the vehicle must start and end
at the same depot. Typically, the number of vehicles per depot is given as an input data.
Applications of the MDVRP may arise when a company has multiple warehouses
and/or subsidiaries, each of these with their own vehicle fleet, that together are capable
of meeting customers’ demands.
Tillman [170] was the first to address the MDVRP in late 1960’s when he proposed
an algorithm based on Clarke and Wright savings heuristic.
Exact Branch-and-bound algorithms were proposed in the 1980’s by Laporte et al.
[98] and Laporte et al. [99], where the first was capable of solving instances with up to
50 customers and 8 depots, while the latter managed to solve problems with up to 80
customers and 8 depots. Baldacci and Mingozzi [10] put forward a SP based algorithm
that uses bounding procedures based on linear relaxation and lagrangean relaxation. Their
method was designed to deal with several VRPs, including the HFVRP, Site-dependent
VRP and the MDVRP. The authors found optimal solutions of MDVRP instances with
up to 200 customers and 4 depots.
Some MDVRP algorithms based on classical VRP heuristics were suggested between
early 1970’s and early 1980’s. Tillman and Hering [172] proposed an algorithm that
incorporates a look ahead approach into Tillman’s savings heuristic [170]. Tillman and
Cain [171] also extended Tillman’s algorithm [170] by including a partial enumerative
procedure to compute the savings of joining customers on routes. Wren and Holliday [184]
put forward an algorithm that employs a sweep procedure to generate routes which in turn
are further refined by a set of improvement heuristics. Gillet and Johnson [70] applied
the classical sweep algorithm of Gillet and Miller [71] to build an initial solution that is
later refined by an improvement procedure that reassigns customers to different depots.
Golden et al. [79] proposed two heuristic approaches where the first is a savings based
method, while the second is a cluster-first route-second procedure. Raft [142] suggested
2.8 Multi-depot Vehicle Routing Problem with Mixed Pickup and Delivery (MDVRPMPD) 20

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.

Table 2.8: MDVRP related works


Work Year Approach
Tillman [170] 1969 Savings heuristic
Tillman and Hering [172] 1971 Savings heuristic + look ahead approach
Tillman and Cain [171] 1972 Savings heuristic + partial enumerative procedure
Gillet and Johnson [70] 1976 Sweep algorithm
Golden et al. [79] 1977 Savings and route-first cluster-second heuristics
Raft [142] 1982 Modular algorithm
Chao et al. [25] 1993 Record-to-record algorithm
Renaud et al. [145] 1996 TS
Cordeau et al. [35] 1997 TS + GENI
Pisinger and Røpke [136] 2007 ALNS
Baldacci and Mingozzi [10] 2009 SP based exact algorithm
Vidal et al. [177] 2011 Hybrid GA

2.8 Multi-depot Vehicle Routing Problem with Mixed


Pickup and Delivery (MDVRPMPD)
The MDVRPMPD generalizes the VRPMPD by allowing |G| ≥ 1 depot(s). As in the
MDVRP, the vehicle must start and end at the same depot.
Salhi and Nagy [149] introduced the MDVRPMPD in late 1990’s and their solution
method has been already described in Subsection 2.4.
To date, the problem has received very little attention in the literature. Only two
other works dealt with it, particularly those of Røpke and Pisinger [148] and Nagy and
Salhi [128]. Both were mentioned in Subsection 2.4.
Table 2.9 contains the MDVRPMPD works cited above.
2.9 Heterogeneous Fleet Vehicle Routing Problem (HFVRP) 21

Table 2.9: MDVRPMPD related works


Work Year Approach
Salhi and Nagy [149] 1999 Insertion based heuristics
Røpke and Pisinger [148] 2004 LNS
Nagy and Salhi [128] 2005 Constructive and Improvement/Feasibility Heuristics

2.9 Heterogeneous Fleet Vehicle Routing Problem (H-


FVRP)
The HFVRP is a generalization of the classical VRP because it allows vehicles with
different capacities, instead of a homogeneous fleet. The fleet is composed by m different
types of vehicles, with M = {1, . . . , m}. For each u ∈ M , there are mu available vehicles,
each with a capacity Qu . Every vehicle is associated with a fixed cost denoted by fu and
a dependent (variable) cost denoted by per distance unit.
This situation can be often found in practice and the HFVRP might be a suitable
model for dealing with this kind of applications. According to Hoff et al. [87], in industry,
a fleet of vehicles is rarely homogeneous. Generally, either an acquired fleet is already
heterogeneous or they become heterogeneous over the time when vehicles with different
features are incorporated into the original fleet. In addition, insurance, maintenance and
operating costs usually have distinct values according to the level of depreciation or usage
time of the fleet. Moreover, from both tactical and operational point of view, a mixed
vehicle fleet also increases the flexibility in terms of distribution planning.
There are several HFVRP variants often found in the literature. They are basically
related to the fleet limitation (limited or unlimited) and the costs considered (dependent
and/or fixed). The HFVRP with unlimited fleet, also known as the Fleet Size and Mix
(FSM), was proposed by Golden et al. [76] and it consists of determining the best fleet
composition and its optimal routing scheme. Another HFVRP version, called Heteroge-
neous VRP (HVRP), was proposed by Taillard [164] and it consists in optimizing the use
of the available fixed fleet.
The present work deals with the five following variants:

i. HVRPFD, limited fleet, with fixed and dependent costs;

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.

Table 2.10: HFVRP related works


Work Year Variant(s) Approach
Golden et al. [76] 1984 FSMF Heuristic algorithms
Ochi et al.[129] 1998 FSMF GA + SS
Ochi et al.[130] 1998 FSMF Parallel GA + SS
Taillard [164] 1999 HVRPD, FSMD TS + AMP + Column Generation
Gendreau et al. [68] 1999 FSMF, FSMD TS + GENIUS + AMP
Renaud and Boctor [144] 2002 FSMF Sweep algorithm
Prins [138] 2002 HVRPD Heuristic algorithms
Tarantilis et al. [168] 2003 HVRPD Threshold Accepting approach
Tarantilis et al. [169] 2004 HVRPD Threshold Accepting approach
Lima et al. [110] 2004 FSMF MA
Yaman [185] 2006 FSMF Valid inequalities
Choi and Tcha [29] 2007 FSMF, FSMD, FSMFD Column Generation Algorithm
Li et al. [106] 2007 HVRPFD, HVRPD Record-to-record
Lee et al. [101] 2008 FSMF, FSMD TS + SP
Baldacci et al. [5] 2008 All Survey
Liu et al. [111] 2009 FSMF, FSMD Hybrid GA
Pessoa et al. [135] 2009 FSMF, FSMD, FSMFD BCP algorithm
Imran et al. [90] 2009 FSMF, FSMD, FSMFD VNS
Brandão [22] 2009 FSMF, FSMD Deterministic TS
Prins [141] 2009 All, except HVRPFD Two MAs
Baldacci et al. [6] 2009 FSMF MIP formulation and valid inequalites
Baldacci and Mingozzi [10] 2009 All SP based exact algorithm
Li et al. [107] 2010 HVRPFD SP AMP + Path Relinking + TS
Brandão [20] 2011 HVRPD TS algorithm
Chapter 3

Branch-and-cut over Flow Formulations


for the Vehicle Routing Problem with Si-
multaneous/Mixed Pickup and Delivery

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].

3.1 One-commodity ow formulation


Reasonably simple and effective formulations for the CVRP can be defined only over the
natural edge variables (arc variables in the asymmetric case), see [174]. Similar formula-
tions are not available for the VRPSPD. The difference between these two problems can
be explained as follows. In the CVRP, the feasibility of a route can be determined by only
checking whether the sum of its customer demands does not exceed the vehicle’s capacity.
In contrast, the feasibility of a VRPSPD route depends crucially on the sequence of visi-
tation of the clients. In the example shown in Fig. 3.1, the route 0 → 2 → 3 → 1 → 0 is
feasible, but the shorter routes 0 → 1 → 2 → 3 → 0 or 0 → 3 → 2 → 1 → 0 are not. This
fact suggests the use of extended formulations, where auxiliary flow variables are used to
enforce route feasibility.
The following directed one-commodity flow formulation for the VRPSPD was pro-
posed by Dell’Amico et al. [44]. Define A as the set of arcs consisting of a pair of opposite
arcs (i, j) and (j, i) for each edge {i, j} ∈ E and let Dij and Pij be the flow variables which
3.1 One-commodity flow formulation 25

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

Figure 3.1: VRPSPD example

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

Dij + Pij ≤ Qxij ∀(i, j) ∈ A (3.7)


Dij ≥ 0 ∀(i, j) ∈ A (3.8)
Pij ≥ 0 ∀(i, j) ∈ A (3.9)
xij ∈ {0, 1} ∀(i, j) ∈ A (3.10)

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).

dj xij ≤ Dij ≤ (Q − di )xij ∀(i, j) ∈ A (3.11)


pi xij ≤ Pij ≤ (Q − pj )xij ∀(i, j) ∈ A (3.12)
Dij + Pij ≤ (Q − max{0, pj − dj , di − pi })xij ∀(i, j) ∈ A (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.

xij + xji ≤ 1 ∀i, j, i < j, ∈ V 0 (3.14)

3.2 Two-commodity ow formulations


This section presents both an undirected and a directed two-commodity flow formulations
for the VRPSPD which are based on the one proposed by Baldacci et al. [9] for the CVRP.
It is important to mention that the idea of employing two-commodities was originally
developed by Finke et al. [55] for the TSP. Their formulation was later generalized by
Lucena [113] for the CVRP.

3.2.1 Undirected two-commodity ow formulation


For the sake of convenience let vertex n + 1 be a copy of the depot, V̄ = V ∪ {n + 1} and Ē
be the complete set of edges Ē, excepting {0, n + 1}. Let x0ij be 1 if the edge {i, j} ∈ Ē is
0
in the solution and 0 otherwise. Let the variables Dij , Pij0 and SP Dij denote, respectively,
the delivery, pickup and simultaneous pickup and delivery flows when a vehicle goes from
i ∈ V̄ to j ∈ V̄ and let the same variables denote, respectively, the associated residual
0 0
capacities when a vehicle goes from j ∈ V̄ to i ∈ V̄ , in such a way that Dij + Dji = Qx0ij ,
Pij0 + Pji0 = Qx0ij and SP Dij + SP Dji = Qx0ij . Also, an integer variable v, which denotes
the number of vehicles utilized, is included with an upper bound m. In the Baldacci et
al. formulation [9] the precise number of vehicles m is assumed to be known in advance,
since their formulation will produce feasible solutions with exact m vehicles.
Fig. 3.2 shows an example of the scheme used by the two-commodity flow formulation
for the VRPSPD, where (i), (ii) and (iii) denote, respectively, the delivery, pickup and
simultaneous pickup and delivery flows. In this case, Q = 20 and two routes are considered
where r1 is the one composed by 0 → 1 → 2 → 3 → 4 → n + 1 and r2 is composed by
3.2 Two-commodity flow formulations 27

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)

Figure 3.2: The two-commodity formulation scheme for the VRPSPD


3.2 Two-commodity flow formulations 28

The undirected formulation F2C-U is as follows.


X
min cij x0ij (3.15)
{i,j}∈Ē
X X
s.t. x0ik + x0kj = 2 ∀k ∈ V 0 (3.16)
i∈V̄ ,i<k j∈V̄ ,j>k
X
0 0
(Dji − Dij ) = 2di ∀i ∈ V 0 (3.17)
j∈V̄
X X
0
D0j = di (3.18)
j∈V 0 i∈V 0
X X
0
Dj0 = vQ − di (3.19)
j∈V 0 i∈V 0
X
(Pij0 − Pji0 ) = 2pi ∀i ∈ V 0 (3.20)
j∈V̄
X X
0
Pj,n+1 = pi (3.21)
j∈V 0 i∈V 0
X X
0
Pn+1,j = vQ − pi (3.22)
j∈V 0 i∈V 0
X
(SP Dji − SP Dij ) = 2(di − pi ) ∀i ∈ V 0 (3.23)
j∈V̄
0
SP D0j = D0j ∀j ∈ V 0 (3.24)
0
SP Dj0 = Dj0 ∀j ∈ V 0 (3.25)
0
SP Dj,n+1 = Pj,n+1 ∀j ∈ V 0 (3.26)
0
SP Dn+1,j = Dn+1,j ∀j ∈ V 0 (3.27)
0 0
Dij + Dji = Qx0ij ∀{i, j} ∈ Ē (3.28)
Pij0 + Pji0 = Qx0ij ∀{i, j} ∈ Ē (3.29)
SP Dij + SP Dji = Qx0ij ∀{i, j} ∈ Ē (3.30)
0 0
Dj,n+1 = P0j =0 ∀j ∈ V 0 (3.31)
X X
0 0
Dn+1,j = Pj0 = vQ (3.32)
j∈V 0 j∈V 0
X X
x00j = x0j,n+1 = v (3.33)
j∈V 0 j∈V 0

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 .

3.2.2 Directed two-commodity ow formulation


Let Ā be the set of arcs (i, j), ∀i, j ∈ V̄ and x̄ij be 1 if the arc (i, j) ∈ Ā is in the solution
and 0 otherwise. A directed version of the two-commodity flow formulation (F2C-D) is
as follows.
XX
min cij x̄ij (3.42)
i∈V̄ j∈V̄
3.2 Two-commodity flow formulations 30

X
s.t. x̄ij = 1 ∀i ∈ V 0 (3.43)
j∈V̄
X
x̄ji = 1 ∀i ∈ V 0 (3.44)
j∈V̄

x̄j0 = x̄n+1,j = 0 ∀j ∈ V 0 (3.45)


0 0
Dij + Dji = Q(x̄ij + x̄ji ) ∀(i, j), i < j, ∈ A (3.46)
Pij0 + Pji0 = Q(x̄ij + x̄ji ) ∀(i, j), i < j, i 6= 0 ∈ Ā (3.47)
SP Dij + SP Dji = Q(x̄ij + x̄ji ) ∀i, j, i < j, ∈ V 0 (3.48)
X X
x̄0j = x̄j,n+1 = v (3.49)
j∈V 0 j∈V 0

x̄ij ∈ {0, 1} ∀(i, j) ∈ Ā (3.50)


(3.17)-(3.27), (3.31)-(3.32) and (3.34)-(3.37)

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 .

x̄ij = xij ∀i, j ∈ V 0 (3.55)


x̄0j = x0j ∀j ∈ V 0 (3.56)
x̄j,n+1 = xj0 ∀j ∈ V 0 (3.57)
0
Dij = Dij + (Qx̄ji − Dji ) ∀(i, j), i < j, ∈ A (3.58)
0
Dji = Dji + (Qx̄ij − Dij ) ∀(i, j), i < j, ∈ A (3.59)
Pij0 = Pij + (Qx̄ji − Pji ) ∀(i, j), i < j, i 6= 0 ∈ Ā (3.60)
Pji0 = Pji + (Qx̄ij − Pij ) ∀(i, j), i < j, i 6= 0 ∈ Ā (3.61)
SP Dij = Dij + Pij + (Qx̄ji − Dji − Pji ) ∀i, j, i < j, ∈ V 0 (3.62)
SP Dji = Dji + Pji + (Qx̄ij − Dij − Pij ) ∀i, j, i < j, ∈ V 0 (3.63)
0 0
Dj,n+1 = P0j = x̄j0 = x̄n+1,j = 0 ∀j ∈ V 0 (3.64)
0 0
Dn+1,j = Qx̄n+1,j , Pj0 = Qx̄j0 ∀j ∈ V 0 (3.65)
0 0
SP D0j = D0j , SP Dj0 = Dj0 ∀j ∈ V 0 (3.66)
0 0
SP Dj,n+1 = Pj,n+1 , SP Dn+1,j = Pn+1,j ∀j ∈ V 0 (3.67)
X
v= x̄0j (3.68)
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.3 A Branch-and-cut approach


A simple BC algorithm was employed to evaluate the formulations presented in this work.
Traditional CVRP inequalities were used, namely the rounded capacity, multistar and
comb inequalities. They can be directly applied to the VRPSPD. The cuts were separated
using the CVRPSEP package [114]. The reader is referred to [115] for details concerning
the separation routines.
At first, the delivery demands are used to separate the cuts. When no valid inequalities
are found then the pickup demands are used. All of the three kinds of cuts are generated
at the root node, but just the rounded capacity cuts are used throughout the tree up
to the 5th level. Preliminary tests have shown that the overhead of separating comb
and multistar inequalities outside the root node was not worthwhile. For each separation
routine of the CVRPSEP package a limit of 50 violated cuts per iteration was established.
In the case of the VRPSPD instances, the best upper bound (UB) solutions pointed
out in the literature were given as initial primal bound for the BC, namely those reported
in [157]. This definitely helps the algorithm to find optimal solutions in much less com-
putational time. As for the VRPMPD instances, the UBs found by Gajpal and Abad [64]
were provided as a cutoff value for the BC.

3.4 Computational experiments


The BC procedures were implemented using the CPLEX 11.2 callable library and exe-
cuted in an Intel Core 2 Quad with 2.4 GHz and 4 GB of RAM running under Linux 64
bits (kernel 2.6.27-16). Only a single thread was used in the experiments. Each BC is
respectively associated with the formulations F1C, F2C-U and F2C-D. A time limit of 2
hours of execution was imposed for the BC algorithms. In some very particular cases, the
CPLEX have slightly exceeded this time limit, namely on few instances involving more
than 100 customers.

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.

Table 3.1: Results obtained by F1C on Dethloff’s instances


Instance/ #v LP Root Root Tree Total Prev. New F-LB UB Gap
Customers LB Time (s) size Time (s) LB LB (%)
SCA3-0/50 4 551.14 613.38 41 73473 7200 583.77 627.66 622.73 635.62 2.03
SCA3-1/50 4 645.95 682.40 107 1712 1230 655.63 697.84 697.84 697.84 0.00
SCA3-2/50 4 592.56 658.35 19 1 19 627.12 659.34 659.34 659.34 0.00
SCA3-3/50 4 586.30 667.37 70 1083 415 633.56 680.04 680.04 680.04 0.00
SCA3-4/50 4 627.29 672.92 80 8718 1599 642.89 690.50 690.50 690.50 0.00
SCA3-5/50 4 604.31 646.14 83 15560 1901 603.06 659.90 659.90 659.90 0.00
SCA3-6/50 4 587.97 624.92 47 37655 7200 607.53 645.56 639.97 651.09 1.71
SCA3-7/50 4 584.69 654.30 82 26 103 616.40 659.17 659.17 659.17 0.00
SCA3-8/50 4 638.75 688.77 94 72785 7200 668.04 719.48 703.12 719.48 2.27
SCA3-9/50 4 597.02 668.09 82 1674 417 619.03 681.00 681.00 681.00 0.00
SCA8-0/50 9 849.35 922.36 96 8854 7200 877.55 936.89 933.12 961.50 2.95
SCA8-1/50 9 937.71 998.04 75 9948 7200 954.29 1020.28 1015.05 1049.65 3.30
SCA8-2/50 9 931.93 1008.83 78 10334 7200 950.74 1024.24 1019.99 1039.64 1.89
SCA8-3/50 9 874.31 954.55 74 11375 7200 905.29 975.87 970.88 983.34 1.27
SCA8-4/50 9 958.58 1022.44 72 12054 7200 972.62 1041.65 1036.45 1065.49 2.73
SCA8-5/50 9 923.50 996.01 79 9207 7200 940.60 1015.19 1011.57 1027.08 1.51
SCA8-6/50 9 870.58 933.57 133 6219 7200 885.34 959.91 944.53 971.82 2.81
SCA8-7/50 9 937.30 1013.86 65 12533 7200 955.86 1031.56 1029.97 1051.28 2.03
SCA8-8/50 9 962.50 1023.86 102 8510 7200 986.52 1048.93 1036.90 1071.18 3.20
SCA8-9/50 9 953.36 1012.73 89 9031 7200 978.90 1034.28 1031.51 1060.50 2.73
CON3-0/50 4 577.74 606.00 91 40753 4836 592.38 616.52 616.46 616.52 0.01
CON3-1/50 4 506.41 543.71 73 52033 6498 532.55 554.47 554.47 554.47 0.00
CON3-2/50 4 468.40 503.14 61 13874 7200 491.04 517.26 514.11 518.00 0.75
CON3-3/50 4 541.46 581.45 55 20044 1941 557.99 591.19 591.19 591.19 0.00
CON3-4/50 4 537.90 577.61 63 78398 7200 558.26 588.79 588.47 588.79 0.06
CON3-5/50 4 511.88 553.87 107 32652 5975 531.33 563.70 563.70 563.70 0.00
CON3-6/50 4 468.90 486.59 128 14248 7200 475.33 499.05 493.01 499.05 1.21
CON3-7/50 4 533.86 562.10 38 53629 5522 550.73 576.48 576.48 576.48 0.00
CON3-8/50 4 477.81 513.90 87 15317 1923 492.69 523.05 523.05 523.05 0.00
CON3-9/50 4 528.34 564.87 63 15461 5602 547.31 578.25 578.25 578.25 0.00
CON8-0/50 9 774.69 829.80 47 16498 7200 795.45 845.19 842.62 857.17 1.70
CON8-1/50 9 680.24 719.03 80 7552 7200 693.22 734.71 732.44 740.85 1.14
CON8-2/50 9 636.18 682.76 128 9856 7200 650.81 695.70 693.07 712.89 2.78
CON8-3/50 10 732.55 784.93 71 7536 7200 754.41 797.57 796.31 811.07 1.82
CON8-4/50 9 710.36 749.83 122 6374 7200 729.09 767.63 759.11 772.25 1.70
CON8-5/50 9 696.85 728.10 78 7901 7200 709.76 741.51 736.79 754.88 2.40
CON8-6/50 9 611.16 647.04 61 10400 7200 631.41 662.14 662.14 678.92 2.47
CON8-7/50 9 729.28 787.89 64 11861 7200 762.03 810.08 800.22 811.96 1.44
CON8-8/50 9 689.23 741.02 74 10324 7200 705.08 757.45 753.42 767.53 1.84
CON8-9/50 9 716.21 770.66 101 5435 7200 729.10 786.40 778.65 809.00 3.75
Avg. Gap (%) 1.34

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.2: Results obtained by the F2C-U on Dethloff’s instances


Instance/ #v LP Root Root Tree Total Prev. New F-LB UB Gap
Customers LB Time (s) size Time (s) LB LB (%)
SCA3-0/50 4 550.85 613.36 28 211456 7200 583.77 627.66 625.00 635.62 1.67
SCA3-1/50 4 645.59 682.33 42 1467 142 655.63 697.84 697.84 697.84 0.00
SCA3-2/50 4 592.44 658.89 12 1 12 627.12 659.34 659.34 659.34 0.00
SCA3-3/50 4 586.02 667.37 25 847 81 633.56 680.04 680.04 680.04 0.00
SCA3-4/50 4 626.93 673.28 50 2866 252 642.89 690.50 690.50 690.50 0.00
SCA3-5/50 4 603.95 646.29 38 19724 731 603.06 659.90 659.90 659.90 0.00
SCA3-6/50 4 587.85 624.89 27 176561 7200 607.53 645.56 644.37 651.09 1.03
SCA3-7/50 4 584.59 653.76 34 30 43 616.40 659.17 659.17 659.17 0.00
SCA3-8/50 4 638.41 693.71 42 108017 4899 668.04 719.48 719.48 719.48 0.00
SCA3-9/50 4 596.79 668.09 36 1452 96 619.03 681.00 681.00 681.00 0.00
SCA8-0/50 9 847.39 922.58 79 17695 7200 877.55 936.89 936.89 961.50 2.56
SCA8-1/50 9 933.44 997.07 56 18086 7200 954.29 1020.28 1020.28 1049.65 2.80
SCA8-2/50 9 931.34 1008.27 75 12789 7200 950.74 1024.24 1024.24 1039.64 1.48
SCA8-3/50 9 872.37 953.67 49 18487 7200 905.29 975.87 975.87 983.34 0.76
SCA8-4/50 9 955.74 1021.35 44 25853 7200 972.62 1041.65 1041.65 1065.49 2.24
SCA8-5/50 9 922.25 995.93 58 19464 7200 940.60 1015.19 1013.87 1027.08 1.29
SCA8-6/50 9 868.00 933.76 74 10467 7200 885.34 959.91 959.91 971.82 1.23
SCA8-7/50 9 935.55 1015.11 69 15193 7200 955.86 1031.56 1031.56 1051.28 1.88
SCA8-8/50 9 960.17 1023.60 87 8262 7200 986.52 1048.93 1048.93 1071.18 2.08
SCA8-9/50 9 952.34 1014.89 64 16262 7200 978.90 1034.28 1034.28 1060.50 2.47
CON3-0/50 4 577.52 606.82 46 3048 247 592.38 616.52 616.52 616.52 0.00
CON3-1/50 4 506.23 545.53 54 16039 823 532.55 554.47 554.47 554.47 0.00
CON3-2/50 4 468.22 504.44 59 22107 7200 491.04 517.26 516.23 518.00 0.34
CON3-3/50 4 541.40 582.83 35 6608 330 557.99 591.19 591.19 591.19 0.00
CON3-4/50 4 537.73 577.57 42 50663 3198 558.26 588.79 588.79 588.79 0.00
CON3-5/50 4 511.59 554.35 65 10191 729 531.33 563.70 563.70 563.70 0.00
CON3-6/50 4 468.75 486.61 100 48466 5230 475.33 499.05 499.05 499.05 0.00
CON3-7/50 4 533.73 561.87 37 9822 1141 550.73 576.48 576.48 576.48 0.00
CON3-8/50 4 477.45 514.13 71 5541 450 492.69 523.05 523.05 523.05 0.00
CON3-9/50 4 527.94 564.78 53 6372 790 547.31 578.25 578.25 578.25 0.00
CON8-0/50 9 773.46 827.14 74 13038 7200 795.45 845.19 845.19 857.17 1.40
CON8-1/50 9 678.95 719.09 67 13302 7200 693.22 734.71 734.71 740.85 0.83
CON8-2/50 9 635.23 682.37 127 9409 7200 650.81 695.70 695.70 712.89 2.41
CON8-3/50 10 731.55 785.00 71 18680 7200 754.41 797.57 797.57 811.07 1.66
CON8-4/50 9 708.64 751.32 60 15700 7200 729.09 767.63 767.63 772.25 0.60
CON8-5/50 9 696.08 727.26 66 9765 7200 709.76 741.51 741.51 754.88 1.77
CON8-6/50 9 610.20 646.78 94 11947 7200 631.41 662.14 661.36 678.92 2.59
CON8-7/50 9 726.55 788.64 74 5520 7200 762.03 810.08 810.08 811.96 0.23
CON8-8/50 9 688.25 741.76 81 13325 7200 705.08 757.45 757.45 767.53 1.31
CON8-9/50 9 713.85 770.85 109 12833 7200 729.10 786.40 786.40 809.00 2.79
Avg. Gap (%) 0.94

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.3: Results obtained by F2C-D on Dethloff’s instances


Instance/ #v LP Root Root Tree Total Prev. New F-LB UB Gap
Customers LB Time (s) size Time (s) LB LB (%)
SCA3-0/50 4 550.93 613.35 25 132649 7200 583.77 627.66 627.66 635.62 1.25
SCA3-1/50 4 645.60 682.23 29 1262 114 655.63 697.84 697.84 697.84 0.00
SCA3-2/50 4 592.47 659.11 11 1 11 627.12 659.34 659.34 659.34 0.00
SCA3-3/50 4 586.02 667.35 21 374 50 633.56 680.04 680.04 680.04 0.00
SCA3-4/50 4 626.93 673.22 31 6156 334 642.89 690.50 690.50 690.50 0.00
SCA3-5/50 4 603.96 646.41 31 12594 330 603.06 659.90 659.90 659.90 0.00
SCA3-6/50 4 587.85 624.92 26 167625 7200 607.53 645.56 645.56 651.09 0.85
SCA3-7/50 4 584.59 654.30 33 23 40 616.40 659.17 659.17 659.17 0.00
SCA3-8/50 4 638.41 694.13 42 196322 7200 668.04 719.48 714.19 719.48 0.73
SCA3-9/50 4 596.79 668.09 38 1567 116 619.03 681.00 681.00 681.00 0.00
SCA8-0/50 9 847.73 922.85 107 3758 7200 877.55 936.89 933.89 961.50 2.87
SCA8-1/50 9 933.47 997.57 103 3661 7200 954.29 1020.28 1013.38 1049.65 3.46
SCA8-2/50 9 931.42 1008.87 147 2435 7200 950.74 1024.24 1019.31 1039.64 1.96
SCA8-3/50 9 872.45 953.21 98 3914 7200 905.29 975.87 968.55 983.34 1.50
SCA8-4/50 9 955.96 1022.13 134 4773 7200 972.62 1041.65 1032.49 1065.49 3.10
SCA8-5/50 9 922.32 996.33 184 14246 7200 940.60 1015.19 1015.19 1027.08 1.16
SCA8-6/50 9 868.05 933.74 143 1593 7200 885.34 959.91 943.47 971.82 2.92
SCA8-7/50 9 935.82 1013.12 102 3334 7200 955.86 1031.56 1028.04 1051.28 2.21
SCA8-8/50 9 960.27 1023.53 159 1559 7200 986.52 1048.93 1036.29 1071.18 3.26
SCA8-9/50 9 952.41 1013.82 111 7476 7200 978.90 1034.28 1031.54 1060.50 2.73
CON3-0/50 4 577.52 605.97 34 21249 1141 592.38 616.52 616.52 616.52 0.00
CON3-1/50 4 506.24 543.70 41 19638 1199 532.55 554.47 554.47 554.47 0.00
CON3-2/50 4 468.22 504.31 71 97732 7200 491.04 517.26 517.26 518.00 0.14
CON3-3/50 4 541.40 582.89 37 4116 213 557.99 591.19 591.19 591.19 0.00
CON3-4/50 4 537.73 577.59 28 78652 2932 558.26 588.79 588.79 588.79 0.00
CON3-5/50 4 511.60 554.43 50 16215 772 531.33 563.70 563.70 563.70 0.00
CON3-6/50 4 468.75 486.76 96 65792 6979 475.33 499.05 499.05 499.05 0.00
CON3-7/50 4 533.75 561.89 31 15895 1134 550.73 576.48 576.48 576.48 0.00
CON3-8/50 4 477.45 513.99 51 3833 269 492.69 523.05 523.05 523.05 0.00
CON3-9/50 4 527.95 564.77 48 4637 585 547.31 578.25 578.25 578.25 0.00
CON8-0/50 9 773.51 826.63 122 2526 7200 795.45 845.19 840.60 857.17 1.93
CON8-1/50 9 679.00 719.00 132 2885 7200 693.22 734.71 729.26 740.85 1.56
CON8-2/50 9 635.25 682.12 200 2416 7200 650.81 695.70 692.34 712.89 2.88
CON8-3/50 10 731.55 785.01 151 3406 7200 754.41 797.57 794.94 811.07 1.99
CON8-4/50 9 708.64 751.40 121 5468 7200 729.09 767.63 766.37 772.25 0.76
CON8-5/50 9 696.08 726.88 133 3688 7200 709.76 741.51 734.84 754.88 2.66
CON8-6/50 9 610.20 646.22 125 2458 7200 631.41 662.14 658.43 678.92 3.02
CON8-7/50 9 726.57 787.53 142 1995 7200 762.03 810.08 801.59 811.96 1.28
CON8-8/50 9 688.33 741.06 166 4021 7200 705.08 757.45 749.66 767.53 2.33
CON8-9/50 9 713.94 770.74 234 2307 7200 729.10 786.40 778.72 809.00 3.74
Avg. Gap (%) 1.26

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

algorithm was employed to solve the initial linear relaxation.

Table 3.8: Results obtained by F2C-U 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.19 972.88 2910 122 7201 934.97 973.91 973.10 1009.95 3.65
r201/100 3 643.07 664.80 292 21 307 643.65 666.20 666.20 666.20 0.00
c101/100 16 1070.40 1195.53 1396 302 7201 1066.19 1196.70 1195.89 1220.18 1.99
c201/100 5 598.47 657.97 197 17 241 596.85 662.07 662.07 662.07 0.00
rc101/100 10 944.21 1028.15 2940 138 7201 937.41 1029.38 1029.38 1059.32 2.83
rc201/100 3 600.24 671.84 134 4 134 602.70 672.92 672.92 672.92 0.00
r1 2 1/200 23 3013.16 3084.97 6971 1 7200 2951.12 3084.97 3084.97 3360.02 8.19
r2 2 1/200 5 1549.60 1618.76 7869 1 7874 1501.82 1618.76 1618.76 1665.58 2.81
c1 2 1/200 28 3325.20 3475.03 7041 1 7202 3299.07 3475.03 3475.03 3629.89 4.27
c2 2 1/200 9 1560.22 1647.83 7370 1 7374 1542.96 1647.83 1647.83 1726.59 4.56
rc1 2 1/200 23 3015.44 3093.30 7064 1 7201 2939.98 3093.30 3093.30 3306.00 6.43
rc2 2 1/200 5 1438.91 1551.07 7301 1 7308 1396.95 1551.07 1551.07 1560.00 0.57
Avg. Gap (%) 2.94

Table 3.9: Results obtained by F2C-D 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.26 972.85 5867 12 7200 934.97 973.91 973.91 1009.95 3.57
r201/100 3 643.07 665.05 490 14 524 643.65 666.20 666.20 666.20 0.00
c101/100 16 1070.40 1196.16 2752 666 7200 1066.19 1196.70 1196.65 1220.18 1.93
c201/100 5 598.47 657.97 317 61 404 596.85 662.07 662.07 662.07 0.00
rc101/100 10 944.39 1028.49 6570 6 7200 937.41 1029.38 1028.52 1059.32 2.91
rc201/100 3 600.26 671.84 200 6 201 602.70 672.92 672.92 672.92 0.00
r1 2 1/200 23 3013.21 3074.77 7088 1 7201 2951.12 3084.97 3074.77 3360.02 8.49
r2 2 1/200 5 1549.62 1615.14 7383 1 7386 1501.82 1618.76 1615.14 1665.58 3.03
c1 2 1/200 28 3325.20 3389.36 7517 1 7521 3299.07 3475.03 3389.36 3629.89 6.63
c2 2 1/200 9 1560.39 1596.24 6028 1 7201 1542.96 1647.83 1596.24 1726.59 7.55
rc1 2 1/200 23 3015.98 3067.65 7280 1 7283 2939.98 3093.30 3067.65 3306.00 7.21
rc2 2 1/200 5 1439.01 1526.68 6896 1 7202 1396.95 1551.07 1526.68 1560.00 2.14
Avg. Gap (%) 3.62

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

Table 3.13: Summary of the results obtained by the three formulations


Formulation Dethloff Salhi and Nagy Montané and Galvão
G1 (%) G2 (%) G3 (%) G1 (%) G2 (%) G3 (%) G1 (%) G2 (%) G3 (%)
F1C 9.74 2.96 1.34 9.21 4.85 4.57 8.75 3.66 3.57
F2C-U 9.85 2.92 0.94 9.30 4.62 4.27 8.82 3.04 2.94
F2C-D 9.85 2.94 1.26 9.30 4.66 4.31 8.82 3.57 3.62

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

3.5 Concluding remarks


This chapter dealt with Mixed Integer Programming formulations for the the Vehicle
Routing Problem with Simultaneous Pickup and Delivery (VRPSPD). An undirected and
a directed two-commodity flow formulations were proposed. They were tested within
a branch-and-cut scheme 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, as can be seen in Table 3.21. The three formulations were also tested in
benchmark instances of the Vehicle Routing Problem with Mixed Pickup and Delivery
(VRPMPD), which is a particular case of the VRPSPD, and were able to prove the
optimality of 7 open problems (see Table 3.21). Furthermore, new lower bounds were
3.5 Concluding remarks 43

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.

Table 3.21: Optimal Solutions


Instance/ #v OPT Instance/ #v OPT
Customers Customers
SCA3-0/50 4 635.62 CON3-7/50 4 576.48
SCA3-1/50 4 697.84 CON3-8/50 4 523.05
SCA3-2/50 4 659.34 CON3-9/50 4 578.25
SCA3-3/50 4 680.04 CON8-1/50 9 740.85
SCA3-4/50 4 690.50 CON8-4/50 9 772.25
SCA3-5/50 4 659.90 CON8-7/50 9 811.96
SCA3-6/50 4 651.09 CMT1X/50 3 466.77
SCA3-7/50 4 659.17 CMT1Y/50 3 466.77
SCA3-8/50 4 719.48 r201/100 3 666.20
SCA3-9/50 4 681.00 c201/100 5 662.07
SCA8-3/50 9 983.34 rc201/100 3 672.92
SCA8-6/50 9 971.82 CMT1H/50 3 465.02
CON3-0/50 4 616.52 CMT1Q/50 4 489.74
CON3-1/50 4 554.47 CMT1T/50 5 520.06
CON3-2/50 4 518.00 CMT3Q/100 6 747.15
CON3-3/50 4 591.19 CMT12H/100 5 629.37
CON3-4/50 4 588.79 CMT12Q/100 7 729.25
CON3-5/50 4 563.70 CMT12T/100 9 787.52
CON3-6/50 4 499.05
Chapter 4

Branch-and-cut with Lazy Separation for


the Single and Multi-depot Vehicle Rout-
ing Problem with Simultaneous/Mixed
Pickup and Delivery

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].

4.1 Mathematical formulation


Let xij be an integer variable counting the number of times that an edge {i, j} ∈ E
appears in a route, this number can only be 2 for an edge used in a route with a single
customer. Given a set S ⊆ V 0 , let d(S) and p(S) be the sum of the delivery and pickup
demands, respectively, of all customers in S. Let e(S) = dd(S)/Qe and q(S) = dp(S)/Qe.
Finally, let vk be integer variables representing the number of vehicles used at each depot
k ∈ G in the solution. Finally, define S̄ as the complementary set of S, plus the depot
{0}. Define the following IP:
X X
min cij xij (4.1)
i∈V j∈V,j>i
4.1 Mathematical formulation 45

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 Computational experiments with a Branch-and-cut


approach
A BC algorithm over F1 and F1-MD was implemented. Besides capacity inequalities
(4.4-4.5), two other families of valid CVRP inequalities, namely the multistar and comb
inequalities, are also separated using the CVRPSEP package [114, 115]. Firstly, the
separation is performed considering only the delivery demands (like in Constraints (4.4)).
When no violated inequalities are found one then starts separating the pickup demands
(like in (4.5)). For each separation routine of the CVRPSEP package a limit of 50 violated
cuts per iteration was established. The multistar and comb inequalities are generated only
at the root node. The rounded capacity cuts (4.4-4.5) are generated throughout the tree
up to the 7th level and whenever an integer solution is found. Moreover, every time a
feasible integer CVRP solution is found, it is necessary to check whether it is also feasible
for the VRPSPD. If it is not the case, inequality (4.9) is added for each unfeasible route R.
For the MDVRPMPD, if a route is feasible with respect to the VRPMPD but not feasible
for the MDVRPMPD, i.e., a route that starts and ends in different depots, constraints
(4.10) are added.
The BC was implemented using the CPLEX 11.2 callable library and executed in an
Intel Core 2 Quad with 2.4 GHz and 4 GB of RAM running under Linux 64 bits. Only a
single thread was used.
In the tables presented hereafter, v is the number of vehicles in the best known
solution of VRPSPD/VRPMPD instances and the number of available vehicles per depot
for MDVRPMPD instances, m is the number of depots, 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 is the number of nodes opened, Total time is the total
CPU time in seconds of the BC procedure, #Lazy Cuts 1 and #Lazy Cuts 2 denote
the number of lazy cuts (4.9) and (4.10), respectively, added, Prev. LB is the best lower
bound obtained in Chapter 3, LB is the lower bound (LB) determined by the proposed
BC, UB is the upper bound reported in [157], [64] and Chapter 6 for the VRPSPD,
VRPMPD and MDVRPMPD, respectively, and Gap corresponds to the gap between the
LB and the UB. Proven optimal solutions are highlighted in boldface and new optimal
4.2 Computational experiments with a Branch-and-cut approach 47

solutions are underlined.

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.1: Results obtained on the instances of Dethloff [48]


Instance/ Root Root Tree Total #Lazy Prev. Gap
v LB UB
Customers LB Time (s) size Time (s) Cuts 1 LB (%)
SCA3-0/50 4 619.21 5.18 543 16.8 5 635.62 635.62 635.62 0.00
SCA3-1/50 4 682.34 1.90 129 6.75 0 697.84 697.84 697.84 0.00
SCA3-2/50 4 659.34 0.60 1 0.61 0 659.34 659.34 659.34 0.00
SCA3-3/50 4 667.56 1.76 35 2.75 0 680.04 680.04 680.04 0.00
SCA3-4/50 4 676.56 6.75 98 10.4 0 690.50 690.50 690.50 0.00
SCA3-5/50 4 647.90 1.16 623 5.71 26 659.90 659.91 659.91 0.00
SCA3-6/50 4 625.60 1.29 2655 239 0 651.09 651.09 651.09 0.00
SCA3-7/50 4 654.97 3.70 5 3.87 0 659.17 659.17 659.17 0.00
SCA3-8/50 4 688.21 1.97 5880 710 0 719.48 719.48 719.48 0.00
SCA3-9/50 4 671.07 2.04 27 2.88 0 681.00 681.00 681.00 0.00
SCA8-0/50 9 926.03 18.8 2836 557 0 936.89 961.50 961.50 0.00
SCA8-1/50 9 1002.29 15.5 14292 3288 2 1020.28 1049.65 1049.65 0.00
SCA8-2/50 9 1013.37 19.8 4321 553 0 1024.24 1039.64 1039.64 0.00
SCA8-3/50 9 956.10 11.9 350 66.5 0 983.34 983.34 983.34 0.00
SCA8-4/50 9 1027.24 25.9 9136 931 1 1041.65 1065.49 1065.49 0.00
SCA8-5/50 9 998.05 13.7 948 149 3 1015.19 1027.08 1027.08 0.00
SCA8-6/50 9 948.26 12.8 750 95.3 12 971.82 971.82 971.82 0.00
SCA8-7/50 9 1018.20 16.4 6303 600 4 1031.56 1051.28 1051.28 0.00
SCA8-8/50 9 1038.86 6.15 957 100 1 1048.93 1071.18 1071.18 0.00
SCA8-9/50 9 1019.25 12.0 9068 1381 1 1034.28 1060.50 1060.50 0.00
CON3-0/50 4 611.30 2.58 21 3.39 0 616.52 616.52 616.52 0.00
CON3-1/50 4 546.65 8.26 142 13.7 0 554.47 554.47 554.47 0.00
CON3-2/50 4 505.06 3.94 293 22.4 6 518.01 518.01 518.01 0.00
CON3-3/50 4 584.28 2.05 22 2.62 0 591.19 591.19 591.19 0.00
CON3-4/50 4 577.52 1.04 322 10.4 5 588.79 588.79 588.79 0.00
CON3-5/50 4 552.91 3.22 350 20.2 2 563.70 563.70 563.70 0.00
CON3-6/50 4 486.98 5.22 352 32.5 0 499.05 499.05 499.05 0.00
CON3-7/50 4 561.62 0.97 494 29.1 0 576.48 576.48 576.48 0.00
CON3-8/50 4 514.84 5.03 97 8.55 3 523.05 523.05 523.05 0.00
CON3-9/50 4 564.78 2.51 175 19.4 0 578.25 578.25 578.25 0.00
CON8-0/50 9 830.03 41.5 1760 272 0 845.19 857.17 857.17 0.00
CON8-1/50 9 722.38 27.7 1179 200 1 740.85 740.85 740.85 0.00
CON8-2/50 9 685.66 39.2 14315 4842 1 695.70 712.89 712.89 0.00
CON8-3/50 10 787.84 39.3 12377 1599 2 797.57 811.07 811.07 0.00
CON8-4/50 9 751.95 21.2 806 159 3 772.25 772.25 772.25 0.00
CON8-5/50 9 729.92 15.1 6369 1212 0 741.51 754.88 754.88 0.00
CON8-6/50 9 648.64 18.7 10738 2865 0 662.14 678.92 678.92 0.00
CON8-7/50 9 793.50 15.5 228 38.4 2 811.96 811.96 811.96 0.00
CON8-8/50 9 744.52 26.8 3520 606 0 757.45 767.53 767.53 0.00
CON8-9/50 9 773.65 45.0 90738 38137 4 786.40 809.00 809.00 0.00

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

4.3 Concluding remarks


The success of the proposed BC when compared to previous approaches can be attributed
to the use of a formulation where the load of a vehicle in the middle of a route is only
controlled by weak constraints, that are only separated in a lazy way over integral so-
lutions, avoiding complicated and larger extended formulations. In practice (at least on
the instances from the literature), it seems that there are relatively few routes where the
load capacity is respected in both ends but not in the middle, as can be observed by the
small number of lazy cuts added throughout the BC (see Tables 4.1-2.8). However, the
BC becomes less effective when the number of vehicles and/or depots increases.
4.3 Concluding remarks 50

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

Branch-cut-and-price for the Vehicle


Routing Problem with Simultane-
ous/Mixed Pickup and Delivery

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.

5.1 Introducing the pd-route


Let a q-route be a walk that starts at the depot vertex, traverses a sequence of customer
vertices with total delivery (or pickup) demand at most Q, and returns to the depot.
Some customers may be visited more than once, so the set of valid CVRP routes is
strictly contained in the set of q-routes. For the VRPSPD, the direct use of q-routes
does not yield strong relaxations because the pickup (or delivery) demands are ignored.
Therefore, the concept of pd-route, which extends the definition of q-route by considering
both pickup and delivery demands, is introduced, as given by Definition 1.
5.2 Mathematical formulation 52

Definition 1. A pd-route is a sequence of vertices v1 , v2 , . . . , vk with vi 6= vi+1 , i =


Pi Pk−1
1, 2, . . . , k − 1, v1 = vk = 0, vi ∈ V 0 , i = 2, . . . , k − 1, and j=2 p vj
+ j=i+1 dvj ≤
Q, i = 1, . . . , k − 1. The cost of this pd-route is given by the sum of its edge costs, i.e.,
Pk−1
i=1 cvi ,vi+1

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

Figure 5.1: Example of a pd-route

5.2 Mathematical formulation


Consider the following Formulation F1 described in the previous chapter.

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)

Formulation F1 can be strengthened by adding an exponential number of variables


corresponding to the pd-routes. Enumerate all possible pd-routes from 1 to P and let atij
be the number of times an edge {i, j} appears in the t-th pd-route. Define λt as a positive
variable associated to the t-th pd-route. In order to improve F1 the following constraints
are added:
X
P
atij λt − xij = 0 ∀{i, j} ∈ E (5.10)
t=1

λt ≥ 0 (t = 1, . . . , P ) (5.11)

Constraints (5.10) state that x is as a weighted sum of edge-incidence vectors of pd-


routes. Notice that constraints (5.6) can be dropped from F1 since they are implied by
(5.10). Hence, define F2 as the IP formulation composed by (5.1)-(5.5) and (5.7)-(5.11).
When solving the linear relaxation of F2 by column and row generation, a more
compact Master LP is obtained if every occurrence xij in (5.2)-(5.5) is replaced by its
equivalent given by (5.10). The resulting LP will be referred to as the Dantzig-Wolfe
Master (DWM):

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 .

5.3 The Branch-cut-and-price algorithm


As already mentioned, the BCP algorithm presented in this work is mainly based on the
one developed in [63] for the CVRP. Some elements such as branching rules, node selection
strategy and strong branching scheme remained practically unchanged with respect to
the original version. On the other hand, the column generation procedure had to be
completely redesigned in order to deal with both pickup and delivery demands.

5.3.1 Pricing subproblem


The pricing subproblem can be seen as a shortest path problem with resource constraints,
which is known to be strongly N P-hard when cycles are forbidden (see Dror [52]). How-
ever, it can be solved in pseudo-polynomial time when pd-routes are considered. Therefore,
the pricing subproblem consists of finding pd-routes with minimum reduced costs.
In this work a dynamic programming based algorithm is used to solve the pricing
subproblem. The load resources are denoted by D and P, where the first indicates the
total amount of load to be delivered, while the second indicates the cumulative amount
of load that was collected. Resource D is initialized with a value less or equal to Q and
5.3 The Branch-cut-and-price algorithm 55

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

algorithm is the state elimination. A particular expansion can be avoided if it is known


in advance that the optimal walk of the state generated from such expansion will never
be in a pd-route with negative reduced cost. In order to apply this type of strategy one
must compute a valid LB for every possible state. In view of this, a relaxed version of
the pricing subproblem was formulated by only considering the delivery demands. This
relaxed problem is also solved using dynamic programming to fill a matrix where each
entry M (j, D) corresponds to the least costly walk given by c(M (j, D)) starting from
the depot and ending at customer j using total delivery demand exactly D. Therefore
one can avoid all expansions from a state (i, D, P) if c(i, D, P) + c(M (i, D + di )) ≥ 0.
Furthermore, one can also avoid an expansion from state (i, D, P) to state (j, D−dj , P +pj )
if c(i, D, P) + cij + c(M (j, D)) ≥ 0.
The full execution of the dynamic programming algorithm can be very time consum-
ing. A common speed-up strategy is to employ heuristic acceleration with a view of
finding columns (pd-routes) with negative reduced costs more faster. The full dynamic
programming procedure is then only applied when the heuristics fail to obtain pd-routes
with negative reduced costs. The proposed heuristic strategy consists of a combination
between two techniques: scaling and sparsification. Let g > 1 be the scaling factor.
The scaling consists of modifying the customers original delivery and pickup demands to
d0i (g) = ddi /ge, i ∈ V 0 and p0i (g) = dpi /ge, i ∈ V 0 respectively, and the original vehicle
capacity to Q0 = bQ/gc. Hence, the computational complexity will be in function of the
capacity Q0 ≤ Q. The sparsification limits the number of possible expansions from a
state (i, D, P) to those states associated with the vertices that are in the neighborhood of
i. These neighbors are computed only once in the beginning of the algorithm using the
Minimum Spanning Tree based approach presented in [63].
5.4 Computational experiments 57

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.3.2 Cut generation


The rounded capacity cuts (5.15)-(5.16) and the bound cuts (5.17) are separated in every
node of the branch-and-bound tree. In addition to these cuts, the strengthened comb cuts
are also applied, but only at the root node. The capacity and comb cuts are separated
using the CVRPSEP package [114].

5.4 Computational experiments


The BCP algorithm was coded in C++ and executed in an Intel Core 2 Quad with 2.4
GHz and 4 GB of RAM running under Linux 64 bits. Linear Programs were solved
using CPLEX 11.2. Only a single thread was used in the experiments. The same set of
VRPSPD/VRPMPD instances used in the previous two chapters were considered here.

5.4.1 Data preprocessing


The data of the VRPSPD instances proposed in [48, 149] contain fractional values with 6
decimal places. This becomes an issue to the dynamic programming algorithm presented
in Section 5.3.1, since the conversion of demands and capacities to integer values results
in very large values of Q. In order to avoid this, the capacity is divided by a scaling factor
r such that the new capacity Q/r is integral and not greater than 250. The demands
are also divided by r and rounded down. In addition, for each delivery demand that is
zero, its value is set one and the vehicle capacity is incremented by one unit. Notice
that one must also ensure that the total increase on the vehicle capacity does not exceed
the maximum number of customers with incremented delivery demands that could fit
into a single route (considering the pickup demands). These adaptations correspond to a
(usually mild) relaxation of the pricing subproblem, allowing some routes that violate the
true capacities. Since the rounded capacity cuts are applied over the original instance,
one can ensure that the original vehicle capacity will be never violated in the depot.
Nevertheless, these cuts are still not sufficient to prevent the algorithm of generating
infeasible integer solutions, i.e., those containing at least one vehicle whose capacity is
violated in the middle of the route. The cuts that ensure that the vehicle capacity is not
exceeded in the middle of a route, i.e. those given by (5.6) are separated in a lazy fashion.
Very few such cuts are needed in practice.
5.4 Computational experiments 58

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.

Table 5.1: Results obtained on the instances of Dethloff [48]


Instance/ BC BCP
Customers/ Prev. UB
Root Root Root Root Tree Total LB
#vehicles LB
LB Time (s) LB Time (s) Size Time (s)
SCA3-0/50/4 619.21 5.18 620.87 149 - - - 635.62 635.62
SCA3-1/50/4 682.34 1.90 682.75 27.2 - - - 697.84 697.84
SCA3-2/50/4 659.34 0.60 659.34 64.8 - - - 659.34 659.34
SCA3-3/50/4 667.56 1.76 667.56 102 - - - 680.04 680.04
SCA3-4/50/4 676.56 6.75 675.97 51.6 - - - 690.50 690.50
SCA3-5/50/4 647.90 1.16 649.56 48.5 - - - 659.91 659.91
SCA3-6/50/4 625.60 1.29 625.16 67.0 - - - 651.09 651.09
SCA3-7/50/4 654.97 3.70 655.99 72.8 - - - 659.17 659.17
SCA3-8/50/4 688.21 1.97 690.29 161 - - - 719.48 719.48
SCA3-9/50/4 671.07 2.04 670.56 85.2 - - - 681.00 681.00
SCA8-0/50/9 926.03 18.8 946.50 2.91 63 76.2 961.50 961.50 961.50
SCA8-1/50/9 1002.29 15.5 1028.22 2.71 369 437 1049.65 1049.65 1049.65
SCA8-2/50/9 1013.37 19.8 1026.07 2.90 307 270 1039.64 1039.64 1039.64
SCA8-3/50/9 956.10 11.9 975.45 1.93 11 10.6 983.34 983.34 983.34
SCA8-4/50/9 1027.24 25.9 1052.79 1.11 51 34.4 1065.49 1065.49 1065.49
SCA8-5/50/9 998.05 13.7 1017.77 2.75 107 115 1027.08 1027.08 1027.08
SCA8-6/50/9 948.26 12.8 964.03 3.56 19 20.8 971.82 971.82 971.82
SCA8-7/50/9 1018.20 16.4 1028.30 2.01 547 601 1051.28 1051.28 1051.28
SCA8-8/50/9 1038.86 6.15 1057.44 1.85 35 53.7 1071.18 1071.18 1071.18
SCA8-9/50/9 1019.25 12.0 1037.29 1.51 245 341 1060.50 1060.50 1060.50
CON3-0/50/4 611.30 2.58 612.16 66.9 - - - 616.52 616.52
CON3-1/50/4 546.65 8.26 546.38 104 - - - 554.47 554.47
CON3-2/50/4 505.06 3.94 507.43 71.5 - - - 518.01 518.01
CON3-3/50/4 584.28 2.05 585.16 167 - - - 591.19 591.19
CON3-4/50/4 577.52 1.04 578.09 48.4 - - - 588.79 588.79
CON3-5/50/4 552.91 3.22 555.76 114 - - - 563.70 563.70
CON3-6/50/4 486.98 5.22 487.83 67.9 - - - 499.05 499.05
CON3-7/50/4 561.62 0.97 563.49 58.8 - - - 576.48 576.48
CON3-8/50/4 514.84 5.03 516.45 50.6 - - - 523.05 523.05
CON3-9/50/4 564.78 2.51 567.69 59.0 - - - 578.25 578.25
CON8-0/50/9 830.03 41.5 850.16 2.82 53 45.2 857.17 857.17 857.17
CON8-1/50/9 722.38 27.7 732.24 0.98 151 85.9 740.85 740.85 740.85
CON8-2/50/9 685.66 39.2 700.78 2.94 249 576 712.89 712.89 712.89
CON8-3/50/10 787.84 39.3 806.23 1.73 95 85.2 811.07 811.07 811.07
CON8-4/50/9 751.95 21.2 764.50 1.16 121 107 772.25 772.25 772.25
CON8-5/50/9 729.92 15.1 746.25 1.69 273 358 754.88 754.88 754.88
CON8-6/50/9 648.64 18.7 666.09 1.42 151 202 678.92 678.92 678.92
CON8-7/50/9 793.50 15.5 804.51 1.35 25 35.7 811.96 811.96 811.96
CON8-8/50/9 744.52 26.8 761.79 2.93 31 66.2 767.53 767.53 767.53
CON8-9/50/9 773.65 45.0 798.12 1.61 419 422 809.00 809.00 809.00

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

5.5 Concluding remarks


This chapter presented a BCP approach for the VRPSPD that is also capable of solv-
ing the VRPMPD. The proposed algorithm is an adaptation of the one developed in
[63] for solving the CVRP. The fundamental difference of this BCP relies on the column
generation procedure that was redesigned to deal with the delivery and pickup demands
simultaneously. The BCP algorithm was tested in well-known benchmark instances and it
was found capable of proving the optimality of 4 problems for the first time, where three
5.5 Concluding remarks 61

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

An ILS Heuristic for General Vehicle


Routing Problems

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].

6.1 A brief overview of the ILS metaheuristic


Consider a local optimum solution that has been found by a local search algorithm. In-
stead of restarting the same procedure from a completely new solution, the ILS meta-
heuristic applies a local search repeatedly to a set of solutions obtained by perturbing
previously visited local optimal solutions. As stated in Chapter 1, the essential idea of
ILS resides in the fact that it focuses on a smaller subset, instead of considering the
total space of solutions. This subset is defined by the local optimums of a given opti-
mization procedure [112]. To implement an ILS algorithm, four procedures should be
specified: (i) GenerateInitialSolution, where an initial solution is constructed; (ii)
LocalSearch, which improves the solution initially obtained; (iii) Perturb, where a new
starter point is generated through a perturbation of a solution found in the LocalSearch;
(iv) AcceptanceCriterion, that determines from which solution the search should con-
tinue. Alg. 6.1 describes how these components are combined to build the ILS framework.
The modification performed in the perturbation phase is used in order to try escape
from a current locally optimal solution. Frequently, the move is randomly chosen within
a larger neighborhood than the case utilized in the local search, or a move that the
local search cannot undo in just one step. In principle, any local search method can be
used. However, its performance, in terms of the solution quality and computational effort,
strongly depends on the chosen procedure. The acceptance criterion is used to decide
the next solution that should be perturbed. The choice of this criterion is important
6.2 The ILS-RVND heuristic 63

Algorithm 6.1 ILS


1: Procedure ILS
2: s0 ← GenerateInitialSolution;
3: s∗ ← LocalSearch(s0 );
4: while Stopping criterion is not met do
5: s0 ← Perturb(s∗ , history);
6: s∗0 ← LocalSearch(s0 );
7: s∗ ← AcceptanceCriterion(s∗ , s∗0 , history);
8: end ILS;

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.

6.2 The ILS-RVND heuristic


This section describes the proposed heuristic algorithm, called ILS-RVND, whose main
steps are summarized in Alg. 6.2. Let v be the number of vehicles (or routes). If its value
is not specified in advance then an estimation is performed (lines 3-5). The multi-start
heuristic executes M axIter iterations (lines 6-19), where at each iteration a solution is
generated by means of a constructive procedure (line 7). The main ILS loop (lines 10-
16) seeks to improve this initial solution using a RVND procedure (line 11) in the local
search phase combined with a set of perturbation mechanisms (line 15). Notice that the
perturbation is always performed on the best current solution (s0 ) of a given iteration
(acceptance criterion). The parameter M axIterILS represents the maximum number of
consecutive perturbations allowed without improvements.
The next subsections provide a detailed explanation of the main components of the
ILS-RVND heuristic.

6.2.1 Estimating the number of vehicles


Sometimes the number of available vehicles is not specified by the instance. Since the
constructive method depends on this information, a procedure to estimate the initial
number of vehicles had to be developed, as can be observed in Alg. 6.3. Let CL denote the
Candidate List composed by customers that have not been added to the partial solution.
At first, just one vehicle is considered (line 2). A customer k ∈ CL is chosen at random
and inserted into the single route (lines 3-5). Next, while the CL is not empty, one of the
insertion criteria described in Section 6.2.2 is selected at random to evaluate the inclusion
of a customer k ∈ CL in each position of the route v and the least cost insertion is
considered (lines 6-14). If the vehicle v is full then a new vehicle is added (lines 11-12).
6.2 The ILS-RVND heuristic 64

Algorithm 6.2 ILS-RVND


1: Procedure ILS-RVND(M axIter, M axIterILS, v)
2: LoadData( );
3: if v was not defined then
4: v ← EstimateTheNumberOfVehicles(seed);
5: f ∗ ← ∞;
6: for i:=1,..., M axIter do
7: s ← GenerateInitialSolution(v, M axIter, seed);
8: s0 ← s;
9: iterILS ← 0;
10: while iterILS ≤ M axIterILS do
11: s ← RVND(s);
12: if f (s) < f (s0 ) {or v of s < v of s0 (considered only when v must be minimized)} then
13: s0 ← s;
14: iterILS ← 0;
15: s ← Perturb(s0 , seed);
16: iterILS ← iterILS + 1;
17: if f (s0 ) < f ∗ then
18: s∗ ← s0 ;
19: f ∗ ← f (s0 );
20: return s∗ ;
21: end ILS-RVND.

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.

6.2.2 Constructive procedure


In essence any classical VRP construction method can be used to generate initial solu-
tions. However, the main interest is to build diversified initial solutions using relatively
simple schemes. The developed procedure makes use of two insertion criteria, namely
the Modified Cheapest Feasible Insertion Criterion (MCFIC) and the Nearest Feasible
Insertion Criterion (NFIC). Also, two insertion strategies were employed, specifically the
Sequential Insertion Strategy (SIS) and the Parallel Insertion Strategy (PIS).
The pseudocode of the constructive procedure is presented in Alg. 6.4. Each route
is filled with a seed customer k, randomly selected from the CL (lines 5-7). An insertion
criterion and an insertion strategy is chosen at random (lines 8-9). An initial solution
is generated using the selected combination of criterion and strategy (lines 10-13). If
an infeasible solution has been found the procedure restarts from line 3. In this case, an
infeasible solution necessarily corresponds to an incomplete solution, which means that the
selected insertion procedure was not capable of including all customers using v vehicles.
6.2 The ILS-RVND heuristic 65

Algorithm 6.3 EstimateTheNumberOfVehicles


1: Procedure EstimateTheNumberOfVehicles(seed)
2: v ← 1;
3: Initialize the CL
4: sv ← k ∈ CL selected at random;
5: Update CL;
6: while CL 6= ∅ do
7: Evaluate the cost g(k) for each k ∈ CL using an insertion criterion selected at random;
8: g min ← min{g(k)|k ∈ CL};
9: n ← client e associated to g min ;
10: sv ← sv ∪ {n};
11: if vehicle v is full then
12: v ← v + 1;
13: else
14: Update CL;
15: return v;
16: end EstimateTheNumberOfVehicles.

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.

6.2.2.1 Insertion criteria

The cost of inserting an unrouted customer k ∈ CL in a given route using MCFIC is


expressed in Eq. 6.1, where function g(k) represents the insertion cost. The value of
g(k) is computed by the sum of two parcels. The first computes the insertion cost of the
client k between every pair of adjacent customers i and j while the second corresponds to
a surcharge used to avoid late insertions of customers located far away from the depot.
The cost back and forth from the depot is weighted by a factor γ. This greedy insertion
criterion was inspired in [48].

g (k) = (cik + ckj − cij ) − γ (c0k + ck0 ) (6.1)

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.

g (k) = cik (6.2)

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

Algorithm 6.4 GenerateInitialSolution


1: Procedure GenerateInitialSolution(v, M axIter, seed)
2: ConsecutiveT rials ← 0;
3: Initializethe CL;
4: Let s = s1 , . . . , sv−1 be the set composed by v − 1 empty routes;
5: for v 0 = 1 . . . v − 1 do
0
6: sv ← k ∈ CL selected at random;
7: Update CL; {CL ← CL - {k}}
8: InsertionCriterion ← MCFIC or NFIC (chosen at random);
9: InsertionStrategy ← SIS or PIS (chosen at random);
10: if InsertionStrategy = SIS then
11: s ← SequentialInsertion(s, v, CL, InsertionCriterion);
12: else
13: s ← ParallelInsertion(s, v, CL, InsertionCriterion);
14: if s is infeasible then
15: if v was not defined then
16: ConsecutiveT rials ← ConsecutiveT rials + 1;
17: if ConsecutiveT rials = M axIter then
18: v ← v + 1;
19: ConsecutiveT rials ← 0;
20: Go to line 3;
21: else
22: if the vehicle fleet is heterogeneous and unlimited then
23: Add an empty route associated to each type of vehicle to s
24: return s;
25: end GenerateInitialSolution.

6.2.2.2 Insertion strategies

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

the code is likewise SIS.

Algorithm 6.5 SequentialInsertion


1: Procedure SequentialInsertion(s, v, CL, InsertionCriterion)
2: γ ← 0;
3: customerInserted ← false;
4: if InsertionCriterion = MCFIC then
5: γ ← random value within a given set;
6: v0 ← 1;
7: while CL 6= ∅ and at least one customer k ∈ CL can be added to s do
8: for v 0 = v0 . . . v and CL 6= ∅ do
9: if at least one customer k ∈ CL can be inserted into the vehicle v 0 then
10: Evaluate the value of each cost g(k) for k ∈ CL;
11: g min ← min{g(k)|k ∈ CL};
12: k 0 ← customer k associated to g min ;
0 0
13: sv ← sv ∪ {k 0 };
14: Update CL;
15: customerInserted ← true;
16: Update v0 ;
17: if CL > 0 and there are multiple depots + route duration and customerInserted = true then
18: s ← RVND(s);
19: customerInserted ← false;
20: Go to line 7;
21: if CL > 0 and the vehicle fleet is heterogeneous and unlimited then
22: Add a new vehicle chosen at random; {v ← v + 1}
23: Update v0 ; {v0 ← v}
24: Go to line 7;
25: return s;
26: end SequentialInsertion.

Algorithm 6.6 ParallelInsertion


1: Procedure ParallelInsertion(s, v, CL, InsertionCriterion)
2: γ ← 0;
3: customerInserted ← false;
4: if InsertionCriterion = MCFIC then
5: γ ← random value within a given set;
6: while CL 6= ∅ and at least one customer k ∈ CL can be added to s do
7: Evaluate the value of each cost g(k) for k ∈ CL;
8: g min ← min{g(k)|k ∈ CL};
9: k 0 ← customer k associated to g min ;
10: v 0 ← route associated to g min ;
0 0
11: sv ← sv ∪ {k 0 };
12: Update CL;
13: if CL > 0 and there are multiple depots + route duration and customerInserted = true then
14: s ← RVND(s);
15: customerInserted ← false;
16: Go to line 7;
17: if CL > 0 and the vehicle fleet is heterogeneous and unlimited then
18: Add a new vehicle chosen at random; {v ← v + 1}
19: Go to line 6;
20: return s;
21: end ParallelInsertion.
6.2 The ILS-RVND heuristic 68

6.2.3 Local search


The local search is performed by a VND procedure which utilizes a random neighbor-

hood ordering (RVND). Let N = N (1) , N (2) , N (3) , . . . , N (r) be the set of neighborhood
structures. Whenever a given neighborhood of the set N fails to improve the incum-
bent solution, the RVND randomly chooses another neighborhood from the same set to
continue the search throughout the solution space. In this case, N is composed only by
inter-route neighborhood structures.
The pseudocode of the RVND procedure is presented in Alg. 6.7. Firstly, a Neigh-
borhood List (NL) containing a predefined number of inter-route moves is initialized (line
3). In the main loop (lines 4-13), a neighborhood N (η) ∈ NL is chosen at random (line
5) and then the best admissible move is determined (line 6). In case of improvement, an
intra-route local search is performed, the fleet is updated (only when the vehicle fleet is
unlimited) and the NL is populated with all the neighborhoods (lines 7-12). Otherwise,
N (η) is removed from the NL (line 14). A set of Auxiliary Data Structures (ADSs) is
updated (see Subsection 6.2.3.1) at the beginning of the process (line 2) and whenever
a neighborhood search is performed (line 15). If the problem has a primary objective of
minimizing the sum of the vehicles, which is the case of the OVRP, then a procedure that
tries to empty a route is applied (line 16).

Algorithm 6.7 RVND


1: Procedure RVND(s)
2: Update ADSs;
3: Initialize the inter-route Neighborhood List (NL);
4: while NL 6= 0 do
5: Choose a neighborhood N (η) ∈ NL at random;
6: Find the best neighbor s0 of s ∈ N (η) ;
7: if f (s0 ) < f (s) then
8: s ← s0 ;
9: s ← IntraRouteSearch(s);
10: if the vehicle fleet is heterogeneous and unlimited then
11: Update Fleet in such a way that there is one empty vehicle of each type
12: Update NL; {NL in populated with all inter-route neighborhood structures}
13: else
14: Remove N (η) from the NL;
15: Update ADSs;
16: TryToEmptyRoute(s); {considered only when vehicle fleet must be necessarily minimized}
17: return s;
18: end RVND.

Let N 0 be a set composed by r0 intra-route neighborhood structures. Alg. 6.8 describes


how the intra-route search procedure was implemented. At first, a neighborhood list NL0 is
initialized with all the intra-route neighborhood structures (line 2). Next, while NL0 is not
empty a neighborhood N 0(η) ∈ NL0 is randomly selected and a local search is exhaustively
performed until no more improvements are found (lines 3-9).
In the case of single-vehicle routing problems such as the TSPMPD, it does not make
6.2 The ILS-RVND heuristic 69

Algorithm 6.8 IntraRouteSearch


1: Procedure IntraRouteSearch(s)
2: Initialize the Intra-Route Neighborhood List (NL0 );
3: while NL0 6= 0 do
4: Choose a neighborhood N 0(η) ∈ NL0 at random;
5: Find the best neighbor s0 of s ∈ N 0(η) ;
6: if f (s0 ) < f (s) then
7: s ← s0 ;
8: else
9: Remove N 0(η) from the NL0 ;
10: return s;
11: end IntraRouteSearch.

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.

6.2.3.1 Auxiliary Data Structures (ADSs)

In order to enhance the neighborhood search, some ADSs were adopted. The following
arrays store useful informations regarding each route.

• SumDelivery[ ] — sum of the delivery demands. For example, if SumDelivery[2]


= 100, it means that the sum of the delivery demands of all customers of route 2
corresponds to 100.

• SumPickup[ ] — sum of the pickup demands.

• MinDelivery[ ] — minimum delivery demand. For example, if MinDelivery[3]


= 5, it means that 5 is the least delivery demand among all customers of route 3.

• MinPickup[ ] — minimum pickup demand.

• MaxDelivery[ ] — maximum delivery demand.

• MaxPickup[ ] — maximum pickup demand.

• MinPairDelivery[ ] — minimum sum of delivery demands of two adjacent cus-


tomers. For example, if MinPairDelivery[1] = 10, it means that the least sum of
the delivery demands of two adjacent customers of route 1 corresponds to 10.

• MinPairPickup[ ] — minimum sum of pickup demands of two adjacent customers.

• MaxPairDelivery[ ] — maximum sum of delivery demands of two adjacent cus-


tomers.

• MaxPairPickup[ ] — maximum sum of pickup demands of two adjacent customers.


6.2 The ILS-RVND heuristic 70

• CumulativeDelivery[ ][ ] — cumulative delivery load at each point of the route.


For example, if CumulativeDelivery[2][4] = 78, it means that the sum of the
delivery demands of the first four customers of route 2 corresponds to 78.

• CumulativePickup[ ][ ] — cumulative pickup load at each point of the 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.

6.2.3.2 Inter-Route neighborhood structures

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

The solutions associated to all neighborhoods structures are explored exhaustively,


that is, all possible combinations are examined, and the best improvement strategy is
considered. The computational complexity of each one of these moves is O(n2 ), with the
exception of the neighborhoods structures ShiftDepot and SwapDepot whose complexity
is of the order of O(v|G|).
In order to accelerate the local search, a set of conditions can be specified to avoid
the examination of moves that are known to be infeasible. It is in this context that the
ADSs play an important role. The information stored in these data structures are used in
the process of identifying unnecessary moves during the local search. Each neighborhood
structure has its own conditions but the idea is essentially the same. Moreover, all of
them share the condition that, given a inter-route movement involving the routes r1 and
r2 , it is worth examining a move using neighborhood N (η) only if NeighbStatus[η][r1 ]
= true or NeighbStatus[η][r2 ] = true.
Only feasible moves are admitted, i.e., those that do not violate the vehicle load and
route duration constraints. Therefore, every time an improvement occurs, the algorithm
checks whether this new solution is feasible or not. In some VRP variants such as the
CVRP, ACVRP, OVRP, MDVRP and the HFVRP checking the vehicle load is trivial
and it can be performed in a constant time by just verifying if the sum of the customers
demands of a given route does not exceed the vehicle’s capacity when the same is leaving
(or arriving at) the depot. In other variants, specially those that include both pickup and
delivery services such as the VRPSPD, VRPMPD, TSPMPD and the MDVRPMPD, a
more elaborated procedure must be designed for checking the feasibility of a move with
respect to the vehicle capacity. As for the route duration, it is possible to check if a
route exceeds the maximum limit in constant time. For that, one should keep track of
the duration of each route throughout the local search procedure.
The inter-route neighborhood structures are described next. The feasibility check-
ing procedures for those problems that contain both pickup and delivery (VRPSPD,
VRPMPD and MDVRPMPD) are also presented and, in all these cases, the compu-
tational complexity is O(n). In addition, the particular conditions of each neighborhood
that must be satisfied to avoid evaluating some infeasible moves are presented as well.
Implementation steps of the neighborhoods Shift(1,0), Swap(1,1), Shift(2,0), Swap(2,1),
Swap(2,2), Cross and K−Shift are respectively provided in Algs. 6.9-6.17. Fig. 6.1 illus-
trates an example of the effect of the λ-interchanges and Cross based neighborhoods over
a given solution, while Figs. 6.2 and 6.3 show, respectively, the effect of the K-Shift and
multi-depot neighborhoods.

Shift(1,0) — N (1) — A customer k is transferred from a route r1 to a route r2 . In


Fig. 6.1.b the customer 7 was moved from one route to the other one. If MinDelivery[r1 ]
6.2 The ILS-RVND heuristic 72

+ SumDelivery[r2 ] > Q or MinPickup[r1 ] + SumPickup[r2 ] > Q it means that trans-


fering any customer from r1 to r2 implies an infeasible solution. This fact is easy to
verify because if even the customer with the least delivery (or pickup) demand cannot
be transferred to the other route, it is clear that the remaining customers also cannot.
In addition, if dk + SumDelivery[r2 ] > Q or pk + SumPickup[r2 ] > Q then there is no
point in evaluating the transfer of k ∈ r1 to any position in r2 , since the vehicle load
will always be violated. Thus a verification should be performed to avoid the evaluation
of these infeasible moves. The vehicle load is checked as follows. All customers located
before the insertion’s position have their loads added by dk , while the ones located after
have their loads added by pk .

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

Figure 6.1: λ-interchanges and Cross based neighborhoods


6.2 The ILS-RVND heuristic 73

Algorithm 6.9 Shift(1,0)


1: Procedure Shift-1-0(s)
2: for r1 = 1 . . . v do
3: for r2 = 1 . . . v do
4: if r1 6= r2 and (NeighbStatus[1][r1 ] = true or NeighbStatus[1][r2 ] = true) and
MinDelivery[r1 ] + SumDelivery[r2 ] ≤ Q and MinPickup[r1 ] + SumPickup[r2 ] ≤ Q then
5: for every customer k ∈ r1 do
6: if dk + SumDelivery[r2 ] ≤ Q and pk + SumPickup[r2 ] ≤ Q then
7: for each position z in r2 do
8: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
transfering k ∈ r1 to the position z in r2 ;
9: if f (s0 ) < f ∗ and s0 is feasible then
10: f ∗ ← f (s0 );
11: s∗ ← s0 ;

12: if f < f (s) then
13: s ← s∗ ;
14: else
15: Update NeighbStatus;
16: return s;
17: end Shift-1-0.

Swap(1,1) — N (2) — Permutation between a customer k from a route r1 and a


customer l, from a route r2 . In Fig. 6.1.c the customers 2 and 6 were swapped. To avoid
evaluating infeasible moves one should verify if MinDelivery[r1 ] - MaxDelivery[r2 ] +
SumDelivery[r2 ] ≤ Q, MinPickup[r1 ] - MaxPickup[r2 ] + SumPickup[r2 ] ≤ Q, dk +
SumDelivery[r2 ] - MaxDelivery[r2 ] ≤ Q and pk + SumPickup[r2 ] - MaxPickup[r2 ]
≤ Q. The loads of the vehicles of both routes are examined in the same way. For example,
in case of r2 , all customers situated before the position that l was found (now replaced by
k), have their values added by dk and subtracted by dl while the load of the customers
positioned after k increases by pk and decreases by pl .
Shift(2,0) — N (3) — Two adjacent customers, k and l, are transferred from a
route r1 to a route r2 . This move can also be seen as an arc transfer. In this case,
the move examines the transfer of both arcs (k, l) and (l, k). In Fig. 6.1.d the adja-
cent customers 7 and 11 were moved from one route to the other one. Before starting
to evaluate the customers transferring from r1 to r2 one should verify following condi-
tions are met: MinPairDelivery[r1 ] + SumDelivery[r2 ] ≤ Q and MinPairPickup[r1 ]
+ SumPickup[r2 ] ≤ Q. The vehicle load of r2 is checked using an approach similar to
the one adopted in Shift(1,0). All customers located before the insertion’s position in r2
have their loads added by dk + dl , while the ones located after have their loads added by
pk + pl . Also, the new load carried out in the arc (k, l) must be verified.
Swap(2,1) — N (4) — Permutation of two adjacent customers, k and l, from a route r1
by a customer k 0 from a route r2 . As in Shift(2,0), both arcs (k, l) and (l, k) are considered.
In Fig. 6.1.e the adjacent customers 6 and 7 were exchanged with customer 2. The
evaluation of some infeasible moves are avoided by checking if MinPairDelivery[r1 ] -
MaxDelivery[r2 ] + SumDelivery[r2 ] ≤ Q and MinPairPickup[r1 ] - MaxPickup[r2 ]
6.2 The ILS-RVND heuristic 74

+ SumPickup[r2 ] ≤ Q. The load is verified by means of an extension of the approach


used in the neighborhoods Shift(2,0) and Swap(1,1).

Algorithm 6.10 Swap(1,1)


1: Procedure Swap-1-1(s)
2: for r1 = 1 . . . v do
3: for r2 = r1 + 1 . . . v do
4: if (NeighbStatus[2][r1 ] = true or NeighbStatus[2][r2 ] = true) and
MinDelivery[r1 ] - MaxDelivery[r2 ] + SumDelivery[r2 ] ≤ Q and
MinPickup[r1 ] - MaxPickup[r2 ] + SumPickup[r2 ] ≤ Q then
5: for every customer k ∈ r1 do
6: if dk + SumDelivery[r2 ] - MaxDelivery[r2 ] ≤ Q and
pk + SumPickup[r2 ] - MaxPickup[r2 ] ≤ Q then
7: for every customer l ∈ r2 do
8: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
exchanging k ∈ r1 with l in r2 ;
9: if f (s0 ) < f ∗ and s0 is feasible then
10: f ∗ ← f (s0 );
11: s∗ ← s0 ;

12: if f < f (s) then
13: s ← s∗ ;
14: else
15: Update NeighbStatus;
16: return s;
17: end Swap-1-1.

Algorithm 6.11 Shift(2,0)


1: Procedure Shift-2-0(s)
2: for r1 = 1 . . . v do
3: for r2 = 1 . . . v do
4: if r1 6= r2 and (NeighbStatus[3][r1 ] = true or NeighbStatus[3][r2 ] = true) and
MinPairDelivery[r1 ] + SumDelivery[r2 ] ≤ Q and MinPairPickup[r1 ] + SumPickup[r2 ]
≤ Q then
5: for every pair of adjacent customers k and l ∈ r1 do
6: if dk + dl + SumDelivery[r2 ] ≤ Q and pk + pl + SumPickup[r2 ] ≤ Q then
7: for each position z in r2 do
8: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
transfering k and l ∈ r1 to the position z in r2 ;
9: if f (s0 ) < f ∗ and s0 is feasible then
10: f ∗ ← f (s0 );
11: s∗ ← s0 ;

12: if f < f (s) then
13: s ← s∗ ;
14: else
15: Update NeighbStatus;
16: return s;
17: end Shift-2-0.

Swap(2,2) — N (5) — Permutation between two adjacent customers, k and l, from


a route r1 by another two adjacent customers k 0 and l0 , belonging to a route r2 . All
the four possible combinations of exchanging arcs (k, l) and (k 0 , l0 ) are considered. In
Fig. 6.1.f the adjacent customers 6 and 7 were exchanged with the adjacent customers 1
6.2 The ILS-RVND heuristic 75

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).

Algorithm 6.12 Swap(2,1)


1: Procedure Swap-2-1(s)
2: for r1 = 1 . . . v do
3: for r2 = 1 . . . v do
4: if r1 6= r2 and (NeighbStatus[4][r1 ] = true or NeighbStatus[4][r2 ] = true) and
MinPairDelivery[r1 ] - MaxDelivery[r2 ] + SumDelivery[r2 ] ≤ Q and
MinPairPickup[r1 ] - MaxPickup[r2 ] + SumPickup[r2 ] ≤ Q then
5: for every pair of adjacent customers k and l ∈ r1 do
6: if dk + dl + SumDelivery[r2 ] - MaxDelivery[r2 ] ≤ Q and
pk + pl + SumPickup[r2 ] - MaxPickup[r2 ] ≤ Q then
7: for every customer k 0 in r2 do
8: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
exchanging adjacent customers k and l ∈ r1 with k 0 ∈ r2 ;
9: if f (s0 ) < f ∗ and s0 is feasible then
10: f ∗ ← f (s0 );
11: s∗ ← s0 ;

12: if f < f (s) then
13: s ← s∗ ;
14: else
15: Update NeighbStatus;
16: return s;
17: end Swap-2-1.

Algorithm 6.13 Swap(2,2)


1: Procedure Swap-2-2(s)
2: for r1 = 1 . . . v do
3: for r2 = r1 + 1 . . . v do
4: if r1 6= r2 and (NeighbStatus[5][r1 ] = true or NeighbStatus[5][r2 ] = true) and
MinPairDelivery[r1 ] - MaxPairDelivery[r2 ] + SumDelivery[r2 ] ≤ Q and
MinPairPickup[r1 ] - MaxPairPickup[r2 ] + SumPickup[r2 ] ≤ Q then
5: for every pair of adjacent customers k and l ∈ r1 do
6: if dk + dl + SumDelivery[r2 ] - MaxPairDelivery[r2 ] ≤ Q and
pk + pl + SumPickup[r2 ] - MaxPairPickup[r2 ] ≤ Q then
7: for every pair of adjacent customers k 0 and l0 ∈ r2 do
8: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
exchanging adjacent customers k and l ∈ r1 with adjacent customers k 0 and k 0 ∈ r2 ;
9: if f (s0 ) < f ∗ and s0 is feasible then
10: f ∗ ← f (s0 );
11: s∗ ← s0 ;

12: if f < f (s) then
13: s ← s∗ ;
14: else
15: Update NeighbStatus;
16: return s;
17: end Swap-2-2.

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.

Algorithm 6.14 Cross


1: Procedure Cross(s)
2: for r1 = 1 . . . v do
3: for r2 = 1 . . . v do
4: if r1 6= r2 and (NeighbStatus[6][r1 ] = true or NeighbStatus[6][r2 ] = true) then
5: for every position i in r1 do
6: {Let f be the last customer of r2 }
7: if CumulativeDelivery[r1 ][i] + df ≤ Q and CumulativePickup[r1 ][i] + pf ≤ Q
then
8: for every position j in r2 do
9: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost
of removing the arc (k, l) ∈ r1 , associated with positions i and i + 1, and the arc
(k 0 , l0 ) ∈ r2 , associated with positions j − 1 and j and inserting arcs (k, l0 ) and (k 0 , l);
10: if f (s0 ) < f ∗ and s0 is feasible then
11: f ∗ ← f (s0 );
12: s∗ ← s0 ;

13: if f < f (s) then
14: s ← s∗ ;
15: else
16: Update NeighbStatus;
17: return s;
18: end Cross.

K-Shift — N (7) — A subset of consecutive customers K is transferred from a route


r1 to the end of a route r2 . In this case, it is assumed that the dependent and fixed costs
of r2 is smaller than those of r1 . It should be pointed out that the move is also applied
if r2 is an empty route. In Fig. 6.2, the consecutive customers 1, 2 and 7 are transferred
from one route to the end of the other one.
ShiftDepot — N (8) — A route r is transferred from a depot1 to a depot2 , as long
as there is a vehicle available on the latter. In principle, any move is considered to be
feasible. In Fig 6.3.b, the route composed by customers 14, 18 and 15 is transferred from
one depot to the other one.
SwapDepot — N (9) — Permutation between a route r1 from a depot1 and a route r2
from a depot2 . As in the previous case, any move is admitted to be feasible. In Fig 6.3.c,
the route composed by customers 14, 18 and 15, belonging to depot D1 is exchanged with
the route composed by customers 4, 5, 6 and 8, belonging to the depot D2.
6.2 The ILS-RVND heuristic 77

Algorithm 6.15 K -Shift


1: Procedure K -Shift(s)
2: for r1 = 1 . . . v do
3: for r2 = 1 . . . v do
4: if r1 6= r2 and Qr1 < Qr2 and
(NeighbStatus[1][r1 ] = true or NeighbStatus[1][r2 ] = true) and MinDelivery[r1 ] +
SumDelivery[r2 ] ≤ Qr2 then
5: for every customer k ∈ r1 do
6: if dk + SumDelivery[r2 ] ≤ Qr2 then
7: SumDeliveryT emp ← dk + SumDelivery[r2 ];
8: z ← position of k;
9: l ← k;
10: while SumDeliveryT emp ≤ Qr2 and z is a valid position of r1 do
11: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
transfering the consecutive customers ranging from k ∈ r1 to l ∈ r1 to the end of r2 ;
12: if f (s0 ) < f ∗ and s0 is feasible then
13: f ∗ ← f (s0 );
14: s∗ ← s0 ;
15: z ← z + 1;
16: l ← customer associated with the position z ∈ r1
17: SumDeliveryT emp ← SumDeliveryT emp + dl
18: if f ∗ < f (s) then
19: s ← s∗ ;
20: else
21: Update NeighbStatus;
22: return s;
23: end K -Shift.

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)

Figure 6.2: K-Shift neighborhood

It is important to mention that other conditions to avoid the examination of moves


that are known to be infeasible were tested but the results were disappointing in terms of
computational time. For example, in the case of Swap(1,1), it is clear that the following
conditions must be met: MinDelivery[r2 ] - MaxDelivery[r1 ] + SumDelivery[r1 ] ≤
6.2 The ILS-RVND heuristic 78

Q, MinPickup[r2 ] - MaxPickup[r1 ] + SumPickup[r1 ] ≤ Q, dl + SumDelivery[r1 ] -


MaxDelivery[r1 ] ≤ Q. However, preliminary experiments showed that the overhead of
including these verifications in addition to the existing ones was not worth it.

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

Figure 6.3: Multi-depot neighborhoods

Algorithm 6.16 ShiftDepot


1: Procedure ShiftDepot(s)
2: for depot1 = 1 . . . |G| do
3: for each non-empty route r ∈ depot1 do
4: for depot2 = 1 . . . |G| do
5: if depot1 6= depot2 and depot2 has an empty route then
6: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
transfering route r ∈ depot1 to the depot2 ;
7: if f (s0 ) < f ∗ then
8: f ∗ ← f (s0 );
9: s∗ ← s0 ;

10: if f < f (s) then
11: s ← s∗ ;
12: return s;
13: end ShiftDepot.
6.2 The ILS-RVND heuristic 79

Algorithm 6.17 SwapDepot


1: Procedure SwapDepot(s)
2: for depot1 = 1 . . . |G| do
3: for each non-empty route r1 ∈ depot1 do
4: for depot2 = 1 . . . |G| do
5: if depot1 6= depot2 then
6: for each non-empty route r2 ∈ depot1 do
7: Evaluate the solution cost f (s0 ) of the neighborhood solution s0 of s, i.e., the cost of
exchanging route r1 ∈ depot1 with r2 ∈ depot2 ;
8: if f (s0 ) < f ∗ then
9: f ∗ ← f (s0 );
10: s∗ ← s0 ;

11: if f < f (s) then
12: s ← s∗ ;
13: return s;
14: end SwapDepot.

6.2.3.3 Intra-Route neighborhood structures

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.

Reinsertion — One, customer is removed and inserted in another position of the


route. In Fig. 6.4.b the customer 3 was re-inserted in another position.
Or-opt2 — Two adjacent customers are removed and inserted in another position
of the route. In Fig. 6.4.c the adjacent customers 2 and 3 were re-inserted in another
position.
Or-opt3 — Three adjacent customers are removed and inserted in another position
of the route. In Fig. 6.4.d the adjacent customers 1, 2 and 3 were re-inserted in another
position.
2-opt — Two nonadjacent arcs are deleted and another two are added in such a way
that a new route is generated. In Fig. 6.4.e The arcs (2,3) and (5,6) were deleted while
the arcs (2,5) and (3,6) were inserted. This neighborhood structure was not employed in
the ACVRP.
Exchange — Permutation between two customers. In Fig. 6.4.f the customers 2 and
6 were swapped.
Reverse — This move reverses the route direction if the value of the maximum load
of the corresponding route is reduced. In Fig. 6.4.g all the arcs had their direction re-
versed. This neighborhood structure is only employed in PDP problems.
6.2 The ILS-RVND heuristic 80

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)

Figure 6.4: Intra-Route neighborhoods

The computational complexity of evaluating the neighborhoods Reinsertion, Or-opt2,


Or-opt3, 2-opt and Exchange is O(n̄2 ) while the complexity of evaluating the neighbor-
hood Reverse is O(n̄).

6.2.3.4 Trying to empty a route

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).

Algorithm 6.18 TryEmptyRoute


1: Procedure TryEmptyRoute(s)
2: s0 ← s
3: Initialize Route List (RL) with the routes of s
4: while |RL| > 1 do
5: Choose a route selection criterion at random;
6: Choose a route r ∈ RL according to the selected criterion;
7: Remove r from RL;
8: 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 do
9: s ← Shift(1,0);
10: s ← Shift(2,0);
11: s ← Swap(1,1);
12: if number of routes of s is equal to the number of routes of s0 then
13: s ← s0 ;
14: return s;
15: end TryEmptyRoute.

6.2.4 Perturbation mechanisms


A set P of four perturbation mechanisms were adopted. Only feasible perturbation moves
are accepted. Whenever the Perturb() function is called, one of the following moves is
randomly selected.

Multiple-Swap(1,1) – P (1) – Multiple random Swap(1,1) moves are performed in


sequence.
Multiple-Shift(1,1) – P (2) – Multiple random Shift(1,1) moves are performed in
sequence. The Shift(1,1) consists in transferring a customer k from a route r1 to a route
r2 , whereas a customer l from r2 is transferred to r1 .
6.3 Computational results 82

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.

Figure 6.5: Double-Bridge

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.

6.3 Computational results


The algorithm ILS-RVND was coded in C++ (g++ 4.4.3). For the VRPs with homo-
geneous fleet and TSPMPD the tests were executed in an Intel
R CoreTM 2 Quad with

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,

6.3.1 VRPs with Homogeneous Fleet


The seven VRP variants tackled in this subsection are: CVRP, ACVRP, OVRP, VRPSPD,
VRPMPD, MDVRP and MDVRPMPD. The benchmark instances used in every type of
problem were those most adopted in the literature. For each group of instances, the
performance of the ILS-RVND, in terms of solution quality, was compared with the best
known heuristic algorithms or simply with the optimal/BKS. The number of executions
of the ILS-RVND on each instance of every variant was 50.

6.3.1.1 Parameter tuning

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)

The parameter β in Eq. 6.3 corresponds to a non-negative integer constant that


indicates the level of influence of the number of vehicles v in the value of M axIterILS.
Twenty three instances with varying number of customers (50 - 480) and vehicles were
chosen as a sample for tuning the values of the parameters. For each of these test-problems
the ILS-RVND was executed 20 times. Two values of M axIter were tested, specifically
50 and 75. For each of these, five values of β were evaluated.
In order to select an attractive parameters configuration one took into account the
quality of the solutions obtained in each variant, measured by the average gap between
the solutions obtained using a given β value and the respective best solution found in the
literature, and the computational effort, measured by the average computational time.
The gap was calculated using Eq. 6.4. Negative values indicate an improvement.
ILS-RVND solution − literature solution
gap = × 100 (6.4)
literature solution
6.3 Computational results 84

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).

Table 6.1: Results of the parameter tuning for M axIter = 50


β
Instance N v 3 4 5 6 7
Avg. Avg. Avg. Avg. Avg.
Time Time Time Time Time
Gap Gap Gap Gap Gap
(s) (s) (s) (s) (s)
(%) (%) (%) (%) (%)
CMT1X3 50 3 0.00 2.08 0.00 2.18 0.00 2.35 0.00 2.43 0.00 2.57
CMT1Q4 50 4 0.00 1.76 0.00 1.87 0.00 1.93 0.00 2.05 0.00 2.12
SCA3-03 50 4 0.07 1.51 0.07 1.60 0.07 1.68 0.07 1.74 0.07 1.82
SCA8-03 50 9 0.00 1.86 0.00 1.95 0.00 2.14 0.00 2.31 0.00 2.54
CMT2X2 75 6 0.22 6.15 0.15 6.41 0.19 6.62 0.15 7.00 0.12 7.29
CMT2Q4 75 8 -0.01 5.46 -0.01 5.85 -0.10 6.30 0.01 6.71 -0.02 6.82
CMT3X3 100 5 0.08 15.07 0.15 16.17 0.08 16.18 0.12 17.33 0.06 17.47
CMT3Q4 100 6 0.00 14.32 0.00 14.86 0.00 15.43 0.00 16.18 0.00 16.95
r1013 100 11 0.46 13.07 0.41 14.37 0.29 15.30 0.32 16.31 0.34 16.86
CMT11X3 120 4 2.02 40.52 1.77 42.90 1.77 42.78 1.89 43.86 1.88 45.75
F-n135-k72 134 7 0.09 38.91 0.10 40.12 0.11 42.10 0.11 42.86 0.09 45.60
CMT4X3 150 7 0.19 52.00 0.18 54.15 0.17 55.85 0.12 56.96 0.12 59.26
CMT4Q4 150 9 0.18 43.87 0.18 46.29 0.20 48.10 0.19 49.98 0.16 50.66
CMT5X3 199 10 0.42 122.08 0.35 127.07 0.43 134.27 0.40 139.51 0.35 143.12
CMT5Q4 199 12 -1.85 124.03 -1.90 132.49 -1.87 136.82 -1.90 139.11 -1.87 146.94
rc1 2 13 200 23 0.59 100.43 0.62 110.16 0.68 117.22 0.60 122.95 0.55 132.74
c1 2 13 200 28 0.33 91.29 0.33 100.38 0.33 106.44 0.34 113.59 0.29 118.14
G91 255 14 1.58 259.25 1.55 267.96 1.54 270.60 1.50 289.21 1.47 296.71
G181 300 27 0.90 472.27 0.82 501.70 0.77 523.43 0.79 542.48 0.73 568.91
c2 4 13 400 15 0.70 1135.35 0.55 1152.96 0.69 1142.65 0.61 1154.56 0.70 1187.65
c1 4 13 400 63 0.15 857.68 0.10 924.39 0.07 988.83 0.06 1026.24 0.09 1117.27
G201 420 38 0.98 1300.91 0.93 1375.48 0.85 1460.54 0.87 1497.13 0.91 1540.54
G161 480 37 1.23 1285.28 1.27 1365.71 1.21 1379.75 1.14 1464.85 1.18 1521.31
Average 0.36 260.22 0.33 274.22 0.32 283.36 0.32 293.71 0.31 306.48
(1) CVRP, (2) OVRP, (3) VRPSPD, (4) VRPMPD

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

Table 6.2: Results of the parameter tuning for M axIter = 75


β
Instance N v 3 4 5 6 7
Avg. Avg. Avg. Avg. Avg.
Time Time Time Time Time
Gap Gap Gap Gap Gap
(s) (s) (s) (s) (s)
(%) (%) (%) (%) (%)
CMT1X3 50 3 0,00 3,11 0,00 3,31 0,00 3,42 0,00 3,52 0,00 3,75
CMT1Q4 50 4 0.00 2.65 0.00 2.75 0.00 2.94 0.00 2.99 0.00 3.18
SCA3-03 50 4 0.07 2.24 0.07 2.36 0.07 2.48 0.07 2.59 0.07 2.72
SCA8-03 50 9 0.00 2.76 0.00 3.04 0.00 3.35 0.00 3.53 0.00 3.73
CMT2X3 75 6 0.09 8.87 0.16 9.70 0.13 9.99 0.08 10.43 0.10 11.03
CMT2Q4 75 6 -0.10 8.25 -0.04 8.76 -0.10 9.47 -0.08 9.84 -0.10 10.36
CMT3X3 100 5 0.06 23.36 0.03 23.69 0.07 25.12 0.10 25.76 0.07 25.88
CMT3Q4 100 6 0.00 21.82 0.00 22.42 0.00 23.29 0.00 23.89 0.00 24.75
r1013 100 11 0.39 20.32 0.31 22.17 0.24 22.87 0.34 24.21 0.28 25.41
CMT11X3 120 4 1.61 60.28 1.60 62.48 1.44 64.19 1.54 66.65 1.58 69.25
F-n135-k72 134 7 0.08 58.60 0.09 59.94 0.07 62.54 0.08 64.11 0.06 66.86
CMT4X3 150 7 0.12 78.72 0.15 81.28 0.12 86.12 0.14 88.48 0.11 89.70
CMT4Q4 150 9 0.18 66.66 0.17 70.16 0.16 72.50 0.16 74.04 0.17 77.12
CMT5X3 199 10 0.33 192.94 0.37 198.06 0.31 208.29 0.36 208.96 0.27 219.95
CMT5Q4 199 12 -1.94 187.50 -1.87 199.37 -1.92 202.91 -1.91 214.19 -1.95 218.94
rc1 2 13 200 23 0.56 153.68 0.56 165.48 0.52 175.59 0.56 187.16 0.57 193.25
c1 2 13 200 28 0.33 137.58 0.28 148.23 0.30 158.81 0.29 169.54 0.29 177.02
G91 255 14 1.46 384.47 1.41 393.88 1.47 411.40 1.40 435.25 1.41 445.49
G181 300 27 0.83 714.53 0.76 758.75 0.79 793.26 0.81 833.43 0.69 859.82
c2 4 13 400 15 0.67 1738.73 0.61 1737.37 0.57 1715.61 0.66 1776.34 0.53 1788.57
c1 4 13 400 63 0.10 1303.45 0.06 1443.32 0.05 1528.06 0.05 1578.59 0.06 1671.75
G201 420 38 0.92 1954.09 0.89 2114.32 0.91 2213.09 0.85 2272.95 0.84 2412.72
G161 480 37 1.17 1943.82 1.17 2093.85 1.19 2169.48 1.18 2231.98 1.14 2349.35
Average 0.30 394.28 0.29 418.46 0.28 433.25 0.29 448.19 0.27 467.42
(1) CVRP, (2) OVRP, (3) VRPSPD, (4) VRPMPD

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

Table 6.3: Results found for the A and B CVRP instances


ILS-RVND
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
A-n32-k5 31 5 a 784 784 784.00 0.00 0.00 0.63
A-n33-k5 32 5 a 661 661 661.00 0.00 0.00 0.66
A-n33-k6 32 6 a 742 742 742.00 0.00 0.00 0.63
A-n34-k5 33 5 a 778 778 778.00 0.00 0.00 0.72
A-n36-k5 35 5 a 799 799 799.00 0.00 0.00 0.87
A-n37-k5 36 5 a 669 669 669.00 0.00 0.00 0.88
A-n37-k6 36 6 a 949 949 949.00 0.00 0.00 0.99
A-n38-k5 37 5 a 730 730 730.00 0.00 0.00 0.88
A-n39-k5 38 5 a 822 822 822.00 0.00 0.00 1.07
A-n39-k6 38 6 a 831 831 831.88 0.00 0.11 0.93
A-n44-k6 43 6 a 937 937 937.00 0.00 0.00 1.62
A-n45-k6 44 6 a 944 944 944.24 0.00 0.03 1.32
A-n45-k7 44 7 a 1146 1146 1146.00 0.00 0.00 1.40
A-n46-k7 45 7 a 914 914 914.00 0.00 0.00 1.14
A-n48-k7 47 7 a 1073 1073 1073.00 0.00 0.00 1.37
A-n53-k7 52 7 a 1010 1010 1010.02 0.00 < 0.01 1.76
A-n54-k7 53 7 a 1167 1167 1167.00 0.00 0.00 2.04
A-n55-k9 54 9 a 1073 1073 1073.00 0.00 0.00 1.70
A-n60-k9 59 9 a 1354 1354 1354.00 0.00 0.00 3.01
A-n61-k9 60 9 a 1034 1034 1034.18 0.00 0.02 2.80
A-n62-k8 61 8 a 1288 1288 1289.92 0.00 0.15 2.92
A-n63-k10 62 10 a 1314 1314 1316.82 0.00 0.21 2.92
A-n63-k9 62 9 a 1616 1616 1618.60 0.00 0.16 2.98
A-n64-k9 63 9 a 1401 1401 1406.26 0.00 0.38 3.14
A-n65-k9 64 9 a 1174 1174 1175.80 0.00 0.15 2.63
A-n69-k9 68 9 a 1159 1159 1159.40 0.00 0.03 3.54
A-n80-k10 79 10 a 1763 1763 1763.66 0.00 0.04 6.18
B-n31-k5 30 5 a 672 672 672.00 0.00 0.00 0.61
B-n34-k5 33 5 a 788 788 788.00 0.00 0.00 0.67
B-n35-k5 34 5 a 955 955 955.00 0.00 0.00 0.75
B-n38-k6 37 6 a 805 805 805.00 0.00 0.00 1.10
B-n39-k5 38 5 a 549 549 549.00 0.00 0.00 1.04
B-n41-k6 40 6 a 829 829 829.00 0.00 0.00 1.33
B-n43-k6 42 6 a 742 742 742.00 0.00 0.00 1.34
B-n44-k7 43 7 a 909 909 909.00 0.00 0.00 1.02
B-n45-k5 44 5 a 751 751 751.00 0.00 0.00 1.45
B-n45-k6 44 6 a 678 678 678.00 0.00 0.00 1.51
B-n50-k7 49 7 a 741 741 741.00 0.00 0.00 1.00
B-n50-k8 49 8 a 1312 1312 1313.40 0.00 0.11 1.73
B-n51-k7 50 7 a 1032 1032 1032.00 0.00 0.00 1.55
B-n52-k7 51 7 a 747 747 747.00 0.00 0.00 1.64
B-n56-k7 55 7 a 707 707 707.00 0.00 0.00 2.02
B-n57-k7 56 7 a 1153 1153 1153.00 0.00 0.00 2.75
B-n57-k9 56 9 a 1598 1598 1598.00 0.00 0.00 2.42
B-n63-k10 62 10 a 1496 1497 1504.78 0.07 0.59 2.65
B-n64-k9 63 9 a 861 861 861.00 0.00 0.00 2.91
B-n66-k9 65 9 a 1316 1316 1316.24 0.00 0.02 3.26
B-n67-k10 66 10 a 1032 1032 1033.34 0.00 0.13 3.48
B-n68-k9 67 9 a 1272 1272 1277.10 0.00 0.40 3.58
B-n78-k10 77 10 a 1221 1221 1221.02 0.00 0.00 5.86
Avg. 0.00 0.05 1.93
a: Optimality proved.

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].

Table 6.4: Results found for the E, F, M and P CVRP instances


ILS-RVND
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
E-n23-k3 22 3 a 569 569 569.00 0.00 0.00 0.25
E-n30-k3 29 3 a 534 534 534.00 0.00 0.00 0.45
E-n33-k4 32 4 a 835 835 835.00 0.00 0.00 0.63
E-n51-k5 50 5 a 521 521 521.00 0.00 0.00 1.98
E-n76-k10 75 10 a 830 830 831.58 0.00 0.19 5.08
E-n76-k14 75 14 a 1021 1021 1022.12 0.00 0.11 6.79
E-n76-k7 75 7 a 682 682 682.40 0.00 0.06 4.61
E-n76-k8 75 8 a 735 735 735.46 0.00 0.06 4.50
E-n101-k8 100 8 a 815 815 815.50 0.00 0.06 10.98
E-n101-k14 100 14 a 1067 1067 1073.36 0.00 0.60 10.81
F-n135-k7 134 7 a 1162 1162 1162.30 0.00 0.03 30.26
F-n45-k4 44 4 a 724 724 724.00 0.00 0.00 1.15
F-n72-k4 71 4 a 237 237 237.00 0.00 0.00 5.03
M-n101-k10 100 10 a 820 820 820.00 0.00 0.00 6.93
M-n121-k7 120 7 a 1034 1034 1034.00 0.00 0.00 18.55
M-n151-k12 150 12 b 1015 1015 1020.56 0.00 0.55 32.88
M-n200-k16 199 16 c 1285 1290 1308.88 0.39 1.86 129.93
M-n200-k17 199 17 b 1275 1282 1290.84 0.55 1.24 73.99
P-n16-k8 15 8 a 450 450 450.00 0.00 0.00 0.15
P-n19-k2 14 2 a 212 212 212.00 0.00 0.00 0.15
P-n20-k2 19 2 a 216 216 216.00 0.00 0.00 0.15
P-n21-k2 20 2 a 211 211 211.00 0.00 0.00 0.15
P-n22-k2 21 2 a 216 216 216.00 0.00 0.00 0.17
P-n22-k8 21 8 a 603 603 603.00 0.00 0.00 0.30
P-n23-k8 22 8 a 529 529 529.00 0.00 0.00 0.77
P-n40-k5 39 5 a 458 458 458.00 0.00 0.00 1.01
P-n45-k5 44 5 a 510 510 510.00 0.00 0.00 1.42
P-n50-k7 49 7 a 554 554 554.00 0.00 0.00 1.48
P-n50-k8 49 8 a 631 631 632.90 0.00 0.30 9.61
P-n50-k10 49 10 a 696 696 696.90 0.00 0.13 1.56
P-n51-k10 50 10 a 741 741 741.00 0.00 0.00 1.89
P-n55-k7 54 7 a 568 568 568 0.00 0.00 1.17
P-n55-k8 54 8 a 588 588 588 0.00 0.00 1.76
P-n55-k10 54 10 a 694 694 695.20 0.00 0.17 1.94
P-n55-k15 54 15 a 989 989 999.42 0.00 0.35 2.76
P-n60-k10 59 10 a 744 744 744.00 0.00 0.00 2.49
P-n60-k15 59 15 a 968 968 968.14 0.00 0.01 2.46
P-n65-k10 64 10 a 792 792 792.00 0.00 0.00 2.81
P-n70-k10 69 10 a 827 827 827.52 0.00 0.06 3.82
P-n76-k4 75 4 a 593 593 593.04 0.00 0.01 7.29
P-n76-k5 75 5 a 627 627 627.00 0.00 0.00 7.18
P-n101-k4 100 4 a 681 681 681.00 0.00 0.00 17.04
Avg. 0.02 0.13 9.65
a: Optimality proved. b : Value presented in [63]. c : Value obtained in [173].
Table 6.5: Results found for the CVRP instances of Christofides et al. [31]
Rochat and Pisinger and Mester and Nagata and Vidal
ILS-RVND
Taillard [147] Ropke [136] Bräysy [118] Bräysy (2009) et al. [177]
Instance n v BKS
6.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 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

Table 6.8: Results found for the A and B OVRP instances


ILS-RVND
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
A-n32-k5 31 5 a 487.31 487.31 487.31 0.00 0.00 0.68
A-n33-k5 32 5 a 424.54 424.54 424.54 0.00 0.00 0.76
A-n33-k6 32 6 a 462.43 462.43 462.43 0.00 0.00 0.80
A-n34-k5 33 5 a 508.17 508.17 508.17 0.00 0.00 0.88
A-n36-k5 35 5 a 519.46 519.46 519.46 0.00 0.00 1.10
A-n37-k5 36 5 a 486.24 486.24 486.24 0.00 0.00 1.22
A-n37-k6 36 6 a 581.07 581.07 581.07 0.00 0.00 1.31
A-n38-k5 37 5 a 498.00 498.00 498.00 0.00 0.00 1.09
A-n39-k5 38 5 a 549.68 549.68 549.68 0.00 0.00 1.47
A-n39-k6 38 6 a 533.07 533.07 533.07 0.00 0.00 1.09
A-n44-k6 43 6 a 617.39 617.39 617.39 0.00 0.00 2.07
A-n45-k6 44 6 a 648.67 648.67 649.26 0.00 0.09 1.72
A-n45-k7 44 7 a 685.16 685.16 685.16 0.00 0.00 1.64
A-n46-k7 45 7 a 583.54 583.54 584.37 0.00 0.14 1.18
A-n48-k7 47 7 a 669.83 669.83 669.83 0.00 0.00 1.76
A-n53-k7 52 7 a 655.18 655.18 655.18 0.00 0.00 2.47
A-n54-k7 53 7 a 709.27 709.27 709.27 0.00 0.00 2.96
A-n55-k9 54 9 a 669.06 669.06 669.06 0.00 0.00 2.10
A-n60-k9 59 9 b 798.01 798.01 798.01 0.00 0.00 3.67
A-n61-k9 60 9 b 678.30 678.30 678.85 0.00 0.08 4.12
A-n62-k8 61 8 a 783.18 783.18 783.45 0.00 0.03 3.42
A-n63-k9 62 9 b 941.53 941.53 941.70 0.00 0.02 4.49
A-n63-k10 62 10 a 778.46 778.46 779.12 0.00 0.08 4.18
A-n64-k9 63 9 a 848.15 848.16 848.39 0.00 0.03 3.99
A-n65-k9 64 9 a 728.59 728.59 728.68 0.00 0.01 3.83
A-n69-k9 68 9 a 757.76 757.76 758.12 0.00 0.05 4.54
A-n80-k10 79 10 a 1067.09 1067.09 1068.63 0.00 0.14 7.68
B-n31-k5 30 5 a 362.73 362.73 362.73 0.00 0.00 0.76
B-n34-k5 33 5 a 458.76 458.76 458.76 0.00 0.00 0.78
B-n35-k5 34 5 a 557.33 557.33 557.33 0.00 0.00 0.82
B-n38-k6 37 6 a 445.63 445.63 445.63 0.00 0.00 1.02
B-n39-k5 38 5 a 322.54 322.54 322.54 0.00 0.00 1.30
B-n41-k6 40 6 a 483.07 483.07 483.07 0.00 0.00 1.96
B-n43-k6 42 6 a 428.17 428.17 428.17 0.00 0.00 1.67
B-n44-k7 43 7 a 501.31 501.31 501.31 0.00 0.00 1.17
B-n45-k5 44 5 a 488.07 488.07 488.07 0.00 0.00 1.77
B-n45-k6 44 6 a 403.81 403.81 405.18 0.00 0.34 1.92
B-n50-k7 49 7 a 437.15 437.15 437.15 0.00 0.00 1.67
B-n50-k8 49 8 a 720.79 722.03 722.03 0.17 0.17 2.58
B-n51-k7 50 7 a 625.14 625.14 625.14 0.00 0.00 1.88
B-n52-k7 51 7 a 441.19 441.19 441.19 0.00 0.00 1.98
B-n56-k7 55 7 a 420.49 420.49 420.49 0.00 0.00 2.45
B-n57-k7 56 7 a 646.36 646.36 646.36 0.00 0.00 4.66
B-n57-k9 56 9 b 869.31 869.32 869.33 < 0.01 < 0.01 2.92
B-n63-k10 62 10 a 837.07 837.07 837.07 0.00 0.00 3.40
B-n64-k9 63 9 a 520.47 520.47 520.53 0.00 0.01 4.39
B-n66-k9 65 9 a 755.27 755.27 755.27 0.00 0.00 4.82
B-n67-k10 66 10 b 616.54 616.54 618.59 0.00 0.33 4.12
B-n68-k9 67 9 a 701.72 701.72 701.72 0.00 0.00 5.19
B-n78-k10 77 10 b 722.71 722.71 724.75 0.00 0.28 7.48
0.00 0.03 2.54
a: Optimality proved.
b : Optimality proved using the BCP algorithm of Pessoa et al. [134].
6.3 Computational results 93

Table 6.9: Results found for the E, F, M and P OVRP instances


ILS-RVND
Instance n v BKS
Best Avg. Gap Avg. Time
Sol. Sol. (%) Gap (%) (s)
E-n23-k3 22 3 a 442.98 442.98 442.98 0.00 0.00 0.32
E-n30-k3 29 3 a 393.51 393.51 393.51 0.00 0.00 0.56
E-n33-k4 32 4 a 511.26 511.26 511.26 0.00 0.00 0.82
E-n51-k5 50 5 a 416.06 416.06 416.09 0.00 0.01 2.62
E-n76-k7 75 7 a 530.02 530.02 530.06 0.00 0.01 5.92
E-n76-k8 75 8 a 537.24 537.24 537.45 0.00 0.04 5.71
E-n76-k10 75 10 a 567.14 567.14 568.54 0.00 0.25 6.55
E-n76-k14 75 14 a 623.55 623.55 624.03 0.00 0.08 13.96
E-n101-k8 100 8 a 639.74 639.74 640.49 0.00 0.12 13.98
E-n101-k14 100 14 a 711.58 711.58 712.27 0.00 0.10 13.80
F-n45-k4 44 4 a 463.90 463.90 463.90 0.00 0.00 1.55
F-n72-k4 71 4 a 177.00 177.00 177.12 0.00 0.07 6.30
F-n135-k7 134 7 d 769.55 769.55 770.69 0.00 0.15 41.18
M-n101-k10 100 10 a 534.24 534.24 534.24 0.00 0.00 8.85
M-n121-k7 120 7 a 682.12 682.12 682.21 0.00 0.01 27.79
M-n151-k12 150 12 c 733.13 733.13 733.43 0.00 0.04 39.71
M-n200-k16 199 16 d 893.39 898.08 927.31 0.52 3.80 101.86
M-n200-k17 199 17 d 869.00 867.89 870.28 -0.13 0.15 89.92
P-n16-k8 15 8 a 235.06 235.06 235.06 0.00 0.00 0.16
P-n19-k2 18 2 a 168.57 168.57 168.57 0.00 0.00 0.14
P-n20-k2 19 2 a 170.28 170.28 170.28 0.00 0.00 0.16
P-n21-k2 20 2 a 163.88 163.88 163.88 0.00 0.00 0.16
P-n22-k2 21 2 a 167.19 167.19 167.19 0.00 0.00 0.19
P-n22-k8 21 8 a 345.87 345.87 345.87 0.00 0.00 0.38
P-n23-k8 22 8 a 302.87 302.87 303.75 0.00 0.29 4.92
P-n40-k5 39 5 a 349.55 349.55 349.55 0.00 0.00 1.17
P-n45-k5 44 5 a 391.81 391.81 391.81 0.00 0.00 1.52
P-n50-k7 49 7 a 397.38 397.38 397.38 0.00 0.00 1.63
P-n50-k8 49 8 a 436.51 436.51 436.60 0.00 0.02 9.82
P-n50-k10 49 10 a 440.44 440.44 440.44 0.00 0.00 1.88
P-n51-k10 50 10 b 480.78 480.78 481.55 0.00 0.16 2.34
P-n55-k7 54 7 a 411.58 411.58 411.58 0.00 0.00 2.14
P-n55-k8 54 7 a 412.55 412.55 412.55 0.00 0.00 2.27
P-n55-k10 54 10 a 444.31 444.31 444.31 0.00 0.00 2.18
P-n60-k10 59 10 a 482.09 482.09 482.36 0.00 0.06 2.79
P-n60-k15 59 15 b 569.43 569.44 569.44 < 0.01 < 0.01 3.47
P-n65-k10 64 10 a 522.50 522.50 522.51 0.00 < 0.01 3.53
P-n70-k10 69 10 a 552.65 552.65 553.49 0.00 0.15 5.11
P-n76-k4 75 4 a 522.95 522.95 524.15 0.00 0.23 8.90
P-n76-k5 75 5 a 525.64 525.64 525.78 0.00 0.03 9.23
P-n101-k4 100 4 a 621.75 621.75 621.75 0.00 0.00 21.57
0.01 0.14 11.13
a: Optimality proved.
b : Optimality proved using the BCP algorithm of Pessoa et al. [134].
c : First found by Pisinger and Røpke [136].
d : Found by Zachariadis and Kiranoudis [186].
Table 6.10: Results found for the instances of Christofides et al. [31], Fisher [58] and Li et al. [106]
Pisinger and Fleszar Repoussis Zachariadis and
ILS-RVND
Røpke [136] et al. [60] et al. [146] Kiranoudis [186]
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 25 416.06 5 416.09 0.00 0.01 2.62
F11 71 4 a 177.00 4 177.00 4 104 178.66 4 6.2 177.00 4 264 177.00 4 93 177.00 4 177.12 0.00 0.07 6.30
C2 75 10 a 567.14 10 567.14 10 53 567.14 10 2.3 567.14 10 143 567.14 10 68 567.14 10 568.54 0.00 0.25 6.55
C3 100 8 a 639.74 8 641.76 8 128 641.40 8 9.5 639.74 8 330 639.74 8 103 639.74 8 640.49 0.00 0.12 13.98
C12 100 10 a 534.24 10 534.24 10 118 534.40 10 6.7 534.24 10 363 534.24 10 39 534.24 10 534.24 0.00 0.00 8.85
C11 120 7 682.12 7 682.12 7 141 682.12 7 10.7 682.12 7 318 682.12 7 85 682.12 7 682.21 0.00 0.01 27.79
6.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 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

CMT6X 50 7 555.43 555.43 14.00 - - - - 555.43 556.89 0.00 0.26 1.74


CMT6Y 50 7 555.43 555.43 13.75 - - - - 555.43 556.99 0.00 0.28 1.72
CMT7X 75 13 900.12 900.12 47.75 - - - - 900.54 901.20 0.05 0.12 6.45
CMT7Y 75 13 900.54 900.54 46.25 - - - - 900.12 901.16 -0.05 0.07 6.36
CMT8X 100 10 865.50 865.50 80.75 - - - - 865.50 865.50 0.00 0.00 11.71
CMT8Y 100 10 865.50 865.50 77.75 - - - - 865.50 865.50 0.00 0.00 11.61
CMT14X 100 11 821.75 821.75 78.50 - - - - 821.75 821.75 0.00 0.00 9.09
CMT14Y 100 11 821.75 821.75 74.75 - - - - 821.75 821.75 0.00 0.00 9.08
CMT13X 120 12 1542.86 1542.86 160.25 - - - - 1542.86 1544.24 0.00 0.09 22.09
CMT13Y 120 12 1542.86 1542.86 160.25 - - - - 1542.86 1544.29 0.00 0.09 22.45
CMT9X 150 16 1161.54 1161.54 300.00 - - - - 1163.02 1166.30 0.13 0.41 37.13
CMT9Y 150 16 1161.54 1161.54 291.75 - - - - 1161.88 1165.48 0.03 0.34 37.30
CMT10X 199 20 1386.29 1386.29 773.50 - - - - 1383.97 1395.64 -0.17 0.67 86.86
CMT10Y 199 20 1395.04 1395.04 757.50 - - - - 1381.71 1394.89 -0.96 -0.01 85.59
Avg. -0.02 0.28 32.34
a: Optimality proved.
b : Average of 10 runs considering the following instances: CMT1X, CMT1Y, CMT2X, CMT2Y, CMT3X,

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

4 20 60 1000 1.0 20 80 1500 1.1 20 150 3000 1.4 20


5 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 20 60 1000 1.0 20 30 1500 1.1 20 150 3000 1.4 20
13 50 20 20 1.0 4 30 35 1.1 2 40 50 1.2 4 70 120 1.7 4 120 225 2.5 2 200 400 3.2 1
14 50 120 1000 1.0 4 160 1500 1.1 2 300 3500 1.4 1
15 50 50 100 1.0 4 100 250 1.6 3 160 450 2.0 2
16 50 40 100 1.0 2 80 200 1.6 4 140 400 2.1 3
17 75 50 25 1.0 4 120 80 1.2 4 200 150 1.5 2 350 320 1.8 1 7
18 75 20 10 1.0 4 50 35 1.3 4 100 100 1.9 2 150 180 2.4 2 250 400 2,9 1 400 800 3,2 1
19 100 100 500 1,0 4 200 1200 1,4 3 300 2100 1,7 3
20 100 60 100 1,0 6 140 300 1,7 4 200 500 2,0 3
103
6.3 Computational results 104

6.3.2.1 Parameter tuning

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.

Table 6.19: Results of the parameter tuning for M axIter = 400


Instance
β 04 13 17 20 Avg.
Avg. Time Avg. Time Avg. Time Avg. Time
Gap (%) (s) Gap (%) (s) Gap (%) (s) Gap (%) (s)
1 2.13 1.68 0.51 14.43 0.64 29.61 0.78 55.19 1.02 25.23
2 0.50 2.03 0.49 17.49 0.60 32.56 0.67 60.32 0.56 28.10
3 0.28 2.40 0.42 20.32 0.56 35.44 0.65 65.43 0.48 30.90
4 0.48 2.71 0.33 22.87 0.54 38.12 0.64 70.29 0.50 33.49
5 0.01 3.02 0.30 25.42 0.51 41.00 0.58 75.01 0.35 36.11
6 0.00 3.38 0.31 28.18 0.46 43.83 0.58 79.81 0.34 38.80
7 0.23 3.67 0.28 30.71 0.47 46.38 0.53 84.48 0.38 41.31
8 0.23 3.94 0.26 33.33 0.48 49.23 0.52 89.44 0.37 43.98
9 0.00 4.30 0.29 35.94 0.48 51.73 0.49 94.27 0.32 46.56
10 0.00 4.61 0.31 38.26 0.48 54.22 0.51 98.00 0.33 48.77

Table 6.20: Results of the parameter tuning for M axIter = 450


Instance
β 04 13 17 20 Avg.
Avg. Time Avg. Time Avg. Time Avg. Time
Gap (%) (s) Gap (%) (s) Gap (%) (s) Gap (%) (s)
1 1.69 1.95 0.50 16.51 0.55 33.90 0.66 62.94 0.85 28.82
2 0.71 2.32 0.46 19.79 0.60 37.05 0.62 68.53 0.60 31.92
3 0.50 2.73 0.42 22.98 0.53 40.58 0.61 74.60 0.51 35.22
4 0.01 3.06 0.35 26.28 0.49 43.85 0.58 80.38 0.36 38.39
5 0.01 3.47 0.36 29.08 0.50 47.02 0.58 86.19 0.36 41.44
6 0.01 3.86 0.29 32.13 0.45 49.82 0.61 91.57 0.34 44.34
7 0.01 4.20 0.30 35.05 0.44 53.18 0.53 97.23 0.32 47.42
8 0.00 4.54 0.29 37.98 0.45 56.10 0.54 102.13 0.32 50.19
9 0.00 4.91 0.27 40.44 0.39 59.05 0.53 107.34 0.30 52.93
10 0.00 5.31 0.25 43.56 0.37 62.07 0.45 112.42 0.27 55.84

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

18 75 3743.58a 3743.58 119 3743.58 3758.84 0.00 0.41 36.38


19 100 10420.34 10420.34 287 10420.34 10421.39 0.00 0.01 73.66
20 100 4806.69 4834.17 200 4788.49 4839.53 -0.38 0.68 68.46
Avg. -0.05 0.24 32.89
a: Optimality proved. 1 : Best run on an Intel 2.2 GHz (the model was not provided by the authors).

Table 6.22: Results for the HVRPD instances of Taillard [164]


Taillard [164] Tarantilis et al. [169] Li et al. [106] Prins [141] ILS-RVND
Instance n BKS Best Time1 Best Time2 Best Time3 Best Time4 Best Avg. Gap Avg. Time
Sol. (s) Sol. (s) Sol. (s) Sol. (s) Sol. Sol. (%) Gap (%) (s)
13 50 a 1517.84 1518.05 473 1519.96 843 1517.84 358 1517.84 33.2 1517.84 1518.58 0.00 0.05 19.29
14 50 a 607.53 615.64 575 611.39 387 607.53 141 607.53 37.6 607.53 607.64 0.00 0.02 11.20
15 50 a 1015.29 1016.86 335 1015.29 368 1015.29 166 1015.29 6.6 1015.29 1015.33 0.00 < 0.01 12.56
16 50 a 1144.94 1154.05 350 1145.52 341 1144.94 188 1144.94 7.5 1144.94 1145.04 0.00 0.01 12.29
17 75 a 1061.96 1071.79 2245 1071.01 363 1061.96 216 1065.85 81.5 1061.96 1065.27 0.00 0.31 29.92
18 75 a 1823.58 1870.16 2876 1846.35 971 1823.58 366 1823.58 190.6 1823.58 1832.52 0.00 0.49 38.34
19 100 1117.51 1117.51 5833 1123.83 428 1120.34 404 1120.34 177.8 1120.34 1120.34 0.25 0.25 67.72
20 100 a 1534.17 1559.77 3402 1556.35 1156 1534.17 447 1534.17 223.3 1534.17 1544.08 0.00 0.65 63.77
Avg. 0.03 0.22 31.89
a: Optimal solution.
1: Best run on a Sun Sparc 10 workstation with 50 MHz (27 Mflop/s).
2: Best run on a Pentium II 400 MHz (262 Mflop/s).
3: Best run on a AMD Athlon 1.0 GHz (1168 Mflop/s).
4: Best run on a Pentium IV M 1.8 GHz (1564 Mflop/s).
106
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.

6.3.3.1 Parameter tuning

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.

Table 6.26: Results of the parameter tuning for M axIter = 50 (TSPMPD)


α
Instance n 1/6 1/5 1/4 1/3
Avg. Time Avg. Time Avg. Time Avg. Time
Gap (%) (s) Gap (%) (s) Gap (%) (s) Gap (%) (s)
n20mosA 20 0.00 0.01 0.00 0.01 0.00 0.01 0.00 0.02
n30mosA 30 0.00 0.04 0.00 0.05 0.00 0.07 0.00 0.09
n40mosA 40 0.00 0.15 0.00 0.17 0.00 0.23 0.00 0.32
n50mosA 50 0.00 0.32 0.00 0.36 0.00 0.47 0.00 0.63
n60mosA 60 0.00 0.54 0.00 0.65 0.00 0.83 0.00 1.09
n100mosA 100 0.02 4.90 0.02 5.75 0.00 6.96 0.00 8.99
n200mosA 200 0.38 66.74 0.25 76.94 0.25 92.49 0.12 116.87
n300mosA 300 0.15 286.30 0.10 323.85 0.02 397.83 -0.04 499.79
n400mosA 400 -0.41 1067.08 -0.52 1189.65 -0.60 1310.76 -0.69 1767.85
n500mosA 500 -0.50 2980.21 -0.66 3257.70 -0.76 3775.85 -0.85 4546.10
Avg. -0.04 440.63 -0.08 485.51 -0.11 558.55 -0.15 694.17

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.27: Results of the parameter tuning for M axIter = 75 (TSPMPD)


α
Instance n 1/6 1/5 1/4 1/3
Avg. Time Avg. Time Avg. Time Avg. Time
Gap (%) (s) Gap (%) (s) Gap (%) (s) Gap (%) (s)
n20mosA 20 0.00 0.02 0.00 0.02 0.00 0.03 0.00 0.0
n30mosA 30 0.00 0.07 0.00 0.08 0.00 0.11 0.00 0.1
n40mosA 40 0.00 0.23 0.00 0.27 0.00 0.32 0.00 0.5
n50mosA 50 0.00 0.45 0.00 0.51 0.00 0.67 0.00 0.9
n60mosA 60 0.00 0.76 0.00 0.93 0.00 1.18 0.00 1.6
n100mosA 100 0.01 6.93 0.00 8.35 0.00 10.41 0.00 13.4
n200mosA 200 0.29 96.02 0.17 113.38 0.12 134.88 0.06 165.6
n300mosA 300 0.07 417.64 0.06 493.66 -0.02 580.61 -0.03 728.3
n400mosA 400 -0.52 1429.72 -0.57 1672.15 -0.62 2060.60 -0.68 2642.8
n500mosA 500 -0.64 3957.70 -0.71 4271.90 -0.77 4899.42 -0.82 6470.2
Avg. -0.08 590.95 -0.10 656.13 -0.13 768.82 -0.15 1002.34

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

6.4 Concluding remarks


This chapter presented a heuristic algorithm, called ILS-RVND, for a large class of VRPs.
The developed algorithm has a simple structure and relies on relatively very few parame-
ters. Extensive computational experiments proved the efficiency of the proposed solution
approach, especially in terms of flexibility and solution quality, as can be observed in Table
6.30. In this table, Avg. Gap corresponds to the average gap between the average solu-
tions and the BKSs, #Instances is the number of instances of a particular benchmark,
#Improvements denotes the number of solutions improved and #Ties represents the
number of ties. It can be observed that ILS-RVND was found capable of improving the
result of 98 instances and to equal the result of another 464. Furthermore, it is possible to
verify that the Avg. Gap was always smaller than 0.66%, except in the CVRP instances
of Golden et al. [80], where the Avg. Gap was 1.03%.

Table 6.30: Summary of ILS-RVND results


Variant #Instances #Improvements #Ties Avg. Gap (%) Avg. Time (s)
CVRP1 a 93, b 14,c 20 a 0, b 0, c 0 a 90, b 10, c 1 a 0.09, b 0.26, c 1.03 a 5.50, b 23.56, c 798.49

ACVRP1 d 24 d1 d 23 d 0.15 d 2.54

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

VRPMPD1 h 42 h 12 h 26 h 0.09 h 30.05

MDVRP1 j 23, k 10 j 0, k 0 j 16, k 4 j 0.47, k 0.66 j 225.11, k 292.16

MDVRPMPD1 h 33 h 14 h 17 h 0.23 h 188.62

HFVRP2 l 16, m 36 l 1, m 2 l 14, m 29 l 0.23, m 0.16 l 32.39, m 28.51

TSPMPD1 n 60, o 60 n 0, o 44 n 60, o 6 n< 0.01, o -0.46 n 0.28, o 982.80

Total 634 87 467


a: A, B, E, F, M, P set; b: Christofides et al. [31]; c: Golden et al. [80].
d: Fischetti et al. [57] and Pessoa et al. [134].
e : Christofides et al. [31] and Fisher [58]; f : Li et al. [105].
g : Dethloff [48]; h : Salhi and Nagy [149]; i : Montané and Galvão [121].
j : Cordeau et al. (old) [35]; k : Cordeau et al. (new) [35].
l : Taillard [164]; m : Golden et al. [76].
n : Mosheiov (small) [122]; o : Mosheiov (large) [122].
1 : Core 2 Quad 2.4 GHz (single thread).
2 : Core i7 2.93 GHz (single thread).
Chapter 7

A Hybrid Algorithm for General Vehicle


Routing Problems

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.

7.1 A Set Partitioning approach


Let R be the set of all possible routes of all vehicle types, Ri ⊆ R be the subset of routes
that contain customer i ∈ V 0 . Define yj as the binary variable associated to a route j ∈ R,
and cj as its cost.
7.1 A Set Partitioning approach 116

Consider the following basic SP formulation F1:


X
Min cj yj (7.1)
j∈R
X
s.t. yj = 1 ∀i ∈ V 0 (7.2)
j∈Ri

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

which calls ILS-RVND whenever an incumbent solution is found (Procedure Incumbent-


Callback). If the solution s∗ is improved in the IncumbentCallback, the Cutof f value is
updated (lines 19-21), but s∗ is not given back to the solver since it may contain a route
that does not belong to the subset of routes R of the SP model. The solver is interrupted
if: (i) the optimal solution is found; (ii) LB > Cutof f (iii) M axSP T ime is exceeded;
(iv) M axRootGap is exceeded. If the fleet is unlimited (e.g. FSM) and the solver has
been interrupt due to (iii) or (iv) then the SP model is updated by adding constraints
that enforce the fleet composition to be the same as in s∗ (lines 7-9). This is most likely
to happen when fixed costs are considered. The addition of these constraints may prevent
the algorithm to find better solutions but it makes the problem much more computa-
tionally tractable in an acceptable time. Finally, if the primary objective is to minimize
the number of vehicles and the solution s∗ is infeasible, then the number of vehicles is
incremented by one unit, s∗ is restored and the MIP solver is called again (lines 10-13).

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

7.2 The ILS-RVND-SP algorithm


One of the challenges of designing a unified hybrid solution approach is to ensure that
the MIP model is computationally tractable, regardless of the instance. For example,
a SP model that exceeds the time limit only to solve its linear relaxation (e.g. due to
an excessive number of routes) is not a suitable improving mechanism. On the other
hand, a SP model that contains relatively few routes, is easily solved, but seldom finds
improved solutions. Hence, it is necessary that the SP models generated throughout the
7.2 The ILS-RVND-SP algorithm 118

algorithm find a balance between computational tractability and improvement potential.


Experiments carried out in many instances with distinct characteristics indicated that
the following simple pieces of data are crucial for estimating the dimension (number of
routes) of a properly balanced SP model: (i) number of customers; (ii) the average number
of customers per route; and (iii) the vehicle fleet (homogeneous or heterogeneous). The
latter has been already discussed in Subsection 7.1.
With respect to (i), two strategies for ILS-RVND-SP were developed. The first one,
called ILS-RVND-SP-a, is executed when the number of customers is less or equal to a pa-
rameter N . The idea of ILS-RVND-SP-a is straightforward: the SP procedure is run only
once at the end of the algorithm, after the ILS-RVND heuristic. The second one, called
ILS-RVND-SP-b, is executed when n > N . In this case, the SP procedure is called after
each iteration of the ILS-RVND heuristic. Both strategies are completely independent,
as well as some of their parameters, namely: M axIter-a, M axIter-b, M axIterILS-a,
M axIterILS-b, T Dev-a, T Dev-b. The parameter T Dev is described next.
With respect to (ii), the following is done. Let A be a parameter. It has been observed
that when the ratio between the number of customers and the number of vehicles is smaller
than A = 11, the SP models tend to become harder. In such cases, one only adds the
routes of a solution to the SP model if its deviation when compared to the incumbent
solution is smaller than a given threshold T Dev. However, this parameter is difficult
to tune, especially in ILS-RVND-SP-b. To overcome this issue, a reactive approach that
dynamically adjusts its value throughout the execution of the algorithm was implemented,
as will be further explained.
The pseudocode of ILS-RVND-SP and ILS-RVND-SP-a are depicted in Algs. 7.2 and
7.3, respectively, and their explanation will be omitted since they are quite simple.

Algorithm 7.2 ILS-RVND-SP


1: Procedure ILS-RVND-SP(M axIter-a, M axIter-b, M axIterILS-a, M axIterILS-b, T Dev-a,
T Dev-b, M axSP T ime, M axRootGap)
2: LoadData();
3: if v was not defined then
4: v ← EstimateTheNumberOfVehicles(seed);
5: RouteP ool ← NULL;
6: if n ≤ N then
7: s∗ ← ILS-RVND-SP-a(M axIter-a, M axIterILS-a, RouteP ool, v, T Dev-a, M axSP T ime,
M axRootGap);
8: else
9: s∗ ← ILS-RVND-SP-b(M axIter-b, M axIterILS-b, RouteP ool, v, T Dev-b, M axSP T ime,
M axRootGap);
10: return s∗ ;
11: end ILS-RVND-SP.

Alg. 7.4 shows the pseudocode of ILS-RVND-SP-b. Firstly, tolerance (threshold


deviation) is set to a given value according to average number of customers per route
(lines 2-5). In the main loop (lines 7-24), the ILS-RVND heuristic is executed with a single
7.3 Computational results 119

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).

Algorithm 7.3 ILS-RVND-SP-a


1: Procedure ILS-RVND-SP-a(M axIter-a, M axIterILS-a, RouteP ool, v, T Dev-a, M axSP T ime,
M axRootGap);
2: if n/v < A then
3: tolerance ← T Dev-a;
4: else
5: tolerance ← 1;
6: s∗ ← ILS-RVND(M axIter-a, M axIterILS-a, NULL, RouteP ool, v, tolerance);
7: s∗ ← SP(s∗ , RouteP ool, M axSP T ime, M axRootGap, v);
8: return s∗ ;
9: end ILS-RVND-SP-a.

7.3 Computational results


The algorithm ILS-RVND-SP was coded in C++ and the tests were executed in an Intel
R

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.

Table 7.1: Values of the parameters used by ILS-RVND-SP


Parameter Value
N 150
A 11
M axIter-a 50
M axIter-b 100
M axIterILS-a n + 0, 5 × v
M axIterILS-b 2000
T dev-a 0.05
T dev-b 0.005
γ random value of the set {0.00, 0.05, 0.10, . . . , 1, 70}
M axRootGap 0.02
M axSP T ime (s) 60

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.

Algorithm 7.4 ILS-RVND-SP-b


1: Procedure ILS-RVND-SP-b(M axIter-b, M axIterILS-b, RouteP ool, v, T Dev-b, M axSP T ime,
M axRootGap);
2: if n/v < A then
3: tolerance ← T Dev-b;
4: else
5: tolerance ← 1;
6: iter ← 0; s∗ ← ∅; s0 ← N U LL;
7: while iter < M axIter-b do
8: s ← ILS-RVND(1, M axIterILS-b, s0 , RouteP ool, v, tolerance);
9: improvement ← true;
10: while improvement do
11: s0 ← SP(s, RouteP ool, M axSP T ime, M axRootGap, v);
12: if f (s0 ) < f (s) then
13: s ← s0 ;
14: else
15: improvement ← false;
16: Remove non-permanent routes from RouteP ool;
17: if n/v < A and T ime > M axSP T ime then
18: tolerance ← tolerance − 0.1 × T Dev-b;
19: if n/v < A and Problem solved at the root node then
20: tolerance ← tolerance + 0.1 × T Dev-b;
21: iter ← iter + 1;
22: if f (s) < f (s∗ ) or s∗ is empty then
23: s∗ ← s;
24: Add routes associated to s∗ permanently to the pool;
25: return s∗ ;
26: end ILS-RVND-SP-b.

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

CMT6X 50 7 555.43 555.43 14.00 - - - - 555.43 557.35 0.00 0.35 1.04


CMT6Y 50 7 555.43 555.43 13.75 - - - - 555.43 557.10 0.00 0.30 1.08
CMT7X 75 13 900.12 900.12 47.75 - - - - 900.12 901.02 0.00 0.10 4.55
CMT7Y 75 13 900.54 900.54 46.25 - - - - 900.12 901.08 -0.05 0.06 4.87
CMT8X 100 10 865.50 865.50 80.75 - - - - 865.50 865.50 0.00 0.00 7.36
CMT8Y 100 10 865.50 865.50 77.75 - - - - 865.50 865.50 0.00 0.00 7.74
CMT14X 100 11 821.75 821.75 78.50 - - - - 821.75 821.75 0.00 0.00 5.42
CMT14Y 100 11 821.75 821.75 74.75 - - - - 821.75 821.75 0.00 0.00 5.48
CMT13X 120 12 1542.86 1542.86 160.25 - - - - 1542.86 1543.54 -0.03 0.04 68.72
CMT13Y 120 12 1542.86 1542.86 160.25 - - - - 1542.86 1544.42 0.00 0.10 73.49
CMT9X 150 16 1161.54 1161.54 300.00 - - - - 1160.68 1161.77 -0.07 0.02 64.43
CMT9Y 150 16 1161.54 1161.54 291.75 - - - - 1160.68 1162.59 -0.07 0.09 80.86
CMT10X 199 20 1386.29 1386.29 773.50 - - - - 1373.40 1379.19 -0.93 -0.51 552.81
CMT10Y 199 20 1395.04 1395.04 757.50 - - - - 1373.40 1377.03 -1.55 -1.29 547.39
Avg. 0.01 0.12 189.24
a: Optimality proved.
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).

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.14: Results found for the HVRPD instances of [164]


Li et al. 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)
13 50 a 1517.84 1517.84 358 1517.84 33.2 1517.84 19.29 1517.84 1517.84 0.00 0.00 3.61
14 50 a 607.53 607.53 141 607.53 37.6 607.53 11.20 607.53 608.41 0.00 0.14 2.50
15 50 a 1015.29 1015.29 166 1015.29 6.6 1015.29 12.56 1015.29 1015.29 0.00 0.00 3.07
16 50 a 1144.94 1144.94 188 1144.94 7.5 1144.94 12.29 1144.94 1144.94 0.00 0.00 2.69
17 75 a 1061.96 1061.96 216 1065.85 81.5 1061.96 29.92 1061.96 1065.20 0.00 0.31 7.65
18 75 a 1823.58 1823.58 366 1823.58 190.6 1823.58 38.34 1823.58 1826.93 0.00 0.18 7.69
19 100 b 1117.51 1120.34 404 1120.34 177.8 1120.34 67.72 1120.34 1120.41 0.25 0.26 16.92
20 100 a 1534.17 1534.17 447 1534.17 223.3 1534.17 63.77 1534.17 1534.65 0.00 0.03 16.56
Avg. 0.03 0.12 7.59
a: Optimality proved. b:
Found by Taillard [164]. 1:
Best run on an Athlon 1.0 GHz (1168 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).

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.15: Results found for the FSMFD instances of [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 1144.22 1144.22 0.25 1144.22 0.01 1144.22 4.05 1144.22 1144.22 0.00 0.00 0.78
4 20 a 6437.33 6437.33 0.45 6437.33 0.07 6437.33 3.03 6437.33 6437.33 0.00 0.00 0.48
5 20 a 1322.26 1322.26 0.19 1322.26 0.02 1322.26 4.85 1322.26 1322.26 0.00 0.00 0.79
6 20 a 6516.47 6516.47 0.41 6516.47 0.07 6516.47 3.01 6516.47 6516.48 0.00 < 0.01 0.46
13 50 a 2964.65 2964.65 3.95 2964.65 0.32 2964.65 27.44 2964.65 2964.65 0.00 0.00 7.49
14 50 a 9126.9 9126.9 51.7 9126.9 8.90 9126.90 11.66 9126.90 9127.01 0.00 < 0.01 2.18
15 50 a 2634.96 2634.96 4.36 2635.21 1.04 2634.96 13.83 2634.96 2634.96 0.00 0.00 2.98
16 50 a 3168.92 3168.92 5.98 3169.14 13.05 3168.92 18.20 3168.92 3168.92 0.00 0.00 13.06
17 75 a 2004.48 2023.61 68.11 2004.48 23.92 2004.48 43.68 2004.48 2004.48 0.00 0.00 9.76
18 75 a 3147.99 3147.99 18.78 3153.16 24.85 3149.63 47.80 3147.99 3149.72 0.00 0.05 8.30
19 100 a 8661.81 8664.29 905.2 8664.67 163.25 8661.81 59.13 8661.81 8661.94 0.00 < 0.01 49.07
20 100 4153.02 4154.49 53.02 4154.49 41.25 4153.02 59.07 4153.02 4153.31 0.00 0.01 76.51
Avg. 0.00 0.01 14.32
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).

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%.

7.4 Concluding remarks


This chapter presented an algorithm that hybridizes an Iterated Local Search based heuris-
tic and a Set Partitioning formulation. Its design favored the flexibility, allowing its appli-
cation in the solution of several VRP variants. Moreover, the developed hybrid approach
is relatively simple and easy to implement. The key aspect of the proposed methodology
is the interaction between a solver and a metaheuristic approach while solving a given
MIP model. This idea can be employed to efficiently solve a large class of combinatorial
optimization problems.
7.4 Concluding remarks 133

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.

The ILS-RVND-SP algorithm was evaluated in hundreds of well-known instances of


the variants considered in this work, with up to 480 customers. The same parameter
tuning was adopted and the results obtained were quite competitive with those found by
heuristics devoted to specific variants. Table 7.18 shows the summary of the results found
by ILS-RNVD-SP. In this table Avg. Gap corresponds to the average gap between the
average solutions and the BKSs, #Instances is the number of instances of a particular
benchmark, #Improvements denotes the number of solutions improved and #Ties
represents the number of ties. It can be seen that 54 new best solutions were found and
that the Avg. Gap was always smaller than 0.55%.

Table 7.18: Summary of ILS-RVND-SP results


Variant #Instances #Improvements #Ties Avg. Gap (%) Avg. Time (s)
CVRP1 a 93, b 14,c 20 a 1, b 0, c 0 a 92, b 13, c 5 a 0.03, b 0.08, c 0.55 a 17.41 b 100.83, c 3938.23

ACVRP1 d 24 d1 d 23 d 0.01 d 2.24

OVRP1 e 16, f 8 e 3, f 7 e 12, f 1 e 0.06, f -0.08 e 143.44, f 3844.03

VRPSPD1 g 28, h 18 g 5, h 7 g 21, h 11 g 0.12, h -0.07 g 189.24, h 3653.44

VRPMPD1 g 42 g 12 g 29 g -0.06 g 178.13

MDVRP1 i 23, j 10 i 0, j 0 i 20, j 8 i 0.04, j 0.15 i 627.03, j 896.05

MDVRPMPD1 g 33 g 16 g 17 g -0.10 g 497.54

HFVRP1 k 16, l 36 k 1, l 1 k 14, l 35 k 0.16, l 0.04 k 11.10, l 12.81

Total 381 54 301


a: A, B, E, F, M, P set; b:Christofides et al. [31]; c:
Golden et al. [80].
d: Fischetti et al. [57] and Pessoa et al. [134].
e : Christofides et al. [31] and Fisher [58]; f : Li et al. [105].
g : Salhi and Nagy [149]; h : Montané and Galvão [121];
i : Cordeau et al. (old) [35]; j : Cordeau et al. (new) [35].
k : Taillard [164]; l : Golden et al. [76].
1 : Core i7 2.93 GHz (single thread).
Chapter 8

Concluding Remarks and Future Work

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

were found for instances with up to 100 customers.


The third exact approach proposed for the VRPSPD/VRPMPD consists of a BCP
algorithm that combines the CVRP cuts used in the BCs (rounded capacity, multistar
and comb) with column generation. The BCP is mostly based on the one developed by
Fukasawa et al. [63] for the CVRP. The original column generation module was replaced
by a dynamic programming based algorithm that is capable of considering both delivery
and pickup demands. The main motivation of this method was to improve the lower
bounds of the instances with relatively large number of vehicles produced by the BCs. As
a result, 4 new optimal solutions were found and some lower bounds were improved.
An ILS based heuristic algorithm, called ILS-RVND, was developed to solve a large
class of VRPs. The proposed approach is quite simple and computational experiments
showed that the algorithm was capable of producing, on average, competitive results,
regardless of the variant. The ILS-RVND heuristic was tested in 628 instances with up to
500 customers and it managed to equal the BKS in 461 cases and to improve 87 results.
For every group of instances, the average gap between the average solutions obtained by
the ILS-RVND and the BKSs was always smaller than 1.03%.
Finally, a hybrid algorithm, called ILS-RVND-SP, was proposed to solve a large class
of VRPs where an exact procedure, based on a SP formulation, was incorporated into
the ILS-RVND heuristic. While ILS-RVND seeks an equilibrium among solution quality,
speed, simplicity and flexibility, ILS-RVND-SP gives preference to the solution quality at
the expense of the speed, but still holding all the flexibility. The ILS-RVND-SP algorithm
was evaluated in 378 instances with up to 480 customers, where 297 results were equaled
and 54 were improved.
As for future work, the following lines of research are suggested: (i) development of
efficient local search limitation strategies in order to decrease the computational effort
without compromising the solution quality, which in turn can allow ILS-RVND to be
competitively applied to solve very-large sized VRPs; (ii) extension of the range of ap-
plication of ILS-RVND and ILS-RVND-SP to other VRP variants that may include time
windows, backhauls, site/time dependence constraints and so on; (iii) application of the
ideas contained in the proposed heuristic and hybrid algorithms to efficiently solve other
COs like scheduling on single/multiple machines or clustering problems; (iv) investigation
of alternative forms of hybridization between heuristic and exact approaches for VRPs.
Bibliography

[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.

[3] Angelelli, E.; Mansini, R. Quantitative Approaches to Distribution Logistics


and Supply Chain Management. Springer, Berlin-Heidelberg, 2002, ch. A branch-
and-price algorithm for a simultaneous pick-up and delivery problem, pp. 249–267.

[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.

[8] Baldacci, R.; Hadjiconstantinou, E.; Mingozzi, A. An exact algorithm


for the traveling salesman problem with deliveries and collections. Networks 42, 1
(2003), 26–41.

[9] Baldacci, R.; Hadjiconstantinou, E.; Mingozzi, A. An exact algorithm for


the capacitated vehicle routing problem based on a two-commodity network flow
formulation. Operations Research 52, 5 (2004), 723–738.

[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.

[14] Berbeglia, G.; Cordeau, J.-F.; Gribkovskaia, I.; Laporte, G. Static


pickup and delivery problems: a classification scheme and survey. Top 15 (April
2007), 1–31.

[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.

[19] Bramel, J.; Simchi-Levi, D. The Vehicle Routing Problem. Monographs on


Discrete Mathematics and Applications. SIAM, Philadelphia, 2002, ch. Set-covering-
based algorithms for the Capacitated VRP, pp. 85–108.

[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

[23] C. D Tarantilis, D.; Diakoulaki; Kiranoudis, C. T. Combination of geo-


graphical information system and efficient routing algorithms for real life distribu-
tion operations. European Journal of Operational Research 152, 2 (January 2004),
437–453.

[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.

[30] Christofides, N. The vehicle routing problem. RAIRO (Recherche Opéra-


tionnelle) 10 (1976), 55–70.

[31] Christofides, N.; Mingozzi, A.; Toth, P. Combinatorial Optimization. Wiley,


Chinchester, UK, 1979, ch. The Vehicle Routing Problem, pp. 315–338.

[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.

[33] Clarke, G.; Wright, J. W. Scheduling of vehicles from a central depot to a


number of delivery points. Operations Research 12 (1964), 568–581.

[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.

[39] Cordeau, J.-F.; Laporte, G.; Savelsbergh, M. W. P.; Vigo, D. Trans-


portation, Handbooks in Operations Research and Management Science, vol. 14.
Elsevier, Amsterdam, 2007, ch. Vehicle Routing, pp. 367–428.

[40] Crispim, J.; Brandão, J. Metaheuristics applied to mixed and simultaneous


extensions of vehicle routing problems with backhauls. Journal of the Operational
Research Society 56, 7 (2005), 1296–1302.

[41] Croes, G. A. A method for solving traveling salesman problems. Operations


Research 6 (1958), 791–812.

[42] Dantzig, G. B.; Ramser, J. H. The truck dispatching problem. Management


Science 6, 1 (1959), 80–91.

[43] de Franceschi, R.; Fischetti, M.; Toth, P. A new ILP-based refinement


heuristic for vehicle routing problems. Mathematical Programming 105, 2-3 (2006),
471–499.

[44] Dell’Amico, M.; Righini, G.; Salani, M. A branch-and-price approach to the


vehicle routing problem with simultaneous distribution and collection. Transporta-
tion Science 40, 2 (2006), 235–247.

[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.

[50] Dongarra, J. J. Performance of various computers using standard linear equa-


tions software. Tech. Rep. CS-89-85, Computer Science Department, University of
Tennessee, 2010.

[51] Dorigo, M.; Stützle, T. Handbook of Metaheuristics. Kluwer Academic Pub-


lishers, Norwell, MA, 2002, ch. The Ant Colony Optimization Metaheuristic: Algo-
rithms, Applications, and Advances, pp. 251–285.

[52] Dror, M. Note on the complexity of the shortest path models for column genera-
tion in VRPTW. Operations Research 42 (1992), 977–978.

[53] Dueck, G. New optimization heuristics. Journal of Computational Physics 104, 1


(1993), 86–92.

[54] Dueck, G.; Scheuer, T. Threshold accepting: a general purpose optimization


algorithm appearing superior to simulated annealing. Journal of Computational
Physics 90, 1 (1990), 161–175.

[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.

[56] Fischetti, M.; Lodi, A. Local branching. Mathematical Programming 98 (2003),


23–47.

[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

[59] Fisher, M. L.; Jaikumar, R. A generalized assignment heuristic for vehicle


routing. Networks 11 (1981), 109–124.

[60] Fleszar, K.; Osman, I. H.; Hindi, K. S. A variable neighbourhood search


algorithm for the open vehicle routing problem. European Journal of Operational
Research 195, 3 (2009), 803–809.

[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

[70] Gillett, B. E.; Johnson, J. G. Multi-terminal vehicle-dispatch algorithm.


Omega 4 (1976), 711–718.

[71] Gillett, B. E.; Miller, L. R. A heuristic for the vehicle-dispatch problem.


Operations Research 21 (1974), 340–349.

[72] Glover, F. Future paths for integer programming and links to artificial intelli-
gence. Computers & Operations Research 13, 5 (1986), 533–549.

[73] Glover, F.; Laguna, M.; Marti, R. Handbook of Metaheuristics. Kluwer


Academic Publishers., 2003, ch. Scatter Search and Path Relinking: Advances and
Applications, pp. 1–36.

[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).

[79] Golden, B. L.; Magnanti, T. L.; Nguyen, H. Q. Implementing vehicle


routing algorithms. Networks 7, 2 (1977), 113–148.

[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

[83] Hansen, P.; Mladenović, N.; Moreno Pérez, J. Variable neighbourhood


search: methods and applications. Annals of Operations Research 175 (2010), 367–
407.

[84] Hernández-Pérez, H.; Salazar-González, J.-J. A branch-and-cut algorithm


for a traveling salesman problem with pickup and delivery. Discrete Applied Math-
ematics 145, 1 (2004), 126–139.

[85] Hernández-Pérez, H.; Salazar-González, J.-J. Heuristics for the one-


commodity pickup-and-delivery traveling salesman problem. Transportation Science
38, 2 (2004), 245–255.

[86] Hernández-Pérez, H.; Salazar-González, J.-J. The one-commodity pickup-


and-delivery traveling salesman problem: Inequalities and algorithms. Networks 50,
4 (2007), 258–272.

[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).

[88] Holland, J. H. Adaptation in Natural and Artificial Systems. University of


Michigan Press, 1975.

[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.

[90] Imran, A.; Salhi, S.; Wassan, N. A. A variable neighborhood-based heuristic


for the heterogeneous fleet vehicle routing problem. European Journal of Operational
Research 197 (2009), 509–518.

[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.

[92] Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of


IEEE international conference on neural networks (1995), vol. 4, pp. 1942–1948.

[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.

[99] Laporte, G.; Nobert, Y.; Taillefer, S. Solving a family of multi-depot


vehicle routing and location-routing problems. Transportation Science 22, 3 (1988),
161–172.

[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.

[102] Lenstra, J. K.; Rinnooy-Kan, A. H. G. Complexity of vehicle routing and


scheduling problems. Networks 11 (1981), 221–227.

[103] Letchford, A.; Lysgaard, J.; Eglese, R. W. A branch-and-cut algorithm for


the capacitated open vehicle routing problem. Journal of the Operational Research
Societ 58, 12 (2007), 1642–1651.

[104] Letchford, A. N.; Salazar-Gonzalez, J.-J. Projection results for vehicle


routing. Mathematical Programming, Ser. B 105 (2006), 251–274.

[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.

[110] Lima, C. M. R. R.; Goldbarg, M. C.; Goldbarg, E. F. G. A memetic


algorithm for the heterogeneous fleet vehicle routing problem. Electronic Notes in
Discrete Mathematics 18 (2004), 171–176.

[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.

[112] Lourenço, H. R.; Martin, O. C.; Stützle, T. Handbook of Metaheuristics.


Kluwer Academic Publishers, Norwell, MA, 2002, ch. Iterated Local Search, pp. 321–
353.

[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.

[115] Lysgaard, J.; Letchford, A. N.; Eglese, R. W. A new branch-and-cut


algorithm for the capacitated vehicle routing problem. Mathematical Programming
100 (2004), 423–445.

[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

[120] Mladenović, N.; Hansen, P. Variable neighborhood search. Computers &


Operations Research 24, 11 (1997), 1097–1100.

[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.

[129] Ochi, L.; Vianna, D.; Drummond, L. M. A.; Victor, A. An evolutionary


hybrid metaheuristic for solving the vehicle routing problem with heterogeneous
fleet. Lecture notes in computer science 1391 (1998), 187–195.

[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.

[133] Penna, P. H. V.; Subramanian, A.; Ochi, L. S. An iterated local search


heuristic for the heterogenous fleet vehicle routing problem. Journal of Heuristics
(2011). To appear.

[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.

[135] Pessoa, A.; Uchoa, E.; Poggi de Aragão, M. A robust branch-cut-and-


price algorithm for the heterogeneous fleet vehicle routing problem. Networks 54, 4
(2009), 167–177.

[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.

[142] Raft, O. M. A modular algorithm for an extended vehicle scheduling problem.


European Journal of Operational Research 11 (1982), 67–76.

[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.

[146] Repoussis, P. P.; Tarantilis, C. D.; Bräysy, O.; Ioannou, G. A hybrid


evolution strategy for the open vehicle routing problem. Computers & Opertions
Research 37, 3 (2010), 443–455.

[147] Rochat, Y.; Taillard, R. D. Probabilistic diversification and intensification in


local search for vehicle routing. Journal of Heuristics 1 (1995), 147–167.

[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.

[151] Schrage, L. A generalized assignment heuristic for vehicle routing. Networks 11


(1981), 229–232.

[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.

[153] Souza, M. J. F.; M T Mine, M. S. A. S.; Ochi, L. S.; Subramanian, A. A


hybrid heuristic, based on iterated local search and GENIUS, for the vehicle routing
problem with simultaneous pickup and delivery. International Journal of Logistics
Systems Management 10, 2 (2010), 142–156.

[154] Subramanian, A. Metaheurı́stica Iterated Local Search aplicada ao Problema


de Rotetamento de Veı́culos com Coleta e Entrega Simultânea. Master’s thesis,
Programa de Pós-graduação em Engenharia de Produção, Universidade Federal da
Paraı́ba, João Pessoa, PB, Brazil, 2008. In Portuguese.
BIBLIOGRAPHY 149

[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.

[158] Subramanian, A.; Penna, P. H. V.; Uchoa, E.; Ochi, L. S. A hybrid


algorithm for the heterogenous fleet vehicle routing problem. European Journal of
Operational Research (2012). To appear.

[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.

[161] Subramanian, A.; Uchoa, E.; Pessoa, A. A.; Ochi, L. S. Branch-and-cut


with lazy separation for the vehicle routing problem with simultaneous pickup and
delivery. Operations Research Letters 39, 5 (2011), 338–341.

[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.

[165] Tarantilis, C.; Ioannou, G.; Kiranoudis, C.; Prastacos, G. A thresh-


old accepting approach to the open vehicle routing problem. RAIRO (Recherche
Opérationnelle) 38 (2004), 345–360.
BIBLIOGRAPHY 150

[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.

[168] Tarantilis, C. D.; Kiranoudis, C.; Vassiliadis, V. A list based threshold


accepting metaheuristic for the heterogeneous fixed fleet vehicle routing problem.
Journal of the Operational Research Society 54 (2003), 65–71.

[169] Tarantilis, C. D.; Kiranoudis, C. T.; Vassiliadis, V. S. A threshold accept-


ing metaheuristic for the heterogeneous fixed fleet vehicle routing problem. European
Journal of Operational Research 152 (2004), 148–158.

[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.

[172] Tillman, F. A.; Hering, R. W. A study of a look-ahead procedure for solving


the multiterminal delivery problem. Transportation Science 5 (1971), 225–229.

[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.

[180] Vural, A. V. A GA based meta-heuristic for capacited vehicle routing prob-


lem with simultaneous pick-up and deliveries. Master’s thesis, Graduate School of
Engineering and Natural Sciences, Sabanci University, 2003.

[181] Wade, A.; Salhi, S. Metaheuristics: Computer Decision-Making. Kluwer, 2003,


ch. An ant system algorithm for the mixed vehicle routing problem with backhauls,
pp. 699–719.

[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.

[186] Zachariadis, E. E.; Kiranoudis, C. T. An open vehicle routing problem


metaheuristic for examining wide solution neighborhoods. Computers & Opertions
Research 37, 4 (2010), 712–723.

[187] Zachariadis, E. E.; Kiranoudis, C. T. A strategy for reducing the compu-


tational complexity of local search-based methods for the vehicle routing problem.
Computers & Operations Research 37, 12 (2010), 2089–2105.

[188] Zachariadis, E. E.; Kiranoudis, C. T. A local search metaheuristic algorithm


for the vehicle routing problem with simultaneous pick-ups and deliveries. Expert
Systems with Applications 38, 3 (2011), 2717–2726.

[189] Zachariadis, E. E.; Tarantilis, C. D.; Kiranoudis, C. T. A hybrid meta-


heuristic algorithm for the vehicle routing problem with simultaneous delivery and
pick-up service. Expert Systems with Applications 36, 2 (2009), 1070–1081.
BIBLIOGRAPHY 152

[190] Zachariadis, E. E.; Tarantilis, C. D.; Kiranoudis, C. T. An adaptive


memory methodology for the vehicle routing problem with simultaneous pick-ups
and deliveries. European Journal of Operational Research 202, 2 (2010), 401–411.

[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.

You might also like