0% found this document useful (0 votes)
8 views181 pages

Exact Algorithms For Different Classes of Vehicle

The document discusses exact algorithms for various classes of vehicle routing problems, including the Asymmetric Traveling Salesman Problem and Vehicle Routing Problem with Time Windows. It outlines the contributions of the research, mathematical formulations, and computational results. The work is part of a PhD thesis by Roberto Roberti at the University of Bologna, supervised by notable professors in the field.
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)
8 views181 pages

Exact Algorithms For Different Classes of Vehicle

The document discusses exact algorithms for various classes of vehicle routing problems, including the Asymmetric Traveling Salesman Problem and Vehicle Routing Problem with Time Windows. It outlines the contributions of the research, mathematical formulations, and computational results. The work is part of a PhD thesis by Roberto Roberti at the University of Bologna, supervised by notable professors in the field.
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/ 181

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/257492818

Exact Algorithms for Different Classes of Vehicle Routing Problems

Article in 4OR · July 2012


DOI: 10.1007/s10288-012-0206-z

CITATIONS READS

18 1,474

1 author:

Roberto Roberti
Vrije Universiteit Amsterdam
23 PUBLICATIONS 2,041 CITATIONS

SEE PROFILE

All content following this page was uploaded by Roberto Roberti on 06 October 2017.

The user has requested enhancement of the downloaded file.


Alma Mater Studiorum - University of Bologna

PhD in Control System Engineering and Operational Research


Cycle XIV
Settore concorsuale di afferenza: 01/A6 - RICERCA OPERATIVA

Settore scientifico disciplinare: MAT/09 - RICERCA OPERATIVA

Exact Algorithms for Different Classes


of Vehicle Routing Problems

Roberto Roberti

Coordinator Advisors
Prof. Alberto Caprara Prof. Aristide Mingozzi
Prof. Paolo Toth

Final Exam 2012


Contents

1 Introduction 1
1.1 On Logistics Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Reasons for Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Contents and Contributions of the Thesis . . . . . . . . . . . . . . . . . 5
1.3.1 Asymmetric Traveling Salesman Problem . . . . . . . . . . . . . 5
1.3.2 Traveling Salesman Problem with Time Windows . . . . . . . . . 6
1.3.3 Vehicle Routing Problem with Time Windows . . . . . . . . . . . 7
1.3.4 Multi-Trip Vehicle Routing Problem . . . . . . . . . . . . . . . . 8
1.3.5 Two-Echelon Capacitated Vehicle Routing Problem . . . . . . . 9

2 Asymmetric Traveling Salesman Problem 11


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 The Dantzig-Fulkerson-Johnson Formulation and its Relaxations . . . . 12
2.3 Review of Polynomial Formulations . . . . . . . . . . . . . . . . . . . . . 14
2.4 Exact Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Transformation of ATSP Instances into STSP Instances . . . . . . . . . 22
2.6 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Traveling Salesman Problem with Time Windows 29


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 An Exact Algorithm for the TSPTW . . . . . . . . . . . . . . . . . . . . 31
3.4 Relaxations of the TSPTW . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.1 The t-Tour Relaxation . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.2 The ng-Tour Relaxation . . . . . . . . . . . . . . . . . . . . . . . 34
3.4.3 The ngL-Tour Relaxation . . . . . . . . . . . . . . . . . . . . . . 36
3.5 A Valid Lower Bound LB on the TSPTW . . . . . . . . . . . . . . . . . 38
3.5.1 Initializing the Master Problem . . . . . . . . . . . . . . . . . . . 39
3.5.2 Solving the Master Problem . . . . . . . . . . . . . . . . . . . . . 40
3.5.3 Solving the Pricing Problem . . . . . . . . . . . . . . . . . . . . . 41
3.6 Computing Bounding Functions b(S, t, i) . . . . . . . . . . . . . . . . . . 42
3.7 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.7.1 Parameter Setting . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.7.2 Ascheuer Instances . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7.3 Pesant Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7.4 Potvin Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7.5 Gendreau Instances . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7.6 Olhmann Instances . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.7.7 More Details on the Computational Results . . . . . . . . . . . . 53
3.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4 Vehicle Routing Problem with Time Windows 57


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3 Mathematical Formulation and its Relaxations . . . . . . . . . . . . . . 60
4.3.1 Set Partitioning Formulation . . . . . . . . . . . . . . . . . . . . 61
4.3.2 Relaxation LP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3.3 ng-Route Relaxation for the CVRP . . . . . . . . . . . . . . . . . 62
4.4 An Exact Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.5 Bounding Procedures H 1 , H 2 and H 3 . . . . . . . . . . . . . . . . . . . 64
4.5.1 Algorithm CCG . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5.2 Bounding Procedure H 1 . . . . . . . . . . . . . . . . . . . . . . . 68
4.5.3 Bounding Procedure H 2 . . . . . . . . . . . . . . . . . . . . . . . 68
4.5.4 Bounding Procedure H 3 . . . . . . . . . . . . . . . . . . . . . . . 69
4.5.5 Procedure GenR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.5.5.1 Procedure GenP. . . . . . . . . . . . . . . . . . . . . . . 70
4.5.5.2 Procedure Combine. . . . . . . . . . . . . . . . . . . . . 73
4.5.5.3 GenR for the CVRP. . . . . . . . . . . . . . . . . . . . . 73
4.6 Column-and-Cut Generation Procedure H 4 . . . . . . . . . . . . . . . . 73
4.6.1 Procedure GenR4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.6.2 Procedure GenP4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.6.3 Procedure Combine4 . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6.4 Procedure GenR4 for the CVRP . . . . . . . . . . . . . . . . . . . 76
4.7 Procedure GenRF for Generating Route Set Re . . . . . . . . . . . . . . . 76
4.7.1 Procedure GenPF . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.7.2 Procedure CombineF . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8.1 Computational Results on the VRPTW . . . . . . . . . . . . . . 78
4.8.2 Computational Results on the CVRP . . . . . . . . . . . . . . . 81
4.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5 Multi-Trip Vehicle Routing Problem 95


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.3 Mathematical Formulations and Relaxations . . . . . . . . . . . . . . . . 97
5.3.1 Formulation F 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.3.2 Formulation F 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.3.3 Comparing Relaxations LF 1 and LF 2 . . . . . . . . . . . . . . . 98
5.3.4 Relaxation RF 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.4 Improving Relaxations LRF 1 and LF 2 and Outline of the Exact Method101
5.4.1 Relaxation LRF 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.4.2 Relaxation LF 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.4.3 Using Multiple Dual Solutions to Improve Procedures H 2 , H 3
and H 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5 Bounding Procedures H 1 , H 2 , and H 3 Based on Relaxation LRF 1 . . . 107
5.5.1 Algorithm CCG . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5.2 Bounding Procedure H 1 . . . . . . . . . . . . . . . . . . . . . . . 109
5.5.3 Route Generation Algorithm GenR . . . . . . . . . . . . . . . . . 109
5.5.3.1 Phase 1 of GenR. . . . . . . . . . . . . . . . . . . . . . . 110
5.5.3.2 Phase 2 of GenR. . . . . . . . . . . . . . . . . . . . . . . 111
5.5.4 Bounding Procedure H 2 . . . . . . . . . . . . . . . . . . . . . . . 111
5.5.5 Generating the Path Set P 2 and the Route Set R 2 . . . . . . . 111
5.5.6 Bounding Procedure H 3 . . . . . . . . . . . . . . . . . . . . . . . 112
5.5.7 Generating the Route Set R 3 and Solving F 1 . . . . . . . . . . . 113
5.6 Bounding Procedure H 4 Based on Relaxation LF 2 . . . . . . . . . . . . 113
5.7 Algorithm GenSched to Generate Vehicle Schedules . . . . . . . . . . . . 114
5.8 Description of the Exact Method to Solve the MTVRP . . . . . . . . . . 115
5.9 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

6 Two-Echelon Capacitated Vehicle Routing Problem 121


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.3 Problem Description and Mathematical Formulation . . . . . . . . . . . 123
6.4 Relaxations of Formulation F . . . . . . . . . . . . . . . . . . . . . . . . 125
6.4.1 Relaxation RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.4.2 Relaxation RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.5 Lower bound LD1 and bounding procedure DP 1 . . . . . . . . . . . . . 134
6.5.1 Description of Procedure DP 1 . . . . . . . . . . . . . . . . . . . 135
6.5.2 Solving Problem RF . . . . . . . . . . . . . . . . . . . . . . . . . 136
6.5.3 Computing a subgradient . . . . . . . . . . . . . . . . . . . . . . 136
6.5.4 Generating the ng-route set Nk for a given satellite k . . . . . . 137
6.5.5 A Lagrangean heuristic . . . . . . . . . . . . . . . . . . . . . . . 138
6.6 An exact method for solving the 2E-CVRP . . . . . . . . . . . . . . . . 140
6.6.1 Generating the Set of Configurations P . . . . . . . . . . . . . . 141
6.6.2 Solving Problem F (M ) . . . . . . . . . . . . . . . . . . . . . . . 142
6.6.2.1 Phase 1: computing lower bound LD1(M ) . . . . . . . 142
6.6.2.2 Phase 2: solving F̄ (M ) . . . . . . . . . . . . . . . . . . 142
6.6.2.3 Phase 3: solving F (M ) to optimality . . . . . . . . . . 143
6.6.3 Description of the Exact Method . . . . . . . . . . . . . . . . . . 143
6.7 Computational results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Bibliography 155
Keywords
• Vehicle Routing Problems

• Traveling Salesman Problems

• Time Windows

• Exact Algorithms

• Column Generation

• Dynamic Programming

• State-Space Relaxation

• Dual-Ascent Heuristics
Ai miei Genitori
Acknowledgements
I want to express my deeply-felt thanks to my thesis advisors, Professors Aristide
Mingozzi and Paolo Toth, for their warm encouragement, thoughtful guidance, and
insightful criticism.

I also want to express my gratitude to Professor Roberto Baldacci for his continuous
support and sound advice.

Lastly, I wish to thank Dr. Enrico Bartolini, Dr. Valentina Cacchiani, Professor Alberto
Caprara, and Professor Roberto Wolfler Calvo.
Chapter 1

Introduction

1.1 On Logistics Problems

Logistics is defined by Eilon and Christofides [1971] as “the provision of goods and
services from a supply point to a demand point”. Despite such a short definition,
logistics systems span a large spectrum of decision-making activities. Examples of
such activities (see Simchi-Levi et al. [2005]) are as follows:

• Truck Routing. A truck must leave a warehouse to deliver products to a set


of retailers. The order in which the retailers are visited will determine how long
the delivery will take and at what time the vehicle can return to the warehouse.
Thus, the vehicle must follow an efficient route.

• Vehicle Fleet Management. A warehouse must supply products to a set of


retailers using a fleet of vehicles of limited capacity. A dispatcher is in charge of
assigning loads to vehicles and determining vehicle routes. Firstly, the dispatcher
must decide how to partition the retailers into groups that can be feasibly served
by a vehicle (i.e., whose total loads fit in a vehicle). Secondly, the dispatcher
must decide what sequence to use so as to minimize the total traveled distance
of the vehicles. Therefore, the warehouse incurs a cost that depends on both
the assignment of the retailers to the vehicles and the routes performed by the
vehicles. Both aspects must be considered simultaneously.

• Network Configuration. Several plants produce products to serve a set of re-


tailers. Due, for example, to changes in demand patterns or in plant production
or in supply costs, the current set of facilities (i.e., plants and warehouses) is
deemed to be inappropriate, and management wants to reorganize the distribu-
tion network. Therefore, the management must choose a set of facility locations
and capacities, determine production levels for each product at each plant, and

1
2 Chapter 1 Introduction

set transportation flows from plants to warehouses and from warehouses to re-
tailers, in such a way that total production, inventory and transportation costs
are minimized and service level requirements are met.

The previous three activities are examples of problems that have been intensively
studied in the field of operations research in the last few decades.

The first problem, indicated as truck routing, is known as traveling salesman problem
(TSP). The TSP is to find a routing of a salesman who starts from a home location,
visits a prescribed set of cities, and returns to the original location, in such a way that
the total distance traveled is minimum and each city is visited exactly once.

A formal definition of the TSP is the following. Let G = (V, E) be a complete undi-
rected graph, where V is the vertex set and E is the edge set. A cost is associated
with each edge e ∈ E. Let H be the family of all Hamiltonian cycles (tours) in graph
G, where each tour of the set H has a cost equal to the sum of the costs of the edges
traversed. The TSP is to find a tour of the set H of minimum cost.

The first work on the TSP is commonly owed to Menger [1932]. Various papers dealing
with the TSP were published in the years following, but Robinson [1949] was the first
to use the name “traveling salesman problem”. An intense study of the TSP started
with the seminal paper by Dantzig et al. [1954]. Since then, numerous survey papers
and books were published on the TSP and its variants (see Lawler et al. [1985], Reinelt
[1994], Gutin and Punnen [2002], and Applegate et al. [2007]). Garey and Johnson
[1979] showed that the TSP is N P-hard.

The fields of applications of TSP go beyond the route planning problem of a trav-
eling salesman and spans over several areas from mathematics to computer science,
from genetics to electronics. Possible applications of the problem are computer wiring
(Lenstra and Rinnooy Kan [1975]), wallpaper cutting (Garfinkel [1977]), dartboard
design (Eiselt and Laporte [1991]), crystallography (Bland and Shallcross [1989]), ma-
chine scheduling problems, cellular manufacturing, arc routing problems, frequency
assignment problems, structuring of matrices, and many more (see Gutin and Punnen
[2002] for an exhaustive coverage).

The second problem, referred to as vehicle fleet management, is an example of ca-


pacitated vehicle routing problem (CVRP), which can be stated as follows. A set of
customers, each with a known location and a known requirement for some commodity,
must be supplied from a single depot by a fleet of capacitated vehicles. The costs for
traveling between each couple of customers and between the depot and each customer
are known. The problem is to design the vehicle routes such that each customer is
served by a single vehicle, the vehicle capacity is not violated in any of the routes, and
the total routing cost is minimized.
Chapter 1 Introduction 3

The CVRP can be formally described as follows. Let G = (V 0 , E) be an undirected


graph, where V 0 = {0, 1, . . . , n} is the vertex set and E is the edge set. Vertices 1
to n correspond to a set of customers, whereas vertex 0 corresponds to the depot. A
nonnegative cost is associated with each edge e ∈ E and represents the travel cost spent
to travel between the two vertices linked by edge e. A set of m identical vehicles, each
with capacity Q, is available at the depot. A nonnegative demand is associated with
each customer. The CVRP consists of finding a collection of m simple cycles (each
corresponding to a vehicle route) of minimum total cost, defined as the sum of the
costs of the edges belonging to the cycles, such that each cycle visits the depot, each
customer is visited by exactly one cycle, and the sum of the demands of the vertices
visited by a cycle does not exceed the vehicle capacity, Q.

The CVRP was first introduced, as the truck dispatching problem, by Dantzig and
Ramser [1959], who proposed the first mathematical formulation and algorithm ap-
proach for the solution of the problem. The first heuristic approach for the CVRP is
owed to Clarke and Wright [1964], who proposed an effective greedy heuristic. After
these two seminal papers, a lot of effort has been made to model and solve the CVRP
and tens of its variants. A number of books dealing with the CVRP have been pub-
lished, see Eilon and Christofides [1971], Christofides [1985], Golden and Assad [1988],
Fischer [1995], Crainic and Laporte [1998], Toth and Vigo [2002], and Golden et al.
[2008]. Being a generalization of the TSP, the CVRP is an N P-hard problem.

The CVRP models real-life problems encountered in the physical distribution of goods
and appears in many practical situations, such as the collection of mail from mail-
boxes, the pickup of children by school buses, house-call tour by a doctor, preventive
maintenance inspection tours, the delivery of laundry, etc.

The third problem, referred to as network configuration, is commonly known as unca-


pacitated facility location problem (UFL). A set of possible locations at which facilities
(such as warehouses) may be built are given. For each location, the cost incurred
to build the facility is known. The facilities must be built in order to serve a set of
customer locations (such as stores). The cost of serving a customer location from each
possible facility location is given. The problem is to decide the locations at which to
build facilities and to assign each customer to a facility in such a way that the total
cost for building facilities and serving customers is minimum.

The earliest works on the UFL problem date back to the 50’s and 60’s (see Koopmans
and Beckmann [1957], Kuehn and Hamburger [1963], Manne [1964], Efroymson and
Ray [1966]). Since then, several books were published on the UFL and other variants
of location problems, see Love et al. [1988], Mirchandani and Francis [1990], Drezner
[1995], Daskin [1995], Farahani and Hekmatfar [2009], Eiselt and Marianov [2011]. It
can easily be shown that the UFL problem is N P-hard.
4 Chapter 1 Introduction

The UFL problem has several applications, such as bank account allocation, clus-
tering analysis, lock-box location, economic lot sizing, machine scheduling, design of
communication networks, and portfolio management. The problem also appears as a
subproblem in several contexts, for example network design, vehicle routing, and, of
course, location theory with additional constraints.

In this thesis, we deal with some variants of the three aforementioned problems (TSP,
VRP, and UFL). We study the mathematical formulations proposed in the literature
and review the state-of-the-art exact algorithms presented so far. Foremost, we propose
new models for some of the problems considered and develop new exact algorithms that
are highly competitive with the other exact algorithms from the literature. The new
algorithms proposed share common ingredients: column generation (see Desaulniers
et al. [2005]), dynamic programming (see Bellman [1957], Bertsekas [1995], Bertsekas
[2000], Art and Mauch [2007]), and state-space relaxation (see Christofides et al. [1981c],
Christofides et al. [1981b]).

1.2 Reasons for Research

In the last few decades, optimization packages, based on operations research and math-
ematical programming techniques, have been used more and more to support manage-
rial decisions in distribution systems. This has been possible for the development of
both computer systems (hardware and software) and modeling and algorithmic tools
to model and solve real-world instances addressed in the field of logistics.

Today’s global markets put enterprises in fierce competition and motivates the contin-
uous evolution of the management of distribution systems.

The study of efficient and innovative methods for supporting managers in taking de-
cisions in all levels (strategic, tactical or operational) is justified by the economical
impact of such problems on the firms’ revenues. LaLonde and Zinszer [1976] estimated
that distribution costs account for around 10% of the all firms’ revenues. The In-
stitute of Logistics and Distribution Management [1985] calculated that distribution
costs represent more than 45% of the total logistics costs, and, in specific cases, like
in the soft drink industry, they represent approximately 70% of the value added costs
of goods (see Golden and Wasil [1987]). Recent studies (Eurostat [2009, 2011]) by
the statistical office of the European Community (EUROSTAT) estimated that 4,140
billion tonnes of goods per kilometer were moved in 2006, 46% of which were on roads
involving 32.2 million vehicles. Therefore, even small savings in distribution costs may
have a relevant global impact.

Another crucial factor that justifies the study of methods to support managerial de-
cisions is the environmental impact of the activity of transporting goods. A total
GHG (i.e., greenhouse gas) emission of 992.3 million tonnes of CO2 was attributable
Chapter 1 Introduction 5

to transport in the EU-27 in 2006 (see Eurostat [2009]). Indeed, transport made up
a share of 19% of total GHG emissions in the EU-27 - the second largest after the
energy industries (31%). Not surprisingly, road transport is the principal polluter in
the transport sector, contributing 93.1% to the greenhouse gas emissions. Thus, a
smart and sustainable transport policy all over EU-27 is fundamental to ensure that
the transport systems meet the citizen’s economic, social and environmental needs.

1.3 Contents and Contributions of the Thesis

In this thesis, we deal with five variants of the three problems (TSP, VRP, and UFL)
described in §1.1:

• asymmetric traveling salesman problem,

• traveling salesman problem with time windows,

• vehicle routing problem with time windows,

• multi-trip vehicle routing problem,

• two-echelon capacitated vehicle routing problem.

1.3.1 Asymmetric Traveling Salesman Problem

Many variants of the TSP have been proposed in the literature. Among them, the
asymmetric traveling salesman problem (ATSP) is one of the most studied. The ATSP
generalizes the TSP by dropping the assumption that the travel distance between two
cities is the same in both directions.

Subsuming the TSP as a special case, the ATSP is N P-hard, too.

The ATSP can be formally stated as follows. A complete directed graph G = (V, A) is
given, where V and A are the vertex set and arc set, respectively. A cost is associated
with each arc (i, j) ∈ A. Let H be the family of all tours in G, where each tour has a
cost equal to the sum of the costs of the traversed arcs. The ATSP is to find a tour of
the set H of minimum cost.

There are many important real-life problems that are naturally modeled as ATSPs. In
industrial scheduling, the optimal sequencing of jobs on machines with setup times is
an ATSP: more generally, the optimal ordering of any set of tasks or operations with
sequence dependent changeover costs is an ATSP or one of its generalizations.

Chapter 2 surveys the most effective mathematical models and exact algorithms pro-
posed for solving the ATSP to optimality. Starting from the fundamental integer
6 Chapter 1 Introduction

linear programming model of Dantzig et al. [1954], classical relaxations (i.e., assign-
ment, shortest spanning r-arborescence, linear programming) are derived. The most
effective branch-and-bound and branch-and-cut exact algorithms from the literature
are described. A review of the polynomial formulations and a theoretical comparison of
their linear relaxations are provided. The 3-node and 2-node transformations of ATSP
instances into symmetric TSP instances are also described. Finally, the considered
exact algorithms are experimentally compared on a set of benchmark instances.

1.3.2 Traveling Salesman Problem with Time Windows

The traveling salesman problem with time windows (TSPTW) is another well-studied
generalization of the TSP, where, other than the travel distance of traveling between
two cities, the travel time is known and each city must be visited within a given time
interval (time window). Throughout the thesis, whenever we talk of TSPTW, we make
no assumptions on the symmetry of travel distances and travel times between cities,
so we always consider the general case of asymmetric TSPTW.

Being a generalization of the TSP, the TSPTW is N P-hard, too. Indeed, finding a
feasible solution of asymmetric TSPTWs is N P-complete (see Savelsbergh [1985]).

The TSPTW is defined on a directed graph G = (V, A). The vertex set V is made
up of n + 1 vertices 0, 1, . . . , n, where vertex 0 represents the city where the salesman
starts and returns and the other n vertices are the cities to visit. For each arc (i, j)
of the arc set A, the travel distance and the travel time are known. For each vertex
i ∈ V , a time window [ei , li ] is given. If the salesman arrives at vertex i before the
beginning of the time window, ei , the visit is postponed until time ei . Let H be the
family of all tours in G, such that each city is visited within its time window. The
TSPTW is to find a tour of the set H of minimum total distance.

The TSPTW has applications in single and multiple vehicle problems. Practical
TSPTWs are encountered in a variety of industrial and service sector applications;
examples include control of stacker cranes in warehouses (see Ascheuer et al. [2001]),
bank deliveries, postal deliveries, and school-bus routing and scheduling.

In Chapter 3, we describe a new exact algorithm for solving the TSPTW. The funda-
mental ingredient of the new exact method is state-space relaxation, which is a general
relaxation procedure, proposed by Christofides et al. [1981b,c], whereby the state-space
associated with a given dynamic programming recursion is relaxed in order to com-
pute valid bounds to the original problem. We propose new tour relaxations, called
ng and ngL, to compute valid lower bounds on the TSPTW, corresponding to the
costs of a problem that seeks a least-cost convex combination of the tours of a given
tour relaxation. An optimal TSPTW integer solution is then found by iteratively run-
ning a dynamic programming algorithm, that limits the number of states to generate
Chapter 1 Introduction 7

by using bounding functions based on the different tour relaxations proposed and on
the lower bounds and corresponding dual solutions previously achieved. An extensive
computational analysis on basically all TSPTW benchmark instances (with up to 233
vertices) is reported. The new algorithm is compared with the state-of-the-art exact
algorithms (i.e., two branch-and-cut algorithms, a dynamic programming recursion,
and a constraint-programming-based method). The computational experiments show
that the proposed algorithm solves all but one instance to optimality within short
computing times and outperforms the other exact methods considered.

1.3.3 Vehicle Routing Problem with Time Windows

Real-life routing problems usually include a wide range of operational constraints, so


many variants of the basic CVRP have been proposed in the literature. The most stud-
ied variant of the CVRP is the vehicle routing problem with time windows (VRPTW).

The VRPTW can be formally defined on a directed graph G = (V 0 , A), where V 0 =


{0, . . . , n} is the vertex set and A is the arc set. A travel cost and a travel time are
associated with each arc (i, j) ∈ A. A set of m identical vehicles, each with capacity Q,
are available at the depot (represented by vertex 0). A nonnegative demand and a time
window are associated with each customer 1, . . . , n. The VRPTW consists of finding
a collection of m simple circuits (each corresponding to a vehicle route) of minimum
total cost, defined as the sum of the costs of the arcs belonging to the circuits, such
that each circuit visits the depot, each customer is visited by exactly one circuit within
its time window, and the sum of the demands of the vertices visited by a circuit does
not exceed the vehicle capacity, Q.

The VRPTW generalizes not only the CVRP but also the TSPTW, which can be
considered as the single-vehicle version of the VRPTW. Since the CVRP is N P-hard,
by restriction, the VRPTW is also N P-hard.

The VRPTW has numerous applications in distribution management, such as bever-


age/food and newspaper delivery. Time windows naturally arise in problems faced by
business organizations which work on strict time schedules; specific examples of such
problems include bank deliveries, industrial refuse collection, and school-bus routing
and scheduling.

Chapter 4 describes an effective exact method for solving the VRPTW that improves
on the method proposed by Baldacci et al. [2008] for the CVRP. The new algorithm
relies on the set partitioning formulation of the problem and on the state-space re-
laxations introduced for the TSPTW in Chapter 3. The core of the method is the
dual-ascent heuristics developed to find near-optimal dual solutions of the linear relax-
ation of the set partitioning model; these dual solutions and the corresponding lower
8 Chapter 1 Introduction

bounds are computed via column generation by solving the pricing problem with dy-
namic programming and state-space relaxations and by solving the master problem
through subgradient optimization. Another main ingredient of the exact method is a
column-and-cut generation algorithm that strengthens the lower bounds achieved by
the dual-ascent heuristics by adding valid inequalities; the pricing problem is solved
with dynamic programming but adopting a new strategy of combining different feasible
dual solutions to limit the state-space graph. An optimal VRPTW integer solution
is finally found by solving, with a general purpose integer programming solver, a re-
stricted master problem generated by taking into account all of the feasible dual so-
lutions computed by the different bounding procedures previously run. We show that
the proposed algorithm can be properly tailored to obtain an effective solution method
for the CVRP. The last part of Chapter 4 compares the performance of our exact
method on both VRPTW and CVRP benchmark instances with the state-of-the-art
exact algorithms (branch-and-cut and branch-and-cut-and-price) from the literature.
The proposed method solves four of the five open Solomon VRPTW instances and
significantly improves the average running times of the state-of-the-art algorithms for
both the VRPTW and the CVRP.

1.3.4 Multi-Trip Vehicle Routing Problem

The multi-trip vehicle routing problem (MTVRP) is a generalization of the CVRP,


where each vehicle is allowed to perform a set of routes, called a schedule, of total
duration not exceeding a maximum driving time.

The MTVRP is defined on an undirected graph G = (V 0 , E). The vertex set V 0


is partitioned as V 0 = {0} ∪ V , where vertex 0 represents the depot and the set
V = {1, . . . , n} represents n customers, each one requiring qi units of product from the
depot. A travel cost and a travel time are associated with each edge {i, j} ∈ E. A
fleet of m identical vehicles is located at the depot; each vehicle has capacity Q and
maximum driving time T . The MTVRP calls for the design of a set of m schedules of
minimum total cost such that each customer is visited exactly once by the routes of
the schedules and each schedule does not exceed the maximum driving time.

The reason for studying the MTVRP is that, in many practical applications, the as-
sumption that a vehicle can perform at most a route per day is unrealistic. This is
especially true whenever the vehicle capacity is small with respect to the quantities
requested by customers or whenever the planning period is large. In urban areas, for
example, travel times are rather small, and it is often the case that after performing
short tours vehicles are reloaded and used again. A practical application of MTVRP
is the distribution of perishable goods.

Despite its practical importance, little attention has been given to the MTVRP. Though
a few heuristics have been proposed in the last two decades, no exact algorithm can be
Chapter 1 Introduction 9

found in the literature, except for an exact algorithm proposed for an MTVRP with
time windows and unlimited maximum driving time.

In Chapter 5, we present an exact method for solving the MTVRP. The method is based
on two set-partitioning-like formulations. The first formulation has a binary variable
for each feasible route and each vehicle, whereas the second formulation has a binary
variable for each feasible schedule. The linear relaxations of the two formulations and
the relation between them are studied. We propose four column-and-cut generation
bounding procedures to solve the linear relaxations of the two formulations enforced
with valid inequalities derived from the CVRP and with a new class of valid inequalities
specific for the problem. Furthermore, we present a simple though effective method
to improve the lower bounds achieved by the different bounding procedures that is
based on the use of multiple feasible dual solutions. The exact method we propose
executes, in sequence, the four bounding procedures and then finds an optimal MTVRP
solution by solving, with a general purpose integer programming solver, a restricted
master problem containing a reduced set of either routes or schedules belonging to any
optimal solution. The computational results show that the proposed method can solve,
to optimality, MTVRP benchmark instances involving up to 120 customers.

1.3.5 Two-Echelon Capacitated Vehicle Routing Problem

The two-echelon capacitated vehicle routing problem (2E-CVRP) models two-level


distribution systems in which freight arrives at a central depot, is transported to in-
termediate facilities, called satellites, and is finally delivered to customers from the
satellites. Therefore, two distribution levels are involved. The distribution system
takes into account routing costs, handling costs for the operations of unloading and
loading freight at satellites, and fixed costs for using satellites. Limits on the maximum
number of first and second level vehicles to use, on the maximum number of vehicles
to route at each satellite, and on the maximum quantity of freight to handle at each
satellite are imposed. The objective is to minimize the total cost of the system.

The 2E-CVRP concerns both vehicle fleet management and network configuration.
Indeed, the 2E-CVRP subsumes both the CVRP and the UFL, so it is an N P-hard
problem.

A common application of the 2E-CVRP is city logistics (see Taniguchi [2001], Taniguchi
and Thompson [2008]), which is an area of urban study and urban management. The
goal of city logistics is to establish efficient, safe and environmentally friendly urban
freight transport systems. Space in city centers is often limited and must be shared
between private and public passenger transport as well as parking facilities. Other than
producing congestion, pollution and noise, large vehicles usually have low average loads
and perform numerous empty trips. Therefore, officials want to reduce the number of
10 Chapter 1 Introduction

vehicles, especially freight vehicles, in city centers and want to switch from large to
smaller vehicles.

In Chapter 6, we introduce a new mathematical formulation of the 2E-CVRP that is


used to derive both integer and continuous relaxations. We present a new bounding
procedure based on dynamic programming and an exact algorithm that decomposes
the 2E-CVRP into a set of CVRPs with multiple depots and side constraints. The
new algorithm is tested on five sets of instances from the literature and a new set of
instances with up to 100 customers and 6 satellites. Computational results show that
144 out of 153 instances from the literature were solved, 97 of which for the first time.
The comparisons with the state-of-the-art exact methods show that new exact method
compares favorably with the other exact methods from the literature.
Chapter 2

Asymmetric Traveling Salesman


Problem

This chapter surveys the most effective mathematical models and exact algorithms pro-
posed for finding the optimal solution of the well-known asymmetric traveling salesman
problem (ATSP). The fundamental integer linear programming (ILP) model proposed
by Dantzig, Fulkerson and Johnson is first presented, its classical (Assignment, Short-
est Spanning r-Arborescence, Linear Programming) relaxations are derived, and the
most effective branch-and-bound and branch-and-cut algorithms are described. The
polynomial ILP formulations proposed for the ATSP are then presented and analyzed.
The considered algorithms and formulations are finally experimentally compared on a
set of benchmark instances.

2.1 Introduction

Let G = (V, A) be a complete digraph, where V = {1, . . . , n} is the vertex set and
A = {(i, j) : i, j ∈ V } the arc set, and let cij be a cost associated with arc (i, j) ∈ A
(with cii = +∞, for i ∈ V ). A Hamiltonian circuit (tour) of graph G is a circuit that
visits each vertex of the vertex set V exactly once. The asymmetric traveling salesman
problem (ATSP) is to find a Hamiltonian circuit G∗ = (V, A∗ ) of graph G whose cost
P
(i,j)∈A∗ cij is minimum. If the considered graph G is undirected, the corresponding
problem is denoted as symmetric traveling salesman problem (STSP).

The ATSP is known to be N P-hard in the strong sense and has been intensively studied
in the last six decades. In this chapter, we consider and experimentally compare the
most effective integer linear programming (ILP) models and exact algorithms proposed
1
This chapter is based on Roberti and Toth [2012]

11
12 Chapter 2 Asymmetric Traveling Salesman Problem

for solving the ATSP. Previous surveys on the subject were presented by Balas and Toth
[1985], Fischetti et al. [2004], Öncan et al. [2009], D’Ambrosio et al. [2010]. Several
books dealing with the STSP and its variations have been published; among them,
we mention those by Lawler et al. [1985], Reinelt [1994], Gutin and Punnen [2002],
Applegate et al. [2007].

2.2 The Dantzig-Fulkerson-Johnson Formulation and its


Relaxations

Dantzig et al. [1954] proposed the following ILP model (hereafter DFJ) with n2 binary
variables xij

n X
X n
(DF J) min cij xij (2.1)
i=1 j=1
Xn
s.t. xij = 1, j = 1, . . . , n, (2.2)
i=1
Xn
xij = 1, i = 1, . . . , n, (2.3)
j=1
XX
xij ≤ |S| − 1, S ⊂ V : S 6= ∅, (2.4)
i∈S j∈S

xij ∈ {0, 1}, (i, j) ∈ A, (2.5)

where variable xij is equal to 1 if and only if arc (i, j) ∈ A is in the optimal tour. Con-
straints (2.2) and (2.3) impose that the in-degree and out-degree, respectively, of each
vertex is equal to one, whereas constraints (2.4) are subtour elimination constraints
(SECs) and impose that no partial circuit exists.

Moreover, it is well-known that one can halve the number of SECs (2.4) by replacing
them with
XX
xij ≤ |S| − 1, S ⊂ V \ {r} : S 6= ∅,
i∈S j∈S

where r is any vertex of vertex set V .

Because of constraints (2.2) and (2.3), constraints (2.4) can be equivalently written as
connectivity constraints
X X
xij ≥ 1, S ⊂ V : S 6= ∅. (2.6)
i∈S j∈V \S
Chapter 2 Asymmetric Traveling Salesman Problem 13

Also in this case, one can halve the number of connectivity constraints (2.6) by replac-
ing them with
X X
xij ≥ 1, S ⊂ V : r ∈ S (2.7)
i∈S j∈V \S

or with
X X
xij ≥ 1, S ⊂ V : S 6= ∅, r ∈
/S (2.8)
i∈S j∈V \S

where r ∈ V is any fixed vertex.

A valid lower bound on the ATSP can be obtained by optimally solving the linear
programming (LP) relaxation of the previous models (2.1)-(2.5) or (2.1)-(2.3) plus
constraints (2.5) and (2.7), obtained by replacing constraints (2.5) with constraints

xij ≥ 0, (i, j) ∈ A. (2.9)

Although the considered ILP models require an exponential number of SECs or connec-
tivity constraints, their LP relaxations can be efficiently solved in polynomial time by
using the effective polynomial separation procedure proposed by Padberg and Rinaldi
[1990a] for the STSP.

Additional lower bounds can be obtained by considering the different substructures


of the ATSP, each associated with a subset of constraints defining a well-structured
relaxation.

Constraints (2.2), (2.3) and (2.9), with objective function (2.1), define the well-known
min-sum assignment problem (AP). Such a problem always has an integer optimal so-
lution and requires the finding of a minimum-cost collection of vertex-disjoint subtours
visiting all vertices of graph G. Relaxation AP can be solved in O(n3 ) time (see, e.g.
Lawler [1976], and Carpaneto and Toth [1987] for an efficient implementation).

Constraints (2.2), (2.7) and (2.9), with objective function (2.1), define the well-known
shortest spanning r-arborescence problem (r-SAP). Such a problem always has an inte-
ger optimal solution and corresponds to finding a minimum-cost spanning subdigraph
Ḡ = (V, Ā) of graph G such that (i) the in-degree of each vertex is exactly one, and (ii)
each vertex can be reached from the root vertex r. Relaxation r-SAP can be solved
in O(n2 ) time by finding the shortest spanning arborescence rooted at vertex r (see,
e.g. Edmonds [1967], Tarjan [1977], and Fischetti and Toth [1993] for an efficient
implementation) and adding the minimum-cost arc entering vertex r.

A third substructure, corresponding to constraints (2.3), (2.8) and (2.9), with objec-
tive function (2.1), defines the shortest spanning r-antiarborescence problem (r-SAAP).
Such a problem can easily be transformed into an r-SAP by simply transposing the
input cost matrix, so it can be solved in O(n2 ) time. Different choices of the root vertex
14 Chapter 2 Asymmetric Traveling Salesman Problem

r generally produce different values of the lower bounds corresponding to relaxations r-


SAP and r-SAAP. Moreover, these relaxations can be strengthened by considering the
associated Lagrangean relaxations, obtained by embedding, in a Lagrangean fashion,
the relaxed constraints (2.3) for r-SAP, and (2.2) for r-SAAP, in the objective func-
tion (2.1). Near-optimal Lagrangean multipliers, leading to good lower bounds, can be
obtained by applying the well-known subgradient optimization procedure proposed by
Held and Karp [1970] and Held and Karp [1971] for the STSP.

The lower bounds corresponding to relaxations AP, r-SAP and r-SAAP can also be
improved (see Fischetti and Toth [1992]) by combining the associated substructures
with the additive approach introduced by Fischetti and Toth [1989].

2.3 Review of Polynomial Formulations

In this section, we consider the papers presenting polynomial formulations for the
ATSP. For each paper, we focus on the formulation producing the tightest LP-relaxation
lower bound. Unlike the exact algorithms described in §2.4, the polynomial formula-
tions can be directly solved by a general-purpose ILP solver. Classifications and com-
parisons of the polynomial formulations for the ATSP have been recently presented in
Öncan et al. [2009] and Godinho et al. [2011].

The earliest polynomial formulation (i.e., formulation requiring a number of constraints


polynomial in the number of vertices n) of the ATSP is owed to Miller et al. [1960]
(hereafter MTZ) and is given by (2.1)-(2.3), (2.5) plus the following (n−1)2 constraints
to break subtours

ui − uj + (n − 1)xij ≤ n − 2, i, j = 2, . . . , n, (2.10)

where ui , i = 2, . . . , n, is an arbitrary real number representing the order of vertex i in


the optimal tour. Miller et al. originally proposed their formulation with no bounds
on variables ui . Later on, simple bounds (e.g., 1 ≤ ui ≤ n − 1, i = 2, . . . , n) were
introduced to restrict the range of variables ui . This does not affect the LP bound
of MTZ and, in our computational experiments, has shown to increase the computing
time, so we leave variables ui unrestricted.

Gavish and Graves [1978] proposed another formulation (hereafter GG) having LP re-
laxation stronger than that of MTZ (see Wong [1980] and Padberg and Sung [1991]) but
weaker than that of DFJ (see Gouveia [1995]). Formulation GG is a single-commodity
flow formulation where subtours are broken by introducing n2 − n nonnegative vari-
ables gij , i = 2, . . . , n, j = 1, . . . , n. Formulation GG consists of constraints (2.1)-(2.3),
Chapter 2 Asymmetric Traveling Salesman Problem 15

(2.5) and the following constraints


n
X n
X
gij − gji = 1, i = 2, . . . , n, (2.11)
j=1 j=2

0 ≤ gij ≤ (n − 1)xij , i = 2, . . . , n, j = 1, . . . , n, (2.12)

where variables gij can be interpreted as the number of arcs on the path from vertex
1 to arc (i, j) in the optimal tour (see Gouveia and Pires [1999]).

For fixed values of the variables xij , constraints (2.11) and (2.12) form a network flow
problem, so variables gij take integer values. Langevin et al. [1990] showed that the LP
relaxation of GG is equivalent to that of the two-commodity flow formulation proposed
by Finke et al. [1984] - hereafter FCG.

Fox et al. [1980] proposed three formulations for the time-dependent traveling salesman
problem that are valid for the ATSP, as well. These formulations present n3 binary
variables, rijk , that are equal to 1 if and only if arc (i, j) ∈ A is in position k in
the optimal tour. The first formulation (therein P1) has 4n constraints, whereas the
second formulation (hereafter P1b) has 3n constraints and is obtained from the first
one by dropping a set of n constraints. Thus, the LP relaxation of the first formulation
is stronger than that of the second one; Gouveia and Voß [1995] showed that the LP
relaxations of both formulations are stronger than that of GG. The third formulation
proposed by Fox et al. (therein P2) has n + 1 constraints and is obtained from the first
formulation by surrogating the first 3n constraints. Öncan et al. [2009] showed that the
LP relaxation of the third formulation is weaker than that of the second one, whereas
Padberg and Sung [1991] proved that the LP relaxation of the third formulation is also
weaker than that of DFJ. We have not reported the three formulations because, in our
computational experiments, they proved to be ineffective in solving the ATSP.

The first multi-commodity flow (MCF) formulation was proposed by Wong [1980] (here-
after WONG). WONG considers 2n − 2 commodities and introduces 2n3 − 2n2 non-
negative continuous variables and 4n3 − 2n2 − 2n constraints. This formulation was
later modified by Langevin [1988] and by Loulou [1988] to obtain two additional MCF
formulations which provide LP relaxations equivalent to that of WONG.

Another MCF formulation with only n − 1 commodities was proposed by Claus [1984].
This formulation (hereafter CLAUS) introduces n3 − n2 nonnegative continuous vari-
k , i, j = 1, . . . , n, k = 2, . . . , n, and 2n3 − n2 − n constraints, and consists of
ables wij
16 Chapter 2 Asymmetric Traveling Salesman Problem

constraints (2.1)-(2.3), (2.5) plus the following constraints to break subtours


n
X n
X
k k
wij − wji = 0, i, k = 2, . . . , n : i 6= k,
j=1 j=1
n
X Xn
k k
w1j − wj1 = −1, k = 2, . . . , n,
j=2 j=2
Xn Xn
i i
wij − wji = 1, i = 2, . . . , n,
j=1 j=1
k
0 ≤ wij ≤ xij , i, j = 1, . . . , n, k = 2, . . . , n,

k is equal to 1 if and only if the commodity going from vertex 1 to


where variable wij
vertex k flows on arc (i, j). Langevin et al. [1990] proved that the LP relaxation of
CLAUS is equivalent to that of WONG, whereas Padberg and Sung [1991] proved that
the LP relaxation of CLAUS is equivalent to that of DFJ, as well.

Formulation MTZ was strengthened by Desrochers and Laporte [1990], who proposed
formulation DL having LP relaxation stronger than that of MTZ and obtained from
MTZ by replacing constraints (2.10) with the following n2 − 1 lifted constraints

ui − uj + (n − 1)xij + (n − 3)xji ≤ n − 2, i, j = 2, . . . , n, (2.13)


n
X
− ui + (n − 3)xi1 + xji ≤ −1, i = 2, . . . , n, (2.14)
j=2
n
X
ui + (n − 3)x1i + xij ≤ n − 1, i = 2, . . . , n. (2.15)
j=2

Gouveia and Pires [1999] presented four formulations (therein called RMTZ, L1RMTZ,
L2RMTZ, and L3RMTZ). The LP relaxations of all of these formulations are stronger
than that of MTZ. Here, we present formulation L3RMTZ (hereafter GP), whose LP
relaxation is stronger than those of L1RMTZ and L2RMTZ, which in turn are stronger
than that of RMTZ. Gouveia and Pires [1999] also showed that the LP relaxations of
formulations L1RMTZ and L2MTZ are weaker than those of MCF formulations, such
as WONG and CLAUS. Formulation GP introduces (n − 1)2 additional nonnegative
continuous variables vij , i, j = 2, . . . , n, that are equal to 1 if and only if vertex i is in
the path from vertex 1 to vertex j. Formulation GP consists of constraints (2.1)-(2.3),
(2.5) plus the following 2n3 − 10n2 + 18n − 10 constraints to break subtours

xij − vij ≤ 0, i, j = 2, . . . , n,
xij + vji ≤ 1, i, j = 2, . . . , n,
xji + xij + vki − vkj ≤ 1, i, j, k = 2, . . . , n : i 6= j 6= k,
xkj + xik + xij + vki − vkj ≤ 1, i, j, k = 2, . . . , n : i 6= j 6= k.
Chapter 2 Asymmetric Traveling Salesman Problem 17

Gouveia and Pires [2001] presented other formulations, among them a polynomial
formulation (therein MCF+) whose LP relaxation is stronger than those of CLAUS
and GP. As the LP relaxation of MCF+ is weaker than that of formulation SST (which
will be introduced later in this section), as shown by Öncan et al. [2009], and MCF+
has more constraints than SST, we do not report a detailed description of MCF+.

Sherali and Driscoll [2002] strengthened formulation DL by applying a reformulation-


linearization technique and by introducing (n − 1)2 additional nonnegative continuous
variables yij , i, j = 2, . . . , n, where variable yij represents the order of arc (i, j) in
the optimal tour. The resulting formulation (hereafter SD) replaces constraints (2.13),
(2.14) and (2.15) with the following 4n2 − 4n constraints
n
X
yij + (n − 1)xi1 − ui = 0, i = 2, . . . , n,
j=2
Xn
yij − uj = −1, j = 2, . . . , n,
i=2

xij − yij ≤ 0, i, j = 2, . . . , n,
yij − (n − 2)xij ≤ 0, i, j = 2, . . . , n,
uj + (n − 2)xij + (n − 1)xji − yij − yji ≤ n − 1, i, j = 2, . . . , n,
yij + yji − uj − xji ≤ −1, i, j = 2, . . . , n,
− x1j + (n − 3)xj1 − uj ≤ −2, j = 2, . . . , n,
(n − 3)x1j − xj1 + uj ≤ n − 2, j = 2, . . . , n.

Recently, Öncan et al. [2009] showed that the LP relaxation of SD is also stronger than
that of GG.

Sarin et al. [2005] studied the asymmetric traveling salesman problem with and without
precedence constraints and proposed five polynomial formulations (therein ATSPxy,
L1ATSPxy, SL1ATSPxy, L2ATSPxy and ML1ATSPxy) for the ATSP, whose LP relax-
ations are stronger than that of RMTZ. Moreover, Sarin et al. [2005] showed that the
LP relaxation of L1ATSPxy is stronger than that of SL1ATSPxy whose LP relaxation
is stronger than that of ATSPxy; the LP relaxations of L1ATSPxy and L2ATSPxy
are also stronger than those of formulations L1RMTZ and L2RMTZ by Gouveia and
Pires [1999], respectively. Here we report formulation L2ATSPxy (hereafter SSB) only,
which, in our computational experiments, was shown to be the best performer. For-
mulation SSB introduces (n − 1)2 nonnegative continuous variables dij , i, j = 2, . . . , n,
and n3 − n2 − n + 1 constraints, and consists of constraints (2.1)-(2.3), (2.5) and the
18 Chapter 2 Asymmetric Traveling Salesman Problem

following constraints to break subtours

dij − xij ≥ 0, i, j = 2, . . . , n, (2.16)


dij + dji = 1, i, j = 2, . . . , n : i 6= j, (2.17)
x1j + xj1 ≤ 1, j = 2, . . . , n, (2.18)
xij + djk + xkj + dki + xik ≤ 2, i, j, k = 2, . . . , n. (2.19)

Although variable dij , i, j = 2, . . . , n, is continuous, it has a binary connotation and


is equal to 1 if and only if vertex i precedes (not necessarily immediately) vertex j
in the optimal tour. Godinho et al. [2011] noticed that the meaning of variables dij
is basically the same of variables vij introduced in formulation GP. An analysis of all
the formulations involving variables xij and vij (or dij ) can be found in Gouveia and
Pesneau [2006].

Sherali et al. [2006] proposed several polynomial formulations. Here, we present formu-
lation SST (therein ATSP6) only, which uses (n − 1)3 nonnegative continuous variables
tkij , i, j, k = 2, . . . , n, and consists of (2.1)-(2.3), (2.5), (2.17) and the following con-
straints

dij + xji + djk + dki ≤ 2, i, j, k = 2, . . . , n,


dij − x1i ≥ 0, i, j = 2, . . . , n,
dji − xi1 ≥ 0, i, j = 2, . . . , n,
0≤ tkij ≤ xik , i, j, k = 2, . . . , n : i 6= j 6= k,
n
X
xij + tkij = dij , i, j = 2, . . . , n,
k=2; k6=j
Xn
x1k + tkij = dkj , k, j = 2, . . . , n,
i=2; i6=j

where tkij is equal to 1 if and only if, in the optimal tour, arc (i, k) is used and vertex k
precedes vertex j. Godinho et al. [2011] pointed out that variables tkij can be interpreted
in the same way as the flow variables wij k used in formulation CLAUS. Öncan et al.

[2009] showed that the LP relaxation of SST is stronger than those of MCF+, whereas
Sherali et al. [2006] proved that the LP relaxation of SST is stronger than that of
L1ATSPxy.

In Figure 2.1, we summarize the relationships among the linear relaxations of the
polynomial formulations reviewed in this section. A link going from formulation A to
formulation B means that the LP relaxation of B is stronger than that of A, whereas
a dashed line connecting two formulations means that the relative LP relaxations are
equivalent.
Chapter 2 Asymmetric Traveling Salesman Problem 19

A B B is stronger than A
A B A and B are equivalent SST

P1 Langevin Loulou MCF+ L2ATSPxy L1ATSPxy

P1b DFJ WONG CLAUS GP SL1ATSPxy

P2 SD L2RMTZ L1RMTZ ATSPxy

FCG GG DL RMTZ

MTZ

Figure 2.1: Relations among the linear relaxations of the polynomial formulations
and of formulation DFJ

2.4 Exact Algorithms

Many branch-and-bound algorithms have been proposed to find the optimal solution
of the ATSP. After the seminal paper by Little et al. [1963], where for the first time the
term “branch-and-bound” was coined, other algorithms were proposed by Bellmore and
Malone [1971], Garfinkel [1973], Smith et al. [1977], Carpaneto and Toth [1980], Balas
and Christofides [1981], Miller and Pekny [1989], Pekny and Miller [1992], Fischetti
and Toth [1992], Carpaneto et al. [1995]. In the following, two of the most effective
branch-and-bound algorithms for the ATSP (i.e., those proposed by Carpaneto et al.
[1995] and Fischetti and Toth [1992]), are briefly reviewed. The algorithm proposed by
Pekny and Miller [1992] exhibits, on the whole, a performance comparable with that
of the approach described in Carpaneto et al..

The algorithm proposed by Carpaneto et al. [1995] is a lowest-first branch-and-bound


method based on the AP relaxation and the subtour elimination branching scheme. At
the root node of the decision tree, the AP relaxation of the original problem is solved,
the patching heuristic algorithm proposed by Karp [1979] is applied to determine an
initial tour of cost z ∗ , and a reduction procedure based on the AP reduced costs, c0ij ,
is executed to transform the original complete graph into a sparse one (by setting
xij = 0 if V (AP ) + c0ij ≥ z ∗ , where V (AP ) is the value of the optimal solution of the
AP relaxation). At each of the other nodes of the decision tree, the AP relaxation
of the subproblem associated with the considered node is solved, through an effective
parametric technique, in O(n2 ) time. If V (AP ) ≥ z ∗ , the node is fathomed. Otherwise,
if the AP solution contains no subtour (i.e., a feasible solution has been found) the
best solution thus far is updated, z ∗ is set equal to V (AP ), and the node is fathomed.
If neither of the two previous cases occur, the subtour elimination branching scheme
20 Chapter 2 Asymmetric Traveling Salesman Problem

proposed by Carpaneto and Toth [1980] is applied: the subtour S of the AP solution
having the minimum number, say h, of not “imposed” arcs is selected, and h descending
nodes are generated so as to forbid, by “imposing” and “excluding” proper arc subsets,
subtour S for each descending node.

The algorithm proposed by Fischetti and Toth [1992] is a lowest-first branch-and-bound


method based on the branching scheme introduced by Carpaneto and Toth [1980], and,
at each node of the decision tree, computes the corresponding lower bound by applying
the additive approach combining the AP, r-SAP, and r-SAAP relaxations.

More recently, two effective branch-and-cut algorithms for the ATSP have been pro-
posed by Fischetti and Toth [1997] and Fischetti et al. [2003].

The algorithm proposed by Fischetti and Toth [1997] is based on the DFJ model
(2.1)-(2.5) and exploits additional classes of facet-inducing inequalities for the ATSP
polytope that proved to be of crucial importance for the solution of some real-world
instances.

An ATSP inequality αx ≤ α0 is called symmetric when αij = αji for each arc (i, j) ∈ A.
Symmetric inequalities can be thought of as derived from valid inequalities for the STSP
defined on the complete undirected graph G0 = (V, E). Indeed, let ye be equal to 1 if
edge e ∈ E belongs to the optimal STSP solution, ye = 0 otherwise. Every inequality
P
e∈E αe ye ≤ α0 valid for the STSP can be transformed into a valid ATSP inequality
by simply replacing ye with xij + xji for all edges e = {i, j} ∈ E. This produces the
symmetric inequality αx ≤ α0 , where αij = αji = α(i,j) for all couples of vertices
i, j ∈ V , i 6= j. Conversely, every symmetric ATSP inequality αx ≤ α0 corresponds to
P
the valid STSP inequality {i,j}∈E αij y(i,j) ≤ α0 . The above correspondence implies
that every separation algorithm for the STSP can be used, as a “black box”, for
the ATSP, as well. Several exact/heuristic separation algorithms for the STSP have
been proposed in recent years, all of which can be used for the ATSP. Only two such
separation tools are used in Fischetti and Toth [1997], namely (i) the Padberg and
Rinaldi [1990a] exact algorithm for SECs; and (ii) the simplest heuristic scheme for
2-matching constraints, i.e., for combs with 2-node teeth, where each component H of
the graph induced by the edges e ∈ E with fractional ye∗ is heuristically considered,
in turn, as the handle of the comb. Having fixed H, the most violated 2-matching
constraint with handle H is easily found by sorting the edges having one extreme node
in H and the other extreme node in V \ H by non increasing ye∗ , and by taking the
first k such edges to act as teeth, for k = 1, 3, 5, . . .

In addition, Fischetti and Toth [1997] considered the Dk+ and Dk− inequalities proposed
by Grötschel and Padberg [1985] and the odd close alternative trail (odd CAT) in-
equalities proposed by Balas [1989] (and analyzed by Fischetti [1991]). The separation
problem for the classes of the Dk+ and Dk− inequalities is a combinatorial optimization
problem that can be effectively solved in practice by an implicit enumeration scheme
Chapter 2 Asymmetric Traveling Salesman Problem 21

enhanced by suitable pruning conditions (see Fischetti and Toth [1997]). As for the
detection of violated odd CAT inequalities, Balas [1989] showed that these inequalities
correspond to odd cycles in an auxiliary undirected “incompatibility” graph. An ef-
fective heuristic separation algorithm, based on the computation of a minimum-weight
odd cycle going through a given edge, was proposed by Fischetti and Toth [1997]. In
addition, clique lifting (see Fischetti and Balas [1993]) and shrinking (see Padberg and
Rinaldi [1990b]) procedures are applied to simplify the considered separation problems.
A detailed analysis of the polyhedral structure of the ATSP can be found in Balas and
Toth [1985].

Pricing is an important ingredient of branch-and-cut codes because it allows one to


effectively handle LP relaxations involving a huge number of variables. In order to
keep the size of the LP relaxation as small as possible, the following pricing scheme
is commonly used. We determine a (small) core set of arcs, say Ã, and decide to
temporarily fix xij = 0 for each arc (i, j) ∈ A \ Ã. We then solve the corresponding
restricted LP problem, compute the associated LP reduced costs c̄ij and check whether
c̄ij ≥ 0 for all (i, j) ∈ A \ Ã. If this is the case, then the LP relaxation has been solved
to optimality. Otherwise, the current core set à is enlarged by adding (some of) the
arcs with negative reduced cost, and the whole procedure is iterated.

Fischetti and Toth [1997] proposed an improved pricing technique, called AP pricing,
in which the pricing condition is strengthened by exploiting the fact that any feasible
solution of the current LP relaxation cannot arbitrarily select the arcs of negative
reduced cost because the degree equations - among other constraints - must be fulfilled.

The exact algorithm proposed by Fischetti and Toth [1997] is a lowest-first branch-
and-cut method. At each node of the branching tree, the LP relaxation is initialized
by taking all of the constraints of the last LP solved at the father node (for the root
node, only the degree equations are taken). As for the variables, one retrieves, from a
scratch file, the optimal basis associated with the last LP solved at the father node and
initializes the core variable set, Ã, by taking the arcs belonging to this basis (for the
root node, Ã contains the 2n−1 variables in the optimal AP basis found by solving AP
on the original costs cij ). In addition, Ã contains all the arcs of the best known ATSP
solution. Starting with the above advanced basis, one iteratively solves the current LP
relaxation, applies the AP pricing procedure and repeats if needed.

On exit of the pricing loop, the separation algorithms are applied to find, if any, ATSP
inequalities that cut off the current LP optimal solution x∗ . When violated cuts are
found, one adds them to the current LP relaxation and repeats.

When separation fails and x∗ is integer, the current best ATSP solution is updated,
and a backtracking step occurs. If x∗ is fractional, the current LP basis is saved in a
file, and one branches on the variable xij with 0 < x∗ij < 1 that maximizes the score
σ(i, j) = cij min{x∗ij , 1 − x∗ij }. As a heuristic rule, a large priority is given to the
22 Chapter 2 Asymmetric Traveling Salesman Problem

variables with 0.4 ≤ x∗ij ≤ 0.6 (if any) so as to produce a significant change in both
descending nodes.

This branching scheme has been enhanced by Fischetti et al. [2003] through the frac-
tional persistency mechanism proposed by Fischetti et al. [2001] for the solution of
crew scheduling and vehicle scheduling problems. The corresponding branch-and-cut
algorithm will be denoted as FLT in §2.6.

2.5 Transformation of ATSP Instances into STSP Instances

Any code for the ATSP can be invoked to solve STSP instances. In fact, the reverse
also stands by means of the following two transformations.

• The 3-node transformation proposed by Karp [1972]. A complete undirected


graph with 3n vertices is obtained from the original complete directed one by
adding two copies, n + i and 2n + i, of each vertex i ∈ V , and by (i) setting to 0
the cost of edges {i, n + i} and {n + i, 2n + i} for each vertex i ∈ V , (ii) setting
the cost of edge {2n + i, j} to cij , for each couple of vertices i, j ∈ V , and (iii)
setting to +∞ the costs of all remaining edges;

• The 2-node transformation proposed by Jonker and Volgenant [1983] (see also
Jünger et al. [1995]). A complete undirected graph with 2n vertices is obtained
from the original complete directed one by adding a copy, n + i, of each vertex
i ∈ V , and by (i) setting to 0 the cost of the edge {i, n + i} for each vertex
i ∈ V , (ii) setting the cost of edge {n + i, j} to cij + M , for each couple of
vertices i, j ∈ V , where M is a sufficiently large positive value, and (iii) setting
to +∞ the costs of all the remaining edges. The transformation value nM must
be subtracted from the STSP optimal cost.

The most effective branch-and-cut algorithm for the STSP is currently the one by
Applegate et al. [2007], and the corresponding code (Concorde by Applegate et al.
[1999]), is publicly available. In Fischetti et al. [2004], this code was used to test
the effectiveness of the approach based on the ATSP-to-STSP transformation. The
code has been used with default parameters. The results have shown that the 2-node
transformation is, in general, more effective than the 3-node one.

2.6 Computational Results

As a testbed for our computational experiments, we took the 27 ATSP instances col-
lected in the TSPLIB by Reinelt [1991] and 5 real-world instances provided by Balas
[2000]. All instances have integer nonnegative costs.
Chapter 2 Asymmetric Traveling Salesman Problem 23

Table 2.1: Computing times for solving the LP relaxations of 8 polynomial formu-
lations by using the primal, dual or barrier method

P rimal Dual Barrier

F ormulation Solved TLP Solved TLP Solved TLP

MTZ 10 0.16 10 0.03 10 16.30


GG 10 0.25 10 0.56 10 0.14
CLAUS 3 1,018.11 10 353.84 10 95.05
DL 10 0.30 10 0.05 10 17.23
GP 10 48.01 10 3.48 10 232.78
SD 10 7.45 10 5.10 10 0.75
SSB 9 360.49 10 6.68 10 103.59
SST 0 1,200.00 1 1,128.43 3 1,004.75

Tables 2.1 and 2.2 report on the computational performance of eight polynomial for-
mulations (namely, MTZ, GG, CLAUS, DL, GP, SD, SSB, and SST) for the ATSP,
described in §2.3, on 10 small-size instances from the TSPLIB (namely, instances ftv33,
ftv35, ftv38, ftv44, ftv47, ftv55, ftv64, ftv70, ft70, and ft53), which is the set of in-
stances used in the computational study of Öncan et al. [2009]. The computational
results reported in Tables 2.1 and 2.2 were obtained on an Intel Core2 [email protected] GHz
by running CPLEX11.2 as LP and ILP solver. All computing times reported in the
tables are expressed in seconds.

In Table 2.1, we compare, on the ten considered instances, the performance of the eight
polynomial formulations for computing the corresponding LP relaxations by using three
different LP methods (namely Primal, Dual and Barrier). For each method and each
formulation, Table 2.1 reports the number of LP-bounds computed within the time
limit of 1, 200 seconds (column Solved) and the average computing time (column TLP ).
In the computation of the average computing time, we considered a computing time
of 1, 200 seconds whenever the LP relaxation of an instance could not be computed
within the time limit or the instance could not be run due to exceeded memory limits
for CPLEX.

Table 2.1 shows that, for a given formulation, the computing time may significantly
vary by using different LP methods. The dual method turned out to be the best
performing method when solving MTZ, DL, GP, and SSB, whereas the barrier method
was the best performing one when solving GG, CLAUS, SD, and SST. All formulations
but SST could solve the LP relaxation of all 10 instances within the time limit imposed.

Table 2.2 reports, for each of the eight formulations and each of the ten instances,
the percentage gap (computed with respect to the optimal solution value) left after
solving the LP relaxation (column LP ), the percentage gap left at the root note of
the search tree of CPLEX (column Rt), and the computing times for solving the LP
relaxation (column TLP ), the root node (column TRt ), and the ILP formulation itself
(column TILP ). For each formulation, we used the LP-method that turned out to be
24 Chapter 2 Asymmetric Traveling Salesman Problem

the best one in the experiments summarized in Table 2.1. The time limit for solving
the ILP formulation was set equal to 1, 800 seconds. In the rows labeled “Avg”,
Table 2.2 reports average values and, in parenthesis, the number of instances solved to
optimality within the time limit. In the computation of the average computing times,
we considered a computing time equal to 1, 200 or 1, 800 seconds whenever the LP
model or the ILP model, respectively, could not be solved within the time limit. For
formulation SST the averages refer to the first three instances since the remaining ones
could not be run due to exceeded memory limits for CPLEX.

As to the LP-bounds, Table 2.2 shows that SST obtains tight lower bounds but re-
quires larger computing times than the other formulations. Moreover, SST was able to
provide the lower bounds, within the time limit, on only 3 of the 10 instances consid-
ered. Among the other formulations, the one that provides the tightest LP-bounds is
CLAUS, followed by SSB and GP. The other four formulations (i.e., MTZ, GG, DL and
SD) obtain, on average, worse LP-bounds than the previous ones but within shorter
computing times (less than a second on average). GG was the only formulation able
to solve, to optimality, all of the 10 instances within the time limit imposed, whereas
MTZ, DL and SD could solve, to optimality, all but one of the instances. By consid-
ering the results reported in Table 2.2, we can conclude that, for what concerns the
overall computing time, the most effective formulations are MTZ, GG and DL.

The results reported in Table 2.2 show that formulations MTZ, GG, and DL are the
best formulations to be directly used within CPLEX. This is probably due to two
main reasons: (i) the limited number of constraints required to break subtours allows
CPLEX to compute the LP-bounds effectively, and (ii) the large variety of cuts embed-
ded in CPLEX lead to root lower bounds competitive with those that can be obtained
with other formulations having stronger LP-bounds but within much shorter comput-
ing times. We stress that the computational analysis reported in Table 2.2 is aimed
at comparing the suitability of each formulation to be directly solved with CPLEX.
Therefore, any conclusion that can be drawn from the results reported in Table 2.2
cannot consider the fitness of each polynomial formulation as the starting point for
more complicated exact algorithms for solving the ATSP. We also stress that, for each
class of formulations, we report only the results obtained by the formulation providing,
on average, the tightest LP-bounds because the other formulations (i.e., those appear-
ing in Figure 2.1 but neglected in this section) were computationally outperformed by
at least one of the eight formulations considered in this study.

In Table 2.3, we compare, of the 27 ATSP instances from TSPLIB and the 5 in-
stances provided by Balas, the performance of (a) the branch-and-bound algorithm by
Carpaneto et al. [1995] (hereafter CDT) described in §2.4, (b) the branch-and-bound
algorithm based on the additive bounding procedure by Fischetti and Toth [1992]
(hereafter FT) described in §2.4, (c) the branch-and-cut algorithm by Fischetti et al.
[2003] (hereafter FLT) described in §2.4, (d) the branch-and-cut algorithm (hereafter
Chapter 2 Asymmetric Traveling Salesman Problem 25

Concorde) solving the STSP instances obtained from the transformation described in
§2.5, and (e) the polynomial formulations MTZ, GG and DL (see §2.3). For each in-
stance and each algorithm, we report the percentage gap of the corresponding lower
bound, or the value of the LP relaxation of the considered formulation, computed at
the root node of the decision tree (column LB) and the computing time for solving the
instance to optimality (column T ). The rows labeled “Avg” report average values and,
in parenthesis, the number of instances solved to optimality within the corresponding
time limit.

Different time limits were imposed on the algorithms: 1, 000 seconds for CDT and FT,
10, 000 seconds for FLT and Concorde, 1, 800 seconds for MTZ, GG and DL. For this
reason, in the computation of the average computing time, only the instances solved to
optimality within the imposed time limit are considered. The rows labeled “Avg 1,000
sec” report the average computing time and, in parenthesis, the number of instances
solved to optimality within the time limit of 1,000 seconds (a computing time equal to
1,000 seconds is considered when this time limit is reached).

The computational results reported for CDT, FT, FLT and Concorde are taken from
Fischetti et al. [2004] and were obtained on a Digital Alpha 533 MHz with CPLEX6.5.3
as LP solver, whereas the computational results relative to formulations MTZ, GG and
DL were obtained on an Intel Core2 [email protected] GHz by running CPLEX11.2. We have
experimentally found that the latter machine is approximately 10-12 times faster than
that used by Fischetti et al.; therefore, the computing times reported for MTZ, GG
and DL were multiplied by 10 in order to have a fair comparison.

Table 2.3 shows that FLT and Concorde were the only two exact methods able to solve,
within the imposed time limit, all of the 32 instances to optimality and are clearly better
performing than the other 5 exact methods considered. Although, on the considered
instances, Concorde generally obtains better lower bounds at the root node, FLT is
always faster. Formulations MTZ, GG and DL proved not to be competitive with
either FLT or Concorde because they solved only 20, 11 and 19 instances, respectively,
and, on the solved instances, their computing times are always much longer. As for the
branch-and-bound algorithms CDT and FT, for which a time limit of 1,000 seconds was
imposed, it can be noted that they dominate, with regards to the instances solved to
optimality within this time limit and the computing times, the polynomial formulations
MTZ, GG and DL. By considering the values of the lower bounds at the root node,
Table 2.3 shows that: (i) the lower bound of CDT (given by the value of the AP
relaxation) is only slightly worse than that of MTZ (i.e., the addition of constraints
(2.10) to the AP relaxation only marginally improves the corresponding LP relaxation);
(ii) the lower bound of FT (corresponding to the additive bounding procedure) is always
better that those of MTZ and GG, and globally better than that of DL.
26
Table 2.2: Performance of 8 polynomial formulations on 10 ATSP instances from the TSPLIB

MT Z GG CLAU S DL

Inst LP TLP Rt TRt TILP LP TLP Rt TRt TILP LP TLP Rt TRt TILP LP TLP Rt TRt TILP

ftv33 7.64 0.02 2.77 0.22 4.91 7.03 0.06 0.78 0.83 5.51 0.00 7.20 0.00 9.44 14.88 5.35 0.03 4.58 0.11 3.40
ftv35 6.12 0.02 4.15 0.09 6.27 5.59 0.06 0.63 3.51 11.93 1.06 9.17 1.00 19.02 79.36 4.04 0.05 3.58 0.16 5.23
ftv38 5.87 0.02 2.91 0.14 9.02 5.44 0.08 0.80 2.29 21.46 1.02 12.50 0.96 31.01 74.88 3.45 0.03 3.14 0.17 5.71
ftv44 5.55 0.02 2.68 0.14 16.40 5.18 0.10 1.74 2.47 18.02 1.74 23.71 1.27 77.38 tl 2.43 0.03 2.10 0.20 3.17
ftv47 6.77 0.02 2.39 0.28 36.04 6.54 0.11 1.84 1.83 58.27 1.54 37.43 1.52 256.06 tl 2.83 0.06 2.08 0.23 12.00
ftv55 10.55 0.03 3.89 0.27 43.74 10.31 0.16 4.97 1.19 91.16 1.49 87.38 1.43 324.61 tl 6.05 0.06 3.89 0.39 19.48
ftv64 6.31 0.05 4.21 0.28 114.50 5.84 0.22 4.00 1.98 322.56 1.71 182.06 1.63 1,368.27 tl 4.24 0.06 4.03 0.67 32.53
ftv70 9.26 0.05 3.94 0.59 168.70 8.75 0.27 7.06 2.51 1,125.57 2.10 285.50 1.99 tl tl 4.69 0.06 4.05 0.87 52.40

Chapter 2 Asymmetric Traveling Salesman Problem


ft70 1.77 0.06 1.16 0.64 tl 1.10 0.25 0.85 3.74 326.07 0.05 237.47 0.04 1,500.99 tl 0.88 0.08 0.64 0.89 65.22
ft53 14.04 0.05 10.88 0.44 312.38 12.45 0.14 0.00 3.65 37.95 0.00 68.13 0.00 255.02 265.67 12.93 0.05 10.97 0.38 tl

Avg 7.39 0.03 3.90 0.31 251.20 6.82 0.14 2.27 2.40 201.85 1.07 95.05 0.98 564.18 1,123.48 4.69 0.05 3.91 0.41 199.91
(9) (10) (4) (9)
GP SD SSB SST

Inst LP TLP Rt TRt TILP LP TLP Rt TRt TILP LP TLP Rt TRt TILP LP TLP Rt TRt TILP

ftv33 0.00 0.85 0.00 1.97 8.21 4.78 0.25 4.53 0.61 26.91 0.00 0.41 0.00 0.71 0.77 0.00 277.58 0.00 496.90 496.90
ftv35 1.29 0.85 1.29 3.32 914.01 3.90 0.28 3.35 0.70 49.75 1.09 0.46 1.02 2.64 14.88 0.65 632.53 0.65 tl tl
ftv38 1.24 1.32 1.24 5.38 tl 3.26 0.39 3.15 1.22 81.67 1.05 0.65 0.98 2.48 31.50 0.64 737.40 0.64 tl tl
ftv44 1.84 1.58 1.26 8.24 tl 2.43 0.44 2.03 0.97 97.31 1.74 0.88 0.92 21.36 91.24 - - - - -
ftv47 1.86 1.63 1.53 6.27 tl 2.75 0.72 2.71 1.51 109.82 1.86 2.52 1.54 32.08 1,247.54 - - - - -
ftv55 2.33 3.85 1.12 83.12 tl 5.89 0.53 5.62 4.18 1,105.22 2.33 2.80 1.41 261.42 999.26 - - - - -
ftv64 3.30 6.64 2.99 189.60 tl 4.00 0.84 3.68 4.79 309.85 2.88 14.92 2.70 691.29 tl - - - - -
ftv70 3.73 8.11 3.37 53.06 tl 4.64 2.22 4.45 6.99 525.08 3.12 27.54 2.63 476.80 tl - - - - -
ft70 1.15 7.24 1.09 44.94 tl 0.80 1.36 0.74 7.46 236.81 0.55 14.66 0.48 38.21 tl - - - - -
ft53 10.69 2.75 9.33 16.73 tl 11.39 0.48 11.26 1.47 tl 10.63 1.94 9.22 8.18 tl - - - - -

Avg 2.74 3.48 2.32 41.26 1,532.22 4.38 0.75 4.15 2.99 434.24 2.53 6.68 2.09 153.51 958.52 0.43 549.17 0.43 1,365.63 1,365.63
(2) (9) (6) (1)
Chapter 2 Asymmetric Traveling Salesman Problem
Table 2.3: Comparison between branch-and-bound algorithms, branch-and-cut algorithms and polynomial formulations

CDT FT F LT Concorde MT Z GG DL
Inst LB T LB T LB T LB T LB T LB T LB T
br17 100.00 3.6 0.00 0.0 0.00 0.0 0.00 0.2 94.23 10.9 68.91 8.2 43.59 34.6
ft53 14.11 tl 1.56 0.2 0.00 0.1 0.00 0.6 14.04 3,123.8 12.45 379.5 12.93 tl
ft70 1.80 0.4 0.57 0.3 0.02 0.2 0.01 3.2 1.77 tl 1.10 3,260.7 0.88 652.2
ftv33 7.85 0.0 3.73 0.1 0.00 0.0 0.00 0.3 7.64 49.1 7.03 55.1 5.35 34.0
ftv35 6.25 0.0 3.53 0.2 0.88 0.4 0.68 9.0 6.12 62.7 5.59 119.3 4.04 52.3
ftv38 6.01 0.0 3.01 0.3 0.85 0.6 0.52 14.5 5.87 90.2 5.44 214.6 3.45 57.1
ftv44 5.70 0.0 4.46 0.1 0.37 0.5 0.12 9.1 5.55 164.0 5.18 180.2 2.43 31.7
ftv47 6.98 0.1 3.49 0.4 1.01 0.5 0.62 23.4 6.77 360.4 6.54 582.7 2.83 120.0
ftv55 10.76 1.1 6.59 1.5 0.81 1.4 0.44 9.0 10.55 437.4 10.31 911.6 6.05 194.8
ftv64 6.42 0.8 4.89 1.3 1.36 2.6 0.33 20.8 6.31 1,145.0 5.84 3,225.6 4.24 325.3
ftv70 9.44 3.3 6.92 3.7 0.92 1.1 0.26 17.8 9.26 1,687.0 8.75 11,255.7 4.69 524.0
ftv90 6.33 0.7 3.17 2.5 0.25 0.5 0.06 14.7 6.24 340.4 6.21 tl 1.72 498.1
ftv100 6.60 16.6 3.91 29.6 0.39 2.2 0.00 12.6 6.53 1,083.1 6.49 tl 3.11 1,237.5
ftv110 5.87 5.0 4.49 38.4 0.77 7.4 0.05 25.6 5.81 5,964.9 5.71 tl 2.41 tl
ftv120 6.51 50.1 5.77 99.4 0.97 13.1 0.28 54.4 6.44 8,755.0 6.32 tl 2.18 tl
ftv130 4.46 6.4 3.77 16.6 0.35 1.6 0.00 16.6 4.42 1,938.2 4.34 tl 1.31 600.7
ftv140 4.92 13.9 4.26 38.8 0.25 2.1 0.00 25.6 4.87 1,127.6 4.85 tl 1.41 287.3
ftv150 3.91 3.1 3.03 17.0 0.27 2.6 0.00 27.0 3.87 920.6 3.86 tl 1.31 402.7
ftv160 4.58 93.8 4.03 316.2 0.67 3.8 0.30 55.7 4.55 12,731.4 4.54 tl 2.35 6,000.6
ftv170 4.50 tl 4.14 tl 0.87 4.1 0.40 41.9 4.48 tl 4.47 tl 2.05 tl
kro124p 6.22 tl 2.73 135.7 0.04 1.0 0.00 9.9 6.13 2,296.6 5.47 tl 3.46 2,316.8
p43 97.37 tl 0.37 tl 0.16 9.3 0.16 22.7 97.34 tl 85.23 tl 96.16 tl
rbg323 0.00 0.1 0.00 0.3 0.00 0.4 0.00 23.9 0.00 tl 0.00 tl 0.00 8,481.1
rbg358 0.00 0.1 0.00 0.5 0.00 0.5 0.00 29.3 0.00 tl 0.00 tl 0.00 tl
rbg403 0.00 0.1 0.00 1.0 0.00 1.3 0.00 49.3 0.00 tl 0.00 tl 0.00 tl
rbg443 0.00 0.1 0.00 1.2 0.00 1.4 0.00 34.5 0.00 tl 0.00 tl 0.00 tl
ry48p 13.21 tl 2.94 20.3 0.53 0.8 0.35 22.9 12.88 1,316.0 11.17 tl 4.25 3,417.3
balas84 14.07 tl 5.53 986.6 1.01 15.7 1.01 78.0 13.98 tl 12.34 tl 9.67 tl
balas108 25.00 tl 9.87 tl 1.97 89.0 2.63 1,416.0 24.80 tl 18.14 tl 19.50 tl
balas120 21.68 tl 13.29 tl 1.05 1,276.3 1.05 7,186.9 21.43 tl 18.58 tl 16.86 tl
balas160 19.40 tl 11.34 tl 1.26 671.1 1.26 7,848.0 19.18 tl 16.16 tl 18.83 tl
balas200 15.63 tl 8.68 tl 1.24 1,712.8 0.74 2,294.2 15.55 tl 12.86 tl 15.31 tl
Avg 13.61 9.06 4.06 65.85 0.57 119.51 0.35 606.18 13.33 2,180.21 11.37 1,835.75 9.14 1,329.90
(22) (26) (32) (32) (20) (11) (19)
Avg - 318.7 - 241.0 - 88.6 - 145.4 - 794.9 - 826.6 - 681.7
1, 000 sec (22) (26) (30) (28) (9) (8) (14)

27
Chapter 3

Traveling Salesman Problem


with Time Windows

The traveling salesman problem with time windows (TSPTW) is the problem of finding,
in a weighted digraph, a least-cost tour starting from a selected vertex, visiting each
vertex of the graph exactly once within a given time window, and returning to the
starting vertex. This chapter introduces new tour relaxations to compute valid lower
bounds on the TSPTW. The optimal integer TSPTW solution is computed with a
dynamic programming algorithm that uses bounding functions based on the different
tour relaxations and the dual solutions obtained. An extensive computational analysis
on basically all TSPTW instances (involving up to 233 vertices) from the literature is
reported. The results show that the proposed algorithm solves all but one instances
and outperforms all exact methods published in the literature so far.

3.1 Introduction

The traveling salesman problem with time windows (TSPTW) is defined on a digraph
G = (V 0 , A), where V 0 is the vertex set and A is the arc set. The vertex set V 0 is
equal to V ∪ {p, q}, where the set V contains n vertices 1, 2, . . . , n, and vertices p
and q are two special vertices. We indicate with Γi ⊆ V 0 the set of successors (i.e.,
Γi = {j ∈ V 0 : (i, j) ∈ A}) and with Γ−1 0 −1
i ⊆ V the set of predecessors (i.e., Γi = {j ∈
V 0 : (j, i) ∈ A}) of vertex i ∈ V 0 in graph G. We assume that Γ−1 p = Γq = ∅ and
(p, q) ∈
/ A.

A time window [ei , li ] is associated with each vertex i ∈ V 0 , where ei and li represent
the earliest and latest time to visit vertex i, respectively. A travel cost dij and a travel
1
This chapter is based on Baldacci et al. [2011b]

29
30 Chapter 3 Traveling Salesman Problem with Time Windows

time tij are associated with each arc (i, j) ∈ A; the travel time tij includes the service
time at vertex i. Travel times tij and time windows [ei , li ] are assumed integer values.

A salesman tour is a path in G that starts from vertex p at time ep , visits each vertex
i ∈ V within its time window, and ends at vertex q before time lq . The salesman is
allowed to arrive at a vertex i ∈ V before time ei , but, in this case, the service of vertex
i is postponed until time ei . Hereafter, we assume that graph G contains at least one
salesman tour. The cost of a salesman tour is the sum of the travel costs of the arcs
traversed. The TSPTW consists of finding a minimum-cost salesman tour.

The problem is N P-hard because it generalizes the classical traveling salesman problem
(TSP). Even finding a feasible solution is N P-complete (see Savelsbergh [1985]).

The TSPTW has many practical applications, such as in single and multiple vehicle
problems, control of stacker cranes in warehouses, bank deliveries, and postal deliveries.

3.2 Literature Review

The first exact algorithms are due to Christofides et al. [1981a] and Baker [1983]. They
proposed branch-and-bound methods to solve a variant of the problem where the to-
tal schedule time must be minimized. The algorithm of Christofides et al. [1981a]
was based on the technique introduced by Christofides et al. [1981c] called state-space
relaxation (SSR), whereby the state-space associated with a given dynamic program-
ming (DP) recursion is relaxed into a space of smaller cardinality in such a way that
the solution of the relaxed recursion provides a lower bound to the original problem.
Christofides et al. [1981a] and Baker [1983] reported solutions of TSPTW instances
with up to 50 vertices.

Langevin et al. [1993] proposed a branch-and-bound algorithm based on a two-commodity


flow formulation and reported solutions of instances with up to 60 vertices.

Algorithms based on DP were proposed by Dumas et al. [1995], Mingozzi et al. [1997],
Balas and Simonetti [2001], and Li [2009]. Dumas et al. [1995] described a DP algo-
rithm that applies sophisticated elimination tests to reduce the state-space and the
number of state transitions; they reported the solutions of instances involving up to
200 vertices. Mingozzi et al. [1997] presented a DP algorithm for the TSP with time
windows and precedence constraints based on the SSR technique and presented com-
putational results for instances with up to 120 vertices. Balas and Simonetti [2001]
considered a special case of the TSPTW where, for some initial ordering of the vertices,
vertex i precedes vertex j if j ≥ i + k (for some value k > 0), and described a DP algo-
rithm that is linear in the number of vertices and exponential in k. Li [2009] presented
a DP algorithm based on a bi-directional resource-bounded label correcting algorithm
Chapter 3 Traveling Salesman Problem with Time Windows 31

(see Righini and Salani [2006]); Li reported the solutions of instances involving up to
233 vertices and solved a number of open instances to optimality.

Branch-and-cut methods for the TSPTW were proposed by Ascheuer et al. [2001] and,
recently, by Dash et al. [2012]. Ascheuer et al. [2001] described heuristic algorithms
and branch-and-cut methods to solve a real-world application, called stacker crane
optimization, that can be modeled as TSPTW. The cutting plane algorithms described
by Ascheuer et al. [2001] use three alternative integer programming formulations of
the TSPTW and are based on the formulations and polyhedral analysis presented in
Ascheuer et al. [2000]. Ascheuer et al. [2001] reported computational results for real-
world instances with up to 233 vertices, showing that most TSPTW instances with up
to 70 vertices can be solved to optimality by any of the three models. Dash et al. [2012]
introduced an extended formulation for the TSPTW based on partitioning the time
windows into sub-windows, called buckets; they described a branch-and-cut algorithm
that uses the valid inequalities described in Ascheuer et al. [2000, 2001] and new valid
inequalities specific for the bucket formulation. Dash et al. reported the solutions of
instances with up to 233 vertices and solved a number of open instances.

Focacci et al. [2002] proposed a hybrid approach for solving the TSPTW merging
constraint programming algorithms and optimization techniques to compute bounds
on the optimal solution value. Their algorithm solved instances with up to 69 vertices.

Heuristic algorithms were proposed, among others, by Gendreau et al. [1998], Wolfler
Calvo [2000], Ohlmann and Thomas [2007], López Ibáñez and Blum [2010], and da
Silva and Urrutia [2010].

3.3 An Exact Algorithm for the TSPTW

We assume that matrix tij satisfies the triangle inequality, so the time windows and
the arc set A can be reduced by using the reduction rules described by Dash et al.
[2012] and summarized in the following.

We denote by G ~ = (V 0 , A)
~ the precedence digraph, where arc (i, j) ∈ A
~ indicates that
0 0
vertex i ∈ V must precede vertex j ∈ V in any salesman tour. The arc set A ~ is
obtained by (i) setting A ~ = Γp ∪ Γ−1 ~
q and adding arc (i, j) ∈ A to A for any couple
~ any arc (i, j) ∈ A if
of vertices i, j ∈ V such that ej + tji > li ; (ii) adding, to A,
there exists a vertex k ∈ V \ {i, j} such that both arcs (i, k) and (k, j) belong to A.~
The latter operation is repeated until no more arcs are added to A. ~ Then, for any arc
~ the arc (j, i) is removed from the arc set A of graph G because it cannot
(i, j) ∈ A,
belong to any salesman tour.

We indicate with ~Γi ⊆ V 0 , i ∈ V 0 , the set of successors and with ~Γ−1 0 0


i ⊆ V , i ∈ V , the
set of predecessors of vertex i ∈ V 0 in graph G. ~ With each arc (i, j) ∈ A, we associate
32 Chapter 3 Traveling Salesman Problem with Time Windows

a time ~tij , which represents a lower bound on the minimum time spent between the
visits to vertices i and j in any salesman tour, computed as the cost of the longest
path in G~ from vertex i to vertex j using travel time tij as cost of arc (i, j) ∈ A.
~ We
assume ~tii = 0, i ∈ V .

A forward path F = (p, i1 , . . . , ik = σF ) is an elementary path that starts from vertex


p at time ep , visits vertices V (F ) = {p, i1 , . . . , ik } within their time windows, and ends
at vertex σF at time tF ∈ [eσF , lσF ]. The cost, c(F ), of a forward path F is the sum of
the costs of the traversed arcs. Let f (S, t, i) be the cost of a least-cost forward path F
that visits the set of vertices S ⊆ V 0 and ends at vertex i ∈ S at time t ∈ [ei , li ]. The
cost z ∗ of a TSPTW optimal solution is given by

z ∗ = min {f (V 0 , t, q)}.
t∈[eq ,lq ]

Let Ω(t, j, i), j, i ∈ V 0 , t ∈ [ei , li ], be the set of departure times from vertex j to arrive
at vertex i at time t if j is visited immediately before i. The set Ω(t, j, i) is defined as
(
t0 : t0 ∈ [ej , min{lj , t − tji }]}, if t = ei ,
Ω(t, j, i) =
t − tji : t − tji ∈ [ej , lj ], if t ∈ (ei , li ].

Functions f (S, t, i) can be computed with DP on a graph GF = (F , AF ) as follows.


The vertex set F represents the states of the DP recursion and is defined as

F = {(S, t, i) : S ⊆ V 0 , i ∈ S, t ∈ [ei , li ]}.

The arc set AF represents the transitions of the DP recursion and is defined as

AF = {((S 0 , t0 , j), (S, t, i)) : (S 0 , t0 , j), (S, t, i) ∈ F , S 0 = S\{i}, t0 ∈ Ω(t, j, i), j ∈ Γ−1
i ∩S}.

A possible DP recursion for computing functions f (S, t, i) is

f (S, t, i) = min {f (S 0 , t0 , j) + dji }, (S, t, i) ∈ F . (3.1)


(S 0 ,t0 ,j)∈F : ((S 0 ,t0 ,j),(S,t,i))∈AF

It is required to initialize f ({p}, ep , p) = 0 and f ({p}, t, p) = ∞, for each t ∈ (ep , lp ].

The size of the path set F can be reduced by removing any state (S, t, i) ∈ F that
cannot lead to any optimal TSPTW solution according to the following rules.
Dominance 1. Let (S, t, i), (S, t0 , i) ∈ F be two states such that f (S, t, i) ≥ f (S, t0 , i)
and t > t0 , then (S, t, i) is dominated by (S, t0 , i).
Fathoming 1. Any state (S, t, i) ∈ F cannot lead to any feasible solution if (i) there
exists a vertex j ∈ V 0 \ S such that t + ~tij > lj or (ii) ~Γ−1
i 6⊆ S.

Fathoming 2. Let zU B be an upper bound on the TSPTW, and let b(S, t, i) be a lower
bound on the cost of a least-cost path that starts from vertex i ∈ S at time t ∈ [ei , li ],
visits each vertex in V 0 \ S within its time window, and ends at vertex q before time
Chapter 3 Traveling Salesman Problem with Time Windows 33

lq . Any state (S, t, i) such that f (S, t, i) + b(S, t, i) ≥ zU B cannot lead to any optimal
solution.

In §3.6, we describe three methods for computing bounding functions b(S, t, i) based
on three SSRs of recursion (3.1) and on a valid lower bound LB described in §3.5.

To avoid the a priori computation of an upper bound zU B , we use an iterative algorithm


where, at iteration h, recursion (3.1) is computed and Fathoming 2 is applied using a
not necessarily valid upper bound zUh B . The exact algorithm can be outlined as follows.

Step 1. Compute a lower bound LB as described in §3.5, and set zU0 B = LB. Initialize
h = 1, θ = max{d10−3 LBe, 1}, and zU1 B = dLBe + θ.

Step 2. Compute DP recursion (3.1) by using the bounding functions b(S, t, i) de-
scribed in §3.6 and zUh B instead of zU B in Fathoming 2.

Step 3. There are two possible cases.

i) No state (V 0 , t, q), with t ∈ [eq , lq ], was generated (this happens if z ∗ >


zUh B ). Set h = h + 1, zUh B = zUh−1
B + θ, and go to Step 2.

ii) At least a state (V 0 , t, q), with t ∈ [eq , lq ], was generated. The optimal
TSPTW solution cost is z ∗ = mint∈[eq ,lq ] {f (V 0 , t, q)}.

The algorithm can terminate prematurely at iteration h, while computing recursion


(3.1) at Step 2, if the number of generated states exceeds the computer memory avail-
able. In this case, zUh−1
B represents a valid lower bound on the TSPTW.

3.4 Relaxations of the TSPTW

We describe three relaxations of salesman tours, called t-tour, ng-tour and ngL-tour
relaxations, that are used to compute valid lower bounds on the TSPTW and bounding
functions b(S, t, i) used by Fathoming 2.

3.4.1 The t-Tour Relaxation

The t-tour relaxation was introduced by Christofides et al. [1981c]. This relaxation
provides function f (t, i) that corresponds to the cost of a least-cost nonnecessarily
elementary path, called (t, i)-path, that starts from vertex p at time ep , visits a set
of vertices (without two-vertex loops) within their time windows, and ends at vertex
i ∈ V 0 at time t ∈ [ei , li ]. The DP recursion for computing functions f (t, i) is described
in Christofides et al. A t-tour is the (t∗ , q)-path such that f (t∗ , q) = mint∈[eq ,lq ] {f (t, q)}.
34 Chapter 3 Traveling Salesman Problem with Time Windows

3.4.2 The ng-Tour Relaxation

In general, the t-tour relaxation does not provide any detailed knowledge of the path
of cost f (t, i), so additional conditions to ensure that such path provides a feasible
solution to the original problem cannot be imposed. To alleviate this drawback, we
introduce the ng-path relaxation that consists of partitioning the set of all possible
(t, i)-paths ending at vertex i ∈ V 0 at time t ∈ [ei , li ] according to a mapping function
that associates with each (t, i)-path a subset of the visited vertices depending on the
order in which they are visited. The subset of vertices associated with each ng-path is
used in the DP recursion to impose partial elementarity. The ng-tour relaxation can
be described as follows.

Let Ni ⊆ V 0 be a set of selected vertices for vertex i ∈ V 0 (according to some criterion)


such that i ∈ Ni and |Ni | ≤ ∆(Ni ), where ∆(Ni ) is a parameter. The sets Ni allow
us to associate, with each forward path F = (p, i1 , . . . , ik = σF ), the set ΠF ⊆ V (F )
containing vertex ik and every vertex ir ∈ V (F ), r = 1, .., k − 1, that belongs to all
sets Nir+1 , . . . , Nik associated with the vertices ir+1 , . . . , ik visited after ir in path F .
Formally, the set ΠF is defined as

k
\ [
ΠF = {ir ∈ V (F ) \ {ik } : ir ∈ N is } {ik }.
s=r+1

A forward ng-path (N G, t, i) is a nonnecessarily elementary path F = (p, i1 , . . . , ik−1 ,


ik = i) that starts from vertex p at time ep , visits a set of vertices (each once or more)
within their time windows, ends at vertex i ∈ V 0 at time t ∈ [ei , li ], and such that
N G = ΠF and i ∈ / ΠF 0 , where F 0 = (p, i1 , . . . , ik−1 ) is an ng-path.

Notice that an ng-path can contain a loop (ir = j, ir+1 , . . . , ir+s = j) for s ≥ 2 if and
only if there exists at least one index k such that 2 ≤ k ≤ s − 1 and j ∈ / Nir+k .

An example of ng-path is the following. Consider path F = (p, 1, 2, 3, 4, 1). The


corresponding path F 0 is F 0 = (p, 1, 2, 3, 4). Suppose that sets Ni , i = 1, 2, 3, 4, are
defined as N1 = {1, 3, 4}, N2 = {1, 2, 5}, N3 = {1, 3, 4}, N4 = {2, 3, 4}. The set ΠF 0
contains vertices 3 and 4 only because 1 ∈ / N2 ∩ N3 ∩ N4 and 2 ∈/ N3 ∩ N4 whereas
3 ∈ N4 and 4 is the last vertex visited by path F . Being elementary, path F 0 is clearly
0

an ng-path. Thus, because 1 ∈ / ΠF 0 , path F is an ng-path. Moreover, the set ΠF


contains vertices 1, 3 and 4 only because 2 ∈ / N3 ∩ N4 ∩ N1 whereas 3 ∈ N4 ∩ N1 ,
4 ∈ N1 and 1 is the last vertex visited by path F ; this means that path F can be
propagated towards all vertices but 1, 3 and 4.

We denote by f (N G, t, i) the cost of a least-cost forward ng-path (N G, t, i). Any


(N G, t, q)-path ending at vertex q at time t ∈ [eq , lq ] is called ng-tour.
Chapter 3 Traveling Salesman Problem with Time Windows 35

A valid lower bound LB on the TSPTW is given by

LB = min {f (N G, t, q)} ≤ z ∗ . (3.2)


t∈[eq ,lq ], N G⊆Nq

Functions f (N G, t, i) can be computed with DP on a graph GbF = (F


c, Ac
F ). The vertex
set F represents the states of the DP recursion and is defined as
c

c = {(N G, t, i) : i ∈ V 0 , t ∈ [ei , li ], ∀N G ⊆ Ni s.t. N G 3 i}.


F

The arc set Ac


F represents the transitions of the DP recursion and is defined as

0 0 0 0
Ac
F = {((N G , t , j), (N G, t, i)) : (N G , t , j), (N G, t, i) ∈ F ,
c

j ∈ Γ−1 0 0 0 0
i , t ∈ Ω(t, j, i), ∀N G ⊆ Nj s.t. N G 3 j and N G ∩ Ni = N G \ {i}}.

A possible DP recursion for computing functions f (N G, t, i) is

f (N G, t, i) = min {f (N G0 , t0 , j) + dji }, (N G, t, i) ∈ F
c.
(N G0 ,t0 ,j)∈Fb : ((N G0 ,t0 ,j),(N G,t,i))∈AbF
(3.3)
Notice that the condition ∩ Ni = N G \ {i} in the definition of AF imposes that
N G0 c
functions f (N G, t, i) are computed by propagating functions f (N G0 , t0 , j) such that
i∈/ N G0 . Moreover, notice that the following inequality holds for each forward path F

c(F ) ≥ min {f (N G, tF , σF )}.


N G⊆V (F )∩NσF

It is required to initialize f ({p}, ep , p) = 0 and f ({p}, t, p) = ∞, for each t ∈ (ep , lp ].

An optimal ng-tour is the ng-path (N G∗ , t∗ , q) such that

f (N G∗ , t∗ , q) = min {f (N G, t, q)}. (3.4)


(N G,t,q)∈Fb

The size of the state set F


c can be reduced by removing, via the following dominance
rule, any state that cannot lead to an optimal ng-tour.
Dominance 2. Let (N G, t, i), (N G0 , t0 , i) ∈ Fc such that f (N G, t, i) ≥ f (N G0 , t0 , i),
N G ⊇ N G0 , t > t0 . State (N G, t, i) is dominated by (N G0 , t0 , i).

Notice that a stronger version of Dominance 2 can be obtained by replacing the con-
dition t < t0 with t ≤ t0 . However, we found it to be computationally convenient to
apply Dominance 2 instead of this stronger version.

The decremental state-space relaxation introduced by Righini and Salani [2008] and
the partial elementarity relaxation introduced by Desaulniers et al. [2008] are special
36 Chapter 3 Traveling Salesman Problem with Time Windows

cases of the ng-path relaxation. These relaxations can be obtained by setting Ni = Vb ,


for each vertex i ∈ V 0 , where Vb ⊆ V 0 is a selected set of vertices.

Choosing the sets Ni of selected vertices. Lower bound LB computed by expres-


sion (3.2) depends on the sets Ni , i ∈ V 0 . If Ni = V 0 , for each vertex i ∈ V 0 , functions
f (N G, t, i) provide the costs of least-cost elementary paths and the optimal ng-tour
provided by expression (3.4) corresponds to an optimal TSPTW solution.

The computational results of §3.7 were obtained by defining the sets Ni , i ∈ V 0 , as


follows. We set Np = {p} and Nq = {q}, and define Ti = {j ∈ Γi ∩ Γ−1 i : tij =
0 or tji = 0}, for each vertex i ∈ V (notice that the set Ti contains vertex i). First,
we set Ni = Ti , for each vertex i ∈ V . Then, for each vertex i ∈ V such that
|Ni | < ∆(Ni ), we add, to Ni , the (∆(Ni ) − |Ti |)-nearest vertices to i belonging to the
set V \ Ti according to travel times tij .

Notice that recursion (3.3) allows ng-paths to contain two-vertex loops, which can be
eliminated with the method described by Christofides et al. [1981c]. Nonetheless, we
do not implement this method because of the additional memory required and because,
in practice, whenever sets Ni , i ∈ V 0 , are defined as above and parameter ∆(Ni ) is
equal to 11 or 13, the resulting (N G, t, i)-paths rarely contain two-vertex loops.

Implementation issues. How the DP recursion (3.3) is computed and how Domi-
nance 2 is tested affect the effectiveness of the whole solution process. We decided to
compute (3.3) with a forward DP recursion using the variable state t (i.e., the time)
as stage. At stage t, the order in which states are propagated is defined by a queue
where states having time t are maintained.

To apply Dominance 2, we use an additional function Ft (N G, i), i ∈ V , N G ⊆


Ni s.t. N G 3 i, that represents the cost of a least-cost state (N G, t0 , i) ∈ F c with
t0 < t (i.e., Ft (N G, i) = mint0 ∈[ei ,t) {f (N G, t0 , i) : (N G, t0 , i) ∈ F
c}). Let B(N G, i) =
{N G0 ⊆ N G : N G0 3 i}, for each vertex i ∈ V and each set N G ⊆ Ni s.t. N G 3 i.
Because we use values of parameter ∆(Ni ) less than or equal to 13, the sets B(N G, i)
can be computed by complete enumeration before starting the DP recursion. From the
definitions of Ft (N G, i) and B(N G, i), we derive that a state (N G, t, i) is dominated
according to Dominance 2 if f (N G, t, i) ≥ minN G0 ∈B(N G,i) {Ft (N G0 , i)}. Notice that
function Ft (N G, i) can be recursively computed as

Ft (N G, i) = min{Ft−1 (N G, i), f (N G, t − 1, i)}, i ∈ V, N G ⊆ Ni s.t. N G 3 i.

3.4.3 The ngL-Tour Relaxation

In the case of the TSPTW, the ng-tour relaxation can be enhanced by forcing any ng-
tour to visit each vertex of a selected subset of vertices exactly once while satisfying
the precedence constraints imposed for such vertices by the precedence digraph G. ~
Chapter 3 Traveling Salesman Problem with Time Windows 37

Consider a path L = (p = i0 , i1 , . . . , ih = q) in G ~ from vertex p to vertex q. Because


any arc (i, j) ∈ A ~ of graph G ~ implies that vertex i must be visited before vertex j in
any salesman tour, the h arcs of path L decompose any salesman tour in h subpaths
Pik−1 ik , k = 1, . . . , h, where Pik−1 ik corresponds to the subpath of the salesman tour
that starts from vertex ik−1 , visits each vertex of subset Sk ⊆ V 0 \ V (L) exactly once,
and ends at vertex ik . Thus, any salesman tour is made up of any collection of h
~
subpaths Pik−1 ik , k = 1, . . . , h, such that ∪hk=1 Sk = V 0 \ V (L). For a given path L of G
defined as above, we can force any ng-tour to visit, exactly once, each vertex i ∈ V (L)
as described in the following.

Let Vk be the set of vertices that must or can be visited in between vertices ik−1 and
ik (ik−1 , ik ∈ L). For each k = 1, . . . , h, we have

Vk = {j ∈ V \ {ik−1 } : eik−1 + ~tik−1 j ≤ lj and max{eik−1 + ~tik−1 j , ej } + ~tjik ≤ lik }.

Notice that Vk ∩ V (L) = ik .

A forward ngL(k)-path is an ng-path (N G, t, i) that ends at vertex i ∈ Vk at time


t ∈ [ei , li ], and such that each vertex j ∈ {i0 , i1 , . . . , ik−1 } is visited exactly once. An
ngL-tour is an ngL(h)-path (N G, t, q).

Let F
ck = {(N G, t, i) ∈ F
c : i ∈ Vk } be the subset of states corresponding to the
forward ngL(k)-paths, and let fk (N G, t, i) be the cost of a least-cost ngL(k)-path
(N G, t, i) ∈ F
ck .

Functions fk (N G, t, i), k = 1, . . . , h, i ∈ V 0 , N G ⊆ Ni s.t. N G 3 i, t ∈ [ei , li ], can be


computed with the following iterative procedure that, for each k = 1, . . . , h, performs
the following operations

a) Initialize fk (N G, t, ik−1 ) = fk−1 (N G, t, ik−1 ), for each state (N G, t, ik−1 ) ∈ Fck−1 ,


and fk (N G, t, i) = ∞, for each state (N G, t, i) ∈ F ck . We assume f0 ({p}, ep , p) = 0
and f0 ({p}, t, p) = ∞, for each t ∈ (ep , lp ];

b) Compute fk (N G, t, i), (N G, t, i) ∈ F
ck , as follows

fk (N G, t, i) = min {fk (N G0 , t0 , j) + dji }. (3.5)


(N G0 ,t0 ,j)∈Fbk : j∈Γ−1 0
i , t ∈Ω(t,j,i),
N G0 ⊆Nj s.t. N G0 3j, N G0 ∩Ni =N G\{i}

Because of the initialization and of the definition of the sets Vk , k = 1, . . . , h, any


ngL(h)-path corresponding to fh (N G, t, q) visits every vertex of the set V (L) exactly
once.

An optimal ngL-tour is the ngL(h)-path (N G∗ , t∗ , q) ∈ F


ch such that

fh (N G∗ , t∗ , q) = min {fh (N G, t, i)}.


(N G,t,i)∈Fbh
38 Chapter 3 Traveling Salesman Problem with Time Windows

The value fh (N G∗ , t∗ , q ∗ ) depends on the path L of G~ used. In our computational


experiments, the path L was chosen as the path in G ~ from vertex p to vertex q of
maximal cardinality in order to maximize the number of vertices visited exactly once
by any ngL-tour.

The following dominance rule, similar to Dominance 2 described in §3.4.2 for the ng-
tour relaxation, can be used to reduce the size of each state sets F
ck , k = 1, . . . , h.

Dominance 3. Let (N G, t, i), (N G0 , t0 , i) ∈ F


ck be such that fk (N G, t, i) ≥ fk (N G0 , t0 , i),
N G0 ⊇ N G, t > t0 . State (N G, t, i) is dominated by (N G0 , t0 , i) and can be removed
from F
ck .

3.5 A Valid Lower Bound LB on the TSPTW

In this section, we describe lower bounds on the TSPTW based on the three tour
relaxations described in §3.4.

Let Hc be the index set of the tours of a given tour relaxation of G (i.e., t-tour or
ng-tour or ngL-tour). For each tour ` ∈ H c, we denote by ai` the number of times
vertex i ∈ V is visited by tour ` ∈ Hc and by c` its cost. Associate a penalty ui ∈ R
with each vertex i ∈ V , and let u = (u1 , . . . , un ). For a given penalty vector u, a valid
lower bound LR(u) on the TSPTW is given by
( )
X X
LR(u) = min c` − ai` ui + ui .
`∈H
c
i∈V i∈V

A better lower bound LB on the TSPTW can be computed by using subgradient


optimization to solve the following Lagrangean dual problem LD

(LD) z(LD) = maxn {LR(u)}.


u∈R

Solving problem LD by usual subgradient optimization requires to find, at each iter-


ation, an optimal value of problem LR(u) for a given penalty vector u. The optimal
value of problem LR(u) is computed with the DP recursion associated with the tour re-
laxation chosen by replacing arc costs dij with d0ij = dij −uj , for each arc (i, j) ∈ A\Aq ,
and d0iq = diq , for each arc (i, q) ∈ Aq , where Aq = {(i, q) : i ∈ Γ−1
q }.
Chapter 3 Traveling Salesman Problem with Time Windows 39

Problem LD is equivalent to the following linear program D


X
(D) z(D) = max u0 + ui , (3.6)
i∈V
X
s.t. u0 ≤ c` − ai` ui , `∈H
c, (3.7)
i∈V

u0 ∈ R, (3.8)
ui ∈ R, i ∈ V. (3.9)

Dualizing D, we obtain the following problem P


X
(P ) z(P ) = min c` x` , (3.10)
`∈H
c
X
s.t. ai` x` = 1, i ∈ V, (3.11)
`∈H
c
X
x` = 1, (3.12)
`∈H
c

x` ≥ 0, `∈H
c. (3.13)

Problem P seeks a minimum-weight convex combination of tours such that each vertex
i ∈ V has, on average, degree one. Notice that variables ui ∈ R, i ∈ V , and u0 ∈ R of
problem D represent the dual variables of constraints (3.11) and (3.12), respectively.

Problem P can be solved by column generation where, at each iteration, tours of


negative reduced cost with respect to the dual solution of the current master problem
must be computed. In our computational experiments, we found that this method of
solving P requires fewer iterations than solving LD with subgradient optimization.

To solve P , we use a column generation procedure that differs from standard column
generation methods because the master problem is not solved with the simplex but
using a dual-ascent heuristic procedure. The procedure computes lower bound LB1
corresponding to a P dual solution u1 = (u10 , u11 , . . . , u1n ).

Below we describe how we initialize the master problem, the method for solving the
master problem, and the procedure for solving the pricing problem.

3.5.1 Initializing the Master Problem

The initial master problem contains a small subset of elementary but nonnecessarily
Hamiltonian tours that are generated as follows. The procedure consists of executing
a limited number of subgradient iterations to solve problem LD. The optimal tour
found at each iteration is made elementary and then added to the master. At the end,
the procedure provides a lower bound LB0 and a corresponding solution of problem
LD. The procedure can be described as follows.
40 Chapter 3 Traveling Salesman Problem with Time Windows

• Set LB0 = 0. Initialize the Lagrangean penalties µi ∈ R, i ∈ V , as µi = 0.

• Perform M axit0 iterations of the following subgradient method.

a) Define d0ij = dij − µj , for each arc (i, j) ∈ A \ Aq , and d0iq = diq , for each arc
(i, q) ∈ Aq .
b) Find the tour `∗ ∈ H c (i.e., t-tour or ng-tour or ngL-tour) of minimum cost,
c`∗ , with respect to the modified arc costs d0ij .
0

c) If c0`∗ + i∈V µi > LB0 , update LB0 = c0`∗ + i∈V µi , and set µ0i = µi , for
P P

each vertex i ∈ V .
d) Add, to the master problem, the elementary but nonnecessarily Hamiltonian
tour derived, from tour of index `∗ , by removing the visits to the vertices
that have already been visited in the tour.
e) Because in any salesman tour each vertex i ∈ V must be visited exactly
once, update penalties µi , i ∈ V , using usual subgradient expressions setting
zU B = 1.2 (c0`∗ + i∈V µi ) in computing the step size.
P

Notice that u0 = (u00 , u01 , . . . , u0n ), where u0i = µ0i , i ∈ V , and u00 = LB0 −
P
i∈V µi ,
represents a feasible solution of problem D of cost LB0 .

3.5.2 Solving the Master Problem

Instead of solving the master problem with the simplex, we use a dual-ascent heuristic
based on the following theorem.
Theorem 1. Let λ = (λ0 , λ1 , . . . , λn ) be a vector of n + 1 penalties, where penalties
λi ∈ R, i ∈ V , are associated with constraints (3.11) and penalty λ0 with constraint
P
(3.12). A feasible dual solution u of problem P of cost z(P (λ)) = u0 + i∈V ui is
obtained as
n P o
c −λ − ai` λi
)
ui = min`∈Hc: a ≥1 ` 0P i∈V a + λ i , i ∈ V
i` i∈V i` . (3.14)
u0 = λ0

Proof. Consider a tour ` ∈ H


c. From expression (3.14), we derive
P
c` − λ0 − i∈V ai` λi
ui ≤ P + λi , i ∈ V : ai` ≥ 1.
i∈V ai`

Thus, for each tour ` ∈ Hc, the following relation holds


P
X ai` (c` − λ0 −
i∈V ai` λi )
X X
ai` ui ≤ P + ai` λi = c` − λ0 = c` − u0 ,
i∈V i∈V i∈V ai` i∈V
Chapter 3 Traveling Salesman Problem with Time Windows 41

which corresponds to constraint (3.7) for tour ` ∈ H


c

X
ai` ui ≤ c` − u0 .
i∈V

To find a near-optimal solution u0 of the current master problem, we perform M axit1


subgradient iterations to modify the penalty vector λ. Baldacci et al. [2008] showed
that a valid subgradient of function z(P (λ)) at point λ can be computed by associating
with the current solution u00 a nonnecessarily feasible solution x00 of the current master
problem such that z(P (λ)) = `∈Hc c` x00` defined as follows.
P

Let `(i) ∈ H
c be the index of the tour associated with ui , i ∈ V , in expressions (3.14).
Define variables ξ`i ∈ {0, 1}, ` ∈ Hc, i ∈ V , as ξ i = 1, for each vertex i ∈ V , and
`(i)
ξ` = 0, for each vertex i ∈ V and each tour ` ∈ H
i c \ {`(i)}. The solution x00 is
a ξ i
computed as x00 = P i` ` , for each tour ` ∈ H
P c.
` i∈V i∈V ai`

Let αi , i ∈ V , and α0 denote the values of the left-hand-side of constraints (3.11) and
(3.12) with respect to solution x00 , respectively. The values of αi , i ∈ V , and α0 are
used to update the penalty vector λ by means of the usual subgradient expressions,
where zU B = 1.2 z(P (λ)). We denote by u0 the final dual solution of the current
master problem of cost z(P (λ)) achieved by the procedure described above.

3.5.3 Solving the Pricing Problem

The pricing problem consists of finding a tour of minimum reduced cost with respect
to the current dual solution u0 of the master. Define the modified arc cost d0ij as
(
dij − u0j , (i, j) ∈ A \ Aq ,
d0ij =
diq − u00 , (i, q) ∈ Aq .

The reduced cost c0` = c` − i∈V ai` u0i − u00 of tour ` ∈ Hc with respect to u0 is equal to
P

the cost of the tour (i.e., t-tour or ng-tour or ngL-tour) using the modified arc costs d0ij
instead of dij . Therefore, to compute the tour of minimum reduced cost with respect
to u0 , it is sufficient to compute the associated DP recursion using d0ij instead of dij .

If the cost of the minimum reduced cost tour is negative, the tour is added to the
master problem and the bounding procedure performs another iteration; otherwise,
u0 is a feasible dual solution of problem P of cost z(P (λ)), so the best-known lower
bound LB1 is update as LB1 = z(P (λ)) and u1 = u0 if LB1 ≤ z(P (λ)). The bounding
procedure terminates after a number of macro-iteration.
42 Chapter 3 Traveling Salesman Problem with Time Windows

3.6 Computing Bounding Functions b(S, t, i)

In this section, we describe how to compute bounding functions b(S, t, i), introduced
in §3.3, to reduce the state-space graph associated with the DP recursion (3.1).

We define a backward path B = (σB = ik , ik+1 , . . . , ih , q) as a path that starts from


vertex σB at time tB ∈ [eσB , lσB ], visits each vertex in V (B) = {ik , ik+1 , . . . , ih , q}
within its time window, and ends at vertex q before time lq .

Consider the forward path F associated with f (S, t, i). The least-cost salesman tour
containing F is obtained by adding, to F , a least-cost backward path B of cost c(B)
that starts from vertex i at time t0 ∈ [t, li ] and visits all vertices V 0 \ S.

The method to compute functions b(S, t, i) is based on the following proposition. For
a D solution (u1 , w1 ) providing lower bound LB1 , define the modified arc costs d1ij as
(
dij − u1j , (i, j) ∈ A \ Aq ,
d1ij =
diq , (i, q) ∈ Aq .

Proposition 1. Let lb(S, t, i) be a lower bound on the cost, using arc costs d1ij instead
of dij , of any backward path that starts from vertex i ∈ V at time t0 ∈ [t, li ]. A valid
lower bound on the cost c(B) of a least-cost backward path B that starts from vertex
i ∈ V at time t0 ∈ [t, li ] and visits vertices V 0 \ S is given by
X
b(S, t, i) = lb(S, t, i) + u1i . (3.15)
j∈V \S

Proof. Let c1 (B) be the cost of backward path B using arc costs d1ij . From the definition
of lb(S, t, i), we have
lb(S, t, i) ≤ c1 (B). (3.16)

Because B visits each vertex j ∈ V \ S exactly once, then


X
c1 (B) = c(B) − u1i . (3.17)
j∈V \S

From expressions (3.15), (3.16) and (3.17) we obtain b(S, t, i) ≤ c(B). 

In the following, we describe three methods to compute lower bound lb(S, t, i) on c(B)
that are based on the three relaxations described in §3.4.

A backward (t,i)-path is a nonnecessarily elementary path B that starts from vertex


i ∈ V 0 at time t ∈ [ei , li ], visits a subset of vertices (each once or more) within their
time windows, and ends at vertex q before time lq . We denote by f −1 (t, i) the cost of
a least-cost backward (t, i)-path without 2-vertex loops.
Chapter 3 Traveling Salesman Problem with Time Windows 43

A backward ng-path (NG,t,i) is a nonnecessarily elementary path B = (i = ik , ik+1 , . . . ,


ih , iq ) that starts from vertex i ∈ V 0 at time t ∈ [ei , li ], visits a subset of vertices (each
once or more) within their time windows such that N G = Π−1 (B), ends at vertex q
before lq , and such that i ∈ / Π−1 (B 0 ), where path B 0 is B 0 = (ik+1 , . . . , ih , iq ) and must
be a backward ng-path. For each backward path B, the set Π−1 (B) is defined as

r−1
\ [
Π−1 (B) = {ir : ir ∈ Nis , r = k + 1, . . . , h} {ik }.
s=k

We denote by f −1 (N G, t, i) the cost of a least-cost backward ng-path (N G, t, i).

An example of backward ng-path (NG,t,i) is the following. Let B = (9, 6, 7, 8, 9, 0) be


a backward path that starts from vertex 9, and let N6 = {6, 7, 8}, N7 = {6, 7, 8}, N8 =
{7, 8, 9} and N9 = {6, 7, 9}. Thus, path B 0 is B 0 = (6, 7, 8, 9, 0) and Π(B 0 ) = {6, 7, 8}
because 6 is the first visited vertex and 7 ∈ N6 , 8 ∈ N6 ∩ N7 , and 9 ∈ / N6 ∩ N7 ∩ N8 .
0
Because B is an ng-path and 9 ∈ 0
/ Π(B ), B is an ng-path.

For a given longest path L = (i0 = p, i1 , . . . , ik , ik+1 , . . . , ih , ih+1 = q), let V̄k be
the subset of vertices that must or can be visited in between vertices ik and ik+1 ,
k = 0, . . . , h, that is

V̄k = {j ∈ V \ {ik+1 } : eik + ~tik j ≤ lj and max{eik + ~tik j , ej } + ~tjik+1 ≤ lik+1 }.

A backward ngL(k)-path (NG,t,i) is a backward ng-path that starts from vertex i ∈ V̄k
and visits the vertices {ik+1 , . . . , ih , iq } exactly once. We denote by fk−1 (N G, t, i) the
cost of a least-cost backward ngL(k)-path.

Functions f −1 (t, i), f −1 (N G, t, i) and fk−1 (N G, t, i) can be computed with the same
DP recursions used to compute f (t, i), f (N G, t, i) and f (N G, k, t, i) on the TSPTW
instance resulting from the following operations: (i) for each vertex i ∈ V 0 , replace
time window [ei , li ] with time window [lq − li , lq − ei ]; (ii) replace the cost and time
matrices [dij ] and [tij ] with their transposed matrices [dij ]T and [tij ]T .

Let functions f −1 (t, i), f −1 (N G, t, i) and fk−1 (N G, t, i) be computed replacing the arc
costs dij with d1ij . These functions allow for the computing of the lower bound lb(S, t, i)
as follows

a) From functions f −1 (t, i), we derive

f −1 (t0 , i) .

lb(S, t, i) = min
t0 ∈[t,l i]

b) From functions f −1 (N G, t, i), we derive


 −1
lb(S, t, i) = min f (N G, t0 , i) .
N G⊆Ni : N G3i, N G∩S={i},
t0 ∈[t,li ]
44 Chapter 3 Traveling Salesman Problem with Time Windows

c) From functions fk−1 (N G, t, i), we derive


 −1
lb(S, t, i) = min fk0 (N G, t0 , i) ,
N G⊆Ni : N G3i, N G∩S={i},
t0 ∈[t,li ]

where k 0 is defined as follows

/ V (L): k 0 is the index of the first vertex ik0 of the longest path L such that
i) i ∈
ik0 ∈
/ S;
ii) i ∈ V (L): k 0 is the index of the vertex of L such that ik0 = i.

3.7 Computational Results

This section reports on the computational experiments of our algorithm, which was
implemented in C and compiled with Visual Studio 2008. The runs were performed
on a Sony Vaio P8400 (Intel Core 2 Duo, 2.26 GHz), equipped with 4 GB of RAM.

We denote by BMR.ng the exact algorithm of §3.3 using either the ng-tour or the ngL-
tour relaxations, according to the criterion described in §3.7.1, in computing the lower
bound and the bounding functions b(S, t, i). We denote by BMR.t the exact method
when the t-tour relaxation is used in computing the lower bound and the bounding
functions.

We tested both BMR.ng and BMR.t on the seven classes of instances available at http:
//iridia.ulb.ac.be/~manuel/tsptw-instances and the class proposed by Mingozzi
et al. [1997]. The classes proposed by Langevin et al. [1993], Dumas et al. [1995], and
Mingozzi et al. [1997] were easily solved (the most difficult instance was solved in 12
seconds by BMR.ng), so relative results are omitted. The results on the other five
classes are reported in the following and compared with the following state-of-the-art
exact methods:

• the branch-and-cut of Ascheuer et al. [2001] (hereafter AFG) - runs performed


on a Sun Sparc Station 10 with a time limit (tl) of 5 hours (i.e., tl = 18,000
seconds);

• the constraint programming based method of Focacci et al. [2002] (hereafter


FLM) - Pentium III 700 MHz with 128 MB of RAM (tl = 1,800 seconds). The
results reported in the tables are, on each instance, the best achieved by the two
versions of their method (i.e., AP-bound and Lagrangean-bound).

• the branch-and-cut of Dash et al. [2012] (hereafter DGLT) - workstation Intel


2.40 GHz running under Suse Linux 10.1 (tl = 18,000 seconds);
Chapter 3 Traveling Salesman Problem with Time Windows 45

Table 3.1: Results of BMR.ng on a representative set of instances

Inst |V 0 | |L| P rec z∗ Rel ∆(Ni ) LB %LB TLB |F | Ttot


n150w120.002 152 13 77.8 677 ng 11 663.3 97.98 69.7 - -
ng 13 663.8 98.05 124.8 - -
ngL 11 668.0 98.66 77.2 14,473 211.3
ngL 13 668.4 98.73 130.5 12,149 260.6
n200w120.005 202 14 79.6 840 ng 11 827.5 98.51 155.0 - -
ng 13 828.9 98.68 195.1 - -
ngL 11 831.5 98.99 204.9 - -
ngL 13 833.2 99.19 237.4 29,072 574.3
rbg152.3 152 12 81.3 1,539 ng 11 1,536.2 99.82 47.3 22,015 192.5
ng 13 1,536.7 99.85 64.7 17,387 206.7
ngL 11 1,537.7 99.92 73.3 17,191 201.9
ngL 13 1,538.2 99.95 81.5 14,151 213.2
rbg233.2 233 22 90.9 2,188 ng 11 2,187.0 99.95 72.1 9,200 124.8
ng 13 2,187.0 99.95 92.2 8,906 136.9
ngL 11 2,187.0 99.95 231.1 6,750 364.3
ngL 13 2,187.0 99.95 253.3 5,265 359.6

• the DP algorithm of Li [2009] (hereafter LI) - Lenovo Thinkstation with 4 Intel


processors at 2 GHz, 4 BG of RAM and a Linux operating system (no time limit
imposed).

These exact methods were not tested on all five instance classes. In the tables of this
section, “tl” indicates that the time limit was reached.

According to SPEC (http://www.spec.org/benchmarks.html), our machine is 10%


slower than that of Dash et al. [2012] and 10% faster than that of Li [2009]. No
benchmarks are available to compare our machine with those used by Ascheuer et al.
[2001] and Focacci et al. [2002]. Nevertheless, our machine is clearly faster (say, 6-10
times faster) than these two machines.

3.7.1 Parameter Setting

To find a parameter setting for BMR.ng on all instances, we performed preliminary


tests applying both ng-tour and ngL-tour relaxations and varying parameter ∆(Ni ).

In Table 3.1, we present such results on a selected set of representative instances. The
columns report the instance name (Inst), the number of vertices of graph G (|V 0 |),
the length of the longest path L of the precedence graph G b (|L|), the percentage of
2|A|
b
precedences (P rec) computed as P rec = 100 (n+2)(n+1) , and the optimal solution cost
(z ∗ ). Then, we indicate the tour relaxation used (Rel), which can be either ng-tour
or ngL-tour, and the setting of parameter ∆(Ni ). Finally, the lower bound achieved
(LB) is reported with the percentage (%LB = 100LB/z ∗ ), the time (in seconds) to
compute the lower bound (TLB ), the cardinality (in thousands) of the set F generated
by the exact algorithm of §3.3 (|F |), and the total computing time in seconds (Ttot ).
46
Table 3.2: Results on easy Ascheuer instances

BMR.ng BMR.t AFG FLM DGLT LI


Inst |V 0| z∗ P rec LB %LB TLB |F | Ttot %LB Ttot %LB Ttot %LB Ttot %LB Ttot Ttot
rbg010a 12 149 72.7 149.0 100.0 0.1 0.1 99.5 0.8 99.3 0.1 99.3 0.0 100.0 0.0 0.1
rbg017 17 148 72.1 148.0 100.0 0.1 0.1 97.2 0.7 100.0 0.8 93.2 0.1 99.3 0.0 0.1
rbg017.2 17 107 41.2 107.0 100.0 0.1 0.1 100.0 0.6 100.0 0.0 93.5 0.0 100.0 0.0 19.9
rbg016a 18 179 83.0 179.0 100.0 0.1 0.1 100.0 2.2 98.9 0.2 93.3 0.1 100.0 0.0 0.1
rbg016b 18 142 56.9 142.0 100.0 0.2 0.2 95.9 4.8 93.7 8.8 88.7 0.1 97.2 0.2 0.1
rbg017a 19 146 49.1 146.0 100.0 0.3 0.3 100.0 0.4 100.0 0.1 100.0 0.1 100.0 0.0 10.3

Chapter 3 Traveling Salesman Problem with Time Windows


rbg019a 21 217 91.9 217.0 100.0 0.2 0.2 100.0 0.4 100.0 0.0 100.0 0.0 100.0 0.0 0.1
rbg019b 21 182 61.4 182.0 100.0 0.3 0.3 99.4 2.8 98.9 54.5 96.2 0.2 99.5 0.3 0.2
rbg019c 21 190 45.7 190.0 100.0 0.5 0.5 98.5 1.4 95.8 8.7 94.2 0.3 96.8 0.9 35.3
rbg019d 21 344 78.1 344.0 100.0 0.3 0.3 98.8 2.6 99.7 0.7 98.3 0.0 100.0 0.2 0.1
rbg021 21 190 45.7 190.0 100.0 0.5 0.5 98.6 2.5 95.8 8.7 94.2 0.3 96.8 0.9 35.5
rbg021.2 21 182 43.3 182.0 100.0 0.4 0.4 100.0 0.8 100.0 0.2 98.4 0.2 100.0 0.1 48.0
rbg021.3 21 182 42.9 182.0 100.0 1.4 1.4 98.9 3.0 97.8 27.1 91.2 0.4 98.4 2.7 101.2
rbg021.4 21 179 40.5 179.0 100.0 1.2 1 1.4 99.7 2.2 98.9 5.8 92.7 0.3 100.0 0.2 692.8
rbg021.5 21 169 39.5 169.0 100.0 1.1 1.1 99.6 1.9 98.8 6.6 94.7 0.2 100.0 0.3 1,320.5
rbg021.6 21 134 24.3 134.0 100.0 0.6 1 0.7 100.0 1.4 99.3 1.3 95.5 0.7 100.0 0.3 7,876.4
rbg021.7 21 133 19.5 133.0 100.0 1.5 1 1.7 98.5 2.1 96.2 4.3 94.0 0.6 100.0 0.6 -
rbg021.8 21 132 18.6 132.0 100.0 1.6 15 1.8 98.4 2.3 97.7 17.4 97.0 0.6 98.5 2.8 -
rbg021.9 21 132 18.6 132.0 100.0 3.1 18 3.3 98.0 2.2 97.0 26.1 94.7 0.8 98.5 2.8 -
rbg020a 22 210 53.7 210.0 100.0 0.7 0.7 100.0 0.9 100.0 0.2 98.6 0.0 100.0 0.0 10.5
rbg027a 29 268 43.1 267.9 100.0 1.3 1 1.5 99.5 7.3 99.3 2.2 97.0 0.2 99.3 1.4 0.7
rbg031a 33 328 75.8 328.0 100.0 0.5 0.5 99.1 7.4 100.0 1.7 97.3 2.7 100.0 0.2 0.1
rbg033a 35 433 77.6 433.0 100.0 0.5 0.5 99.3 6.5 100.0 1.8 92.8 1.0 99.8 0.9 0.2
rbg034a 36 403 72.4 402.9 100.0 3.2 5 3.5 99.2 9.4 99.5 0.9 97.0 55.2 100.0 1.9 1.0
rbg035a 37 254 76.3 254.0 100.0 0.6 0.6 98.8 12.7 100.0 1.8 87.0 3.5 100.0 0.2 0.1
rbg035a.2 37 166 70.9 166.0 100.0 23.5 6 24.1 98.4 20.1 95.2 64.8 93.4 36.8 100.0 5.3 -
rbg038a 40 466 78.1 466.0 100.0 2.0 2.0 100.0 6.2 100.0 4,232.2 100.0 0.2 100.0 1.5 0.5
rbg040a 42 386 79.2 384.9 99.7 1.3 1 1.5 97.7 5.7 92.0 751.8 73.1 738.1 96.6 3.6 0.8
rbg050a 52 414 44.2 414.0 100.0 16.1 4 16.6 99.7 24.4 100.0 18.6 98.8 95.6 100.0 24.5 -
rbg055a 57 814 84.9 814.0 100.0 1.8 1 2.1 99.3 7.3 99.9 6.4 98.2 2.5 100.0 3.5 2.4
rbg067a 69 1,048 88.8 1,048.0 100.0 1.9 1 2.2 99.4 17.6 99.9 5.9 98.6 4.0 100.0 3.6 3.2
rbg125a 127 1,409 92.8 1,409.0 100.0 5.6 2 6.4 99.3 71.0 99.5 229.8 98.2 tl 100.0 9.6 3.5
Avg 100.0 2.3 2.4 99.1 7.2 98.5 171.5 95.0 30.5 99.4 2.1 376.4
Solved 32 32 32 31 32 27
Chapter 3 Traveling Salesman Problem with Time Windows 47

Table 3.1 shows that increasing parameter ∆(Ni ) lets us compute better lower bounds
and generate smaller state-space graphs when solving the problem to optimality. None-
theless, because the complexity of computing the recursions 3.3 and 3.5 and testing
Fathoming 1 increases, the computing time to compute the lower bound and the total
computing time may increase.

The ngL-tour relaxation dominates the ng-tour relaxation but is more time consuming.
At the same time, the lower bound that can be achieved with the ngL-tour relaxation
is sometimes just slightly better or the same bound that can be achieved with the
ng-tour relaxation. In particular, we can see that the higher is the number of arcs in
the precedence digraph G b (i.e., P rec), the lower is the increment of the lower bound
when applying ngL-tour relaxation instead of the ng-tour relaxation.

Notice that the ngL-tour relaxation allows us to solve a few instances that cannot
be solved with the ng-tour relaxation. Thus, BMR.ng uses the ng-tour relaxation if
P rec ≥ 80 and the ngL-tour relaxation otherwise.

In computing the lower bound LB (see §3.5.3), parameter ∆(Ni ) was set equal to 11
when using the ng-tour relaxation and equal to 13 when using ngL-tour relaxation. In
computing bounding functions b(S, t, i) (see §3.6), parameter ∆(Ni ) was set equal to
13 for both relaxations.

Finally, in the column generation method described in §3.5, for both BMR.ng and
BMR.t we set M axit0 = 200 and M axit1 = 150. In the exact method, due to memory
limits, the cardinality of the state set F is limited to 108 . Both BMR.ng and BMR.t
terminate prematurely when this memory limit is reached.

3.7.2 Ascheuer Instances

The Ascheuer class consists of 50 asymmetric real-world instances with up to 233


vertices. Both travel costs and times are integer values. Travel times satisfy the
triangle inequality.

Like Dash et al. [2012], we present the results on this class dividing the 50 instances
into 32 easy instances (those solved by Ascheuer et al. [2001] within the time limit of
5 hours) and the remaining 18 hard instances.

Table 3.2 presents the computational results on easy instances. The columns mean
the same as in Table 3.1. For AFG, FLM and DGLT, column (%LB) reports the
percentage deviation of the lower bound at the root node of the decision tree. The
last two lines of the table indicate averages on the percentage deviation of the lower
bounds, the computing times of the instances solved to optimality and the number of
instances solved by each method.
48
Table 3.3: Results on hard Ascheuer instances

BMR.ng BMR.t AFG FLM DGLT LI


Inst |V 0| z∗ P rec LB %LB TLB |F | Ttot %LB Ttot %LB %LB Ttot %LB Ttot Ttot

Chapter 3 Traveling Salesman Problem with Time Windows


rbg041a 43 402 77.3 402.0 100.0 2.0 2.0 95.4 4.2 89.8 87.6 tl 97.5 146.8 2.2
rbg042a 44 411 71.6 411.0 100.0 6.6 6.6 97.7 5.0 95.9 90.0 149.8 98.3 188.3 35.6
rbg048a 50 487 47.8 487.0 100.0 12.3 12.3 100.0 14.7 93.2 91.2 tl 100.0 129.2 -
rbg049a 51 484 63.4 472.1 97.5 19.5 6 20.4 95.7 13.7 84.3 83.3 tl 95.9 tl -
rbg050b 52 512 61.1 504.8 98.6 19.1 2 19.9 96.5 8.1 87.3 87.1 tl 96.3 tl -
rbg050c 52 526 49.8 522.4 99.3 20.3 93 21.7 98.5 23.1 96.4 95.8 tl 98.3 tl -
rbg086a 88 1,051 91.7 1,050.0 99.9 2.1 1 2.5 99.1 14.5 99.1 97.3 tl 99.8 4.9 1.9
rbg092a 94 1,093 89.8 1,091.6 99.9 6.7 3 7.3 99.7 14.2 99.2 98.8 tl 99.8 90.4 9.0
rbg132.2 132 1,083 88.2 1,080.2 99.7 45.5 294 47.9 99.4 80.5 97.2 n.a. 99.8 2,761.1 -
rbg132 132 1,360 94.2 1,360.0 100.0 10.6 1 11.3 98.9 48.9 97.3 n.a. 99.5 37.6 6.1
rbg152.3 152 1,539 81.3 1,536.2 99.8 47.3 20,971 166.9 99.4 238.8 98.8 n.a. 99.9 10,353.3 -
rbg152 152 1,783 94.0 1,783.0 100.0 18.8 3 19.8 99.3 36.8 98.7 n.a. 99.8 43.7 11.5
rbg172a 174 1,799 93.9 1,799.0 100.0 37.1 4 38.4 99.2 455.7 98.8 n.a. 99.8 425.5 544.3
rbg193.2 193 2,017 89.1 2,015.3 99.9 50.8 414 54.4 99.6 76.3 97.6 n.a. 99.7 tl -
rbg193 193 2,414 94.5 2,414.0 100.0 46.4 16 47.9 99.8 65.9 98.8 n.a. 100.0 159.6 3,165.7
rbg201a 203 2,189 94.8 2,189.0 100.0 54.3 4 56.0 99.3 716.2 98.6 n.a. 99.9 462.7 581.1
rbg233.2 233 2,188 90.9 2,187.0 100.0 72.1 8,969 120.6 99.8 124.4 98.1 n.a. 99.7 tl -
rbg233 233 2,689 95.4 2,688.0 100.0 78.9 35 81.0 99.5 319.3 98.0 n.a. 100.0 749.4 1,433.3
Avg 99.7 30.6 40.9 98.7 125.6 95.9 91.4 149.8 99.1 1,196.3 579.0
Solved 18 18 1 13 10
n.a. Data not available
Chapter 3 Traveling Salesman Problem with Time Windows 49

Table 3.2 shows that the lower bound computed by BMR.ng closes the gap on all but
3 instances. BMR.ng solves all 32 instances with the same performance of DGLT.

Table 3.3 reports the results on hard Ascheuer instances. In column z ∗ the optimal
value is in bold when instances were solved for the first time by BMR.ng. Table
3.3 shows that BMR.ng solves the 5 open instances and outperforms the other exact
methods.

3.7.3 Pesant Instances

The Pesant class consists of 27 symmetric instances proposed by Pesant et al. [1998]
with 21 to 46 vertices. Travel costs and times are the Euclidean distances truncated
to four decimal places. Travel times include service times and satisfy the triangle
inequality.

Table 3.4 reports the results on Pesant instances. The lower bounds computed by
BMR.ng are of excellent quality. BMR.ng and BMR.t solve all instances of this class
and clearly outperform FLM, DGLT and LI.

3.7.4 Potvin Instances

The Potvin class consists of 28 symmetric instances introduced by Potvin and Bengio
[1996] with 15 to 47 vertices (we neglect instances with fewer than 10 vertices). The
instances feature x-y coordinates. Travel times are Euclidean and include service time
at the starting vertex of each arc. Travel costs and travel times coincide.

In Table 3.5, we compare BMR.ng and BMR.t with LI. In column z ∗ , the optimal
solution cost is rounded to two decimal places. The last column indicates the computing
time of LI (a “-” is reported when the instance was not solved).

From Table 3.5, both BMR.ng and BMR.t compare favorably with LI. BMR.ng is
clearly superior to both BMR.t and LI because it solves all instances.

3.7.5 Gendreau Instances

The Gendreau class is made up of 28 groups of 5 instances proposed by Gendreau


et al. [1998]. Each group consists of five instances having the same number of vertices
and the same time windows width. The instances are obtained from the instances of
Dumas et al. [1995] extending the time windows and resulting in time windows ranging
from 80 to 200 time units in increments of 20. The number of vertices ranges from 22
to 102.
50 Chapter 3 Traveling Salesman Problem with Time Windows

Table 3.4: Results on Pesant instances

BMR.ng BMR.t FLM DGLT LI


Inst |V 0| z∗ P rec LB %LB TLB |F | Ttot %LB Ttot %LB Ttot %LB Ttot Ttot
rc201.0 27 378.62 84.3 378.62 100.0 0.1 0.1 100.0 0.1 100.0 0.2 100.0 0.0 0.1
rc201.1 30 374.70 85.3 374.70 100.0 0.2 0.2 99.0 0.3 68.4 1.8 100.0 0.0 0.1
rc201.2 30 427.65 83.7 427.65 100.0 0.2 0.2 100.0 0.1 99.0 0.4 100.0 0.0 0.1
rc201.3 21 232.54 82.9 232.54 100.0 0.1 0.1 99.9 0.1 93.7 0.1 98.7 0.1 0.1
rc202.0 27 246.22 45.3 246.22 100.0 0.4 0.4 100.0 0.2 98.2 1.0 100.0 0.2 63.0
rc202.1 24 206.53 55.1 206.53 100.0 0.4 0.4 94.8 0.4 71.1 3.8 100.0 0.1 1.1
rc202.2 29 341.77 61.3 341.77 100.0 0.2 0.2 94.6 0.8 82.5 3.1 100.0 0.1 0.4
rc202.3 28 367.85 50.5 367.85 100.0 0.3 0.3 97.9 0.6 76.8 33.1 100.0 0.2 5.1
rc203.0 37 377.45 24.0 376.22 99.7 4.2 2 4.6 83.4 31.0 79.0 tl 95.4 3,437.7 -
rc203.1 39 356.99 25.1 356.66 99.9 14.1 1 14.5 89.1 20.4 84.4 tl 97.6 2,722.7 -
rc203.2 30 337.47 42.3 337.47 100.0 0.5 0.5 94.1 2.3 87.5 94.3 100.0 0.9 392.7
rc204.0 34 221.45 16.8 221.45 100.0 1.7 1.7 93.1 2.0 96.8 352.8 100.0 2.8 -
rc204.1 30 205.37 14.7 205.37 100.0 4.3 4.3 92.3 9.0 98.9 3.4 99.0 14.9 -
rc204.2 42 378.40 14.6 374.77 99.0 33.5 7 36.4 92.3 29.4 87.3 tl 96.6 tl -
rc205.0 28 251.65 60.1 251.65 100.0 0.3 0.3 100.0 1.4 91.7 7.9 100.0 0.1 1.9
rc205.1 24 271.22 67.8 271.22 100.0 0.2 0.2 98.9 0.2 88.7 0.2 100.0 0.0 0.4
rc205.2 30 434.70 68.5 434.70 100.0 0.4 0.4 92.7 1.2 67.8 1,289.1 100.0 0.3 0.3
rc205.3 26 361.24 64.6 361.24 100.0 0.2 0.2 100.0 0.2 72.4 4.7 100.0 0.0 0.1
rc206.0 37 485.23 62.6 485.23 100.0 0.8 0.8 90.3 1.7 89.1 338.1 97.5 73.3 1.6
rc206.1 35 334.73 57.8 334.73 100.0 1.0 1.0 96.3 0.8 96.0 22.9 98.2 85.0 42.5
rc206.2 34 335.37 55.8 335.37 100.0 0.9 0.9 98.7 0.9 96.0 24.1 98.8 84.8 189.5
rc207.0 38 436.69 38.7 436.69 100.0 0.6 0.6 95.1 2.0 75.9 572.0 99.5 19.0 18,691.8
rc207.1 35 396.36 37.8 396.36 100.0 1.4 1.4 94.4 1.6 94.4 321.7 98.4 34.9 10,864.5
rc207.2 32 246.41 33.3 246.41 100.0 0.6 0.6 98.4 0.7 96.7 15.1 97.2 116.4 -
rc208.0 46 380.56 8.6 380.56 100.0 38.1 38.1 92.8 63.4 85.1 tl 93.4 tl -
rc208.1 29 239.04 13.5 239.04 100.0 6.9 6.9 96.5 0.9 96.1 34.2 96.1 990.6 -
rc208.2 31 213.92 12.7 213.92 100.0 1.3 1.3 94.4 1.2 100.0 1.4 100.0 7.9 -
Avg 99.9 4.2 4.3 95.5 6.4 87.9 135.9 98.8 303.7 1,680.8
Solved 27 27 23 25 18

The name of each instance indicates the number of vertices (excluding p and q), the
width of the time windows, and the instance number in the group (e.g. n20w120.1
is the first instance of the group of 5 instances with 22 vertices and time windows of
120 units). In some papers, two groups of instances (n100w80.x and n100w100.x) are
included in the Dumas class instead of the Gendreau class, but the instances coincide.

Travel times and costs coincide and are first computed as truncated integer Euclidean
distances and then modified to satisfy triangle inequality by iteratively setting cij =
tij = tik + tkj , if tik + tkj < tij , until no violation is identified.

Because t-tour relaxation requires strictly positive travel times, BMR.t was not tested
on the Gendreau instances such that tij = 0 for some arc (i, j) ∈ A.

In Table 3.6, we report detailed computational results on Gendreau instances. BMR.ng


and BMR.t are compared with LI. Table 3.6 shows that BMR.ng is much faster than
LI and solves all 140 instances while LI solves 46 of them. BMR.t solves 18 more
instances than LI. The comparison of BMR.t and LI on the instances solved by both
methods shows that BMR.t outperforms LI.
Chapter 3 Traveling Salesman Problem with Time Windows 51

Table 3.5: Results on Potvin instances

BMR.ng BMR.t LI
Inst |V 0| z∗ P rec LB %LB TLB |F | Ttot %LB Ttot Ttot
rc201.1 21 444.54 80.0 444.54 100.0 0.1 0.1 99.6 0.7 0.0
rc201.2 27 711.54 86.0 711.54 100.0 0.2 0.2 100.0 1.3 0.1
rc201.3 33 790.61 86.7 790.61 100.0 0.2 0.2 98.7 4.0 0.1
rc201.4 27 793.64 86.0 793.64 100.0 0.2 0.2 99.4 3.3 0.0
rc202.1 34 771.78 52.2 771.64 100.0 1.0 1 1.3 92.9 9.0 164.5
rc202.2 15 304.14 33.3 304.14 100.0 0.2 0.2 95.5 3.4 0.6
rc202.3 30 837.72 76.6 835.87 99.8 0.2 1 0.4 97.2 5.9 0.0
rc202.4 29 793.03 49.8 791.54 99.8 5.1 1 5.3 98.1 7.2 94.8
rc203.1 20 453.48 40.5 453.48 100.0 0.2 0.2 99.4 3.2 2.4
rc203.2 34 784.16 32.4 781.64 99.7 1.7 1 2.1 93.4 11.1 -
rc203.3 38 817.53 33.1 810.46 99.1 9.3 10 9.9 94.9 71.6 -
rc203.4 16 314.29 28.3 314.29 100.0 0.4 0.4 100.0 0.8 11.1
rc204.1 47 878.64 14.8 872.62 99.3 42.6 10 43.8 93.2 581.6 a -
rc204.2 34 662.16 16.2 650.94 98.3 21.3 151 23.1 90.5 473.4 a -
rc204.3 25 455.03 17.0 455.03 100.0 9.9 9.9 95.0 9.0 -
rc205.1 15 343.21 67.6 343.21 100.0 0.1 0.1 98.3 4.8 0.0
rc205.2 28 755.93 72.0 755.93 100.0 0.3 0.3 98.8 3.7 0.2
rc205.3 36 825.06 57.3 825.06 100.0 2.2 2.2 97.7 8.5 197.7
rc205.4 29 760.47 76.1 756.95 99.5 0.2 1 0.4 97.5 4.1 0.1
rc206.2 38 828.06 59.9 826.66 99.8 6.4 1 6.8 95.3 9.7 20.5
rc206.3 26 574.42 52.3 574.42 100.0 0.6 0.6 90.0 6.3 5.5
rc206.4 39 831.67 59.0 827.54 99.5 1.8 1 2.2 90.5 13.4 69.6
rc207.1 35 732.68 42.9 731.57 99.8 9.0 1 9.3 93.3 11.9 -
rc207.2 32 701.25 33.7 694.22 99.0 53.1 5 54.8 89.4 47.2 -
rc207.3 34 682.40 30.8 677.23 99.2 1.9 1 2.3 91.8 15.6 -
rc208.1 39 789.25 10.4 785.69 99.5 46.7 2 47.5 90.0 435.9 a -
rc208.2 30 533.78 13.1 533.78 100.0 30.1 30.1 93.8 25.2 -
rc208.3 37 634.44 10.7 622.48 98.1 82.0 24 86.8 94.1 532.6 a -
Avg 99.7 11.7 12.2 95.3 11.7 33.3
Solved 28 24 17
a
BMR.t runs out of memory

3.7.6 Olhmann Instances

The Olhmann class was proposed by Ohlmann and Thomas [2007] and consists of
25 instances divided in five groups. The instances have 152 or 202 vertices and are
obtained from the Dumas instances by extending the time windows by 100 time units.
Travel times and travel costs are computed as for the Gendreau class.

To our knowledge, no exact method has been tested on this class so far. In Table
3.7, we report the computational results of BMR.ng. BMR.t was not tested on these
instances as the requirement of strictly positive travel times is not satisfied by any of
the instances.

The table shows that all but one instance can be solved in a reasonable amount of
computing time. Instance n200w140.4 could not be solved as BMR.ng ran out of
memory (i.e., |F | > 108 ). BMR.ng ran out of memory after 2,413.1 seconds at iteration
52 Chapter 3 Traveling Salesman Problem with Time Windows

Table 3.6: Results on Gendreau instances

BMR.ng BMR.t LI BMR.ng BMR.t LI

Inst z∗ P rec %LB Ttot %LB Ttot Ttot Inst z∗ P rec %LB Ttot %LB Ttot Ttot

n20w120.1 267 62.8 100.0 0.4 100.0 0.2 0.2 n60w200.1 410 47.2 100.0 14.7 89.2 714.0 b -
n20w120.2 218 52.4 100.0 0.5 96.6 0.2 0.3 n60w200.2 414 52.1 100.0 7.4 a -
n20w120.3 303 63.2 100.0 0.5 94.2 0.2 0.1 n60w200.3 455 46.1 97.6 192.1 a -
n20w120.4 300 63.2 100.0 0.3 97.2 0.1 0.1 n60w200.4 431 52.2 99.7 18.4 96.6 14.7 -
n20w120.5 240 60.2 100.0 0.3 99.3 0.3 0.3 n60w200.5 427 47.5 99.6 20.0 a -

n20w140.1 176 50.2 100.0 0.4 95.3 0.6 0.5 n80w100.1 541 74.2 100.0 3.8 a -
n20w140.2 272 56.7 100.0 0.4 95.9 0.3 0.1 n80w100.2 567 80.4 100.0 1.1 a -
n20w140.3 236 54.5 100.0 0.3 92.9 0.5 0.1 n80w100.3 578 75.7 100.0 3.4 a -
n20w140.4 255 51.1 100.0 1.2 96.3 0.5 0.3 n80w100.4 648 82.0 99.6 20.4 98.3 1.2 -
n20w140.5 225 58.9 100.0 0.3 88.4 0.6 0.1 n80w100.5 532 76.4 100.0 6.1 a -

n20w160.1 241 51.9 100.0 0.6 92.5 0.4 1.6 n80w120.1 498 70.8 99.9 27.0 a -
n20w160.2 201 52.8 100.0 0.3 95.0 0.2 0.1 n80w120.2 577 73.6 99.9 16.0 a -
n20w160.3 201 60.2 100.0 0.3 98.5 0.3 0.1 n80w120.3 540 73.1 100.0 6.4 a -
n20w160.4 203 42.0 100.0 0.7 90.8 0.4 3.4 n80w120.4 501 68.7 98.1 61.4 a -
n20w160.5 245 50.6 100.0 0.3 87.7 0.7 0.3 n80w120.5 591 72.2 99.3 39.6 a -

n20w180.1 253 51.5 100.0 0.3 97.7 0.3 0.4 n80w140.1 511 68.0 100.0 7.5 a -
n20w180.2 265 50.2 100.0 0.3 99.4 0.4 0.3 n80w140.2 470 67.8 99.8 77.8 a -
n20w180.3 271 44.2 100.0 1.0 94.1 0.5 0.4 n80w140.3 580 68.7 99.1 46.5 a -
n20w180.4 201 42.9 100.0 0.4 96.4 0.3 3.2 n80w140.4 422 67.8 99.6 38.8 a -
n20w180.5 193 35.9 100.0 0.3 91.7 0.7 27.2 n80w140.5 545 68.4 100.0 8.1 94.5 282.7 -

n20w200.1 233 38.1 100.0 1.1 93.1 0.4 12.0 n80w160.1 506 62.6 100.0 93.7 a -
n20w200.2 203 31.6 100.0 1.1 94.9 0.6 55.7 n80w160.2 548 60.6 99.9 194.8 a -
n20w200.3 249 40.3 100.0 0.8 89.5 0.8 4.5 n80w160.3 521 60.4 100.0 58.2 a -
n20w200.4 293 41.6 98.8 2.4 90.6 0.8 3.0 n80w160.4 509 63.5 100.0 50.8 a -
n20w200.5 227 34.2 100.0 0.4 99.5 0.3 26.4 n80w160.5 438 63.3 100.0 58.1 92.8 576.8 b -

n40w120.1 434 70.4 100.0 2.1 a 15.7 n80w180.1 551 57.8 99.9 75.4 91.9 702.3 b -
n40w120.2 444 66.7 100.0 1.9 95.4 1.7 51.5 n80w180.2 478 58.5 100.0 61.5 a -
n40w120.3 357 65.9 100.0 2.1 98.8 1.5 39.1 n80w180.3 524 55.3 100.0 84.3 89.7 967.6 b -
n40w120.4 303 63.8 100.0 1.9 88.7 2.4 28.6 n80w180.4 479 59.6 100.0 47.4 a -
n40w120.5 350 68.3 100.0 1.3 98.9 0.9 2.4 n80w180.5 470 61.5 100.0 49.0 91.9 602.8 b -

n40w140.1 328 65.2 100.0 2.0 97.3 1.0 42.9 n80w200.1 490 47.5 99.3 177.4 a -
n40w140.2 383 63.8 100.0 1.5 92.4 3.2 83.2 n80w200.2 488 55.1 99.9 32.1 a -
n40w140.3 398 66.9 100.0 2.2 a 5.5 n80w200.3 464 50.0 99.6 39.5 a -
n40w140.4 342 59.9 100.0 1.7 93.1 2.1 230.5 n80w200.4 526 54.1 99.1 63.3 a -
n40w140.5 371 56.3 100.0 6.2 95.7 1.5 1,288.1 n80w200.5 439 49.0 99.8 46.9 a -

n40w160.1 348 56.8 100.0 1.4 94.3 1.0 117.3 n100w80.1 670 84.3 100.0 4.5 a -
n40w160.2 337 56.1 100.0 1.2 95.7 0.9 1,331.4 n100w80.2 666 86.4 99.9 2.5 98.3 2.9 -
n40w160.3 346 53.7 100.0 3.5 a 474.4 n100w80.3 691 85.4 100.0 1.4 97.9 7.0 -
n40w160.4 288 47.5 100.0 12.9 90.6 196.6 - n100w80.4 700 84.1 100.0 2.8 a -
n40w160.5 315 51.5 100.0 6.9 92.6 4.5 9,369.0 n100w80.5 603 82.3 100.0 2.6 a -

n40w180.1 337 51.3 100.0 25.9 87.7 9.7 - n100w100.1 643 79.7 100.0 18.4 a -
n40w180.2 347 47.5 100.0 14.9 a - n100w100.2 618 81.0 100.0 2.5 96.3 37.3 -
n40w180.3 279 51.7 100.0 1.6 a - n100w100.3 685 80.5 100.0 4.5 96.3 15.8 -
n40w180.4 354 52.7 99.6 7.5 96.6 1.1 - n100w100.4 684 79.9 99.5 83.6 a -
n40w180.5 335 43.9 100.0 4.8 86.2 48.0 - n100w100.5 572 78.2 100.0 18.6 a -

n40w200.1 330 39.7 100.0 8.8 a - n100w120.1 629 78.2 100.0 34.5 a -
n40w200.2 303 39.6 99.7 17.1 a - n100w120.2 540 77.4 99.2 24.1 a -
n40w200.3 339 42.0 95.0 25.8 a - n100w120.3 615 74.2 100.0 61.6 97.1 33.2 -
n40w200.4 301 47.6 99.7 12.9 87.4 12.5 - n100w120.4 662 79.7 99.7 91.4 a -
n40w200.5 296 35.0 100.0 8.9 93.0 4.6 - n100w120.5 537 74.9 100.0 42.1 a -

n60w120.1 384 69.7 100.0 17.6 96.1 3.0 8,431.4 n100w140.1 603 71.2 100.0 38.1 a -
n60w120.2 426 72.6 100.0 4.1 99.0 0.9 419.3 n100w140.2 613 74.3 100.0 44.4 a -
n60w120.3 407 69.1 100.0 6.0 a 20,411.3 n100w140.3 481 73.9 100.0 51.5 a -
n60w120.4 490 70.1 100.0 4.8 96.5 5.0 13,702.2 n100w140.4 533 74.3 100.0 24.7 a -
n60w120.5 547 70.7 100.0 9.1 96.9 1.9 1,455.1 n100w140.5 509 73.1 99.1 66.9 90.5 725.4 b -

n60w140.1 423 65.8 99.6 8.4 a - n100w160.1 582 69.4 100.0 117.4 92.0 310.0 b -
n60w140.2 462 67.3 99.8 11.5 96.0 2.8 4,497.5 n100w160.2 530 68.8 99.8 99.5 a -
n60w140.3 427 66.0 100.0 11.8 94.6 10.1 - n100w160.3 495 71.5 100.0 52.6 a -
n60w140.4 488 67.6 100.0 14.2 93.7 2.9 - n100w160.4 580 69.8 100.0 116.6 a -
n60w140.5 460 66.1 99.0 33.4 90.6 8.5 5,148.5 n100w160.5 586 71.9 99.9 72.9 a -

n60w160.1 560 63.5 99.3 42.6 90.9 458.2 - n100w180.1 568 60.6 99.4 170.4 a -
n60w160.2 423 62.3 100.0 7.7 98.7 2.2 - n100w180.2 503 60.8 100.0 40.4 a -
n60w160.3 434 54.5 99.7 34.8 92.8 184.0 b - n100w180.3 574 61.9 99.0 135.2 a -
n60w160.4 401 62.7 100.0 4.0 96.5 6.2 - n100w180.4 526 61.7 100.0 128.4 a -
n60w160.5 501 63.0 100.0 7.2 91.6 356.0 - n100w180.5 501 60.0 98.6 117.9 a -

n60w180.1 411 56.7 99.1 103.9 a - n100w200.1 549 55.7 100.0 424.3 a -
n60w180.2 399 53.7 100.0 8.4 95.4 13.3 - n100w200.2 502 55.9 100.0 86.9 a -
n60w180.3 444 54.7 99.1 28.5 90.9 624.0 b - n100w200.3 557 57.9 99.5 264.6 a -
n60w180.4 456 54.9 99.9 51.6 93.5 20.8 - n100w200.4 521 57.3 99.4 199.5 a -
n60w180.5 395 50.3 98.4 39.3 a - n100w200.5 486 55.5 99.8 104.7 a -

Avg 99.8 36.7 94.2 24.9 1,462.7


Solved 140 64 46
a: not attempted as tij = 0 for some (i, j) ∈ A
b
BMR.t runs out of memory
Chapter 3 Traveling Salesman Problem with Time Windows 53

Table 3.7: Results on Olhmann instances

BMR.ng
Inst z∗ P rec LB %LB TLB |F | Ttot
n150w120.1 732 77.5 725.5 99.1 243.8 243 248.6
n150w120.2 677 77.8 668.4 98.7 130.5 12,149 260.6
n150w120.3 747 76.5 746.4 99.9 160.0 2 163.2
n150w120.4 762 78.0 761.6 99.9 172.8 1 176.0
n150w120.5 689 76.9 684.7 99.4 113.1 373 118.9
n150w140.1 762 72.5 754.0 98.9 198.2 14,993 350.2
n150w140.2 753 74.5 752.0 99.9 439.0 7 442.1
n150w140.3 613 73.3 608.5 99.3 420.6 1,671 440.9
n150w140.4 676 73.7 676.0 100.0 104.8 104.8
n150w140.5 663 73.1 662.0 99.8 365.9 3 369.4
n150w160.1 704 70.4 701.4 99.6 262.9 48 266.5
n150w160.2 711 69.3 709.7 99.8 213.1 5 216.4
n150w160.3 608 71.9 603.2 99.2 483.0 352 491.8
n150w160.4 672 69.9 672.0 100.0 570.6 12 577.1
n150w160.5 658 71.0 655.0 99.5 169.5 44 173.4
n200w120.1 795 78.3 793.3 99.8 303.8 57 308.8
n200w120.2 721 80.2 713.9 99.0 110.4 20,223 257.1
n200w120.3 879 80.4 868.6 98.8 151.1 57,625 958.6
n200w120.4 777 79.1 775.8 99.8 412.3 13 417.1
n200w120.5 840 79.6 833.2 99.2 237.4 29,072 574.3
n200w140.1 830 77.1 826.2 99.5 1,217.8 6,261 1,274.9
n200w140.2 760 76.3 756.2 99.5 614.5 407 624.5
n200w140.3 758 76.3 756.0 99.7 250.7 133 259.0
n200w140.4 816a 75.3 807.1 98.9 592.9 - 2,413.1 b
n200w140.5 822 76.6 819.6 99.7 515.2 90 521.0
Avg 99.5 338.2 399.8
Solved 24
a
Best known upper bound found by López Ibáñez and Blum [2010]
b
BMR.ng ran out of memory after 2,413.1 seconds. This time
is not included in the final average computing time

h = 7 with zU7 B = 814. Thus, zU6 B = 813 is a valid lower bound on the optimal solution
cost.

3.7.7 More Details on the Computational Results

Table 3.8 shows average results of the exact method, BMR.ng, using either the ng-tour
or ngL-tour relaxations on the 6 classes of instances. Columns %LB show that the
ngL-tour relaxation closes half of the gap left by the ng-tour relaxation but is more
time-consuming. Columns “Solved” show the effectiveness of the ngL-tour relaxation
in solving the Ohlmann instances. BMR.ng using the ng-tour relaxation cannot solve
4 of the instances (n150w120.2, n150w140.1, n200w120.5, n200w140.1) solved by using
the ngL-tour relaxation.

Table 3.9 shows the effectiveness of the dominance and fathoming rules applied in Step
2 of the exact method (see §3.3). For a selected set of difficult instances, the table
54 Chapter 3 Traveling Salesman Problem with Time Windows

Table 3.8: Comparison of ng-tour and ngL-tour relaxations

BMR.ng with ng-tour BMR.ng with ngL-tour


Class #instances Solved %LB TLB Ttot Solved %LB TLB Ttot
Ascheuer Easy 32 32 99.00 1.4 1.7 32 99.99 2.6 2.8
Ascheuer Hard 18 18 99.60 23.5 33.4 18 99.70 89.2 114.1
Pesant 27 27 99.95 3.1 3.3 27 99.95 4.2 4.3
Potvin 28 28 99.50 8.9 9.7 28 99.67 11.7 12.2
Gendreau 140 140 99.59 19.1 37.7 140 99.78 35.6 36.9
Olhmann 25 20 99.25 197.1 242.6 24 99.55 340.1 404.7
Avg 99.52 28.0 42.1 99.78 56.8 65.0
Sum 270 265 269

Table 3.9: Effectiveness of the Dominance and Fathoming Rules

F ath 1 Dom 1 F ath 2 U ndominated


Inst n1 %n1 n2 %n2 n3 %n3 n4 %n4
rbg049a 71 54.7 4 5.4 50 89.4 6 4.5
rbg050b 13 40.2 1 2.5 18 92.9 2 4.1
rbg050c 1,275 52.5 80 6.9 979 91.3 93 3.8
rbg193.2 6,394 70.6 1,027 38.6 1,219 74.6 414 4.6
rbg233.2 166,371 75.0 24,763 44.7 21,671 70.7 8,969 4.0
n150w120.2 369,823 76.5 6,281 5.5 95,468 88.7 12,149 2.5
n150w140.1 579,249 79.9 3,506 2.4 126,949 89.4 14,993 2.1
n200w120.2 629,067 77.7 5,461 3.0 154,832 88.4 20,223 2.5
n200w120.3 2,338,415 80.5 23,374 4.1 486,025 89.4 57,625 2.0
n200w120.5 1,389,485 81.8 9,951 3.2 270,429 90.3 29,072 1.7
n200w140.1 320,984 82.8 1,673 2.5 58,525 90.3 6,261 1.6
%n1 = n1 /(n1 + n2 + n3 + n4 ) ∗ 100 %n2 = n2 /(n2 + n3 + n4 ) ∗ 100
%n3 = n3 /(n3 + n4 ) ∗ 100 %n4 = n4 /(n1 + n2 + n3 + n4 ) ∗ 100

reports the following columns: the number of states fathomed by Fathoming 1 (n1 ),
the percentage of times Fathoming 1 is successfully applied (%n1 ), the number of states
dominated by Dominance 1 (n2 ), the percentage of times Dominance 1 is successfully
applied (%n2 ), the number of states fathomed by Fathoming 2 (n3 ), the percentage of
times Fathoming 2 is successfully applied (%n3 ), the number of undominated states
(n4 ), and the percentage of undominated states on the number of states generated
(%n4 ).

From Table 3.9, the effectiveness of the dominance and fathoming rules is noticeable.
In particular, it is remarkable that 70 to 90% of the states that are not discarded by
Fathoming 1 and Dominance 1 can be fathomed with Fathoming 2.
Chapter 3 Traveling Salesman Problem with Time Windows 55

3.8 Conclusions

In this chapter, we described an exact dynamic programming algorithm for the Trav-
eling Salesman Problem with Time Windows (TSPTW) based on two tour relaxations
called ng-tour and ngL-tour relaxations.

We reported extensive computational results on several classes of both real-world and


random instances taken from the literature and used them to test both exact and
heuristic methods involving up to 233 vertices.

The exact algorithm solved all but one instance and outperforms all previously pub-
lished exact methods for the TSPTW, solving 136 out of 270 instances for the first
time.
Chapter 4

Vehicle Routing Problem with


Time Windows

In this chapter, we describe an effective exact method for solving both the capacitated
vehicle routing problem (CVRP) and the vehicle routing problem with time windows
(VRPTW) that improves the method proposed by Baldacci et al. [2008] for the CVRP.
The proposed algorithm is based on the set partitioning formulation of the problem.
The ng-route relaxation, introduced in Chapter 3, is used by different dual-ascent
heuristics to find near-optimal dual solutions of the linear relaxation of the set par-
titioning model. We describe a column-and-cut generation algorithm strengthened
by valid inequalities that uses a new strategy for solving the pricing problem. The
ng-route relaxation and the different dual solutions achieved allow us to generate a
reduced set partitioning problem containing all routes of any optimal solution that is
finally solved by an integer programming solver. The proposed method solves 4 of the
5 open Solomon VRPTW instances and significantly improves the running times of
state-of-the-art algorithms for both VRPTW and CVRP.

4.1 Introduction

The problem of supplying customers with vehicles based at a central depot is generally
known as vehicle routing problem (VRP). The solution of a VRP calls for the design
of a set of routes, each performed by a vehicle that starts and ends at the depot, such
that all customers are serviced, a set of operational constraints are satisfied, and the
total routing cost is minimized.
1
This chapter is based on Baldacci et al. [2010, 2011a, 2012a]

57
58 Chapter 4 Vehicle Routing Problem with Time Windows

The two most studied members of the VRP family are the capacitated vehicle routing
problem (CVRP) and the vehicle routing problem with time windows (VRPTW). In
the CVRP, a fleet of identical capacitated vehicles located at a central depot must
be optimally routed to supply a set of customers with known demands. Each vehicle
can perform at most one route, and the total demand delivered by a route cannot
exceed the vehicle capacity. The VRPTW generalizes the CVRP by imposing that
each customer must be visited within a specified time interval, called time window.
The CVRP is N P-hard, so is the VRPTW.

4.2 Literature Review

The most effective exact algorithms for the CVRP are owed to Baldacci et al. [2004],
Lysgaard et al. [2004], Fukasawa et al. [2006], and Baldacci et al. [2008]. Baldacci et al.
[2004] described a branch-and-cut (BC) algorithm based on a two-commodity network
flow formulation of the problem. Lysgaard et al. [2004] proposed a BC algorithm that
enhances the method of Augerat et al. [1995]. The method of Fukasawa et al. [2006]
combines a BC based on the algorithm of Lysgaard et al. [2004] with a new branch-
and-cut-and-price (BCP) algorithm based on the two-index and the set partitioning
(SP) formulations. The lower bound is computed with a column-and-cut generation
method that uses k-cycle-free q-routes (with k up to 4) instead of feasible CVRP
routes and the valid inequalities used by Lysgaard et al. [2004]. The algorithm decides
at the root node to use either a pure BC or the BCP algorithm. Baldacci et al. [2008]
presented an algorithm based on the SP model strengthened with capacity and clique
inequalities and were the first to compute lower bounds based on elementary routes.
Their algorithm could not solve three instances solved by Fukasawa et al. [2006] but is
faster with regards to the problems solved by both methods.

The first exact algorithm for the VRPTW based on the SP formulation was the branch-
and-price (BP) algorithm of Desrochers et al. [1992]. This method was improved by
Kohl et al. [1999] by adding 2-path inequalities to linear relaxation of the SP formu-
lation. Kohl and Madsen [1997] proposed a branch-and-bound algorithm where the
lower bounds were computed using subgradient and bundle methods. These methods
were based on 2-cycle elimination algorithms. Irnich and Villeneuve [2006] described a
BP algorithm where the pricing subproblem is solved with a k-cycle elimination pro-
cedure. Algorithms based on elementary routes were proposed by Feillet et al. [2004]
and Chabrier [2006]. Jepsen et al. [2008] described a BCP algorithm based on the SP
model and Subset-Row (SR) inequalities. This method was improved by Desaulniers
et al. [2008] by adding both SR and generalized k-path inequalities and by using a
tabu search heuristic, instead of dynamic programming (DP) algorithms, to rapidly
generate negative reduced cost routes. Their method outperforms all other algorithms,
Chapter 4 Vehicle Routing Problem with Time Windows 59

remarkably decreasing the computational time, and solving 5 of the 10 open Solomon
instances.

In general, any exact algorithm for the VRPTW based on the SP model can be easily
adapted to solve the CVRP by simply relaxing the time window constraints in the
pricing algorithm. Nonetheless, such a simple adaptation might not be effective, and
none of the methods published in the literature so far for the VRPTW have been
proven to effectively solve the CVRP.

The method of Baldacci et al. [2008] for the CVRP is based on an exact solution
framework that can be tailored to solve the VRPTW as well as several other variants of
the VRP. The method has the following steps: (i) use different bounding procedures to
find near-optimal dual solutions of the linear relaxation of the SP model strengthened
by valid inequalities; (ii) use a column-and-cut generation procedure to reduce the
integrality gap by adding, in a cutting plane fashion, both strengthened capacity and
clique constraints; (iii) use the final dual solution achieved at Step (ii) to generate a
reduced SP problem containing only the routes of reduced cost less than or equal to
the gap between a known upper bound and the lower bound obtained; (iv) solve the
resulting reduced problem with an integer programming (IP) solver.

The key components of this method are the bounding procedures of Step (i) that are
based on the state-space relaxation technique, introduced in Christofides et al. [1981c],
to extend the route set with a relaxation of feasible routes easier to compute, and
the use of bounding functions to reduce the state-space graph computed by DP when
solving the pricing problem and generating the final SP model.

In this chapter, we describe an exact method to solve both the VRPTW and the
CVRP that improves the method of Baldacci et al. [2008]. We show that the ng-route
relaxation (described in Chapter 3 for the TSPTW) improves other nonelementary
route relaxations proposed for the CVRP and VRPTW. This relaxation is particularly
effective for difficult VRPTW instances with wide time windows and loose capacity
constraints. The ng-route relaxation is used at Step (i) to derive a new dual-ascent
heuristic and at Steps (ii) and (iii) to reduce the state-space graph of the DP algorithm
in generating elementary routes. We also describe a new family of valid inequalities,
called weak subset-row inequalities, that are a relaxation of SR inequalities. The main
advantage of these new inequalities is that their duals can be implicitly considered
while solving the pricing problem. Moreover, we propose new ideas to improve the
pricing algorithm in the column-and-cut procedure based on the use of the dual solution
achieved at Step (i) to eliminate routes of negative reduced costs with respect to
the current dual solution that cannot be in any optimal solution. Finally, we report
computational results for both VRPTW and CVRP showing that the proposed method
solves 4 of the 5 open Solomon VRPTW instances and significantly improves the
running times of state-of-the-art algorithms for both VRPTW and CVRP.
60 Chapter 4 Vehicle Routing Problem with Time Windows

4.3 Mathematical Formulation and its Relaxations

The VRPTW is defined on a complete digraph G = (V 0 , A), where V 0 = {0, 1, . . . , n}


is a set of n + 1 vertices and A is the arc set. Vertex 0 represents the depot, and
the vertex subset V = V 0 \ {0} corresponds to n customers. A demand qi and a time
window [ei , li ] are associated with each vertex i ∈ V 0 , where ei and li represent the
earliest and the latest time to visit vertex i. Time windows are “hard”, meaning that
if a vehicle visits a customer before time ei , the service is postponed until time ei . We
assume that q0 = 0. A travel cost dij and a travel time tij > 0 are associated with each
arc (i, j) ∈ A; without loss of generality, we assume that travel time tij includes the
service time at vertex i, so the departure time from any customer i ∈ V coincides with
the end of its service. We also assume that matrices dij and tij satisfy the triangle
inequality; therefore, time windows, travel times, and customer demands can be used
to properly reduce the arc set A as described in Desrochers et al. [1992]. For each
vertex i ∈ V 0 , we indicate with Γi ⊆ V 0 the set of successors of vertex i in graph G
(i.e., Γi = {j ∈ V 0 : (i, j) ∈ A}) and with Γ−1 0
i ⊆ V the set of predecessors of vertex i
in graph G (i.e., Γ−1 0
i = {j ∈ V : (j, i) ∈ A}).

A fleet of m identical vehicles of capacity Q stationed at the depot must fulfill customer
demands. A vehicle route R = (0, i1 , . . . , ir , 0), with r ≥ 1, is a simple circuit in graph
G that passes through the depot, visits vertices V (R) = {0, i1 , . . . , ir } ⊆ V 0 , within
their time windows, leaves the depot 0 at time e0 , returns to the depot 0 before time
l0 , and such that the total demand of visited customers does not exceed the vehicle
P
capacity Q (i.e., i∈V (R) qi ≤ Q). The cost of route R is the sum of the travel costs
of the arc set, A(R), traversed by route R.

The VRPTW consists of designing at most m routes of minimum total cost such that
each customer is visited exactly once by exactly one route.

The following notation is used in the rest of this chapter. Given a set of vertices S ⊆ V ,
P
we indicate with q(S) = i∈S qi the total demand of the customers of the set S and
with k(S) the minimum number of vehicles needed to serve all customers of the set
S. We also denote with qmin = min{mini∈V {qi }, q(V ) − (m − 1)Q} the minimum
customer demand delivered by any feasible route. Finally, we denote with zU B a valid
upper bound on the optimal solution cost of the VRPTW.

We also define a forward path F = (0, i1 , . . . , ik−1 , ik ) as an elementary path that starts
from depot 0 at time e0 , visits vertices V (F ) = {0, i1 , . . . , ik−1 , ik } within their time
windows, and ends at customer σF = ik at time tF ∈ [eσF , lσF ]. We denote by A(F )
P
the set of arcs traversed by path F and by c(F ) = (i,j)∈A(F ) dij the cost of path
F . Similarly, a backward path B = (σB = ik , ik+1 , . . . , ih , 0) is a path that starts from
vertex σB at time tB , visits customers V (B) = {ik , ik+1 , . . . , ih , 0} within their time
windows, and ends at the depot 0 before time l0 .
Chapter 4 Vehicle Routing Problem with Time Windows 61

4.3.1 Set Partitioning Formulation

Let R be the index set of all feasible routes in graph G, and let ai` , i ∈ V 0 , ` ∈ R, be
a binary coefficient equal to 1 if i ∈ V (R` ), 0 otherwise (we assume that a0` = 1, for
each route ` ∈ R). Each route ` ∈ R has an associated cost c` . Let x` , ` ∈ R, be a
binary variable equal to 1 if and only if route ` is in the optimal solution (0 otherwise).
The SP formulation of the VRPTW is
X
(P ) z(P ) = min c` x` , (4.1)
`∈R
X
s.t. ai` x` = 1, i ∈ V, (4.2)
`∈R
X
x` ≤ m, (4.3)
`∈R

x` ∈ {0, 1}, ` ∈ R. (4.4)

Constraints (4.2) specify that each customer i ∈ V must be visited by exactly one
route. Constraint (4.3) requires that at most m routes are selected.

4.3.2 Relaxation LP

The linear relaxation of formulation P can be strengthened with the following valid
inequalities.

i) Capacity constraints (CCs). Let S = {S : S ⊆ V, |S| ≥ 2} be the set of all


subsets of vertices of cardinality greater than 1, and let ρ` (S) = |{(i, j) ∈ A(R` ) :
i ∈ V 0 \ S, j ∈ S}| be the number of times route ` ∈ R enters the set of vertices
S. The capacity constraints (CCs) are
X
ρ` (S)x` ≥ k(S), S ∈ S. (4.5)
`∈R

In solving the VRPTW, we ignore CCs, whereas in solving the CVRP we consider
only a subset of CCs a priori generated as described in Baldacci et al. [2008].

ii) Strengthened capacity constraints (SCs). These inequalities, introduced by


Baldacci et al. [2004], lift CCs and are given by inequalities (4.5) where the route
coefficient ρ` (S) is equal to 1 if V (R` ) ∩ S 6= ∅ and 0 otherwise.

iii) Subset-row inequalities (SR3s). Let C = {C ⊆ V : |C| = 3} be the set of all


customer triplets, and let R(C) ⊆ R be the subset of routes serving at least two
customers in C (i.e., R(C) = {` ∈ R : |V (R` ) ∩ C| ≥ 2}). Subset-row inequalities
(SR3s) are
X
x` ≤ 1, C ∈ C . (4.6)
`∈R(C)
62 Chapter 4 Vehicle Routing Problem with Time Windows

Inequalities SR3s correspond to a subset of SRs and clique inequalities used by


Jepsen et al. [2008] for solving the VRPTW and by Baldacci et al. [2008] for
solving the CVRP, respectively. Hereafter, with C ∈ C we refer to both the index
and the customer triplet of an SR3 inequality.

iv) Weak subset-row inequalities (WSR3s). These inequalities are a relaxed


form of the SR3s (4.6) where, given the triplet C ∈ C , the route set R(C) contains
only those routes traversing at least one arc (i, j) with i, j ∈ C. The reason
for using WSR3s instead of SR3s is that WSR3 dual variables can be implicitly
considered in solving the pricing problem. The SR3s (4.6) and, thus, the WSR3s
are separated by complete enumeration.

We denote by LP the linear relaxation of formulation P strengthened with inequalities


(4.5) and (4.6) and by z(LP ) its optimal solution cost. Moreover, we denote by D the
dual of problem LP . The dual variables are given by the vectors u = (u0 , u1 , . . . , un ),
v = (v1 , v2 , . . . , v|S | ), and g = (g1 , g2 , . . . , g|C | ), where u1 , . . . , un ∈ R are the dual
variables of constraints (4.2), u0 ∈ R− is the dual variable associated with constraint
|S | |C |
(4.3), v ∈ R+ are the dual variables of inequalities (4.5), and g ∈ R− are the dual
variables of inequalities (4.6).

By enlarging the route set R to contain also nonnecessarily elementary routes, we


can design efficient dual-ascent heuristic procedures to find near-optimal solutions of
D. In §4.5, we describe three bounding procedures, called H 1 , H 2 and H 3 , where
procedure H k provides lower bound LBk corresponding to the cost of both a feasible
D solution (uk , v k , g k ) and a nonnecessarily feasible P solution xk . In §4.6, we describe
a column-and-cut generation bounding procedure, called H 4 , for solving problem LP ,
that computes lower bound LB4 corresponding to the D solution (u4 , v 4 , g 4 ). In the
following, we denote with ck` the reduced cost of route ` ∈ R with respect to the D
solution (uk , v k , g k ).

Procedure H 4 differs from classical column-and-cut generation methods for the new
strategy for solving the pricing problem and the use of the D solution (u3 , v 3 , g 3 ) to
reduce the size of the route set R by removing any route such that c3` > zU B − LB3 .
The usage of the D solution (u3 , v 3 , g 3 ) has the main benefits of (i) eliminating routes
of negative reduced cost when solving the pricing problem in H 4 and (ii) improving
the final lower bound LB4 . Procedures H 1 , H 2 , H 3 and H 4 are executed in sequence,
and the solution (uk , v k , g k ) of H k is used to hot-start procedure H k+1 , k = 1, 2, 3.

4.3.3 ng-Route Relaxation for the CVRP

In §3.4.2, we introduced the ng-route relaxation for the TSPTW. The same route
relaxation can be used for obtaining valid lower bounds to the VRPTW, as well. In
particular, it is used in bounding procedures H 2 , H 3 , and H 4 for solving the pricing
Chapter 4 Vehicle Routing Problem with Time Windows 63

subproblems. In this chapter, as route relaxations of VRPTW elementary routes, we


use (t, i)-routes and (N G, t, i)-routes, which correspond exactly to t-tours and ng-tours
described in §§3.4.1 and 3.4.2. As to the CVRP, we use the (q, i)-path and the ng-route
relaxations that can be described as follows.

A (q, i)-path is a nonnecessarily elementary path that starts from the depot, visits a
set of customers of total demand equal to q, and ends at vertex i ∈ V 0 . The cost f (q, i)
of a least-cost (q, i)-path can be computed as described by Christofides et al. [1981b].
A (q, i)-route is a (q, 0)-path.

A forward ng-path (N G, q, i) is a nonnecessarily elementary path F = (0, i1 , . . . , ik−1 ,


ik = i) that starts from the depot 0, visits a set of customers (each once or more) of
total demand equal to q such that N G = ΠF , ends at customer i ∈ V 0 , and such that
i∈/ ΠF 0 , where F 0 = (0, i1 , . . . , ik−1 ).

We denote by f (N G, q, i) the cost of a least-cost forward ng-path (N G, q, i). An


(N G, q, i)-route is an (N G, q, 0)-path. Functions f (N G, q, i) can be computed using
DP recursions similar to (3.3) as follows.

Define the state-space graph GbF = (F


c, Ac
F ), where the vertex set is defined as

X
c = {(N G, q, i) : i ∈ V 0 , q ∈ [qi , Q], ∀N G ⊆ Ni s.t. N G 3 i and
F qj ≤ q},
j∈N G

and the arc set as

0 0 0 0
Ac
F = {((N G , q , j), (N G, q, i)) : (N G , q , j), (N G, q, i) ∈ F ,
c

j ∈ Γ−1 0 0 0 0
i , q = q − qi , ∀N G ⊆ Nj s.t. N G 3 j and N G ∩ Ni = N G \ {i}}.

The DP recursion for computing functions f (N G, q, i) is

f (N G, q, i) = min {f (N G0 , q 0 , j) + dji }, (N G, q, i) ∈ F
c.
(N G0 ,q 0 ,j) : ((N G0 ,q 0 ,j),(N G,q,i))∈AbF
(4.7)

By using the transpose of the cost matrix [dij ], we can compute the reverse func-
tions f −1 (q, i) and f −1 (N G, q, i) with recursions similar to those used for f (q, i) and
f (N G, q, i). For symmetric CVRPs, we have f −1 (q, i) = f (q, i) and f −1 (N G, q, i) =
f (N G, q, i).

4.4 An Exact Algorithm

In this section, we describe an exact algorithm for solving both the VRPTW and the
CVRP. The algorithm generates a reduced problem Pe obtained from P by replacing
the route set R with a smaller route set Re ⊆ R containing any optimal solution and
64 Chapter 4 Vehicle Routing Problem with Time Windows

solves Pe with an IP solver. The core of the algorithm is the bounding procedures H 1 ,
H 2 , H 3 , and H 4 described in §§4.5 and 4.6. The algorithm can be described as follows.

Step 1. Execute in sequence bounding procedures H 1 , H 2 and H 3 . If the LP solution


xk corresponding to lower bound LBk is a feasible P solution, for some k ∈
{1, 2, 3}, xk is an optimal solution, stop.

Step 2. Call procedure GenR (see §4.5.5) to generate the largest route set R 3 ⊆ R
such that (i) c3` ≤ zU B − LB3 , ` ∈ R 3 , and (ii) |R 3 | ≤ ∆(R), where ∆(R) is a
parameter. If |R 3 | < ∆(R), R 3 contains the routes of any optimal solution of
cost less than or equal to zU B and is defined optimal. Otherwise, R 3 is defined
nonoptimal.

Step 3. Call procedure H 4 to compute lower bound LB4 corresponding to the cost of
the D solution (u4 , v 4 , g 4 ). If the optimal LP solution x4 is integer, stop.

Step 4. We have two cases

(a) If the route set R 3 is optimal, select the subset Re ⊆ R 3 of routes such
that c4` ≤ zU B − LB4 .
(b) If the route set R 3 is nonoptimal, call GenRF (see §4.7) to compute the set
of routes Re such that

c3` ≤ zU B − LB3 ` ∈ Re 


c4` ≤ zU B − LB4 ` ∈ Re (4.8)
|R|

e ≤ ∆(R) 

If |R|
e < ∆(R), then Re contains the routes of any optimal solution and is
defined optimal.

Step 5. Solve problem Pe derived from P by replacing the route set R with the route
set Re and by adding the subsets of CCs and SR3s saturated by the optimal
LP solution produced by H 4 . Let z(Pe) be the cost of the optimal solution x̃
of Pe (we assume z(Pe) = ∞ if no feasible solution exists). If the route set Re is
optimal, then x̃ is an optimal solution; otherwise, min{z(Pe), zU B } is a valid
upper bound to z(P ).

4.5 Bounding Procedures H 1 , H 2 and H 3

Bounding procedures H 1 , H 2 and H 3 use the same column-and-cut generation method,


called CCG, to find lower bounds LB1 , LB2 and LB3 corresponding to the cost of
three near-optimal D solutions. Procedures H 1 and H 2 are based on two different
route relaxations and add CCs. Procedure H 3 is based on elementary routes and adds
both SCs and WSR3s.
Chapter 4 Vehicle Routing Problem with Time Windows 65

4.5.1 Algorithm CCG

Algorithm CCG differs from standard column-and-cut generation methods based on


the simplex algorithm because it uses a dual-ascent heuristic algorithm to solve the
master problem. Procedure CCG was proposed by Baldacci et al. [2008] for the CVRP
and used by Boschetti et al. [2008] for the set partitioning problem, who showed that
CCG is faster than the simplex because it is not affected by the typical degeneracy of
the simplex.

Define A(C) = {(i, j) ∈ A : i, j ∈ C}, and let C` = {C ∈ C : |A(C) ∩ A(R` )| ≥ 1} be


the subset of WSR3s involving the route `. Algorithm CCG is based on the following
theorem, which is a straightforward extension of Theorem 1 described in §3.5.2.
Theorem 1. Let λ = (λ0 , λ1 , . . . , λn ), µ = (µ1 , . . . , µ|S | ), ω = (ω1 , . . . , ω|C | ) be three
vectors of penalties, where penalty λ0 ∈ R− is associated with constraint (4.3), penal-
ties λi ∈ R, i ∈ V , with constraints (4.2), penalties µS ∈ R+ , S ∈ S , with constraints
(4.5) in the form of either SCs or CCs, and penalties ωC ∈ R− , C ∈ C , with con-
straints (4.6) in the relaxed form of WSR3s. Let Rb be the index set of nonnecessarily
elementary routes given by some SSR. A feasible dual solution (u, v, g) of problem LP
of cost z(D(λ, µ, ω)) is obtained as

ui = bi + λi i ∈ V 



u0 = λ0 
, (4.9)
v S = µS S∈S 


C∈C

gC = ωC 

where bi , i ∈ V , is defined as
 X X X 


 c` − ai` λi − ρ ` (S)µ S − ωC 


0
 
i∈V S∈S C∈C`
bi = qi min X . (4.10)
`∈Rb : ai` ≥1 

 ai` qi 


 
i∈V

Proof. Consider a route ` ∈ R.b From the definition of the dual solution (u, v, g), we
derive
X X X
c` − ai` λi − ρ` (S)µS − ωC
i∈V 0 S∈S C∈C`
ui ≤ qi X + λi , i ∈ V : ai` ≥ 1.
ai` qi
i∈V

Thus, for each route ` ∈ R,


b the following relation holds
X X X
c` − ai` λi − ρ` (S)µS − ωC
X X i∈V 0 S∈S C∈C` X
ai` ui ≤ ai` qi X + ai` λi
i∈V 0 i∈V 0 ai` qi i∈V 0

i∈V
66 Chapter 4 Vehicle Routing Problem with Time Windows

X X
= c` − ρ` (S)µS − ωC ,
S∈S C∈C`

which corresponds to the constraint of problem D for route ` ∈ Rb


X X X
ai` ui + ρ` (S)vS + gC ≤ c` .
i∈V 0 S∈S C∈C`

Algorithm CCG is a column-and-cut generation-like method for solving the problem

LCG = max {z(D(λ, µ, ω))}. (4.11)


(λ,µ,ω)

Procedure CCG executes a number of macro-iterations to compute a dual solution


(u0 , v 0 , g 0 ) of the master problem, defined by the route subset R 0 ⊆ R, solving problem
(4.11) with a predefined number M axit2 of subgradient iterations to modify the penalty
vectors (λ, µ, ω).

Baldacci et al. [2008] have shown that a valid subgradient of function z(D(λ, µ, ω))
at point (λ, µ, ω) can be computed by associating, with the current D solution, a
nonnecessarily feasible LP solution x of cost z(LP ) = z(D(λ, µ, ω)) defined as follows.
Let Re be the index set of the distinct routes producing bi , i ∈ V , in expressions (4.10),
and let `(i) be the index of the route in Re associated with bi , i ∈ V . Solution x is
computed as x` = i∈V P ai` qaii` qi ξ`i , ` ∈ R,
e by setting ξ i = 1 and ξ i = 0, for each
P
i∈V `(i) `
route ` ∈ R \ {`(i)}, and each customer i ∈ V . The values of the left-hand-side of
e
constraints (4.2), (4.3), (4.5), and (4.6) with respect to x are used to update penalty
vectors λ, µ, and ω by means of the usual subgradient expressions, where we use
zU B = 1.2z(LP ) instead of a feasible upper bound.

The set S of CCs (or SCs) is generated a priori (see §4.3). After computing the master
dual solution (u0 , v 0 , g 0 ), CCG adds to the master a subset of WSR3 inequalities
violated by the LP solution x. Moreover, CCG generates a subset N of routes
of negative reduced cost with respect to (u0 , v 0 , g 0 ). If N 6= ∅, then CCG sets
R 0 = R 0 ∪ N ; otherwise, (u0 , v 0 , g 0 ) is a feasible D solution. CCG terminates after
M axit1 macro iterations (M axit1 defined a priori).

We denote by (u∗ , v ∗ , g ∗ ) and x∗ the final D and LP solutions of cost LCG achieved
by CCG using penalty vectors (λ∗ , µ∗ , ω ∗ ), respectively.

A step-by-step description of procedure CCG is the following.

Step 1. Initialization. A route set R 0 ⊆ Rb is generated to initialize the master problem


which corresponds to LP , where R is replaced with R 0 . We assume that R 0
contains at least one route passing through each customer i ∈ V . The route set
R 0 and the subsets S and C of SCs and WSR3s are generated, and (λ, µ, ω)
Chapter 4 Vehicle Routing Problem with Time Windows 67

are initialized as described in §§4.5.2, 4.5.3, and 4.5.4. Set LCG = 0 and
iter = 1.

Step 2. Find a master dual solution (u0 , v 0 , g 0 ) of cost z 0 . A near-optimal dual solution
(u0 , v 0 , g 0 ) of cost z 0 of the master problem is computed by an iterative pro-
cedure that initializes z 0 = 0 and performs M axit2 iterations of the following
operations:

(i) Compute a dual solution (u, v, g) of the master of cost z by means of


expressions (4.9) and (4.10), where Rb is replaced with R 0 , using the
current vectors (λ, µ, ω). Let Re be the index set of the distinct routes
producing bi , i ∈ V , in expressions (4.10), and let `(i) be the index of the
route in R 0 associated with bi , i ∈ V . Define a nonnecessarily feasible
LP solution x as x` = i∈V P ai` qaii` qi ξ`i , ` ∈ R,
e by setting ξ i = 1, and
P
i∈V `(i)
ξ i = 0, for each route ` ∈ Re \ {`(i)}, and each customer i ∈ V . If z > z 0 ,
`
update z 0 = z, x0 = x, (u0 , v 0 , g 0 ) = (u, v, g).
(ii) Update the penalty vectors (λ, µ, ω) as follows. Compute
X X
• α0 = x` and αi = ai` x` , i ∈ V ;
`∈Re `∈Re
X
• βS = b` (S)x` , S ∈ S ;
`∈Re
P 
X ai`
• δC = i∈C
x` , C ∈ C .
2
`∈R(C)∩Re

Then, vectors (λ, µ, ω) are modified as follows



λi = λi − γ(αi − 1), i∈V 



λ0 = min{0, λ0 − γ(α0 − m)} 
µS = max{0, µS − γ(βS − k(S)}, S ∈ S 


C∈C

ωC = min{0, ωC − γ(δC − 1)}, 

where  is a positive constant and

0.2z 0
γ=X X X .
(αi − 1)2 + (α0 − m)2 + (β(S) − k(S))2 + (δC − 1)2
i∈V S∈S C∈C

Step 3. Check if (u0 , v 0 , g 0 ) is a feasible D solution. Generate (see §§4.5.2, 4.5.3, and
4.5.4) the largest subset N ⊆ Rb of routes of negative reduced cost with respect
to the current dual master solution (u0 , v 0 , g 0 ) and such that |N | ≤ ∆(N )
(∆(N ) is an a priori defined parameter). If N = ∅ and z 0 is greater than
LCG, then LCG = z 0 , (u∗ , v ∗ , g ∗ ) = (u0 , v 0 , g 0 ), x∗ = x0 and (λ∗ , µ∗ , ω ∗ ) =
(λ, µ, ω); otherwise, R 0 = R 0 ∪ N is updated.

Step 4. Termination criterion. Set iter = iter + 1. If iter = M axit1, stop.


68 Chapter 4 Vehicle Routing Problem with Time Windows

Step 5. Separate WSR3s. Find the set C 0 of the WSR3s most violated by the current
LP solution x0 obtained at Step 2 and such that |C 0 | ≤ ∆(C ). WSR3s are
separated by complete enumeration.

4.5.2 Bounding Procedure H 1

Bounding procedure H 1 enlarges the route set R with the t-routes (to solve the
VRPTW) or the q-routes (in the CVRP, see Christofides et al. [1981b]). The ini-
tial route set R 0 of the master problem contains all single-customer routes (0, i, 0),
i ∈ V . WSR3s are ignored (i.e., we set C = ∅); solving the VRPTW, we initialize
S = ∅, whereas in the CVRP the set S contains CCs and is generated a priori as
described in Baldacci et al. [2008]. We initialize (λ, µ, ω) = (0, 0, 0).

Define the modified arc cost d0ij = dij − 21 (u0i +u0j )− S∈Sij vS0 , (i, j) ∈ A, with respect to
P

the current dual solution (u0 , v 0 , g 0 ), where Sij = {S ∈ S : (i, j) ∈ A, i ∈ V 0 \ S, j ∈


S}. The set N is computed as follows. If we use t-routes, we compute functions f (t, i)
using the modified arc costs d0ij instead of dij . Let h(i) = mint∈[ei ,li ] {f (t, i) + d0i0 }. The
set N contains any t-route corresponding to h(i) < 0, i ∈ V . Similarly, we compute
N when Rb contains q-routes.

At the end, H 1 sets (u1 , v 1 , g 1 ) = (u∗ , v ∗ , g ∗ ), x1 = x∗ , (λ1 , µ1 , ω 1 ) = (λ∗ , µ∗ , ω ∗ ),


LB1 = LCG.

4.5.3 Bounding Procedure H 2

Procedure H 2 enlarges the route set R with the ng-routes and adds to LP the same set
S of CCs used by H 1 . WSR3s (4.6) are ignored. We initialize (λ, µ, ω) = (λ1 , µ1 , ω 1 ),
define d1ij = dij − 21 (u1i + u1j ) − S∈Sij vS1 , (i, j) ∈ A, and compute Ni to be the ∆(Ni )
P

nearest customers to i according to d1ij . We compute functions f (N G, t, i) using d1ij


instead of dij in recursions (4.7) and the costs h(i) = min(N G,t,i)∈Fb {f (N G, t, i) + d1i0 },
i ∈ V , of the least-cost ng-route visiting i immediately before arriving at the depot.
The route set R 0 contains the ng-routes corresponding to h(i) < 0, i ∈ V .

At each iteration, to generate the set N , we compute functions f (N G, t, i) with the


modified arc cost d0ij , (i, j) ∈ A, and Ni contains the ∆(Ni ) nearest customers to i
according to d0ij . The route set N contains every ng-route corresponding to h(i) < 0,
i∈V.

At the end, procedure H 2 sets (u2 , v 2 , g 2 ) = (u∗ , v ∗ , g ∗ ), x2 = x∗ , (λ2 , µ2 , ω 2 ) =


(λ∗ , µ∗ , ω ∗ ), and LB2 = LCG.
Chapter 4 Vehicle Routing Problem with Time Windows 69

4.5.4 Bounding Procedure H 3

Procedure H 3 uses the set of elementary routes R. The sets R 0 and N are generated
using the procedure GenR described in §4.5.5. Given a D solution (ũ, ṽ, g̃) and two
parameters ∆ and γ, GenR generates at most ∆ routes of reduced cost less than or
equal to γ with respect to (ũ, ṽ, g̃).

The initial route set R 0 is obtained by setting ∆ = ∆a , (ũ, ṽ, g̃) = (u2 , v 2 , g 2 ),
and γ = zU B − LB2 , and adding all single-customer routes to R 0 . Moreover, we
initialize (λ, µ, ω) = (λ2 , µ2 , ω 2 ). In generating the route set N , we set ∆ = ∆b ,
(ũ, ṽ, g̃) = (u0 , v 0 , g 0 ), and γ = −ε (say ε = 10−6 ).

Bounding procedure H 3 adds, to LP , the set S of CCs used by H 1 and H 2 in the


form of SCs and separates WSR3s.

At the end, procedure H 3 sets (u3 , v 3 , g 3 ) = (u∗ , v ∗ , g ∗ ), x3 = x∗ , (λ3 , µ3 , ω 3 ) =


(λ∗ , µ∗ , ω ∗ ), and LB3 = LCG.

4.5.5 Procedure GenR

Procedure GenR is a DP algorithm that generates elementary routes using bounding


functions based on the ng-path relaxation. GenR is an extension of the algorithm
described by Baldacci et al. [2008] for the symmetric CVRP that, in turn, is based on
the method proposed by Mingozzi et al. [1994] and adapted by Baldacci et al. [2006] for
the asymmetric CVRP on a multigraph. Similar methods have been used by Righini
and Salani [2008], Jepsen et al. [2008], and Desaulniers et al. [2008].

In §4.3, we gave the definition of forward and backward paths. In addition, for a
P
forward path F = (0, i1 , . . . , ik−1 , ik ), we refer to ik−1 with πF and set qF = i∈V (F ) qi ,
and, for a backward path B = (ik , ik+1 , . . . , ih , 0), we refer to ik+1 with πB and set
P
qB = i∈V (B) qi .

Let τ be a time such that τ ∈ (e0 , l0 ) (say, τ = b(l0 − e0 )/2c). We define F as the set
of all forward paths such that πF is visited at time less than τ , F ∈ F , and B as the
set of all backward paths such that πB is visited at time greater than τ , B ∈ B, plus
all backward paths B = (k, 0), k ∈ V . Procedure GenR is based on the observation
that all feasible VRPTW routes can be obtained combining any pair of paths (F, B),
F ∈ F , B ∈ B, satisfying the following feasibility conditions

σF = σB , V (F ) ∩ V (B) = {0, σF }, tF ≤ tB , qF + qB − qσF ≤ Q. (4.12)

GenR is a two-phase algorithm. Given a D solution (ũ, ṽ, g̃), it generates at most ∆
routes of reduced cost less than or equal to γ. In Phase 1, GenR generates the path
70 Chapter 4 Vehicle Routing Problem with Time Windows

sets F and B using a procedure called GenP; in Phase 2, it derives feasible routes by
combining F and B using a procedure called Combine. GenR is based on the following
lemma.
Lemma 1. Let d˜ij = dij − 12 (ũi + ũj )− S∈Sij ṽs be the arc reduced costs with respect to
P

(ũ, ṽ, g̃), and let c̃(F ) = (i,j)∈A(F ) d˜ij , F ∈ F , and c̃(B) = (i,j)∈A(B) d˜ij , B ∈ B.
P P

Let ` ∈ R be the route of reduced cost c̃` = c` − i∈V (R` ) ũi − S∈S ρ` (S)ṽS −
P P

C∈C` g̃C , where S corresponds to SCs, resulting from a given pair of paths F and
P

B satisfying conditions (4.12). The following inequality holds c̃(F ) + c̃(B) ≤ c̃` .

Proof. Because paths F and B satisfy conditions (4.12) and route ` is the combination
of F and B, we have
X X
dij + dij = c` (4.13)
(i,j)∈A(F ) (i,j)∈A(B)

and
1 X 1 X X
(ũi + ũj ) + (ũi + ũj ) = ũi . (4.14)
2 2
(i,j)∈A(F ) (i,j)∈A(B) i∈V (R` )

From the definitions of d˜ij , c̃(F ) and c̃(B) and from expressions (4.13) and (4.14), we
derive
X X X
c̃(F ) + c̃(B) = c` − ũi − ṽS . (4.15)
i∈V (R` ) (i,j)∈A(R` ) S∈Sij

Because b` (S) ∈ {0, 1}, S ∈ S , as S corresponds to SCs and ṽS ≥ 0, we have


X X X
ṽS ≥ b` (S)ṽS . (4.16)
(i,j)∈A(R` ) S∈Sij S∈S

From expressions (4.15) and (4.16), we obtain


X X
c̃(F ) + c̃(B) ≤ c` − ũi − b` (S)ṽS . (4.17)
i∈V (R` ) S∈S

Because g̃C ≤ 0, C ∈ C , from the definition of c̃` and expression (4.17), we derive the
lemma.

GenR is called (i) at the beginning of H 3 to generate the route set R 0 of the initial master
problem setting (ũ, ṽ, g̃) = (u2 , v 2 , g 2 ) and γ = zU B − LB2 ; (ii) in H 3 to generate
the route set N of negative reduced cost routes setting (ũ, ṽ, g̃) = (u0 , v 0 , g 0 ) and
γ = −ε; (iii) at Step 2 of the exact method (see §4.4) to generate the route set R 3
setting (ũ, ṽ, g̃) = (u3 , v 3 , g 3 ) and γ = zU B − LB3 .

4.5.5.1 Procedure GenP.

Procedure GenP is Phase 1 of GenR and computes the path sets F and B using bounding
functions based on the ng-path relaxation.
Chapter 4 Vehicle Routing Problem with Time Windows 71

In generating the set B, GenP imposes that any path B ∈ B is undominated by any
other path B 0 ∈ B such that V (B) = V (B 0 ), σ(B) = σ(B 0 ), c(B) ≥ c(B 0 ), and
t(B) ≤ t(B 0 ).

˜
Let lb(B) be a lower bound on the reduced cost c̃` , with respect to (ũ, ṽ, g̃), of any
route ` containing path B. Procedure GenP is a Dijkstra-like algorithm (see Baldacci
et al. [2008]) generating B as a sequence of undominated paths (B 1 , . . . , B h ), with
h ≤ ∆(B), such that lb(B˜ 1 ) ≤ . . . ≤ lb(B
˜ h ) ≤ γ, where ∆(B) is a parameter. To
˜
compute lb(B) we have to consider two cases

Case 1: g̃ = 0 (i.e., C = ∅), functions f (N G, t, i) are computed with the modified


costs d˜ij and the subsets Ni , i ∈ V , contain the ∆(Ni ) nearest customers to i
according to d˜ij . Value lb(B)
˜ is given by

˜
lb(B) = c̃(B) + min {f (N G, t0 , σB )}.
N G⊆Ni : N G∩V (B)={σB }, t0 ≤tB

˜
Case 2: g̃ 6= 0, lb(B) is computed extending the ng-route relaxation to consider the
S
dual variables g̃. We define Ni = C∈C : i∈C C, i ∈ V , and, for all i ∈ V
such that |Ni | < ∆(Ni ), we add to Ni the ∆(Ni ) − |Ni | nearest customers to
i according to d˜ij not in Ni . We derive an expanded state-space graph GeF =
(Ff, Af F ) from GF by partitioning all paths represented by state (N G, t, i) ∈ F
b c
in |Γ−1
i | partitions, where each partition is identified by the last vertex j visited
before i and is represented by a state (N G, t, j, i) ∈ F f. The sets F f and Af F
are defined as follows

f = {(N G, t, j, i) : i ∈ V, j ∈ Γ−1 , t ∈ [ei , li ], ∀N G ⊆ Ni s.t. N G 3 i},


F i

0 0 0 0
Af
F = {((N G , t , k, j), (N G, t, j, i)) : (N G , t , k, j), (N G, t, j, i) ∈ F ,
f

j ∈ Γ−1 −1 0 0 0 0
i , k ∈ Γj , t ∈ Ω(t, j, i), ∀N G ⊆ Nj s.t. N G 3 j and N G ∩Ni = N G\{i}},

where Ω(t, j, i) is the set of departure times from vertex j to arrive at vertex
i at time t when j is visited immediately before i and is defined as
(
t0 : t0 ∈ [ej , min{lj , t − tji }]}, if t = ei ,
Ω(t, j, i) =
t − tji : t − tji ∈ [ej , lj ], if t ∈ (ei , li ].

Let Cij = {C ∈ C : (i, j) ∈ A(C)}. A possible DP recursion for computing


the cost f (N G, t, j, i) of a least cost ng-path (N G, t, j, i) ∈ F
f is

X
f (N G, t, j, i) = min
0 0
{f (N G0 , t0 , k, j) + d˜ji − g̃C }.
(N G ,t ,k,j) :
C∈Cji \Ckj
((N G0 ,t0 ,k,j),(N G,t,j,i))∈AbF

˜
The following lemma gives a method for computing lb(B).
72 Chapter 4 Vehicle Routing Problem with Time Windows

˜
Lemma 2. Let i = σB and k = πB . Lower bound lb(B) can be computed as
follows
X
˜
lb(B) = c̃(B) − g̃C + min {f (N G, t0 , j, i) + g̃{jik} },
N G⊆Ni : N G∩V (B)={i},
C∈C :
|A(C)∩A(B)|≥1 t0 ≤t(B), j∈Γ−1
i

(4.18)
where g̃{jik} is the dual of inequality (4.6) corresponding to C = {j, i, k}
/ C ).
(g̃{jik} = 0 if {j, i, k} ∈

Proof. Let R be the route of minimum reduced cost with respect to (ũ, ṽ, g̃)
containing the backward path B, and let F be the forward path producing R
once combined with B. Let W (F ), W (B) and W (R) be the subsets of the
WSR3s of C covered by F , B and R, respectively. Notice that W (F ) ∩ W (B)
is either empty or contains the WSR3 inequality C ∗ ∈ C such that A(C ∗ )
contains both the first arc (i, k) of B and the terminal arc (π(P ), i) of F ,
that is C ∗ = {π(P ), i, k}. If {π(P ), i, k} ∈ C , let g̃{π(P ),i,k} be the dual of
inequality (4.6) corresponding to {π(P ), i, k}; otherwise ({π(P ), i, k} ∈ / C ),
set g̃{π(P ),i,k} = 0. Because
X
c̃(R) = c̃(F ) + c̃(B) − g̃C
C∈W (R)

and
X X X
g̃C = g̃C + g̃C − g̃{π(F ),i,k} ,
C∈W (R) C∈W (F ) C∈W (B)

we have
X X
c̃(R) = c̃(B) − g̃C + c̃(F ) − g̃C + g̃{π(F ),i,k} . (4.19)
C∈W (B) C∈W (F )

Notice that
X
min {f (N G, t0 , j, i)+g̃{j,i,k} } ≤ c̃(F )− g̃C +g̃{π(P ),i,k} .
N G⊆Ni s.t. N G∩V (B)={i},
C∈W (F )
t0 ≤t(B), j∈Γ−1
i
(4.20)
˜
From (4.19) and (4.20), we derive that lb(B) computed according to expression
(4.18) provides a valid lower bound on c̃(R). 

Similarly, GenP generates the path set F as a sequence of undominated paths (F 1 ,


˜ 1 ) ≤ . . . ≤ lb(F
. . . , F h ), with h ≤ ∆(F ), such that lb(F ˜ h ) ≤ γ, where ∆(F ) is a
parameter. Bound lb(F ˜ ) is computed similarly as described above for B using the
reverse functions f −1 (N G, t, i) and f −1 (N G, t, j, i).
Chapter 4 Vehicle Routing Problem with Time Windows 73

4.5.5.2 Procedure Combine.

This procedure combines the path sets F and B to derive at most ∆ routes of re-
duced cost with respect to (ũ, ṽ, g̃) less than or equal to γ using the iterative method
described by Baldacci et al. [2006].

Because of Lemma 1, routes of reduced cost less than or equal to γ can be generated
combining only path pairs (F, B) such that c̃(F ) + c̃(B) ≤ γ. Procedure Combine
dynamically generates a sequence of pairs (F r1 , B s1 ), . . ., (F rk , B sk ), . . ., (F rh , B sh )
such that each pair satisfies conditions (4.12) and c̃(F r1 ) + c̃(B s1 ) ≤ . . . ≤ c̃(F rk ) +
c̃(B sk ) ≤ . . . ≤ c̃(F rh )+ c̃(B sh ) ≤ γ. The pool of routes generated by Combine contains
any route R resulting from the pairs of paths in the sequence such that c̃(R) ≤ γ and
R is undominated by any other route R0 previously generated (i.e., R0 dominates R if
V (R0 ) = V (R) and c̃(R0 ) ≤ c̃(R)).

The procedure terminates as soon as ∆ routes have been found or all pairs have been
considered.

4.5.5.3 GenR for the CVRP.

Unlike the VRPTW, the path sets F and B are defined as in Baldacci et al. [2008]:
F contains any forward path F such that qF ≤ Q2 + qσF and B contains any backward
path B such that qB ≤ Q2 + qσB (for symmetric CVRPs F and B coincide).

Moreover, the lower bound lb(B) ˜ is computed with bounding functions f (N G, q, i), if
g̃ = 0, or f (N G, q, j, i), if g̃ 6= 0. Functions f (N G, q, j, i) are derived by expanding
f (N G, q, i) so that j is the vertex preceding i similarly as described in §4.5.5.1 for
functions f (N G, t, j, i).

4.6 Column-and-Cut Generation Procedure H 4

Procedure H 4 is a column-and-cut generation procedure based on the simplex algo-


rithm to solve relaxation LP . H 4 differs from the methods of Jepsen et al. [2008],
Desaulniers et al. [2008], and Baldacci et al. [2008] for the pricing algorithm.

Before starting H 4 (see Step 2 of the exact algorithm in §4.4) an attempt is made to
generate the set R 3 of all routes such that c3` ≤ zU B − LB3 . The set R 3 is generated
by procedure GenR imposing that |F | ≤ ∆(F ), |B| ≤ ∆(B), and that at most ∆(R)
are generated. We call F 3 the set F , B 3 the set B, and R 3 the set R generated by
GenR. Define each set F 3 , B 3 , and R 3 as optimal if |F 3 | < ∆(F ), |B 3 | < ∆(B), and
|R 3 | < ∆(R). The set R 3 is optimal if and only if both F 3 and B 3 are optimal.
74 Chapter 4 Vehicle Routing Problem with Time Windows

The route set R 0 of the initial master problem of H 4 is obtained by extracting the ∆a
routes of minimum reduced cost with respect to (u3 , v 3 , g 3 ) from R 3 and by adding
all single-customer routes. We initialize the set C of SR3s as C = ∅ and use the same
set S of SCs of H 3 .

At each iteration, a set N of at most ∆b negative reduced cost routes with respect to
the current dual solution (ū, v̄, ḡ) is produced by procedure GenR4 (see §4.6.1). The
set N is either extracted from R 3 or generated by combining sets F 3 and B 3 . The
sets F 3 and B 3 are newly generated when necessary if they are not-optimal.

At each iteration, H 4 adds the set C 0 of at most ∆(C ) SR3s most violated by the
current LP solution. H 4 ends if N = ∅ and C 0 = ∅ and achieves a D solution
(u4 , v 4 , g 4 ) of cost LB4 .

4.6.1 Procedure GenR4

Procedure GenR4 is called at each iteration of H 4 to generate the route set N of


at most ∆b routes of negative reduced cost with respect to the current dual solution
(ū, v̄, ḡ) of the master problem.

GenR4 performs the following steps

Step 1. Extract from R 3 a set of at most ∆b routes of negative reduced cost and add
them to N . If N 6= ∅ or R 3 is optimal, stop.

Step 2. Call procedure Combine4 that combines the sets F 3 and B 3 to derive the set
N . If N 6= ∅ or both sets F 3 and B 3 are optimal, stop.

Step 3. If F 3 is not-optimal, call procedure GenP4 to generate a new path set F and
set F 3 = F (F 3 is still not-optimal).

Step 4. Similarly to the previous step, if B 3 is not-optimal, call procedure GenP4 to


generate a new path set B and set B 3 = B (B 3 is still not-optimal).

Step 5. Call Combine4 that combines the sets F 3 and B 3 to derive the set N .

If GenP4 or Combine4 run out of memory, H 4 and the exact method terminate prema-
turely.

4.6.2 Procedure GenP4

Procedure GenP4 generates sets F and/or B in Steps 3 and 4 of GenR4. GenP4 is similar
to procedure GenP but applies different fathoming rules and an additional dominance
Chapter 4 Vehicle Routing Problem with Time Windows 75

rule introduced by Jepsen et al. [2008]. In generating B, procedure GenP4 applies the
following rules.

Let lb3 (B), B ∈ B, be a lower bound to the reduced cost with respect to the dual solu-
tion (u3 , v 3 , g 3 ) found by H 3 of any route R containing path B. Lower bound lb3 (B)
corresponds to lb(B) ˜ described in §4.5.5.1 when (ũ, ṽ, g̃) is replaced with (u3 , v 3 , g 3 ).
Fathoming 1. Any path B ∈ B such that lb3 (B) > zU B −LB3 can be fathomed because
B cannot generate any route of any VRPTW solution of cost less than or equal to zU B .

¯
Let lb(B), B ∈ B, be a lower bound to the reduced cost with respect to the dual
solution (ū, v̄, ḡ) of any route containing path B.
¯
Fathoming 2. Any path B such that lb(B) ≥ 0 is fathomed.

¯
Lower bound lb(B) can be computed as described in the following lemma.
Lemma 3. Let functions f (N G, t, i) be computed with the arc costs d¯ij = dij − 21 (ūi +
ūj ) − S∈Sij v̄S . Let c̄(B) be the cost of path B using arc costs d¯ij , and let i = σB .
P
¯
Lower bound lb(B) can be computed as follows
X X
¯
lb(B) = c̄(B) − ḡC + min {f (N G, t0 , i) − ḡC }.
N G⊆Ni :
C∈C : N G∩V (B)={i}, t0 ≤tB C∈C :
|C∩V (B)\{i}|≥2 |C∩N G|≥2
(4.21)

Proof. Let R be the route of minimum reduced cost with respect to (ū, v̄, ḡ) containing
the backward path B, and let F be the forward path producing R once combined with
B. Let C (S) = {C ∈ C : |C ∩ S| ≥ 2}. We have
X X X
c̄(R) = c̄(B) − ḡC + c̄(F ) − ḡC − ḡC
C∈C (V (B)\{i}) C∈C (V (F )) C∈C¯(V (R))

where C¯(V (R)) = C (V (R)) \ (C (V (B) \ {i}) ∪ C (V (F ))). Because ḡ ≤ 0 and


X X
min {f (N G, t0 , i) − ḡC } ≤ c̄(F ) − ḡC ,
N G⊆Ni : N G∩V (B)={i},
t0 ≤tB C∈C : C∈C (V (F ))
|C∩N G|≥2

we have
X X
c̄(R) ≥ c̄(B) − ḡC + min {f (N G, t0 , i) − ḡC },
N G⊆Ni :
C∈C (V (B)\{i}) N G∩V (B)={i}, t0 ≤tB C∈C :
|C∩N G|≥2

¯
thus proving that expression (4.21) provides a valid lower bound lb(B) on c̄(R).

The dominance rule of Jepsen et al. [2008] when applied to B is as follows.


76 Chapter 4 Vehicle Routing Problem with Time Windows

Dominance 1. Let B, B 0 ∈ B be two backward paths such that σB 0 = σB , tB 0 ≥ tB ,


qB 0 ≥ qmin , qB ≥ qmin , and V (B 0 ) ⊆ V (B). Path B 0 dominates path B if
X
c̄(B 0 ) ≤ c̄(B) − ḡC .
C∈C : |C∩V (B)\V (B 0 )|≥2

Similar rules are applied by procedure GenP4 to generate the path set F .

4.6.3 Procedure Combine4

This procedure generates the route set N of negative reduced costs with respect to
the dual solution (ū, v̄, ḡ) of the master problem combining the path sets F 3 and
B 3 as defined in §4.6.1. Procedure Combine4 corresponds to procedure Combine (see
§4.5.5.2) replacing (ũ, ṽ, g̃) with (ū, v̄, ḡ), setting γ = −ε, and applying the following
fathoming rule to reduce the set N .
Fathoming 3. Let c3 (R) be the reduced cost of route R with respect to (u3 , v 3 , g 3 )
computed as c3 (R) = c(R) − i∈V (R) u3i − S∈S ρ` (S)vS3 − C∈C : |A(C)∩A(R)|≥1 gC 3.
P P P

A route R of negative reduced cost with respect to (ū, v̄, ḡ) cannot belong to N if
c3 (R) > zU B − LB3 as route R cannot be in any solution of cost less than or equal to
zU B .

4.6.4 Procedure GenR4 for the CVRP

The lower bound lb3 (B) is computed using bounding functions f (N G, q, j, i) as de-
˜
scribed in §4.5.5.3 for lb(B) ¯
whereas the lower bound lb(B) is computed according to
expression (4.21) but using bounding functions f (N G, q, i) instead of f (N G, t, i).

4.7 Procedure GenRF for Generating Route Set Re

The exact method described in §4.4 at Step 4 asks to generate the largest subset Re ⊆ R
of routes satisfying conditions (4.8), whenever R 3 is not-optimal.

For this purpose, we use a two-phase procedure, called GenRF, similar to GenR (see
§4.5.5). In the first phase, two sets F and B of forward and backward paths are com-
puted as described below. In the second phase, these sets are combined by procedure
CombineF (see §4.7.2) to derive the final route set R.
e In the first phase, there are four
cases

Case 1. Both F 3 and B 3 generated by GenR are optimal. We set F = F 3 and


B = B3.
Chapter 4 Vehicle Routing Problem with Time Windows 77

Case 2. B 3 is optimal but F 3 is not. We set B = B 3 and call GenPF (§4.7.1) to


compute F .

Case 3. F 3 is optimal but B 3 is not. We set F = F 3 and call GenPF to compute B.

Case 4. Both F 3 and B 3 are not optimal. We call GenPF to compute both F and B.

In the end, Re is defined optimal (i.e., contains any optimal VRPTW solution) if and
only if F , B, and Re are such that |F | < ∆(F ), |B| < ∆(B) and |R|
e < ∆(R).
e

In the following §§4.7.1 and 4.7.2, we describe procedure GenPF and CombineF for the
VRPTW. It is quite obvious how to adapt them for the CVRP.

4.7.1 Procedure GenPF

Procedure GenPF generates one or both sets F and B required by GenRF (see cases (2),
(3) and (4) in §4.7). GenPF is similar to procedure GenP but applies different fathoming
rules.

In generating the set B, GenPF applies the following fathoming rules. Let lb3 (B) and
lb4 (B) be the lower bounds on the reduced costs, c3 (R) and c4 (R), of any route R con-
taining path B ∈ B with respect to (u3 , v 3 , g 3 ) and (u4 , v 4 , g 4 ), respectively. Bound
lb3 (B) is computed as described in §4.6.2, and lb4 (B) is computed using expression
(4.21) where (ū, v̄, ḡ) is replaced with (u4 , v 4 , g 4 ).
Fathoming 4. Any path B ∈ B such that lb3 (B) > zU B − LB3 or lb4 (B) > zU B − LB4
can be fathomed.
Fathoming 5. Let d4ij = dij − 21 (u4i + u4j ) − S∈Sij vs4 , (i, j) ∈ A. Whenever qmin = 0,
P

any backward path B such that


X X
d4ij − 4
gC − d4i0 > zU B − LB4 (4.22)
(i,j)∈A(B) C∈C : |C∩V (B)\{i}|≥2

can be fathomed as it cannot produce any route R of reduced cost c4 (R) ≤ zU B − LB4 .

Proof. Let R be the route of minimum reduced cost c4 (R) with respect to (u4 , v 4 , g 4 )
obtained by combining B starting from σB = i with a forward path F ending at vertex
σF = i. Let C (S) = {C ∈ C : |C ∩ S| ≥ 2}. We have
X X
c4 (R) = d4ij − 4
gC .
(i,j)∈A(R) C∈C (V (R))

Since C (V (R)) ⊇ C (V (B) \ {i}) ∪ C (V (F )) and gC


4 ≤ 0, C ∈ C , we have

X X X X
c4 (R) ≥ d4ij − 4
gC + d4ij − 4
gC . (4.23)
(i,j)∈A(B) C∈C (V (B)\{i}) (i,j)∈A(F ) C∈C (V (F ))
78 Chapter 4 Vehicle Routing Problem with Time Windows

Consider the route R0 obtained by adding arc (i, 0) to F . As c4 (R0 ) ≥ 0, we have


X X
d4ij − 4
gC ≥ −d4i0 . (4.24)
(i,j)∈A(F ) C∈C (V (F ))

From inequalities (4.23) and (4.24), we obtain


X X
c4 (R) ≥ d4ij − 4
gC − d4i0 .
(i,j)∈A(B) C∈C (V (B)\{i})

Thus, if B satisfies inequality (4.22), then c4 (R) > zU B − LB4 . So route R cannot be
in any optimal solution of cost less than or equal to zU B . 

Similar fathoming rules are used to generate F .

4.7.2 Procedure CombineF

This procedure generates the route set Re combining the path sets F and B defined in
§4.7. CombineF is similar to Combine (see §4.5.5.2) but imposes that any route R ∈ Re
is such that c3 (R) ≤ zU B − LB3 and c4 (R) ≤ zU B − LB4 .

4.8 Computational Results

This section reports on the computational results of the exact method (hereafter called
BMR) described in this chapter. All algorithms were coded in Fortran 77 and compiled
with Intel Fortran 11.0. Cplex 12.1 was used as the LP solver in procedure H 4 and the
IP solver in the exact method. All tests were run on an IBM Intel Xeon X7350 Server
(2.93 GHz - 16 GB of RAM).

4.8.1 Computational Results on the VRPTW

Our exact method BMR for the VRPTW was tested on Solomon instances Solomon
[1987], which are divided into six classes (classes C1, RC1 and R1 with tight time
windows and strict vehicle capacity, and classes C2, RC2 and R2 with wide time
windows and loose vehicle capacity). We considered all 100-customer instances and
instances with 50 customers of classes C2, RC2 and R2.

The travel costs dij are computed as dij = b10eij c/10, where eij is the Euclidean
distance between vertices i and j; the travel times tij are integer values computed as
tij = 10(dij + si ), where si is the service time at vertex i.
Chapter 4 Vehicle Routing Problem with Time Windows 79

Because instances of classes C1, RC1 and R1 have tight time windows, we did not find
it worth running procedure H 2 . Thus, on such instances H 2 was skipped. In addition,
we ignored SCs and WSR3s for all classes of instances.

BMR uses the best upper bounds reported in Ropke [2005] and Danna and Pape [2005].
Such upper bounds are obtained by running the heuristic of Pisinger and Ropke [2007]
with different parameter settings (Ropke [2010]). Whenever BMR uses the upper
bound, its computing time is added to the total computing time of BMR. For instance
R211 with 100 customers, the upper bound used was found by Desaulniers et al. [2008].

BMR uses the following parameter setting

• in H 1 : M axit1 = 100 and M axit2 = 50;

• in H 2 : ∆(Ni ) = 8, M axit1 = 100, and M axit2 = 50;

• in H 3 : ∆(Ni ) = 10, ∆b = 300, ∆(F ) = ∆(B) = 5 × 107 , ∆(R) = 1.5 × 106 ,


M axit1 = 100, and M axit2 = 50;

• in H 4 , ∆a = 1 × 104 , ∆b = 300, ∆(F ) = ∆(B) = 5 × 107 , ∆(R) = 1.5 × 106 ,


∆(C ) = 20.

We compare BMR with the methods of Jepsen et al. [2008] and Desaulniers et al. [2008],
hereafter called JPSP and DHL, respectively. Desaulniers et al. [2008] presented three
versions of their algorithm. We consider the version labeled “ESPPRC SRC” as it
could solve more instances than the others. According to SPEC (http://www.spec.
org/benchmarks.html), our machine is three times faster than the Intel Pentium 4
3.0 GHz PC of JPSP and twice as fast as the Linux PC Dual Core AMD Opteron at
2.6 GHz of DHL.

In Tables 4.1, 4.2, and 4.3, we report on detailed computational results on the Solomon
instance considered. The columns of three tables report the instance name (Inst), the
optimal value (z ∗ - in bold if solved for the first time by BMR), the upper bound used
(zU B ) and the time to compute it (T ) in columns under heading Upper Bound. For each
bounding procedure H k , k = 1, . . . , 4 (if run), we report the lower bound (LBk ) and
the cumulative computing time spent up to H k . Columns |F 3 |, |B 3 |, and |R 3 | report
the cardinalities (in thousands) of the sets F 3 , B 3 and R 3 ; if we could not completely
generate a set, an empty circle is displayed. The number of SR3s inequalities (SR3)
added in H 4 is shown. The number of routes (|R|) e in the final reduced problem Pe
and the time taken by Cplex to solve it (Tcpx ) are shown. Finally, the total computing
time in seconds (Ttot ) of the methods compared are reported in the last three columns
of the table. Ttot under BMR is equal to the sum of the time to compute the upper
bound, the time spent up to H 4 and Tcpx .

Table 4.3 shows that BMR was able to solve four instances open so far. The only
open Solomon instance is R.208.100, where BMR ran out of memory. Notice that the
80 Chapter 4 Vehicle Routing Problem with Time Windows

lower bounds achieved using the ng-routes in algorithm CCG are close to the bounds
achieved using elementary routes and the time taken to perform H 2 is limited.

Table 4.4 compares BMR, JPSP, and DHL. For each class, Table 4.4 reports the class
name (Class), the number of customers (n), the number of instances (N P ), the number
of instances solved by each of the three methods (Solved) and the average computing
time in seconds (T ) (n.a. means data are not available). In the last three rows, the
average computing time of the methods over all instances, the instances solved by
JPSP, and the instances solved by DHL are shown.

Table 4.4 shows that BMR outperforms JPSP and DHL: all instances solved by the
other methods were solved by BMR and the average time is significantly lower.

Table 4.5 reports the optimal solutions BMR found for the four 100-customer instances
(RC204, RC208, R204, and R211) open before this paper. We give the optimal solution
value, the number of vehicles used, and, for each route, the cost and the sequence of
visited customers.

We also report a computational analysis about some components of the algorithm


proposed (i.e., parameter ∆(Ni ) and dominance and fathoming rules). Table 4.6 re-
ports the results obtained on a selected set of instances by varying parameter ∆(Ni )
in procedure H 2 . In particular, the table shows the value of lower bound LB2 using
∆(Ni ) = 5, 8, 10, 12, and the corresponding computing time, compared with LB1 , LB3 ,
and LB4 . The last line of the table reports the average percentage deviations of the
different lower bounds. The table shows that using ∆(Ni ) = 8 gives a good trade-off
between quality of the lower bound and computing time. Indeed, the lower bound is
on average about 5 percent greater than LB1 and about 0.5 percent lower than LB3 .

Tables 4.7 and 4.8 report statistics on the number of states fathomed by the dominance
and fathoming rules applied in procedures GenP4 (called by procedure H 4 ) and GenPF
(called to generate the final route sets R).
e The tables show the following columns:
total number of forward (backwards) states in millions generated in computing F (B)
(States), percentage of states eliminated by Dominance 1 (%Dom1), percentage of
states fathomed by Fathoming rule x (%F ath x, x = 1, 2, 4, 5), final cardinality (in
millions) of the set F (B) generated (|F |, |B|). The dominance and fathoming rules
are reported in the tables using the same order of application in BMR.

Regarding procedure GenP4, table 4.7 shows that the dominance and fathoming rules
are very effective in reducing the number of states. Indeed, on average about 90%
of the states generated (for both sets F and B) are eliminated. In particular, the
new Fathoming 1 and Fathoming 2 rules eliminates on average 80% of the states not
dominated by Dominance 1.

Concerning procedure GenPF, table 4.8 shows that both Fathoming 5 and 4 eliminate
on average about 90% of the states generated.
Chapter 4 Vehicle Routing Problem with Time Windows 81

4.8.2 Computational Results on the CVRP

We considered classes A, B, E, F, M, and P available at http://branchandcut.org/


VRP/data. Cost dij is an integer value computed as dij = beij + 0.5c, where eij is the
Euclidean distance between i and j. As done by Fukasawa et al. [2006], we impose that
exactly m vehicles are used in the solution by simply transforming constraint (4.3) into
an equality constraint.

For computational convenience we skip bounding procedure H 2 , so the sequence of the


bounding procedures is H 1 , H 3 , and H 4 . WSR3s are used whenever dn/me ≥ 12.

If BMR cannot solve a problem in Step 1, we use the upper bound used by Fukasawa
et al. [2006] and Baldacci et al. [2008], but, while generating the route set R 3 , whenever
in GenP |F 3 | > 1 × 106 , we run our implementation of the tabu search algorithm of
Gendreau et al. [1994] with a time limit of 180 seconds. The computing time of the
Tabu Search is considered in the total computing time of BMR whereas the computing
time of the initial upper bound is ignored (as done by Fukasawa et al. [2006] and
Baldacci et al. [2008]).

In our tests, we use the following parameter setting

• in H 1 and H 2 : M axit1 = 150 and M axit2 = 100;

• in H 3 : ∆(Ni ) = 10, ∆b = 300, ∆(F ) = 1 × 107 , ∆(R) = 1 × 107 , ∆(C ) = 100,


M axit1 = 150, and M axit2 = 100;

• in H 4 : ∆a = 1 × 104 , ∆b = 200, ∆(F ) = 1 × 107 , ∆(R) = 1 × 106 , ∆(C ) = 10,


M axit1 = 150, and M axit2 = 100.

BMR is compared with the methods of Baldacci et al. [2008] (BCM), Fukasawa et al.
[2006] (FLL) and Lysgaard et al. [2004] (LLE). According to SPEC, our machine is
three times faster than the Pentium 4 2.6 GHz PC of BCM and the Pentium 4 2.4
GHZ PC of FLL and ten times faster than the Intel Celeron 700 MHz PC of LLE.

Tables 4.9, 4.10, 4.11, 4.12, and 4.13 show the same columns of Tables 4.1, 4.2, and
4.3 reported for the VRPTW. Column zU B reports the initial upper bound whereas
column U B4 reports the upper bound computed by our tabu search heuristic (when
run). Under FLL, column (s) indicates that the BCP algorithm based on s-cycle-free
q-routes was used, whereas (−) indicates that the BC was used instead of the BCP.
The total time of BMR is the sum of the time spent up to H 4 (that includes the time
spent to compute U B4 ) and Tcpx , but, if H k , for some k ∈ {1, 2, 3} succeeds in solving
the problem to optimality, the time is equal to the time spent up to H k .

Tables 4.9-4.13 show that BMR solves three problems not solved by BCM but does not
solve problem F-n135-k7 that is solved by FLL using the BC algorithm. It is worth
mentioning that problem F-n135-k7 was solved for the first time by Augerat [1995].
82 Chapter 4 Vehicle Routing Problem with Time Windows

Table 4.14 summarizes the results of the methods on the six CVRP classes considered.
For each class, the name (Class), the number of instances (N P ) and, for each exact
method, the number of instances solved to optimality (Opt), the average percentage
deviation of the lower bound (%LB) and the average computing time in seconds (T )
are reported. Under FLL, column OptBCP and OptBC report the number of instances
solved using BCP and BC, respectively. The last two rows indicate average values of
%LB and T and the number of problems solved by each method.

Table 4.14 clearly shows that BMR outperforms the other methods on all classes but
class F, where the BC algorithm of Lysgaard et al. [2004] outperforms the other meth-
ods.

Table 4.15 reports the results obtained by varying parameter ∆(Ni ) in procedure H 2
and by using different types of inequalities in procedures H 1 and H 3 on a set of selected
instances. For procedure H 1 , the value of lower bound LB1 and the corresponding
computing time without (no CCs) and with (CCs) CCs are shown. The table shows the
value of lower bound LB2 using ∆(Ni ) = 5, 8, 10, 12, and the corresponding computing
time. For procedure H 3 , we show the value of lower bound LB3 and the corresponding
computing time without (no WSR3s) and with (WSR3s) WSR3s. The last line of the
last reports the average percentage deviations of the different lower bounds.

The results show that: (i) increasing parameter ∆(Ni ) slightly improves lower bound
LB2 ; (ii) LB1 with CCs is very close to LB3 without WSR3s; (iii) the increase of LB2
with respect to LB1 achieved by H 1 with CCs is very small and is not worth the extra
computing time required by procedure H 2 ; (iv) CCs and WSR3s substantially increase
lower bounds LB1 and LB3 , respectively. It is worth mentioning that on instance E-
n101-k14 lower bound LB1 with CCs is greater than lower bound LB2 . This happens
as 2-vertex loops are allowed in the ng-route relaxation while they are forbidden in the
q-route relaxation.

4.9 Conclusions

In this chapter, we described an exact method for solving the VRPTW and CVRP
based on the set partitioning formulation strengthened with valid inequalities. We
introduced a new route relaxation, called ng-route, that improves other nonelementary
route relaxations proposed in the literature and a new strategy for solving the pricing
problem in a column-and-cut generation procedure that involve the use of multiple
dual solutions.

We reported computational results showing that the proposed method solves 4 of the
5 open Solomon VRPTW instances and is significantly faster than the state-of-the-art
algorithms for both VRPTW and CVRP.
Chapter 4 Vehicle Routing Problem with Time Windows
Table 4.1: Detailed results on VRPTW Solomon instances with 50 customers and wide time windows

Upper Bound Proc. H 1 Proc. H 2 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst z∗ zU B T LB1 T LB2 T LB3 T |F 3 | |B 3 | |R 3 | SR3 LB4 T |R|


e Tcpx BMR JPSP
C.201.50 360.2 360.2 83 360.2 3 360.2 4 4 42
C.202.50 360.2 360.2 89 360.2 3 360.2 6 6 67
C.203.50 359.8 359.8 89 359.8 3 359.8 7 7 214
C.204.50 350.1 350.1 96 350.1 3 350.1 8 8 -
C.205.50 359.8 359.8 99 358.2 4 359.8 7 7 64
C.206.50 359.8 359.8 86 344.2 4 359.8 10 10 38
C.207.50 359.6 359.6 89 356.6 4 359.6 9 9 72
C.208.50 350.5 350.5 92 340.4 4 350.5 9 9 55
RC.201.50 684.8 684.8 40 670.1 3 684.8 8 8 3
RC.202.50 613.6 613.6 40 504.0 3 613.5 6 613.6 7 7 10
RC.203.50 555.3 555.3 50 409.2 3 555.3 15 15 190
RC.204.50 444.2 444.2 63 314.4 3 444.2 27 27 -
RC.205.50 630.2 630.2 40 541.4 3 630.2 9 9 5
RC.206.50 610.0 610.0 43 441.1 3 610.0 9 9 8
RC.207.50 558.6 558.6 53 390.7 3 558.2 7 558.6 8 8 21
RC.208.50 476.7 481.8 79 316.2 4 468.5 8 472.3 22 7 22 22 10 476.7 50 129 1,639
R.201.50 791.9 791.9 43 788.4 3 791.7 4 791.9 5 5 4
R.202.50 698.5 698.5 46 692.7 3 698.5 8 8 9
R.203.50 605.3 605.9 50 590.5 3 598.2 6 598.5 7 12 8 8 35 605.3 12 62 50
R.204.50 506.4 506.4 79 474.0 5 499.8 23 502.2 36 326 232 232 35 506.4 52 131 -
R.205.50 690.1 696.7 50 666.2 3 681.2 5 682.3 7 49 28 28 45 690.1 12 62 15
R.206.50 632.4 632.4 53 609.2 3 622.8 9 624.8 12 63 15 15 85 632.4 21 74 190
R.207.50 575.5 575.5 53 482.2 3 561.4 11 564.1 15 786 136 o 70 575.5 101 154 34,406
R.208.50 487.7 487.7 96 461.4 6 476.3 28 481.3 94 7,385 3,622 1,282 55 487.7 441 537 -
R.209.50 600.6 600.6 50 582.1 3 598.5 6 599.2 8 1 1 1 5 600.6 10 60 16
R.210.50 645.6 645.6 53 623.6 4 633.9 8 635.7 11 103 34 34 145 645.3 40 128 1 94 18,545
R.211.50 535.5 543.3 83 507.6 4 526.7 8 528.3 11 507 443 443 90 535.5 96 179 10,543
Avg 91.1 99.4 99.6 100.0 61 2,879
Tot 27 27 23

83
84
Table 4.2: Detailed results on VRPTW Solomon instances with 100 customers and tight time windows

Upper Bound Proc. H 1 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst z∗ zU B T LB1 T LB3 T |F 3 | |B 3 | |R 3 | SR3 LB4 T |R|


e Tcpx BMR JPSP DHL
C.101.100 827.3 827.3 96 827.3 7 7 3 2
C.102.100 827.3 827.3 106 820.3 8 827.3 8 8 12 8
C.103.100 826.3 826.3 112 809.3 9 826.3 11 11 33 28
C.104.100 822.9 822.9 119 795.6 10 822.7 31 10 15 10 822.9 39 1 159 4,113 86
C.105.100 827.3 827.3 99 821.2 7 827.3 8 8 5 3
C.106.100 827.3 827.3 102 817.7 8 827.3 10 10 7 4
C.107.100 827.3 827.3 102 818.9 7 827.3 8 8 6 4
C.108.100 827.3 827.3 106 818.9 7 827.3 8 8 14 7

Chapter 4 Vehicle Routing Problem with Time Windows


C.109.100 827.3 827.3 112 803.2 8 827.3 10 10 20 16
RC.101.100 1,619.8 1,619.8 92 1,576.2 5 1,581.1 5 24 31 298 95 1,619.8 13 105 12 19
RC.102.100 1,457.4 1,463.5 99 1,398.6 5 1,405.5 8 428 432 o 150 1,457.4 39 138 76 120
RC.103.100 1,258.0 1,267.0 102 1,214.7 5 1,224.5 8 811 794 o 342 1,257.6 237 118,992 96 435 2,705 541
RC.104.100 1,132.3 1,132.6 109 1,070.3 6 1,100.4 35 1,610 1,371 o 255 1,129.8 442 5,029 10 561 65,806 11,773
RC.105.100 1,513.7 1,513.8 99 1,467.6 5 1,471.7 7 81 116 o 60 1,513.7 17 116 26 33
RC.106.100 1,372.7 1,373.9 96 1,301.2 5 1,318.5 8 293 392 o 428 1,367.2 267 40,162 50 413 15,891 3,916
RC.107.100 1,207.8 1,209.3 99 1,156.4 6 1,182.7 8 136 195 o 105 1,207.8 28 127 153 161
RC.108.100 1,114.2 1,114.2 102 1,049.7 6 1,073.0 11 1,460 1,529 o 185 1,114.2 213 315 3,365 635
R.101.100 1,637.7 1,637.7 99 1,628.5 5 1,630.4 6 1 1 5 10 1,634.0 9 46 108 1 8
R.102.100 1,466.6 1,467.6 109 1,462.0 5 1,466.2 7 1 1 1 1,466.6 10 119 4 3
R.103.100 1,208.7 1,208.7 112 1,201.7 5 1,203.2 6 4 8 24 30 1,208.7 11 123 23 20
R.104.100 971.5 976.0 112 947.8 6 955.7 12 1,124 1,060 o 449 971.3 224 119,830 7 343 32,343 3,103
R.105.100 1,355.3 1,355.3 102 1,343.8 5 1,345.0 6 6 8 47 103 1,355.1 11 80 113 43 36
R.106.100 1,234.6 1,234.6 109 1,224.3 5 1,225.7 7 24 40 237 160 1,234.6 20 129 75 87
R.107.100 1,064.6 1,064.6 109 1,049.9 5 1,052.3 7 76 163 703 300 1,064.3 84 193 193 1,310 416
R.108.100 932.1 933.7 119 905.7 6 913.0 10 1,882 2,066 o 280 932.1 225 344 5,911 891
R.109.100 1,146.9 1,146.9 102 1,129.3 5 1,133.5 9 30 52 329 233 1,144.1 53 4,953 1 156 1,432 1,127
R.110.100 1,068.0 1,075.9 109 1,047.8 6 1,054.9 9 384 401 o 398 1,068.0 143 225,584 7 259 1,068 426
R.111.100 1,048.7 1,048.7 109 1,030.5 6 1,033.9 10 127 304 o 281 1,045.8 106 10,620 40 255 83,931 5,738
R.112.100 948.6 948.6 116 916.6 6 926.2 11 2,115 4,311 o 539 946.6 721 6,214 28 865 202,803 16,073
Avg 97.7 98.7 99.9 188 14,524 1,562
Tot 29 29 29 29
Chapter 4 Vehicle Routing Problem with Time Windows
Table 4.3: Detailed results on VRPTW Solomon instances with 100 customers and wide time windows

Upper Bound Proc. H 1 Proc. H 2 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst z∗ zU B T LB1 T LB2 T LB3 T |F 3 | |B 3 | |R 3 | SR3 LB4 T |R|


e Tcpx BMR JPSP DHL
C.201.100 589.1 589.1 228 589.1 6 6 203 9
C.202.100 589.1 589.1 244 589.1 14 14 3,483 49
C.203.100 588.7 588.7 264 588.6 14 588.7 32 32 13,070 122
C.204.100 588.1 588.1 277 577.5 15 587.5 170 588.1 182 182 - 16,416
C.205.100 586.4 586.4 251 586.4 12 12 416 15
C.206.100 586.0 586.0 238 576.8 13 586.0 28 28 594 24
C.207.100 585.8 585.8 244 581.8 13 585.8 22 22 1,241 84
C.208.100 585.8 585.8 244 581.3 13 585.8 22 22 555 26
RC.201.100 1,261.8 1,262.6 139 1,240.0 7 1,254.4 10 1,255.4 12 6 7 34 55 1,261.7 18 585 157 229 92
RC.202.100 1,092.3 1,095.8 152 1,003.8 7 1,084.7 11 1,086.2 13 91 71 655 45 1,092.3 31 183 312 89
RC.203.100 923.7 923.7 185 814.3 7 916.0 16 919.5 22 119 29 269 30 923.7 67 252 14,917 324
RC.204.100 783.5 783.5 150 687.4 20 771.1 235 778.4 455 1,375 339 o 50 783.5 902 1,052 - -
RC.205.100 1,154.0 1,154.0 149 1,054.0 7 1,144.0 12 1,145.8 14 25 22 117 30 1,154.0 23 172 221 111
RC.206.100 1,051.1 1,051.1 172 951.5 8 1,034.4 13 1,037.7 16 276 177 o 40 1,051.1 55 227 339 344
RC.207.100 962.9 966.6 182 865.7 9 940.6 25 945.8 62 o o o 490 962.9 26,721 26,903 - 91,405
RC.208.100 776.1 777.3 215 703.9 20 761.3 114 765.8 168 3,909 3,306 o 110 776.1 980 6,959 1,195 - -
R.201.100 1,143.2 1,148.5 149 1,135.2 8 1,140.0 15 1,140.3 17 62 44 o 100 1,143.2 31 180 139 78
R.202.100 1,029.6 1,036.9 178 1,008.6 8 1,020.6 19 1,021.2 22 o o o 115 1,027.3 1,890 575,375 1,338 3,406 8,282 1,663
R.203.100 870.8 872.4 198 845.7 9 862.8 91 865.8 165 o 564 o 100 870.8 1,941 2,139 54,187 641
R.204.100 731.3 731.3 221 688.8 22 721.3 64 724.2 194 o o o 130 731.3 216,146 216,367 - -
R.205.100 949.8 949.8 191 916.0 11 934.1 27 938.0 31 3,779 920 o 553 948.3 1,240 19,034 2 1,433 - 6,904
R.206.100 875.9 880.6 201 834.0 13 860.2 34 866.3 76 o o o 145 875.9 6,474 6,675 - 60,608
R.207.100 794.0 794.0 238 746.9 16 781.6 120 789.9 368 o o o 35 794.0 1,163 1,401 - 11,228
R.208.100 701.2 701.2 284 660.9 21 686.4 156 690.3 2,405 o o o m.o. - - -
R.209.100 854.8 855.7 136 818.7 15 838.0 28 840.6 59 o o o 180 854.3 4,355 120,577 5 4,496 78,560 22,514
R.210.100 900.5 900.8 136 848.9 17 883.8 30 888.2 57 o o o 523 900.4 39,572 53,704 3 39,711 - 400,904
R.211.100 746.7 751.7 168 704.9 21 729.3 133 734.1 219 o o o 140 746.7 10,825 10,993 - -
Avg 95.4 99.0 99.3 99.9 12,202 11,047 27,893
Tot 27 26 16 22
m.o.: GenP4 runs out of memory

85
86 Chapter 4 Vehicle Routing Problem with Time Windows

Table 4.4: VRPTW Solomon instances: summary

Solved T
Class n NP BMR JPSP DHL BMR JPSP DHL
C2 50 8 8 7 n.a. 8 79 n.a.
RC2 50 8 8 7 n.a. 27 268 n.a.
R2 50 11 11 9 n.a. 124 7,086 n.a.
C1 100 9 9 9 9 25 468 18
RC1 100 8 8 8 8 276 11,004 2,150
R1 100 12 12 12 12 251 27,412 2,327
C2 100 8 8 7 8 40 2,795 2,093
RC2 100 8 8 5 6 3,767 3,204 15,394
R2 100 11 10 4 8 28,680 35,292 63,068
Avg 3,955 9,767 12,920
Solved by JPSP 261 9,767
Solved by DHL 1,825 12,920

Table 4.5: Optimal solutions of 100-customer VRPTW instances solved by BMR


for the first time

Cost Route
Solution of RC204. Total cost = 783.5. Number of vehicles = 4.
174.6 80 92 95 62 50 34 31 29 27 26 28 30 32 33 89 76 63 85 51 84 56 91
139.5 81 54 41 39 42 44 43 40 36 35 37 38 72 71 93 67 94 96
221.4 69 98 12 14 47 17 16 15 11 10 9 87 13 86 74 59 97 75 58 77 25 24 22 83 65 90
248.0 66 64 20 49 19 18 48 21 23 57 52 99 82 53 60 78 73 79 7 8 46 45 5 3 1 4 6 2 88 55 100 70 61 68
Solution of RC208. Total cost = 776.1. Number of vehicles = 4.
132.5 61 42 44 39 38 36 35 37 40 43 41 72 71 93 96 54 81
218.7 90 65 82 99 52 83 64 49 19 18 48 21 23 25 77 58 75 97 59 87 74 86 57 24 22 20 66
226.6 69 98 88 2 6 7 79 73 78 12 14 47 17 16 15 13 9 11 10 53 60 8 46 4 45 5 3 1 70 100 55 68
198.3 94 92 95 67 62 50 34 31 29 27 26 28 30 32 33 76 89 63 85 51 84 56 91 80
Solution of R204. Total cost = 731.3. Number of vehicles = 5.
8.8 53
211.6 27 69 1 50 76 3 79 33 81 9 51 20 66 65 71 35 34 78 29 24 55 25 54 80 68 77 12 26 28
150.5 2 57 42 43 15 41 22 75 56 23 67 39 4 72 74 73 21 40 58
136.2 6 94 95 92 98 85 91 44 14 38 86 16 61 93 99 96 59 97 87 37 100 13
224.2 52 31 88 7 82 48 19 11 62 10 70 30 32 90 63 64 49 36 47 46 8 45 17 84 5 60 83 18 89
Solution of R211. Total cost = 746.7. Number of vehicles = 4.
173.1 53 40 21 73 41 22 75 23 67 39 25 55 24 29 68 80 54 4 56 74 72 26
214.0 27 69 31 88 7 82 46 47 36 49 64 63 90 32 66 71 65 35 34 78 79 3 77 50 1
194.4 52 18 83 5 99 95 92 98 85 61 16 86 38 44 14 42 43 15 57 2 87 97 37 100 91 93 59 96 94 13 58
165.2 28 12 76 33 81 9 51 20 30 70 10 62 11 19 48 8 45 17 84 60 6 89
Chapter 4 Vehicle Routing Problem with Time Windows
Table 4.6: VRPTW: impact of parameter ∆(Ni ) in procedure H 2

H1 H2 H3 H4
∆(Ni ) = 5 ∆(Ni ) = 8 ∆(Ni ) = 10 ∆(Ni ) = 12
Inst z∗ LB1 T LB2 T LB2 T LB2 T LB2 T LB3 T LB4 T
R.207.50 575.5 482.2 3 558.5 7 561.4 11 561.6 13 562.4 16 564.1 15 575.5 101
R.208.50 487.7 461.4 6 475.1 22 476.3 28 476.6 37 477.3 57 481.3 94 487.7 441
R.108.100 932.1 905.7 6 909.8 7 910.3 10 910.3 14 910.8 26 913.0 10 932.1 225
R.112.100 948.6 916.6 6 924.2 7 925.0 10 925.0 18 925.0 39 926.2 11 946.6 721
RC.203.100 923.7 814.3 7 914.6 11 916.0 16 916.5 29 917.4 43 919.5 22 923.7 67
RC.204.100 783.5 687.4 20 753.9 91 771.1 235 772.9 638 773.0 976 778.4 455 783.5 902
RC.206.100 1,051.1 951.5 8 1,022.8 13 1,034.4 13 1,034.9 15 1,035.4 16 1,037.7 16 1,051.1 55
RC.207.100 962.9 865.7 9 918.4 23 940.6 25 940.9 38 941.6 48 945.8 62 962.9 26,721
RC.208.100 776.1 703.9 20 740.9 42 761.3 114 762.6 223 763.8 352 765.8 168 776.1 980
R.202.100 1,029.6 1,008.6 8 1,018.6 9 1,020.6 19 1,020.6 23 1,020.7 24 1,021.2 22 1,027.3 1,890
R.203.100 870.8 845.7 9 858.0 64 862.8 91 864.3 108 865.0 149 865.8 165 870.8 1,941
R.204.100 731.3 688.8 22 719.1 54 721.3 64 722.2 180 722.2 298 724.2 194 731.3 216,146
R.205.100 949.8 916.0 11 928.0 14 934.1 27 934.6 31 935.0 32 938.0 31 948.3 1,240
R.206.100 875.9 834.0 13 857.6 21 860.2 34 860.7 36 861.6 53 866.3 76 875.9 6,474
R.207.100 794.0 746.9 16 780.4 83 781.6 120 781.6 191 782.9 236 789.9 368 794.0 1,163
R.209.100 854.8 818.7 15 833.8 16 837.0 28 837.6 30 838.8 34 840.6 59 854.3 4,355
R.210.100 900.5 848.9 17 880.6 18 883.8 30 884.8 37 884.8 49 888.2 57 900.4 39,572
R.211.100 746.7 704.9 21 727.1 102 729.3 133 731.3 189 731.3 417 734.1 219 746.7 10,825
Avg 93.3 97.5 98.2 98.3 98.4 98.7 99.9

87
88
Table 4.7: VRPTW: effectiveness of the Dominance and Fathoming Rules applied in GenP4

Generating F Generating B
Inst States %Dom1 %Fath1 %Fath2 |F | States %Dom1 %Fath1 %Fath2 |B|
RC.207.100 41 38.4 48.7 1.8 5 21 37.9 49.2 1.7 2
R.202.100 11 49.0 41.4 1.6 1 7 49.2 39.7 1.1 1
R.203.100 32 46.9 42.3 1.5 3
R.204.100 180 43.8 43.6 0.4 22 283 37.1 48.3 0.4 40
R.206.100 235 58.8 32.1 1.2 19 179 67.4 24.2 1.3 13
R.207.100 81 54.4 38.6 1.0 5 43 54.8 36.4 0.9 3

Chapter 4 Vehicle Routing Problem with Time Windows


R.209.100 102 55.2 37.9 1.3 6 31 56.1 38.0 0.8 2
R.210.100 184 57.5 33.7 0.9 15 222 59.7 31.4 1.0 18
R.211.100 496 68.6 24.1 0.6 33 371 56.7 34.4 0.3 32
Avg 52.5 38.0 1.1 52.4 37.7 0.9

Table 4.8: VRPTW: effectiveness of the Dominance and Fathoming Rules applied in GenPF

Generating F Generating B
Inst States %Fath5 %Fath4 |F | States %Fath5 %Fath4 |B|
R.202.100 10 37.1 51.8 1 3 47.1 46.9 1
R.209.100 339 50.0 42.2 26 113 51.3 43.4 6
R.210.100 108 45.8 46.0 9 210 55.1 35.4 20
Avg 44.3 46.7 51.2 41.9
Chapter 4 Vehicle Routing Problem with Time Windows
Table 4.9: Results on CVRP instances of class A

Proc. H 1 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst zU B z∗ LB1 T LB3 T |F 3 | |R 3 | SR3 LB4 U B4 T |R|


e Tcpx BMR BCM FLL (s) LLE
A-n37-k5 669 669 664.7 3 666.1 5 5 1 3 669.0 6 6 13 19 (-) 25
A-n37-k6 949 949 929.8 3 937.9 7 9 10 37 941.6 8 1,968 < 0.1 8 12 379 (3) 531
A-n38-k5 730 730 717.9 4 722.4 7 10 10 41 728.7 7 267 < 0.1 7 18 26 (-) 116
A-n39-k5 822 822 815.1 4 818.7 7 8 2 14 822.0 7 7 19 167 (3) 138
A-n39-k6 831 831 820.5 4 823.7 6 5 4 31 831.0 7 149 < 0.1 7 12 98 (3) 109
A-n44-k6 937 937 932.4 2 935.3 5 2 1 2 937.0 5 124 < 0.1 5 102 90 (2) 620
A-n45-k6 944 944 933.0 6 941.1 11 4 1 4 944.0 12 114 < 0.1 12 77 170 (3) 157
A-n45-k7 1,146 1,146 1,135.7 5 1,141.4 10 5 4 62 1,146.0 11 316 < 0.1 11 35 331 (3) 19,414
A-n46-k7 914 914 912.6 6 914.0 8 1 1 0 914.0 8 8 11 92 (2) 50
A-n48-k7 1,073 1,073 1,065.9 9 1,071.8 14 2 1 1 1,073.0 15 129 < 0.1 15 20 166 (3) 372
A-n53-k7 1,010 1,010 1,001.1 11 1,003.8 21 15 12 78 1,009.7 24 364 < 0.1 24 28 611 (3) 363
A-n54-k7 1,167 1,167 1,148.7 12 1,156.6 25 84 207 91 1,166.1 35 709 < 0.1 35 86 1,409 (3) 7,246
A-n55-k9 1,073 1,073 1,064.2 9 1,067.8 18 10 5 30 1,070.7 19 771 < 0.1 19 19 84 (3) 468
A-n60-k9 1,354 1,354 1,339.0 17 1,343.9 32 78 201 108 1,351.7 44 2,704 2 46 111 3,080 (3) -
A-n61-k9 1,034 1,034 1,016.0 13 1,023.2 31 45 45 80 1,032.0 37 1,009 < 0.1 37 34 1,883 (3) 68,636
A-n62-k8 1,290 1,288 1,271.8 19 1,280.5 42 229 468 106 1,285.4 65 13,099 31 96 1,342 3,102 (3) -
A-n63-k9 1,616 1,616 1,596.8 18 1,608.6 37 20 17 32 1,616.0 40 303 < 0.1 40 44 1,046 (3) -
A-n63-k10 1,315 1,314 1,291.9 20 1,302.4 42 58 80 60 1,309.5 47 4,616 4 51 129 4,988 (3) -
A-n64-k9 1,402 1,401 1,376.7 16 1,387.5 36 146 271 84 1,395.3 49 7,810 14 63 120 11,254 (3) -
A-n65-k9 1,174 1,174 1,161.0 14 1,165.6 29 20 24 29 1,174.0 32 294 < 0.1 32 38 516 (3) 1,324
A-n69-k9 1,159 1,159 1,136.7 20 1,143.9 43 131 363 84 1,156.8 55 1,659 < 0.1 55 124 7,171 (3) -
A-n80-k10 1,763 1,763 1,746.2 30 1,755.5 63 126 80 89 1,760.7 78 2,513 4 82 194 6,464 (3) -
Avg 98.8 99.4 99.9 30 118 1,961 6,638
Solved 22 22 22 22 15

89
90
Table 4.10: Results on CVRP instances of class B

Proc. H 1 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst zU B z∗ LB1 T LB3 T |F 3 | |R 3 | SR3 LB4 U B4 T |R|


e Tcpx BMR BCM FLL (s) LLE
B-n38-k6 805 805 801.5 3 803.8 4 2 1 4 805.0 4 4 16 14 (-) 37
B-n39-k5 549 549 549.0 5 549.0 6 1 1 - 549.0 6 6 7 3 (-) 9
B-n41-k6 829 829 827.7 3 828.7 4 1 1 2 829.0 4 4 15 18 (-) 42

Chapter 4 Vehicle Routing Problem with Time Windows


B-n43-k6 742 742 735.7 4 736.8 5 88 29 91 740.0 20 9,591 3 23 37 29 (-) 125
B-n44-k7 909 909 909.0 2 909.0 3 1 1 - 909.0 3 3 24 9 (-) 8
B-n45-k5 751 751 748.8 6 750.9 8 2 1 - 751.0 9 9 16 16 (-) 46
B-n45-k6 678 678 675.3 5 677.0 8 11 1 - 678.0 10 10 61 279 (3) 299
B-n50-k7 741 741 741.0 3 741.0 4 1 1 - 741.0 4 4 24 6 (-) 11
B-n50-k8 1,312 1,312 1,291.1 11 1,302.6 24 1,011 334 92 1,308.8 1,312 118 23,073 29 147 662 2,845 (3) 31,026
B-n51-k7 1,032 1,032 1,025.8 8 1,026.7 11 339 27 71 1,032.0 32 8,793 2 34 52 46 (-) 209
B-n52-k7 747 747 746.1 7 746.1 7 2 1 3 747.0 8 8 29 9 (-) 25
B-n56-k7 707 707 704.3 7 704.8 9 28 1 - 705.0 11 1,653 ¡0.1 11 73 22 (-) 46
B-n57-k7 1,153 1,153 1,149.9 16 1,152.8 22 6 1 - 1,153.0 25 25 184 168 (-) 441
B-n57-k9 1,598 1,598 1,593.7 11 1,596.0 15 9 1 30 1,598.0 19 19 60 193 (3) 1,366
B-n63-k10 1,496 1,496 1,483.8 15 1,486.5 25 472 278 31 1,496.0 52 10,360 3 55 94 682 (-) 6,513
B-n64-k9 861 861 859.7 11 860.2 13 17 1 3 861.0 15 15 70 86 (-) 42
B-n66-k9 1,316 1,316 1,301.7 17 1,307.7 27 2,547 1,331 137 1,315.2 1,330 283 13,442 9 292 227 1,778 (3) 24,424
B-n67-k10 1,032 1,032 1,025.8 12 1,027.4 18 67 14 85 1,032.0 41 9,400 2 43 287 568 (-) 3,309
B-n68-k9 1,275 1,272 1,261.1 23 1,263.2 34 2,267 1,103 141 1,267.6 1,272 336 55,097 190 526 6,168 87,436 (3) -
B-n78-k10 1,221 1,221 1,208.4 23 1,214.9 36 266 71 52 1,221.0 91 11,131 6 97 229 1,053 (3) 87,408
Avg 99.5 99.7 99.9 67 417 4,763 8,178
Solved 20 20 20 20 19
Chapter 4 Vehicle Routing Problem with Time Windows
Table 4.11: Results on CVRP instances of classes E and M

Proc. H 1 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst zU B z∗ LB1 T LB3 T |F 3 | |R 3 | SR3 LB4 U B4 T |R|


e Tcpx BMR BCM FLL (s) LLE
E-n51-k5 521 521 516.9 3 517.6 7 7 7 14 521.0 8 8 12 65 (-) 59
E-n76-k7 682 682 667.2 5 669.8 28 910 o 193 680.6 151 3,597 1 152 3,370 46,520 (2) 118,683
E-n76-k8 735 735 724.3 13 725.1 45 218 1,249 160 734.0 81 1,765 1 82 873 22,891 (2) -
E-n76-k10 830 830 815.4 18 816.5 54 317 1,476 143 826.2 81 10,696 33 114 174 80,722 (3) -
E-n76-k14 1,021 1,021 1,004.3 15 1,007.0 36 109 255 93 1,014.7 42 8,965 10 52 44 48,637 (3) -
E-n101-k8 815 815 801.8 30 808.8 218 1,584 o 118 815.0 818 579 579 - 801,963 (3) -
E-n101-k14 1,071 1,067 1,049.6 10 1,052.9 45 2,272 o 198 1,062.3 1,067 319 56,692 134 453 1,230 116,284 (3) -
M-n101-k10 820 820 819.9 18 820.0 34 50 1 - 820.0 35 35 47 119 (-) 33
M-n121-k7 1,034 1,034 1,028.5 94 1,032.5 611 2,961 12 36 1,033.4 1,035 1,247 12,440 2 1,249 2,448 25,678 (3) -
M-n151-k12 1,015 993.4 131 1,004.3 380 o o m.o. - - - -
M-n200-k16 - 1,240.3 109 1,256.6 319 o o m.o. - - - -
M-n200-k17 1,275 1,243.1 139 1,258.7 436 o o m.o. - - - -
Avg 98.5 99.0 99.8 303 1,025 126,987 39,592
Solved 12 9 8 9 3
m.o.: GenP runs out of memory

Table 4.12: Results on CVRP instances of class F

Proc. H 1 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst zU B z∗ LB1 T LB3 T |F 3 | |R 3 | SR3 LB4 U B4 T |R|


e Tcpx BMR BCM FLL (s) LLE
F-n45-k4 724 724 723.9 20 724.0 23 4 1 0 724.0 23 23 8 (-) 6
F-n72-k4 237 237 233.0 249 236.2 301 228 10 1 237.0 304 304 121 (-) 40
F-n135-k7 1,162 1,162 1,158.0 1,057 m.o. - 7,065 (-) 3,092
Avg 99.3 99.8 100.0 164 2,398 1,046
Solved 3 2 3 3
m.o.: GenP runs out of memory

91
92
Table 4.13: Results on CVRP instances of class P

Proc. H 1 Proc. H 3 Proc. H 4 Problem Pe Ttot

Inst zU B z∗ LB1 T LB3 T |F 3 | |R 3 | SR3 LB4 U B4 T |R|


e Tcpx BMR BCM FLL (s) LLE
P-n16-k8 450 450 448.0 < 0.1 448.0 1 1 1 1 450.0 1 1 1 1 (2) 10
P-n19-k2 212 212 210.7 < 0.1 212.0 1 1 1 - 212.0 1 1 1 1 (-) 5
P-n20-k2 216 216 212.8 < 0.1 215.6 1 1 1 2 216.0 1 1 2 1 (-) 15
P-n21-k2 211 211 211.0 < 0.1 211.0 1 1 1 - 211.0 1 1 1 1 (-) 3
P-n22-k2 216 216 214.8 1 215.4 1 1 1 1 216.0 1 1 3 2 (-) 16

Chapter 4 Vehicle Routing Problem with Time Windows


P-n22-k8 603 603 602.9 < 0.1 603.0 1 1 1 - 603.0 1 1 12 3 (2) 44
P-n23-k8 529 529 529.0 < 0.1 529.0 1 1 1 - 529.0 1 1 1 18 (2) 69
P-n40-k5 458 458 456.1 1 456.6 2 1 1 11 458.0 2 2 26 34 (-) 19
P-n45-k5 510 510 504.2 3 504.8 6 1 1 19 510.0 6 6 21 194 (3) 76
P-n50-k7 554 554 548.7 4 549.7 8 6 5 6 554.0 9 9 16 143 (3) 805
P-n50-k8 649 631 613.4 6 615.9 15 47 70 113 625.1 631 64 2,993 4 68 596 9,272 (3) -
P-n50-k10 696 696 685.4 4 689.2 8 6 6 45 694.9 8 393 1 9 10 304 (3) 73,016
P-n51-k10 741 741 730.0 4 734.0 10 6 5 49 740.9 10 202 1 11 9 105 (3) 82,469
P-n55-k7 568 568 556.5 7 559.1 12 50 121 97 565.7 16 2,410 1 17 205 4,649 (2) 11,178
P-n55-k8 588 588 577.3 6 579.3 13 39 98 103 584.7 16 3,851 2 18 74 1,822 (2)
P-n55-k10 699 694 677.8 5 680.6 15 112 314 84 689.1 19 18,061 10 29 66 9,076 (3) -
P-n55-k15 993 989 966.6 7 970.7 25 20 18 46 984.5 26 1,501 1 27 8 1,944 (3) -
P-n60-k10 756 744 736.8 9 739.3 22 125 395 57 743.1 28 53,850 2 30 59 570 (3) -
P-n60-k15 1,033 968 959.8 6 963.2 15 3 2 45 967.8 968 73 241 < 0.1 73 8 442 (3) -
P-n65-k10 792 792 784.5 5 787.9 13 6 6 27 792.0 14 14 16 422 (3) -
P-n70-k10 834 827 811.5 13 813.6 34 147 483 129 823.0 827 150 7,925 16 166 774 24,039 (3) -
P-n76-k4 593 593 587.0 13 590.0 89 174 569 65 593.0 118 118 2,211 572 (-) 535
P-n76-k5 627 627 614.1 5 619.5 87 905 3,707 137 627.0 282 401 < 0.1 282 - 14,546 (-) 10,970
P-n101-k4 681 681 668.5 13 678.7 73 4,475 8,811 106 681.0 681 1,154 458 1 1,155 - 1,253 (-) 281
Avg 98.8 99.2 99.8 85 187 2,892 11,219
Solved 24 24 22 24 16
Chapter 4 Vehicle Routing Problem with Time Windows
Table 4.14: CVRP instances: summary

BMR BCM FLL LLE


Class N P Opt %LB T Opt %LB T Opt OptBCP OptBC %LB T Opt %LB T
A 22 22 99.9 30 22 99.8 118 22 20 2 99.2 1,961 15 97.9 6,638
B 20 20 99.9 67 20 99.8 417 20 6 14 99.5 4,763 19 99.4 8,178
E-M 12 9 99.8 303 8 99.4 1,025 9 7 2 98.9 126,987 3 97.7 39,592
F 3 2 100.0 164 3 0 3 99.9 2,398 3 99.9 1,046
P 24 24 99.8 85 22 99.7 187 24 16 8 99.2 2,892 16 97.7 11,219
Avg 99.9 92 99.7 323 99.3 17,409 98.4 9,935
Tot 81 77 72 78 49 29 56

93
94
Table 4.15: CVRP: impact of parameter ∆(Ni ) and of different types of inequalities

H1 H2 H3 H4
no CCs CCs ∆(Ni ) = 5 ∆(Ni ) = 8 ∆(Ni ) = 10 ∆(Ni ) = 12 no WSR3s WSR3s
Inst z∗ LB1 T LB1 T LB2 T LB2 T LB2 T LB2 T LB3 T LB3 T LB4 T

Chapter 4 Vehicle Routing Problem with Time Windows


B-n50-k8 1,312.0 1,229.0 2 1,291.1 11 1,302.6 20 1,302.6 21 1,302.6 21 1,302.6 22 1,302.6 24 1,303.0 39 1,308.8 118
B-n66-k9 1,316.0 1,223.8 3 1,301.7 17 1,307.0 20 1,307.4 22 1,307.4 23 1,307.4 24 1,307.7 27 1,309.7 70 1,315.2 283
B-n68-k9 1,272.0 1,166.8 3 1,261.1 23 1,263.2 28 1,263.2 29 1,263.2 29 1,263.2 31 1,263.2 34 1,264.3 103 1,267.6 336
B-n78-k10 1,221.0 1,126.4 4 1,208.4 23 1,212.7 27 1,213.9 29 1,214.3 30 1,214.5 32 1,214.9 36 1,218.0 67 1,221.0 91
E-n76-k7 682.0 667.2 2 667.2 5 668.5 20 668.9 22 669.2 23 669.3 23 669.8 28 673.3 74 680.6 151
E-n76-k8 735.0 720.3 2 724.3 13 724.7 33 724.8 34 724.9 36 724.9 38 725.1 45 729.1 72 734.0 81
E-n76-k10 830.0 811.3 1 815.4 18 815.9 46 815.9 46 816.1 49 816.2 52 816.5 54 820.9 73 826.2 81
E-n76-k14 1,021.0 999.2 1 1,004.3 15 1,006.1 26 1,006.7 28 1,007.0 33 1,007.0 36 1,007.0 36 1,009.3 40 1,014.7 42
E-n101-k8 815.0 796.5 5 801.8 30 802.1 32 802.1 32 802.4 34 802.4 35 806.4 35 808.8 218 815.0 579
E-n101-k14 1,067.0 1,044.6 5 1,049.6 10 1,047.5 33 1,047.6 35 1,047.7 40 1,047.8 40 1,052.9 45 1,056.7 191 1,062.3 319
F-n135-k7 1,162.0 1,098.2 140 1,158.0 1,057 1,158.9 1,359 1,159.1 1,396 1,159.3 1,405 1,159.3 1,423 - - -
M-n121-k7 1,034.0 1,013.2 9 1,028.5 94 1,031.1 173 1,031.8 178 1,032.0 191 1,032.0 197 1,032.2 220 1,032.5 611 1,033.4 1,247
P-n50-k8 631.0 612.3 < 0.1 613.4 6 614.6 10 615.3 11 615.5 13 615.9 13 615.9 15 618.6 27 625.1 64
P-n55-k10 694.0 676.9 1 677.8 5 679.7 9 680.6 11 680.6 12 680.6 12 680.6 15 682.6 25 689.1 19
P-n70-k10 827.0 807.9 1 811.5 13 812.3 24 812.9 28 813.2 31 813.3 32 813.6 34 817.6 60 823.0 150
P-n76-k5 627.0 614.1 3 614.1 5 615.3 24 615.7 27 615.9 27 616.1 28 616.8 32 619.5 87 627.0 282
P-n101-k4 681.0 668.5 13 675.7 55 676.0 58 676.0 59 676.4 60 676.4 60 676.9 62 678.7 73 681.0 1,154
Avg 96.4 98.5 98.7 98.7 98.8 98.8 98.8 99.1 99.7
Chapter 5

Multi-Trip Vehicle Routing


Problem

The multi-trip vehicle routing problem (MTVRP) is a variant of the capacitated vehicle
routing problem where each vehicle can perform a subset of routes, called a vehicle
schedule, subject to maximum driving time constraints. Despite its practical impor-
tance, the MTVRP has received little attention in the literature. Few heuristics have
been proposed, and only an exact algorithm has been presented for a variant of the
MTVRP with customer time window constraints and unlimited driving time for each
vehicle. We describe two set-partitioning-like formulations of the MTVRP. The first
formulation requires the generation of all feasible routes, whereas the second formula-
tion is based on the generation of all feasible schedules. We study valid lower bounds,
based on the linear relaxations of both formulations enforced with valid inequalities,
that are embedded into an exact solution method. The computational results show that
the proposed exact algorithm can solve MTVRP instances taken from the literature,
with up to 120 customers.

5.1 Introduction

The capacitated vehicle routing problem (CVRP) and its many variations play an im-
portant role in the management of many distribution systems. In most of the studied
models, the vehicles are identical and each vehicle is allowed to perform, at most, a
single route.

In many contexts, a distribution company uses leased vehicles to service the customers
and incurs a significant cost for each vehicle used. Whenever the planning period
1
This chapter is based on Mingozzi et al. [2012]

95
96 Chapter 5 Multi-Trip Vehicle Routing Problem

is large with respect to the route duration, and some vehicles can perform several
routes in the period, the primary concern of the company is to minimize the number
of vehicles used. The multi-trip vehicle routing problem (MTVRP) is an extension of
the CVRP where each vehicle can perform multiple routes during its working period.
The MTVRP can be described as follows.

A complete undirected graph G = (V 0 , E) is given, where V 0 is the set of vertices and


E is the set of edges. We have V 0 = {0} ∪ V , where vertex 0 represents the depot and
the set V = {1, . . . , n} represents n customers, each one requiring qi units of product
from the depot. A fleet M = {1, . . . , m} of m identical vehicles is located at the depot.
Each vehicle has capacity Q and maximum driving time T . A travel cost αij and a
travel time τij are associated with each edge {i, j} ∈ E. All input data are assumed to
be nonnegative.

A route of a vehicle is a least-cost elementary cycle in G that passes through the depot
and a subset of the customers such that the total demand of the customers visited does
not exceed the vehicle capacity Q. The cost (duration) of a route is equal to the sum
of the travel costs (travel times) of the edges traversed.

A schedule of a vehicle is a subset of routes whose total duration is less than or equal
to the maximum driving time T . The cost of a schedule is equal to the sum of the
costs of its routes.

The MTVRP calls for the design of a set of m schedules of minimum total cost such
that each customer is visited exactly once by the routes of the schedules.

5.2 Literature Review

To the best of our knowledge, no exact algorithm for the MTVRP has been presented
in the literature so far. The main heuristic methods proposed are surveyed in the
following. Fleischmann [1990] addressed the problem first. He proposed a modification
of the well-known saving algorithm and by using a bin packing heuristic to assign the
routes to the vehicles. Taillard et al. [1996] proposed a three-phase algorithm. In the
first phase, a set of routes satisfying the capacity constraints are designed. Next, the
routes are combined to derive different CVRP solutions. Finally, the routes of each
CVRP solution are assigned to the vehicles by solving a bin packing problem. Petch
and Salhi [2004] described a multi-phase heuristic that constructs many feasible CVRP
solutions and, for each one, assigns routes to vehicles with a bin packing heuristic. Salhi
and Petch [2007] investigated a genetic algorithm approach. Olivera and Viera [2007]
described an adaptive memory heuristic algorithm. Different tabu search algorithms
were proposed by Alonso et al. [2008], Brandão and Mercer [1997, 1998]. A real life
application of the MTVRP is described in Gribkovskaia et al. [2006].
Chapter 5 Multi-Trip Vehicle Routing Problem 97

Azi et al. [2010] addressed a variant of the MTVRP where: (i) a time window and a
revenue are associated with each customer, (ii) the duration of each route is limited,
(iii) the maximum driving time of the vehicles is unlimited, and (iv) it is not required
to service all customers. Thus, the customers must be chosen based on their associated
revenue minus the traveling cost to reach them. Azi et al. described a branch-and-price
algorithm based on a set packing formulation that can routinely solve instances with
25 customers and a few instances with up to 50 customers. When the time windows
are removed, the problem becomes the well-known distance-constrained CVRP. In this
case, the algorithm was able to solve two instances with 25 customers.

5.3 Mathematical Formulations and Relaxations

In this section, we describe two set-partitioning-like formulations, called F 1 and F 2,


and a valid integer relaxation, called RF 1, of the MTVRP. Formulation F 1 requires
the a priori generation of all feasible routes, whereas formulation F 2 is based on the
generation of all feasible schedules. Relaxation RF 1 is an IP problem similar to the
set partitioning formulation of the CVRP.

5.3.1 Formulation F 1

Let R be the index set of all feasible routes on graph G, and let Ri ⊆ R be the index
subset of the routes visiting customer i ∈ V . A cost d` and a duration τ` are associated
with each route ` ∈ R. In the following, we use R` and E(R` ) to indicate the set of
customers visited and the edges traversed by route ` ∈ R, respectively.

Let ξ`j be a binary variable equal to 1 if and only if route ` ∈ R is assigned to vehicle
j ∈ M . The mathematical formulation F 1 is as follows

ξ`j
X X
(F 1) z(F 1) = min d` (5.1)
`∈R j∈M

ξ`j = 1,
X X
s.t. i ∈ V, (5.2)
`∈Ri j∈M

τ` ξ`j ≤ T,
X
j ∈ M, (5.3)
`∈R

ξ`j ∈ {0, 1}, j ∈ M, ` ∈ R. (5.4)

Constraints (5.2) impose that each customer is visited exactly once, and constraints
(5.3) define a feasible schedule for each vehicle used.

We denote by LF 1 the LP-relaxation of formulation F 1 and by z(LF 1) its optimal


solution cost.
98 Chapter 5 Multi-Trip Vehicle Routing Problem

5.3.2 Formulation F 2

Let H be the index set of all schedules. For each schedule k ∈ H , we denote by
Ωk ⊆ R the index subset of the routes in the schedule, by ck = `∈Ωk d` its cost, and
P
P
by τ (Ωk ) = `∈Ωk τ` its total duration. Moreover, we denote by V (Ωk ) = ∪`∈Ωk R`
and E(Ωk ) = ∪`∈Ωk E(R` ) the set of customers visited and the set of edges traversed
by schedule k ∈ H , respectively.

We assume that H contains undominated schedules only (i.e., given k ∈ H , there


exists no k 0 ∈ H \ {k} such that V (Ωk ) = V (Ωk0 ) and ck > ck0 ). Notice that whenever
m = 1, H contains only schedules corresponding to optimal integer solutions of the
CVRP, where the total duration of the routes is less than or equal to T .

Let yk be a binary variable equal to 1 if and only if schedule k ∈ H is assigned to a


vehicle. Formulation F 2 of the MTVRP is as follows
X
(F 2) z(F 2) = min ck yk (5.5)
k∈H
X
s.t. yk = 1, i ∈ V, (5.6)
k∈H : i∈V (Ωk )
X
yk ≤ m, (5.7)
k∈H

yk ∈ {0, 1}, k∈H. (5.8)

Constraints (5.6) specify that each customer i ∈ V must be visited exactly once.
Constraint (5.7) imposes the upper bound on the number of vehicles used.

We denote by LF 2 the LP-relaxation of F 2 and by z(LF 2) its optimal solution cost.

5.3.3 Comparing Relaxations LF 1 and LF 2

The following proposition shows the relation between relaxations LF 1 and LF 2.


Proposition 1. The inequality z(LF 1) ≤ z(LF 2) holds and can be strict.

Proof. We show that any optimal dual solution of LF 1 of cost z(LF 1) is a feasible dual
solution of LF 2 of cost z(LF 1), as well. Let u = (u1 , . . . , un ) and w = (w1 , . . . , wm )
Chapter 5 Multi-Trip Vehicle Routing Problem 99

be the vectors of the dual variables associated with constraints (5.2) and (5.3), respec-
tively. The dual of LF 1 is
X X
(DF 1) z(DF 1) = max ui + T wj (5.9)
i∈V j∈M
X
s.t. ui + τ` wj ≤ d` , j ∈ M, ` ∈ R, (5.10)
i∈R`

ui ∈ R, i ∈ V, (5.11)
wj ≤ 0, j ∈ M. (5.12)

Consider a vehicle schedule Ωk . Adding inequalities (5.10) over the routes of Ωk and
all vehicles of M and dividing by m, we obtain
X X X τ` X X
ui + wj ≤ d` . (5.13)
m
`∈Ωk i∈R` `∈Ωk j∈M `∈Ωk

T P P
Define ū0 = m j∈M wj . Because `∈Ωk τ` ≤ T and wj ≤ 0, we have
X τ` X
ū0 ≤ wj ≤ 0. (5.14)
m
`∈Ωk j∈M

From inequalities (5.13) and (5.14), we derive


X X
ui + ū0 ≤ ck ,
`∈Ωk i∈R`

which corresponds to the dual constraint associated with variable yk of problem LF 2,


thus showing that ū = (ū0 , u1 , . . . , un ) is a dual solution of LF 2, where ui , i ∈ V , are
the dual variables of constraints (5.6) and ū0 is the dual variable of constraint (5.7).
The cost of the dual solution ū of LF 2 defined above is
X X mT X
ui + mū0 = ui + wj = z(LF 1).
m
i∈V i∈V j∈M

The following example shows that z(LF 1) can be strictly smaller than z(LF 2).

Example 1. Consider an MTVRP instance with n = 4, m = 2, T = 100, Q = 2,


q1 = 2, q2 = 1, q3 = 1, and q4 = 2. Travel costs and times coincide; in particular,
we have α01 = τ01 = 30, α02 = τ02 = 15, α03 = τ03 = 15, α04 = τ04 = 30, and
α23 = τ23 = 20.

Formulation F 1 has the following five feasible routes (i.e., |R| = 5) for each vehicle:
R1 = {1}, d1 = 60; R2 = {2}, d2 = 30; R3 = {3}, d3 = 30; R4 = {4}, d4 = 60; and
R5 = {2, 3}, d5 = 50. Solving LF 1, we obtain z(LF 1) = 170 corresponding to ξ11 = 1,
ξ51 = 21 , ξ42 = 1, ξ52 = 21 (the other ξ`j variables having a null value).
100 Chapter 5 Multi-Trip Vehicle Routing Problem

Formulation F 2 has the following nine schedules (i.e., |H | = 9): Ω1 = {1}, c1 = 60;
Ω2 = {2}, c2 = 30; Ω3 = {3}, c3 = 30; Ω4 = {4}, c4 = 60; Ω5 = {5}, c5 = 50;
Ω6 = {1, 2}, c6 = 90; Ω7 = {1, 3}, c7 = 90; Ω8 = {2, 4}, c8 = 90; and Ω9 = {3, 4},
c9 = 90. Solving LF 2, we obtain z(LF 2) = 180 > z(LF 1) corresponding to solution
y6 = 1, y9 = 1, and yk = 0, for any k 6= 6, 9.

5.3.4 Relaxation RF 1

Problem RF 1 is an integer problem derived from F 1 and is used, in the bounding pro-
cedures described in the next sections, to compute three lower bounds to the MTVRP.
Problem RF 1 is obtained from F 1 as follows.

1. Replace constraints (5.3) with the following surrogate constraint

ξ`j ≤ mT.
X X
τ` (5.15)
`∈R j∈M

2. Set x` = j∈M ξ`j , ` ∈ R. Notice that, because of constraints (5.2), we have


P

x` ∈ {0, 1}.
P j
3. Replace the term j∈M ξ` with x` into expressions (5.1), (5.2), and (5.15).

The resulting relaxed problem RF 1 involves only the binary variables x` , ` ∈ R, where
x` is equal to 1 if and only if route ` is in the solution.
X
(RF 1) z(RF 1) = min d` x` (5.16)
`∈R
X
s.t. x` = 1, i ∈ V, (5.17)
`∈Ri
X
τ` x` ≤ mT, (5.18)
`∈R

x` ∈ {0, 1}, ` ∈ R. (5.19)

In the following, we refer to problem RF 1 as the CVRP relaxation of the MTVRP (or
as the CVRP associated to the MTVRP) and denote by LRF 1 the LP-relaxation of
RF 1 and by z(LRF 1) its optimal solution cost.
Proposition 2. The following equality holds

z(LF 1) = z(LRF 1). (5.20)

Proof. Equality (5.20) follows from the observation that any LF 1 solution ξ can be
transformed into an LRF 1 solution x of the same cost, and vice versa.
Chapter 5 Multi-Trip Vehicle Routing Problem 101

The following algorithm transforms a solution x of LRF 1 into a feasible LF 1 solution


ξ of cost z(LRF 1).

1. Initialize j = 0.

2. Set j = j + 1 and wt = 0.

3. Let `∗ = min{` ∈ R : x`∗ > 0}. If τ`∗ x`∗ ≤ T − wt, set wt = wt + τ`∗ x`∗ ,
−wt)
ξ`j∗ = x`∗ , x`∗ = 0, and repeat Step 3. If τ`∗ x`∗ > T − wt, define p = (T
τ`∗ x`∗ , and
set ξ`j∗ = p, x`∗ = 1 − p, and return to Step 2.

Any LF 1 solution ξ can be transformed into a feasible solution x of LRF 1 of cost


z(LF 1) by simply setting x` = j∈M ξ`j . 
P

5.4 Improving Relaxations LRF 1 and LF 2 and Outline of


the Exact Method

In this section, we describe two relaxations, called LRF 1 and LF 2, derived respectively
from LRF 1 and LF 2 by adding some families of valid inequalities. These relaxations
are used to derive valid lower bounds on the MTVRP that are embedded in the exact
method proposed in §5.8.

5.4.1 Relaxation LRF 1

Relaxation LRF 1 derives from LRF 1 by adding two types of valid inequalities for the
set partitioning formulation of the CVRP (see Chapter 4), called strengthened capacity
inequalities and subset row inequalities, and replacing inequality (5.18) with a new type
of inequalities, called working time inequalities.

Strengthened Capacity Inequalities. Let S be the set of all the subsets of cus-
tomers of cardinality greater than or equal to 2 (i.e., S = {S ⊆ V : |S| ≥ 2}), and let
δ(S) be the cutset of S ∈ S . Let ρ` (S) be the number of edges of δ(S) traversed by
route ` ∈ R (i.e., ρ` (S) = |E(R` ) ∩ δ(S)|). The strengthened capacity (SC) inequalities
are
X
ρ` (S)x` ≥ 2k(S), S ∈ S ,
`∈R

where k(S) is a lower bound on the number of vehicles required to service the customer
P
set S and can be computed as d i∈S qi /Qe.

Subset Row Inequalities. Subset row (SR) inequalities were introduced by Jepsen
et al. [2008] for the vehicle routing problem with time windows. They combine clique
inequalities with odd-hole inequalities. Let C = {C ⊆ V : |C| ≥ 3}, and let η be
102 Chapter 5 Multi-Trip Vehicle Routing Problem

an integer such that η > 1. Any feasible RF 1 solution must satisfy the following SR
inequality
X
ϕ` (C)x` ≤ ϕ0 (C), C ∈ C ,
`∈R
j k j k
where ϕ` (C) = |R`η∩C| , and ϕ0 (C) = |C| η . We consider the following three special
cases of the SR inequalities where η = 2.

1. SR3 inequalities. SR3 inequalities correspond to the subset C 3 ⊆ C defined


as C 3 = {C ⊆ V : |C| = 3}. SR3 inequalities correspond to a subset of clique
inequalities and impose that, at most, one of the routes visiting at least two of
the customers in C ∈ C 3 can be in the solution.

2. SR5 inequalities. SR5 inequalities correspond to the subset C 5 ⊆ C defined as


C 5 = {C ⊆ V : |C| = 5}. SR5 inequalities correspond to odd-hole inequalities
and impose that, at most, two of the routes visiting at least two of the customers
in C ∈ C 5 can be in the solution.

3. WSR3 inequalities. Weak subset row (WSR3) inequalities, introduced in


§4.3.2, are downlifted SR3 inequalities. They are used as an alternative to
the SR3 inequalities in the bounding procedures described in §5.5. Let E(C),
C ∈ C 3 , be the edges whose terminal vertices are both in C. The coefficients of
the WSR3 inequalities, ϕ` (C), are computed as ϕ` (C) = 1 if |E(R` ) ∩ E(C)| ≥ 1,
and ϕ` (C) = 0 if |E(R` ) ∩ E(C)| = 0.

Hereafter, we use C = C 3 ∪ C 5 and C ∈ C to refer to both the index and the customer
subset of an SR inequality. The SR3, SR5, and WSR3 inequalities are separated
through complete enumeration.

Working Time Inequalities. These new inequalities strengthen inequality (5.18).


They are given by the following proposition.
Proposition 3. Let tmin be a lower bound on the duration of any route ` ∈ R. If travel
costs αij satisfy the triangle inequality, we can define tmin = mini∈V {2τ0i }. For a given
time t ∈ [tmin , T ], let t̂ = T mod(t) + 1, and let L = {L ⊆ R : τ` ∈ [t̂, t) for each ` ∈
L, and R`0 ∩ R`00 6= ∅, for each `0 , `00 ∈ L}. The following inequalities, called working
time (WT) inequalities, are valid for LRF 1
X j τ` k X jT k
x` + x` ≤ m, t ∈ [tmin , T ], L ∈ L . (5.21)
t t
`∈R\L `∈L

Proof. For a given L ∈ L , inequalities (5.3) can be written as

τ` ξ`j ≤ T − τ` ξ`j ,
X X
j ∈ M. (5.22)
`∈R\L `∈L
Chapter 5 Multi-Trip Vehicle Routing Problem 103

Inequalities (5.22) can be relaxed by replacing τ` with t̂, for each route ` ∈ L

τ` ξ`j ≤ T − t̂ ξ`j ,
X X
j ∈ M. (5.23)
`∈R\L `∈L

By dividing inequalities (5.23) by t and rounding down the coefficients, we have

X j τ` k j j T − t̂
P jk
`∈L ξ`
ξ ≤ , j ∈ M. (5.24)
t ` t
`∈R\L

P j
Notice that because of the definition of the set L, `∈L ξ` is equal to either 0 or
T −t̂ `∈L ξ`j
P
j
c = b Tt c. If
P
1 for any feasible MTVRP solution. If `∈L ξ` = 0, then b t
P j
j T −t̂ `∈L ξ`
c = bT− t̂ T
P
`∈L ξ` = 1, because of the definition of t̂, we have b t t c = b t c − 1.
Thus, we have
j T − t̂ P jk
`∈L ξ`
jT k X
= − ξ`j , j ∈ M. (5.25)
t t
`∈L

From inequalities (5.24) and equations (5.25), we derive


X j τ` k j X j j T k
ξ + ξ` ≤ , j ∈ M. (5.26)
t ` t
`∈R\L `∈L

P j
By summing up inequalities (5.26) and replacing j∈M ξ` with x` ∈ {0, 1}, we derive
inequalities (5.21). 

The separation of inequalities (5.21) is N P-hard because it requires the computation


of the set L . Therefore, we use a subset of the WT inequalities (5.21) that are
obtained by defining Lit = {` ∈ Ri : τ` ∈ [t̂, t) }, for each vertex i ∈ V , and by setting
L = {Lit : i ∈ V, t ∈ [tmin , T ]}. Let W = {(t, i) : t ∈ [tmin , T ], i ∈ V }. These latter
inequalities can be conveniently written as follows
X
ϑ` (t, i)x` ≤ ϑ0 (t), (t, i) ∈ W , (5.27)
`∈R

where, for a given (t, i) ∈ W , ϑ` (t, i) = b τt` c, for each route ` ∈ R \ Lit , ϑ` (t, i) = 1,
for each route ` ∈ Lit , and ϑ0 (t) = b Tt cm. Inequalities (5.27) can be separated by
complete enumeration.

Example 2. Consider the MTVRP instance defined in Example 1 of §5.3.3. Problem


RF 1 involves the same set R of routes of formulation F 1. An optimal solution of RF 1
of cost z(RF 1) = z(LRF 1) = 170 is given by x1 = 1, x4 = 1, and x5 = 1. Consider the
WT inequality (5.27) for t = 60 and i = 3. As t̂ = 41, we have L60,3 = {5}. Thus, the
coefficients of (5.27) are ϑ1 (60, 30) = 1, ϑ2 (60, 30) = 0, ϑ3 (60, 30) = 0, ϑ4 (60, 30) = 1,
ϑ5 (60, 30) = 1, and ϑ0 (60) = 2. Inequality (5.27) corresponds to x1 + x4 + x5 ≤ 2,
which is violated by the aforementioned solution of RF 1. 
104 Chapter 5 Multi-Trip Vehicle Routing Problem

Relaxation LRF 1 is the following problem


X
(LRF 1) z(LRF 1) = min d` x` (5.28)
`∈R
X
s.t. x` = 1, i ∈ V, (5.29)
`∈Ri
X
ρ` (S)x` ≥ 2k(S), S ∈ S, (5.30)
`∈R
X
ϕ` (C)x` ≤ ϕ0 (C), C ∈ C, (5.31)
`∈R
X
ϑ` (t, i)x` ≤ ϑ0 (t), (t, i) ∈ W , (5.32)
`∈R

x` ≥ 0, ` ∈ R. (5.33)

Let (u, v, g, h) be the dual variables of LRF 1, where u ∈ Rn is associated with (5.29),
|S | |C | |W |
v ∈ R+ with (5.30), g ∈ R− with (5.31), and h ∈ R− with (5.32).

In §5.5, we describe three bounding procedures to solve LRF 1, called H 1 , H 2 , and


H 3 , that are extensions of similar procedures proposed in Chapter 4 for the CVRP.
The three procedures are executed in sequence, and the dual solution of procedure H k
is used to hot-start procedure H k+1 , k = 1, 2.

Procedures H 1 and H 2 are dual-ascent heuristics based on a cut-and-column generation


(CCG) method that differs from standard CCG methods based on the simplex for the
use of a dual-ascent heuristic to find a near-optimal dual solution of problem LRF 1.
Procedure H 1 finds a dual solution (u1 , v 1 , g 1 ) of cost LB1 of problem LRF 1 by
adding SC and WSR3 inequalities, ignoring WT inequalities, and replacing the route
set R with the set of all q-routes (see Christofides et al. [1981b]). Procedure H 2 differs
from H 1 as it uses elementary routes instead of q-routes. Procedure H 2 achieves a
dual solution (u2 , v 2 , g 2 ) of cost LB2 , such that LB1 ≤ LB2 . Procedure H 3 is a CCG
method based on the simplex to solve problem LRF 1. Procedure H 3 inherits from H 2
the master and achieves an optimal dual solution (u3 , v 3 , g 3 , h3 ) of cost LB3 .
Chapter 5 Multi-Trip Vehicle Routing Problem 105

5.4.2 Relaxation LF 2

Relaxation LF 2 is obtained by adding SC, SR3, and SR5 inequalities to LF 2


X
(LF 2) z(LF 2) = min ck yk (5.34)
k∈H
X
s.t. yk = 1, i ∈ V, (5.35)
k∈H : i∈V (Ωk )
X
yk ≤ m, (5.36)
k∈H
X
ρk (S)yk ≥ 2k(S), S ∈ S, (5.37)
k∈H
X
ϕk (C)yk ≤ ϕ0 (C), C ∈ C, (5.38)
k∈H

yk ≥ 0, k∈H, (5.39)

where ρk (S) and ϕk (C) of constraints (5.37) and (5.38) are computed as ρk (S) =
|E(Ωk ) ∩ δ(S)| and ϕk (C) = b |V (Ωηk )∩C| c.

Let (w, v, g) be the dual variables of LF 2, where w = (w0 , w1 , . . . , wn ) and w0 ∈ R− is


|S |
associated with constraint (5.36), (w1 , . . . , wn ) ∈ Rn with constraints (5.35), v ∈ R+
|C |
with constraints (5.37), and g ∈ R− with constraints (5.38).

In §5.6, we describe a CCG procedure, called H 4 , to solve LF 2. We denote by x4 and


(w4 , v 4 , g 4 ) the optimal primal and dual solutions, respectively, of LF 2 of cost LB4
achieved by H 4 .

5.4.3 Using Multiple Dual Solutions to Improve Procedures H 2 , H 3


and H 4

In this section, we describe two simple methods to improve the lower bounds and the
computing times of procedures H 2 , H 3 and H 4 .

The method used in H 2 and H 3 is based on the following simple observation which
applies to any problem with binary variables. Consider the following problem with n
variables and m constraints

(F ) z(F ) = min cx
s.t. Ax = b,
x ∈ {0, 1}n .

Let us denote by LF the LP-relaxation of problem F and by D the dual of LF , and


let z(F ), z(LF ) and z(D) be the optimal solution costs of F , LF and D, respectively.
We assume to know a valid upper bound zU B on z(F ).
106 Chapter 5 Multi-Trip Vehicle Routing Problem

Observation 1. Let w0 be a feasible (nonnecessarily optimal) D solution of cost z 0 (D).


Because any optimal F solution x∗ satisfies z(F ) = z 0 (D) + j∈J c0j , where c0j = cj −
P

w0 aj , J = {j : x∗j = 1, 1 ≤ j ≤ n} is the reduced cost of variable xj and aj is the jth


column vector of matrix A, then any variable xj such that z 0 (D)+c0j > zU B cannot be in
any optimal solution of cost less than or equal to zU B and can be removed from F . The
resulting problem F 0 has the same optimal solutions of F . Let LF 0 be the LP-relaxation
of F 0 , and let z(LF 0 ) be its optimal solution cost. It follows that z(LF 0 ) ≥ z(LF ), and
such inequality can be strict if c0j > zU B − z(LF ) for some variable xj of the optimal
basis of LF . In practice, it might happen that z(LF ) < z(LF 0 ) = z(F ), as shown in
the following example.

Example 3. Consider the following set partitioning problem F

min = x1 +x2 +x3 +4x4 +3x5 +4.5x6


s.t. x1 +x4 +x5 +x6 = 1,
x2 +x4 +x5 +x6 = 1,
x3 +x4 +x6 = 1,
x1 +x2 +x5 = 1,
x1 +x3 +x6 = 1,
x2 +x3 = 1,
xj ∈ {0, 1}, j = 1, . . . , 6.

A valid upper bound is zU B = 4.5, whereas the optimal integer solution cost of F is
z(F ) = 4 corresponding to x3 = 1, x5 = 1, xj = 0, j 6= 3, 5. The optimal LF solution
cost is z(LF ) = 2 corresponding to x = ( 21 , 12 , 21 , 12 , 0, 0). Consider the dual solution
w = ( 13 , 13 , 31 , 31 , 13 , 31 ) of cost z(D) = 2; the vector c0 of the reduced costs with respect
to w is c0 = (0, 0, 0, 3, 2, 19 6 ).

According to Observation 1, we can remove variables x4 and x6 from F as z(D) + c04 >
zU B and z(D) + c06 > zU B . Thus, we derive problem F 0 that involves variables x1 , x2 ,
x3 and x5 only.

An optimal solution of LF 0 is x = (0, 0, 1, 0, 1, 0) of cost z(LF 0 ) = 4, which is also an


optimal integer solution of F ; that is z(LF ) < z(LF 0 ) = z(F ). 

Observation 1 is used by procedures H 2 and H 3 for solving the pricing problem. Pro-
cedure H k , k = 2, 3, uses the dual solution (uk−1 , v k−1 , g k−1 ) produced by H k−1
to reject any route of negative reduced cost with respect to the incumbent dual so-
lution of problem LRF 1 but having reduced cost with respect to (uk−1 , v k−1 , g k−1 )
greater than zU B − LBk−1 , where zU B is a valid upper bound to the MTVRP that can
be computed by running any of the heuristic algorithms available from the literature
(hereafter, we assume to know such upper bound on the MTVRP).
Chapter 5 Multi-Trip Vehicle Routing Problem 107

In practice, this method improves both the final lower bound LBk achieved by H k and
the computing time of H k , avoiding the generation of routes of negative reduced cost
that cannot be in any optimal integer solution.

To improve the lower bound value as well as the computing time of H 4 , we use the
following observation.
Observation 2. Let d3` be the reduced cost of route ` ∈ R with respect to the dual
solution (u3 , v 3 , g 3 , h3 ) of LRF 1 of cost LB3 achieved by H 3 . Let z(F 2) be the cost
of an optimal F 2 solution y ∗ , and let Y = {k ∈ H : yk∗ = 1}. The following inequality
holds z(F 2) ≥ LB3 + k∈Y d3 (Ωk ), where d3 (Ωk ) = `∈Ωk d3` . Thus, any schedule
P P

k ∈ H such that d3 (Ωk ) > zU B − LB3 cannot be in any optimal solution and can be
removed from F 2.

Observation 2 is used in procedure H 4 to reject any schedule Ωk of negative reduced


cost with respect to the dual solution of the master such that d3 (Ωk ) > zU B − LB3 .

5.5 Bounding Procedures H 1 , H 2 , and H 3 Based on Re-


laxation LRF 1

In this section, we describe three bounding procedures H 1 , H 2 and H 3 to derive lower


bounds LB1 , LB2 and LB3 , respectively. Procedures H 1 and H 2 use a method, called
CCG, proposed by Baldacci et al. [2008] for the CVRP and used in Chapter 4 for
solving the VRPTW and the CVRP. Procedure H 3 is a CCG method, based on the
simplex, that uses a new strategy to solve the pricing problem.

5.5.1 Algorithm CCG

This algorithm differs from standard CCG methods based on the simplex as it uses a
dual-ascent heuristic to find a near-optimal dual solution of the master problem. The
main advantages of this method are

1. it is faster than simplex based methods;

2. it is not affected by the typical degeneration of the simplex;

3. the dual solution produced does not correspond to a dual basic solution of the
master, thus making the pricing problem easier to solve.

The Dual Heuristic to Solve the Master Problem. The master problem of
LRF 1 with SC and WSR3 inequalities is defined by a subset R̄ ⊆ R and the sets S
and C of SC and WSR3 inequalities. The initializations of the sets R̄, S and C are
108 Chapter 5 Multi-Trip Vehicle Routing Problem

described in §§5.5.2 and 5.5.4. The dual-ascent heuristic to compute a feasible dual
solution (ū, v̄, ḡ) of the master problem corresponds to the method described in §4.5.1
and is based on the following theorem.

Theorem 5.1. Let us associate penalties λi ∈ R, i ∈ V , with constraints (5.29),


µS ∈ R+ , S ∈ S , with SC constraints (5.30), and ωC ∈ R− , C ∈ C , with constraints
(5.31) in the form of WSR3 inequalities. For each route R` (` ∈ R), we indicate with
P P
c̄` its reduced cost with respect to (λ, µ, ω) (i.e., c̄` = c` − i∈R` λi − S∈S ρ` (S)µS −
P
C∈C ϕ` (C)ωC ). For each i ∈ V , let us compute

n c̄` o
βi = qi min P .
`∈R̄ : i∈R` i∈R` qi

A feasible dual solution (u, v, g) of the master of cost z(LRF 1(λ, µ, ω)) is obtained
by setting

ui = βi + λi , i ∈ V, v S = µS , S ∈ S , and gC = ωC , C ∈ C .

Proof. See §3.5.2. 

A near-optimal dual solution (ū, v̄, ḡ) of the current master problem is obtained by
an iterative procedure that performs a predefined number M axit2 of subgradient iter-
ations to solve the problem

LCCG = max {z(LRF 1(λ, µ, ω))}.


(λ,µ,ω)

We denote by (ū, v̄, ḡ) the near-optimal dual solution of LRF 1 achieved after M axit2
iterations and by x̄ the corresponding nonnecessarily feasible solution of LRF 1.

Adding violated WSR3 inequalities and solving the pricing problem. After
computing the master dual solution (ū, v̄, ḡ), CCG adds, to the master, the largest
subset C 0 of at most ∆(C ) WSR3 inequalities most violated by x̄, where ∆(C ) is a
given parameter. In our computational results, we set ∆(C ) = 100. The set S of
SC inequalities is generated at the beginning of CCG, as described in Baldacci et al.
[2008], and is not changed.

Moreover, CCG generates a subset N ⊆ R of routes of negative reduced cost with


respect to (ū, v̄, ḡ). If N 6= ∅, then CCG sets Rb = Rb ∪ N ; otherwise, (ū, v̄, ḡ) is a
feasible dual solution.

CCG terminates after M axit1 macro iterations and provides an LRF 1 dual solution,
(u∗ , v ∗ , g ∗ ), of cost LCCG corresponding to the penalty vector (λ∗ , µ∗ , ω ∗ ).
Chapter 5 Multi-Trip Vehicle Routing Problem 109

5.5.2 Bounding Procedure H 1

Procedure H 1 enlarges the route set R with an extension of the q-routes introduced by
Christofides et al. [1981b]. The initial route set R̄ of the master problem contains all
single-customer routes (0, i, 0), i ∈ V . We initialize C = ∅ and (λ, µ, ω) = (0, 0, 0).

At a given macro iteration, the set N of routes of negative reduced cost with respect
to the dual solution (ū, v̄, ḡ) is computed as follows. Define the modified arc cost

1 X
ᾱij = αij − (ūi + ūj ) − v̄S , for each edge {i, j} ∈ E,
2
S∈S : {i,j}∈δ(S)

with respect to (ū, v̄, ḡ).

A (q, j, i)-path is a nonnecessarily elementary path that starts from the depot and
visits a subset of customers (once or more) such that their total demand is q and the
last two customers visited are j and i in this order. A (q, j, i)-path is defined for any
load q (qj +qi ≤ q ≤ Q), and for any pair of vertices j, i ∈ V 0 , j 6= i. A (q, j, 0)-route (or
simply a q-route) is a (q, j, 0)-path. Let f (q, j, i) be the cost of a least-cost (q, j, i)-path
using the modified arc costs ᾱij , and let Cij = {C ∈ C : {i, j} ∈ E(C)}. Functions
f (q, j, i) can be computed with the following dynamic programming (DP) recursion
n X o
f (q, j, i) = min f (q − qi , k, j) + ᾱji − ḡC ,
k∈V 0 \{i}
C∈Cji \Ckj

q = qj + qi , . . . , Q, j, i ∈ V 0 , j 6= i, j 6= 0.

Functions f (q, j, i) are initialized as f (qi , 0, i) = ᾱ0i , i ∈ V .

The set N contains any q-route of negative reduced cost corresponding to a least-cost
q-route visiting customer j ∈ V as the last customer before arriving at the depot.

At the end, procedure H 1 sets (u1 , v 1 , g 1 ) = (u∗ , v ∗ , g ∗ ), (λ1 , µ1 , ω 1 ) = (λ∗ , µ∗ , ω ∗ ),


and LB1 = LCCG.

5.5.3 Route Generation Algorithm GenR

In this section, we describe the two-phase algorithm GenR used by bounding procedure
H 2 to initialize the master problem and to solve the pricing problem. Moreover,
the second phase of GenR is used by H 3 to solve the pricing problem and by the
exact method to generate all routes of reduced cost, with respect to (u3 , v 3 , g 3 , h3 ),
less than zU B − LB3 . Algorithm GenR generates elementary routes and extends the
method proposed by Baldacci et al. [2008] for the CVRP by introducing new bounding
functions to reduce the state-space graph. GenR is based on the following observations.
110 Chapter 5 Multi-Trip Vehicle Routing Problem

Let V (P ) ⊆ V be the subset of customers visited by path P , and let E(P ) be the edges
traversed by path P . Let P be the set of all elementary paths of minimum cost from
the depot such that q(P ) ≤ Q2 + qσ(P ) , for each path P ∈ P, where q(P ) = i∈V (P ) qi ,
P
P
τ (P ) = {i,j}∈E(P ) τij , and σ(P ) represent the load, the duration and the terminal
customer of path P , respectively. We denote by π(P ) the immediate predecessor of
σ(P ) in P .

Every route passing through customer i ∈ V can be obtained by combining a pair of


paths P, P̄ ∈ P such that

σ(P ) = σ(P̄ ) = i, V (P ) ∩ V (P̄ ) = {i}, τ (P ) + τ (P̄ ) ≤ T, q(P ) + q(P̄ ) ≤ Q + qi .


(5.40)

Given a nonnecessarily feasible dual solution (ũ, ṽ, g̃) of LRF 1, a feasible dual solution
(u0 , v 0 , g 0 ) of LRF 1 and four parameters ∆(P), ∆(R), γ and γ 0 , GenR generates the
largest subset B of routes such that |B| ≤ ∆(R), d˜` ≤ γ and d0` ≤ γ 0 , for each route
` ∈ B, where d˜` and d0` are the reduced costs of route ` with respect to (ũ, ṽ, g̃) and
(u0 , v 0 , g 0 ), respectively. In the first phase, GenR generates the path set P such that
|P| ≤ ∆(P), where ∆(P) is a parameter that limits the cardinality of the set P and
is imposed for memory limits. In the second phase, GenR combines the paths of P to
provide the subset B ⊆ R. Parameters ∆(R), γ and γ 0 are defined according to the
type of subset B that must be generated.

˜ ) with respect to (ũ, ṽ) as follows


Define the modified path cost d(P
X
˜ )=
d(P α̃ij , (5.41)
{i,j}∈E(P )

where α̃ij = αij − 12 (ũi + ũj ) − S∈S : {i,j}∈δ(S) ṽS . Let lb(P ) be a lower bound on
P

the reduced cost with respect to (ũ, ṽ, g̃) of any route containing path P . For a given
path P ∈ P, let σ(P ) = i. The lower bound lb(P ) is computed as

X l |E(P ) ∩ E(C)| m n o
˜ )−
lb(P ) = d(P g̃C + min f (q 0 , j, i)+g̃π(P )ij ,
2 j∈V \V (P ), qi ≤q 0 ≤Q−q(P )+qi
C∈C

where g̃π(P )ij is the dual of the WSR3 inequality {π(P ), i, j} ∈ C (we assume g̃π(P )ij =
/ C ).
0 if {π(P ), i, j} ∈

The two phases of GenR are shortly described as follows. For a more detailed description
of GenR see Baldacci et al. [2008].

5.5.3.1 Phase 1 of GenR.

Phase 1 generates a sequence P of paths (P 1 , . . . , P k ), with k ≤ ∆(P), such that


lb(P 1 ) ≤ . . . ≤ lb(P k ) ≤ γ. If Phase 1 terminates with |P| = ∆(P), the entire
Chapter 5 Multi-Trip Vehicle Routing Problem 111

algorithm terminates prematurely as there is no guarantee that all routes of reduced


cost less than or equal to γ are generated by combining the pairs P, P̄ ∈ P.

5.5.3.2 Phase 2 of GenR.

Phase 2 is executed only if |P| < ∆(P). Consider a pair of paths (P, P̄ ) ∈ P
satisfying conditions (5.40). Let ` ∈ R be the index of the route resulting from (P, P̄ )
of reduced cost d˜` with respect to (ũ, ṽ, g̃). From (5.41), we have d˜` = d(P
˜ ) + d( ˜ P̄ ) −
P ˜ ˜ ˜
C∈C ϕ` (C)g̃C . As g̃ ≤ 0, then d(P ) + d(P̄ ) ≤ d` , so only pairs of paths (P, P̄ ) such
˜ ) + d(
that d(P ˜ P̄ ) ≤ γ can generate routes of reduced cost less than or equal to γ.

Phase 2 dynamically generates a sequence of path pairs (P r1 , P̄ s1 ), . . ., (P rk , P̄ sk ),


. . ., (P rh , P̄ sh ), where each path pair satisfies conditions (5.40) and d(P ˜ r1 ) + d(
˜ P̄ s1 ) ≤
˜ rk ) + d(
. . . ≤ d(P ˜ P̄ sk ) ≤ . . . ≤ d(P
˜ rh ) + d(
˜ P̄ sh ) ≤ γ. The pool B of routes generated
contains any route ` ∈ R resulting from the pairs of paths in the sequence such that
τ` ≤ T , d˜` ≤ γ, d0` ≤ γ 0 and route ` is not dominated by any other route `0 previously
generated (i.e., route `0 dominates route ` if R`0 = R` and d˜`0 ≤ d˜` ).

5.5.4 Bounding Procedure H 2

Procedure H 2 is a straightforward implementation of CCG, where R is the set of


elementary routes. The initial route set R̄ is obtained by executing GenR by setting
(ũ, ṽ, g̃) = (u0 , v 0 , g 0 ) = (u1 , v 1 , g 1 ), ∆(P) = 107 , ∆(R) = 104 , and γ = γ 0 =
zU B − LB1 , and adding all single-customer routes to R̄ = B. Procedure H 2 starts
with the same sets S and C of SC and WSR3 inequalities resulting from H 1 . We
initialize (λ, µ, ω) = (λ1 , µ1 , ω 1 ).

At each macro iteration, a set N of routes of negative reduced cost with respect to
(ū, v̄, ḡ) is given by N = B, where the set B is generated by GenR setting (ũ, ṽ, g̃) =
(ū, v̄, ḡ), (u0 , v 0 , g 0 ) = (u1 , v 1 , g 1 ), ∆(P) = 107 , ∆(R) = 150, γ = 0, and γ 0 =
zU B − LB1 .

At the end, H 2 sets (u2 , v 2 , g 2 ) = (u∗ , v ∗ , g ∗ ), (λ2 , µ2 , ω 2 ) = (λ∗ , µ∗ , ω ∗ ), and


LB2 = LCCG.

5.5.5 Generating the Path Set P 2 and the Route Set R 2

After the execution of H 2 , we try to generate the route set R 2 of all routes of reduced
cost with respect to (u2 , v 2 , g 2 ) less than or equal to zU B − LB2 . We call GenR by
setting (ũ, ṽ, g̃) = (u2 , v 2 , g 2 ), (u0 , v 0 , g 0 ) = (u1 , v 1 , g 1 ), ∆(P) = 107 , ∆(R) = 5·106 ,
γ = zU B − LB2 , and γ 0 = zU B − LB1 . We denote by P 2 and R 2 the path set P
and the route set B generated by GenR, respectively. Moreover, we denote by d2 (P )
112 Chapter 5 Multi-Trip Vehicle Routing Problem

the modified cost of path P ∈ P 2 with respect to (u2 , v 2 ) computed according to


expression (5.41) by replacing (ũ, ṽ) with (u2 , v 2 ).

We define P 2 to be optimal if |P 2 | < ∆(P) because it contains any path generating


any route of any optimal MTVRP solution. We define R 2 to be optimal if P 2 is
optimal and |R 2 | < ∆(R).

Because H 3 and the exact algorithm require that P 2 be optimal, whenever P 2 is not
optimal (i.e., |P 2 | = ∆(P)), H 3 is not executed and the entire procedure terminates
prematurely.

5.5.6 Bounding Procedure H 3

Procedure H 3 is a column-and-cut-generation procedure, based on the simplex algo-


rithm, to solve LRF 1 with SC, SR3, SR5, and WT inequalities. H 3 differs from
classical column-and-cut-generation algorithms because of the method used to solve
the pricing problem.

H 3 uses sets P 2 and R 2 , generated at the end of H 2 , to generate routes of negative


reduced cost. The route set R̄ of the master problem of H 3 is generated by extracting,
from R 2 , the largest subset R̄ of routes of minimum reduced cost with respect to
(u2 , v 2 , g 2 ) such that |R|
b ≤ ∆(B) and by adding all single-customer routes to R̄.
The set S is set equal to the set of SC inequalities used in H 1 and H 2 , and W and
C are defined as W = ∅, C = ∅, where the set C = C 3 ∪ C 5 represents SR3 and SR5
inequalities.

Let x̄ and (ū, v̄, ḡ, h̄) be, respectively, the primal and dual solutions of the master
problem achieved at a given iteration. A set N of at most ∆(N ) negative reduced
cost routes with respect to (ū, v̄, ḡ, h̄) is generated with the following algorithm.

1. Extract, from R 2 , the largest subset N of at most ∆(N ) routes having the
largest negative reduced cost, and add them to R̄. If N = ∅ and R 2 is not
optimal, continue with Step 2; otherwise, Stop.

2. Compute the modified cost d(P ¯ ), P ∈ P 2 , with respect to (ū, v̄) according to
(5.41) by replacing (ũ, ṽ) with (ū, v̄). Using the method described in §5.5.3.2,
combine any pair of paths P, P 0 ∈ P 2 such that d2 (P ) + d2 (P 0 ) ≤ zU B − LB2
¯ ) + d(P
and d(P ¯ 0 ) ≤ 0 to derive the set N .

At each iteration, H 3 adds, to C , a set of at most ∆(C ) most violated SR3 and SR5
inequalities and, to W , a set of at most ∆(W ) WT inequalities most violated by x̄.
Procedure H 3 ends whenever N = ∅ and no cuts are added, and it achieves an LRF 1
dual solution (u3 , v 3 , g 3 , h3 ) of cost LB3 .
Chapter 5 Multi-Trip Vehicle Routing Problem 113

5.5.7 Generating the Route Set R 3 and Solving F 1

After the execution of H 3 , we try to generate the largest set R 3 of routes such that
d3` ≤ zU B − LB3 , ` ∈ R 3 , and |R 3 | ≤ ∆(R), where d3` is the reduced cost of route `
with respect to (u3 , v 3 , g 3 , h3 ). In generating R 3 we have two cases

a. R 2 is optimal. We set R 3 = {` ∈ R 2 : d3` ≤ zU B − LB3 } and define R 3 as


optimal.

b. R 2 is not optimal. Recall that in this case P 2 is optimal, so P 2 allows us to


generate the routes of any optimal MTVRP solution. We compute the reduced
cost d3 (P ) of each path P ∈ P 2 , with respect to (u3 , v 3 ), according to expression
(5.41) by replacing (ũ, ṽ) with (u3 , v 3 ). Then, we combine the path pairs of the
set P 2 , by using the method of §5.5.3.2, to derive the set R 3 of all routes
such that d2` ≤ zU B − LB3 and d3` ≤ zU B − LB3 , for each route ` ∈ R 3 , and
|R 3 | ≤ ∆(R). If |R 3 | < ∆(R), then R 3 is defined optimal.

If |R 3 | is small (say, |R 3 | ≤ 5, 000), we find an optimal MTVRP solution by solving


the reduced problem F 1, obtained by replacing route set R with R 3 , through an IP
solver. Otherwise, we execute bounding procedure H 4 (described in §5.6).

5.6 Bounding Procedure H 4 Based on Relaxation LF 2

Procedure H 4 is a column-and-cut generation method, based on the simplex, to solve


relaxation LF 2.

The initial sets S and C of SC, SR3 and SR5 inequalities are those resulting at the end
of H 3 . The initial master problem, H¯ ⊆ H , is defined as follows. Execute procedure
GenSched (described in §5.7) to derive the schedule set D containing at most ∆(D)
(where ∆(D) is a given parameter) schedules such that c3k ≤ zU B − LB3 , k ∈ D,
where c3k is the reduced cost of schedule k with respect to (u3 , v 3 , g 3 , h3 ) computed as
c3k = `∈Ωk d3` . Set Hc = D, and add to H
P c a schedule composed of a single-customer
route for every customer i not covered by any schedule of D.

At each iteration, GenSched generates a set N of at most ∆(D) schedules of negative


reduced cost with respect to the dual solution (w̄, v̄, ḡ) of the master and such that
c3k ≤ zU B − LB3 , for each schedule k ∈ N . Moreover, the subset C 0 of the ∆(C ) SR3
and SR5 inequalities most violated by the current master solution are added to C . In
our computational experiments, we used ∆(D) = 104 in generating D, ∆(D) = 150 in
generating N , and ∆(C ) = 100 in generating C 0 .

Procedure H 4 terminates if N = ∅ and C 0 = ∅ and provides a dual solution


(w4 , v 4 , g 4 ) of cost LB4 .
114 Chapter 5 Multi-Trip Vehicle Routing Problem

5.7 Algorithm GenSched to Generate Vehicle Schedules

In this section, we describe procedure GenSched to generate the schedule sets H¯ and
N , which are required by bounding procedure H 4 , and the schedule subset H 4 ⊆ H ,
which is required by the exact method described in §5.8.

Given a dual solution (ŵ, v̂, ĝ) of LF 2 and two parameters ∆(D) and γ, algorithm
GenSched combines the routes of set R 3 to produce the largest subset D of schedules
of minimum reduced costs with respect to (ŵ, v̂, ĝ) such that |D| ≤ ∆(D), c3k ≤
zU B − LB3 , and ĉk ≤ γ, for each schedule k ∈ D, where ĉk is the reduced cost of
schedule k with respect to (ŵ, v̂, ĝ).

To generate the schedule sets H¯ , N and H 4 , GenSched requires the following pa-
rameter settings

• The schedule set H¯ defining the initial master problem of H 4 . Define (ŵ, v̂, ĝ) =
(0, 0, 0) and γ = zU B .

• The set N of schedules of negative reduced costs in H 4 . Define (ŵ, v̂, ĝ) as the
dual of the current master problem of H 4 and γ = 0.

• The schedule subset H 4 ⊆ H of all the schedules of any optimal MTVRP solu-
tion. Define (ŵ, v̂, ĝ) = (w4 , v 4 , g 4 ) and γ = zU B − LB4 .

Procedure GenSched is based on the following proposition.


Proposition 4. Let dˆ` = {i,j}∈E(R` ) (αij − 21 (ŵi +ŵj )− S∈S : {i,j}∈δ(S) v̂S )− C∈C ϕ` (C)ĝC ,
P P P
ˆ k) = P
` ∈ R 3 , and let d(Ω ˆ
`∈Ωk d` , k ∈ H . The reduced cost ĉk of schedule k ∈ H
ˆ k ).
with respect to (ŵ, v̂, ĝ) satisfies the inequality ĉk ≥ d(Ω

ϕ` (C), for any C ∈ C and


P
Proof. This happens as w0 ≤ 0, ĝ ≤ 0, and ϕk (C) ≥ `∈Ωk
any k ∈ H .

Algorithm GenSched is a two-phase procedure. In the first phase, it computes the


reduced costs dˆ` , ` ∈ R 3 , and orders the routes of the set R 3 so that dˆ`1 ≤ dˆ`2 ≤
. . . ≤ dˆ|R 3 | . The second phase is an iterative procedure that combines the routes R 3
in schedules. At iteration j, an attempt is made to add the jth route of the ordered
set R 3 to the schedules of a temporary schedule set pool containing all the schedules
composed of the first j − 1 routes `1 , `2 , . . . , `j−1 of R 3 .

We assume that pool is composed of undominated schedules, where schedule k 0 is


ˆ k00 ) ≤ d(Ω
dominated by schedule k 00 if V (Ωk00 ) = V (Ωk0 ), d(Ω ˆ k0 ), and τ (Ωk00 ) ≤ τ (Ωk0 ).
A schedule k 0 that is obtained by adding route `j to a schedule k ∈ pool becomes a
new member of pool only if d(Ω ˆ k0 ) ≤ γ, k 0 is not dominated by any other schedule
k 00 ∈ pool, and c3 (Ωk0 ) = `∈Ω 0 d3` ≤ zU B − LB3 .
P
k
Chapter 5 Multi-Trip Vehicle Routing Problem 115

We denote by p the number of schedules in pool. The second phase of GenSched can
be described as follows.

1. Initialize pool = ∅, D = ∅ and p = 0.

2. For ` = 1, . . . , |R 3 | repeat Step 3.

3. Expansion of the temporary schedule set pool with route ` ∈ R 3 . For each
schedule k ∈ pool such that V (Ωk ) ∩ R` = ∅, τ (Ωk ) + τ` ≤ T , c3 (Ωk ) + d3` ≤
ˆ k ) + dˆ` ≤ γ, repeat the following steps
zU B − LB3 , and d(Ω

• Define the schedule Ω0 = Ωk ∪ {`} of duration τ (Ω0 ) = τ (Ωk ) + τ` , and set


ˆ 0 ) = d(Ω)
d(Ω ˆ + dˆ` .
• If Ω0 is not dominated by any other schedule Ω00 ∈ pool, insert Ω0 ∈ pool
and set p = p + 1. Remove any schedule Ω00 dominated by Ω0 from pool,
and update p, accordingly.
• Compute ĉ(Ω0 ). If ĉ(Ω0 ) ≤ γ, add Ω0 to D. If |D| = p, Stop.

5.8 Description of the Exact Method to Solve the MTVRP

The exact method we propose consists of seven main steps and can be described as
follows.

1. Solving relaxation LRF1 with procedures H1 and H2 . Solve relaxation


LRF 1 with SC and WSR3 inequalities, executing, in sequence, procedures H 1
and H 2 . Let LB2 be the cost of the dual solution (u2 , v 2 , g 2 ) achieved by H 2
(see §§5.5.2 and 5.5.4).

2. Generating path set P 2 and route set R 2 . Generate path set P 2 and set
R 2 of the routes of reduced cost with respect to (u2 , v 2 , g 2 ) less than or equal
to zU B − LB2 (see §5.5.5). If P 2 is not optimal, Stop (the algorithm terminates
without providing any optimal solution).

3. Solving relaxation LRF1 with procedure H3 . Solve relaxation LRF 1 with


SC, SR3, SR5, and WT inequalities with procedure H 3 (see §5.5.6). Let LB3
be the lower bound corresponding to the dual solution (u3 , v 3 , g 3 , h3 ) of LRF 1
achieved by H 3 .

4. Generating the route set R 3 . Generate the largest set R 3 of the routes of
reduced cost with respect to (u3 , v 3 , g 3 , h3 ) less than or equal to zU B − LB3 and
such that |R 3 | ≤ ∆(R) (see §5.5.7). If |R 3 | < ∆(R), R 3 contains the routes of
any optimal solution of cost less than or equal to zU B and R 3 is defined optimal.
Otherwise, R 3 is defined not-optimal.
116 Chapter 5 Multi-Trip Vehicle Routing Problem

5. Solving the reduced problem F1. If m = 1, or if m > 1, R 3 is optimal,


and |R 3 | ≤ 5, 000, then find an optimal MTVRP solution by solving, with an
IP solver, problem F 1 by replacing the route set R with the route set R 3 , and
Stop.

6. Solving relaxation LF2 with procedure H4 . If m > 1, and either R 3 is not


optimal or |R 3 | > 5, 000, then solve LF 2 with SC, SR3, and SR5 inequalities
with H 4 (see §5.6). Let LB4 be the lower bound corresponding to an optimal
dual solution (w4 , v 4 , g 4 ) of LF 2 obtained by H 4 . If the optimal primal solution
y of LF 2 is integer, Stop.

7. Solving the reduced problem F2. Call GenSched to generate the largest set
of schedules H 4 ⊆ H , by setting (w̃, ṽ, g̃) = (w4 , v 4 , g 4 ), γ = zU B − LB4 ,
∆(D) = 106 .
If |H 4 | ≥ ∆(D), as there is no guarantee that H 4 contains all schedules of any
optimal MTVRP solution, the algorithm terminates prematurely without pro-
viding any optimal solution.
Otherwise (i.e., if |H 4 | < ∆(D)) compute an optimal MTVRP solution by solv-
ing, with an IP solver, the integer problem F 2 obtained by replacing the schedule
set H with the subset H 4 and by adding all the valid inequalities saturated at
the end of H 4 .

5.9 Computational Results

This section reports on the computational results of the exact method described in
§5.8. All algorithms were coded in C and compiled with Visual Studio 2008. CPLEX
12.1 was used as the LP solver in H 3 and H 4 and as the IP solver in Steps 5 and 7 of
the exact method. All tests were performed on a Sony Vaio P8400 laptop (Intel Core
2 [email protected] GHz with 4 GB of RAM).

The exact algorithm was tested on a subset of the benchmark instances proposed in
Taillard et al. [1996], which were used to test all heuristic algorithms in the literature.
These instances were generated by starting from the graphs, demands and vehicle
capacities of five CVRP problems (namely, CMT-1, CMT-2, CMT-3, CMT-11, and
CMT-12) proposed in Christofides et al. [1979] and by varying the number of vehicles,
m. For each problem and each value of m, two instances with different values of T were
generated: in the first instance, T = [ 1.05z
m
RT
], and in the second one, T = [ 1.10z
m
RT
],
where [x] is the integer value nearest to x and zRT is the CVRP solution cost obtained
by Rochat and Taillard [1995]. All instances feature x−y coordinates. The travel costs
coincide with the travel times and are real values computed as Euclidean distances
between the vertices. For an accurate description of the test instances see Taillard
et al. [1996].
Chapter 5 Multi-Trip Vehicle Routing Problem 117

Table 5.1: Upper Bounds on the Test Instances

Inst m T zU B TU B Inst m T zU B TU B Inst m T zU B TU B

CMT-1 1 551 524.61 27 CMT-3 1 867 826.14 106 CMT-12 1 861 819.56 93
2 275 533.00 27 2 434 826.14 105 2 430 819.56 95
1 577 524.61 27 3 289 826.14 107 3 287 819.56 95
2 289 529.85 28 4 217 828.73 105 4 215 819.56 95
3 192 552.68 30 5 173 851.47 107 5 172 845.37 95
4 144 546.29 28 6 145 839.90 172 1 902 819.56 95
CMT-2 1 877 835.26 49 1 909 826.14 106 2 451 819.56 93
2 439 835.26 49 2 454 826.14 106 3 301 819.56 93
3 292 835.26 49 3 303 826.14 105 4 225 819.56 96
4 219 835.26 50 4 227 826.14 107 5 180 824.78 96
5 175 835.80 50 5 182 833.15 109 6 150 825.36 96
6 146 857.00 111 6 151 842.21 109
1 919 835.26 49 CMT-11 1 1,094 1,042.11 156
2 459 835.26 49 2 547 1,042.11 161
3 306 835.26 50 3 365 1,042.11 160
4 230 835.26 50 4 274 1,085.92 210
5 184 835.26 51 5 219 1,042.11 161
6 153 839.22 51 1 1,146 1,042.11 160
7 131 872.64 51 2 573 1,042.11 159
3 382 1,042.11 160
4 287 1,042.11 161
5 229 1,042.11 164

The exact method described in §5.8 requires an upper bound zU B (see Steps 2, 4 and
7). In our experiments, such upper bound was set equal to the best of three upper
bounds: (a) the upper bound computed by the heuristic of Taillard et al. [1996] (sent
us by private communication Taillard [2009]), (b) the upper bound reported in Olivera
and Viera [2007], and (c) the cost of the CVRP solution found by the heuristic of
Mester and Bräysy [2005] if the routes of such solution can be arranged so as to obtain
a feasible MTVRP solution.

For each instance, Table 5.1 reports the number of vehicles (m), the maximum driving
time (T ), the upper bound (zU B ), and the estimated computing time for computing
zU B (TU B ) on our machine. The estimated computing time TU B is the sum of the
computing times of the algorithms of Taillard et al. [1996], Olivera and Viera [2007],
and Mester and Bräysy [2005] normalized to our machine by considering that, according
to http://www.cpubenchmark.net/cpu_list.php, our machine is ≈ 100 times faster
than the 100 MHz machine used by Taillard et al. [1996], 4 times faster than the 1.8
GHz AMD Athlon XP 2200+ used by Olivera and Viera [2007], and 6.3 times faster
than the Pentium 4 2 GHz used by Mester and Bräysy [2005].

We did not test our algorithm on the four instances for which no feasible solution is
known (namely, instances CMT-1 with m = 3 and T = 184, CMT-1 with m = 4 and
T = 138, CMT-2 with m = 7 and T = 125, and CMT-12 with m = 6 and T = 143)
because the exact algorithm described in §5.8 would run out of memory at Step 2 while
generating the path set P 2 .
118
Table 5.2: Computational Results on CMT-1, CMT-2 and CMT-3 instances

Formulation F 1 Solving F 1 Formulation F 2 Solving F 2


Inst m T zU B z∗ %LB1 %LB2 P2 R2 LB3 %LB3 T3 R3 TIP TT OT LB4 %LB4 T4 H 4 TIP TT OT
CMT-1 1 551 524.61 524.61 99.6 99.8 2,549 329 524.61 100.0 9.4 47 0.1 9.5
n = 50 2 275 533.00 533.00 98.1 98.3 142,645 95,763 532.22 99.9 36.3 509 0.9 37.2
1 577 524.61 524.61 99.6 99.8 1,922 329 524.61 100.0 10.3 62 0.5 10.8
2 289 529.85 529.85 98.7 98.9 35,676 16,669 527.68 99.6 15.0 806 1.9 16.9
3 192 552.68 94.6 94.8 m.o. - - - 34.8
4 144 546.29 546.29 95.7 96.0 2,365,662 3,941,493 543.50 99.5 588.8 1,268 15.5 603.3
CMT-2 1 877 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 10.6 216.5
n = 75 2 439 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 16.5 222.4
3 292 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 21.0 226.9
4 219 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 27.7 233.6
5 175 835.80 835.80 98.5 98.8 170,128 148,826 832.77 99.6 188.8 4,746 336.0 524.8
6 146 857.00 96.0 96.4 m.o. - - - 48.3
1 919 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 10.6 216.5

Chapter 5 Multi-Trip Vehicle Routing Problem


2 459 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 16.5 222.4
3 306 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 21.4 227.3
4 230 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 28.6 234.5
5 184 835.26 835.26 98.5 98.9 138,112 114,078 832.78 99.7 205.9 3,117 54.2 260.1
6 153 839.22 839.22 98.1 98.4 472,756 551,114 832.79 99.2 221.4 49,511 ⇒ 834.12 99.4 374.2 343,626 4,209.1 4,583.3
7 131 872.64 94.3 94.7 m.o. - - - 47.6
CMT-3 1 867 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 0.1 2,766.8
n = 100 2 434 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 15.0 2,781.7
3 289 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 27.2 2,793.9
4 217 828.73 98.4 98.7 m.o. - - - 96.2
5 173 A 851.47 97.6 97.9 m.o. - - - 95.7
6 145 B 839.90 97.5 97.9 m.o. - - - 93.4
1 909 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 0.1 2,766.8
2 454 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 15.3 2,782.0
3 303 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 28.5 2,795.2
4 227 826.14 826.14 98.7 99.0 5,248,271 > 5 · 106 826.14 100.0 2,766.7 1,471 46.6 2,813.3
5 182 833.15 97.9 98.2 m.o. - - - 94.1
6 151 C 842.21 97.5 97.8 m.o. - - - 88.0
A
Best known upper bound 836.01 from Alonso et al. [2008]
B
Best known upper bound 836.21 from Olivera [2005]
Chapter 5 Multi-Trip Vehicle Routing Problem
Table 5.3: Computational Results on CMT-11 and CMT-12 instances

Formulation F 1 Solving F 1 Formulation F 2 Solving F 2


Inst m T zU B z∗ %LB1 %LB2 P2 R2 LB3 %LB3 T3 R3 TIP TT OT LB4 %LB4 T4 H 4 TIP TT OT
CMT-11 1 1,094 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 632.1 83 0.2 632.3
n = 120 2 547 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 632.1 83 0.2 632.3
3 365 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 632.1 83 0.2 632.3
4 274 A 1,085.92 96.3 96.6 m.o. - - - 776.1
5 219 1,042.11 1,042.11 99.6 99.9 182,530 5,102 1,042.11 100.0 620.0 105 0.2 620.2
1 1,146 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 632.1 83 0.2 632.3
2 573 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 632.1 83 0.2 632.3
3 382 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 632.1 83 0.2 632.3
4 287 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 631.0 83 0.2 631.2
5 229 1,042.11 1,042.11 99.6 99.9 185,303 4,705 1,042.11 100.0 619.8 83 0.2 620.0
CMT-12 1 861 819.56 819.56 99.7 100.0 49,368 71 819.56 100.0 39.9 24 0.3 40.2
n = 100 2 430 819.56 819.56 99.7 100.0 46,578 60 819.56 100.0 44.7 21 0.3 45.0
3 287 819.56 819.56 99.7 100.0 43,219 95 819.56 100.0 43.0 23 0.2 43.2
4 215 819.56 819.56 99.7 100.0 46,578 60 819.56 100.0 45.0 21 0.2 45.2
5 172 845.37 96.6 96.9 m.o. - - - 16.6
1 902 819.56 819.56 99.7 100.0 49,368 71 819.56 100.0 39.9 24 0.3 40.2
2 451 819.56 819.56 99.7 100.0 46,578 60 819.56 100.0 44.7 21 0.3 45.0
3 301 819.56 819.56 99.7 100.0 43,219 95 819.56 100.0 43.0 23 0.3 43.3
4 225 819.56 819.56 99.7 100.0 46,578 60 819.56 100.0 45.0 21 0.5 45.5
5 180 824.78 824.78 99.0 99.4 1,857,419 818,631 819.56 99.4 314.6 746,542 ⇒ 823.69 99.9 2,290.3 274,857 77.6 2,367.9
6 150 825.36 823.14 99.2 99.6 2,724,943 1,717,379 819.56 99.6 402.5 1,520,016 ⇒ 823.14 100.0 1,058.2 3,819 0.2 1,058.4
A
Best known upper bound 1, 078.64 from Olivera [2005]

119
120 Chapter 5 Multi-Trip Vehicle Routing Problem

Tables 5.2 and 5.3 report detailed computational results. For each instance, the
columns report the following information: instance name, Inst; number of vehicles,
m; maximum driving time, T ; initial upper bound, zU B ; optimal solution cost, z ∗ ;
percentage lower bound, %LBk (k = 1, . . . , 4), achieved by bounding procedure H k ;
lower bounds, LB3 and LB4 , achieved by bounding procedures H 3 and H 4 , respec-
tively; cardinality of the sets P 2 , R 2 , R 3 , H 4 ; global time spent, T3 , to execute
H 1 , H 2 , and H 3 ; time spent, T4 , by H 4 (including T3 ); time spent, TIP , by CPLEX
to solve F 1 or F 2; total computing time, TT OT . In column P 2 , “m.o.” means that
the exact method terminated prematurely at Step 2 because P 2 is not optimal (i.e.,
|P 2 | > ∆(P) = 107 ). In this case, T3 indicates the time spent by H 1 and H 2 plus
the computing time for generating P 2 .

Table 5.2 and 5.3 show that the proposed method could solve 42 out of 52 test instances.
All but one of the instances were solved within one hour of computing time. Thirty-five
of the 42 instances solved to optimality have the optimal solution cost equal to the cost
of the corresponding CVRP instance. The other seven instances have optimal solution
cost slightly greater than the cost of the corresponding CVRP instance.

The lower bounds proposed seem to be effective. The lower bounds achieved by H 1
and H 2 are, on average, 98.6% and 98.9% with respect to the best known solution
cost, respectively. Bounding procedure H 3 closed the gap of 26 instances. Only three
instances were solved by using formulation F 2. In all such cases, lower bound LB4 is
strictly greater than LB3 , requiring the generation of few schedules (set H 4 ) in Step
7 with respect to the routes generated at Step 4 (set R 3 ).

For the sake of fairness, we have to say that the performance of the proposed algorithm
strongly depends on the initial upper bound, zU B , used at Steps 2, 4 and 7. For
example, by increasing such upper bound by 1%, the exact method, as it is, could not
solve any of the instances of the classes CMT-2, CMT-3 and CMT-11, and it could
solve only 12 out of 17 instances of the classes CMT-1 and CMT-12. Anyway, as shown
in Table 5.1, high-quality upper bounds can be computed in a few minutes by running
the heuristic algorithms of Taillard et al. [1996], Olivera and Viera [2007], and Mester
and Bräysy [2005].

5.10 Conclusions

In this chapter, we describe an exact method to solve the MTVRP based on two set
partitioning-like formulations. We describe four different bounding procedures, based
on the linear relaxations of both formulations, enforced by valid inequalities, that are
embedded into an exact solution method. The computational results show that the
proposed exact algorithm can solve, to optimality, 42 out of 52 benchmark instances,
involving up to 120 customers, used in the literature by the heuristic algorithms.
Chapter 6

Two-Echelon Capacitated
Vehicle Routing Problem

In the two-echelon capacitated vehicle routing problem (2E-CVRP), the delivery to


customers from a depot uses intermediate depots, called satellites. The 2E-CVRP
involves two levels of routing problems. The first level requires a design of the routes
for a vehicle fleet located at the depot to transport the customer demands to a subset
of the satellites. The second level concerns the routing of a vehicle fleet located at
the satellites to supply all customers from the satellites supplied from the depot. The
objective is to minimize the sum of routing and handling costs. This chapter describes
a new mathematical formulation of the 2E-CVRP used to derive valid lower bounds and
an exact method. Computational results on benchmark instances show that the new
exact algorithm outperforms the state-of-the-art exact methods from the literature.

6.1 Introduction

The two-echelon capacitated vehicle routing problem (2E-CVRP) is a two-level distri-


bution system where the deliveries to customers from a depot are managed through
intermediate capacitated depots, called satellites. The first level consists of vehicle
routes that start and end at the depot and deliver the customer demands to a subset
of satellites. In the 2E-CVRP we consider, a satellite has a limited capacity and can be
serviced by more than one 1st -level route. The second level consists of vehicle routes
that start and end at the same satellite and supply all customers. A homogeneous
vehicle fleet is used at each level. The 1st -level vehicles are located at the depot and
supply the satellites only. The 2nd -level vehicles have a capacity smaller than that
1
This chapter is based on Baldacci et al. [2012b]

121
122 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

of the 1st -level vehicles and supply the customers from the satellites. The operations
of unloading 1st -level vehicles and loading 2nd -level vehicles at the satellites imply a
handling cost, which we assume to be proportional to the quantity loaded/unloaded.

The 2E-CVRP aims to find two sets of 1st and 2nd -level routes such that each customer
is visited exactly once by a 2nd -level route and the total routing and handling cost is
minimized.

6.2 Literature Review

The 2E-CVRP has become a relevant distribution system for supplying customers
located in large cities. Because many municipalities impose legal restrictions to keep
large vehicles out of city centers, distribution companies create suburban platforms
(satellites) where they transport goods with large vehicles. Then, small vehicles service
downtown customers from the satellites.

Nonetheless, only recently the 2E-CVRP has received some attention in the literature.
Gonzales Feliu et al. [2007b] described a commodity flow formulation and an exact
branch-and-cut algorithm that solved instances with up to 32 customers and 2 satellites.
This algorithm was improved by Perboli et al. [2010] and Perboli et al. [2011] by adding
valid inequalities. Perboli et al. [2011] reported optimal solutions for instances with
up to 32 customers and 2 satellites, but their model has been shown by Jepsen et al.
[2011] not to be correct on instances with 3 or more satellites. Jepsen et al. [2011]
extended the problem considered by Gonzales Feliu et al. [2007b] and Perboli et al.
[2011] by introducing fixed costs for the routes of both levels and satellite capacities;
they described an exact branch-and-cut algorithm, based on the new formulation and
new valid inequalities, that outperforms the method of Perboli et al. [2011]. Heuristic
methods have been proposed by Crainic et al. [2008], Perboli et al. [2011], Crainic et al.
[2011] and Hemmelmayr et al. [2011]. Variants of the 2E-CVRP were considered by
Chao [2002], Tan et al. [2006] and Nguyen et al. [2010].

The 2E-CVRP considered in this paper corresponds to the 2E-CVRP considered by


Jepsen et al. [2011] and generalizes the capacitated location routing problem (LRP).
The LRP consists of opening one or more depots, on a given set of a-priori defined
depot locations, and designing, for each open depot, a number of routes to supply
customers. A fixed cost and a capacity are associated with each depot. The objective
is to minimize the sum of the fixed costs for opening the depots and the routing cost.
Exact algorithms for the LRP were presented by Laporte et al. [1986], Akca et al.
[2009], Belenguer et al. [2011], and Baldacci et al. [2011c].

In this chapter, we introduce a new mathematical formulation of the 2E-CVRP that


is used to derive both integer and continuous relaxations. We present a new bounding
procedure based on dynamic programming (DP), a dual-ascent method, and an exact
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 123

algorithm that decomposes the 2E-CVRP into a limited set of multi-depot capacitated
vehicle routing problems (MDCVRP) with side constraints. Extensive computational
results on instances from the literature and on new instances show that the proposed
method outperforms previous exact algorithms, both for the quality of the lower bounds
achieved and the number and the size of the instances solved.

6.3 Problem Description and Mathematical Formulation

An undirected graph G = (N, E) is given, where the vertex set N is partitioned


as N = {0} ∪ NS ∪ NC . Vertex 0 represents the depot, the set NS = {1, 2, . . . , ns }
represents ns satellites, and the set NC = {ns +1, . . . , ns +nc } represents nc customers.
The edge set E is defined as E = {{0, j} : j ∈ NS } ∪ {{i, j} : i, j ∈ NS ∪ NC , i < j}.
A travel cost dij is associated with each edge {i, j} ∈ E. We assume that matrix dij
satisfies the triangle inequality. Each customer i ∈ NC requires qi units of goods from
P
depot 0. We denote with qtot = i∈NC qi the sum of the customer demands.

A fleet of m1 identical vehicles of capacity Q1 are located at depot 0 and are used
to transport goods to satellites. If used, a 1st -level vehicle incurs a fixed cost U1 and
performs a route passing through the depot 0 and a subset of satellites. The cost of a
1st -level route is the sum of the costs of the traversed edges plus the fixed cost U1 . Each
satellite k ∈ NS can be visited by more than one 1st -level route and has a capacity
Bk that limits the total customer demand that can be delivered to it by the 1st -level
routes. Moreover, a fleet of mk identical vehicles of capacity Q2 < Q1 are available at
satellite k ∈ NS for servicing the customers. Nevertheless, at most m2 ≤ k∈NS mk
P

2nd -level vehicles can be globally used. If used, a 2nd -level vehicle incurs a fixed cost
U2 and performs a route, that is a simple cycle in G passing through a satellite and
a subset of customers and such that the total demand of the visited customers does
not exceed the vehicle capacity Q2 . The cost of a 2nd -level route is the sum of the
traversed edges plus the fixed cost U2 . The handling cost at satellite k ∈ NS is given
by Hk times the quantity delivered to satellite k.

The problem asks to design the vehicle routes of both levels so that each customer is
visited exactly once, the quantity delivered to customers from each satellite is equal to
the quantity received from the depot, and the sum of the routing and handling costs
is minimized.

The 2E-CVRP contains as a special case the LRP. The LRP is defined on an undirected
graph G0 = (N 0 , E 0 ), where N 0 is partitioned as N 0 = L∪V , where L represents possible
depot locations and V a set of customers. A travel cost dij is associated with each
edge {i, j} ∈ E 0 . A fixed cost Ck and a capacity Bk are associated with each depot
location k ∈ L. Each customer i ∈ V has associated a nonnegative demand qi . An
unlimited fleet of identical vehicles of capacity Q are available at the depots to supply
124 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

the customers. If used, a vehicle incurs a fixed cost U and performs a route passing
through one of the depot locations and such that the total demand of the visited
customers is at most Q. The cost of a route is the sum of the costs of the traversed
edges plus the fixed cost U . The LRP consists of opening a set of depots and designing
a set of routes for each open depot so that the total load of the routes operated from
a depot k ∈ L does not exceed its capacity Bk and each customer is visited by exactly
one route. The objective is to minimize the sum of the cost of open depots and the
costs of the routes.

Any LRP instance can be converted into an equivalent 2E-CVRP instance as follows.

(a) Define graph G = (N, E) by setting NS = L, NC = V , and define the edge costs
d0k = 12 Ck , k ∈ NS , and dkj = ∞, k, j ∈ NS , k < j.

(b) Define the 1st -level vehicle fleet by setting m1 = |NS |, Q1 = ∞, and U1 = 0;

(c) Define the 2nd -level vehicle fleet by setting m2 = |NC |, U2 = U , Q2 = Q, and
mk = |NC |, k ∈ NS .

Any optimal solution of the resulting 2E-CVRP instance is also an optimal solution of
the original LRP instance. Because dkj = ∞, for any k, j ∈ NS , k < j, each 1st -level
vehicle route can only be a single-satellite route (0, k, 0) of cost Ck , k ∈ NS . Because
Q1 = ∞, any optimal solution contains at most a single-satellite route for each k ∈ NS
representing the opening of depot k.

As for the 2E-CVRP, we assume that the travel cost matrix [dij ] is modified as follows
in order to consider vehicle fixed costs U1 and U2 : (i) d0k = d0k + 12 U1 , k ∈ NS , and
(ii) dki = dki + 12 U2 , k ∈ NS , i ∈ NC .

Let M be the index set of all 1st -level routes, and let Mk ⊆ M be the subset of
1st -level routes serving satellite k ∈ NS . Let Rr and E(Rr ) be the subset of satellites
visited and the subset of edges traversed by 1st -level route r ∈ M , respectively. The
cost gr of route r ∈ M is gr = {i,j}∈E(Rr ) dij . We assume that the route set M
P

contains dmin{mk Q2 , qtot }/Q1 e copies of the single-satellite route (0, k, 0), for each
satellite k ∈ NS . Let wmin and wrmax be the minimum and maximum loads of 1st -
level route r ∈ M , computed as wmin = max{qtot − (m1 − 1)Q1 , 0} and wrmax =
min ≤
P
min{Q1 , qtot , k∈Rr mk Q2 }. Moreover, we denote by Wr = {w ∈ Z+ : w
w ≤ wrmax } the set of possible loads of 1st -level route r ∈ M . Because in real-world
applications the number of satellites is small (say, ns ≤ 10), in the following we assume
that the set M is generated by pure enumeration.

Let Rk be the index set of the 2nd -level routes passing through satellite k ∈ NS , and
let Rik ⊆ Rk be the subset of routes passing through satellite k ∈ NS and customer
i ∈ NC . We indicate with R = ∪k∈NS Rk the set of all 2nd -level routes and with π` the
satellite visited by route ` ∈ R. Moreover, we indicate with Rk` and E(Rk` ) the subset
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 125

of customers visited and the subset of edges traversed by route ` ∈ Rk , respectively.


P P
A load wk` = i∈Rk` qi and a cost ck` = {i,j}∈E(Rk` ) dij + Hk wk` are associated with
route ` ∈ Rk .

Let yr be a binary variable equal to 1 if and only if route r ∈ M is in solution, xk` a


binary variable equal to 1 if and only if route ` ∈ Rk of satellite k ∈ NS is in solution,
and qkr a nonnegative integer variable representing the quantity delivered by 1st -level
route r ∈ M to satellite k ∈ Rr (we assume qkr = 0, for each satellite k ∈ NS \ Rr ).
The 2E-CVRP can be formulated as follows
X X X
(F ) z(F ) = min ck` xk` + gr yr (6.1)
k∈NS `∈Rk r∈M
X X
s.t. xk` = 1, i ∈ NC , (6.2)
k∈NS `∈Rik
X
xk` ≤ mk , k ∈ NS , (6.3)
`∈Rk
X X
xk` ≤ m2 , (6.4)
k∈NS `∈Rk
X
wk` xk` ≤ Bk , k ∈ NS , (6.5)
`∈Rk
X
yr ≤ m1 , (6.6)
r∈M
X X
qkr = wk` xk` , k ∈ NS , (6.7)
r∈Mk `∈Rk
X
qkr ≤ Q1 yr , r ∈ M, (6.8)
k∈Rr

xk` ∈ {0, 1}, k ∈ NS , ` ∈ Rk , (6.9)


yr ∈ {0, 1}, r ∈ M, (6.10)
qkr ∈ Z+ , k ∈ Rr , r ∈ M . (6.11)

The objective function (6.1) states to minimize the total cost. Constraints (6.2) specify
that each customer i ∈ NC must be visited by exactly one 2nd -level route. Constraints
(6.3), (6.4), and (6.6) impose the upper bounds on the number of 1st and 2nd -level
routes in solution. Constraints (6.5) impose the satellite capacities. The balance be-
tween the quantity delivered by 1st -level routes to a satellite and the customer demands
supplied from the satellite is imposed by constraints (6.7). Finally, constraints (6.8)
impose that the vehicle capacity of the 1st -level vehicles is not exceeded.

6.4 Relaxations of Formulation F

Let LF be the LP-relaxation of formulation F , and let z(LF ) be its optimal solution
P
cost. Notice that, in any optimal LF solution, yr is equal to ( k∈Rr qkr )/Q1 , for each
126 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

1st -level route r ∈ M . Thus, the higher the 1st -level routing cost, the worse the lower
bound z(LF ). In the following, we describe an integer relaxation of the 2E-CVRP,
called RF , that can provide a lower bound better than z(LF ).

6.4.1 Relaxation RF

This relaxation derives from problem F by relaxing, in a Lagrangean fashion, con-


straints (6.2), (6.3), and (6.4) with penalties λi ∈ R, i ∈ NC , µk ∈ R− , k ∈ NS ,
and µ0 ∈ R− , respectively, and by defining the marginal routing costs βik for servicing
customer i ∈ NC from depot k ∈ NS as a feasible solution of the following inequalities
X X
aik` βik ≤ ck` − aik` λi − µk − µ0 , ` ∈ Rk , k ∈ NS , (6.12)
i∈NC i∈NC

where aik` is the number of times customer i ∈ NC is visited by route ` ∈ Rk of satellite


k ∈ NS .

Problem RF involves binary variables ξik equal to 1 if customer i ∈ NC is supplied


from satellite k ∈ NS (0 otherwise) and variables yr and qkr , as defined for problem F .
Relaxation RF is
X X X
(RF ) z(RF (β, λ, µ)) = min βik ξik + gr yr +
k∈NS i∈NC r∈M
X X
λi + mk µk + m2 µ0 (6.13)
i∈NC k∈NS
X
s.t. ξik = 1, i ∈ NC , (6.14)
k∈NS
X X
qkr = qi ξik , k ∈ NS , (6.15)
r∈Mk i∈NC
X
qi ξik ≤ Bk , k ∈ NS , (6.16)
i∈NC

(6.6), (6.8), (6.10) and (6.11), (6.17)


ξik ∈ {0, 1}, i ∈ NC , k ∈ NS . (6.18)

Theorem 6.1. Value z(RF (β, λ, µ)) is a valid lower bound on the 2E-CVRP for any
solution β of inequalities (6.12) and any pair of vectors λ ∈ RNC and µ ∈ RN

S +1
.

Proof. Consider an F solution (x̄, ȳ, q̄) of cost z̄(F ). Let Jk = {` ∈ Rk : x̄k` = 1},
k ∈ NS , be the set of 2nd -level routes and L = {r ∈ M : ȳr = 1} the set of 1st -level
routes in solution. We denote by V̄k = {i ∈ Rk` : ` ∈ Jk } the subset of customers
serviced from satellite k ∈ NS and by N̄S = {k ∈ Rr : r ∈ L} the subset of satellites
used in solution.
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 127

Let z(RF (β, λ, µ)) be the cost of an optimal RF solution for a given set of values βik ,
satisfying inequalities (6.12), and penalty vectors λ and µ. Define the reduced cost c̃k`
of route ` ∈ Rk , k ∈ NS , with respect to β, λ, and µ as c̃k` = ck` − i∈NC aik` (βik +
P

λi ) − µk − µ0 . Note that c̃k` ≥ 0, ` ∈ Rk , k ∈ NS , from the definition of values βik (see


inequalities (6.12)). From the definition of c̃k` , we derive
X X X X X X X X X
c̃k` = ck` − aik` (βik + λi ) − (µk + µ0 ). (6.19)
k∈N̄S `∈Jk k∈N̄S `∈Jk k∈N̄S `∈Jk i∈NC k∈N̄S `∈Jk

Because any F solution imposes that each customer is visited exactly once, we have
X X X
aik` (βik + λi ) = (βik + λi ), k ∈ N̄S . (6.20)
`∈Jk i∈NC i∈V̄k

≤ m2 , and µ0 ≤ 0, we have
P
Because |Jk | ≤ mk , µk ≤ 0, k ∈ N̄S , k∈L |Jk |
X X X X X
(µk + µ0 ) = |Jk |µk + |Jk |µ0 ≥ mk µk + m2 µ0 . (6.21)
k∈N̄S `∈Jk k∈N̄S k∈N̄S k∈N̄S

P
By adding and subtracting the term k∈L gr to the right-hand side of expression (6.19)
and by using expressions (6.20) and (6.21), we obtain the following inequality
X X X X X X X X X
c̃k` ≤ gr + ck` − gr − (βik + λi ) − mk µk − m2 µ0 .
k∈N̄S `∈Jk k∈L k∈N̄S `∈Jk k∈L k∈N̄S i∈V̄k k∈N̄S
(6.22)
P P P
Note that k∈L gr + k∈N̄S `∈Jk ck` = z̄(F ), so from expression (6.22) we derive
X X X X X X 
c̃k` ≤ z̄(F ) − gr + (βik + λi ) + mk µk + m2 µ0 . (6.23)
k∈N̄S `∈Jk k∈L k∈N̄S i∈V̄k k∈N̄S

The second term of expression (6.23) is the cost, say z̃(RF (β, λ, µ)), of a feasible
but nonnecessarily optimal RF solution (ξ̃, ỹ, q̃) that is derived from the F solution
(x̄, ȳ, q̄) by setting

1. ỹ = ȳ;

2. ξ˜ik = 1, i ∈ V̄k , k ∈ N̄S ;

3. ξ˜ik = 0, i ∈ NC \ V̄k , k ∈ N̄S , and ξ˜ik = 0, i ∈ NC , k ∈ NS \ N̄S ;

4. q̃ = q̄.

Because z̃(RF (β, λ, µ)) is greater than or equal to the optimal solution cost z(RF (β, λ, µ))
of problem RF , from inequality (6.23) we derive
X X
c̃k` ≤ z̄(F ) − z(RF (β, λ, µ)). (6.24)
k∈N̄S `∈Jk
128 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Because c̃k` ≥ 0, ` ∈ Rk , k ∈ NS , from inequality (6.24) we have

z(RF (β, λ, µ)) ≤ z̄(F ).

From Theorem 6.1, the following corollary follows.


Corollary 1. Let zU B be a valid upper bound on the 2E-CVRP. For a given pair of
P
vectors λ, µ and any solution β of inequalities (6.12), let c̃k` = ck` − i∈NC aik` (βik +
λi ) − µk − µ0 be the reduced cost of 2nd -level route ` ∈ Rk , k ∈ NS . Any optimal
2E-CVRP solution of cost smaller than zU B cannot contain any 2nd -level route ` ∈ Rk ,
k ∈ NS , of reduced cost c̃k` ≥ zU B − z(RF (β, λ, µ)).

Proof. The corollary directly follows from inequality (6.24) because c̃k` ≥ 0, ` ∈ Rk ,
k ∈ NS . 
Theorem 6.2. The relation maxβ,λ,µ {z(RF (β, λ, µ))} ≥ z(LF ) holds, and this in-
equality can be strict.

Proof. We show that, from any optimal LF dual solution of cost z(LF ), two penalty
vectors λ and µ and a solution β of inequalities (6.12) such that z(RF (β, λ, µ)) ≥
z(LF ) can be derived.
|N | |N | |M |
Let u ∈ R|NC | , v ∈ R− S , v0 ∈ R− , σ ∈ R− S , α0 ≤ 0, α ∈ R|NS | , ω ∈ R− , and
|M |
ϑ ∈ R− be the dual variables associated with constraints (6.2)-(6.8) and with the
continuous relaxation of constraints (6.10) (i.e., 0 ≤ yr ≤ 1, r ∈ M ). The dual of
problem LF is as follows.
X X X
z(LF ) = max ui + mk vk + m2 v0 + Bk σk
i∈NC k∈NS k∈NS
X
1
+ m α0 + ϑr (6.25)
r∈M
X
s.t. ui + vk + v0 + wk` σk − wk` αk ≤ ck` , ` ∈ Rk , k ∈ NS , (6.26)
i∈Rk`

α0 − Q1 ωr + ϑr ≤ gr , r ∈ M, (6.27)
αk + ωr ≤ 0, k ∈ NS , r ∈ M (6.28)
ui ∈ R, i ∈ NC , (6.29)
vk ≤ 0, αk ∈ R, σk ≤ 0, k ∈ NS , (6.30)
v0 ≤ 0, α0 ≤ 0, (6.31)
ωr ≤ 0, ϑr ≤ 0, r ∈ M. (6.32)

Let u∗ = (u∗1 , . . . , u∗nc ), v ∗ = (v0∗ , v1∗ , . . . , vn∗ s ), σ ∗ = (σ1∗ , . . . , σn∗ s ), α∗ = (α0∗ , α1∗ , . . . , αn∗ s ),
∗ ), and ϑ∗ = (ϑ∗ , . . . , ϑ∗ ) be an optimal dual solution of LF .
ω ∗ = (ω1∗ , . . . , ω|M | 1 |M |

Define the vectors λ, µ and β with respect to u∗ , v ∗ , σ ∗ and α∗ by setting λi = 0,


i ∈ NC , µk = vk∗ , k ∈ NS , µ0 = v0∗ , and βik = u∗i + qi (σk∗ − αk∗ ), i ∈ NC , k ∈ NS .
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 129

First, we show that vectors λ, µ and β as defined above provide a feasible solution of
P
inequalities (6.12). Because i∈NC aik` qi = wk` , we have
X X
aik` βik = aik` u∗i + wk` σk∗ − wk` αk∗ , ` ∈ Rk , k ∈ NS . (6.33)
i∈NC i∈NC

Because of inequalities (6.26), from (6.33) we derive


X
aik` βik ≤ ck` − vk∗ − v0∗ , ` ∈ Rk , k ∈ NS . (6.34)
i∈NC

Inequalities (6.34) correspond to inequalities (6.12) because µk = vk∗ , k ∈ NS , µ0 = v0∗ ,


and λi = 0, i ∈ NC .

Let (ξ ∗ , y ∗ , q ∗ ) be an optimal RF solution using λ, µ and β as defined above. We


have
X X X X
z(RF (β, λ, µ)) = (u∗i + qi (σk∗ − αk∗ ))ξik

+ gr yr∗ + mk vk∗ + m2 v0∗
k∈NS i∈NC r∈M k∈NS
X X X X X X
= u∗i ∗
ξik + σk∗ ∗
qi ξik − αk∗ ∗
qi ξik
i∈NC k∈NS k∈NS i∈NC k∈NS i∈NC
X X
+ gr yr∗ + mk vk∗ + m2 v0∗ .
r∈M k∈NS
(6.35)

From constraints (6.14), we have


X X X
u∗i ∗
ξik = u∗i . (6.36)
i∈NC k∈NS i∈NC

From constraints (6.27), we derive


X X X X
gr yr∗ ≥ − Q1 ωr∗ yr∗ + α0∗ yr∗ + ϑ∗r yr∗ . (6.37)
r∈M r∈M r∈M r∈M

Because α0∗ ≤ 0, from inequality (6.6) we obtain


X
α0∗ yr∗ ≥ m1 α0∗ (6.38)
r∈M

and, because ϑ∗r ≤ 0, we have


X X
ϑ∗r yr∗ ≥ ϑ∗r . (6.39)
r∈M r∈M
130 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Thus, from expressions (6.35), (6.36), (6.37), (6.38) and (6.39), we derive
X X X X X X
z(RF (β, λ, µ)) ≥ u∗i + σk∗ ∗
qi ξik − αk∗ ∗
qi ξik − Q1 ωr∗ yr∗
i∈NC k∈NS i∈NC k∈NS i∈NC r∈M
X X
+ m1 α0∗ + ϑ∗r + mk vk∗ + m2 v0∗ .
r∈M k∈NS
(6.40)

From inequalities (6.8) and because ωr∗ ≤ 0, we obtain


X X X
− Q1 ωr∗ yr∗ ≥ − ωr∗ ∗
qkr . (6.41)
r∈M r∈M k∈Rr

∗ = ∗ , k ∈ N , from (6.41) we have


P P
Because i∈NC qi ξik r∈M qkr S

X X X X X
σk∗ ∗
qi ξik − αk∗ ∗
qi ξik − Q1 ωr∗ yr∗ ≥
k∈NS i∈NC k∈NS i∈NC r∈M
X X X X (6.42)
(σk∗ − αk∗ ) ∗
qkr − ωr∗ ∗
qkr .
k∈NS r∈M r∈M k∈Rr

Notice that k∈NS αk∗ r∈M qkr ∗ = ∗ ∗ ∗ ∗


P P P P P
r∈M k∈Rr αk qkr . Because σk ≤ 0 and r∈M qkr ≤
Bk (see constraints (6.5)), we have σk∗ r∈M qkr ∗ ≥ B σ ∗ , k ∈ N . Thus, from (6.42),
P
k k S
we derive
X X X X
(σk∗ − αk∗ ) ∗
qkr − ωr∗ ∗
qkr ≥
k∈NS r∈M r∈M k∈Rr
X X X X X (6.43)
Bk σk∗ − ∗
αk∗ qkr − ωr∗ ∗
qkr .
k∈NS r∈M k∈Rr r∈M k∈Rr

Because of constraints (6.28), we have


X X X X X X
− ∗
αk∗ qkr − ωr∗ ∗
qkr =− (αk∗ + ωr∗ )qkr

≥ 0. (6.44)
r∈M k∈Rr r∈M k∈Rr r∈M k∈Rr

From inequalities (6.40), (6.43) and (6.44) we obtain


X X X X
z(RF (β, λ, µ)) ≥ u∗i + mk vk∗ + m2 v0∗ + Bk σk∗ + m1 α0∗ + ϑ∗r = z(LF ).
i∈NC k∈NS k∈NS r∈M

Finally, notice that z(RF (β, λ, µ)) > z(LF ) whenever the optimal dual solution
(u∗ , v ∗ , σ ∗ , α∗ , ω ∗ , ϑ∗ ) does not saturate constraint (6.27) for some route r ∈ M
that is in the optimal RF solution (i.e., yr∗ = 1) or/and constraint (6.28) for some
satellite k ∈ NS and route r ∈ M such that qkr ∗ > 0. In these cases, inequality (6.37)

or/and inequality (6.43) are strict and, consequently, z(RF (β, λ, µ)) > z(LF ). 
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 131

6.4.2 Relaxation RF

Solving RF to optimality can be time-consuming, so we describe a further relaxation


of RF , called RF , that can be efficiently solved.

Let φrw be a lower bound on the cost for delivering a demand w ∈ Wr to customers
from the subsets of satellites Rr visited by 1st -level route r ∈ M . For a given vector
β satisfying inequalities (6.12), the value φrw is defined as the optimal solution cost of
the following continuous knapsack problem, called KP (r, w)
X
(KP (r, w)) φrw = min min {βik }zi
k∈Rr
i∈NC
X
s.t. qi zi = w,
i∈NC

0 ≤ zi ≤ 1, i ∈ NC .

For each pair (r, w), we denote by zi∗ (r, w), i ∈ NC , the optimal solution of problem
KP (r, w), and we define V (r, w) = {i ∈ NC : zi∗ (r, w) > 0}. Let ζrw , r ∈ M , w ∈ Wr ,
be a binary variable equal to 1 if and only if 1st -level route r delivering w units of
goods is in solution. Problem RF is defined as
X X
(RF ) z(RF (β, λ, µ)) = min (gr + φrw )ζrw +
r∈M w∈Wr
X X
λi + mk µk + m2 µ0 (6.45)
i∈NC k∈NS
X X
s.t. wζrw = qtot , (6.46)
r∈M w∈Wr
X
ζrw ≤ 1, r ∈ M , (6.47)
w∈Wr

ζrw ∈ {0, 1}, r ∈ M , w ∈ Wr . (6.48)

Problem RF is an integer problem that can be conveniently solved by DP. The following
theorem shows that RF is a relaxation of problem RF .

Theorem 6.3. The relation z(RF (β, λ, µ)) ≤ z(RF (β, λ, µ)) holds for any solution
β of inequalities (6.12) and for any penalty vectors λ and µ.

Proof. Let (ξ̄, ȳ, q̄) be an RF solution of cost z̄(RF (β, λ, µ)). This solution provides a
feasible RF solution ζ̄ of cost z̄(RF (β, λ, µ)) as follows. Let M¯ = {r ∈ M : ȳr = 1},
and let V̄k = {i ∈ NC : ξ¯ik = 1}, k ∈ NS . Define ζ̄rw = 0, r ∈ M \ M¯ and w ∈ Wr .
For any r ∈ M , define w̄r = k∈Rr q̄rk . Set ζ̄rw̄r = 1, r ∈ M¯, and ζ̄rw = 0, r ∈ M¯,
P

w 6= w̄r .

It is quite obvious to observe that ζ̄ satisfies constraints (6.47). To show that ζ̄ also
satisfies constraints (6.46), we observe that, by adding up constraints 6.15 of problem
132 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

RF , we obtain
X X X X
q̄rk = qi ξ¯ik . (6.49)
k∈NS r∈Mk i∈NC k∈NS

Because q̄rk = 0, r ∈ M \ M¯, k ∈ NS , and r ∈ M¯, k ∈ NS \ Rr , we have


X X X X
q̄rk = q̄rk . (6.50)
k∈NS r∈Mk r∈M¯ k∈Rr

Because of equations (6.14), from (6.49) and (6.50) we derive


X X X
q̄rk = qi . (6.51)
r∈M¯ k∈Rr i∈NC

From the definition of w̄r , r ∈ M , and of ζ̄rw , r ∈ M , w ∈ Wr , we have


X X X X
q̄rk = wζ̄rw ,
r∈M¯ k∈Rr r∈M¯ w∈Wr

which shows, together with equality (6.51), that ζ̄ also satisfies constraint (6.46).

For each r ∈ M¯, define θikr , i ∈ NC , k ∈ NS , by setting

ξ¯ik = 0
(
0, if
θikr = P q̄rk
(6.52)
q̄rk , if ξ¯ik = 1
r∈M¯k

where M¯k = Mk ∩ M¯.

In the following, we show that the values θikr , defined above, provide a feasible solution
to problems KP (r, w̄r ), r ∈ M¯. For each r ∈ M¯, define z̄i (r, w̄r ) = k∈Rr θikr , i ∈ NC .
P

Since customer i is assigned exactly to a satellite in any feasible RF solution, from


the definition of θikr , given by expression (6.52), we have 0 ≤ z̄i (r, w̄r ) ≤ 1, i ∈ NC .
Moreover, we have
X X X
qi z̄i (r, w̄r ) = qi θikr , r ∈ M¯. (6.53)
i∈NC i∈NC k∈Rr

Because θikr = 0, i ∈ NC , k ∈ NS \ Rr , we have


X X X X  X X  q̄rk
qi θikr = qi θikr = qi P , r ∈ M¯. (6.54)
i∈NC k∈Rr k∈Rr i∈V̄k k∈Rr i∈V̄k r∈M¯k q̄rk

P P
Since r∈M¯k q̄rk = i∈V̄k qi , from (6.53), (6.54) and the definition of w̄r , we obtain
X X
qi z̄i (r, w̄r ) = q̄rk = w̄r , r ∈ M¯.
i∈NC k∈Rr
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 133

The cost φ̄rw̄r of solution of problem KP (r, w̄r ) is


X
φ̄rw̄r = min {βik }z̄i (r, w̄r ), r ∈ M¯.
k∈Rr
i∈NC

Thus, the cost z̄(RF (β, λ, µ)) of the RF solution ζ̄ obtained from the RF solution
(ξ̄, ȳ, q̄) is
X X X X
z̄(RF (β, λ, µ)) = φ̄rw̄r + gr + λi + mk µk + m2 µ0 .
r∈M¯ r∈M¯ i∈NC k∈NS

The cost z̄(RF (β, λ, µ)) of the RF solution (ξ̄, ȳ, q̄) is
X X X X X
z̄(RF (β, λ, µ)) = βik ξ¯ik + gr + λi + mk µk + m2 µ0 . (6.55)
i∈NC k∈NS r∈M¯ i∈NC k∈NS

From the definition of θikr (see expression (6.52)), we have


X
ξ¯ik = θikr . (6.56)
r∈M¯k

From (6.55) and (6.56) we obtain


X X X  X X
z̄(RF (β, λ, µ)) = βik θikr + gr + λi + mk µk + m2 µ0 . (6.57)
r∈M¯ i∈NC k∈Rr i∈NC k∈NS

It is quite clear that the following inequalities hold


X X X X
βik θikr ≥ min {βik } θikr , r ∈ M¯. (6.58)
k∈Rr
i∈NC k∈Rr i∈NC k∈Rr

Thus, using the definition of z̄i (r, w̄r ), inequalities (6.58) become
X X X
βik θikr ≥ min {βik }z̄i (r, w̄r ) = φ̄rw̄r , r ∈ M¯. (6.59)
k∈Rr
i∈NC k∈Rr i∈NC

Finally, from expression (6.57) and inequalities (6.59), we obtain


X X X
z̄(RF (β, λ, µ)) ≥ (φ̄rw̄r + gr ) + λi + mk µk + m2 µ0 = z̄(RF (β, λ, µ)).
r∈M¯ i∈NC k∈NS

Because of Theorem 6.3 and Corollary 1, any optimal 2E-CVRP solution of cost smaller
than a known upper bound zU B cannot contain any 2nd -level route ` ∈ Rk , k ∈ NS , of
reduced cost c̃k` ≥ zU B − z(RF (β, λ, µ)), where c̃k` is defined as above.
134 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

A valid lower bound LD1 on the 2E-CVRP can be computed as the cost of a near-
optimal solution of problem

LD1 = max {z(RF (β, λ, µ))}. (6.60)


β,λ,µ

6.5 Lower bound LD1 and bounding procedure DP 1

In this section, we describe a bounding procedure, called DP 1 , and a heuristic algo-


rithm based on relaxation RF to compute lower and upper bounds LD1 and U B1,
respectively. Procedure DP 1 finds a near-optimal solution of problem (6.60) and uses
a DP algorithm to solve problem RF .

Bounding procedure DP 1 is based on a relaxation of the 2E-CVRP, where the 2nd -level
route sets Rk , k ∈ NS , are enlarged to also contain nonnecessarily elementary routes.
The method used by DP 1 to find a feasible solution of inequalities (6.12) is based on
the following theorem.

Theorem 6.4. Let us associate penalties λi ∈ R, i ∈ NC , with constraints (6.2),


µk ∈ R− , k ∈ NS , with constraints (6.3), and µ0 ∈ R− with constraint (6.4). Let
Rbk ⊇ Rk be the index set of nonnecessarily elementary routes for satellite k. A feasible
solution βik of inequalities (6.12) is given by
( P )
ck` − i∈NC aik` λi − µk − µ0
βik = qi min P , i ∈ NC , k ∈ NS . (6.61)
`∈Rbik i∈NC aik` qi

Proof. Consider route ` ∈ Rbk of a given satellite k ∈ NS . From expressions (6.61), we


derive P
qi (ck` − i∈NC aik` λi − µk − µ0 )
βik ≤ P , i ∈ Rk` . (6.62)
i∈NC aik` qi

By summing up inequalities (6.62) for all i ∈ Rk` , we obtain


P
X aik` qi (ck` − aik` λi − µk − µ0 )
P i∈NC
X
aik` βik ≤
i∈Rk` i∈Rk` i∈NC aik` qi
X
= ck` − aik` λi − µk − µ0 , ` ∈ Rbk , k ∈ NS .
i∈NC

In procedure DP 1 , the route set Rbk is defined as the set of ng-routes introduced in
§4.3.3 that are shortly described below.

Let Ni ⊆ NC , i ∈ NC , be a set of selected customers for customer i (according to


some criterion), such that Ni 3 i and |Ni | ≤ ∆(Ni ), where ∆(Ni ) is a parameter.
The sets Ni allow us to associate with each path P = (k, i1 , . . . , it ) that starts from
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 135

satellite k ∈ NS , visits vertices i1 , . . . , it ∈ NC , and ends at vertex it , the subset Π(P )


containing it and every customer is , s = 1, . . . , t − 1, of P that belongs to all sets
Ns+1 , . . . , Nit associated with the customers is+1 , . . . , it visited after is . The set Π(P )
is defined as
t
\ [

Π(P ) = is : is ∈ Nij , s = 1, . . . , t − 1 {it }.
j=s+1

A forward ng-path (N G, k, q, i) is a nonnecessarily elementary path P = (k, i1 , . . . ,


it−1 , it = i) that starts from satellite k ∈ NS , ends at customer i, visits a subset of
customers of total demand equal to q, and such that N G = Π(P ) and i ∈ / Π(P 0 ), where
P 0 = (k, i1 , . . . , it−1 ). An (N G, k, q, i)-route (or simply ng-route) is obtained by adding
edge {i, k} to an ng-path (N G, k, q, i).

Algorithm DP 1 uses column generation to solve equations (6.61) and subgradient


optimization to solve problem (6.60).

6.5.1 Description of Procedure DP 1

To solve equations (6.61), procedure DP 1 uses a limited set R̄k ⊆ Rbk , k ∈ NS , of ng-
routes. Procedure DP 1 initializes each set R̄k with all single-customer routes (k, i, k),
i ∈ NC , and sets λ = 0, µ = 0, LD1 = 0 and U B1 = ∞. Procedure DP 1 executes an
a-priori defined number (M axit1) of macro iterations where, at each macro iteration,
the following steps are performed.

(1) Initialize z ∗ = 0, and perform M axit2 iterations of the following steps.

(i) Compute values βik , i ∈ NC , k ∈ NS , through expression (6.61), where each


set Rbk is replaced with set R̄k , k ∈ NS .
(ii) Solve RF using values βik as described in §6.5.2. If z(RF (β, λ, µ)) > z ∗ ,
then update z ∗ = z(RF (β, λ, µ)), β ∗ = β, λ∗ = λ and µ∗ = µ.
(iii) Update penalty vector λ and µ as described in §6.5.3.

(2) Generate a set of ng-routes Nk ⊆ Rbk \ R̄k , k ∈ NS , for which inequalities (6.12)
are violated by β ∗ , λ∗ and µ∗ as described in §6.5.4. There are two cases

(i) If Nk = ∅, for each satellite k ∈ NS . If LD1 < z ∗ , then update LD1 = z ∗ ,


β 1 = β ∗ , λ1 = λ∗ , µ1 = µ∗ , and execute the heuristic algorithm described
in §6.5.5 producing upper bound zU B . Update U B1 = min{U B1, zU B }.
(ii) If Nk 6= ∅, for some satellite k ∈ NS , then update R̄k = R̄k ∪ Nk .

Notice that β 1 , λ1 and µ1 are the vectors producing lower bound LD1 in problem
(6.60).
136 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

6.5.2 Solving Problem RF

Problem RF can be solved by DP as follows. Let h(r, w) be the optimal solution cost
of RF obtained by using the 1st -level routes 1, . . . , r, 0 ≤ r ≤ |M |, and replacing qtot
in equation (6.46) with w ∈ Z+ , wmin ≤ w ≤ qtot . The DP recursion for computing
functions h(r, w), r = 1, . . . , |M |, wmin ≤ w ≤ qtot , is

h(r, w) = min{h(r − 1, w), min {h(r − 1, w − w0 ) + gr + φrw0 }}. (6.63)


wmin ≤w0 ≤min{w, wrmax }

The recursion is initialized by setting h(r, 0) = 0, r = 0, . . . , |M |, and h(0, w) = ∞,


w = 1, . . . , qtot . The RF optimal solution cost is z(RF (β, λ, µ)) = h(|M |, qtot ).

Let z̄ be an upper bound on z(RF (β, λ, µ)). The number of states (r, w) to generate in
order to compute z(RF (β, λ, µ)) can be reduced by using bounding functions lb(r, w),
described below, to eliminate any state (r, w) that cannot lead to any RF solution of
cost smaller than z̄.

We denote by lb(r, w) a lower bound on the optimal solution cost of problem RF


where the set M is replaced with the subset {r, r + 1, . . . , |M |} and qtot with w. Let
αr = minwmin ≤w≤wrmax {(gr + φrw )/w}, r ∈ M . By assuming that the routes in the
set M are indexed so that α1 ≤ α2 ≤ . . . ≤ α|M | , functions lb(r, w) can be computed
using the following backward recursion.

Initialize (i) lb(r, 0) = 0, r = 1, . . . , |M |, (ii) lb(r, w) = ∞, 0 < w < wmin , r =


1, . . . , |M |, (iii) lb(|M |, w) = wα|M | , w ∈ W|M | , and (iv) lb(|M |, w) = ∞, wrmax <
w ≤ qtot .

For each 1st -level route r = |M | − 1, |M | − 2, . . . , 1 and each load wmin ≤ w ≤ qtot
compute
(
wαr if w ≤ wrmax
lb(r, w) =
wrmax αr + lb(r + 1, w − wrmax ) if wrmax + 1 ≤ w ≤ qtot .

Thus, a state (r, w), r < |M |, is fathomed if h(r, w) + lb(r + 1, qtot − w) ≥ z̄.

In performing recursion (6.63), the upper bound z̄ is initialized as z̄ = U B1 and


dynamically updated, at the end of stage r, as z̄ = min{z̄, h(r, qtot )}.

6.5.3 Computing a subgradient

Usual backtracking can be used to derive the RF solution ζ of cost h(|M |, qtot ). Given
ζ and the sets V (r, w), as defined in §6.4.2, associated to φrw , we derive the index sets
Rek ⊆ R̄k , k ∈ NS , of the 2nd -level routes in solution and the index `(i, k) of the route
in Rek associated with βik as follows.
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 137

(i) Initialize Rek = ∅, k ∈ NS , and `(i, k) = 0, i ∈ NC , k ∈ NS ;

(ii) Repeat the following steps for each 1st -level route r ∈ M such that ζrw = 1 for
some load w ∈ Wr

(a) Compute k̄(i) = argmink∈Rr {βik }, i ∈ V (r, w). Let `(i, k̄(i)), i ∈ V (r, w),
be the index of the route in Rbk associated with βi k̄(i) in expressions (6.61);
(b) For each i ∈ V (r, w), set Rek̄(i) = Rek̄(i) ∪ {`(i, k̄(i))}.

A subgradient to function z(RF (β, λ, µ)), at point (λ, µ), can be computed as follows.
Let x̃ be a vector whose components are computed as
X aik` qi
x̃k` = P , ` ∈ Rek , k ∈ NS ,
i∈NC : `(i,k)=` i∈NC aik` qi

and let  P P
 αi = P k∈NS `∈Rek aik` x̃k` , i ∈ NC ,

δk = `∈Re x̃k` , k ∈ NS ,
 P k
δ0 = k∈NS δk .

Then, penalty vectors λ and µ are modified as



 λi = λi − γ(αi − 1),
 i ∈ NC ,
µk = min{0, µk − γ(δk − mk )}, k ∈ NS ,

µ0 = min{0, µ0 − γ(δ0 − m2 )},

where  is a positive constant and γ is defined as

0.2z(RF (β, λ, µ))


γ=P .
1)2 + k∈NS (δk − mk )2 + (δ0 − m2 )2
P
i∈NC (αi −

6.5.4 Generating the ng-route set Nk for a given satellite k

We describe the procedure to generate, for a given satellite k ∈ NS , the set of ng-routes
Nk ⊆ Rbk that violate inequalities (6.12) for given vectors β ∗ , λ∗ and µ∗ , when the
route set Rk is replaced by the route set Rbk .

Define the modified edge costs d¯ij = dij − 12 (βik


∗ + λ∗ + H q ) − 1 (β ∗ + λ∗ + H q ) and
i k i 2 jk j k j
the sets Ni ⊆ NC , i ∈ NC , to contain the ∆(Ni ) nearest customers to i according to
dij .

Let f (N G, k, q, i) be the cost of a least-cost ng-path (N G, k, q, i) using the modified


edge cost d¯ij . Functions f (N G, k, q, i) are computed using the DP recursions described
in §4.3.3 on the state-space graph H = (V , Ψ), defined for a given satellite k ∈ NS ,
138 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

as
X
V = {(N G, k, q, i) : qi ≤ q ≤ Q2 , ∀N G ⊆ Ni s.t. N G 3 i and qj ≤ q, ∀i ∈ NC },
j∈N G

Ψ = {((N G0 , k, q 0 , j), (N G, k, q, i)) : ∀(N G0 , k, q 0 , j) ∈ Ψ−1 (N G, k, q, i), ∀(N G, k, q, i) ∈ E },

where Ψ−1 (N G, k, q, i) = {(N G0 , k, q − qi , j) : ∀N G0 ⊆ Nj s.t. N G0 3 j and N G0 ∩


Ni = N G \ {i}, j ∈ NC s.t. {i, j} ∈ E if i < j or {j, i} ∈ E if j < i}.

Let r(i, k) = min {f (N G, k, q, i) − µ∗k − µ∗0 + d¯ik } be the cost of a least-cost ng-
(N G,k,q,i)∈V
route visiting customer i ∈ NC immediately before arriving at satellite k. The route
set Nk contains the ng-routes corresponding to r(i, k) < 0, for each customer i ∈ NC .

6.5.5 A Lagrangean heuristic

Procedure DP 1 is interwoven with a heuristic algorithm that produces a feasible 2E-


CVRP solution of cost zU B using the 2nd -level route sets Rek , k ∈ NS , and vector
x̃ associated with an RF solution (see §6.5.3). First, the routes in Rek , k ∈ NS , are
modified with the objective of obtaining a solution vector x satisfying constraints (6.2)-
(6.5). Then, the solution vector x is used to derive solution vectors y and q such that
(x, y, q) represents a feasible 2E-CVRP solution.

A step-by-step description of the heuristic algorithm is the following.

1) Initialization. Let Re = ∪k∈NS Rek . Initialize SOL = ∅ and δ(i) = 0, i ∈ NC .

2) Extract a subset of routes SOL ⊆ R.


e Let `∗ be the route of Re where x̃π ∗ `∗ =
`

max{x̃π` ` : ` ∈ R}.
e Remove `∗ from R.e If δ(i) = 0, for some i ∈ Rπ ∗ `∗ , then
`

update SOL = SOL ∪ {`∗ } and δ(i) = δ(i) + 1, i ∈ Rπ`∗ `∗ . Repeat Step 1 until
Re = ∅.

3) Modify the route set SOL. Remove from SOL any route ` ∈ SOL such that
δ(i) > 1, i ∈ Rπ` ` , and update δ(i) = δ(i) − 1. For each ` ∈ SOL, compute the
savings that can be achieved by removing from route ` every customer i ∈ Rπ` `
having δ(i) > 1. Let `∗ ∈ SOL be the route of maximum saving. Remove from
route `∗ every customer i ∈ Rπ`∗ `∗ with δ(i) > 1, and update δ(i) = δ(i)−1. Repeat
Step 3 until δ(i) ≤ 1, for each i ∈ NC .

4) Insert unrouted customers. For each unrouted customer i (i.e., δ(i) = 0) perform the
following operations. Compute the minimum extra-mileage exm(i, `) for inserting i
in route ` ∈ SOL. We set exm(i, `) = ∞ if the total load of the resulting route ` ex-
ceeds the vehicle capacity Q2 . Let `∗ be such that exm(i, `∗ ) = min`∈SOL [exm(i, `)].
If exm(i, `∗ ) = ∞, then set zU B = ∞ and stop; otherwise, insert customer i in route
`∗ in the position of cost exm(i, `∗ ), and set δ(i) = 1.
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 139

5) Define the F solution x. Define xπ` ` = 1, for each route ` ∈ SOL, and xπ` ` = 0,
for each route ` ∈ R \ SOL. If x does not satisfy constraints (6.3)-(6.5), then set
zU B = ∞ and the algorithm terminates.

6) Improve the cost of the routes in SOL. The post-optimization procedure for im-
proving the total cost of the routes in SOL applies the following procedure in the
order specified below.

(a) Exchange of one customer between two routes of SOL. For each customer i ∈
NC , compute the saving move(i, `) achieved by removing i from its current route
`i and inserting i in the least-cost position of route ` ∈ SOL. Set move(i, `i ) = 0
and move(i, `) = −∞ if the load of the resulting route ` violates constraint (6.5)
for satellite π` or if customer i cannot be inserted in route ` without violating
the vehicle capacity Q2 . Let i∗ and `∗ be determined such that move(i∗ , `∗ ) =
max[move(i, `) : i ∈ NC , ` ∈ SOL]. If move(i∗ , `∗ ) > 0, then remove customer
i∗ from its current route and insert it in the best position of route `∗ . This
procedure is repeated until move(i∗ , `∗ ) ≤ 0.
(b) Exchange of two customers between two routes of SOL. For all pairs of routes
`, `0 ∈ SOL and for each pair of customers i ∈ Rπ` ` and j ∈ Rπ`0 `0 , compute
the saving sav(i, j) obtained by moving customer i from route ` to route `0 and
customer j from route `0 to route `. We set sav(i, j) = −∞ if the exchange
violates constraint (6.5) for one of the two satellites π` , π`0 or if the total load
of one of the two routes exceeds the vehicle capacity Q2 . The two customers, i∗
and j ∗ , producing the maximum saving are then exchanged if sav(i∗ , j ∗ ) > 0.
This procedure is repeated until sav(i∗ , j ∗ ) ≤ 0. Whenever this procedure
improves the solution, then the post-optimization routing is restarted from the
beginning.
(c) Optimize each route ` ∈ SOL using a 3-optimal method.
P
7) Constructing a feasible 2E-CVRP solution. Let ωk = `∈Rk wk` xk` , k ∈ NS , be
the total demand associated with satellite k by the solution vector x defined above.
We solve the following integer problem to optimality
X
(F (x)) z(F (x)) = min gr yr
r∈M
X
s.t. yr ≤ m1 ,
r∈M
X
qkr = ωk , k ∈ NS ,
r∈Mk
X
qkr ≤ Q1 yr , r ∈ M,
k∈Rr

yr ∈ {0, 1}, r ∈ M,
qkr ≥ 0, k ∈ Rr , r ∈ M .
140 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Problem F (x) is solved to optimality with an integer programming solver. Let


(y, q) be the optimal F (x) solution (we assume z(F (x)) = ∞ if problem F (x)
does not admit a feasible solution). If problem F (x) admits a feasible solution,
then the vectors (x, y, q) represents a feasible 2E-CVRP solution of cost zU B =
P P
z(F (x)) + k∈NS `∈Rk ck` xk` .

6.6 An exact method for solving the 2E-CVRP

The method for solving the 2E-CVRP is based on the following re-formulation of
problem F .

Let P = {M ⊆ M : |M |Q1 ≥ qtot , |M | ≤ m1 }. We call configuration each element M


of the set P. For each configuration M ∈ P, let NS (M ) = r∈M Rr , Mk = M ∩ Mk ,
S
P
k ∈ NS , and U (M ) = r∈M gr . An optimal 2E-CVRP solution can be computed as

z(F ) = min {U (M ) + z(F (M ))} ,


M ∈P

where z(F (M )) is the optimal solution cost of the following problem F (M )


X X
(F (M )) z(F (M )) = min ck` xk`
k∈NS (M ) `∈Rk
X X
s.t. xk` = 1, i ∈ NC ,
k∈NS (M ) `∈Rik
X
xk` ≤ mk , k ∈ NS (M ),
`∈Rk
X X
xk` ≤ m2 ,
k∈NS (M ) `∈Rk
X
wk` xk` ≤ Bk , k ∈ NS (M ),
`∈Rk
X X
qkr = wk` xk` , k ∈ NS (M ),
r∈Mk `∈Rk
X
qkr ≤ Q1 , r ∈ M,
k∈Rr

xk` ∈ {0, 1}, k ∈ NS (M ), ` ∈ Rk ,


qkr ≥ 0, k ∈ Rr , r ∈ M.

We assume z(F (M )) = ∞ if F (M ) has no feasible solution for configuration M ∈ P.

Problem F (M ) is an extension of the multi-depot capacitated vehicle routing problem


(MDCVRP) considered by Baldacci and Mingozzi [2009].

The exact method we propose (i) generates the set M of 1st -level routes and executes
bounding procedure DP 1 to compute lower bound LD1 corresponding to the optimal
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 141

cost of problem RF (β 1 , λ1 , µ1 ) and upper bound U B1; (ii) then, generates the set P
of configurations and limits its size by using LD1, U B1 and vectors (β 1 , λ1 , µ1 ); (iii)
finally, for each configuration M ∈ P, solves the associated problem F (M ).

The last two steps of the exact method are described in detail in the following.

6.6.1 Generating the Set of Configurations P

The generation of the set P of configurations is based on the following propositions.

Let LBR be a lower bound on the 2nd -level routing cost of any optimal 2E-CVRP
1 1 1
P P P
solution computed as LBR = i∈NC mink∈NS {βik } + i∈NC λi + k∈NS mk µk +
m2 µ10 , and let LBW (M ) be a lower bound on z(F (M )) computed as LBW (M ) =
1 1 1 2 1
P P P
i∈NC mink∈NS (M ) {βik } + i∈NC λi + k∈NS (M ) mk µk + m µ0 .

Proposition 1. Let zU B be a valid upper bound on the 2E-CVRP. A configuration


M ∈ P can belong to an optimal 2E-CVRP solution if and only if it satisfies the
following conditions

|Rr ∩ Rr0 | ≤ 1, r, r0 ∈ M, r 6= r0 , (a) 

P P 
r∈M min{Q1 , k∈Rr mk Q2 } ≥ qtot , (b)




P P
r∈M k∈Rr mk ≥ dqtot /Q2 e, (c)

(6.64)
U (M ) < zU B − LBR , (d)





U (M ) < zU B − LBW (M ). (e)

Condition (a) is a property of the feasible solutions of the split delivery vehicle routing
problem (see Dror and Trudeau [1990]). Conditions (b) and (c) are feasibility con-
ditions. Conditions (d) and (e) follow from the properties of any optimal 2E-CVRP
solution of cost less than zU B .
Proposition 2. For a given configuration M ∈ P, let θ(k), k ∈ NS (M ), be a lower
bound on the quantity that must be supplied to satellite k in any feasible F (M ) solution
by the 1st -level routes Mk ⊆ M passing through satellite k. Problem F (M ) has no
2
P
feasible solution if either k∈NS (M ) dθ(k)/Q2 e > m or dθ(k)/Q2 e > mk , for some
satellite k ∈ NS . In this case, configuration M can be removed from P.
142 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Lower bound θ(k) can be computed as the optimal solution cost of the following prob-
lem
X
θ(k) = min qkr (6.65)
r∈Mk
X
s.t. qhr ≤ Q1 , r ∈ M, (6.66)
h∈Rr
X X
qhr = qtot , (6.67)
r∈M h∈Rr
X
qhr ≥ q min , h ∈ NS (M ), (6.68)
r∈Mh
X
qhr ≤ mk Q2 , h ∈ NS (M ), (6.69)
r∈Mh

qhr ≥ 1, h ∈ Rr , r ∈ M, (6.70)

where q min = max{mini∈NC {qi }, qtot − (m2 − 1)Q2 }. We assume θ(k) = ∞ if problem
(6.65)-(6.70) has no feasible solution.

The set P is generated by pure enumeration by using Propositions 1 and 2 to eliminate


any configuration M that cannot lead to an optimal 2E-CVRP solution.

6.6.2 Solving Problem F (M )

Problem F (M ) is solved with the following three-phase method. In the first phase,
bounding procedure DP 1 is used to compute lower bound LD1(M ) on z(F (M )) by
replacing M with M . In the second phase, a near-optimal dual solution of the LP-
relaxation of F (M ) strengthened by valid inequalities, called problem F̄ (M ), is com-
puted. In the third phase, the F̄ (M ) dual solution is used to generate the subsets
Rk0 ⊆ Rk , k ∈ NS (M ), of all 2nd -level routes of any F (M ) optimal solution. An F (M )
optimal solution is obtained by replacing, in F (M ), each set Rk with Rk0 , k ∈ NS (M ),
and solving the resulting problem, called F 0 (M ), with an integer programming solver.

6.6.2.1 Phase 1: computing lower bound LD1(M )

We execute bounding procedure DP 1 , by replacing the set M with M , to compute


lower bound LD1(M ) and upper bound U B1(M ) on F (M ). If LD1(M ) is greater
than a known upper bound on the 2E-CVRP, Phases 2 and 3 are skipped.

6.6.2.2 Phase 2: solving F̄ (M )

Problem F̄ (M ) corresponds to the LP-relaxation of problem F (M ) strengthened with


the following valid inequalities
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 143

a) Capacity constraints. Let S = {H : H ⊆ NC , |H| ≥ 2}. The capacity constraints


are P 
i∈H qi
X X
xk` ≥ , H ∈ S. (6.71)
Q2
k∈NS (M ) `∈Rk : Rk` ∩H6=∅

b) Clique inequalities. Let R(M ) = k∈NS (M ) Rk , and let G = (R(M ), E ) be the


S

conflict graph associated with the route set R(M ), where the edge set E contains
every edge {`, `0 }, `, `0 ∈ R(M ), such that ` < `0 and Rπ` ` ∩ Rπ`0 `0 6= ∅. Let C be
the set of all cliques of graph G . The clique inequalities are
X
xπ` ` ≤ 1, C ∈ C. (6.72)
`∈C

Problem F̄ (M ) is solved with a CCG procedure that starts by setting S = ∅, C = ∅.


The master problem is initialized with a set of elementary routes obtained from the final
set of ng-routes generated in Phase 1 for computing lower bound LD1(M ) by removing,
from each ng-route, the customers visited more than once. At each iteration, a set of
negative reduced cost routes are generated and a set of violated inequalities (6.71) and
(6.72) are added as described in Baldacci and Mingozzi [2009]. The procedure ends
when no negative reduced cost routes exist and no inequalities (6.71) and (6.72) are
violated and provides an F̄ (M ) dual solution of cost z(F̄ (M )).

6.6.2.3 Phase 3: solving F (M ) to optimality

In Phase 3, two steps are performed.

(1) Define the reduced problem F 0 (M ) resulting from F (M ) by

(i) Replacing the route set Rk , k ∈ NS (M ), with the largest subset Rk0 ⊆ Rk
of routes such that c0k` < zU B − (U (M ) + z(F̄ (M ))), ` ∈ Rk0 , k ∈ NS (M ),
where c0` is the reduced cost of route ` ∈ Rk0 with respect to the F̄ (M ) dual
solution achieved at Phase 2 and zU B is the current best upper bound on the
2E-CVRP.
(ii) Adding all constraints (6.71) and (6.72) saturated by the final F̄ (M ) solution.

(2) Solve problem F 0 (M ) with a general purpose integer programming solver.

6.6.3 Description of the Exact Method

The exact method we propose for solving the 2E-CVRP can be described as follows.

(1) Generate the set M and compute a lower bound on the 2E-CVRP.
144 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

• Generate the set M of 1st -level routes by pure enumeration.


• Execute bounding procedure DP 1 to produce lower and upper bounds LD1
and U B1.

(2) Generate the set P of configurations as described in §6.6.1.

(3) Solve the 2E-CVRP.

(a) Initialize z(F ) = U B1, LB = U B1, zU B = U B1, P̄ = ∅ and rmax = 0.


(b) If P = ∅, then Stop.
Let M = argminM 0 ∈P {LBW (M 0 )}. Remove M from P. If LBW (M ) ≥ z(F )
then Stop (z(F ) is the optimal 2E-CVRP solution cost).
(c) Solve problem F (M ).
(i) Execute Phase 1 (see §6.6.2.1) to compute lower bound LD1(M ) and
upper bound U B1(M ) on F (M ). Update zU B = min{zU B , U B1(M )},
z(F ) = min{z(F ), U B1(M )}, and LB = min{LB, z(F )}.
If LD1(M ) ≥ z(F ), go to Step 3.b.
(ii) Execute Phase 2 (see §6.6.2.2) to compute lower bound z(F̄ (M )), and
update LB = min{LB, max{LD1(M ), U (M ) + z(F̄ (M ))}}.
If U (M ) + z(F̄ (M )) ≥ z(F ), go to Step 3.b.
If the F̄ (M ) solution of cost z(F̄ (M )) is integer, update z(F ) = U (M ) +
z(F̄ (M )) and go to Step 3.b.
(iii) Execute Phase 3 (see §6.6.2.3) to solve problem F (M ). Let z(F (M )) be
the optimal solution cost of F 0 (M ). Update z(F ) = min{z(F ), U (M ) +
z(F (M ))}, P̄ = P̄ ∪ {M } and rmax = max{rmax , k∈NS (M ) |Rk0 |}. Go
P

to Step 3.b.

Notice that Step 3.c-(iii) is executed for any configuration M ∈ P such that U (M ) +
z(F̄ (M )) < z(F ) and the F̄ (M ) solution is not integer. Thus, if Step 3.c-(iii) is never
executed, the algorithm terminates with P̄ = ∅, implying that LB = z(F ) and the
optimal 2E-CVRP solution corresponds to either the initial upper bound U B1(M )
computed at Step 3.c-(i) or to the integer F̄ (M ) solution achieved at Step 3.c-(ii) for
some configuration M ∈ P.

At the end of the exact method, LB represents a valid lower bound on the 2E-CVRP
because it corresponds to LB = minM ∈P {max{LD1(M ), U (M ) + z(F̄ (M ))}}. Value
rmax is the maximum number of 2nd -level routes generated, and set P̄ contains the
configurations for which the corresponding problem F (M ) was solved to optimality at
Step 3.c-(iii). Upper bound zU B is the cost of the best upper bound computed at Step
1 or at Step 3.c-(i). Finally, because we impose a limit ∆max on the maximum number
of 2nd -level routes, k∈NS (M ) Rk0 , to generate at Step 3.c-(iii), whenever such limit is
S

reached for some configuration M ∈ P̄, at the end of the algorithm, the value z(F ) is
an upper bound on the 2E-CVRP but is not necessarily the optimal solution cost.
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 145

Table 6.1: Satellite coordinates of Set 6

N ame nS k=1 k=2 k=3 k=4 k=5 k=6


A-n51-4 4 7 (21.0,47.0) 11 (51.0,21.0) 17 (52.0,41.0) 42 (10.0,17.0)
A-n51-5 5 5 (20.0,26.0) 7 (21.0,47.0) 16 (36.0,16.0) 23 (42.0,57.0) 39 (45.0,35.0)
A-n51-6 6 3 (49.0,49.0) 5 (20.0,26.0) 15 (12.0,42.0) 16 (36.0,16.0) 49 (25.0,55.0) 50 (48.0,28.0)
A-n76-4 4 30 (52.0,26.0) 36 (55.0,50.0) 45 (21.0,48.0) 74 (27.0,24.0)
A-n76-5 5 33 (22.0,53.0) 49 (48.0,21.0) 53 (54.0,38.0) 54 (55.0,57.0) 74 (27.0,24.0)
A-n76-6 6 6 (55.0,20.0) 13 (35.0,51.0) 17 (21.0,36.0) 53 (54.0,38.0) 54 (55.0,57.0) 63 (30.0,20.0)
A-n101-4 4 8 (20.0,50.0) 22 (45.0,20.0) 51 (47.0,47.0) 96 (25.0,24.0)
A-n101-5 5 3 (35.0,17.0) 51 (47.0,47.0) 55 (57.0,29.0) 83 (15.0,47.0) 90 (26.0,35.0)
A-n101-6 6 5 (55.0,20.0) 19 (20.0,40.0) 52 (49.0,58.0) 62 (12.0,24.0) 69 (56.0,39.0) 98 (25.0,21.0)
B-n51-4 4 7 (21.0,47.0) 11 (51.0,21.0) 17 (52.0,41.0) 42 (10.0,17.0)
B-n51-5 5 5 (20.0,26.0) 7 (21.0,47.0) 16 (36.0,16.0) 23 (42.0,57.0) 39 (45.0,35.0)
B-n51-6 6 3 (49.0,49.0) 5 (20.0,26.0) 15 (12.0,42.0) 16 (36.0,16.0) 49 (25.0,55.0) 50 (48.0,28.0)
B-n76-4 4 30 (52.0,26.0) 36 (55.0,50.0) 45 (21.0,48.0) 74 (27.0,24.0)
B-n76-5 5 33 (22.0,53.0) 49 (48.0,21.0) 53 (54.0,38.0) 54 (55.0,57.0) 74 (27.0,24.0)
B-n76-6 6 6 (55.0,20.0) 13 (35.0,51.0) 17 (21.0,36.0) 53 (54.0,38.0) 54 (55.0,57.0) 63 (30.0,20.0)
B-n101-4 4 8 (20.0,50.0) 22 (45.0,20.0) 51 (47.0,47.0) 96 (25.0,24.0)
B-n101-5 5 3 (35.0,17.0) 51 (47.0,47.0) 55 (57.0,29.0) 83 (15.0,47.0) 90 (26.0,35.0)
B-n101-6 6 5 (55.0,20.0) 19 (20.0,40.0) 52 (49.0,58.0) 62 (12.0,24.0) 69 (56.0,39.0) 98 (25.0,21.0)
C-n51-4 4 22 (62.0,42.0) 26 ( 7.0,38.0) 32 (37.0,69.0) 46 (39.0,10.0)
C-n51-5 5 26 ( 7.0,38.0) 32 (37.0,69.0) 37 (63.0,69.0) 40 (59.0,15.0) 44 ( 5.0,64.0)
C-n51-6 6 22 (62.0,42.0) 26 ( 7.0,38.0) 32 (37.0,69.0) 34 (46.0,10.0) 37 (63.0,69.0) 44 ( 5.0,64.0)
C-n76-4 4 11 (40.0,66.0) 25 ( 7.0,43.0) 55 (67.0,41.0) 62 (36.0, 6.0)
C-n76-5 5 55 (67.0,41.0) 56 (10.0,70.0) 57 ( 6.0,25.0) 61 (64.0, 4.0) 67 (57.0,72.0)
C-n76-6 6 19 ( 9.0,56.0) 32 (31.0,76.0) 57 ( 6.0,25.0) 58 (65.0,27.0) 60 (70.0,64.0) 62 (36.0, 6.0)
C-n101-4 4 30 (64.0,42.0) 33 (35.0,69.0) 42 (42.0, 7.0) 46 ( 6.0,38.0)
C-n101-5 5 30 (64.0,42.0) 42 (42.0, 7.0) 46 ( 6.0,38.0) 65 (15.0,77.0) 66 (62.0,77.0)
C-n101-6 6 16 (30.0, 5.0) 30 (64.0,42.0) 46 ( 6.0,38.0) 65 (15.0,77.0) 66 (62.0,77.0) 68 (67.0, 5.0)

6.7 Computational results

We report on the computational results of the exact method (hereafter BMRW) de-
scribed in §6.6.3 and its comparison with the methods of Perboli et al. [2011] (here-
after PTV) and Jepsen et al. [2011] (hereafter JSR). BMRW was coded in Fortran 77.
CPLEX 12.1 was used as the linear programming and integer programming solver. All
tests were run on an IBM Intel Xeon X7350 Server (2.93 GHz - 16 GB of RAM).

We considered four sets of instances from the literature: Set 2 and 3 from by Gonza-
les Feliu et al. [2007a], Set 4 from Crainic et al. [2010], and Set 5 from Hemmelmayr
et al. [2011]. Sets 2 to 4 are available at http://people.brunel.ac.uk/~mastjjb/
jeb/orlib/vrp2einfo.html, whereas Set 5 was kindly provided by the authors. On
all instances, travel costs are computed as real Euclidean distances. The 39 instances
of Sets 2 and 3 feature 21, 32 or 50 customers and 2 or 4 satellites; in Set 2, satellites
are randomly spread on the plane, whereas, in Set 3, satellites are located peripher-
ally. Set 4 consists of 54 randomly generated instances with 50 customers and 2, 3
or 5 satellites; different criteria were adopted to spread satellites and customers on
the plane. Set 5 is made up of 18 instances obtained by adapting LRP benchmark
146 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Table 6.2: Computational results on Set 2 instances

N ame ns z(F ) %LD1 tLD1 |P| %U B %LB tLB |P̄| rmax ttot
E-n22-k4-s6-17 2 417.07 99.9 0.4 1 100.0 100.0 0.5 0 0 0.5
E-n22-k4-s8-14 2 384.96 99.5 0.4 1 100.0 100.0 0.7 0 0 0.7
E-n22-k4-s9-19 2 470.60 95.4 0.5 1 100.0 100.0 1.2 0 0 1.2
E-n22-k4-s10-14 2 371.50 99.6 0.5 1 100.0 100.0 0.5 0 0 0.5
E-n22-k4-s11-12 2 427.22 96.5 0.4 2 100.5 100.0 1.3 0 0 1.3
E-n22-k4-s12-16 2 392.78 96.7 0.5 2 100.0 100.0 1.1 0 0 1.1
E-n33-k4-s1-9 2 730.16 97.9 25.1 1 100.0 100.0 37.6 0 0 37.6
E-n33-k4-s2-13 2 714.63 97.8 27.8 2 100.0 100.0 34.9 0 0 34.9
E-n33-k4-s3-17 2 707.48 95.0 28.9 3 105.8 100.0 48.1 0 0 48.1
E-n33-k4-s4-5 2 778.74 94.1 23.1 4 100.9 100.0 72.5 0 0 72.5
E-n33-k4-s7-25 2 756.85 96.8 27.4 3 101.0 100.0 47.1 0 0 47.1
E-n33-k4-s14-22 2 779.05 98.7 26.0 3 100.0 100.0 31.7 0 0 31.7
E-n51-k5-s3-18 2 597.49 93.5 3.0 5 100.0 99.8 23.7 1 33,547 25.8
E-n51-k5-s5-47 2 530.76 98.1 3.1 4 101.6 99.8 25.9 1 34,110 27.5
E-n51-k5-s7-13 2 554.81 94.6 3.3 6 100.2 98.9 37.3 2 42,075 55.1
E-n51-k5-s12-20 2 581.64 95.5 3.1 3 100.5 99.3 27.1 1 39,033 44.3
E-n51-k5-s28-48 2 538.22 95.8 3.2 6 100.0 99.7 40.1 2 34,797 44.0
E-n51-k5-s33-38 2 552.28 95.4 3.8 3 100.0 100.0 13.6 0 0 13.6
E-n51-k5-s3-5-18-47 4 530.76 96.6 6.6 55 100.0 99.9 259.2 1 62,913 260.8
E-n51-k5-s7-13-33-38 4 531.92 94.7 7.6 68 100.0 99.4 263.6 1 68,796 266.6
E-n51-k5-s12-20-28-48 4 527.63 95.6 9.0 24 100.0 99.6 71.8 1 67,620 74.2

instances; among them, we only considered the 6 instances with 5 satellites and 100
customers.

We generated another set of 27 instances (called Set 6) by starting from the CVRP
instances E-n51-k5, E-n76-k10 and E-n101-k14 (available at http://branchandcut.
org/VRP/data). For each CVRP instance, we generated nine 2E-CVRP instances by
maintaining customer locations and demands and vehicle capacity (Q2 ) of the original
CVRP instance and by setting Q1 = 4Q2 . The 27 instances are divided in 3 classes (A,
B and C), where, in classes A and C, the depot is on the bottom-left-hand corner at
coordinates (1, 1) and, in class B, the depot location coincides with that of the original
CVRP instance. The number of satellites is 4, 5 or 6, and their locations coincide with
those of some customers. In class C, satellites are peripheral to customers, whereas,
in classes A and B, they are positioned in the middle of the customers.

Table 6.1 reports the details of the satellite coordinates of the 27 instances of the
Set 6. The table reports, for each instance, the name of the instance (N ame), the
number of satellites (nS ) and the list of the satellite coordinates. For each satellite
k ∈ NS , the index of the corresponding customer in the original CVRP instance and
the corresponding X and Y coordinates are reported.

In all instances, the handling costs are 0, and satellite capacities are unlimited (i.e.,
Hk = 0 and Wk = ∞, k ∈ NS ). Furthermore, in Sets 2, 3 and 5 the maximum
number of vehicles per satellite is unlimited (i.e., mk = ∞, k ∈ NS ). Set 4 was
treated differently by Jepsen et al. [2011] who considered the given upper bounds on
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 147

Table 6.3: Computational results on Set 3 instances

N ame ns z(F ) %LD1 tLD1 |P| %U B %LB tLB |P̄| rmax ttot
E-n22-k4-s13-14 2 526.15 96.4 0.4 4 100.0 100.0 2.1 0 0 2.1
E-n22-k4-s14-19 2 498.80 93.2 0.5 6 100.0 100.0 2.4 0 0 2.4
E-n22-k4-s13-16 2 521.09 94.9 0.4 4 100.0 100.0 2.8 0 0 2.8
E-n22-k4-s17-19 2 512.80 95.5 0.5 4 100.0 100.0 2.6 0 0 2.6
E-n22-k4-s13-17 2 496.38 96.8 0.5 1 100.0 100.0 1.2 0 0 1.2
E-n22-k4-s19-21 2 520.42 94.9 0.5 5 100.0 100.0 3.8 0 0 3.8
E-n33-k4-s22-26 2 680.37 94.7 28.2 3 100.1 99.8 71.8 1 23,690 73.3
E-n33-k4-s16-22 2 672.17 92.0 32.6 5 102.0 99.4 115.4 1 26,474 127.5
E-n33-k4-s16-24 2 666.02 94.6 38.0 5 100.1 99.9 125.2 1 23,040 128.4
E-n33-k4-s24-28 2 670.43 95.6 31.0 3 100.0 100.0 73.1 1 24,266 78.8
E-n33-k4-s19-26 2 680.37 94.0 27.3 3 100.1 99.6 70.8 2 22,549 72.8
E-n33-k4-s25-28 2 650.58 95.7 30.7 3 100.3 100.0 56.0 0 0 56.0
E-n51-k5-s13-19 2 560.73 95.6 3.3 5 100.0 99.6 43.8 2 34,800 48.0
E-n51-k5-s13-42 2 564.45 97.8 3.6 1 100.3 99.1 18.3 1 44,083 50.1
E-n51-k5-s13-44 2 564.45 96.8 3.2 3 101.4 99.0 29.7 1 50,444 73.0
E-n51-k5-s40-42 2 746.31 91.2 3.6 5 102.6 99.0 34.8 1 53,016 107.2
E-n51-k5-s41-42 2 771.56 97.7 5.7 2 100.1 98.9 36.9 1 315,861 2,078.6
E-n51-k5-s41-44 2 802.91 91.8 4.1 4 101.2 99.6 39.8 1 39,979 59.4

the maximum number of vehicles per satellite, mk , and Perboli et al. [2011] who ignored
such values. To compare BMRW with both JSR and PTV, we considered two versions
of Set 4, namely Set 4A and Set4B, where Set 4A corresponds to the original Set 4
whereas, in Set 4B, mk is unbounded (i.e., mk = ∞, k ∈ NS ).

Perboli et al. [2011] considered and solved to optimality 66 instances with 12 customers
and 2 satellites (therein Set 1), as well. We do not report the results of BMRW on
such instances because they were easily solved in a few seconds.

According to SPEC (http://www.spec.org/benchmarks.html), our machine is 10%


faster than the Intel(R) Xeon X5550 2.67 GHz with 24 GB of memory and 8 cores
used by JSR and twice as fast as the 3 GHz Pentium PC with 1 GB of Ram used by
PTV. A time limit of 10,000 seconds was imposed on PTV and JSR.

In testing BMRW, we used the following parameter settings. In procedure DP 1 , we


set ∆(Ni ) = 12, and we set M axit1 = 25,  = 1.0, M axit2 = 200, at Step 1, and
M axit1 = 10,  = 0.5, M axit2 = 100 at Step 3.c-(i). Moreover, we set ∆max = 106
and imposed a time limit of 5,000 seconds to solve problem F 0 (M ).

Tables 6.2-6.7 report the results obtained by BMRW on the 6 sets of instances. The
tables report the instance name, the number ns of satellites, the cost z(F ) of the
best solution found, the percentage ratio %LD1 of lower bound LD1 over z(F ) (i.e.,
%LD1 = 100 LD1/z(F )), the time tLD1 in seconds for computing LD1, the cardinality
|P| of the set P at the beginning of Step 3, the percentage ratio %U B of upper bound
zU B over z(F ), the percentage ratio %LB of lower bound LB over z(F ), the total time
tLB in seconds for computing LD1 and LB, the cardinality |P̄| of the set P̄, the value
of rmax , and finally the total computing time ttot in seconds. Whenever |P̄| > 0, the
148 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

difference ttot − tLB is the time spent by CPLEX for solving the problems F 0 (M ), for
all configurations M ∈ P̄.

Tables 6.8-6.10 compare BMRW with PTV and JSR. Under the headings “P T V ” and
“JSR”, we report the percentage ratio, over z(F ), of the upper bound (%U B) and
of the lower bound (%LB) achieved at the root node, the percentage gap (%gap)
between the best lower and upper bound computed, and the total computing time
(ttot ) in seconds. The values in columns z(F ) are in bold whenever the instances were
open before BMRW. The last lines of the tables reports, for each method, the number
of instances solved to optimality (in columns %gap), and, for JSR and BMRW, the
average percentage deviation of the upper and lower bounds (in columns %U B and
%LB) and the average computing time (in columns ttot ), computed over all instances
solved by JSR, that are a subset of the instances solved by BMRW.

Tables 6.2-6.7 show that BMRW solved to optimality 166 out of 180 instances. Columns
|P| and |P̄| show the effectiveness of both the procedure applied at Step 2 for gener-
ating the set P and the procedures applied at Steps 3.c-(i) and 3.c-(ii) for computing
valid lower bounds on z(F (M )). Notice that few problems F (M ) required solving by
CPLEX (see columns |P̄|). BMRW was able to solve 25 out of 33 instances of the Sets
5 and 6 (see Tables 6.6-6.7). On the other 8 instances, BMRW could not generate all
2nd -level routes required to solve some problems F (M ) to optimality because of the
gap between the computed lower and upper bounds.

On the Sets 2 and 3 (see Tables 6.8 and 6.9), BMRW solved to optimality all 39 in-
stances whereas PTV and JSR solved to optimality 13 and 32 instances, respectively.
Of the 54 instances of the Set 4A, BMRW and JSR solved 50 and 15 of them, respec-
tively. None of the 18 instances considered by PTV of Set 4B were solved to optimality
whereas 52 instances out of 54 were solved to optimality by BMRW. Tables 6.8-6.10
show that BMRW outperforms both PTV and JSR.

Finally, Tables 6.8 and 6.9 indicate that the heuristic algorithm described in §6.5.5
provided better solutions, on average, than the heuristic algorithms of PTV and JSR.

6.8 Conclusions

In this chapter, we proposed a new exact method for solving the two-echelon capac-
itated vehicle routing problem (2E-CVRP). We described a bounding procedure that
is used by the exact algorithm to decompose the 2E-CVRP into a limited set of multi-
depot capacitated vehicle routing problems (MDCVRP) with side constraints. The
optimal 2E-CVRP solution is obtained by solving the set of MDCVRPs generated.

The proposed method was tested on 180 instances, both taken from the literature and
newly generated, with up to 100 customers and 6 satellites. The new exact algorithm
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 149

Table 6.4: Computational results on Set 4A instances

N ame ns z(F ) %LD1 tLD1 |P| %U B %LB tLB |P̄| rmax ttot
Instance50-1 2 1,569.42 97.1 23.3 2 100.1 99.9 72.5 2 30,903 75.5
Instance50-2 2 1,438.33 95.8 14.6 3 100.9 99.6 110.7 2 44,411 161.9
Instance50-3 2 1,570.43 97.1 23.3 2 102.6 99.9 67.8 1 31,377 70.6
Instance50-4 2 1,424.04 96.4 20.2 2 101.7 99.4 59.6 1 44,211 101.8
Instance50-5 2 2,193.52 98.3 25.1 5 100.2 99.6 286.2 5 67,491 663.7
Instance50-6 2 1,279.87 95.2 18.5 2 100.0 100.0 42.7 0 0 42.7
Instance50-7 2 1,458.63 98.0 29.7 2 104.7 99.8 92.7 2 30,995 100.4
Instance50-8 2 1,363.74 95.5 20.8 3 100.1 99.5 199.2 2 404,659 2,261.9
Instance50-9 2 1,450.27 98.0 28.5 2 104.5 99.9 82.6 1 29,683 84.6
Instance50-10 2 1,407.65 92.9 22.9 2 100.3 99.6 71.9 1 52,513 112.9
Instance50-11 2 2,047.46 99.0 35.7 5 100.8 99.5 225.5 5 88,929 339.1
Instance50-12 2 1,209.42 93.1 25.0 2 100.1 100.0 69.4 0 0 69.4
Instance50-13 2 1,481.83 95.5 24.5 2 102.4 99.9 86.1 2 30,277 92.1
Instance50-14 2 1,393.61 93.6 21.8 3 100.9 99.4 126.2 2 181,889 1,188.3
Instance50-15 2 1,489.94 95.5 25.1 2 102.4 99.8 66.6 1 30,130 71.5
Instance50-16 2 1,389.17 95.0 16.1 2 101.1 99.8 56.0 1 36,097 62.6
Instance50-17 2 2,088.49 97.3 28.8 5 100.7 99.8 253.0 2 40,721 305.3
Instance50-18 2 1,227.61 93.1 16.9 2 100.0 99.3 60.5 1 49,390 117.2
Instance50-19 3 1,564.66 92.5 72.7 8 100.0 99.3 179.3 2 53,950 234.3
Instance50-20 3 1,272.97 93.7 24.5 8 101.3 99.1 59.4 1 84,784 140.1
Instance50-21 3 1,577.82 96.0 62.1 4 100.1 99.2 139.8 2 58,059 218.9
Instance50-22 3 1,281.83 95.1 33.9 8 101.4 100.0 76.2 1 50,177 79.2
Instance50-23 3 1,807.35 89.3 52.1 11 100.0 98.7 310.9 3 190,099 1,510.9
Instance50-24 3 1,282.68 95.1 28.6 14 100.0 100.0 80.0 0 0 80.0
Instance50-25 3 1,522.42 91.3 63.0 8 102.0 99.2 221.7 2 67,095 335.9
Instance50-26 3 1,167.46 97.2 27.1 1 100.2 99.9 51.9 1 49,094 54.0
Instance50-27 3 1,481.57 93.9 72.2 4 102.0 99.3 196.0 2 67,175 355.9
Instance50-28 3 1,210.44 93.2 38.3 10 100.0 100.0 279.5 1 55,285 295.6
Instance50-29 3 1,722.04 89.9 67.7 12 102.5 98.8 461.4 3 ∆max 9,092.9
Instance50-30 3 1,211.59 93.5 32.8 13 100.5 100.0 243.1 0 0 243.1
Instance50-31 3 1,490.34 91.8 65.1 8 102.2 98.1 325.9 4 ∆max 11,561.3
Instance50-32 3 1,199.00 94.1 25.9 7 100.1 98.7 262.7 1 619,322 4,009.4
Instance50-33 3 1,508.30 93.4 64.5 6 101.2 98.0 234.6 2 ∆max 12,922.3
Instance50-34 3 1,233.92 93.2 30.7 10 100.0 99.0 130.8 1 85,850 207.0
Instance50-35 3 1,718.41 87.6 63.9 12 100.1 98.3 619.9 5 ∆max 20,377.6
Instance50-36 3 1,228.89 93.3 28.6 14 100.0 99.3 121.6 1 59,745 154.1
Instance50-37 5 1,528.73 94.5 162.7 116 100.7 99.5 778.3 3 82,225 807.8
Instance50-38 5 1,169.20 93.9 52.5 134 100.9 99.0 429.3 1 253,662 1,648.2
Instance50-39 5 1,520.92 94.6 168.0 63 100.6 99.8 688.0 2 78,320 695.0
Instance50-40 5 1,199.42 90.3 55.4 66 101.6 99.6 986.8 2 99,764 996.4
Instance50-41 5 1,667.96 95.3 195.4 64 100.3 99.6 1,302.9 4 79,889 1,344.7
Instance50-42 5 1,194.54 95.2 50.5 61 101.6 99.4 177.3 1 94,931 223.2
Instance50-43 5 1,439.67 95.4 175.5 56 101.3 99.5 1,032.2 3 87,237 1,095.7
Instance50-44 5 1,045.13 95.6 84.4 100 100.2 99.8 424.1 1 90,132 435.8
Instance50-45 5 1,450.96 94.9 160.9 34 101.7 99.2 577.7 2 135,411 774.0
Instance50-46 5 1,088.77 91.8 68.0 62 100.2 99.3 1,150.5 5 131,810 1,345.4
Instance50-47 5 1,587.29 96.2 205.5 62 102.1 99.4 1,470.7 2 98,905 1,566.3
Instance50-48 5 1,082.20 96.7 56.7 6 101.1 100.0 91.0 0 0 91.0
Instance50-49 5 1,434.88 95.0 164.3 74 102.3 100.0 714.8 0 0 714.8
Instance50-50 5 1,083.12 93.2 55.1 134 100.5 99.1 869.1 1 239,534 1,337.0
Instance50-51 5 1,398.05 94.6 179.6 64 101.0 100.0 744.0 1 73,279 748.4
Instance50-52 5 1,125.67 90.3 52.0 65 101.5 99.0 1,231.9 7 167,299 1,533.7
Instance50-53 5 1,567.77 95.0 211.4 63 100.1 98.7 1,712.0 2 268,139 4,223.3
Instance50-54 5 1,127.61 94.1 48.3 58 100.2 98.9 343.4 1 414,080 1,041.6
150 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Table 6.5: Computational results on Set 4B instances

N ame ns z(F ) %LD1 tLD1 |P| %U B %LB tLB |P̄| rmax ttot
Instance50-1 2 1,569.42 95.0 39.2 3 101.5 100.0 113.3 2 31,196 117.0
Instance50-2 2 1,438.33 95.8 14.7 5 101.0 99.7 129.8 2 42,949 188.5
Instance50-3 2 1,570.43 95.1 38.9 3 101.5 100.0 95.1 1 31,017 97.8
Instance50-4 2 1,424.04 96.3 21.9 3 101.2 99.3 69.3 1 48,595 115.6
Instance50-5 2 2,193.52 98.3 40.8 7 100.2 99.6 326.6 5 62,190 631.5
Instance50-6 2 1,279.87 95.1 17.4 3 102.9 99.9 49.1 1 34,244 52.6
Instance50-7 2 1,408.57 98.5 41.5 3 101.6 99.9 73.0 1 31,607 76.5
Instance50-8 2 1,360.32 95.7 17.3 5 100.2 99.6 222.8 3 604,910 3,293.6
Instance50-9 2 1,403.53 98.7 40.0 3 103.3 99.9 80.3 1 35,515 81.7
Instance50-10 2 1,360.56 96.1 20.8 3 100.0 100.0 46.3 0 0 46.3
Instance50-11 2 2,047.46 99.0 50.6 7 100.8 99.5 296.8 6 88,960 450.8
Instance50-12 2 1,209.42 93.0 22.1 3 100.0 99.9 106.9 1 48,537 111.9
Instance50-13 2 1,450.93 96.1 44.1 3 102.3 100.0 94.1 0 0 94.1
Instance50-14 2 1,393.61 93.6 20.6 5 101.1 99.4 147.4 2 175,756 1,069.7
Instance50-15 2 1,466.83 95.5 39.7 3 101.1 99.9 103.4 1 29,552 106.0
Instance50-16 2 1,387.83 95.1 16.4 3 100.1 99.8 76.7 2 43,428 99.0
Instance50-17 2 2,088.49 97.3 44.3 7 100.6 99.8 306.0 2 38,365 358.3
Instance50-18 2 1,227.61 93.1 17.0 3 100.0 99.2 69.7 1 51,842 127.8
Instance50-19 3 1,546.28 93.7 86.3 16 101.2 99.2 262.5 1 60,815 293.4
Instance50-20 3 1,272.97 93.8 24.3 9 101.3 99.0 59.7 1 107,430 170.9
Instance50-21 3 1,577.82 96.0 85.6 12 100.8 99.2 199.8 2 58,718 250.9
Instance50-22 3 1,281.83 95.2 31.2 9 103.0 100.0 68.9 0 0 68.9
Instance50-23 3 1,652.98 96.6 83.6 7 102.0 100.0 193.7 0 0 193.7
Instance50-24 3 1,282.68 95.2 29.1 16 100.0 100.0 79.7 0 0 79.7
Instance50-25 3 1,408.57 98.2 87.2 7 101.9 99.9 150.9 1 45,580 155.0
Instance50-26 3 1,167.46 97.2 27.1 2 100.2 99.9 52.6 1 48,772 55.9
Instance50-27 3 1,444.51 96.5 93.1 8 102.3 99.9 194.2 1 44,411 198.1
Instance50-28 3 1,210.44 92.9 34.9 11 100.9 100.0 249.6 0 0 249.6
Instance50-29 3 1,552.66 96.7 104.4 7 103.0 100.0 257.3 1 48,508 258.4
Instance50-30 3 1,211.59 93.2 38.6 16 100.5 99.9 239.9 1 61,768 245.9
Instance50-31 3 1,440.86 94.8 87.5 13 101.2 100.0 262.2 0 0 262.2
Instance50-32 3 1,199.00 94.1 31.1 8 100.1 98.7 116.9 1 579,861 3,812.3
Instance50-33 3 1,478.86 95.4 86.0 11 101.5 99.0 239.6 1 121,197 467.9
Instance50-34 3 1,233.92 93.1 27.6 11 101.1 99.1 166.6 1 131,443 287.7
Instance50-35 3 1,570.72 94.7 95.5 7 102.4 98.9 332.0 3 221,318 1,299.7
Instance50-36 3 1,228.89 93.1 26.8 16 100.0 99.2 126.2 1 72,167 180.1
Instance50-37 5 1,528.73 93.7 206.7 223 102.0 97.9 1,520.3 10 ∆max 14,522.3
Instance50-38 5 1,163.07 94.6 78.8 153 100.0 99.1 485.7 3 229,650 1,163.0
Instance50-39 5 1,520.92 93.1 212.4 112 100.3 98.8 1,097.6 7 126,528 1,791.0
Instance50-40 5 1,163.04 93.0 59.2 82 101.3 99.6 312.8 1 96,251 348.0
Instance50-41 5 1,652.98 95.3 266.4 117 101.0 99.6 2,229.6 14 153,550 2,370.6
Instance50-42 5 1,190.17 95.5 55.5 75 101.9 99.2 238.4 2 132,823 432.4
Instance50-43 5 1,406.11 95.2 210.3 79 101.3 99.6 1,065.4 1 94,023 1,098.4
Instance50-44 5 1,035.03 96.4 67.0 93 100.9 100.0 382.9 1 84,919 387.2
Instance50-45 5 1,401.87 95.3 187.3 55 102.7 99.6 464.7 1 82,077 484.7
Instance50-46 5 1,058.11 94.7 83.5 65 100.4 100.0 426.9 0 0 426.9
Instance50-47 5 1,552.66 95.8 260.8 103 103.0 100.0 1,220.1 2 146,044 1,227.0
Instance50-48 5 1,074.50 97.3 60.0 6 100.5 99.9 121.4 1 74,056 125.5
Instance50-49 5 1,434.88 94.4 217.4 142 101.1 98.1 1,498.7 8 ∆max 13,940.3
Instance50-50 5 1,065.25 94.8 89.2 126 100.0 99.9 500.7 1 83,400 508.0
Instance50-51 5 1,387.51 93.9 225.0 92 102.2 98.9 845.9 2 113,910 1,299.1
Instance50-52 5 1,103.42 92.0 56.0 81 100.1 99.4 788.8 1 109,254 846.0
Instance50-53 5 1,545.73 95.2 283.1 97 101.6 99.0 2,113.7 3 232,398 2,395.8
Instance50-54 5 1,113.62 95.2 51.4 36 100.8 99.0 232.0 2 222,523 1,027.9
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 151

Table 6.6: Computational results on Set 5 instances

N ame ns z(F ) %LD1 tLD1 |P| %U B %LB tLB |P̄| rmax ttot
2eVRP 100-5-1 5 1,564.46 97.9 16.5 44 102.1 99.3 381.8 5 147,996 9,359.6
2eVRP 100-5-1b 5 1,142.53 93.8 36.5 60 100.0 94.6 1,339.2 10 ∆max 24,028.9
2eVRP 100-5-2 5 1,016.32 95.6 15.2 197 100.6 99.1 928.8 19 156,424 10,517.6
2eVRP 100-5-2b 5 796.53 95.2 29.9 100 100.0 96.6 1,750.8 10 ∆max 26,099.7
2eVRP 100-5-3 5 1,045.29 97.5 16.3 50 100.3 99.2 262.5 13 137,379 2,930.2
2eVRP 100-5-3b 5 833.94 95.7 39.7 95 100.0 97.6 1,475.1 8 ∆max 32,693.8

Table 6.7: Computational results on Set 6 instances

N ame ns z(F ) %LD1 tLD1 |P| %U B %LB tLB |P̄| rmax ttot
A-n51-4 4 652.00 94.6 6.7 16 100.3 99.7 108.0 4 55,040 119.1
A-n51-5 5 663.41 95.7 10.4 81 100.3 99.7 149.8 2 64,146 154.8
A-n51-6 6 662.51 94.9 15.9 246 100.6 100.0 262.8 0 0 263.1
A-n76-4 4 985.95 95.9 16.1 71 101.9 99.4 267.6 2 78,465 343.7
A-n76-5 5 979.15 95.8 27.6 281 101.8 99.6 818.9 4 91,512 857.2
A-n76-6 6 970.20 95.8 46.0 1,391 101.8 99.5 3,215.2 8 108,558 3,327.4
A-n101-4 4 1,194.17 95.9 52.7 120 101.0 99.2 1,709.6 11 461,313 5,971.3
A-n101-5 5 1,211.38 96.6 43.7 647 102.5 99.4 3,540.3 4 234,285 4,823.3
A-n101-6 6 1,158.98 95.8 91.9 4,814 101.7 98.7 24,851.2 51 ∆max 118,077.4
B-n51-4 4 563.98 96.0 6.6 10 101.1 98.8 30.3 1 87,968 56.8
B-n51-5 5 549.23 94.8 9.7 64 101.0 99.0 105.8 1 100,364 130.9
B-n51-6 6 556.32 94.3 15.5 106 100.0 100.0 125.5 0 0 125.6
B-n76-4 4 792.73 94.5 12.4 23 102.1 99.3 257.9 2 119,142 333.7
B-n76-5 5 783.93 94.0 21.3 167 101.5 99.3 572.2 1 144,513 610.8
B-n76-6 6 774.17 94.4 32.6 877 102.2 99.6 2,023.2 2 164,489 2,075.0
B-n101-4 4 939.21 97.3 42.1 10 102.0 98.9 195.7 1 485,177 2,512.5
B-n101-5 5 967.82 94.8 37.3 587 102.1 99.1 4,772.3 7 331,423 7,058.8
B-n101-6 6 960.29 96.2 76.9 456 103.0 99.1 1,970.4 4 273,755 3,772.4
C-n51-4 4 689.18 95.5 6.7 26 100.3 99.4 54.2 1 51,909 78.3
C-n51-5 5 723.12 93.6 10.3 64 100.3 98.9 81.4 1 125,120 431.6
C-n51-6 6 697.00 94.4 16.3 126 101.1 99.4 145.8 1 76,426 166.0
C-n76-4 4 1,054.89 94.9 15.5 66 102.9 99.1 290.7 4 108,471 454.3
C-n76-5 5 1,115.32 92.5 21.6 303 103.0 99.2 1,089.2 6 136,054 1,817.0
C-n76-6 6 1,064.72 92.2 31.7 1,449 101.7 97.8 4,786.7 20 ∆max 47,840.9
C-n101-4 4 1,305.68 95.0 49.3 116 101.7 98.4 1,392.8 10 ∆max 29,626.4
C-n101-5 5 1,309.42 96.4 84.4 206 101.6 98.6 1,203.2 2 ∆max 10,865.1
C-n101-6 6 1,284.48 96.2 94.6 1,373 103.3 98.7 6,804.4 8 ∆max 27,969.4

solved to optimality 144 out of the 153 instances from literature and closed 97 of them
for the first time. The comparison with the state-of-the-art exact methods from the
literature show that new exact method outperforms the other exact methods in terms
of size, number of problems solved to optimality, and computing time.
152 Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem

Table 6.8: Comparison with the exact methods PTV and JSR on Set 2 instances

PTV JSR BM RW
N ame z(F ) %U B %gap %U B %LB %gap ttot %U B %LB tLB %gap ttot
E-n22-k4-s6-17 417.07 100.0 0.0 100.0 96.7 0.0 0.2 100.0 100.0 0.5 0.0 0.5
E-n22-k4-s8-14 384.96 106.0 0.0 100.0 98.0 0.0 1.0 100.0 100.0 0.7 0.0 0.7
E-n22-k4-s9-19 470.60 100.0 0.0 113.1 90.4 0.0 12.4 100.0 100.0 1.2 0.0 1.2
E-n22-k4-s10-14 371.50 117.3 0.0 100.0 96.8 0.0 1.2 100.0 100.0 0.5 0.0 0.5
E-n22-k4-s11-12 427.22 100.0 0.0 104.1 94.7 0.0 3.2 100.5 100.0 1.3 0.0 1.3
E-n22-k4-s12-16 392.78 108.4 0.0 100.0 95.9 0.0 2.0 100.0 100.0 1.0 0.0 1.1
E-n33-k4-s1-9 730.16 100.9 0.0 100.0 87.3 0.0 49.4 100.0 100.0 37.6 0.0 37.6
E-n33-k4-s2-13 714.63 103.0 1.5 100.0 89.4 0.0 34.2 100.0 100.0 34.9 0.0 34.9
E-n33-k4-s3-17 707.48 104.5 1.7 113.2 91.0 0.0 1,126.8 105.8 100.0 48.1 0.0 48.1
E-n33-k4-s4-5 778.74 104.9 1.5 100.0 87.6 0.0 54.9 100.9 100.0 72.5 0.0 72.5
E-n33-k4-s7-25 756.85 100.0 1.6 100.0 86.0 0.0 87.5 101.0 100.0 47.1 0.0 47.1
E-n33-k4-s14-22 779.05 100.0 1.6 105.9 88.0 0.0 2.4 100.0 100.0 31.7 0.0 31.7
E-n51-k5-s3-18 597.49 100.0 2.6 100.0 92.6 4.5 - 100.0 99.8 23.7 0.0 25.8
E-n51-k5-s5-47 530.76 102.3 1.8 102.4 97.0 0.0 13.3 101.6 99.8 25.9 0.0 27.5
E-n51-k5-s7-13 554.81 100.0 4.1 100.0 94.4 1.6 - 100.2 98.9 37.3 0.0 55.1
E-n51-k5-s12-20 581.64 100.4 3.7 104.2 94.2 0.0 213.6 100.5 99.3 27.1 0.0 44.3
E-n51-k5-s28-48 538.22 100.0 2.0 100.0 95.5 0.8 - 100.0 99.7 40.1 0.0 44.0
E-n51-k5-s33-38 552.28 104.7 0.7 100.0 95.8 0.0 2,114.0 100.0 100.0 13.6 0.0 13.6
E-n51-k5-s3-5-18-47 530.76 102.2 2.8 103.3 94.4 0.0 84.0 100.0 99.9 259.2 0.0 260.8
E-n51-k5-s7-13-33-38 531.92 107.5 3.6 102.7 94.6 0.0 3,642.8 100.0 99.4 263.6 0.0 266.6
E-n51-k5-s12-20-28-48 527.63 113.8 1.5 109.4 95.5 0.0 798.7 100.0 99.6 71.8 0.0 74.2
Avg./Solved 103.6 7 102.8 93.1 18 457.9 100.5 99.8 21 53.6

Table 6.9: Comparison with the exact methods PTV and JSR on Set 3 instances

PTV JSR BM RW
N ame z(F ) %U B %gap %U B %LB %gap ttot %U B %LB tLB %gap ttot
E-n22-k4-s13-14 526.15 100.1 0.0 102.2 98.2 0.0 3.2 100.0 100.0 2.1 0.0 2.1
E-n22-k4-s14-19 498.80 105.0 0.0 105.0 91.1 0.0 61.2 100.0 100.0 2.4 0.0 2.4
E-n22-k4-s13-16 521.09 100.0 0.0 101.0 98.2 0.0 2.3 100.0 100.0 2.8 0.0 2.8
E-n22-k4-s17-19 512.80 100.0 0.0 104.8 93.8 0.0 8.0 100.0 100.0 2.6 0.0 2.6
E-n22-k4-s13-17 496.38 100.0 0.0 100.0 93.4 0.0 1.1 100.0 100.0 1.2 0.0 1.2
E-n22-k4-s19-21 520.42 101.4 0.0 101.4 95.4 0.0 5.5 100.0 100.0 3.8 0.0 3.8
E-n33-k4-s22-26 680.37 100.0 4.2 101.5 91.0 0.0 6.3 100.1 99.8 71.8 0.0 73.3
E-n33-k4-s16-22 672.17 100.0 5.7 113.2 93.0 2.1 - 102.0 99.4 115.4 0.0 127.5
E-n33-k4-s16-24 666.02 100.4 6.0 100.0 96.4 0.0 747.4 100.1 99.9 125.2 0.0 128.4
E-n33-k4-s24-28 670.43 103.3 5.6 100.0 94.8 0.0 17.6 100.0 100.0 73.1 0.0 78.8
E-n33-k4-s19-26 680.37 100.0 4.7 109.2 89.4 0.0 26.4 100.1 99.6 70.8 0.0 72.8
E-n33-k4-s25-28 650.58 100.0 5.3 100.0 92.6 0.0 158.2 100.3 100.0 56.0 0.0 56.0
E-n51-k5-s13-19 560.73 100.0 95.5 0.0 1,007.9 100.0 99.6 43.8 0.0 48.0
E-n51-k5-s13-42 564.45 106.1 96.6 0.0 208.3 100.3 99.1 18.3 0.0 50.1
E-n51-k5-s13-44 564.45 107.6 96.8 0.0 288.5 101.4 99.0 29.7 0.0 73.0
E-n51-k5-s40-42 746.31 100.9 88.9 7.5 - 102.6 99.0 34.8 0.0 107.2
E-n51-k5-s41-42 771.56 100.5 95.1 0.6 - 100.1 98.9 36.9 0.0 2,078.6
E-n51-k5-s41-44 802.91 100.0 89.7 7.0 - 101.2 99.6 39.8 0.0 59.4
Avg./Solved 100.8 6 103.0 93.9 14 181.6 100.5 99.7 18 42.5
Chapter 6 Two-Echelon Capacitated Vehicle Routing Problem 153

Table 6.10: Comparison with the exact method JSR on Set 4A instances

JSR BM RW
N ame ns z(F ) %U B %LB %gap ttot %U B %LB tLB %gap ttot
Instance50-1 2 1,569.42 112.9 91.2 1.7 - 100.1 99.9 72.5 0.0 75.5
Instance50-2 2 1,438.33 100.0 91.5 0.0 1,146.7 100.9 99.6 110.7 0.0 161.9
Instance50-3 2 1,570.43 112.7 88.7 1.6 - 102.6 99.9 67.8 0.0 70.6
Instance50-4 2 1,424.04 100.0 90.1 0.9 - 101.7 99.4 59.6 0.0 101.8
Instance50-5 2 2,193.52 100.3 85.6 0.4 - 100.2 99.6 286.2 0.0 663.7
Instance50-6 2 1,279.87 100.0 97.2 0.0 4,463.4 100.0 100.0 42.6 0.0 42.7
Instance50-7 2 1,458.63 114.2 89.9 1.5 - 104.7 99.8 92.7 0.0 100.4
Instance50-8 2 1,363.74 100.0 91.8 0.0 1,164.5 100.1 99.5 199.2 0.0 2,261.9
Instance50-9 2 1,450.27 113.9 89.8 1.3 - 104.5 99.9 82.6 0.0 84.6
Instance50-10 2 1,407.65 101.0 98.4 0.0 3,933.1 100.3 99.6 71.9 0.0 112.9
Instance50-11 2 2,047.46 100.9 89.7 0.6 - 100.8 99.5 225.5 0.0 339.1
Instance50-12 2 1,209.42 100.0 95.7 0.0 22.3 100.1 100.0 69.4 0.0 69.4
Instance50-13 2 1,481.83 111.9 91.7 1.2 - 102.4 99.9 86.1 0.0 92.1
Instance50-14 2 1,393.61 101.6 91.2 0.1 - 100.9 99.4 126.2 0.0 1,188.3
Instance50-15 2 1,489.94 111.8 91.7 1.1 - 102.4 99.8 66.6 0.0 71.5
Instance50-16 2 1,389.17 100.0 91.0 0.0 1,045.1 101.1 99.8 56.0 0.0 62.6
Instance50-17 2 2,088.49 100.4 85.7 0.1 - 100.7 99.8 253.0 0.0 305.3
Instance50-18 2 1,227.61 100.0 96.5 0.0 8,130.1 100.0 99.3 60.5 0.0 117.2
Instance50-19 3 1,564.66 109.8 82.2 0.5 - 100.0 99.3 179.3 0.0 234.3
Instance50-20 3 1,272.97 116.6 93.2 0.6 - 101.3 99.1 59.4 0.0 140.1
Instance50-21 3 1,577.82 106.8 88.5 0.4 - 100.1 99.2 139.8 0.0 218.9
Instance50-22 3 1,281.83 105.1 86.2 0.0 8,636.7 101.4 100.0 76.2 0.0 79.2
Instance50-23 3 1,807.35 100.0 83.2 10.0 - 100.0 98.7 310.9 0.0 1,510.9
Instance50-24 3 1,282.68 101.8 93.9 0.0 6,559.9 100.0 100.0 79.9 0.0 80.0
Instance50-25 3 1,522.42 100.8 83.7 1.2 - 102.0 99.2 221.7 0.0 335.9
Instance50-26 3 1,167.46 113.4 95.1 0.0 66.4 100.2 99.9 51.9 0.0 54.0
Instance50-27 3 1,481.57 107.0 86.4 1.0 - 102.0 99.3 196.0 0.0 355.9
Instance50-28 3 1,210.44 104.1 86.7 0.0 2,046.0 100.0 100.0 279.5 0.0 295.6
Instance50-29 3 1,722.04 100.9 80.5 0.8 - 102.5 98.8 461.4 1.2 9,092.9
Instance50-30 3 1,211.59 101.8 92.1 0.0 17.4 100.5 100.0 243.1 0.0 243.1
Instance50-31 3 1,490.34 109.7 90.3 1.5 - 102.2 98.1 325.9 1.9 11,561.3
Instance50-32 3 1,199.00 104.8 86.9 0.5 - 100.1 98.7 262.7 0.0 4,009.4
Instance50-33 3 1,508.30 105.3 82.7 1.3 - 101.2 98.0 234.6 2.0 12,922.3
Instance50-34 3 1,233.92 102.5 85.6 0.1 - 100.0 99.0 130.8 0.0 207.0
Instance50-35 3 1,718.41 100.3 79.3 1.2 - 100.1 98.3 619.9 1.7 20,377.6
Instance50-36 3 1,228.89 100.1 85.8 0.0 2,038.2 100.0 99.3 121.6 0.0 154.1
Instance50-37 5 1,528.73 108.7 82.6 2.9 - 100.7 99.5 778.3 0.0 807.8
Instance50-38 5 1,169.20 108.2 82.6 0.2 - 100.9 99.0 429.3 0.0 1,648.2
Instance50-39 5 1,520.92 106.4 84.6 0.4 - 100.6 99.8 688.0 0.0 695.0
Instance50-40 5 1,199.42 101.0 81.5 2.6 - 101.6 99.6 986.8 0.0 996.4
Instance50-41 5 1,667.96 108.1 86.6 1.4 - 100.3 99.6 1,302.9 0.0 1,344.7
Instance50-42 5 1,194.54 112.8 83.3 1.2 - 101.6 99.4 177.3 0.0 223.2
Instance50-43 5 1,439.67 113.3 87.4 1.7 - 101.3 99.5 1,032.2 0.0 1,095.7
Instance50-44 5 1,045.13 109.5 80.4 0.0 144.0 100.2 99.8 424.1 0.0 435.8
Instance50-45 5 1,450.96 108.5 82.1 1.0 - 101.7 99.2 577.7 0.0 774.0
Instance50-46 5 1,088.77 101.7 77.4 1.0 - 100.2 99.3 1,150.5 0.0 1,345.4
Instance50-47 5 1,587.29 109.7 83.5 1.0 - 102.1 99.4 1,470.7 0.0 1,566.3
Instance50-48 5 1,082.20 115.8 86.1 0.0 133.4 101.1 100.0 91.0 0.0 91.0
Instance50-49 5 1,434.88 108.4 84.3 2.1 - 102.3 100.0 714.7 0.0 714.8
Instance50-50 5 1,083.12 105.4 77.9 1.7 - 100.5 99.1 869.1 0.0 1,337.0
Instance50-51 5 1,398.05 106.6 82.3 4.6 - 101.0 100.0 744.0 0.0 748.4
Instance50-52 5 1,125.67 100.2 81.0 1.1 - 101.5 99.0 1,231.9 0.0 1,533.7
Instance50-53 5 1,567.77 109.4 83.8 1.3 - 100.1 98.7 1,712.0 0.0 4,223.3
Instance50-54 5 1,127.61 110.6 88.2 0.9 - 100.2 98.9 343.4 0.0 1,041.6
Avg./Solved 105.9 87.1 15 2,599.1 101.0 99.4 50 276.0
Bibliography

Z. Akca, R. T. Berger, and T. K. Ralphs. A branch-and-price algorithm for com-


bined location and routing problems under capacity restrictions. In J. W. Chinneck,
B. Kristjansson, M. J. Saltzman, R. Sharda, S. Voß, and R. Sharda, editors, Oper-
ations Research and Cyber-Infrastructure, volume 47 of Operations Research/Com-
puter Science Interfaces Series, pages 309–330. Springer US, 2009.

F. Alonso, M. J. Alvarez, and J. E. Beasley. A tabu search algorithm for the periodic
vehicle routing problem with multiple vehicle trips and accessibility restrictions.
Journal of the Operational Research Society, 59(7):963–976, 2008.

D. Applegate, R. E. Bixby, V. Chvátal, and W. Cook. Concorde - a code for solv-


ing traveling salesman problems. Release, 12 1999. http://www.tsp.gatech.edu/
concorde/downloads/downloads.htm.

D. L. Applegate, R. E. Bixby, V. Chvátal, and W. J. Cook. The traveling salesman


problem: a computational study. Princeton Series in Applied Mathematics. Princeton
University Press, Princeton, NJ, USA, 2007.

L. Art and H. Mauch. Dynamic Programming A Computational Tool. Studies in


Computational Intelligence. Springer, Berlin / Heidelberg, 2007.

N. Ascheuer, M. Fischetti, and M. Grötschel. A polyhedral study of the asymmetric


traveling salesman problem with time windows. Networks, 36(2):69–79, 2000.

N. Ascheuer, M. Fischetti, and M. Grötschel. Solving the asymmetric travelling sales-


man problem with time windows by branch-and-cut. Mathematical Programming,
Series A, 90(3):475–506, 2001.

P. Augerat. Approche polyédrale du problème de tournées de véhicules. PhD thesis,


Institut National Polytechnique de Grenoble, 1995.

P. J. Augerat, M. Belenguer, E. Benavent, A. Corberán, D. Naddef, and G. Rinaldi.


Computational results with a branch and cut code for the capacitated vehicle routing
problem. Technical Report 1RR949-M, ARTEMIS-IMAG, Grenoble, France, 1995.

N. Azi, M. Gendreau, and J.-Y. Potvin. An exact algorithm for a vehicle routing prob-
lem with time windows and multiple use of vehicles. European Journal of Operational
Research, 202(3):756–763, 2010.
155
156 BIBLIOGRAPHY

E. Baker. An exact algorithm for the time-constrained traveling salesman problem.


Operations Research, 31(5):938–945, 1983.

E. Balas. The asymmetric assignment problem and some new facets of the traveling
salesman polytope on a directed graph. SIAM Journal on Discrete Mathematics, 2
(4):425–451, 1989.

E. Balas. Personal communication, 2000.

E. Balas and N. Christofides. A restricted Lagrangean approach to the traveling sales-


man problem. Mathematical Programming, Series A, 21(1):19–46, 1981.

E. Balas and N. Simonetti. Linear time dynamic-programming algorithms for new


classes of restricted TSPs: a computational study. INFORMS Journal on Comput-
ing, 13(1):56–75, 2001.

E. Balas and P. Toth. Branch and bound methods. In E. Lawler, J. Lenstra, A. Rin-
nooy Kan, and D. Shmoys, editors, The Traveling Salesman Problem: A Guided
Tour of Combinatorial Optimization, pages 361–401. Wiley, Chichester, 1985.

R. Baldacci and A. Mingozzi. A unified exact method for solving different classes
of vehicle routing problems. Mathematical Programming, Series A, 120(2):347–380,
2009.

R. Baldacci, E. Hadjiconstantinou, and A. Mingozzi. An exact algorithm for the capac-


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

R. Baldacci, L. D. Bodin, and A. Mingozzi. The multiple disposal facilities and multiple
inventory locations rollon-rolloff vehicle routing problem. Computers & Operations
Research, 33(9):2667–2702, 2006.

R. Baldacci, N. Christofides, and A. Mingozzi. An exact algorithm for the vehicle


routing problem based on the set partitioning formulation with additional cuts.
Mathematical Programming, Series A, 115(2):351–385, 2008.

R. Baldacci, E. Bartolini, A. Mingozzi, and R. Roberti. An exact solution framework


for a broad class of vehicle routing problems. Computational Management Science,
7(3):229–268, 2010.

R. Baldacci, A. Mingozzi, and R. Roberti. New route relaxation and pricing strategies
for the vehicle routing problem. Operations Research, 59(5):1269–1283, 2011a.

R. Baldacci, A. Mingozzi, and R. Roberti. New state-space relaxation for solving the
TSPTW. INFORMS Journal on Computing, 2011b.

R. Baldacci, A. Mingozzi, and R. Wolfler Calvo. An exact method for the capacitated
location-routing problem. Operations Research, 59(5):1284–1296, 2011c.
BIBLIOGRAPHY 157

R. Baldacci, A. Mingozzi, and R. Roberti. Recent exact algorithms for solving the
vehicle routing problem under capacity and time window constraints. European
Journal of Operational Research, 218(1):1–6, 2012a.

R. Baldacci, A. Mingozzi, R. Roberti, and R. Wolfler Calvo. An exact algorithm for the
two-echelon capacitated vehicle routing problem. Submitted for publication, 2012b.

J.-M. Belenguer, E. Benavent, C. Prins, C. Prodhon, and R. Wolfler Calvo. A branch-


and-cut method for the capacitated location-routing problem. Computers & Opera-
tions Research, 38(6):931–941, 2011.

R. E. Bellman. Dynamic Programming. Princeton University Press, U.S.A., 1957.

M. Bellmore and J. C. Malone. Pathology of traveling-salesman subtour-elimination


algorithms. Operations Research, 19(2):278–307, 1971.

D. P. Bertsekas. Dynamic programming and optimal control, volume 1 of Athena


Scientific optimization and computation series. Athena Scientific, 1995.

D. P. Bertsekas. Dynamic programming and optimal control, volume 2 of Athena


Scientific optimization and computation series. Athena Scientific, 2000.

R. G. Bland and D. F. Shallcross. Large traveling salesman problems arising experi-


ments in x-ray crystallography: A preliminary report on computation. Operations
Research Letters, 8(3):125–128, 1989.

M. A. Boschetti, A. Mingozzi, and S. Ricciardelli. A dual ascent procedure for the set
partitioning problem. Discrete Optimization, 5(4):735–747, 2008.

J. C. S. Brandão and A. Mercer. A tabu search algorithm for the multi-trip vehicle
routing and scheduling problem. European Journal of Operational Research, 100(1):
180–191, 1997.

J. C. S. Brandão and A. Mercer. The multi-trip vehicle routing problem. Journal of


the Operational Research Society, 49(8):799–805, 1998.

G. Carpaneto and P. Toth. Some new branching and bounding criteria for the asym-
metric travelling salesman problem. Management Science, 26(7):736–743, 1980.

G. Carpaneto and P. Toth. Primal-dual algorithms for the assignment problem. Dis-
crete Applied Mathematics, 18(2):137–153, 1987.

G. Carpaneto, M. Dell’Amico, and P. Toth. Exact solution of large-scale asymmetric


traveling salesman problems. ACM Transactions on Mathematical Software, 21(4):
394–409, 1995.

A. Chabrier. Vehicle routing problem with elementary shortest path based column
generation. Computers & Operations Research, 33(10):2972–2990, 2006.
158 BIBLIOGRAPHY

I.-M. Chao. A tabu search method for the truck and trailer routing problem. Computers
& Operations Research, 29(1):33–51, 2002.

N. Christofides. The traveling salesman problem: a guided tour of combinatorial opti-


mization, chapter Vehicle Routing, pages 431–448. Wiley, Chichester, UK, 1985.

N. Christofides, A. Mingozzi, and P. Toth. The vehicle routing problem. In


N. Christofides, A. Mingozzi, P. Toth, and C. Sandi, editors, Combinatorial Op-
timization, pages 315–338. John Wiley & Sons, Chichester, UK, 1979.

N. Christofides, A. Mingozzi, and P. Toth. An algorithm for the time constrained


travelling salesman problem. Technical Report IC OR 8125, Imperial College, 1981a.

N. Christofides, A. Mingozzi, and P. Toth. Exact algorithms for the vehicle rout-
ing problem, based on spanning tree and shortest path relaxation. Mathematical
Programming, Series A, 20(1):255–280, 1981b.

N. Christofides, A. Mingozzi, and P. Toth. State-space relaxation procedures for the


computation of bounds to routing problems. Networks, 11(2):145–164, 1981c.

G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot to a number


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

A. Claus. A new formulation for the travelling salesman problem. SIAM Journal on
Algebraic and Discrete Methods, 5(1):21–25, 1984.

T. G. Crainic and G. Laporte. Fleet management and logistics. Center for Research
on Transportation 25th anniversary series, 1971-1996. Kluwer, 1998.

T. G. Crainic, S. Mancini, G. Perboli, and R. Tadei. Clustering-based heuristics for


the two-echelon vehicle routing problem. Technical Report CIRRELT-2008-46, CIR-
RELT, Montreal, Canada, November 2008.

T. G. Crainic, S. Mancini, G. Perboli, and R. Tadei. Two-echelon vehicle routing


problem: a satellite location analysis. Procedia - Social and Behavioral Sciences, 2
(3):5944–5955, 2010.

T. G. Crainic, S. Mancini, G. Perboli, and R. Tadei. Multi-start heuristics for the


two-echelon vehicle routing problem. In P. Merz and J.-K. Hao, editors, Evolution-
ary Computation in Combinatorial Optimization, volume 6622 of Lecture Notes in
Computer Science, pages 179–190. Springer Berlin / Heidelberg, 2011.

R. F. da Silva and S. Urrutia. A general VNS heuristic for the traveling salesman
problem with time windows. Discrete Optimization, 7(4):203–211, 2010.

C. D’Ambrosio, A. Lodi, and S. Martello. Combinatorial traveling salesman problem


algorithms. In Wiley Encyclopedia of Operations Research and Management Science,
volume 1, pages 738–747. Wiley, 2010.
BIBLIOGRAPHY 159

E. Danna and C. Pape. Branch-and-price heuristics: a case study on the vehicle routing
problem with time windows. In G. Desaulniers, J. Desrosiers, and M. M. Solomon,
editors, Column Generation, pages 99–129. Springer US, springer edition, 2005.

G. B. Dantzig and J. H. Ramser. The truck dispatching problem. Management Science,


6(1):80–91, 1959.

G. B. Dantzig, D. R. Fulkerson, and S. M. Johnson. Solutions of a large-scale traveling-


salesman problem. Operations Research, 2(4):393–410, 1954.

S. Dash, O. Günlük, A. Lodi, and A. Tramontani. A time bucket formulation for the
traveling salesman problem with time windows. INFORMS Journal on Computing,
24(1):132–147, 2012.

M. S. Daskin. Network and Discrete Location: Models Algorithms and Applications.


John Wiley & Sons, New York, 1995.

G. Desaulniers, J. Desrosiers, and M. M. Solomon. Column generation. Business and


Economics. Springer US, 2005.

G. Desaulniers, F. Lessard, and A. Hadjar. Tabu search, partial elementarity, and


generalized k-path inequalities for the vehicle routing problem with time windows.
Transportation Science, 42(3):387–404, 2008.

M. Desrochers and G. Laporte. Improvements and extensions to the Miller-Tucker-


Zemlin subtour elimination constraints. Operations Research Letters, 10(1):27–36,
1990.

M. Desrochers, J. Desrosiers, and M. M. Solomon. A new optimization algorithm for


the vehicle-routing problem with time windows. Operations Research, 40(2):342–354,
1992.

Z. Drezner. Facility location: a survey of applications and methods. Springer series in


operations research. Springer, 1995.

M. Dror and P. Trudeau. Split delivery routing. Naval Research Logistics, 37:383–402,
1990.

Y. Dumas, J. Desrosiers, E. Gélinas, and M. M. Solomon. An optimal algorithm for the


traveling salesman problem with time windows. Operations Research, 43(2):367–371,
1995.

J. Edmonds. Optimum branchings. Journal of Research of the National Bureau of


Standards, Sec. B, 71B(4):233–240, 1967.

M. A. Efroymson and T. L. Ray. A branch-bound algorithm for plant location. Oper-


ations Research, 14(3):361–368, 1966.

S. Eilon and N. Christofides. Distribution Management. Hafner Press, 1971.


160 BIBLIOGRAPHY

H. A. Eiselt and G. Laporte. A combinatorial optimization problem arising in dart-


board design. Journal of the Operational Research Society, 42(2):113–118, 1991.

H. A. Eiselt and V. Marianov. Foundations of Location Analysis. International Series


in Operations Research & Management Science. Springer, 2011.

Eurostat. Panorama of Transport. Publications Office of the European Union, 2009.

Eurostat. Energy, transport and environment indicators. Pocketbooks. Publications


Office of the European Union, 2011.

R. Z. Farahani and M. Hekmatfar. Facility Location: Concepts, Models, Algorithms


and Case Studies. Contributions to Management Science. Physica-Verlag, 2009.

D. Feillet, P. Dejax, M. Gendreau, and C. Gueguen. An exact algorithm for the


elementary shortest path problem with resource constraints: application to some
vehicle routing problems. Networks, 44(3):216–229, 2004.

G. Finke, A. Claus, and E. Gunn. A two-commodity network flow approach to the


traveling salesman problem. Congressus Numerantium, 41:167–178, 1984.

M. L. Fischer. Vehicle routing. In Network Routing, volume 8 of Handbook in Oper-


ations Research and Management Science, pages 1–33. North-Holland, Amsterdan,
1995.

M. Fischetti. Facets of the asymmetric traveling salesman polytope. Mathematics of


Operations Research, 16(1):42–56, 1991.

M. Fischetti and E. Balas. A lifting procedure for the asymmetric traveling salesman
polytope and a large new class of facets. Mathematical Programming, Series A, 58
(1-3):325–352, 1993.

M. Fischetti and P. Toth. An additive bounding procedure for combinatorial optimiza-


tion problems. Operations Research, 37(2):319–328, 1989.

M. Fischetti and P. Toth. An additive bounding procedure for the asymmetric travelling
salesman problem. Mathematical Programming, Series A, 53(1-3):173–197, 1992.

M. Fischetti and P. Toth. An efficient algorithm for the min-sum arborescence problem.
ORSA Journal on Computing, 5:426–434, 1993.

M. Fischetti and P. Toth. A polyhedral approach to the asymmetric traveling salesman


problem. Management Science, 43(11):1520–1536, 1997.

M. Fischetti, A. Lodi, S. Martello, and P. Toth. A polyhedral approach to simplified


crew scheduling and vehicle scheduling problems. Management Science, 47(6):833–
850, 2001.
BIBLIOGRAPHY 161

M. Fischetti, A. Lodi, and P. Toth. Solving real-world ATSP instances by branch-and-


cut. In M. Jünger, G. Reinelt, and G. Rinaldi, editors, Combinatorial Optimization
- Eureka, You Shrink!, volume 2570 of Lecture Notes in Computer Science, pages
64–77. Springer Berlin / Heidelberg, Berlin, 2003.

M. Fischetti, A. Lodi, and P. Toth. Exact methods for the asymmetric traveling
salesman problem. In G. Gutin, A. Punnen, D.-Z. Du, and P. M. Pardalos, editors,
The Traveling Salesman Problem and Its Variations, volume 12 of Combinatorial
Optimization, pages 169–205. Springer US, 2004.

B. Fleischmann. The vehicle routing problem with multiple use of vehicles. Facbereich
Wirtschaftswissenschafte Universitat Hamburg, Hamburg, Germany, 1990.

F. Focacci, A. Lodi, and M. Milano. A hybrid exact algorithm for the TSPTW.
INFORMS Journal on Computing, 14(4):403–417, 2002.

K. R. Fox, B. Gavish, and S. C. Graves. An n-constraint formulation of the (time-


dependent) traveling salesman problem. Operations Research, 28(4):1018–1021,
1980.

R. Fukasawa, H. Longo, J. Lysgaard, M. Poggi de Aragão, M. Reis, E. Uchoa, and


R. F. Werneck. Robust branch-and-cut-and-price for the capacitated vehicle routing
problem. Mathematical Programming, Series A, 106(3):491–511, 2006.

M. R. Garey and D. S. Johnson. Computers and intractability: a guide to the theory


of NP completeness. W. H. Freeman & Co., San Francisco, CA, 1979.

R. S. Garfinkel. On partitioning the feasible set in a branch-and-bound algorithm for


the asymmetric traveling-salesman problem. Operations Research, 21(1):340–343,
1973.

R. S. Garfinkel. Minimizing wallpaper waste, part 1: A class of traveling salesman


problems. Operations Research, 25(5):741–751, 1977.

B. Gavish and S. C. Graves. The travelling salesman problem and related problems.
Working Paper GR-078-78, Operations Research Center, Massachusetts Institute of
Technology, 1978.

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

M. Gendreau, A. Hertz, G. Laporte, and M. Stan. A generalized insertion heuristic


for the traveling salesman problem with time windows. Operations Research, 46(3):
330–335, 1998.

M. T. Godinho, L. Gouveia, and P. Pesneau. On a time-dependent flow-based for-


mulation and an updated classification of formulations for the travelling salesman
162 BIBLIOGRAPHY

problem. In Progress in Combinatorial Optimization, chapter 7, pages 223–254.


Wiley, 2011.

B. Golden, S. Raghavan, and E. Wasil. The Vehicle Routing Problem: Latest Ad-
vances and New Challenges. Operations research/computer science interfaces series.
Springer US, 2008.

B. L. Golden and A. A. Assad. Vehicle routing: methods and studies. Studies in


management science and systems. North-Holland, 1988.

B. L. Golden and E. A. Wasil. Computerized vehicle routing in the soft drink industry.
Operations Research, 35(1):6–17, 1987.

J. Gonzales Feliu, G. Perboli, R. Tadei, and D. Vigo. The two-echelon capacitated vehi-
cle routing problem. Technical Report DEIS OR.INGCE 2007/2(R), DEIS, Bologna,
Italy, 2007a.

J. Gonzales Feliu, G. Perboli, R. Tadei, and D. Vigo. The two-echelon capacitated vehi-
cle routing problem. In Proceedings of the 22th European Conference on Operational
Research, 2007b.

L. Gouveia. A result on projection for the vehicle routing problem. European Journal
of Operational Research, 85(3):610–624, 1995.

L. Gouveia and P. Pesneau. On extended formulations for the precedence constrained


asymmetric traveling salesman problem. Networks, 48(2):77–89, 2006.

L. Gouveia and J. M. Pires. The asymmetric travelling salesman problem and a refor-
mulation of the Miller-Tucker-Zemlin constraints. European Journal of Operational
Research, 112(1):134–146, 1999.

L. Gouveia and J. M. Pires. The asymmetric travelling salesman problem: on general-


izations of disaggregated Miller-Tucker-Zemlin constraints. Discrete Applied Math-
ematics, 112(1-3):129–145, 2001.

L. Gouveia and S. Voß. A classification of formulations for the (time-dependent) trav-


elling salesman problem. European Journal of Operational Research, 83(1):69–82,
1995.

I. Gribkovskaia, B. O. Gullberg, K. J. Hovden, and S. W. Wallace. Optimization model


for a livestock collection problem. International Journal of Physical Distribution &
Logistics Management, 36(2):136–152, 2006.

M. Grötschel and M.W. Padberg. Polyhedral theory. In E. Lawler, J. Lenstra, A. Rin-


nooy Kan, and D. Shmoys, editors, The Traveling Salesman Problem: A Guided
Tour of Combinatorial Optimization, pages 251–305. Wiley, Chichester, 1985.
BIBLIOGRAPHY 163

G. Gutin and A. P. Punnen. The traveling salesman problem and its variations. Com-
binatorial Optimization. Kluwer Academic Publishers, 2002.

M. Held and R. M. Karp. The traveling-salesman problem and minimum spanning


trees. Operations Research, 18(6):1138–1162, 1970.

M. Held and R. M. Karp. The traveling-salesman problem and minimum spanning


trees: Part II. Mathematical Programming, Series A, 1(1):6–25, 1971.

V. C. Hemmelmayr, J.-F. Cordeau, and T. G. Crainic. An adaptive large neighborhood


search heuristic for two-echelon vehicle routing problems arising in city logistics.
Technical Report CIRRELT-2011-42, CIRRELT, Montreal, Canada, 2011.

Institute of Logistics and Distribution Management. The 1985 survey of distribution


costs, 1985.

S. Irnich and D. Villeneuve. The shortest-path problem with resource constraints and
k-cycle elimination for k ≥ 3. INFORMS Journal on Computing, 18(3):391–406,
2006.

M. Jepsen, B. Petersen, S. Spoorendonk, and D. Pisinger. Subset-row inequalities


applied to the vehicle-routing problem with time windows. Operations Research, 56
(2):497–511, 2008.

M. Jepsen, S. Spoorendonk, and S. Røpke. A branch-and-cut algorithm for the sym-


metric two-echelon capacitated vehicle routing problem. Transportation Science,
2011. Forthcoming.

R. Jonker and T. Volgenant. Transforming asymmetric into symmetric traveling sales-


man problems. Operations Research Letters, 2(4):161–163, 1983.

M. Jünger, G. Reinelt, and G. Rinaldi. The traveling salesman problem. In M. Ball,


T. L. Magnanti, C. L. Monma, and G. Nemhauser, editors, Network Models, vol-
ume 7 of Handbooks in Operations Research and Management Science, pages 255–
330. North Holland, Amsterdam, 1995.

R. Karp. A patching algorithm for the nonsymmetric traveling-salesman problem.


SIAM Journal on Computing, 8(4):561–573, 1979.

R. M. Karp. Reducibility among combinatorial optimization problems. In R.E. Miller


and J.W. Thatcher, editors, Complexity of Computer Computations, pages 85–103.
Plenum Press, New York, 1972.

N. Kohl and O. B. G. Madsen. An optimization algorithm for the vehicle routing


problem with time windows based on Lagrangian relaxation. Operations Research,
45(3):395–406, 1997.
164 BIBLIOGRAPHY

N. Kohl, J. Desrosiers, O. B. G. Madsen, M. M. Solomon, and F. Soumis. 2-path cuts


for the vehicle routing problem with time windows. Transportation Science, 33(1):
101–116, 1999.

T. C. Koopmans and M. Beckmann. Assignment problems and the location of economic


activities. Econometrica, 25(1):53–76, 1957.

A. A. Kuehn and M. J. Hamburger. A heuristic program for locating warehouses.


Management Science, 9(4):643–666, 1963.

B. J. LaLonde and P. H. Zinszer. Customer service: meaning and measurement. Na-


tional Council of Physical Distribution Management, Chicago, 1976.

A. Langevin. Planification des tournées de véhicules. PhD thesis, École Polytechnique


de Montréal, 1988.

A. Langevin, F. Soumis, and J. Desrosiers. Classification of travelling salesman problem


formulations. Operations Research Letters, 9(2):127–132, 1990.

A. Langevin, M. Desrochers, J. Desrosiers, S. Gélinas, and F. Soumis. A two-


commodity flow formulation for the traveling salesman and the makespan problems
with time windows. Networks, 23(7):631–640, 1993.

G. Laporte, Y. Nobert, and D. Arpin. An exact algorithm for solving a capacitated


location-routing problem. Annals of Operations Research, 6(9):291–310, 1986.

E. L. Lawler. Combinatorial Optimization: Networks and Matroids, volume 40. Holt,


Rinehart and Winston, 1976.

E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, and D. B. Shmoys. The traveling


salesman problem: a guided tour of combinatorial optimization. Wiley, Chichester,
UK, 1985.

J. K. Lenstra and A. H. G. Rinnooy Kan. Some simple applications of the travelling


salesman problem. Operational Research Quarterly, 26(4):717–733, 1975.

J.-Q. Li. A computational study of bi-directional dynamic programming for the trav-
eling salesman problem with time windows. Working paper, 2009.

J. D. C. Little, K. G. Murty, D. W. Sweeney, and C. Karel. An algorithm for the


traveling salesman problem. Operations Research, 11(6):972–989, 1963.

L. López Ibáñez and C. Blum. Beam-ACO for the travelling salesman problem with
time windows. Computers & Operations Research, 37(9):1570–1583, 2010.

R. J. Loulou. On commodity flow formulations for the TSP. Working paper, McGill
University, Montréal, 1988.
BIBLIOGRAPHY 165

R. F. Love, J. G. Morris, and G. O. Wesolowsky. Facilities location: models & methods.


Publications in operations research series. North-Holland, 1988.

J. Lysgaard, A. N. Letchford, and R. W. Eglese. A new branch-and-cut algorithm for


the capacitated vehicle routing problem. Mathematical Programming, Series A, 100
(2):423–445, 2004.

A. S. Manne. Plant location under economies-of-scale-decentralization and computa-


tion. Management Science, 11(2):213–235, 1964.

K. Menger. Das botenproblem. Ergebnisse Eines Mathematischen Kolloquiums, 2:


11–12, 1932.

D. Mester and O. Bräysy. Active guided evolution strategies for large-scale vehicle
routing problems with time windows. Computers & Operations Research, 32(6):
1593–1614, 2005.

C. E. Miller, A. W. Tucker, and R. A. Zemlin. Integer programming formulation of


traveling salesman problems. Journal of the Association for Computing Machinery,
7(4):326–329, 1960.

D. L. Miller and J. F. Pekny. Results from a parallel branch and bound algorithm
for the asymmetric traveling salesman problem. Operations Research Letters, 8(3):
129–135, 1989.

A. Mingozzi, N. Christofides, and E. Hadjiconstantinou. An exact algorithm for the


vehicle routing problem based on the set partitioning formulation. Technical report,
University of Bologna, Bologna, Italy, 1994.

A. Mingozzi, L. Bianco, and S. Ricciardelli. Dynamic programming strategies for the


traveling salesman problem with time window and precedence constraints. Opera-
tions Research, 45(3):365–377, 1997.

A. Mingozzi, R. Roberti, and P. Toth. An exact algorithm for the multi-trip vehicle
routing problem. INFORMS Journal on Computing, 2012.

P. B. Mirchandani and R. L. Francis. Discrete location theory. Interscience series in


discrete mathematics and optimization. Wiley, 1990.

V.-P. Nguyen, C. Prins, and C. Prodhon. A multi-start evolutionary local search for
the two-echelon location routing problem. In M. Blesa, C. Blum, G. Raidl, A. Roli,
and M. Sampels, editors, Hybrid Metaheuristics, volume 6373 of Lecture Notes in
Computer Science, pages 88–102. Springer Berlin / Heidelberg, Berlin, Heidelberg,
2010.

J. W. Ohlmann and B. W. Thomas. A compressed-annealing heuristic for the traveling


salesman problem with time windows. INFORMS Journal on Computing, 19(1):80–
90, 2007.
166 BIBLIOGRAPHY

A. Olivera. Memorias adaptativas para el problema de ruteo de vehı́culos con múltiples


viajes. PhD thesis, Instituto de Computación - Facultad de Ingenierı́a - Universidad
de la República - Montevideo, Uruguay, 2005.

A. Olivera and O. Viera. Adaptive memory programming for the vehicle routing
problem with multiple trips. Computers & Operations Research, 34(1):28–47, 2007.

T. Öncan, I. Kuban Altinel, and G. Laporte. A comparative analysis of several asym-


metric traveling salesman problem formulations. Computers & Operations Research,
36(3):637–654, 2009.

M. Padberg and T. Sung. An analytical comparison of different formulations of the


travelling salesman problem. Mathematical Programming, Series A, 52(1-3):315–357,
1991.

M. W. Padberg and G. Rinaldi. An efficient algorithm for the minimum capacity cut
problem. Mathematical Programming, Series A, 47(1-3):19–36, 1990a.

M. W. Padberg and G. Rinaldi. Facet identification for the symmetric traveling sales-
man polytope. Mathematical Programming, Series A, 47(1-3):219–257, 1990b.

J. F. Pekny and D. L. Miller. A parallel branch and bound algorithm for solving large
asymmetric traveling salesman problems. Mathematical Programming, Series A, 55
(1-3):17–33, 1992.

G. Perboli, R. Tadei, and F. Masoero. New families of valid inequalities for the two-
echelon vehicle routing problem. Electronic Notes in Discrete Mathematics, 36(2):
639–646, 2010.

G. Perboli, R. Tadei, and D. Vigo. The two-echelon capacitated vehicle routing prob-
lem: models and math-based heuristics. Transportation Science, 45(3):364–380,
2011.

G. Pesant, M. Gendreau, J.-Y. Potvin, and J.-M. Rousseau. An exact constraint


logic programming algorithm for the traveling salesman problem with time windows.
Transportation Science, 32(1):12–29, 1998.

R. J. Petch and S. Salhi. A multi-phase constructive heuristic for the vehicle routing
problem with multiple trips. Discrete Applied Mathematics, 133(1-3):69–92, 2004.

D. Pisinger and S. Ropke. A general heuristic for vehicle routing problems. Computers
& Operations Research, 34(8):2403–2435, 2007.

J.-Y. Potvin and S. Bengio. The vehicle routing problem with time windows part II:
Genetic search. INFORMS Journal on Computing, 8(2):165–172, 1996.

G. Reinelt. TSPLIB - a traveling salesman problem library. ORSA Journal on Com-


puting, 3(4):376–384, 1991.
BIBLIOGRAPHY 167

G. Reinelt. The traveling salesman problem: computational solutions for TSP applica-
tions. Lecture Notes in Computer Science. Springer - Verlag, Berlin, 1994.

G. Righini and M. Salani. Symmetry helps: Bounded bi-directional dynamic program-


ming for the elementary shortest path problem with resource constraints. Discrete
Optimization, 3(3):255–273, 2006.

G. Righini and M. Salani. New dynamic programming algorithms for the resource
constrained elementary shortest path problem. Networks, 51(3):155–170, 2008.

R. Roberti and P. Toth. Models and algorithms for the asymmetric traveling salesman
problem: an experimental comparison. Submitted for publication, 2012.

J. B. Robinson. On the hamiltonian game (a traveling salesman problem). Technical


Report RM-303, RAND Research Memorandum, 1949.

Y. Rochat and É. D. Taillard. Probabilistic intensification and diversification in local


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

S. Ropke. Heuristic and exact algorithms for vehicle routing problems. PhD thesis,
Computer Science Department, University of Copenhagen (DIKU), Copenhagen,
2005.

S. Ropke. Personal communication, 2010. January 29.

S. Salhi and R. J. Petch. A GA based heuristic for the vehicle routing problem with
multiple trips. Journal of Mathematical Modelling and Algorithms, 6(4):591–613,
2007.

S. C. Sarin, H. D. Sherali, and A. Bhootra. New tighter polynomial length formula-


tions for the asymmetric travelling salesman problem with and without precedence
constraints. Operations Research Letters, 33(1):62–70, 2005.

M. W. P. Savelsbergh. Local search in routing problems with time windows. Annals


of Operations Research, 4(1):285–305, 1985.

H. D. Sherali and P. J. Driscoll. On tightening the relaxations of Miller-Tucker-Zemlin


formulations for asymmetric traveling salesman problems. Operations Research, 50
(4):656–669, 2002.

H. D. Sherali, S. C. Sarin, and P.-F. Tsai. A class of lifted path and flow-based formu-
lations for the asymmetric travelling salesman problem with and without precedence
constraints. Discrete Optimization, 3(1):20–32, 2006.

D. Simchi-Levi, X. Chen, and J. Bramel. The Logic of Logistics: Theory, Algorithms,


and Applications for Logistics and Supply Chain Management. Springer Series in
Operations Research and Financial Engineering. Springer New York, 2005.
168 BIBLIOGRAPHY

T. H. C. Smith, V. Srinivasan, and G. L. Thompson. Computational performance


of three subtour elimination algorithms for solving asymmetric traveling salesman
problems. In B. H. Korte P. L. Hammer, E. L. Johnson and G. L. Nemhauser, editors,
Studies in Integer Programming, volume 1 of Annals of Discrete Mathematics, pages
495–506. Elsevier, 1977.

M. M. Solomon. Algorithms for the vehicle routing and scheduling problem with time
window constraints. Operations Research, 35(2):254–265, 1987.

É. D. Taillard. Personal communication, 2009. June 16.

É. D. Taillard, G. Laporte, and M. Gendreau. Vehicle routeing with multiple use of
vehicles. Journal of the Operational Research Society, 47(8):1065–1070, 1996.

K. C. Tan, Y. H. Chew, and L. H. Lee. A hybrid multi-objective evolutionary algo-


rithm for solving truck and trailer vehicle routing problems. European Journal of
Operational Research, 172(3):855–885, 2006.

E. Taniguchi. City logistics: network modelling and intelligent transport systems. Perg-
amon, 2001.

E. Taniguchi and R. G. Thompson. Innovations in city logistics. Nova Science Pub-


lishers, 2008.

R. E. Tarjan. Finding optimum branchings. Networks, 7(1):25–35, 1977.

P. Toth and D. Vigo. The vehicle routing problem. SIAM monographs on discrete math-
ematics and applications. Society for Industrial and Applied Mathematics, 2002.

R. Wolfler Calvo. A new heuristic for the traveling salesman problem with time win-
dows. Transportation Science, 34(1):113–124, 2000.

R. T. Wong. Integer programming formulations of the traveling salesman problem. In


Proceedings of the IEEE international conference of circuits and computers, 1980.

View publication stats

You might also like