Exact Algorithms For Different Classes of Vehicle
Exact Algorithms For Different Classes of Vehicle
net/publication/257492818
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.
Roberto Roberti
Coordinator Advisors
Prof. Alberto Caprara Prof. Aristide Mingozzi
Prof. Paolo Toth
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
Bibliography 155
Keywords
• Vehicle Routing 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
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:
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 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 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]).
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.
In this thesis, we deal with five variants of the three problems (TSP, VRP, and UFL)
described in §1.1:
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.
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.
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.
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.
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.
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.
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.
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].
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
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
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
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
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.
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
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].
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].
ui − uj + (n − 1)xij ≤ n − 2, i, j = 2, . . . , n, (2.10)
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
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
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
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+.
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
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
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
FCG GG DL RMTZ
MTZ
Figure 2.1: Relations among the linear relaxations of the polynomial formulations
and of formulation DFJ
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..
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.
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].
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.
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 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.
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
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
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
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.
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.
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].
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.
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 .
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 ].
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}.
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.
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.
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)}.
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.
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
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.
k
\ [
ΠF = {ir ∈ V (F ) \ {ik } : ir ∈ N is } {ik }.
s=r+1
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 .
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}}.
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
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
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.
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
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
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 .
b) Compute fk (N G, t, i), (N G, t, i) ∈ F
ck , as follows
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.
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
u0 ∈ R, (3.8)
ui ∈ R, i ∈ V. (3.9)
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.
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.
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
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 .
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
X
ai` ui ≤ c` − u0 .
i∈V
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.
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
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).
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)
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.
r−1
\ [
Π−1 (B) = {ir : ir ∈ Nis , r = k + 1, . . . , h} {ik }.
s=k
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
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
f −1 (t0 , i) .
lb(S, t, i) = min
t0 ∈[t,l i]
/ 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.
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:
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.
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
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.
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
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.
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.
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.
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.
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
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
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 -
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.
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
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.
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
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.
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
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
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
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.
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].
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.
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
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.
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
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}}.
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).
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 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.
(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 ).
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
i∈V
66 Chapter 4 Vehicle Routing Problem with Time Windows
X X
= c` − ρ` (S)µS − ωC ,
S∈S C∈C`
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.
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:
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 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.
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
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
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 ).
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
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 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 .
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
˜
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
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 ].
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).
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.
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).
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 .
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 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.
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))
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).
Similar rules are applied by procedure GenP4 to generate the path set F .
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 .
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).
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 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.
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
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))
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
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 .
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 .
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).
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].
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.
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
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]).
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
83
84
Table 4.2: Detailed results on VRPTW Solomon instances with 100 customers and tight time windows
85
86 Chapter 4 Vehicle Routing Problem with Time Windows
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
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
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
89
90
Table 4.10: Results on CVRP instances of class B
91
92
Table 4.13: Results on CVRP instances of class P
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
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 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.
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.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
Constraints (5.2) impose that each customer is visited exactly once, and constraints
(5.3) define a feasible schedule for each vehicle used.
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.
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.
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
The following example shows that z(LF 1) can be strictly smaller than z(LF 2).
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.
ξ`j ≤ mT.
X X
τ` (5.15)
`∈R j∈M
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
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
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
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.
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.
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.
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.
τ` ξ`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
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
P j
By summing up inequalities (5.26) and replacing j∈M ξ` with x` ∈ {0, 1}, we derive
inequalities (5.21).
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.
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).
5.4.2 Relaxation LF 2
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.
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 .
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.
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.
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
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.
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 .
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
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.
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
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)
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.
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.
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 .
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.
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].
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 γ.
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 .
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
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.
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
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
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.
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 .
We denote by p the number of schedules in pool. The second phase of GenSched can
be described as follows.
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(Ω
The exact method we propose consists of seven main steps and can be described as
follows.
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).
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
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 .
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
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
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
6.1 Introduction
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.
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].
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.
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
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.
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
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
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. ỹ = ȳ;
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
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 |
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
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)
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
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
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
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
which shows, together with equality (6.51), that ζ̄ also satisfies constraint (6.46).
ξ¯ik = 0
(
0, if
θikr = P q̄rk
(6.52)
q̄rk , if ξ¯ik = 1
r∈M¯k
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
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
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
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
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
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.
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.
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.
(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
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
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
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̄.
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̄.
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
(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 .
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 .
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
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 .
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
The method for solving the 2E-CVRP is based on the following re-formulation of
problem F .
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.
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 .
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.
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.
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
(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.
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
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
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
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
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.
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
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
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
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
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
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.
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. 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 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, 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, 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.
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.
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.
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, 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.
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.
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.
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.
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. Dror and P. Trudeau. Split delivery routing. Naval Research Logistics, 37:383–402,
1990.
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 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, 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.
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.
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 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 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.
G. Gutin and A. P. Punnen. The traveling salesman problem and its variations. Com-
binatorial Optimization. Kluwer Academic Publishers, 2002.
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.
J.-Q. Li. A computational study of bi-directional dynamic programming for the trav-
eling salesman problem with time windows. Working paper, 2009.
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
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.
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, R. Roberti, and P. Toth. An exact algorithm for the multi-trip vehicle
routing problem. INFORMS Journal on Computing, 2012.
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.
A. Olivera and O. Viera. Adaptive memory programming for the vehicle routing
problem with multiple trips. Computers & Operations Research, 34(1):28–47, 2007.
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.
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. The traveling salesman problem: computational solutions for TSP applica-
tions. Lecture Notes in Computer Science. Springer - Verlag, Berlin, 1994.
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.
S. Ropke. Heuristic and exact algorithms for vehicle routing problems. PhD thesis,
Computer Science Department, University of Copenhagen (DIKU), Copenhagen,
2005.
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.
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.
M. M. Solomon. Algorithms for the vehicle routing and scheduling problem with time
window constraints. Operations Research, 35(2):254–265, 1987.
É. 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.
E. Taniguchi. City logistics: network modelling and intelligent transport systems. Perg-
amon, 2001.
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.