0% found this document useful (0 votes)
56 views

A Branch and Cut Procedure

This paper proposes a branch-and-cut algorithm to solve the vehicle routing problem with time windows (VRPTW) to optimality. The algorithm combines heuristics and lower bounding procedures. It can solve standard 50- and 100-node benchmark problems within reasonable computation time, which previous approaches could not do. The main contribution is the integration of cutting plane techniques and feasibility heuristics for the VRPTW, which allows the algorithm to find optimal solutions for problem instances not previously solvable in practice.

Uploaded by

auliya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views

A Branch and Cut Procedure

This paper proposes a branch-and-cut algorithm to solve the vehicle routing problem with time windows (VRPTW) to optimality. The algorithm combines heuristics and lower bounding procedures. It can solve standard 50- and 100-node benchmark problems within reasonable computation time, which previous approaches could not do. The main contribution is the integration of cutting plane techniques and feasibility heuristics for the VRPTW, which allows the algorithm to find optimal solutions for problem instances not previously solvable in practice.

Uploaded by

auliya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

A Branch-and-Cut Procedure for the Vehicle Routing Problem with Time Windows

Author(s): Jonathan F. Bard, George Kontoravdis and Gang Yu


Source: Transportation Science , May 2002, Vol. 36, No. 2 (May 2002), pp. 250-269
Published by: INFORMS

Stable URL: https://www.jstor.org/stable/25769106

JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected].

Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms

INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Transportation
Science

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
A Branch-and-Cut Procedure for
the Vehicle Routing Problem with
Time Windows
Jonathan F. Bard George Kontoravdis Gang Yu
Graduate Program in Operations Research, Department of Mechanical Engineering,
The University of Texas, Austin, Texas 78712-1063
Graduate Program in Operations Research, Department of Mechanical Engineering,
The University of Texas, Austin, Texas 78712-1063
Management Science and Information Systems, College of Business Administration,
The University of Texas, Austin, Texas 78712
[email protected] [email protected] [email protected]

This paper
visit a set addresses
of nodes subject the
to timeproblem of finding
window and capacity constraints.the minimum
The fleet is homo number of vehicles required to
geneous and is located at a common depot. Each node requires the same type of service. An
exact method is introduced based on branch and cut. In the computations, ever increasing
lower bounds on the optimal solution are obtained by solving a series of relaxed prob
lems that incorporate newly found valid inequalities. Feasible solutions or upper bounds
are obtained with the help of greedy randomized adaptive search procedure (GRASP). A
wide variety of cuts is introduced to tighten the linear programming (LP) relaxation of the
original mixed-integer program. To find violated cuts, it is necessary to solve a separation
problem. A substantial portion of the paper is aimed at describing the heuristics developed
for this purpose. A new approach for obtaining feasible solutions from the LP relaxation is
also discussed. Numerical results for standard 50- and 100-node benchmark problems are
reported.

The vehicle routing problem with time windows The problem we address is to find the minimum
(VRPTW) can be defined as follows. Let G0 = (V, E) number of tours, K*, such that each node is reached
within its time window and the accumulated service
be a connected graph consisting of a set of n +1 nodes
each of which can be reached only within a specified up to any node does not exceed a positive num
time interval or time window, and a set E of nonneg ber Q (vehicle capacity). A secondary objective is to
minimize the total distance traveled. An alternative
atively weighted arcs with associated traveling times.
objective that combines the two might be to minimize
Each customer is denoted by an index i (i ? 1,... , n)
the lifecycle cost of providing service.
and imposes a service requirement in the form of
All problem parameters, such as customer demand
a pickup. There is a single depot designated by the and time windows, are assumed to be known with
index 0. For easier reference, let I = {1,... , n\ be the certainty. Moreover, each customer must be served
set of customers and I0 = IU {0}. For each / ^ 0, let by exactly one vehicle, so split service and multi
cj{ > 0, cri > 0, and [aif b{\ be the demand, service time, ple visits are not permitted. The tours, as defined in
and time window, respectively, for customer /. the problem statement, correspond to feasible routes

Transportation Science ? 2002 INFORMS 0041-1655/02/3602/0250$05.00


Vol. 36, No. 2, May 2002 pp. 250-269 1526-5447 electronic ISSN

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

starting and ending at the depot. Because of the time The rest of the paper is organized as follows. A brief
component the routes are directed so that tour orien literature review is presented in ?1. A mixed-integer
tation is important. Any load that is picked up along a linear programming formulation is presented in ?2. In
route must be taken to the depot. If the single service ?3 we outline the general structure of a cutting-plane
for all customers is a delivery, the problem remains optimization method and highlight the valid inequali
the same except that each vehicle starts with a full ties for the VRPTW. Algorithmic details are presented
load and returns to the depot empty. in ?4. We conclude with a discussion of the results
Once the minimum number of tours K* is deter and suggestions for future work.
mined the number of vehicles required is at most
K* since one vehicle is needed for each route in the
1. Related Work
worst case. If two routes r{ and ry are time disjoint, Survey papers on heuristic and exact methods for the
then the same vehicle can handle both. In what fol
lows we do not consider this case since it does not VRPTW and related problems have been published
by Bodin et al. (1983), Solomon and Desrosiers (1988),
arise commonly in practice; therefore, the terms routes
Desrochers et al. (1988), and Desrosiers et al. (1995).
and vehicles are used interchangeably. It is assumed Exact methods for the VRPTW use one of the follow
that the triangle inequality holds for all travel times
ing three techniques: column generation, Lagrangian
between any subset of nodes.
relaxation, or cutting planes such as branch and cut.
Practical VRPTW instances are mainly solved by In their breakthrough work, Desrochers et al. (1992)
heuristics; however, methods that provide optimal or used a column generation technique to solve many
near-optimal solutions have become the subject of 50-node problems and several 100-node problems to
considerable research. This paper presents an exact optimality with the objective of minimizing the total
branch-and-cut algorithm for solving the VRPTW. The distance traveled. The basic idea is to formulate the
proposed methodology combines several heuristics VRPTW as a set partitioning problem by consider
and lower bounding procedures into an exact scheme ing all feasible routes implicitly. Because this num
that can solve standard 50- and 100-node benchmark
ber grows exponentially with the customer base, only
problems within reasonable computational time. Our a small fraction of the routes is included in the
main contribution centers on the integration of mod model. At each major iteration a check is performed to
ern cutting plane techniques and feasibility heuris determine whether there exists a route not currently
tics for solving the VRPTW. The majority of the work included that can reduce the overall distance. This is
reported on involved the development and imple achieved by solving a relaxed shortest path subprob
mentation of several new heuristics for solving the lem with time window and capacity constraints. If
so-called separation problem. Solutions to the latter such a route exists, its corresponding column is added
provide valid inequalities that remove fractional solu to the model and the procedure is repeated until
tions arising from the linear programming relaxation the optimal solution for the complete set of routes
of the original mixed-integer linear program (MILP). is found. To obtain integer solutions the above algo
Without efficient separation procedures, branch-and rithm is embedded in a branch-and-bound scheme.
cut is dominated by simple branch-and-bound. Sol and Savelsbergh (1994) extended this approach to
The methodology incorporates the following types the pickup and delivery VRPTW.
of cuts: capacity inequalities, comb inequalities, box Kohl (1995) and Kohl and Madsen (1997) used
inequalities, path-box inequalities, subtour elimina Lagrangian relaxation to remove from the constraint
tion constraints, incompatible pair inequalities, and region the requirement that all customers be serviced.
incompatible path inequalities. In each case, we This allowed them to decompose the overall problem
present any new theory along with the heuristics pro into individual time and capacity constrained short
posed to solve the corresponding separation problem. est path subproblems, one for each vehicle. Although
Sufficient detail is provided to allow independent they were able to find good heuristic solutions rela
implementation. tively easy to these subproblems, finding the optimal

Transportation Science/Vol. 36, No. 2, May 2002 251

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Lagrange multipliers required substantial computa Let Xjj (/, j I0) be a flow variable equal to one
tional effort. A bundle method was used for this pur if a vehicle travels along arc (/,/); zero otherwise.
pose. Problems with up to 100 customers were solved. Let y{ (i e I) be the vehicle load at departure from
Padberg and Rinaldi (1991) were among the first customer i corresponding to the load that needs to
to develop a cutting plane method to solve large come back to the depot; i.e., the load that is picked
instances of the traveling salesman problem (TSP). up from customers along the route up to and includ
A similar technique was used by Hoffman and Pad ing /. The following mixed-integer linear program
berg (1993) to solve large airline crew scheduling ming model minimizes the number of flow variables
instances. More recently, Araque et al. (1994) devel emanating from the depot, and hence, the number of
oped a branch-and-cut (B&C) algorithm for the iden routes required:
n
tical customer vehicle routing problem, while Augerat
(1995) presented a number of new valid inequalities (VRPTW)
1=1
minj>0l
for the symmetric capacitated vehicle routing prob
lem (VRP). In the branch-and-cut approach, the prob subject to
lem is initially formulated as a MILP. The integrality E*i/ = 1' (2)
constraints are then relaxed and the resulting linear
program is optimized. If the solution is integer, then
the algorithm terminates with the optimal solution to
2>i;-E*;i = 0' i lo> (3)
the original problem. If the solution is fractional, then
valid inequalities or cuts are appended to the model
t^U + r^-T^-x^, i,jel, (4)
and the procedure is repeated. When no more cuts yj > y{ + qi - Qj{l - x^), i, j e /, (5)
can be identified by the separation schemes, or the
qx < Vi < Q, ie I, (6)
effect of any new inequalities is marginal, branching
is initiated. flf<^<b,-/ iel, (7)
In conjunction with the Lagrangian approach, Kohl
^ g{0,1}, /,/g/0, (8)
and his colleagues (Kohl 1995, Kohl et al. 1999) also
developed a two-path cut method for solving the where = lo{ ? aj and Q- = Q ? q-. Any smalle
VRPTW with the objective of minimizing distance. ues used for these parameters in Equations (4
That work was extended by Rich (1999) in his the (5) could potentially cut off feasible solutions. To
sis and then further elaborated on by Cook and Rich this, simply set x^ = 0 and make the appropriate
stitutions.
(1999). They used a cutting plane algorithm and par
allel computations to solve instances with up to 200 Constraint (2) ensures that each customer is s
customers. by exactly one vehicle. It also implies that all
routes are pairwise disjoint so that a vehicle v
a customer only if it is to provide service.
2. MILP Formulation straint (3) is the flow conservation equation en
In the model, t{ denotes the instant a vehicle leaves ing route continuity so that the constructed r
customer / and is treated as a variable. The travel
are tours (loops) rather than open paths. Const
time between / and / (/,; e I0) is denoted by tf;. We (4) defines the relation between flow variable
assume that the vehicle velocity is one so travel time departure times. It also eliminates the formati
is equal to the distance traveled. Without loss of gen subtours not containing the depot because incr
erality, in what follows it is assumed that there is no departure times are required along a route. For
time window associated with the depot and that v{ is ple, consider a subtour consisting of three cust
included in the travel time; i.e., tz/ ?- t/; + cri for all cus ii,i2,h- Then x12,x23 and x31 should all be eq
tomers (see Kontoravdis and Bard 1995). Moreover, if one. After substituting in (4) and adding we o
the time windows of i and ; are such that (a} - b{) > rzy, r12 + t23 + r31 < 0 which is clearly infeasible for
then Tjj is replaced by #; ? b{. negative travel times.

252 Transportation Science/VoL 36, No. 2, May

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Constraint (5) tracks the load on a route at depar with LP(S), valid inequalities for conv(S) are itera
ture from a customer. It also eliminates subtours in a tively added and the resulting formulation is opti
manner similar to that of Equation (4). Constraint (6) mized. The procedure terminates when the optimal
guarantees that the vehicle's capacity is not exceeded. solution over conv(S) is reached. The convergence of
The inequalities in (7) enforce the time window con a cutting plane method greatly depends on the type
straints while (8) defines the binary flow variables. of valid inequalities added. Facets of conv(S) are the
The constants Tf;- and Q; in (4) and (5) can be replaced most effective but it is not always possible to deter
mine when a cut is a facet.
by any large numbers; however, computational expe
rience has shown that these values should be as small By definition valid inequalities do not remove any
as possible so the corresponding constraints are as feasible integer points and hence are valid at any
tight as possible. The above formulation uses 0(n2) stage of a branch-and-bound algorithm. This contrasts
binary variables and 0(n2) constraints. A preprocess with the more traditional cuts, such as Gomory frac
tional cuts, which may exclude feasible points during
ing step excludes all xz; (z,; I) variables from the branch and bound.
MILP formulation that correspond to infeasible vehi
cle trips.
3.2. TSP and VRP Valid Inequalities
We begin by introducing some terminology for the
VRPTW that is used throughout the section. Similar
3. Valid Inequalities definitions hold for the corresponding TSP and VRP
In this section we describe the principal classes of formulations as well. Given an optimal solution to the
valid inequalities that can be used to reduce the solu relaxed (VRPTW) we define a weighted undirected
tion space of (VRPTW) after relaxing the integrality graph G0 = (V, E), where V = I0 and E = {(/,;): i, j e
constraints (8). We first define a few terms related to I0 and Xy+Xji > 0}. Each edge (/,;) has an associated
polyhedral theory (see Nemhauser and Wolsey 1988 weight (Oij = Xjj + Xji. For (S) c V we define E(S) =
for a complete description) and outline the general \(hj) Uj e S} as the set of edges in S, and 8(S) =
structure of a cutting-plane optimization method. We {(/,;) : i e S and ; ^ S} as the set of edges leaving S.
then present an overview of known valid inequalities For e = (i, j) e E we define xe = x^ + and for S c V
for the traveling salesman problem and the capaci we define x(E(S)) = J2eeE(S)xe- Similarly, for an edge
tated vehicle routing problem. Our intent is to high set A c E we define x(A) = J2eeAxe. The cut edges
light only those valid inequalities that can be readily between two sets Sa and S2 are represented by (Slf S2).
adapted to the VRPTW. Given an optimal solution to the relaxed (VRPTW)
we also define a weighted directed graph G0 = (V, A)
3.1. Polyhedra and Integer Programming where V = I0 and A = {(z,;): /,; e I0 and x{j > 0}. Each
arc (/,;) has an associated weight o>/; = x^. The graph
Polyhedral theory can be used to show that for every
obtained from G0 (G0) after removing the depot is
integer program (IP) there exists a corresponding lin
ear program with the same optimal solution. More denoted by G(G). For S c V we define As to be a
lower bound on the number of vehicles required to
specifically, given P = {x e Sk\ : Ax < b), where (A, b) serve the customers in S.
is an integer matrix, and S = PnZn then the conv(S)
(convex hull of S) is a rational polyhedron. The Capacity Inequalities. The capacity inequalities,
branch-and-cut approach exploits the above result by also known as subtour elimination constraints, guar
optimizing a series of linear problems whose polyhe antee that the number of vehicles visiting a set of
dral feasible regions correspond to tighter and tighter customers S is no less than a lower bound As on the
approximations of the convex hull of the initial prob number of vehicles required. For the undirected case,
this can be written as
lem. Let min{cx : x e S c Z\\ be the initial integer
program and LP(S) the corresponding linear program E *?>2AS. (9)
after the integrality constraints are dropped. Starting ee(S,V\S)

Transportation Science/VoL 36, No. 2, May 2002 253

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

The lower bound for the TSP is always one. For the Constraint (10) is also valid for the VRP but specific
VRP, one possibility for As is IT^es <7//Q~l/ which is variants have been developed to account for the depot
basically a lower bound to the corresponding bin and the vehicle capacity. If the depot belongs to a
packing problem. It is known that (9) is a facet for tooth, say Wlf but not to the handle, then the follow
the TSP (see Grotschel and Padberg 1985) but it is not ing comb inequality (Cornuejols and Harche 1993) is
necessarily a facet for the VRP. valid for the VRP and is a facet if certain necessary
conditions are satisfied:
Comb Inequalities. Let H, Wu ... , Wk c V. The
node set (H, W1,... , Wk) defines a comb in G if the x(S(H)) > (* + l)-(x(5(W1))-2AnWl)
following conditions are met:

|Hnwz-| >1, Z=l,... ,Jfc,


-I>(5(W;.))-2).
1=2
(11)
|W;.\H|>1, 1 = 1,... ,k, If the depot does not belong to the comb and the vehi
cle capacity is taken into account, then the following
2<|WJ|<|V|-2, i = l,...,k, inequality is valid for the VRP (see Augerat 1995 and
winwj = 0, i^j, Laporte and Nobert 1984):

k>3 and odd.


x(S(H)) > (k +1) - E(x(S(Wz))
z=l
- 2AWi) (12)
The set H is the handle and the sets W,- are the teeth
of the comb. Figure 1 illustrates a simple case. which holds if all teeth satisfy the condition: XW.\H +
Comb inequalities were first introduced for the TSP
and are facet defining (see Grotschel and Padberg Box Inequalities. Let H, Wlr... ,Wkc.V. The node
1985 or Nemhauser and Wolsey 1988). The corre set (H, Wlf... , Wk) defines a box in G if the following
sponding inequality is as follows: conditions are met:
k
???<Q, 1 = 1,...,*,
*(E(H)) + 2>(E(W,))
i=l
k ^CH, z = l,... ,Jfc,
<|H| + ?|W,|-(3* + l)/2. (10)
1=1 winwj = 0, i^j,
k>l.

A box is similar to a comb with the difference be


that each tooth, Wif is a proper subset of the hand
H. Moreover, all customers within a tooth must fit i
one vehicle (see Figure 2). Given a box we define a b
packing problem with k + \H\ \Jki=1 Wf| items an
size Q. Each W{ is considered an item of size ^2veW. q
and each customer rj e H\ \Jki=1 Wf is considered
item of size qr Let ?&H\wlf...,wk be the optimal solut
of this bin packing problem. Then the following
valid inequality for VRP (see Augerat 1995):

x(S(H)) > 2?Hm.Wk


i=l
- J>(8(Wd) - 2). (1
Figure 1 Example of a Comb It is not known if (13) is a facet for the VRP.

254 Transportation Science/Vol. 36, No. 2, May 20

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

H
the same bin. Let SS'H|W w be the optimal solutio
of this bin packing problem. Then the following is
valid inequality for VRP:

x(S(H)) > 2?'Hm.Wfc -f>(S(W,)) -2). (14)


Z=l

It is not known whether (14) is a facet for the


Figure 2 Example of a Box VRP. From a computational point of view calculating
?Hm.wk and 98'H|Wi.w^ for (13) and (14), respec
Path-Box Inequalities. By combining tively,
therequires the optimization of a bin packing sub
concept
problem. Because
of a comb and a box one can define a path-box asthis
fol may be time consuming, a bin
lows (see Augerat 1995). Let H, Wu ... , Wk c V. Thebe used without affecting
packing lower bound can
the validity ofin
node set (H, Wl7... , W^) defines a path-box the G
constraints.
if
the following conditions are met:
3.3. VRPTW Valid Inequalities
E ^<Q/ i = l,...,k, All VRP inequalities presented above are valid for
(VRPTW) as well. We now show how some of these
WinH^0/ i = i,...,k, inequalities can be strengthened by taking advantage
of the VRPTW structure and then present some addi
tional constraints.
k>l. Subtour Elimination Constraints. A feasible solu

The difference between a comb and a path-boxtion conto (VRPTW) consists of a set of disjoint directed
cycles
straint is that in the case of the latter the demand of all containing the depot. If the depot is not
taken into account, the resulting partial solution is a
each tooth must fit in a vehicle and it may be entirely
collection of open directed paths. Therefore, a cycle in
contained in the handle. A tooth that is contained
G indicates an infeasibility that should be eliminated.
within the handle is called a spot. Figure 3 shows
an example of a path-box with two regular teeth Inequality
W2 (9) eliminates such cycles. Depending on
the
and W3, and a spot Wv Given a path-box we define a density of G and the cardinality of a subtour S
it
bin packing problem in exactly the same way we did might be preferable to use the following equivalent
inequality
for a box with the additional constraint that no more to keep the corresponding linear program
mingin
than two teeth, not counting spots, can be included model sparse:

?*e<|S|-As. (15)
eeE(S)

Unlike the standard VRP, the orientation of a tour


is important because of the time window constraints
and the two types of service. Directed subtours in G
can be eliminated by the following inequality:

E */;>As. (16)
(i,/)e(S,V\S)

Constraint (16) is similar to (9) for the undirected


case and requires that the number of vehicles leaving
a set of customers S must be greater than or equal
Figure 3 Example of a Path-Box to a lower bound on the number of vehicles needed

Transportation Science/VoL 36, No. 2, May 2002 255

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Proposition 1. For any comb in


Asequential lifting y\ \
valid for (VRPTW):
k k

E
eeE(H) i=leeE(Wi) z=l
*.+E
(k J y(j J 1k
~ ~ E(^w; +^Hnw,- +^WA(Hnw^))
Xij +xjk + xki<2 xi} +xjk + 2xkj + xki<2 z z=l

Figure 4 Example of Lifting Directed Subtour Inequalities (19)


Proof. First observe that Constraints (2) and (3)
to serve S. The following proposition shows that correspond to the following constraint for nodes in
(15) and (16) can be used interchangeably depending the undirected graph G:
whether G or G is used.
E xe=2 foTV V\{0). (20)
ee8({v})
Lemma 1. Inequality (16) defined over G is violated if
and only if inequality (15) defined over G is violated.
By multiplying (20) by \ and summing over all v e H
If the lower bound on the number of vehicles is we obtain
not taken into account in (15), then a sequential lift
ing technique can be applied to raise some of the E Xe + l E (21)
eeE(H) Z eeS(H)
left-hand side coefficients (see Grotschel and Padberg
1985). The resulting inequality is a facet for the corre Note that the summation over e e 5(H) consists of two
sponding asymmetric TSP Figure 4 demonstrates the components as shown by (22):
lifting of a three node cycle. The bold arc (k, j) in the k
graph on the right is given a weight of two. Symmetry E = ? ? *e
eeS(H) i=l eeS(H)n?(W;)
provides for two other possibilities in this case.
For the general case of a subtour with k > 3 cus
tomers, {ilf i2,. . , ik), the following two inequalities +? E (22)
are valid for the asymmetric TSP and will be used for <=1 ^5(H)\Uti?(^)
(VRPTW):
The definition of G requires xe
1
--x,<0 foreeE. (23)
E^^+^m.+^^.
7=1 ;'=2+;'=3EE^^^-1
h=2 (17)
and Now add (23) to (21) for all e e 8(H) \ U-=i E

k?l k k j?1
? *, + ^? E ^<|H|. (2
eeE(H) Z z=l ee<5(H)n?(Wf)
;=1 7=3 7=4 h=3
The subtour elimination constraints for Wif
and
Constraints (17) and (18) are Wf \ H t)\
called are the following:
and l5k~
inequalities, respectively (see Fischetti and Toth 1997).
E **<|Wi|-AWi for i = \,. ..,k,
eeE(Wi)

Comb Inequalities. The following proposition


E oc,<|HnW;.|-AHnWi for/ = l,...,fc, (26)
introduces a valid comb inequality
eeE(HnWi) for (VRPTW)
which is similar to the one obtained by Laporte and
E xe<|WAH|-AWAH for/ = l,...,fc. (27)
Nobert (1984). The inequality is also valid for the VRP.
eeE(Wi\H)

256 Transportation Science/VoI. 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

or
Multiplying (25), (26), and (27) by \, summing over i
and adding to (24) gives (19).
If all the lower bounds that appear in the right x(S(H))>?-f>(<5(W,))-2AWi)
1=1
hand side of (19) are equal to one, then the comb
inequality for (VRPTW) reduces to
where ? = Eti(AHnw, + AWA(Hn^) - V). Therefore,
k k
comparing (19) and (12) reduces to comparing ? with
E ** +
fc + 1. E E xe
eeE(H) 2=1 ee?(Wf)
(i) \w. + AHnW; + A^.^nnw.) = 3 for each i = 1,... , k.
In this Because each lower bound is at least
case (10) one each item i
ever, if at
in this equationleast one
must be exactly one implying that
one, then (19)
AHnwf + ^Wi\(HnWi) ~ Aw, = 1/ hence ? = k. is st
ing proposition esta
(ii) Following the same steps as in (i) gives ?=
(19) is stronger
fc + 1. tha
(iii) Following the2.
Proposition same steps as For
in (i) gives ? > a
Jfc + 1.

(i) If Aw. Incompatible+ Pair Inequalities.


AHnw Let / and / be two
1,... ,k, then customers. If j can be the immediate
(12) successor of i in is
(ii) If Aw. -f AHnw. + AWA(Hnw.) = 4 for exactly one tooth a feasible route, then i and / define a feasible vehi
while it is three for all other teeth, then (12) and (19) are cle transition. We represent this symbolically by i
equivalent. Similarly, if there is no feasible route with i and ; in
(iii) In all other cases (19) is stronger than (12) by at consecutive positions then i and / define an infeasible
least one. transition denoted by i' j. We use / j to denote
the feasibility of both i ? / and / -? i. Similarly, / ^ j
Proof. We first express (19) in a form similar to
means that i j and ; i and i,; define an incom
(12) by multiplying both sides of the inequality by
patible pair of nodes. Because the triangle inequality
two and using the fact that 2x(S) = 2\S\-x(8(S)) for
holds for travel times between any i,je I0, each mem
S e V0. This gives
ber of an incompatible pair of nodes in G must belong
to a different connected component; i.e., there should
-x(S(H)) + E(-x(S(W,)))
2=1 not be a path between i and ; in G.
k Let i j be an incompatible pair of nodes, and let
? ~ E(^w, ~f~ ^-Hnw, + V(\(Hnw,)) be a path {/, kx,... , k^_2,]} in G. Then the following
2=1 is a valid inequality:
or
k

x{8(H))>-j:[x(8(Wi))-(XWi
i=l
+ nHnwi + AwA(HnW,))] Constraint (29) can be lifted by reducing its right
hand side when the number of vehicles required to
(28) service the customers in is more than two; i.e.,

Now replace AHnw. + AWA(Hnw.) with Aw. + (AHnw. +

k
< |^|-max{2,A^}. (30)
x(8(H)) > E(AHnW. +^WA(Hnw,) ~^wf) If the cardinality of & is at least four, then (29) ca
2=1
also be lifted by considering the directed counterpart
of 9>. Let ix, i2, h, i4 be four consecutive nodes in
-E(*(W))-2AWj)
2=1 We identify two cases.

Transportation Science/Vol. 36, No. 2, May 2002 257

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Q-O-Q-O (a)
Incompatible Path Inequalities. The incompatible
path inequalities are similar to incompatible pair
inequalities but they take into account the underlying
directed graph. If i-? j,j i and the triangle inequal
ity holds for the travel times between any I0, then
any feasible solution cannot contain a direct path, e
(b) I, from i to j. If such a path exists in a fractional solu
tion, then the following incompatible path inequality
Figure 5 Special Cases for Incompatible Pair Inequalities is valid:
Note. The above two lifting cases apply to (29) only, not (30).

+**1,*2 +' + < l^l-2- (31)


Case 1. If xhi2,xhi2, xhU > 0 and xiih,xiih,xkh either Inequality (31) can be strengthened by taking into
do not exist or are zero (see Figure 5a), then the left account the number of vehicles needed to serve cus
hand side portion of (29) that corresponds to ix,... , i4 tomers in giving
can be replaced by xixh +2xhii +xisk.
Case 2. If x^x^x^ > 0 and xhh, xhh,xhU either +*kuk2 +''' + %h2,j ^ 1^1 -max{2, A^}. (32)
do not exist or are zero (see Figure 5b), then the left For the undirected case, valid inequalities for cut
hand side portion of (29) that corresponds to ix,... , i4 ting off infeasible fractional paths were developed by
can be replaced by xiih +2x^3 + X;4l-3. Fischetti et al. (1998) in their work on the orienteer
Inequality (30) is useful only when = 1. If this ing problem. They used the term path inequalities. The
is not the case, it is dominated by the subtour elim orienteering problem is variant of the prize collect
ination Constraint (15) defined over the set of nodes ing TSP where each city i has a value v{ but now the
in 2P. This is illustrated in Figure 6 where i = edge costs are zero. The objective is to find a sub
{i,h,k, j] and = 2. The arcs with solid lines corre tour that maximizes the weighted sum of the cities
spond to flow variables included in (30), the dashed visited within some fixed amount of time, f0. In a
arcs are the additional variables included in (15) related paper, Ascheuer et al. (1999) developed infea
while the dotted arcs entering and leaving node j sible path elimination constraints for the asymmetric
are provided for flow balance. The incompatible pair TSP.
inequality is

xih + Xhi + Xhk + Xkh + Xkj + Xjk < 2 4. Branch-and-Cut Algorithm


In this section we present a branch-and-cut method
while the subtour elimination constraint is ology for (VRPTW). The overall algorithm is first out
lined and then a detailed explanation of each compo
Xih + xhi + Xhk + Xkh + Xkj + Xjk + Xik + Xki + Xhj + Xjh < 2. nent is given.

4.1. Algorithm Outline


A branch-and-cut approach employs a combination of
cutting planes and implicit enumeration to solve inte
ger programs. The basic idea is to identify violated
inequalities (preferably facets) that are valid through
out the search tree. Let x, t, y be vectors representing
the flow, time, and load variables of (VRPTW). The
following generic model expressed in matrix form is
equivalent to (l)-(7):
Figure 6 Case Where Subtour Elimination Constraint Dominates
Incompatible Pair Inequality z = min fx (33)

258 Transportation Science/VoL 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Branch-and-Cut Procedure
Input: (VRPTW) and a known incumbent z
Output: Optimal solution, z*, of (VRPTW)
Step 1. Set z* = z
Let ft be the set of enumeration nodes that still need to be explored.
Set ft to contain the root node of the search tree.

Step 2. If ft = 0 Then
Report z* and Stop; otherwise, select enumeration node uj ? ft and Goto Step 3.

Step 3. Solve relaxation of corresponding LP(T) defined as


z\p{T) ? min{/x : (x,t,y) ? Pk}. Let (xk,tk,yk) be the optimal solution.
Step 4. If LP{T) is infeasible Then
Set ft = Q\{u} and Goto Step 2.
Step 5. If zkLP{T) > z* Then
Set ft = ft\{u;} and Goto Step 2.
Step 6. If optimal solution of LP[T) is integer Then
Set z* = min {z*, zlP(T)}, ft = Q\{u} and Goto Step 2.
Step 7. Solve separation problem and let Tk G T be the set of violated inequalities.
Put P <r- P n {(z, ?, y) 7ZV : a^x + a2* + a3y < ?o for (ai, a2, a3, a0) ^* }.
Let k be the number of identified violated valid inequalities.
Step 8. If k> 0 Then
Goto Step 3
Step 9. Create new node Co by branching, add it to ft, put k <? k + 1 and Goto Step 3

Figure 7 Branch-and-Cut Outline

Axx < a, by LP(SF), can be written as


B1x + B2t < b, zLP(W) = min fx
Qx + Qy < c, subject to
P = < D^sd, (34) a1x + a2t + a3y < a0, V(alr a2, a3, a0) e W,
x e X c 9l{n+1)x{n+l),
(x,t,y) gP = PU{0<x<1}.
Given a point (x,t,y) e Skv the separation problem con
y g Y C9in. sists of either showing that (x, t,y) satisfies all the
facet defining inequalities in W or finding at least one
Using (33) and (34), (VRPTW) can be stated as
{ax, a2, a3, a0) e W such that axx + a2t + a3y > a0.
Branch-and-cut
min{/x : (x, t, y) e conv(P)}, (35)algorithms are based on iteratively
solving the separation problem. If the solution of this
where conv(P) is the convex hull problem
of P. Let violated
identifies W be inequalities, then they are
a complete system of facet defining inequalities for the corresponding lin
added to the formulation and
(VRPTW); i.e., ear program is reoptimized. Figure 7 summarizes the
steps for the overall branch-and-cut approach at a
W = \(alf a2, a3, a0) e 9tv : particular iteration k, where Pk P. Step 1 initializes
the optimal
axx + a2t + a3y < a0, (x, t,y) e P},solution
(36) and the set of unexplored nodes
of the search tree. Step 2 specifies the termination cri
terion
where r/ = (n + 1) x (n + 1). Combining (35)and selects
and 9r/ a node
the of the search tree for fur
ther processing. denoted
linear programming relaxation of (VRPTW), In our implementation, the node with

Transportation Science/VoL 36, No. 2, May 2002 259

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

the largest objective function value is always chosen. achieve slightly greater efficiency. We have conceived
The relaxed linear program (LP) is solved at Step 3. a version of Frank's algorithm for weighted directed
Steps 4 through 6 perform the necessary bookkeep graphs that has complexity 0(|V||E|). In the code, all
ing associated with infeasible, nonoptimal and feasi cuts found at the intermediate steps are evaluated for
ble integer solutions. Step 7 involves the solution of possible violation of (15) although they might not be
the separation problem. If new violated inequalities the graph's minimum cut. We note that the min-cut
are identified, they are added to the model and the algorithm, while exact for identifying violated TSP
LP relaxation is reoptimized. If no new violations are subtour elimination constraints, is only a heuristic for
found, a new node is created (Step 9). the VRP. The reason is that a minimum cut on the sup
The valid inequalities generated at Step 7 greatly port graph might not necessarily produce a violation
depend on the order that the various separation rou of (15) although a violation might exist somewhere
tines are invoked. In our implementation, subtour else in the graph, say for a different set S with a larger
elimination constraints were identified first, followed value of As. Because As always equals one for the TSP,
by the search for incompatible pair and path inequal if a violation exists, the min-cut algorithm will always
find it.
ities, l5\ and -inequalities, and finally comb con
straints. If no new cuts were found and the current The second approach applies a graph shrinking
enumeration node, oj, was the root, then a heuristic heuristic on G similar to that of Araque et al. (1994)
was used to find violated two-path inequalities (see to identify sets S that are most likely to violate (15).
next section). The shrinking procedure works as follows. Two nodes
of G are contracted into one supernode by eliminating
4.2. Separation Heuristics for Subtour the edge connecting them. The nodes incident to the
Elimination Constraints contracted nodes become incident to the supernode
To begin, we present four heuristics for identifying (see Figure 8). The supernode is assigned a weight
subsets of nodes that violate (15) or (16). Each was that is equal to the sum of the weights of the edges
implemented as a subroutine in our code. We then connecting the nodes that form it. Each supernode is
outline a simple heuristic for finding violations of the considered as the set S in (15). The shrinking process
1Jk, l5k inequalities in (17) and (18). is repeated until the resulting graph consists of one or
The first heuristic works on the undirected graph G more disconnected supernodes. The order that nodes
and identifies node subsets S for which x(8(S)) < 2AS. are combined to form supernodes determines which
If As = 1, then violations of (15) can be found by cal constraints are identified. The weight of a supernode
culating the min-cut of graph G. If the min-cut (S : corresponds to the left-hand side of (15). Therefore, if
one does not consider the lower bound on the num
V\S) is less than two, then S violates (15). Gomory
and Hu (1961) provide an 0(n4) algorithm for find ber of vehicles, the larger the weight of a supernode
ing the min-cut of a graph, which solves n ? 1 max the more likely it is for the corresponding subtour
constraint to be violated.
flow problems along the way. In fact, their algorithm
finds the minimum cut between each pair of nodes In our implementation, a candidate list of high
in the graph which is really more information than weight edges is constructed and then an edge is
we need because we only want to identify a subset S
that violates (15). Padberg and Rinaldi (1990a) offer an
improved version of the Gomory-Hu algorithm that
has the same worst-case complexity but runs faster
in practice. For large TSPs, they suggest the use of
heuristics because of the slow running time of the
exact procedure. Nagamochi and Ibaraki (1992) pro
(a) Before shrinking (b) After shrinking d and e
posed a simple algorithm for finding the min-cut on
an unweighted graph. Frank (1994) then modified it to Figure 8 Node Shrinking Procedure

260 Transportation Science/VoI. 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

arbitrarily selected for contraction. The shrinking 4.3. Separation Heuristics for
heuristic is applied several times so that different sub Comb Inequalities
tour constraints are identified. Randomization serves To find a comb (as well as box and path-box inequal
as a search diversification mechanism. By repeating ities) we first identify a set of candidate handles and
the randomized shrinking heuristic as little as 10 then for each handle, an appropriate set of teeth is
times a considerably larger number of violated sub calculated. The procedure is outlined in Figure 9. To
tour inequalities are found as compared to the deter begin, a fractional graph is derived from G after
ministic approach. The complexity of the procedure removing all edges of weight less than s or greater
is 0(|V||E|log|E|) because the shrinking routine is than 1 ? s (Step 1), where e is a small constant. The
repeated at most |V| ? 1 times and contracting two biconnected components of are found next and
nodes into a super node involves 0(|E|) edges and serve as building blocks for the subsequent steps
0(log|E|) effort to keep the graph edges sorted. If G is (Step 2). A set of candidate handles is constructed
sparse, then the complexity reduces to 0(| V|2log|E|). by using the biconnected components of (Step 3).
Each biconnected component with at least three nodes
The third heuristic exploits the structure of a fea
is a handle candidate. In addition, the union of two
sible solution. The undirected graph G0 that corre
biconnected components that share a common articu
sponds to a feasible integer solution consists of one
lation point is also a handle candidate. For each han
connected component with the depot as the only artic
dle H, a set of teeth candidates is derived by using
ulation point of the graph. Similarly, G for a feasi
one of the following two methods. The first identi
ble integer solution is a disconnected graph consisting
fies edges in G that belong to the cutset (H, V\H)
of connected components each of which is an open
and have weight at least 1 ? s. The vertices incident
path. Each path corresponds to a route. For a frac
to such an edge become a tooth candidate (Step 4a).
tional solution, each component of G0 not containing The second method considers each element v of H
the depot violates (15). Also, each biconnected compo and constructs a tooth that includes v and consists
nent, S, of G is considered a candidate for a violation of either one more node that lies outside H or a
of (15). biconnected component of that intersects H at v
The fourth heuristic involves finding violated two (Step 4b.l^b.3). Intersecting teeth are discarded (Step
path inequalities. This type of inequality was intro 4c). If the resulting teeth set along with H comprise
duced by Kohl (1995) and is defined as a subtour a comb and either (12) or (19) is violated, then the
elimination constraint of the form (15) such that the corresponding inequality is appended to the model
set of customers S needs exactly two vehicles to be (Step 5).
serviced (As =2) but is currently being serviced by The procedure is not exact. Its complexity depends
one vehicle. In our implementation, we used one on the number of biconnected components in
of the heuristics proposed by Kohl. We found that which is usually a small constant for instances of large
it worked well for relatively constrained problems or moderate size. This results in 0(|?|) complexity.
despite its exponential worst-case complexity. The same approach outlined in Figure 9 was used to
Our investigation of the l3 k and *D k inequalities led find box and path-box inequalities.
us to consider the nodes of each biconnected compo
nent of G as a subtour that might violate (17) or (18). 4.4. Separation Heuristic for Incompatible
To increase the likelihood of finding a violation, the Path Inequalities
nodes of each biconnected component are numbered The underlying weighted directed graph, G, is used
such that the third term of (17) or (18) is maximized. to identify paths that violate (32). We define G' =
To accomplish this, the node with the highest over (Vr\{0},A). Given G we define # by replacing the
all incoming (outgoing) edge weight is selected to be weight, o)e, of each edge e e A by 1 - (oe. Let e
the first node of the set when testing for violated t) k I,i-? j,j i and be a directed path from i to ; in
inequalities (l3k inequalities). %. The weight of a directed path is denoted by (0$

Transportation Science/VoI. 36, No. 2, May 2002 261

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Procedure for Comb Inequalities


Input: Graph G and constant e
Output: Violated comb inequalities
Step 1 Let Q be a graph derived from G after removing all edges with weights less than
or greater than 1 ? e.
Step 2 Find set B of bi-connected components of Q.
Step 3 Let H be a set of handle candidates constructed as follows:
Each bi-connected component of Q with at least three nodes belongs to %;
The union of any two bi-connected components of Q that share a common
articulation point belongs to %.
Step 4 For each H ? U find set T of teeth candidates as follows
Step 4a Each edge of the cut set (if, V\H) in G with at least I ? e weight belongs to T
Step 4b For each node v ? H Do
Step 4b.1 Let T\ = {(z/, i) : i ? H} and e* ? T\ such that ue* = maxeeTi{^e}
Step 4b.2 Let T2 = {S : 5 ? B and S D H = {u}} and
B* ? Ti such that ub* = rm,XBeT2{^B}
Step 4b.3 If we* >wB. Then T = T U e*
Else T = TU B*
Step 4c Eliminate from T intersecting teeth.
Step 5 If |T| > 3 and (12) or (19) is violated Then add corresponding comb inequality.

Figure 9 Comb Inequality Identification

and the violation of (32) for a particular path ^ is The left-hand side of (40) is gj^. Also, the violation of
denoted by v$. We first present a lemma that relates (38) is the difference between the right- and left-hand
the weight of an incompatible path with the violation side; i.e., v? = 1 -<o$.
of the corresponding valid inequality (32). Case 2. A^ > 1.
The derivation is almost identical to that of the first
Lemma 2. Let i, j eI,i-? j, j -> i and a path ?> in
form i to j. Then case. The constraint corresponding to (32) is

v? = (max{2, A^} -1) - (o$. (37) *i, h + xkl t kl + + xkft j < | # | - A^.

Proof. Let = i,klf... , fc^,/. We consider two After substituting i/f+2 for multiplying both sides
cases, depending on the value of A^. by ?1, and adding if/ + l to both sides we obtain
Case 1. A^ = 1.
The constraint corresponding to (32) is as follows: G>gS > AgJ ? 1

xifkl+xkifk2+..-+xk^j<\?\-2. (38> which leads to v? ? ? l) ? (o$.


By expressing the cardinality of as a function of if/ Our separation procedure for finding incompati
we obtain ble path inequalities is based on finding the short
est directed path in between nodes i and ; where
xUkl+xkltk2 + '" + xk^<(tli + 2)-2. (39) i -? j and ; -> i (see Figure 10). The complexity of
The left-hand side of (39) contains \\i +1 terms; there the procedure depends on how many pairs of nodes,
fore, by multiplying both sides of (39) by -1 and then (/,;), exist such that i -/> j and / /. In our imple
adding i/j +1 to both sides we obtain mentation, Step 2 is preceded by finding the shortest
path between all pairs of nodes, resulting into 0(| V|3)
(1 -xl/kJ + (1 -xkiiki) + + (1 -xkftj) > 1. (40) complexity.

262 Transportation Science/VoL 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Procedure for Incompatible Path Inequalities


Input: Graph G'
Output: Violated incompatible pair inequalities
Step 1 Construct Q' from G' by replacing the weight, ue, of each edge with 1 - ue.
Step 2 For each i, j / such that i j and j ?y i Do
Step 2a Let V* be the shortest path from i to j in Q'.
Step 2b Ifiy,>OThen
Step 2c Add incompatible path inequality for path V*.

Figure 10 Incompatible Path Inequality Identification

The proposed procedure is exact as shown by the the previously described algorithm for inc
following lemma. path inequalities. An outline is contained in F

Lemma 3. Let i, j el,i^> j, j -> i and be the short


We start with graph G and derive a new
by replacing the weight, o)e, of each edge
est path from i to j in V. Then there exists no other path,
comax ? (oe, where ojmax is the maximum edge w
2P, from i to j such that X$ < A^ and < v$*.
G. Each incompatible pair i ; of G is consid
Proof. The proof is based on Lemma 2. Let ^ be a if / and j belong in the same connected co
path between i and /, then in G, then a path connecting them may vio
To increase the chance of finding a violated i
(o$ > a>$. (41) the shortest path between i and ; in G is con
which leads to In our implementation, we first find the shor
between all pairs of nodes before proceeding
1 - <o$ < 1 - Q)& of
(42)
the heuristic.
This intermediate step de
the complexity of the procedure which is
after multiplying by ?1 and adding 1 to both sides of
Floyd-Warshal algorithm was used; see Floy
the inequality.
Finding all-to-all shortest paths is justified es
Case 1. A^* = 1.
for highly constrained problems because the
The right-hand side of (42) is v$*. If A^ = 1, then the
of incompatible node pairs is relatively high.
left-hand side of (42) is v$; i.e., v$ < v$+.
Case 2. A^* > 1. 4.6. Time and Load Constraints
Case 2a. A^ = 1. Then the left-hand side of (42) is
Early testing indicated that constraints (4
v$. Also the right-hand side cannot be more than
were almost always loose in the solution to
(Agj* -1) - <o$* which is v$*. LP relaxation. The number of these constr
Case 2b. 1 < A^ < A^*. Given that A^ < A^* then
0(n2) so their inclusion in the model greatly i
A^-l< A^-l. (43)
Procedure for Incompatible Pair Inequalities
Adding (41) and (43) produces Input: Graph G
Output: Violated incompatible pair inequalities
(A# -1) - a>$ < (A#, -1) - a>& Step 1 Construct G'
Step 2 For each % ft j Do
implying v$<v&.
Step 2a If i,j belong to the same connected component
Step 2b Let V be the shortest path between z and j
4.5. Separation Heuristic for Incompatible
Step 2c If V violates (30) Then
Pair Inequalities Add incompatible pair inequality.
The separation heuristic for finding incompatible pair
inequalities; i.e., violations of (29) or (30), Figure 11 Incompatible
is similar to Pair Inequality Identification

Transportation Science/VoI. 36, No. 2, May 2002 263

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Ordering Heuristic
Input: LP solution of (VRPTW) and lower bound A on the number of vehicles
Output: Feasible solution
Step 1 Sort customers in ascending order based on optimal LP solution time variables (?, ).
Step 2 Select seed customers and initialize A routes.
Step 3 While f//0Do
Step 3a If 3 i ? T and j G U such that X{j = 1 Then
Let u = j and p* = route of i.
Else
Let u ? U such that tu ? mint-Gt/{f,-}.
Let p* such that cp*?u = min{cP;U}.
Step 3b Append u to end of route p* and set U = U\u.

Figure 12 Heuristic for Finding Feasible Solutions

the computational effort. To reduce this effort,lowerwe bound A on the number of vehicles, the A cus
omitted (4) and (5) at the first iteration of the tomers
B&C with the earliest arrival times are considered
algorithm (see Figure 7). At Step 7, violations were
as seed customers to start routes (Step 2). A minimum
identified and added back into the formulation. time (distance) between seed customers is required so
We had initially tried replacing (4) and (5) with
that athe first customers of the routes are as dispersed
set of surrogate constraints obtained for a given jaselpossible. After the initialization step, customers are
by summing each inequality over i e /(;), where appended !(;') = sequentially to the end of existing routes.
Let U be the set of customers that are yet to be routed.
{i e 1 : Xjj is feasible for ; e I}. In the case of (4), the
resultant inequalities are A customer is selected to be routed based on two cri
teria (Step 3a). Let T be the set of last customers in
IW;> Eitr + TijXij-Tiitt-Xij)), 7 I. the existing partial routes. If there is a j e U and an
iel(j)
/ T such that x/; = 1 in the LP solution, then ; is
This approach provided no benefit when compared to appended after i. Otherwise, the customer u with the
solving the full model so it was abandoned in favor earliest arrival time is selected and appended to the
of omitting (4) and (5) altogether. end of the partial route p* (Step 3b); p* is chosen to
minimize the following cost:
4.7. Lower and Upper Bounds
cp,u = 8l(t^/bu) + S2tip) (44)
Effective lower and upper bounding procedures can
accelerate the solution process by eliminating part of where is the arrival time at u if it is appended to
the solution space. In our computational study we the end of route p. If u cannot be feasibly inserted
used the lower and upper bounding heuristics of in any existing route, then a new route is introduced.
Kontoravdis and Bard (1995). In addition, the follow The cost function (44) consists of two components that
ing heuristics were developed to convert fractional LP are appropriately weighted by positive constants S1
solutions to feasible solutions.
and 52, such that 8X + <52 = 1. The first component pro
The first is based on the time variables t{ which vides an estimate of the urgency to visit a particu
must be increasing along a route in a feasible solu lar customer by comparing the arrival time with the
tion. This property is exploited to build routes (see end of the corresponding time window. The second
Figure 12). To begin, customers are placed in ascend component accounts for the time that is allocated for
ing order of their arrival times (Step 1). They are then visiting a customer.
appended to partial routes starting with those cus The second heuristic is based on iteratively round
tomers having relatively early arrival times. Given a ing flow variables and reoptimizing the resultant

264 Transportation Science/VoL 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

model. Given a constant y, a binary variable x/; is of the search tree. For each edge (i, j) that is excluded
rounded up to one if xf; > 1 ? y and it is rounded due to sparsification, the following should be true for
down to zero if xz/ < y. If the resulting model is either the optimal solution of the sparsified problem to be
infeasible or nonoptimal at a particular iteration, then the optimal solution of the original problem:
the heuristic fails. Otherwise, it continues until either
an all integer solution is obtained which is better ^;>z*-zLP. (45)
than the incumbent, or no more flow variables can be
If a discarded edge does not satisfy (45) the
rounded. In the former case, the heuristic terminates
added to the formulation and the branch-and-c
successfully, while in the latter case the corresponding
cedure is repeated, starting from the current ba
LP solution can be provided to the ordering heuristic
to obtain a feasible solution.
A second preprocessing step involves reduc
tomer time windows. Narrow time window
The gap between upper and lower bounds can help
many transitions to become infeasible, thus r
reduce the number of binary variables (Nemhauser
the number of integer variables. In our study w
and Wolsey 1988). Let z and z be a lower and upper
the time window reduction techniques introduc
bound, respectively, on the optimal LP solution. We Desrochers et al. (1992) and Kontoravdis an
denote by c/; the reduced cost of the binary flow vari (1995). Both procedures are invoked at the be
able xtj. Then, if xf; is one and cz; < ? (z ? z), then there of the branch-and-cut algorithm. In additio
exists an optimal IP solution for which xi; is equal to time a flow variable is permanently fixed the w
one. Similarly, if x^ is zero and cf; > (z ? z), then there reduction routines are called to check if any ti
exists an optimal IP solution for which xi; is equal to dows can be further reduced.
zero. The above conditions are evaluated at every iter
ation of the branch-and-cut algorithm so that as many
flow variables as possible are fixed. 5. Computational Experience
The proposed branch-and-cut approach was te
4.8. Preprocessing the six problem sets (Rl, Cl, RC1, R2, C2, RC
When the time window and/or capacity constraints oped by Solomon (1987). Each data set contain
are tight, a large number of binary variables can be 8 to 12 100-customer problems over a Euclidean
eliminated by identifying incompatible node pairs. 100 grid. Customer locations are determined by
When these constraints are not particularly restrictive dom uniform distribution for problem sets Rl
the number of flow variables can still be reduced by but are restricted to be within clusters for sets
eliminating candidates that are not likely to be part C2. Sets RC1 and RC2 have a combination of clu
of an optimal solution. The sparsified problem is then and randomly placed customers. Sets Rl, Cl a
solved and at optimality a check is made to see if have a short scheduling horizon with tight ti
the objective function can be improved by reinstating dows; the opposite is true for R2, C2 and RC
any of the eliminated variables. In our implementa tional data sets were derived by considering on
tion, we eliminate a transition from i to ; if the direct first 50 customers of Rl, Cl, RC1, R2, C2 a
time from i to ; is more than rmax/$, where Tmax is sets. In all instances, only a single type of se
the maximum time between any two nodes and cf) is included.
the sparsification factor. The latter is set so that the Travel time between customers is equal to the cor
resulting time matrix contains approximately 20-30% responding distances. Both travel time and distance
of the n(n + l) transitions. Upon termination to ensure is truncated to one decimal digit. All runs were done
that the optimal solution of the sparsified problem is on a SUN SPARC-10 workstation. The branch-and-cut
also the optimal solution of the original problem, the algorithm was implemented in C++ and compiled by
following check is performed. Let z* be the optimal the SUN C++ compiler with the optimization option
solution of the sparsified problem and let zLP be the (-O) enabled. The CPLEX callable library version 4.0
solution of the relaxed sparsified LP at the root node was used as the LP solver. The quality of a solution is

Transportation Science/VoI. 36, No. 2, May 2002 265

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

measured in terms of the minimum number of vehi cases the remaining decimals were truncated. Kohl
cles. Distance traveled was considered as a secondary (1995) and Kohl and Madsen (1997) on the other hand
objective. It was handled by applying a two-opt dis calculated both cost and travel time using one sig
tance reduction procedure to the solution associated nificant decimal digit and then truncated. We fol
with the minimum number of vehicles. lowed their convention. Different calculation conven
The algorithm was terminated either upon obtain tions have minor impact on most of Solomon's data
ing the optimal solution or reaching the maximum sets in terms of the solution space. However, for a few
allowed CPU time limit which was set to one hour. data sets, for example R101 and R102, variations of
Various algorithm parameters were set as follows (see the numerical accuracy lead to totally different opti
Kontoravdis 1997 for a complete description of the mal solutions due to the fact that some routes that are
implementation details): Branching was done on the optimal under one convention are not feasible under
time variables after preliminary results showed that the other.
this was a more effective strategy than branching on Readers interested in computations based on paral
a single flow variable. All violated valid inequalities lel processing are referred to the work of Rich (1999),
found by the separation heuristics were added to the and Cook and Rich (1999) who solve the same set of
formulation regardless of the degree of violation. A problems as well as instances containing up to 200
valid inequality was considered inactive if its slack customers. Their general approach is similarly based
was 0.5 or more, and was purged from the model on cutting planes.
after being inactive for 10 iterations. The randomized
variation of the graph contraction heuristic for finding 5.1. Results for 50-Node Problems
violated subtours (see ?4.2) was terminated if either We now present our computations for the 50-node
no new inequality was found within five repetitions R and RC problems. Results for the C problems are
or a maximum of 200 iterations was reached. A num not presented here because all of these instances were
ber of flow variables was initially fixed to zero by solved optimally during the preprocessing step where
using the procedure described in ?4.7 with the spar lower and upper bounds are calculated. Tables 1 and
sification factor set to five.
2 summarize the results. LB is the starting lower
To initialize the branch-and-cut algorithm we first bound. Nodes gives the number of search tree nodes
obtained a lower and upper bound on the optimal explored before reaching optimality and Time is the
solution by using the lower bounding procedures and number of CPU seconds including preprocessing and
the GRASP described in (Kontoravdis and Bard 1995). initialization. The column Presolver shows whether the
In a number of instances, this was all that was nec branch-and-cut algorithm was invoked or the prob
essary. Our general strategy, though, was to invoke lem was optimally solved by the preprocessor. All cuts
these procedures at each node of the search tree. provides the number of valid inequalities identified
Before presenting the results we need to make a few by the separation procedures until the optimal solu
comments on the issues involved with comparing the tion was found. Finally, Active cuts corresponds to the
proposed branch-and-cut scheme with previous work. number of valid inequalities that were still in the LP
It is particularly difficult to compare computation formulation upon termination of the branch-and-cut
times across different hardware platforms and various algorithm. For the problems that were solved in the
compiler and software environments. Because of this preprocessing step there is no corresponding entry in
we only report our computational results. Another the All cuts and Active cuts columns.
issue relates to the solutions obtained. Comparisons All 50-node instances, except RC201, were solved
are not straightforward because different methods for optimally. Most of the Rl and RC1 instances were
calculating time, distance, and the cost of a solution previously solved by Kohl with the objective of
have been used. More specifically, Desrochers et al. minimizing the distance traveled rather than the num
(1992) calculated cost using one significant decimal ber of vehicles. Our solution times were compara
digit and travel time with no decimal digits. In both ble to his. Note that the only real difference between

266 Transportation Science/VoI. 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Table 1 Results for the 50-Node R Problems the two problems is the objective function term so
Data All Active both formulations have the same complexity. If the
Set LB Optimal Distance Nodes Presolver Time Cuts Cuts goal were to minimize distance, one would simply
1*101.50 11 11 1,156.0 0 Y 12 replace min ?"=i % in CO with min ELo E?=o Tijxij- As
r102.50 9 10 933.6 1 N 23 1 1 mentioned earlier, distance minimization was a sec
r103.50 8 8 925.8 0 Y 9 ondary objective in our work, and was addressed by
r104.50 5 6 662.9 49 N 949 3,831 805 a two-opt heuristic. Our solutions for Rl and RC1 had
r105.50 7 8 1,012.1 18 N 552 2,355 1,275
r106.50 6 7 837.0 75 N 166 1,620 938 an average gap of 7% and 3.3%, respectively, from the
r107.50 5 6 788.0 20 N 94 570 521 optimal solutions reported by Kohl.
r108.50 5 6 652.6 67 N 317 1,375 877 We are not aware of any previous optimal results
r109.50 6 7 827.5 86 N 514 1,744 1,392 for the R2 and RC2 instances. Kohl and Madsen
r110.50 5 7 781.9 107 N 1,614 956 748
r111.50 5 7 738.0 92 N 993 789 428 only report results for the Cl data sets. Moreover, no
r112.50 5 6 699.9 38 N 860 1,750 991 attempt was made by Kohl in his thesis to solve any
of the R2, C2, or RC2 instances.
r201.50 2 2 1,014.9 0 Y 15
r202.50 2 2 895.9 0 Y 13
r203.50 2 2 784.7 0 Y 16 5.2. Results for 100-Node Problems
r204.50 1 2 560.0 1 M 37 54 19
Like the 50-node problems all 100-node C problems
r205.50 2 2 870.7 0 Y 12
r206.50 2 2 787.4 0 Y 14 were solved optimally in the preprocessing step. In
r207.50 2 2 680.3 0 Y 13 contrast, only a few of the 23 R and 16 RC instances
r208.50 1 2 547.4 17 N 459 1,687 307 were solved. The results are shown in Table 3. None
r209.50 2 2 761.2 0 Y 7 of the loosely constrained problems R2 and RC2 was
r210.50 2 2 826.4 0 Y 11 solved within the one hour CPU time limit and so
r211.50 1 2 642.8 8 N 721 914 683
are not listed. Our best feasible solutions for these
instances can be found in (Kontoravdis and Bard
1995).
In terms of distance, our solutions were an aver
age of 6.15% from the optimal solutions reported by
Table 2 Results for the 50-Node RC Problems
Kohl. This does not take into account problem R103
Data Active because Kohl does not report an optimal solution for
Set LB Optimal Distance Nodes Presolve
it. Desrochers et al. (1992) reported optimal solutions
rc101.50 6 8 944.6 54 N 457 1,591 607 for problems R101 and R102. However, due to the
rd02.50 5 7 828.4 86 N 1,593 2,018 781 fact that they truncated the travel time they obtained
rd 03.50 5 6 714.4 90 N 232 869 184
rd 04.50 5 5 579.2 0 Y 13 an optimal solution for R101, which required one less
vehicle than did ours and Kohl's.
rd05.50 6 8 858.8 99 N 1,473 2,256 593
rd 06.50 5 6 724.4 68 N 935 1,097 429
rd 07.50 5 6 693.1 61 N 589 635 158
rd 08.50 5 6 662.0 19 N 175 416 182 Table 3 Results for the 100-Node R and RC Problems
All Active
rc201.50 2 N
Data Set LB Optimal Distance Nodes Presolver Time Cuts Cuts
rc202.50 2 2 884.8 0 Y 11
rc203.50 1 2 710.7 1 N 41 264 192 (101.100 18 19 1,672.4 2 N 392 709 450
rc204.50 1 2 560.4 1 N 29 146 120 r102.100 16 17 1,544.7 7 N 284 542 358
rc205.50 2 2 1,114.0 1 N 97 374 248 M03.100 13 13 1.389.2 0 Y 34
rc206.50 2 2 891.1 0 Y 9 M05.100 10 14 1.460.3 128 N 2,713 3,724 1,562
rc207.50 1 2 779.1 1 N 52 109 92 rc101.100 10 15 1,719.2 73 N 548 1,877 695
rc208.50 1 2 610.8 16 N 809 1,189 471 rc105.100 12 14 1,694.0 87 N 726 1,263 838

Transportation Science/VoI. 36, No. 2, May 2002 267

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

6. Discussion relaxations. This consumed approximately 70% of the


effort.
We have presented a new optimization method for
The overall results indicated that the subtour elim
minimizing the fleet size of a temporally constrained
VRR Our results indicate that problems with 50 cusination constraints were by far the most effective
tomers can be routinely solved, while larger instanceswhile the combs were the least. This was expected
as we used four different heuristics to eliminate sub
can also be solved if they are sufficiently constrained.
The proposed method is general enough to be used tours and only one for combs. A randomized ver
for solving other routing problems as well. To minision of the comb identification procedure would most
likely increase their computational impact. Similarly,
mize travel time or distance, for example, only a few
minor modifications are needed in the objective funcadding a more sophisticated separation routine for
tion. the l5 k and *D\ inequalities should improve the over
As can be seen from Tables 1-3, the number of cuts all performance of the branch-and-cut algorithm. One
added to a problem is anywhere from one to five possibility in this regard would be to do a depth-first
times the number of cuts in the final LR This rela search on the undirected support graph to identify all
tionship remained fairly constant when we varied the cycles. The directed version of each cycle would then
order in which the separation problems were solved. be reconstituted and sequentially tested for a violation
Nevertheless, it would be useful to have some idea of of (17) or (18). For a cycle consisting of k nodes, up to
the relative importance of each valid inequality. One k tests could be performed for each constraint. When
way to gauge their effect is to repeatedly solve a set the support graph is sparse, this procedure should
of benchmark instances and use a different class of work well but may become too enumerative for den
cuts at each repetition. We initially tried this approach sities exceeding 30 or 40%.
for a small subset of the problems in Table 1 but
were unable to solve any of them. This is pretty much References
in line with Augerat's computational findings which Araque, J. R., G. Kudva, T. Morin, J. F. Pekny. 1994. A branch-and
showed that adding only one type of valid inequali cut algorithm for vehicle routing problems. Ann. Oper. Res. 50
37-59.
ties substantially reduces the power of the approach.
Consequently, we used the following indicators to Ascheuer, N., M. Fischetti, M. Grotschel. 1999. Solving the asym
metric travelling salesman problem with time windows by
assess the importance of each cut: number of inequal
branch and cut. Preprint SC 99-31. Konard-Zuse-Zentrum fur
ities generated, number of active inequalities at the Informationstechnik, Berlin, Germany.
final solution, average slack of active inequalities, and Augerat, P. 1995. Approache polyedrale du probleme de tournees
corresponding computation time. de vehicules. Ph.D. thesis, Institut National Polytechnique de
Grenoble, Grenoble, France.
Typical behavior can be inferred by examining
Bodin, L. B., B. L. Golden, A. A. Assad, M. O. Ball. 1983. Routing
the algorithm's performance on the 50-node problem
and scheduling of vehicles and crews?The state of the art.
labeled rl05.50 in Table 1. In this case, the subtour
Comput. Oper. Res. 10 63-211.
elimination constraints represented 19% of the overall Cook, W., J. L. Rich. 1999. A parallel cutting plan algorithm for
3831 inequalities found and 20% of the active inequal the vehicle routing problem with time windows. Technical
ities of the final LR By way of contrast, the incom report, Computational and Applied Mathematics, Rice Univer
sity, Houston, TX.
patible pair inequalities represented 13% of the active
Cornuejols, G., F. Harche. 1993. Polyhedral study of the capacitated
constraints in the final LP, the incompatible path vehicle routing. Math. Programming 60 21-52.
inequalities 9%, the combs 4%, and the l5 k and *D k Desrochers, M, J. Desrosiers, M. M. Solomon. 1992. A new opti
inequalities 2%. Also, 17% of the departure time con mization algorithm for the vehicle routing problem with time
straints (4) and 17% of the pickup constraints (5) were windows. Oper. Res. 40 342-354.

active at the optimum. For those instances that were -, J. K. Lenstra, M. W. P. Savelsbergh, F. Soumis. 1988. Vehicle
routing with time windows: Optimization and approximation.
not presolved, the optimal solution was uncovered,
B. L. Golden, and A. A. Assad, eds. Vehicle Routing: Methods
on average, about half way through the search tree. and Studies. North-Holland, Amsterdam, The Netherlands,
The bulk of the work was in repeatedly solving the LP 65-84.

268 Transportation Science /Vol. 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms
BARD, KONTORAVDIS, AND YU
Branch and Cut for the Vehicle Routing Problem

Desrosiers, J., Y. Dumas, M. M. Solomon, F. Soumis. 1995. Time Kontoravdis, G. 1997. The vehicle routing problem with time win
constrained routing and scheduling. M. O. Ball, T. L. Mag dows. Ph.D. thesis, Graduate Program in Operations Research,
nati, C. L. Monma, and G. L. Nemhauser, eds. Handbooks The University of Texas, Austin, TX.
in Operations Research and Management Science: Network Rout -, J. F. Bard. 1995. A GRASP for the vehicle routing problem
ing, vol. 8. North-Holland, Amsterdam, The Netherlands, with time windows. ORSA J. Comput. 7 10-23.
35-139. Laporte, G., Y. Nobert. 1984. Comb inequalities for the vehicle rout
Fischetti, M., P. Toth. 1997. A polyhedral approach to the asymmet ing problem. Methods Oper. Res. 51 271-276.
ric travelling salesman problem. Management Sci. 43 1520-1536. Nagamochi, H., T Ibaraki. 1992. Computing edge-connectivity in
-, J. J. Salazar Gonzalez, P. Toth. 1998. Solving the orienteer multigraphs and capacitated graphs. SIAM J. Discrete Math. 5
ing problem through branch-and-cut. INFORMS J. Comput. 10 54-66.
133-148. Nemhauser, G. L., L. A. Wblsey. 1988. Integer and Combinatorial
Floyd, R. 1962. Algorithm 97, shortest path. Comm. ACM 5 345. Optim. Wiley, New York.
Frank, A. 1994. On the edge-connectivity algorithm of Nagamochi Padberg, M. W., G. Rinaldi. 1990a. An efficient algorithm for the
and Ibaraki. Working paper, ARTEMIS-IMAG, Universite de minimum capacity cut problem. Math. Programming 47 19-36.
Grenoble, Grenoble, France. -,-. 1990b. Facet identification for the symmetric traveling
Gomory, R. E., T. C. Hu. 1961. Multiterminal network flows. SI AM salesman polytope. Math. Programming 47 219-257.
}. Appl. Math. 9 551-570. -,-. 1991. A branch-and-cut algorithm for the resolution of
Grotschel, M., M. W. Padberg. 1985. Polyhedral theory. E. L. Lawler, large scale symmetric traveling salesman problems. SIAM Rev.
J. K. Lenstra, A. H. G. Rinnooy Kan, and D. B. Shmoys, eds. The 33 60-100.
Traveling Salesman Problem. Wiley, Chichester, U.K., 251-306. Rich, J. L. 1999. A computational study of vehicle routing problem
Hoffman, K. L., M. W. Padberg. 1993. Solving airline crew applications. Ph.D. thesis, Computational and Applied Mathe
scheduling problems by branch-and-cut. Management Sci. 39 matics, Rice University, Houston, TX.
657-683. Sol, M., M. W. P. Savelsbergh. 1994. A branch-and-price algorithm
Kohl, N. 1995. Exact methods for time constrained routing and for the pickup and delivery problem with time windows.
related scheduling problems. Ph.D. thesis, Technical University Memorandum COSOR 94-22. Department of Mathematics
of Denmark, Lyngby, Denmark. and Computing Science, Eindoven University of Technology,
-, O. B. G. Madsen. 1997. An optimization algorithm for Eindoven, The Netherlands.
the vehicle routing problem with time windows based on Solomon, M. M. 1987. Algorithms for the vehicle routing and
Lagrangian relaxation. Oper. Res. 45 395^06. scheduling problem with time window constraints. Oper. Res.
-, J. Desrosiers, O. B. G. Madsen, M. M. Solomon, F. Soumis. 35 254-265.
1999. Two-path cuts for the vehicle routing problem with time -, J. Desrosiers. 1988. Time window constrained routing and
windows. Transportation Sci. 33 101-116. scheduling problems. Transportation Sci. 22 1-13.

Received: February 2000; revision received: August 2000; accepted: October 2000.

Transportation Science/VoI. 36, No. 2, May 2002

This content downloaded from


202.43.95.117 on Fri, 15 Oct 2021 02:01:52 UTC
All use subject to https://about.jstor.org/terms

You might also like