SlideShare a Scribd company logo
This article was downloaded by: [107.133.16.252] On: 28
October 2021, At: 19:43
Publisher: Institute for Operations Research and the
Management Sciences (INFORMS)
INFORMS is located in Maryland, USA
Operations Research
Publication details, including instructions for authors and
subscription information:
http://pubsonline.informs.org
A Branch-and-Cut Algorithm for the Dial-a-Ride Problem
Jean-François Cordeau,
To cite this article:
Jean-François Cordeau, (2006) A Branch-and-Cut Algorithm
for the Dial-a-Ride Problem. Operations Research 54(3):573-
586.
https://doi.org/10.1287/opre.1060.0283
Full terms and conditions of use:
https://pubsonline.informs.org/Publications/Librarians-
Portal/PubsOnLine-Terms-and-
Conditions
This article may be used only for the purposes of research,
teaching, and/or private study. Commercial use
or systematic downloading (by robots or other automatic
processes) is prohibited without explicit Publisher
approval, unless otherwise noted. For more information, contact
[email protected]
The Publisher does not warrant or guarantee the article’s
accuracy, completeness, merchantability, fitness
for a particular purpose, or non-infringement. Descriptions of,
or references to, products or publications, or
inclusion of an advertisement in this article, neither constitutes
nor implies a guarantee, endorsement, or
support of claims made of that product, publication, or service.
Copyright © 2006, INFORMS
Please scroll down for article—it is on subsequent pages
With 12,500 members from nearly 90 countries, INFORMS is
the largest international association of operations research
(O.R.)
and analytics professionals and students. INFORMS provides
unique networking and learning opportunities for individual
professionals, and organizations of all types and sizes, to better
understand and use O.R. and analytics tools and methods to
transform strategic visions and achieve better outcomes.
For more information on INFORMS, its publications,
membership, or meetings visit http://www.informs.org
http://pubsonline.informs.org
https://doi.org/10.1287/opre.1060.0283
https://pubsonline.informs.org/Publications/Librarians-
Portal/PubsOnLine-Terms-and-Conditions
https://pubsonline.informs.org/Publications/Librarians-
Portal/PubsOnLine-Terms-and-Conditions
http://www.informs.org
OPERATIONSRESEARCH
Vol. 54, No. 3, May–June 2006, pp. 573–586
issn0030-364X�eissn1526-5463�06�5403�0573
informs ®
doi10.1287/opre.1060.0283
©2006 INFORMS
A Branch-and-Cut Algorithm for
the Dial-a-Ride Problem
Jean-François Cordeau
HEC Montréal, 3000 chemin de la Côte-Sainte-Catherine,
Montréal, Quebec, Canada H3T 2A7, [email protected]
In the dial-a-ride problem, users formulate requests for
transportation from a specific origin to a specific destination.
Transportation is carried out by vehicles providing a shared
service. The problem consists of designing a set of minimum-
cost vehicle routes satisfying capacity, duration, time window,
pairing, precedence, and ride-time constraints. This paper
introduces a mixed-integer programming formulation of the
problem and a branch-and-cut algorithm. The algorithm uses
new valid inequalities for the dial-a-ride problem as well as
known valid inequalities for the traveling salesman, the vehicle
routing, and the pick-up and delivery problems. Computational
experiments performed on randomly generated instances
show that the proposed approach can be used to solve small to
medium-size instances.
Subject classifications: transportation: vehicle routing;
programming: cutting plane.
Area of review: Transportation.
History: Received September 2003; revision received August
2004; accepted March 2005.
1. Introduction
In the Dial-a-Ride Problem (DARP), users formulate re-
quests for transportation from a specific origin (or pick-up
point) to a specific destination (or drop-off point). Trans-
portation is carried out by vehicles that provide a shared
service in the sense that several users may be in a vehicle at
the same time. The aim is to design a minimum-cost set of
vehicle routes accommodating all requests under a number
of side constraints. A common DARP application arises in
door-to-door transportation services for the elderly and the
disabled. In this context, users often formulate two requests
per day: an outbound request from home to a destination,
and an inbound request for the return trip.
Most dial-a-ride services are characterized by the pres-
ence of two conflicting objectives: minimizing operating
costs and minimizing user inconvenience. Operating costs
are mostly related to fleet size and distance traveled, while
user inconvenience is often measured in terms of devia-
tions from desired pick-up and drop-off times and in terms
of excess ride time (i.e., the difference between the actual
ride time of a user and the minimum possible ride time).
One way to achieve a balance between these objectives is
to treat cost minimization as the primary objective and to
impose service quality constraints.
As in the work of Jaw et al. (1986) and Cordeau and
Laporte (2003b), we assume here that the user specifi es
either a desired arrival time at destination (in the case of
an outbound request) or a desired departure time from the
origin (in the case of an inbound request). In both cases, a
time window of a prespecified width is constructed around
the desired time. In addition, an upper bound is imposed
on the ride time of the user. This approach seems to be in
line with the current practice of several North American
transporters. For example, in a system with 15-minute time
windows and a maximum ride time of 45 minutes, a user
wishing to arrive at destination at 9:00 would be picked up
no earlier than 8:00 and dropped off between 8:45 and 9:00.
It should be emphasized that imposing time windows is not
sufficient to accurately impose a maximum ride time. In
the above example, a pickup at 8:00 and a drop-off at 9:00
would exceed the maximum ride time of 45 minutes. How-
ever, constraining the pickup to take place no earlier than
8:15 would be too restrictive because it would, in particular,
prohibit a pickup at 8:00 and a drop-off at 8:45.
Dial-a-ride services may operate according to a static or
to a dynamic mode. In the first case, all requests are known
beforehand, while in the second case requests are gradually
received throughout the day and vehicle routes are adjusted
in real time to meet demand. In practice, pure dynamic
problems rarely exist because a large subset of requests is
often known in advance. This paper deals with the static
variant of the problem.
Because it incorporates time windows and maximum
ride-time constraints, the DARP is a difficult problem
that generalizes the Vehicle Routing Problem with Pickup
and Delivery (VRPPD). Finding a feasible solution for
the DARP is itself NP-hard because it also general-
izes the Traveling Salesman Problem with Time Windows
(TSPTW) (see, e.g., Savelsbergh 1985). As a result, most
previous work has concentrated on the development of
heuristics. Nevertheless, when the problem is moderately
constrained, exact solution approaches can be devised to
solve small to medium-size instances.
Our aim is to describe valid inequalities and a branch-
and-cut algorithm for the DARP. Branch-and-cut has
proved to be an effective technique for solving the TSP, the
573
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
574 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
VRP, and several other routing problems (see, e.g., Naddef
and Rinaldi 2002). The algorithm proposed here uses adap-
tations of known valid inequalities for the precedence-
constrained TSP, the VRP, and the VRPPD, as well as new
inequalities that take advantage of the special structure of
the problem.
The remainder of this paper is organized as follows. The
next section briefly reviews relevant work on the DARP
and closely related problems. Section 3 defines the DARP
formally and introduces a mixed-integer formulation. Sec-
tion 4 introduces several families of valid inequalities used
in the branch-and-cut algorithm, which is then described
in §5, along with separation heuristics and preprocessing
techniques. Computational experiments are reported in §6
and the conclusion follows in §7.
2. Literature Review
Early research on the DARP was carried out by Psaraftis
(1980, 1983), who developed dynamic programming algo-
rithms for the single-vehicle case. An improved labeling
scheme was later proposed by Desrosiers et al. (1986), who
were able to solve instances with up to 40 users.
Exact algorithms have also been devised for closely
related single-vehicle problems. Ruland (1995) and Ruland
and Rodin (1997) proposed a branch-and-cut algorithm for
a special case of the pick-up and delivery problem in which
there are no capacity or time window constraints. In this
case, if distances satisfy the triangle inequality, a single
vehicle will serve all users. As a result, the problem reduces
to a TSP with the additional constraint that the pick-up
node of each user must precede his drop-off node in the
vehicle route. These authors provided an integer program-
ming formulation of the problem based on an undirected
graph and described four families of valid inequalities: sub-
tour elimination constraints, precedence constraints, gen-
eralized order constraints, and order-matching constraints.
These inequalities are also valid for the more general prob-
lem studied in this paper, and they will be discussed in
more depth in §4.
The more general precedence-constrained asymmetric
TSP (in which each node may have multiple predecessors
and successors) has been studied, among others, by Balas
et al. (1995) and Ascheuer et al. (2000), who proposed
several families of valid inequalities based, in large part,
on the strengthening of existing inequalities for the asym-
metric TSP. This problem has applications, for example,
in the scheduling of flexible manufacturing systems (see,
e.g., Ascheuer 1996). Because the TSP with pickup and
delivery is a particular case of the precedence-constrained
TSP, some of the proposed inequalities are also useful for
solving the DARP. In particular, predecessor and successor
inequalities proposed by Balas et al. will be used in our
approach.
Most of the algorithms for the multiple-vehicle DARP
are heuristics or metaheuristics. An insertion method capa-
ble of handling large-scale instances was described by
Jaw et al. (1986), while Bodin and Sexton (1986) developed
an exchange heuristic that uses Benders decomposition to
optimize the individual vehicle routes. Dumas et al. (1989)
later presented a clustering and column generation method
that can handle instances with several thousand users. More
recently, Madsen et al. (1995) proposed an insertion heuris -
tic for the dynamic case, while Toth and Vigo (1996,
1997) used local search and a tabu-thresholding proce-
dure to address a real-life problem arising in Bologna.
Finally, Cordeau and Laporte (2003b) described a tabu
search heuristic for the variant of the problem addressed
in this paper. This heuristic will be used in §6 to compute
upper bounds.
Relevant work was also performed on the closely related
VRPPD with time windows, arising in contexts such as
urban courier services. For this problem, Dumas et al.
(1991) presented an exact column generation method using
the dynamic programming algorithm of Desrosiers et al.
(1986) to solve the pricing subproblem. A similar approach
was also described by Savelsbergh and Sol (1998), who
proposed several refinements to improve performance.
For recent overviews of the DARP and VRPPD, the
reader is referred to the surveys of Cordeau and Laporte
(2003a) and Desaulniers et al. (2002), respectively.
3. Formulation
Let n denote the number of users (or requests) to be
served. The DARP may be defined on a complete directed
graph G = �N�A�, where N = P ∪ D ∪
0�2n + 1�,
P =
1�����n�, and D =
n+1�����2n�. Subsets P and D
contain pick-up and drop-off nodes, respectively, while
nodes 0 and 2n + 1 represent the origin and destination
depots. With each user i are thus associated an origin node i
and a destination node n+ i.
Let K be the set of vehicles. Each vehicle k ∈ K has
a capacity Qk, and the total duration of its route can-
not exceed Tk. With each node i ∈ N are associated a
load qi and a nonnegative service duration di such that q0 =
q2n+1 = 0, qi = −qn+i �i = 1�����n�, and d0 = d2n+1 = 0.
A time window �ei�li� is also associated with node i ∈ N ,
where ei and li represent the earliest and latest time, respec-
tively, at which service may begin at node i. With each
arc �i�j� ∈ A are associated a routing cost cij and a travel
time tij. Finally, denote by L the maximum ride time of
a user.
As mentioned in the introduction, we assume here that a
time window is specified either for the origin node or for
the destination node of a request, but not both. However, a
valid time window can always be determined for the other
node by taking the direct and the maximum ride times into
account. We will explain in §5.1.1 how these time windows
can be made as tight as possible.
For each arc �i�j� ∈ A and each vehicle k ∈ K, let xkij = 1
if vehicle k travels from node i to node j. For each node
i ∈ N and each vehicle k ∈ K, let Bki be the time at which
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
Operations Research 54(3), pp. 573–586, ©2006 INFORMS 575
vehicle k begins service at node i, and Qki be the load of
vehicle k after visiting node i. Finally, for each user i, let
Lki be the ride time of user i on vehicle k.
The DARP can be formulated as the following mixed-
integer program:
Min
∑
k∈ K
∑
i∈ N
∑
j∈ N
ckijx
k
ij (1)
subject to
∑
k∈ K
∑
j∈ N
xkij = 1 ∀ i ∈ P� (2)
∑
j∈ N
xkij −
∑
j∈ N
xkn+i�j = 0 ∀ i ∈ P� k ∈ K� (3)
∑
j∈ N
xk0j = 1 ∀ k ∈ K� (4)
∑
j∈ N
xkji −
∑
j∈ N
xkij = 0 ∀ i ∈ P ∪ D� k ∈ K� (5)
∑
i∈ N
xki�2n+1 = 1 ∀ k ∈ K� (6)
Bkj � �B
k
i +di + tij�xkij ∀ i ∈ N� j ∈ N� k ∈ K� (7)
Qkj � �Q
k
i +qj�xkij ∀ i ∈ N� j ∈ N� k ∈ K� (8)
Lki = Bkn+i −�Bki +di� ∀ i ∈ P� k ∈ K� (9)
Bk2n+1 −Bk0 � Tk ∀ k ∈ K� (10)
ei � B
k
i � li ∀ i ∈ N� k ∈ K� (11)
ti�n+i � L
k
i � L ∀ i ∈ P� k ∈ K� (12)
max
0�qi��Q
k
i �min
Qk�Qk+qi� ∀ i∈ N�k∈ K� (13)
xkij ∈
0�1� ∀ i ∈ N� j ∈ N� k ∈ K� (14)
The objective function (1) minimizes the total routing
cost. Constraints (2) and (3) ensure that each request is
served exactly once and that the origin and destination
nodes are visited by the same vehicle. Constraints (4)–(6)
guarantee that the route of each vehicle k starts at the ori -
gin depot and ends at the destination depot. Consistency
of the time and load variables is ensured by constraints (7)
and (8). Equalities (9) define the ride time of each user,
which is bounded by constraints (12). It is worth men-
tioning that the latter also act as precedence constraints
because the nonnegativity of the Lki variables ensures that
node i will be visited before node n + i for every user i.
Finally, inequalities (10) bound the duration of each route,
while (11) and (13) impose time windows and capacity
constraints, respectively.
This formulation is nonlinear because of constraints (7)
and (8). Introducing constants Mkij and W
k
ij , these constraints
can, however, be linearized as follows:
Bkj �B
k
i +di+tij −Mkij�1−xkij� ∀ i∈ N�j∈ N�k∈ K� (15)
Qkj � Q
k
i +qj −Wkij�1−xkij� ∀ i ∈ N� j ∈ N� k ∈ K� (16)
The validity of these constraints is ensured by setting Mkij �
max
0�li +di +tij −ej� and Wkij � min
Qk�Qk +qi�. These
constraints are very similar to the Miller-Tucker-Zemlin
subtour elimination constraints for the TSP (Miller et al.
1960).
One can reduce the number of variables and constraints
in Model (1)–(14) by using aggregate time variables Bi at
every node except the origin depot 0 and the destination
depot 2n+1. In this case, one replaces (7) and (9) with the
constraints
Bj � �B
k
0 +d0 + t0j�xk0j ∀ j ∈ N� k ∈ K� (17)
Bj � �Bi +di + tij�
∑
k∈ K
xkij ∀ i ∈ N� j ∈ N� (18)
Bk2n+1 � �Bi +di + ti�2n+1�xki�2n+1 ∀ i ∈ N� k ∈ K�
(19)
Li = Bn+i −�Bi +di� ∀ i ∈ P� (20)
to which the same linearization process can be applied.
Along the same lines, if the fleet of vehicles is homoge-
neous in the sense that Qk = Q for every k ∈ K, one can
replace (8) with
Qj � �Q
k
0 +qj�xk0j ∀ j ∈ N� k ∈ K� (21)
Qj � �Qi +qj�
∑
k∈ K
xkij ∀ i ∈ N� j ∈ N� (22)
Qk2n+1 � �Qi +q2n+1�xki�2n+1 ∀ i ∈ N� k ∈ K� (23)
Finally, as shown by Desrochers and Laporte (1991), the
linearized form of constraints (22) can be lifted as follows
by taking the reverse arc �j�i� into account:
Qj � Qi +qj −Wij
(
1− ∑
k∈ K
xkij
)
+�Wij −qi −qj�
∑
k∈ K
xkji
∀ i ∈ N� j ∈ N� k ∈ K� (24)
Observe that in our case an equivalent lifting cannot be
performed with constraints (18) because waiting will some-
times take place after the beginning of a time window (i.e.,
Bi >ei) to reduce the ride time of a user.
4. Valid Inequalities
We now describe several families of valid inequalities for
the DARP. All of these inequalities are of course redundant
for Model (1)–(14) but can strengthen its LP-relaxation.
Because of the structure of the model, analyzing whether
these inequalities define facets of the DARP polytope
appears to be a rather challenging task. However, their use-
fulness is demonstrated through computational experiments
in the last section.
The following additional notation will be used to
describe the valid inequalities. Given a node set S ⊆ N ,
define S
̄ =
i ∈ N � i
S� and "�S� = "+�S� ∪ "−�S�,
where "+�S� =
�i�j� ∈ A � i ∈ S� j
S� and "−�S� =
�i�j� ∈ A � i
S� j ∈ S�. For notational convenience, let
xij =
∑
k∈ K x
k
ij denote the total flow on arc �i�j� and define
x�S� = ∑i�j∈ S xij. Similarly, let x�A′� = ∑�i�j�∈ A′ xij
for any
arc set A′ ⊆ A.
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
576 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
4.1. Bounds on Time and Load Variables
As first suggested by Desrochers and Laporte (1991) in the
context of the TSP with time windows, bounds on the time
variables Bi can be strengthened as follows:
Bi � ei +
∑
j∈ N
i�
max
0�ej −ei +dj + tij�xji� (25)
Bi � li −
∑
j∈ N
i�
max
0�li − lj +di + tij�xij� (26)
These inequalities were used, for example, for solving the
asymmetric TSP with time windows by branch and cut
(Ascheuer et al. 2001).
Similarly, bounds on load variables Qi can also be
strengthened as follows:
Qi � max
0�qi�+
∑
j∈ N
i�
max
0�qj�xji� (27)
Qi � min
Q�Q+qi�−
(
Q− max
j∈ N
i�
qj�−qi
)
x0i
− ∑
j∈ N
i�
max
0�qj�xij� (28)
4.2. Subtour Elimination Constraints
Consider the simple subtour elimination constraint x�S� �
�S�−1 for S ⊆ P ∪ D. In the case of the DARP, this inequal-
ity can be lifted in many different ways by taking into
account the fact that for each user i, node i must be visited
before node n+ i.
For any set S ⊆ P ∪ D, let #�S� =
i ∈ P � n+i ∈ S� and
$�S� =
n + i ∈ D � i ∈ S� denote the sets of predecessors
and successors of S, respectively. Balas et al. (1995) have
proposed two families of inequalities for the precedence-
constrained asymmetric TSP that also apply to the DARP
by observing that each node i ∈ P ∪ D is either the prede-
cessor or the successor of exactly one other node.
For S ⊆ P ∪ D, the following inequality, called a succes-
sor inequality (or $-inequality) is valid for the DARP:
x�S�+ ∑
i∈S
̄ ∩$�S�
∑
j∈ S
xij +
∑
i∈S
̄ $�S�
∑
j∈ S∩$�S�
xij � �S� −1� (29)
Example. Consider the node set S =
i�j� ⊆ P. The result-
ing inequality is xij +xji +xn+i�j +xn+j�i � 1. This example
is illustrated in Figure 1, where dotted arcs correspond to
lifted arcs (i.e., arcs that are not part of the classical sub-
tour elimination constraint). Observe that variables xn+i�i
and xn+j�j are not to be introduced in the lifted inequal-
ity because the corresponding arcs can be trivially removed
from the graph.
Similarly, for any set S ⊆ P ∪ D, the following predeces-
sor inequality (or #-inequality) is valid for the DARP:
x�S�+ ∑
i∈ S
∑
j∈S
̄ ∩#�S�
xij +
∑
i∈ S∩#�S�
∑
j∈S
̄ #�S�
xij � �S� −1� (30)
Figure 1. Successor inequality for S =
i�j� ⊆ P.
i
j n + j
n + i
Example. Consider the node set S =
n + i�n + j� ⊆ D.
The resulting predecessor inequality is xn+i�n+j +xn+j�n+i +
xn+i�j +xn+j�i � 1. This is illustrated in Figure 2.
In the case of a directed formulation, one can also
lift subtour elimination constraints by taking into account
the orientation of the arcs. For an ordered set S =
i1�i2�����ih� ⊆ N with h � 3 nodes, Grötschel and
Padberg (1985) proposed the following inequalities, called
D+k and D
−
k , respectively, for the asymmetric TSP:
h−1∑
j=1
xij�ij+1 +xih�i1 +2
h−1∑
j=2
xij�i1 +
h−1∑
j=3
j−1∑
l=2
xij�il � h−1� (31)
h−1∑
j=1
xij�ij+1 +xih�i1 +2
h∑
j=3
xi1�ij +
h∑
j=4
j−1∑
l=3
xij�il � h−1� (32)
Of course, different liftings are obtained by considering
different orderings of the nodes in set S. In the case of
the DARP, these inequalities can be further lifted by taking
precedence relationships into account. This results in the
following two propositions.
Proposition 1. Let S =
i1�i2�����ih� ⊆ P ∪ D. The fol-
lowing inequality is valid for the DARP:
h−1∑
j=1
xij�ij+1 +xih�i1 +2
h−1∑
j=2
xij�i1 +
h−1∑
j=3
j−1∑
l=2
xij�il
+ ∑
n+ip∈S
̄ ∩$�S�
xn+ip�i1 � h−1� (33)
Figure 2. Predecessor inequality for S =
n+ i�n+ j�
⊆ D.
j
in + i
n + j
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
Operations Research 54(3), pp. 573–586, ©2006 INFORMS 577
Figure 3. Lifted directed subtour elimination constraint
for S =
i�j�k� ⊆ P.
n + j
i
j
kn + k
2
Proof. Suppose that one arc of the form �n+ ip�i1� with
n+ ip ∈ S
̄ ∩$�S� is part of the solution. Then, all arcs of
the form �ij�i1� with 2 � j � h − 1 cannot belong to the
solution. As a result, if the left-hand side of inequality (33)
is larger than h−1, then there exists a subpath linking the
h nodes in set S. However, because set S contains the origin
node ip, this subpath, together with the arc �n + ip�i1�,
would violate the precedence constraint for user ip. �
Example. Consider the node set S =
i�j�k� ⊆ P. One
possible lifted directed subtour elimination constraint
(obtained with i1 = i, i2 = j, i3 = k) is xij + xjk + xki +
2xji +xn+j�i +xn+k�i � 2. This is illustrated in Figure 3.
Proposition 2. Let S =
i1�i2�����ih� ⊆ P ∪ D. The fol-
lowing inequality is valid for the DARP:
h−1∑
j=1
xij�ij+1 +xih�i1 +2
h∑
j=3
xi1�ij +
h∑
j=4
j−1∑
l=3
xij�il
+ ∑
ip∈S
̄ ∩#�S�
xi1�ip � h−1� (34)
Proof. The proof is similar to that of Proposition 3 by
observing that if one arc of the form ∈i1∈ip∈ with ip ∈ S
̄ ∩
#�S� is part of the solution, then all arcs of the form �i1�ij�
with 3 � j � h cannot belong to the solution. �
Example. Consider the node set S =
n + i�n + j�
n + k� ⊆ D. One possible lifted directed subtour elimina-
tion constraint (obtained with i1 = n + i, i2 = n + j, i3 =
n+k) is xn+i�n+j +xn+j�n+k +xn+k�n+i +2xn+i�n+k +xn+i�j
+
xn+i�k � 2. This is illustrated in Figure 4.
For the case h = 3, Ascheuer (1996) proposed slightly
stronger liftings. These do not, however, generalize to the
case h>3.
4.3. Capacity Constraints
For any subset S ⊆ P ∪ D, let R�S� denote the minimum
number of vehicles needed to visit all nodes in S. The con-
straint x�"�S�� � 2R�S� is then a valid inequality.
Although
Figure 4. Lifted directed subtour elimination constraint
for S =
n+ i�n+j�n+k� ⊆ D.
j
k
n + i
n + j
n + k
2
computing R�S� is difficult, a lower approximation is pro-
vided by �q�S�/Q�, where q�S� = ∑i∈ S qi. The resulting
inequality is called a rounded capacity inequality in the
context of the VRP.
While capacity inequalities play an important role in
most branch-and-cut algorithms for the VRP (see, e.g.,
Naddef and Rinaldi 2002), they are not likely to be very
strong for the DARP because of the presence of both pos-
itive and negative qi values. In particular, q�P ∪ D� = 0 by
definition and, in the absence of time windows, all nodes
can be visited by the same vehicle. Useful inequalities can,
however, be obtained by restricting S to be a subset of
either P or D and setting q�S� = �∑i∈ S qi�. It should be
emphasized that in our context, the quantity �q�S�/Q� esti-
mates the required number of vehicle passages in set S
rather than the number of vehicles per se. Indeed, by leav-
ing and entering set S more than once, the same vehi-
cle may be able to visit all nodes in the set even though
q�S�>Q.
4.4. Precedence Constraints
Consider a node set S such that 0 ∈ S, i
S, n+ i ∈ S, and
2n+1
S for at least one user i. Because node i must be
visited before node n+ i, x�S� � �S� −2 and, equivalently,
x�"�S�� � 3. The same applies to node sets S such that
0
S, i ∈ S, n+i
S, and 2n+1 ∈ S for at least one user i.
These inequalities, which are also valid for the DARP, were
introduced by Ruland and Rodin (1997) for the pick-up and
delivery problem.
4.5. Generalized Order Constraints
Let U1�����Um ⊂ N be mutually disjoint subsets and let
i1�����im ∈ P be users such that 0�2n + 1
Ul and il,
n+ il+1 ∈ Ul for l = 1�����m (where im+1 = i1). The fol-
lowing inequality, introduced by Ruland and Rodin (1997),
is also valid for the DARP:
m∑
l=1
x�Ul� �
m∑
l=1
�Ul� −m−1� (35)
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
578 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
Similar inequalities, called precedence cycle breaking in-
equalities, have also been proposed by Balas et al. (1995).
In the directed case, generalized order constraints can
be lifted in two different ways, as shown by the following
propositions.
Proposition 3. The following inequality is valid for the
DARP:
m∑
l=1
x�Ul�+
m−1∑
l=2
xi1�il +
m∑
l=3
xi1�n+il �
m∑
l=1
�Ul� −m−1� (36)
Proof. First observe that in any feasible integer solution,
at most one of the lifted arcs may be part of the solution
because they all belong to "+�i1�. To demonstrate the valid-
ity of the lifting, we show that if any of the lifted arcs are
part of the solution, then there are at least two subsets Ul
for which x�Ul� � �Ul�−2. Because x�Ul� � �Ul�−1 for
all
other subsets, the validity of the inequality follows directly.
The details of the proof are given in the appendix. �
Remark 1. The numbering of the sets U1�����Um is arbi-
trary and leads, by symmetry, to m! possibly different
liftings.
Example. Consider the subsets U1 =
i�n + j�, U2 =
j�n+k�, and U3 =
k�n+i� with i1 = i, i2 = j, and i3 = k.
The lifted generalized order constraint is xi�n+j + xn+j�i +
xj�n+k + xn+k�j + xk�n+i + xn+i�k + xij + xi�n+k � 2. This
is
illustrated in Figure 5.
Proposition 4. The following inequality is valid for the
DARP:
m∑
l=1
x�Ul�+
m−2∑
l=2
xn+i1�il +
m−1∑
l=2
xn+i1�n+il �
m∑
l=1
�Ul� −m−1�
(37)
Proof. The reasoning is similar to that of Proposition 5,
and the details of the proof are given in the appendix. �
Example. Consider the subsets U1 =
i�n + j�, U2 =
j�n+k�, and U3 =
k�n+i� with i1 = i, i2 = j, and i3 = k.
The lifted generalized order constraint is xi�n+j + xn+j�i +
xj�n+k +xn+k�j +xk�n+i +xn+i�k +xn+i�n+j � 2. This is
illus-
trated in Figure 6. Observe that in inequality (37), the value
of m must be larger than or equal to 4 for the second term
of the inequality to have any effect.
Figure 5. Lifted generalized order constraint with
m = 3 (first lifting).
i
n + j n + k
j k
n + i
Figure 6. Lifted generalized order constraint with
m = 3 (second lifting).
i
n + j n + k
j k
n + i
4.6. Order-Matching Constraints
Consider two nodes i�j ∈ P and a subset H such that
i�j� ⊆ H ⊆ N
0�n + i�n + j�2n + 1�. The following
inequality, introduced by Ruland and Rodin (1997), is also
valid for the DARP:
x�H�+x�
i�n+ i��+x�
j�n+j�� � �H�� (38)
As suggested by Ruland (1995), this inequality can be
lifted by introducing the term x�
h�n+h�� for every user h
such that h ∈ H and n+h
H. In the directed case, order-
matching constraints are in fact redundant because any arc
of the form �n+h�h� can be removed from the graph. As a
result, all arcs in the left-hand side of (38) have their origin
node in set H. Hence, the sum of the flows on these arcs
cannot exceed �H�, even in a fractional solution.
Order-matching constraints can, however, be generalized
by replacing the arcs �h�n+h� by node sets. This leads to
the following proposition.
Proposition 5. Let i1�����im be m users and let H ⊂ P ∪
D and Th ⊂ P ∪ D, h = 1�����m be node sets such that
ih�n+ih� ⊆ Th and H∩Th =
ih�. The following inequality
is valid for the DARP:
x�H�+
m∑
h=1
x�Th�+ � �H� +
m∑
h=1
�Th� −2m� (39)
Proof. First observe that x�H� � �H� − 1 and x�Th� �
�Th� −1 for h = 1�����m. If x�Th� = �Th� −1 for any
given
subset Th, then there exists a path connecting all nodes
in Th, including ih and n + ih. However, this path cannot
finish at node ih because of the precedence constraint for
user ih. Let , be the number of sets Th for which x�Th� =
�Th� − 1. Then, x�"+�H�� � ,. Because x�"+�H�� =
x�"−�H�� and 2x�H�+x�"+�H��+x�"−�H�� = 2�H�,
one
obtains that 2x�H� � 2�H� −2, and thus x�H� � �H� −,.
Finally, because x�Th� � �Th� − 2 for the remaining m−,
sets, one may conclude that x�H� + ∑mh=1 x�Th� � �H� −
,+ ∑mh=1��Th� −1�−�m−,�, which simplifies to expres-
sion (39). �
Example. Consider the sets H =
i�j�, T1 =
i�n + i�k�
and T2 =
j�n + j�l� with i1 = i and i2 = j. The resulting
inequality is x�H�+x�T1�+x�T2� � 4 and is illustrated in
Figure 7.
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
Operations Research 54(3), pp. 573–586, ©2006 INFORMS 579
Figure 7. Generalized order-matching constraint with
m = 2.
n + i
n + j
l
k
i
j
Remark 2. Inequality (39) is stronger than the correspond-
ing TSP comb constraint, valid for m � 3 and odd, which
is defined as x�H� + ∑mh=1 x�Th� � �H� + ∑mh=1 �Th�
−
�3m+1�/2.
Inequalities (39) can be further lifted by introducing the
arcs from any node in H to any node outside of H. Nev-
ertheless, in the presence of lifted subtour elimination con-
straints (30), these inequalities are redundant, as will be
shown in the following proposition.
Proposition 6. Define �H = ⋃mh=1
ih�. The following
inequality, which is a strengthening of (39), is redundant
in the presence of inequalities (30):
x�H�+
m∑
h=1
x�Th�+
∑
i∈ �H
∑
j∈ �HTi
xij +
∑
i∈ H �H
∑
j∈ �H
xij
� �H� +
m∑
h=1
�Th� −2m� (40)
Proof. Inequality (40) can be written equivalently as
∑
i∈ H
∑
j∈ N
xij +
m∑
h=1
∑
i∈ Th
ih�
∑
j∈ Th
xij � �H� +
m∑
h=1
�Th� −2m�
For every subset Th, h = 1�����m, one has that
x�Th
ih�� +
∑
i∈ Th
ih�xi�ih � �Th� − 2 because of inequal-
ity (30) defined for subset S = Th
ih�, whose cardinality
is �Th� − 1. As a result,
∑
i∈ Th
ih�
∑
j∈ Th xij � �Th� − 2.
In addition, one has that
∑
i∈ H
∑
j∈ N xij = �H� by con-
straints (2) and (3). The result follows directly from these
two observations. �
4.7. Infeasible Path Constraints
Ride-time constraints may give rise to paths that are infea-
sible in an integer solution, but nonetheless feasible in a
fractional solution. Forbidding such paths can be accom-
plished through the valid inequality introduced in the next
proposition.
Proposition 7. Assume that the triangle inequality holds
for travel times. For any directed path � =
i�k1�k2�����
kp�n+i� such that ti�k1 +dk1 +tk1�k2 +dk2 +···+tkp�n+i >
L, the following inequality is valid for the DARP:
xi�k1 +
p−1∑
h=1
xkh�kh+1 +xkp�n+i � p−1� (41)
Proof. Suppose that the value of the left-hand side of
inequality (41) is equal to p in a feasible integer solution.
Then, there is a single arc from path � not belonging to
the solution because the path contains p+1 arcs. Because
the solution is feasible, it must contain a path from i to
n+i in which the missing arc has been replaced by at least
two other arcs. However, because the triangle inequality
holds for travel times, the path from i to n+ i has a larger
duration than that of �. As a result, its duration must
exceed L, which contradicts the assumption that the solu-
tion is feasible. �
Remark 3. As will be shown in the next section, the case
p = 1 can be handled directly through the simple elimina-
tion of arcs in a preprocessing step.
5. Branch-and-Cut Algorithm
Branch and cut is a popular approach for solving combina-
torial problems. It has been applied successfully to several
routing problems (see, e.g., Ascheuer et al. 2001, Gendreau
et al. 1998, and Naddef and Rinaldi 2002). This section
describes the branch-and-cut algorithm used for the DARP.
It focuses on the preprocessing techniques developed to
reduce problem size and on the separation heuristics used
to identify violated inequalities.
After applying the preprocessing steps presented in §5.1
and generating an initial pool of inequalities, the algorithm
first solves the LP relaxation of the problem. If the solution
to the LP relaxation is integer, an optimal solution has been
identified. Otherwise, an enumeration tree is constructed
and violated valid inequalities are generated at some nodes
of this tree by means of the separation heuristics described
in §5.3. Because all inequalities described in §4 are valid
for the original formulation, the inequalities added at any
node of the tree are also valid for all other nodes. Hence,
whenever the LP bound is evaluated at a given node of
the tree, the linear program incorporates all cuts generated
so far.
To control the branch-and-cut process, additional aggre-
gate variables yki =
∑
j∈ N x
k
ij� i ∈ P, are introduced in the
formulation to reflect the assignment of requests to vehi-
cles. At a given node of the search tree, if the yki variables
are all integer in the current relaxation but there is at least
one fractional xkij variable, the separation heuristics are exe -
cuted in the hope of identifying violated valid inequalities
(the heuristics are also executed at the root node). If at least
one of the heuristics succeeds in finding one or more vio-
lated inequalities, the relaxation is solved with all identified
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
580 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
cuts and the heuristics are executed again. The cut genera-
tion process at a node terminates when all heuristics fail to
find any violated inequality. If the solution to the relaxation
is still fractional after the generation of cuts, branching is
performed on a fractional yki variable, if there is any, or on
a fractional xkij variable, otherwise. The variable selected
for branching is that whose value is the farthest from the
nearest integer. After a node has been processed, the next
node selected for cutting and branching is that with the best
bound.
In addition to the application of the separation heuris-
tics at some nodes of the branch-and-bound tree, a pool of
inequalities is checked exhaustively for violations at each
node of the tree, including those where not all yki variables
take integer values. The inequalities that belong to this pool
are described in §5.2. Finally, prior to solving the problem
by branch and cut, an upper bound is computed by using
the tabu search heuristic of Cordeau and Laporte (2003b).
This upper bound is then used to prune the enumeration
tree whenever the solution value at a given node exceeds
that of the upper bound.
5.1. Preprocessing
This section describes the time-window tightening, arc
elimination, and variable-fixing steps that are performed
prior to applying the branch-and-cut algorithm.
5.1.1. Time-Window Tightening. Let T denote the
end of the planning horizon. In the case of an outbound
user, the time window at the origin node can be tightened
by setting ei = max
0�en+i − L − di� and li = min
ln+i −
ti�n+i − di�T�. In the case of an inbound user, the time
window at the destination node can be tightened by set-
ting en+i = max
0�ei +di +ti�n+i� and ln+i = min
li +di +
L�T�.
The time window on nodes 0 and 2n + 1 can also be
tightened by setting e0 = e2n+1 = mini∈ P∪ D
ei−t0i� and l0 =
l2n+1 = maxi∈ P∪ D
li +di + ti�2n+1�.
5.1.2. Arc Elimination. Formulation (1)–(14) is
defined on a complete graph G. However, because of time
windows, pairing, and ride-time constraints, several arcs
can in fact be removed from the graph as they cannot
belong to a feasible solution.
A simple analysis leads to the following observations:
• arcs �0�n+i�, �i�2n+1�, and �n+i�i� are infeasible
for i ∈ P;
• arc �i�j� with i�j ∈ N is infeasible if ei +di +tij >lj;
• arcs �i�j�and �j�n + i� with i ∈ P, j ∈ N are both
infeasible if tij +dj + tj�n+i >L.
As first proposed by Dumas et al. (1991), combining
time windows and pairing constraints leads to even stronger
elimination rules:
• arc �i�n+j� is infeasible if path � =
j�i�n+j�n+i�
is infeasible;
• arc �n+i�j� is infeasible if path � =
i�n+i�j�n+j�
is infeasible;
• arc �i�j� is infeasible if paths �1 =
i�j�n+ i�n+j�
and �2 =
i�j�n+j�n+ i� are both infeasible;
• arc �n+i�n+j� is infeasible if paths �1 =
i�j�n+i�
n+j� and �2 =
j�i�n+ i�n+j� are both infeasible.
In the presence of ride-time and capacity constraints, fur-
ther elimination can be performed by identifying pairs of
users that are incompatible (i.e., that cannot be assigned to
the same vehicle) because of the interaction between time-
window, capacity, and ride-time constraints. Incompatible
user pairs
i�j� can be identified by checking the feasibility
of the following paths:
i�j�n+i�n+j�,
i�j�n+j�n+i�,
j�i�n+i�n+j�,
j�i�n+j�n+i�,
i�n+i�j�n+j�, and
j�n+j�i�n+ i�.
If none of these six paths is feasible, then all eight arcs
between
i�n+i� and
j�n+j� can be eliminated. Because
of ride-time constraints, checking the feasibility of a path
is not always straightforward. In the case of the path
i�j�
n + i�n + j�, for example, setting Bi = ei may lead to the
violation of the ride-time constraint for user i in the event
that unnecessary waiting time then occurs at node j. For
this reason, the forward time slack should be computed at
node i so as to delay the beginning of service as much as
possible without violating any of the time windows. The
same can be said about node j where the beginning of
service should be delayed as much as possible by taking
into account the additional constraint that the maximum
ride time for user i should not be exceeded. In general, the
forward time slack Fi at node i in a path
i�i + 1�����q�
can be computed as follows:
Fi = min
i�j�q
{ ∑
i<p�j
Wp +min
lj −Bj�L−Pj�
}
� (42)
where Wi denotes the waiting time at node i, Pi denotes
the ride time of the user whose destination node is i if
n + 1 � i � 2n, and Pi = −�, otherwise. This definition
of the forward time slack generalizes that of Savelsbergh
(1992) for the TSP with time windows.
5.1.3. Variable Fixing. The identification of incom-
patible user pairs can also be used to permanently assign
users to specific vehicles. If the fleet of vehicles is homo-
geneous, one can create a graph G′ = �N ′�E′�, where N ′ =
1�����n� and E′ contains an edge �i�j� if i and j are
incompatible users. Given a clique in G′, each user in the
clique can be assigned to a different vehicle. In addition,
if user i is assigned to vehicle k, constraints can be added
to the formulation so as to forbid the assignment to vehi -
cle k of users that are incompatible with i. Finding a clique
of maximum cardinality in G′ may be very time consum-
ing when n is large. In our implementation, we thus use a
greedy heuristic described by Johnson (1974).
5.2. Initial Pool of Inequalities
This section describes the inequalities that are enumerated
exhaustively and whose violations are checked individu-
ally at every node of the branch-and-bound tree. These
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
Operations Research 54(3), pp. 573–586, ©2006 INFORMS 581
inequalities are chosen to ensure that the size of the pool
remains reasonable and the time spent processing a node
does not overly increase.
Bounds on time and load variables. For each node i ∈
P ∪ D, the four bounding inequalities described in §4.1 are
generated and added to the pool.
Subtour elimination constraints. For each pair of users
i�j ∈ P, inequality (29) yields the following three particular
cases:
• S =
i�j� ⇒ xij +xji +xn+i�j +xn+j�i � 1,
• S =
i�n+j� ⇒ xi�n+j +xn+j�i +xn+i�n+j � 1,
• S =
i�n+ i�j� ⇒ xij +xji +xi�n+i +xj�n+i +xn+i�j +
xn+j�i +xn+j�n+i � 2.
Similarly, inequality (30) yields the following cases:
• S =
n + i�n + j� ⇒ xn+i�n+j + xn+j�n+i + xn+i�j +
xn+j�i � 1,
• S =
i�n+j� ⇒ xi�n+j +xn+j�i +xi�j � 1,
• S =
i�n + i�n + j� ⇒ xi�n+j + xn+j�i + xi�n+i +
xn+j�n+i +xn+i�j+j +xij +xn+i�j � 2,
while inequalities (33) and (34) provide the following two
cases:
• S =
n+ i�j�n+ i� ⇒ xn+i�j +2xj�n+i +xji +xi�n+i +
xn+j�n+i � 2�
• S =
i�n + i�n + j� ⇒ xi�n+i + xn+i�n+j + xn+j�i +
2xi�n+j +xij � 2.
Finally, the four-node subtour inequality x�S� � 3 is gen-
erated for every user pair i�j ∈ P yielding the subset S =
i�j�n+ i�n+j�.
Precedence constraints. For every pair of users i �j ∈ P,
the following four particular cases of precedence con-
straints are generated:
• S =
0�i�n+j� ⇒ x0i +xi�n+j +xn+j�i � 1,
• S =
i�n+j�2n+1� ⇒ xi�n+j +xn+j�i +xn+j�2n+1 � 1,
• S =
0�i�n+i�n+j� ⇒ x0i +xi�n+i +xi�n+j +xn+j�i +
xn+i�n+j +xn+j�n+i � 2,
• S =
i�j�n+j�2n+1� ⇒ xij +xji +xi�n+j +xn+j�i +
xj�n+j +xn+j�2n+1 � 2.
Generalized order constraints. For every pair of requests
i�j ∈ P, the following inequality is generated:
xi�n+j +xn+j�i +xn+i�j +xj�n+i � 1�
Infeasible path constraints. Finally, the following in-
equality is generated for every pair of requests i �j ∈ P such
that tij +dj + tj�n+jdn+j + tn+j�n+i >L:
xij +xj�n+j +xn+j�n+i � 1�
In addition, for each pair of incompatible users i�j ∈ P
and every node l ∈ P ∪ D, the following inequalities are
generated:
• xil +xli +xlj +xjl � 1,
• xil +xli +xl�n+j +xn+j�l � 1,
• xn+i�l +xl�n+i +xlj +xjl � 1,
• xn+i�l +xl�n+i +xl�n+j +xn+j�l � 1.
5.3. Separation Heuristics
We now describe the separation heuristics used to identify
additional violated inequalities. At the root node as well
as when all yki variables are integer but there is at least
one fractional xkij variable at a given node, the following
heuristics are executed sequentially.
5.3.1. Subtour Elimination Constraints. The identi-
fication of violated inequalities of the form x�S� � �S� −1
can be achieved by solving a series of maximum-flow
problems between any node i and all other nodes j ∈
N
i�. However, in addition to being time consuming, this
approach does not take the possible liftings into account.
For these reasons, we resort to a simple tabu search heuris -
tic inspired from that proposed by Augerat et al. (1999).
Using the fact that 2x�S� + x�"�S�� = 2�S� in a feasi-
ble integer solution, violations of (29) can be identified by
finding node sets S such that
x�"�S��−2 ∑
i∈S
̄ ∩$�S�
∑
j∈ S
xij −2
∑
i∈S
̄ $�S�
∑
j∈ S∩$�S�
xij <2� (43)
The heuristic starts with an empty set S. At each iteration,
it either adds or removes a node from the set S so as to
minimize the left-hand side of (43). Whenever a node is
removed from set S, its reinsertion is declared tabu for 1
iterations. The heuristic runs for a preset number of iter -
ations (25 in our implementation) and may identify sev-
eral violated inequalities during a single execution. At each
iteration, the current set S is also checked for possible vio-
lations of inequality (33). To this purpose, the node with
the largest outgoing flow is numbered as i1, and the other
nodes are numbered at random.
A similar heuristic is used to identify violations of
inequalities (30) and (34). In the latter case, the node with
the largest incoming flow is numbered as i1.
5.3.2. Capacity Constraints. Again, we use a tabu
search heuristic to identify sets S such that q�S�>Q and
x�"�S��<4. The heuristic starts either with a random sub-
set S ⊆ P or with a random subset S ⊆ D. At each itera-
tion, a node is either removed or added to the set S so as
to minimize the value of x�"�S��, with the constraint that
q�S� > Q. The heuristic runs for 25 iterations and multi-
ple violated inequalities may be identified during a single
execution.
5.3.3. GeneralizedOrderConstraints. Ruland(1995)
proposed an approach to identify violated generalized order
constraints with m = 2. This approach requires the com-
putation of O��N�2� maximum flows. Here, we use instead
three simple heuristics, the second and third of which take
advantage of the lifted forms (36) and (37).
The first heuristic attempts to identify violations of
inequalities (35) for the special case where m = 2 and
�U1� = �U2� = 3. For each pair of users i�j ∈ P, we first
form the subsets U1 =
i�n + j� and U2 =
j�n + i�. We
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
582 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
then identify nodes k1 and k2 such that x�U1� and x�U2�
are maximized, and check for a violation of the resulting
inequality.
The second and third heuristics are aimed at finding vio-
lations of inequalities (36) and (37) for the special case
where m = 3 and �U1� = �U2� = �U3� = 2. The second
heuristic finds, for each user i, a user j that maximizes
xi�n+j + xn+j�i + xij. It then finds a user k such that the
left-hand side of (36) is maximized. Similarly, the third
heuristic finds, for each user i, a user j that maximizes
xi�n+j +xn+j�i +xn+i�n+j, and then finds a user k that max-
imizes the left-hand side of (37).
5.3.4. Infeasible Path Inequalities. Violated path in-
equalities are identified by means of a path-construction
heuristic applied to each user i ∈ P. The heuristic starts
with node i and gradually constructs a path �i =
i�k1�
k2����� by iteratively moving from the current node kj to
the node kl that maximizes the value of xkjkl. The process
stops if a cycle is formed or if the heuristic reaches either
node n+ i or node 2n+1. If the path stops at node n+ i,
it is checked for a violation of inequality (41).
6. Computational Experiments
The branch-and-cut algorithm was implemented in C++
by using ILOG Concert 1.3 and CPLEX 8.1. It was run on
a 2.5 GHz Pentium 4 computer with 512 Mb of memory.
The algorithm was applied to two sets of randomly gen-
erated instances comprising up to 48 users. In an instance
with n users, where n is even, users 1�����n/2 are assumed
to formulate outbound requests while users n/2+1�����n
formulate inbound requests. In all instances, the coordinates
of pick-up and drop-off nodes are randomly and indepen-
dently chosen in the square �−10�10�× �−10�10� accord-
ing to a uniform distribution, and the depot is located at the
center of this square. For every arc �vi�vj� ∈ A, the rout-
ing cost cij and travel time tij are equal to the Euclidean
distance between the two nodes.
Table 1. Characteristics of the first set of instances.
Without reductions With reductions
Upper
Instance �K� n T Q L Cons Vars LP Cons Vars LP bound
a2-16 2 16 480 3 30 1�289 1�211 219.60 893 665 269.54
294.25
a2-20 2 20 600 3 30 1�858 1�767 251.06 1�392 1�153 301.66
344.83
a2-24 2 24 720 3 30 2�714 2�585 316.38 1�997 1�628 364.22
431.12
a3-18 3 18 360 3 30 1�773 2�281 193.05 1�296 1�258 256.28
300.48
a3-24 3 24 480 3 30 2�898 3�880 221.63 2�244 2�446 260.56
344.83
a3-30 3 30 600 3 30 4�369 5�938 338.36 2�998 3�282 383.10
496.52
a3-36 3 36 720 3 30 6�077 8�329 360.84 3�919 4�171 484.57
600.75
a4-16 4 16 240 3 30 1�657 2�364 175.61 1�193 1�173 207.41
282.68
a4-24 4 24 360 3 30 3�279 5�181 235.68 2�190 2�616 293.07
375.07
a4-32 4 32 480 3 30 5�225 8�977 311.20 3�828 4�941 361.01
486.57
a4-40 4 40 600 3 30 8�104 13�829 366.04 5�535 8�200
408.13 571.07
a4-48 4 48 720 3 30 10�884 19�745 366.04 8�171 12�824
428.60 680.99
Avg. 279.62 334.85 434.10
A time window �ei�li� is also associated with each node.
For an outbound user i, a time window was generated by
first choosing a number ln+i in the interval �60�T� and
then setting en+i = ln+i − 15, where T denotes the length
of the planning horizon. For an inbound user, the value
of ei was chosen in the interval �0�T − 60� and the value
of li was set equal to ei +15. Time windows on the origin
nodes of outbound requests and on the destination nodes of
inbound requests are set as explained in §5.1.1.
In the first set of instances, Q = 3 for every vehicle,
qi = 1 and di = 3 for every user, and the maximum ride
time L is equal to 30 minutes. In the second set, Q = 6
for every vehicle and the values of qi are chosen randomly
according to a uniform distribution on the set
1�����Q�.
The maximum ride time is set equal to 45 minutes. In this
case, we assume that service time is proportional to the
number of passengers and di = qi. The maximum route
duration is equal to T . The first set of instances represents
the context where cars are used for the transportation of
individuals whereas the second set reflects the situation of a
transporter using mini-busses for the transportation of indi-
viduals or groups of individuals.
All instances used in computational experiments are
available on the website
http://www.hec.ca/chairedistributique/data/darp.
Tables 1 and 2 provide the characteristics of these
instances, the number of constraints and variables in the
resulting mixed-integer programming formulation, and the
value of the LP relaxation. The corresponding values are
computed with and without the application of the pre-
processing techniques described in §5.1. In both cases,
the problem reduction step of CPLEX is nevertheless per-
formed. These results show that despite the strength of the
CPLEX preprocessing routines, a considerable reduction in
problem size (and improvement in the LP bound at the root
node) is achieved through the application of the specialized
arc elimination and variable-fixing techniques of §5.1. The
improvement in the LP lower bound is 19.75% for the first
set of instances and 15.17% for the second set. We also
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
Operations Research 54(3), pp. 573–586, ©2006 INFORMS 583
Table 2. Characteristics of the second set of instances.
Without reductions With reductions
Upper
Instance �K� n T Q L Cons Vars LP Cons Vars LP bound
b2-16 2 16 480 6 45 1�030 993 218.80 834 653 250.55 309.61
b2-20 2 20 600 6 45 1�175 1�241 290.33 768 612 314.05
334.93
b2-24 2 24 720 6 45 1�922 1�873 311.71 1�436 1�189 372.80
445.11
b3-18 3 18 360 6 45 1�334 1�754 218.26 1�068 1�074 256.15
301.80
b3-24 3 24 480 6 45 2�230 2�915 284.78 1�625 1�669 329.14
394.57
b3-30 3 30 600 6 45 3�410 4�457 344.68 2�383 2�626 448.31
536.04
b3-36 3 36 720 6 45 4�200 6�035 437.37 2�984 3�403 493.79
611.79
b4-16 4 16 240 6 45 1�233 1�771 209.25 919 943 223.11
299.07
b4-24 4 24 360 6 45 2�426 4�129 252.87 1�850 2�262 312.28
380.27
b4-32 4 32 480 6 45 3�928 6�405 341.76 2�778 3�719 409.25
500.92
b4-40 4 40 600 6 45 5�361 9�481 477.90 3�797 5�368 525.28
662.91
b4-48 4 48 720 6 45 8�854 15�611 496.37 6�404 9�608
538.43 685.46
Avg. 323.67 372.76 455.21
indicate in the last columns of Tables 1 and 2 the value of
an upper bound obtained by running the tabu search heuris-
tic of Cordeau and Laporte (2003b) for 1,000 iterations.
In Tables 3 and 4, we indicate the lower bound obtained
at the root node (after applying the problem reduction
steps) under seven different scenarios. Column LP indicates
the bound obtained without any kind of cut generation. The
next four columns indicate the bound obtained by generat-
ing violated inequalities of one of the following families:
capacity constraints (CC), generalized order constraints
(GOC), infeasible path constraints (IPC) and subtour elim-
ination constraint (SEC). Column CPX then reports the
bound obtained when activating the automatic cut genera-
tion of CPLEX (but not the generation of user cuts). In this
case, several types of inequalities (e.g., implied bound cuts,
flow cuts, Gomory fractional cuts) are automatically gener-
ated by CPLEX at the root node. Finally, column Full indi-
cates the bound obtained when applying both the automatic
cut generation of CPLEX and the four separation heuristics
of §5.3 (as well as the inequality pool of §5.2). The last col -
umn shows the improvement (in percentage) in the lower
bound obtained when generating user cuts together with the
Table 3. Initial lower bounds—first set of instances.
Instance LP CC GOC IPC SEC CPX Full Imp. (%)
a2-16 269.54 269.54 270.54 278.88 269.66 287.38 290.18 0.97
a2-20 301.66 302.21 304.30 310.73 308.51 321.70 326.13 1.38
a2-24 364.22 365.55 373.30 383.94 365.45 377.20 395.57 4.87
a3-18 256.28 256.28 258.71 260.08 262.43 259.94 269.15 3.54
a3-24 260.56 260.56 260.97 268.45 261.98 276.98 291.00 5.06
a3-30 383.10 386.94 383.26 409.99 384.31 386.62 421.60 9.05
a3-36 484.57 484.57 484.91 516.69 484.87 502.74 529.47 5.32
a4-16 207.41 209.00 207.41 214.45 209.13 212.48 229.19 7.86
a4-24 293.07 293.08 299.58 303.84 293.07 299.52 318.93 6.48
a4-32 361.01 361.01 361.39 368.13 361.24 375.18 390.02 3.96
a4-40 408.13 418.23 412.42 431.30 414.43 421.52 450.43 6.86
a4-48 428.60 431.33 428.61 437.82 429.57 432.09 457.25 5.82
Avg. 334.85 336.53 337.12 348.69 337.05 346.11 364.08 5.10
CPLEX cuts instead of relying only on the latter class (i.e.,
relative difference between the last two scenarios).
These results show that using any of the four types
of inequalities yields a small improvement in the average
lower bound obtained. For both sets of instances, the largest
improvement is obtained with the generation of infeasible
path inequalities, while subtour elimination, capacity, and
generalized order constraints have a limited impact. Simi -
lar improvements are also obtained by enabling the auto-
matic cut generation of CPLEX. Nevertheless, combining
these cuts with our own valid inequalities yields significant
improvements. The average improvement exceeds 5% for
both sets of instances. It is worth mentioning that similar
conclusions are reached when comparing the best bound
obtained after running the branch-and-cut algorithm for a
certain number of nodes.
Finally, Tables 5 and 6 report the results obtained by
using the branch-and-cut algorithm of CPLEX alone and
with the concurrent generation of all families of inequali -
ties. In both cases, a maximum of four hours of CPU time
were allowed for the solution of each instance. We indicate
the best bound obtained, the CPU time (in minutes) used,
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
584 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
Table 4. Initial lower bounds—second set of instances.
Instance LP CC GOC IPC SEC CPX Full Imp. (%)
b2-16 250.55 250.55 264.13 252.67 251.35 268.08 289.66 8.05
b2-20 314.05 321.24 314.05 314.05 315.15 327.46 332.61 1.57
b2-24 372.80 377.07 380.54 377.29 380.02 389.81 404.80 3.85
b3-18 256.15 256.15 260.86 260.15 256.15 261.82 268.67 2.62
b3-24 329.14 329.14 331.34 338.37 329.38 332.98 344.85 3.56
b3-30 448.31 448.93 453.21 482.79 448.31 465.74 495.56 6.40
b3-36 493.79 495.04 506.92 502.21 493.79 520.59 547.83 5.23
b4-16 223.11 223.11 230.35 228.07 224.17 225.86 247.97 9.79
b4-24 312.28 312.28 315.36 320.69 312.28 320.03 336.40 5.12
b4-32 409.25 409.25 413.98 420.59 412.90 412.77 439.98 6.59
b4-40 525.28 525.28 531.44 544.31 525.28 531.17 561.36 5.68
b4-48 538.43 538.43 541.94 553.12 539.05 547.85 567.06 3.51
Avg. 372.76 373.87 378.68 382.86 373.99 383.68 403.06 5.16
and the number of nodes explored in the branch-and-bound
tree. For the branch-and-cut algorithm with user cut gen-
eration, we also indicate the total number of cuts gener-
ated. An asterisk preceding a lower bound indicates that
the instance was solved to optimality.
One can observe that the generation of user cuts sig-
nificantly improves the performance of the branch-and-cut
algorithm. For the 14 instances solved to optimality by both
approaches within the time limit, the average CPU time
was 25.93 minutes for CPLEX alone compared with 1.81
minutes for CPLEX with user cut generation. The average
number of nodes explored went from 95,466 to 3,248. For
the five instances that could not be solved optimally by any
of the two approaches, the average lower bound reached by
CPLEX alone was 500.91 compared with 517.48 for the
branch-and-cut with user cut generation. Finally, the latter
algorithm solved five more instances to optimality.
The small number of cuts generated with respect to the
total number of nodes explored in the branch-and-bound
tree is explained by the fact that the separation procedures
are executed only when all yki variables are integer, but
at least one xkij variable is fractional. For most instances,
this occurs at approximately 5% of the nodes. Experiments
performed with the generation of cuts at every node of
Table 5. Comparisons with CPLEX—first set of instances.
CPLEX B and C B and C with user cuts
Instance Bound CPU Nodes Bound CPU Nodes Cuts
a2-16 ∗ 294�25 0�01 23 ∗ 294�25 0�01 4 46
a2-20 ∗ 344�83 0�05 313 ∗ 344�83 0�08 181 93
a2-24 ∗ 431�12 1�42 10�868 ∗ 431�12 0�27 444 140
a3-18 ∗ 300�48 0�41 3�596 ∗ 300�48 0�20 565 172
a3-24 ∗ 344�83 76�59 310�667 ∗ 344�83 4�17 6�863 324
a3-30 472�17 240�00 515�931 ∗ 494�85 42�39 43�632 425
a3-36 570�26 240�00 504�553 ∗ 583�19 12�46 7�451 423
a4-16 ∗ 282�68 21�49 145�680 ∗ 282�68 2�54 6�615 404
a4-24 359�52 240�00 442�000 ∗ 375�02 25�19 28�939 351
a4-32 427�65 240�00 189�900 447�66 240�00 105�500 806
a4-40 462�21 240�00 65�000 475�05 240�00 32�200 716
a4-48 466�70 240�00 40�400 486�03 240�00 21�400 1�019
the tree have on average produced slightly worse results
because of the extra time spent by the separation proce-
dures. It is likely that a larger number of cuts could be
generated by using exact or more sophisticated heuristic
separation procedures. The development of such proce-
dures is by itself an important area of research that will be
addressed in future work.
All instances used for testing are symmetric (i.e., cij = cji
for every pair of nodes i, j). In additional experiments,
we have also tried solving asymmetric instances. Unlike
the asymmetric TSP, which is usually easier to solve than
its symmetric counterpart, it appears that the DARP is
unaffected by the asymmetry of the cost matrix. This is
explained by the fact that a while a TSP tour is feasible in
both directions, thus leading to highly fractional solutions,
a DARP route is feasible in only one direction because of
precedence constraints.
The computational results presented in this section show
that instances with up to 30 users can be solved optimally in
reasonable CPU times. Using column generation to address
the VRPPD with time windows, Savelsbergh and Sol
(1998) were also able to consistently solve instances with
up to 30 requests in short computation times. Experiments
performed with the branch-and-cut algorithm on similar
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
Operations Research 54(3), pp. 573–586, ©2006 INFORMS 585
Table 6. Comparisons with CPLEX—second set of instances.
CPLEX B and C B and C with user cuts
Instance Bound CPU Nodes Bound CPU Nodes Cuts
b2-16 ∗ 309�41 0�21 5�815 ∗ 309�41 0�15 487 130
b2-20 ∗ 332�64 0�01 26 ∗ 332�64 0�01 2 30
b2-24 ∗ 444�71 2�76 32�399 ∗ 444�71 0�13 146 103
b3-18 ∗ 301�64 1�29 12�223 ∗ 301�64 0�70 2�458 254
b3-24 ∗ 394�51 7�27 42�950 ∗ 394�51 3�62 8�147 252
b3-30 ∗ 531�44 189�74 574�281 ∗ 531�44 6�82 9�862 274
b3-36 588�44 240�00 447�474 ∗ 603�79 62�07 66�079 291
b4-16 ∗ 296�96 2�44 20�189 ∗ 296�96 0�79 2�579 196
b4-24 ∗ 371�41 59�31 175�495 ∗ 371�41 5�85 7�119 255
b4-32 460�78 240�00 222�600 ∗ 494�82 176�82 126�332
375
b4-40 570�37 240�00 153�400 591�76 240�00 81�100 632
b4-48 577�64 240�00 50�000 586�91 240�00 21�000 753
instances (obtained by relaxing the ride-time constraints)
have, however, shown a deterioration of the algorithm’s per -
formance. This is partly explained by the fact that infeasible
path inequalities as well as most preprocessing techniques
then become irrelevant. In addition, column generation usu-
ally provides tighter formulations, leading to stronger LP
relaxation values. Nevertheless, it seems that handling ride-
time constraints in a column generation approach is far
from trivial. Indeed, the states of the dynamic program-
ming algorithm used for pricing would have to take into
account the individual ride time of each user. Label elimi -
nation based on dominance is then likely to be very weak.
7. Conclusion
We have introduced several new valid inequalities and
a branch-and-cut algorithm for the dial-a-ride problem.
Although no polyhedral analysis was carried out, the use-
fulness of these inequalities has been demonstrated through
computational experiments. A comparison with version 8.1
of CPLEX shows that the branch-and-cut algorithm pro-
posed here reduces both the CPU time and the number of
nodes explored in the branch-and-bound tree. The method-
ology proposed in this paper obviously cannot be used to
solve large-scale instances containing hundreds or thou-
sands of users, as is sometimes the case in large cities. It
is, however, fast enough to be used as a postprocessor to
optimize individual routes or small subsets of routes pro-
duced by a metaheuristic. Future work will concentrate on
the development of more refined separation procedures for
the various types of inequalities introduced in this paper.
Appendix
Details of the Proof of Proposition 3. There are two
cases to distinguish.
Case 1. An arc �i1�il� with 2 � l � m−1 is part of the
solution.
First, we show that there is at least one subset Uk
with 1 � k � l − 1 for which x�Uk� � �Uk� − 2. Suppose
this is not true. Then, for every k, there is a path in Uk
connecting ik and n + ik+1. Because the arc �i1�il� is in
the solution, the path for U1 must visit node n+ i2 before
visiting node i1. In addition, this path must appear imme-
diately before the arc �i1�il� in the solution. Now, for k =
2�����l − 1, the path for Uk must appear before that for
Uk−1 in the solution to avoid violating the precedence con-
straint for user ik. However, for k = l−1, this implies that
node n+il appears before node il, which is a contradiction.
Next, we show that there is at least one subset Uk with
l � k � m for which x�Uk� � �Uk� −2. Suppose this is not
true. Then, for every k, there is a path in Uk connecting ik
and n+ ik+1. Because the arc �i1�il� is in the solution, the
path for Ul must visit node il before visiting node n+ il+1.
In addition, this path must appear immediately after the arc
�i1�il� in the solution. Now, for k = l +1�����m, the path
for Uk must appear before that for Uk−1 in the solution to
avoid violating the precedence constraint for user ik. How -
ever, for k = m, this implies that node n+i1 appears before
node i1, which is a contradiction.
Case 2. An arc �i1�n+ il� with 3 � l � m is part of the
solution.
First, we show that there is at least one subset Uk with
1 � k � l − 1 for which x�Uk� � �Uk� − 2. Suppose this is
not true. Because the arc �i1�n+ il� is in the solution, the
path for U1 must visit node n+ i2 before visiting node i1.
In addition, this path must appear immediately before the
arc �i1�n + il� in the solution. Now, for k = 2�����l − 1,
the path for Uk must appear before that for Uk−1 in the
solution to avoid violating the precedence constraint for
user ik. However, for k = l−1, this implies that node n+il
appears before node i1, which is a contradiction because
the arc �i1�n+ il� is part of the solution.
Next, we show that for there is at least one subset Uk
with l � k � m for which x�Uk� � �Uk�−2. Suppose this is
not true. Because the arc �i1�n+il� is in the solution, then
for k = l�����m, the path for Uk must appear before the arc
�i1�n+il� in the solution to avoid violating the precedence
constraint for user ik. However, for k = m, this implies that
the path connecting im and n + i1 appears before node i1,
which is a contradiction. �
Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride
Problem
586 Operations Research 54(3), pp. 573–586, ©2006 INFORMS
Details of the Proof of Proposition 4. Again, there
are two cases to distinguish.
Case 1. An arc �n+ i1�il� with 2 � l � m−2 is part of
the solution.
For k = l−1�����1, the path connecting ik and n+ ik+1
must appear after the arc �n+i1�il� in the solution to avoid
violating the precedence constraint for user ik+1. However,
for k = 1 this implies that the path connecting i1 and n+i2
appears after the arc �n+ i1�il�, which is a contradiction.
Because the arc �n + i1�il� is in the solution, the sub-
path for Ul must visit node il before visiting node n+ il+1.
For k = l + 1�����m, the path for Uk must appear before
that for Uk−1 to avoid violating the precedence constraint
for user ik. However, for k = m, this implies that the path
connecting im and n+i1 appears before the path for at least
one other subset Uh with l+1 � h � m−1, and thus node
n+ i1 appears in two different places in the solution.
Case 2. An arc �n+i1�n+il� with 2 � l � m−1 is part
of the solution.
For k = 1�����l−1, the path connecting ik and n+ ik+1
must appear after the arc �n+i1�n+il�, but for k = 1, this
implies that node i1 appears after node n + i1, which is a
contradiction.
The path for Ul must appear before the arc �n+i1�n+il�
and, for k = l +1�����m−1, the path for Uk must appear
before that for Uk−1. However, for k = m, this implies that
the path connecting im and n + i1 appears before the path
for at least one other subset Uh with l � h � m − 1, and
thus node n + i1 appears in two different places in the
solution. �
Acknowledgments
This work was supported by the Natural Sciences and
Engineering Research Council of Canada under grant
227837-00. This support is gratefully acknowledged.
Thanks are due to Luigi Moccia for comments on an ear-
lier version of this paper. The author is also thankful to two
anonymous referees.
References
Ascheuer, N. 1996. Hamiltonian path problems in the on-line
optimiza-
tion of flexible manufacturing systems. Ph.D. thesis, Konrad-
Zuse-
Zentrum für Informationstechnik Berlin, Berlin, Germany.
Ascheuer, N., M. Fischetti, M. Grötschel. 2001. Solving the
asymmetric
travelling salesman problem with time windows by branch-and-
cut.
Math. Programming 90 475–506.
Ascheuer, N., M. Jünger, G. Reinelt. 2000. A branch & cut
algorithm
for the asymmetric traveling salesman problem with precedence
con-
straints. Comput. Optim. Appl. 17 61–84.
Augerat, P., J. M. Belenguer, E. Benavent, A. Corberán, D.
Naddef. 1999.
Separating capacity inequalities in the CVRP using tabu search.
Eur.
J. Oper. Res. 106 546–557.
Balas, E., M. Fischetti, W. R. Pulleyblank. 1995. The
precedence-con-
strained asymmetric traveling salesman polytope. Math.
Programming
68 241–265.
Bodin, L. D., T. Sexton. 1986. The multi-vehicle subscriber
dial-a-ride
problem. TIMS Stud. Management Sci. 26 73–86.
Cordeau, J.-F., G. Laporte. 2003a. The dial-a-ride problem
(DARP):
Variants, modeling issues and algorithms. 4OR—Quart. J.
Belgian,
French Italian Oper. Res. Soc. 1 89–101.
Cordeau, J.-F., G. Laporte. 2003b. A tabu search heuristic for
the
static multi-vehicle dial-a-ride problem. Transportation Res. B
37
579–594.
Desaulniers, G., J. Desrosiers, A. Erdmann, M. M. Solomon, F.
Soumis.
2002. VRP with pickup and delivery. P. Toth, D. Vigo, eds. The
Vehi-
cle Routing Problem. SIAM Monographs on Discrete
Mathematics
and Applications. Philadelphia, PA, 225–242.
Desrochers, M., G. Laporte. 1991. Improvements and extensions
to the
Miller-Tucker-Zemlin subtour elimination constraints. Oper.
Res.
Lett. 10 27–36.
Desrosiers, J., Y. Dumas, F. Soumis. 1986. A dynamic
programming solu-
tion of the large-scale single-vehicle dial-a-ride problem with
time
windows. Amer. J. Math. Management Sci. 6 301–325.
Dumas, Y., J. Desrosiers, F. Soumis. 1989. Large scale multi -
vehicle dial-
a-ride problems. Technical Report G-89-30, GERAD, HEC
Montréal,
Montréal, Quebec, Canada.
Dumas, Y., J. Desrosiers, F. Soumis. 1991. The pickup and
delivery prob-
lem with time windows. Eur. J. Oper. Res. 54 7–22.
Gendreau, M., G. Laporte, F. Semet. 1998. A branch-and-cut
algorithm
for the undirected selective traveling salesman problem.
Networks 32
263–273.
Grötschel, M., M. W. Padberg. 1985. Polyhedral theory. E. L.
Lawler,
J. K. Lenstra, A. H. G. Rinnooy Kan, D. B. Shmoys, eds. The
Trav-
eling Salesman Problem. Wiley, New York, 251–305.
Jaw, J., A. R. Odoni, H. N. Psaraftis, N. H. M. Wilson. 1986. A
heuristic
algorithm for the multi-vehicle advance-request dial-a-ride
problem
with time windows. Transportation Res. B 20 243–257.
Johnson, D. S. 1974. Approximation algorithms for
combinatorial opti-
mization problems. J. Comput. System Sci. 9 256–278.
Madsen, O. B. G., H. F. Ravn, J. M. Rygaard. 1995. A heuristic
algorithm
for a dial-a-ride problem with time windows, multiple
capacities, and
multiple objectives. Ann. Oper. Res. 60 193–208.
Miller, C. E., A. W. Tucker, R. A. Zemlin. 1960. Integer
programming for-
mulations and traveling salesman problems. J. Association
Comput.
Machinery 7 326–329.
Naddef, D., G. Rinaldi. 2002. Branch-and-cut algorithms for the
capac-
itated VRP. P. Toth, D. Vigo, eds. The Vehicle Routing Prob-
lem. SIAM Monographs on Discrete Mathematics and
Applications.
Philadelphia, PA, 53–84.
Psaraftis, H. N. 1980. A dynamic programming approach to the
single-
vehicle, many-to-many immediate request dial-a-ride problem.
Trans-
portation Sci. 14 130–154.
Psaraftis, H. N. 1983. An exact algorithm for the single-vehicle
many-to-
many dial-a-ride problem with time windows. Transportation
Sci. 17
351–357.
Ruland, K. S. 1995. Polyhedral solution to the pickup and
delivery
problem. Ph.D. thesis, Sever Institute of Technology,
Washington
University, St. Louis, MO.
Ruland, K. S., E. Y. Rodin. 1997. The pickup and delivery
problem: Faces
and branch-and-cut algorithm. Comput. Math. Appl. 33 1–13.
Savelsbergh, M. W. P. 1985. Local search in routing problems
with time
windows. Ann. Oper. Res. 4 285–305.
Savelsbergh, M. W. P. 1992. The vehicle routing problem with
time win-
dows: Minimizing route duration. ORSA J. Comput. 4 146–154.
Savelsbergh, M. W. P., M. Sol. 1998. Drive: Dynamic routing of
indepen-
dent vehicles. Oper. Res. 46 474–490.
Toth, P., D. Vigo. 1996. Fast local search algorithms for the
handi-
capped persons transportation problem. I. H. Osman, J. P.
Kelly,
eds. Meta-Heuristics: Theory and Applications. Kluwer, Boston,
MA,
677–690.
Toth, P., D. Vigo. 1997. Heuristic algorithms for the
handicapped persons
transportation problem. Transportation Sci. 31 60–71.
Assignment 1: Database Project Part A: Create and provide a
laboratory inventory database/spreadsheet.
The detail and meticulousness of your laboratory database
serves as evidence of professional behavior in the workplace.
As the laboratory manager, the visitors (potential investors in
the company) have asked you to “walk” them through your
laboratory inventory database/spreadsheet. They want to be re-
assured that the laboratory personnel are detailed and
conscientious in their work and economic in their spending;
they do not want their money wasted.
Your inventory should, ideally, include, at least: purchase
requester and date, approver and approval date, purchase dates,
purchase cost centers (grants or re- investment money),
vendors, costs, location of supply or item, location of the SDS
(if a chemical), decommissioning date and reason, for chemical
the hazard category.
You will need to track the following:
· Consumable/disposable laboratory supplies: inventory of
available supplies; requests from lab members to purchase new
supplies; and purchase requests, costs, and receipts. Include at
least 5 unique supplies in the inventory, 4 of which are
chemicals each from a different hazard class.
· Durable laboratory equipment and supplies: inventory of
available equipment and supplies; requests from lab members to
purchase new equipment and supplies; purchase requests, costs,
and receipts; for equipment and supplies greater than $1,000 in
purchase price, the location of the equipment and the equipment
identification (ID) number issued by your institution; for
decommissioned equipment and supplies greater than $1,000 in
purchase price, the date and reason for decommissioning and the
location or transfer information of the equipment You should
have a minimum of 2 items.
· In your database you will need to include 3 personnel by
including them in the procurement area.
To complete this assignment, do the following and post in your
assignment folder by the deadline:
· Select Microsoft Excel (spreadsheet) for your tracking system.
When you go to New search for inventory
·
· Using your selected spreadsheet, design and create a shell to
track this information. Remember to include at least 3
personnel, 5 consumables (representing at least four classes of
hazards (health or physical) from the 29 CFR 1910.1200 list
available
at: https://www.osha.gov/Publications/OSHA3844.pdf , and 2
Durable laboratory equipment or supplies.
· Submit a PDF version of your demonstration spreadsheet.
In an accompanying 1-2 pages written paper:
· Describe a strategy for the routine updating and maintenance
of the database/spreadsheet, as well as for checking the
accuracy of its contents.
· Describe a strategy for making the information in your
database/spreadsheet accessible to all laboratory members while
maintaining the integrity of the database/spreadsheet and its
contents.
· explain the set up and organization of your database by
explaining the purchasing and tracking process
Your grade for Part A will be based upon: (a) Completion of a
sample database with the necessary fields (40%), (b) Written
Paper including an explanation of the database form selected
(5%), an explanation of the set-up and organization of your
database (25%), an explanation for user access and
maintenance of the database (25%), and correct grammar,
spelling, punctuation, etc. (5%).
Assignment 2: Database Project Part B--Safety Data Sheets
Complete Part 2 of the project by discussing safety compliance
requirements of select consumable inventory supplies.
Part B: Safety compliance of inventory.
Select four chemicals from your inventory database/spreadsheet
(Database A assignment). The items should come from at least
four distinct classes of hazards (health or physical) from the 29
CFR 1910.1200 list available
at: https://www.osha.gov/dsg/hazcom/ghd053107.html (go to
the bottom of the file).
Recommendation: in Google, type the name of one of your
chemical and write SDS after it. You will have an array of
vendors that have SDS sheets available. Select one and then
downloaded to your computer/laptop and name it with the name
of the chemical_SDS_Vendor. Do that for each of the 4 required
chemicals. You will be submitting those SDS sheets along with
your assignment. Use the information from those SDS sheets to
answer the questions.
For each of the four items, provide the following:
SDS sheet and state its hazard category and show
the corresponding symbol (pictogram).
Summarize in a short paragraph for each item the proper
procedures (in your own words) for: (1) handling, (2) storage,
(3) disposal, and (4) transportation. You should have 1 picture
and 4 short paragraphs for each chemical selected.
Your grade for Part B will be based upon: Selection of items
from four distinct hazard classes based on 29 CFR (15%);
providing appropriate SDS for each item (15%); correctly
identifying the hazard category and providing the corresponding
hazard symbol for each item (10%); and providing accurate
information about each item's handling (15%), storage (15%),
disposal (15%) and transportation (10%); and correct grammar,
spelling, punctuation, etc. (5%). Please look at your rubric for
further points information.
Your deliverables that must be uploaded to the appropriate
assignment folder are the following 5 items: 4 SDS sheets (1 for
each chemical) and 1 word document that provides the
information requested.
Chapter 11
Hub Location Problem
Masoud Hekmatfar and Mirsaman Pishvaee
One of the novel topics in location problems is the hub location
problem. There
are plenty of applications for the hub location problem;
therefore, this section is
dedicated to introducing this problem to readers. The preface is
composed of three
parts: apprehensions, definitions, and classifications of the hub
location problem.
In this chapter we discuss services such as, movement of
people, commodities
and information which occurs between an origin-destination
pair of nodes (see A–B
in Fig. 11.1 as an origin-destination pair). Each origin-
destination pair needs a ser-
vice different from other pairs. Thus, the commodities carried
from i to j are not
interchangeable with the commodities carried from j to i.
If we have N nodes and if each node can be either an origin or a
destination,
we’ll have N.N �1/ origin-destination pairs of nodes in a
network which form a
fully connected network (a network in which all nodes are
connected together).
Notice that i�j pair is different from j�i pair. A sample
network with six nodes is
presented in Fig. 11.1 (Daskin 1995).
Assuming that we have different traffic services in this network
and that each
vehicle can service five origin-destination pairs every day, with
18 vehicles, we will
be able to service ten nodes every day.
If we set one of the nodes as a hub1 node and connect it to all
of the other nodes,
which are introduced as spoke, we will have 2.N �1/
connections to service all
origin-destination node pairs. This network is presented in Fig.
11.2 (Daskin 1995).
In this network, if there are different traffic services and if each
vehicle can service
five origin-destination pairs every day, with 18 vehicles, we
will be able to service
46 nodes every day.
Thus, with fixed traffic resources, we can service more cities
with a hub network
than with a completely connected network2.
1 Hub means the ball in the center of a wheel and Campbell
(1994) defined it as “the facilities that
are servicing many origin-destination pairs as transformation
and tradeoff nodes, and are used in
traffic systems and telecommunications.”
2 This argument ignores vehicles’ capacity. It should be clear
that the volume of goods or the
number of people transported on each link in the hub-and-spoke
network will be considerably
greater than the number transported on each link of the fully
connected network. This also ignores
differences in the distances between nodes as it assumes that the
number of origin-destination pair
trips a vehicle can service is independent from the distances
between the nodes.
R.Z. Farahani and M. Hekmatfar (eds.), Facility Location:
Concepts, Models, 243
Algorithms and Case Studies, Contributions to Management
Science,
DOI 10.1007/978-3-7908-2151-2 11, c� Physica-Verlag
Heidelberg 2009
sedcf
Highlight
244 M. Hekmatfar and M. Pishvaee
Fig. 11.1 A fully connected
network with 6 nodes and
30 origin-destination pairs
(Daskin 1995)
B
C
D
E
F
A
Fig. 11.2 A hub and spoke
network with 6 nodes and
30 origin-destination pairs
(Daskin 1995)
A
B C D E F
The main disadvantage of such system (regarding all nodes
except the hub node)
is that more than one trip is required to travel between each
origin-destination pair
since we have to pass the hub node to be able to travel from one
non-hub node to
another.
In multi hub networks, we assume that the hub nodes are
completely connected
to one another and that each non-hub node is connected to
exactly (at least) one
hub node such as Fig. 11.3 (Daskin 1995). In Fig. 11.3, there
are 15 cities and three
hubs. The number of passengers or commodities carried from
one hub to another is
greater than the number of passengers or commodities moved
from each non-hub
node to that hub; for example if the traffic between each origin-
destination pair is
ten units, there will be 140 traffic units between each non-hub
city and the hub it is
connected to, but there will be 250 traffic units between two
hubs.
It is not reasonable to establish direct paths between every pair
of nodes; for
example assume that we establish direct paths between each pair
of nodes in a con-
nective network such as, a route network or a computer network
(Camargo et al.
2008). Thus, hub nodes are used to resolve this problem. One of
the advantages of
using hubs is that we gain economic profits by establishing
more qualitative paths
between the hubs (Camargo et al. 2008). In road networks, when
there are a large
number of relationships between two nodes, it is economic to
establish a highway
with several lines between those two nodes, and obtain faster
movement of vehicles,
and less waste in fuel, and, thus, savings in time and cost.
In computer networks, fiber-optic cables are only used to
connect hubs and it is
not economic to use them to join any two nodes.
11 Hub Location Problem 245
Fig. 11.3 Example of a three-
hub network (Daskin 1995)
A
D E
G
H
I
J
L
M
N
O
K
B
C
F
This chapter is organized as follows. In Sect. 11.1, some
applications of hub loca-
tion problem and its classifications are given, and Sect. 11.2
presents some models
developed for the problem. Some relevant algorithms to solve
hub models are given
in Sect. 11.3. Finally, Sect. 11.4 represents some real world
case studies with a short
summary.
11.1 Applications and Classifications
Many applications of hub problem are given in the following:
� Airlines and air ports: Some works in this area are Toh et al.
(1985), Shaw (1993),
Aykin (1995), Jaillet et al. (1996), Bania et al. (1998), Sasaki et
al. (1999),
Martin and Roman (2003) and Adler and Hashai (2005). In
Adler and Hashai
(2005), airlines and transportations based on open sky policy
are surveyed in
the Middle East. It is interesting that based on their research,
the four cities se-
lected as optimized hub airports are, in order of utility, Cairo,
Tehran, Istanbul,
and Riyadh. Dubai which now works as an important center for
airport trans-
portation, is not an optimal hub airport. This means that, politic
and economic
problems have dominated over optimized location.
� Transportation and handling problems: Some works in this
area are Don et al.
(1995), Lumsdenk et al. (1999), Aversa et al. (2005), Baird et
al. (2006), Cunha
and Silva (2007), Yaman et al. (2007) and Eiselt (2007). In
Eiselt (2007), find-
ing the optimized land dump locations, with respect to garbage
transportation
stations, is discussed.
� Post delivery services and fast delivery packing companies:
Kuby et al. (1993),
Krishnamoorthy et al. (1994), Ernst and Krishnamoorthy (1996)
and Ebery et al.
(2000) represent models in this area.
246 M. Hekmatfar and M. Pishvaee
� Telecommunication systems and massage delivery networks:
Some works in this
area are Lee et al. (1996) and Klincewicz (1998).
� Emergency services: Hakimi (1964) and Berman et al. (2007)
represented models
in emergency services. Berman et al. (2007) discussed the
location of a hub for
rescue helicopters.
� Chain stores in supply chain (like Wall-Mart): A work in this
area is Campbell
et al. (2002).
� Productive companies in basis transportation correctly: Every
assembly plant
probably wants to find an optimized solution for its material
storage and handling
such that each production facility can receive its required
materials effectively.
Some practical examples of hub problems are as follows:
� A classical example is Hungarian railway system with
Budapest as its hub.
� Two huge American airlines based in Atlanta and Chicago,
use hub networks.
� Dubai airport is a hub for many flights in the Middle East.
The hub location problem has a short history. The first paper on
hub location prob-
lem was published by Toh et al. (1985). This paper was on the
application of hub
location problem in airlines and airports. Although Hakimi
(1964) first published a
paper on hub location, since next paper on this topic was not
published until two
decades later, it is assumed that the hub location problem has
been first discussed
in 1980s.
O’Kelly (1987) developed hub location models. He had an
important role in de-
veloping the first modeling of hub problems (O’Kelly 1987,
1992). Later, Campbell
(1994) played a major role in completing hub modeling. His
papers are among the
most important papers on types of hub modeling (Campbell
1994, 1996). Also,
some authors played important roles in improving this topic
(Aykin 1994, 1995;
Klincewicz 1991, 1992).
Many papers have been published on hub location problem so
far (since1980s).
Daskin (1995) has written a book on “Network and Discrete
location” and only a
brief section of this book is dedicated to hub location. Figure
11.4 shows that the
number of papers has increased in recent years. The number of
published papers
on hubs shows a significant increase in 1996, which is
presumably the time when
the modeling of hub problems has reached maturity. The
emphasis of papers was on
modeling in the early years, on optimizing and completing the
models in the follow-
ing years, and, finally, on solution methods in recent years.
Thus, hub location prob-
lem is a rather new topic and a good area for research and
development activities.
A classification of different types of hub problems and their
properties is repre-
sented as follows:
� Area solution: discrete, continual
� Objective function: MiniMax, MiniSum
� Determination of the number of hubs: exogenous, endogenous
� Number of hubs: one hub, more than one hub
� Hub capacity: unlimited (uncapacitated), limited
11 Hub Location Problem 247
Focus on primary
Modeling
Focus on model
optimization
Focus on large scale
optimization and solution
algorithms
Papers
0
1
2
3
4
5
6
7
8
9
10
11
12
20
06
20
05
20
04
20
03
20
02
20
01
20
00
19
99
19
98
19
97
19
96
19
95
19
94
19
93
19
92
19
91
19
90
19
89
19
88
19
87
19
86
19
85
Year
N
um
be
r
Fig. 11.4 Revolution of Hub location problem papers3
� Cost of hub location: no cost, fixed cost, variable cost
� Node connections to hub: to one hub, to more than one hub
� The cost of connection to a hub: no cost, fixed cost, variable
cost
Researchers have worked on a variety of hub modeling
problems. However, no re-
search has been conducted on many types of hub modeling
problems resulted from
multiplying the above items. On the other hand, some of the
new models do not have
any applications in the real world and, therefore, are not really
worth modeling.
Since most of the applications of hub problems in real world are
discrete, the
models developed so far are mostly discrete models.
11.2 Models
In this section we introduce hub models represented and
developed as mathematical
models.
11.2.1 Single Hub Location Problem (O’Kelly 1987)
O’Kelly (1987) was the first to introduce the single hub model
which has only one
hub node.
3 This information is based on Springer-Verlag and Elsevier
(Science Direct) websites.
sedcf
Highlight
sedcf
Highlight
248 M. Hekmatfar and M. Pishvaee
11.2.1.1 Model Assumptions
Model assumptions of this model are as follows:
� The objective function is MiniSum.
� The solution space is discrete and finite.
� There is only one hub node.
� All of the nodes are connected to the hub node and each non-
hub node is con-
nected to every other non-hub node via the hub node.
� The number of hub nodes is known (exogenous model).
� The installation cost of the hub node is not considered.
� The capacity of the hub node is unlimited (uncapacitated
model).
� All decision variables of the model are binary (0–1)
variables.
11.2.1.2 Model Inputs
Model inputs of this model are as follows:
hij : demand or flow between origin i and destination j
Cij : unit cost of local (non-hub to hub) movement between
nodes i and j
11.2.1.3 Model Outputs (Decision Variables)
Model outputs of this model are as follows:
Xj D a hub is located at node j
Yij D node i is connected to a hub located at node j
11.2.1.4 Objective Function and its Constraints
The objective function of this model and its related constraints
are as follows:
Min
X
i
X
j
X
k
hik
�
Cij C Cjk
�
yijykj: (11.1)
Subject to
X
j
Xj D 1; (11.2)
Yij � Xj � 0 8i;j ; (11.3)
Xj D 0;1 8j ; (11.4)
Yij D 0;1 8i;j : (11.5)
11 Hub Location Problem 249
Equation (11.1) minimizes the total cost associated with the
transport through the
hub. Equation (11.2) ensures that we locate only one hub.
Equation (11.3) ensures
that demand node i cannot be connected to a hub at j unless we
locate the hub at j .
Equations (11.4) and (11.5) are standard integrity constraints.
11.2.1.5 Linearizing the Objective Function
The objective function is quadratic since it involves the product
of decision vari-
ables. However since there is only one hub, if node i is assigned
to a hub at node j ,
then all nodes k.k ¤ i/ must be assigned to the hub at node j .
Thus we can rewrite
(11.1) as follows:
X
i
X
j
X
k
hik
�
Cij C Cjk
�
yijykj D
X
i
X
j
Cijyij
X
k
hik
!
C
X
j
X
i
Cjiyij
X
k
hki
!
D
X
i
X
j
Cijyij .Oi C Di/;
(11.6)
where Oi : the total outflow of node iI Di : the total inflow of
node i.
Having transformed (11.1)–(11.6), we can find the optimal 1-
hub location with
minimum objective function value by total enumeration in
O.N2/ time.
11.2.2 P-Hub Location Problem (O’Kelly 1987)
This model is referred to as single allocation P-hub location
problem, since each
non-hub node is assigned to one hub node (O’Kelly 1987).
11.2.2.1 Model Assumptions
Model assumptions are as follows:
� The objective function is MiniSum.
� The solution space is discrete and finite.
� All of the hub nodes are connected to one another and each
non-hub node is
connected to (exactly, at least) a hub.
� The number of hub nodes is known (exogenous).
� To travel between two non-hub nodes, one or two hubs have
to be passed, i.e.
two non hub nodes are never connected directly.
� The installation cost of the hub nodes is not considered.
� The capacities of the hub nodes are unlimited (uncapacitated
model).
� All decision variables of the model are binary variables (0–
1).
250 M. Hekmatfar and M. Pishvaee
11.2.2.2 Model Inputs
We have all the inputs in previous model in addition to the
following inputs:
˛ D discount factor for line-haul movement between hubs .0 � ˛
< 1/.
As transportation cost between two hubs is less than
transportation cost between
a hub node and a non-hub node, we multiply ˛ by Cij in
calculating the movement
cost between two hubs.
P D the number of hubs to locate.
11.2.2.3 Model Outputs (Decision Variables)
The outputs of this model are similar to the previous model.
11.2.2.4 Objective Function and its Constraints
The objective function of this model and its related constraints
are as follows:
Min
X
i
X
k
CikYik
0
@X
j
hij
1
A C X
k
X
i
CkiYik
X
J
hji
!
C˛
X
i
X
j
X
k
X
m
hijCkmyikyjm: (11.7)
Subject to
X
j
yij D 1 8i; (11.8)
X
j
xj D P; (11.9)
yij � xj � 0 8i;j; (11.10)
xj D 0;1 8j; (11.11)
yij D 0;1 8i;j: (11.12)
Equation (11.7) minimizes the total cost associated with the P
hubs locations and
the assignment of nodes to the hubs. The first term is the cost of
connecting all trips
originating at node i to the hub k to which node i is attached.
The second term
is the cost of connecting all trips destined for node i to hub k, to
which node i is
11 Hub Location Problem 251
attached (sum on all i, k). The third term is a hub-to-hub
connection cost (sum of
two hubs). Equation (11.8) ensures that each node i is assigned
to exactly one hub.
Equation (11.9) ensures that the number of hub nodes is P .
Equation (11.10) states
that demand node i cannot be connected to a hub at j unless we
locate the hub at j .
Equations (11.11) and (11.12) are standard integrity constraints.
11.2.3 Multiple Allocation P-Hub Location Model (P-Hub
Median Location Model) (Campbell 1991)
The objective function of the previous model was nonlinear; so
Campbell (1991)
represented the following model with a linear objective
function. He formulated this
model like P-median problem and called it P-hub median
location model. We dis-
cuss P-hub median problems in which each non-hub node can be
connected to more
than one hub, and therefore, are called multiple allocation P-hub
location problem.
Notice that this property is not fixed, so we also discuss models
with one allocation
between each hub node and non-hub node (discussed in Sect.
11.2.5).
11.2.3.1 Model Assumptions
Model assumptions are similar to the ones of P-hub problem
model except that the
Zkmij variables is relaxed .Z
km
ij � 0/ and each non-hub node can be connected to
more than one hub node.
11.2.3.2 Model Inputs
Model inputs are similar to P-hub problem model except that the
Cij variables are
defined as follows:
Ckmij D unit cost of travel between origin i and destination j
when going via
hubs at nodes k and m
C
km
ij D Cik C ˛Ckm C Cmj
: (11.13)
11.2.3.3 Model Outputs (Decision Variables)
The model outputs of this model are as follows:
Xj D a hub is located at node j
Zkmij D flow from origin i to destination j uses hubs at
candidates sites k and m.
sedcf
Highlight
252 M. Hekmatfar and M. Pishvaee
11.2.3.4 Objective Function and its Constraints
The objective function of this model and its related constraints
are as follows:
Min
X
i
X
j
X
k
X
m
Ckmij hijZ
km
ij : (11.14)
Subject to X
k
xk D P; (11.15)
X
k
X
m
Zkmij D 1 8i;j; (11.16)
Zkmij � xm 8i;j;k;m; (11.17)
Zkmij � xk 8i;j;k;m; (11.18)
Zkmij � 0 8i;j;k;m; (11.19)
xk D 0;1 8k: (11.20)
Equation (11.14) minimizes the demand-weighted total travel
cost. Equation (11.15)
stipulates that exactly P hubs should be located. Equations
(11.16) ensure that
each origin-destination pair (i, j) must be assigned to exactly
one hub pair. Equa-
tions (11.17) and (11.18) stipulate that flow from origin i to
destination j cannot be
assigned to a hub at location k or m unless a hub is located at
these candidate nodes
(when we travel from one node to another node via one hub
node, m and k are
coincided with each other). Equations (11.19) are standard
integrality constraints.
Equations (11.20) are relaxed decision variable constraints.
One of the key difficulties associated with this hub location
model should also be
evident from this formulation. The number of assignment
variables .Zkmij / can be
extremely large. In fact, if every origin or destination node is a
candidate hub, there
will be O.N4/ of such variables. For a relatively small problem
with 32 origins
and destinations, we would have over one million such decision
variables. In short,
the size of these problems grows very quickly with the number
of nodes in the
problem unless some a priori means of eliminating candidate
hub locations is used.
The use of quadratic formulation (11.7) reduces the number of
decision variables
dramatically but does not make solving the problem any easier.
11.2.4 P-Hub Median Location Problem with Fixed Costs
(O’ Kelly 1992)
P-hub median location model with respect to fixed cost of hub
locations is repre-
sented by O’ Kelly (1992).
11 Hub Location Problem 253
11.2.4.1 Model Assumptions
The model assumptions are similar to the ones of P-hub problem
model except that
there are two differences:
� The number of hub nodes is not known beforehand
(endogenous).
� A fixed cost of hub location is incorporated into the model.
11.2.4.2 Model Inputs
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe
This article was downloaded by [107.133.16.252] On 28 Octobe

More Related Content

Similar to This article was downloaded by [107.133.16.252] On 28 Octobe

_370996_1_En_1_Chapter_Author
_370996_1_En_1_Chapter_Author_370996_1_En_1_Chapter_Author
_370996_1_En_1_Chapter_Author
Nahid Mahbub
 
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Mumbai Academisc
 
Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...
IJECEIAES
 

Similar to This article was downloaded by [107.133.16.252] On 28 Octobe (20)

An Integrated Territory Planning And Vehicle Routing Approach For A Multi-Obj...
An Integrated Territory Planning And Vehicle Routing Approach For A Multi-Obj...An Integrated Territory Planning And Vehicle Routing Approach For A Multi-Obj...
An Integrated Territory Planning And Vehicle Routing Approach For A Multi-Obj...
 
_370996_1_En_1_Chapter_Author
_370996_1_En_1_Chapter_Author_370996_1_En_1_Chapter_Author
_370996_1_En_1_Chapter_Author
 
Control of A Platoon of Vehicles in Vanets using Communication Scheduling Pro...
Control of A Platoon of Vehicles in Vanets using Communication Scheduling Pro...Control of A Platoon of Vehicles in Vanets using Communication Scheduling Pro...
Control of A Platoon of Vehicles in Vanets using Communication Scheduling Pro...
 
LAST MILE DELIVERY
LAST MILE DELIVERYLAST MILE DELIVERY
LAST MILE DELIVERY
 
2017.On-Line VRP for CER.pdf
2017.On-Line VRP for CER.pdf2017.On-Line VRP for CER.pdf
2017.On-Line VRP for CER.pdf
 
NS2 IEEE Projects @ HCL Velachery
NS2 IEEE Projects @ HCL VelacheryNS2 IEEE Projects @ HCL Velachery
NS2 IEEE Projects @ HCL Velachery
 
A Frequency Based Transit Assignment Model That Considers Online Information ...
A Frequency Based Transit Assignment Model That Considers Online Information ...A Frequency Based Transit Assignment Model That Considers Online Information ...
A Frequency Based Transit Assignment Model That Considers Online Information ...
 
A Computational Study Of Traffic Assignment Algorithms
A Computational Study Of Traffic Assignment AlgorithmsA Computational Study Of Traffic Assignment Algorithms
A Computational Study Of Traffic Assignment Algorithms
 
A Computational Study Of Traffic Assignment Algorithms
A Computational Study Of Traffic Assignment AlgorithmsA Computational Study Of Traffic Assignment Algorithms
A Computational Study Of Traffic Assignment Algorithms
 
Elements CAE white paper
Elements CAE white paperElements CAE white paper
Elements CAE white paper
 
TRR Paper
TRR PaperTRR Paper
TRR Paper
 
paper
paperpaper
paper
 
2213ijccms02.pdf
2213ijccms02.pdf2213ijccms02.pdf
2213ijccms02.pdf
 
Conflict-free dynamic route multi-agv using dijkstra Floyd-warshall hybrid a...
Conflict-free dynamic route multi-agv using dijkstra  Floyd-warshall hybrid a...Conflict-free dynamic route multi-agv using dijkstra  Floyd-warshall hybrid a...
Conflict-free dynamic route multi-agv using dijkstra Floyd-warshall hybrid a...
 
INTEGRATION OF GIS AND OPTIMIZATION ROUTINES FOR THE VEHICLE ROUTING PROBLEM
INTEGRATION OF GIS AND OPTIMIZATION ROUTINES FOR THE VEHICLE ROUTING PROBLEMINTEGRATION OF GIS AND OPTIMIZATION ROUTINES FOR THE VEHICLE ROUTING PROBLEM
INTEGRATION OF GIS AND OPTIMIZATION ROUTINES FOR THE VEHICLE ROUTING PROBLEM
 
Integration Of Gis And Optimization Routines For The Vehicle Routing Problem
Integration Of Gis And Optimization Routines For The Vehicle Routing ProblemIntegration Of Gis And Optimization Routines For The Vehicle Routing Problem
Integration Of Gis And Optimization Routines For The Vehicle Routing Problem
 
An artificial immune system algorithm for solving the uncapacitated single all...
An artificial immune system algorithm for solving the uncapacitated single all...An artificial immune system algorithm for solving the uncapacitated single all...
An artificial immune system algorithm for solving the uncapacitated single all...
 
Vehicle route scheduling and transportation cost minimization in a latex indu...
Vehicle route scheduling and transportation cost minimization in a latex indu...Vehicle route scheduling and transportation cost minimization in a latex indu...
Vehicle route scheduling and transportation cost minimization in a latex indu...
 
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
 
Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...Comparative study of optimization algorithms on convolutional network for aut...
Comparative study of optimization algorithms on convolutional network for aut...
 

More from GrazynaBroyles24

6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx
6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx
6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx
GrazynaBroyles24
 
54w9Performing Effective Project Monitoring and Risk Management.docx
54w9Performing Effective Project Monitoring and Risk Management.docx54w9Performing Effective Project Monitoring and Risk Management.docx
54w9Performing Effective Project Monitoring and Risk Management.docx
GrazynaBroyles24
 
50 words minimum This weeks audio is very informative but o.docx
50 words minimum This weeks audio is very informative but o.docx50 words minimum This weeks audio is very informative but o.docx
50 words minimum This weeks audio is very informative but o.docx
GrazynaBroyles24
 
500 word discussion on the passage to answer question at the botto.docx
500 word discussion on the passage to answer question at the botto.docx500 word discussion on the passage to answer question at the botto.docx
500 word discussion on the passage to answer question at the botto.docx
GrazynaBroyles24
 
5. An electric motor accomplishes what task[removed]convert.docx
5. An electric motor accomplishes what task[removed]convert.docx5. An electric motor accomplishes what task[removed]convert.docx
5. An electric motor accomplishes what task[removed]convert.docx
GrazynaBroyles24
 
500 wordsAPA FormatScenarioYou are a probation officer a.docx
500 wordsAPA FormatScenarioYou are a probation officer a.docx500 wordsAPA FormatScenarioYou are a probation officer a.docx
500 wordsAPA FormatScenarioYou are a probation officer a.docx
GrazynaBroyles24
 

More from GrazynaBroyles24 (20)

6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx
6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx
6 Pagesewly appointed Police Chief Alexandra Delatorre of the An.docx
 
6 pages which reach all of requiements below hereAn essay inclu.docx
6 pages which reach all of requiements below hereAn essay inclu.docx6 pages which reach all of requiements below hereAn essay inclu.docx
6 pages which reach all of requiements below hereAn essay inclu.docx
 
54w9Performing Effective Project Monitoring and Risk Management.docx
54w9Performing Effective Project Monitoring and Risk Management.docx54w9Performing Effective Project Monitoring and Risk Management.docx
54w9Performing Effective Project Monitoring and Risk Management.docx
 
5I need a fiive page paper with title page, reference page in APA fo.docx
5I need a fiive page paper with title page, reference page in APA fo.docx5I need a fiive page paper with title page, reference page in APA fo.docx
5I need a fiive page paper with title page, reference page in APA fo.docx
 
6 pages paper for International relations class Knowledgeable Econo.docx
6 pages paper for International relations class Knowledgeable Econo.docx6 pages paper for International relations class Knowledgeable Econo.docx
6 pages paper for International relations class Knowledgeable Econo.docx
 
50 words minimum This weeks audio is very informative but o.docx
50 words minimum This weeks audio is very informative but o.docx50 words minimum This weeks audio is very informative but o.docx
50 words minimum This weeks audio is very informative but o.docx
 
500 word discussion on the passage to answer question at the botto.docx
500 word discussion on the passage to answer question at the botto.docx500 word discussion on the passage to answer question at the botto.docx
500 word discussion on the passage to answer question at the botto.docx
 
5. An electric motor accomplishes what task[removed]convert.docx
5. An electric motor accomplishes what task[removed]convert.docx5. An electric motor accomplishes what task[removed]convert.docx
5. An electric motor accomplishes what task[removed]convert.docx
 
5.4 - Commercial Air Travel during the 1950’s – 1960’sIn this .docx
5.4 - Commercial Air Travel during the 1950’s – 1960’sIn this .docx5.4 - Commercial Air Travel during the 1950’s – 1960’sIn this .docx
5.4 - Commercial Air Travel during the 1950’s – 1960’sIn this .docx
 
500 wordsAPA FormatScenarioYou are a probation officer a.docx
500 wordsAPA FormatScenarioYou are a probation officer a.docx500 wordsAPA FormatScenarioYou are a probation officer a.docx
500 wordsAPA FormatScenarioYou are a probation officer a.docx
 
500 words- no references. Must be original, no plagiarism.docx
500 words- no references. Must be original, no plagiarism.docx500 words- no references. Must be original, no plagiarism.docx
500 words- no references. Must be original, no plagiarism.docx
 
5.5 - Beginnings of the Space ProgramIn this discussion activi.docx
5.5 - Beginnings of the Space ProgramIn this discussion activi.docx5.5 - Beginnings of the Space ProgramIn this discussion activi.docx
5.5 - Beginnings of the Space ProgramIn this discussion activi.docx
 
5.3 - Discussion Ethical issuesReview the pros and cons of glob.docx
5.3 - Discussion Ethical issuesReview the pros and cons of glob.docx5.3 - Discussion Ethical issuesReview the pros and cons of glob.docx
5.3 - Discussion Ethical issuesReview the pros and cons of glob.docx
 
500 words APA formatHow much impact do managers actually have on a.docx
500 words APA formatHow much impact do managers actually have on a.docx500 words APA formatHow much impact do managers actually have on a.docx
500 words APA formatHow much impact do managers actually have on a.docx
 
5.2Complete one of the following options for your Week 5 Assignm.docx
5.2Complete one of the following options for your Week 5 Assignm.docx5.2Complete one of the following options for your Week 5 Assignm.docx
5.2Complete one of the following options for your Week 5 Assignm.docx
 
5.1 DBDisparities exist among racial and ethnic groups with rega.docx
5.1 DBDisparities exist among racial and ethnic groups with rega.docx5.1 DBDisparities exist among racial and ethnic groups with rega.docx
5.1 DBDisparities exist among racial and ethnic groups with rega.docx
 
5. What are the most common types of computer-based information syst.docx
5. What are the most common types of computer-based information syst.docx5. What are the most common types of computer-based information syst.docx
5. What are the most common types of computer-based information syst.docx
 
5.2 - Postwar Commercial AviationIn this discussion activity, .docx
5.2 - Postwar Commercial AviationIn this discussion activity, .docx5.2 - Postwar Commercial AviationIn this discussion activity, .docx
5.2 - Postwar Commercial AviationIn this discussion activity, .docx
 
5-6 paragraphsYou and Officer Landonio are on patrol. Yo.docx
5-6 paragraphsYou and Officer Landonio are on patrol. Yo.docx5-6 paragraphsYou and Officer Landonio are on patrol. Yo.docx
5-6 paragraphsYou and Officer Landonio are on patrol. Yo.docx
 
5-6 paragraphs Interagency is relatively recent as a term, y.docx
5-6 paragraphs Interagency is relatively recent as a term, y.docx5-6 paragraphs Interagency is relatively recent as a term, y.docx
5-6 paragraphs Interagency is relatively recent as a term, y.docx
 

Recently uploaded

plant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsplant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated crops
parmarsneha2
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 

Recently uploaded (20)

plant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated cropsplant breeding methods in asexually or clonally propagated crops
plant breeding methods in asexually or clonally propagated crops
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
 
NLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxNLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptx
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
NCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdfNCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 

This article was downloaded by [107.133.16.252] On 28 Octobe

  • 1. This article was downloaded by: [107.133.16.252] On: 28 October 2021, At: 19:43 Publisher: Institute for Operations Research and the Management Sciences (INFORMS) INFORMS is located in Maryland, USA Operations Research Publication details, including instructions for authors and subscription information: http://pubsonline.informs.org A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Jean-François Cordeau, To cite this article: Jean-François Cordeau, (2006) A Branch-and-Cut Algorithm for the Dial-a-Ride Problem. Operations Research 54(3):573- 586. https://doi.org/10.1287/opre.1060.0283 Full terms and conditions of use: https://pubsonline.informs.org/Publications/Librarians- Portal/PubsOnLine-Terms-and- Conditions This article may be used only for the purposes of research, teaching, and/or private study. Commercial use or systematic downloading (by robots or other automatic processes) is prohibited without explicit Publisher approval, unless otherwise noted. For more information, contact [email protected]
  • 2. The Publisher does not warrant or guarantee the article’s accuracy, completeness, merchantability, fitness for a particular purpose, or non-infringement. Descriptions of, or references to, products or publications, or inclusion of an advertisement in this article, neither constitutes nor implies a guarantee, endorsement, or support of claims made of that product, publication, or service. Copyright © 2006, INFORMS Please scroll down for article—it is on subsequent pages With 12,500 members from nearly 90 countries, INFORMS is the largest international association of operations research (O.R.) and analytics professionals and students. INFORMS provides unique networking and learning opportunities for individual professionals, and organizations of all types and sizes, to better understand and use O.R. and analytics tools and methods to transform strategic visions and achieve better outcomes. For more information on INFORMS, its publications, membership, or meetings visit http://www.informs.org http://pubsonline.informs.org https://doi.org/10.1287/opre.1060.0283 https://pubsonline.informs.org/Publications/Librarians- Portal/PubsOnLine-Terms-and-Conditions https://pubsonline.informs.org/Publications/Librarians- Portal/PubsOnLine-Terms-and-Conditions http://www.informs.org OPERATIONSRESEARCH Vol. 54, No. 3, May–June 2006, pp. 573–586 issn0030-364X�eissn1526-5463�06�5403�0573
  • 3. informs ® doi10.1287/opre.1060.0283 ©2006 INFORMS A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Jean-François Cordeau HEC Montréal, 3000 chemin de la Côte-Sainte-Catherine, Montréal, Quebec, Canada H3T 2A7, [email protected] In the dial-a-ride problem, users formulate requests for transportation from a specific origin to a specific destination. Transportation is carried out by vehicles providing a shared service. The problem consists of designing a set of minimum- cost vehicle routes satisfying capacity, duration, time window, pairing, precedence, and ride-time constraints. This paper introduces a mixed-integer programming formulation of the problem and a branch-and-cut algorithm. The algorithm uses new valid inequalities for the dial-a-ride problem as well as known valid inequalities for the traveling salesman, the vehicle routing, and the pick-up and delivery problems. Computational experiments performed on randomly generated instances show that the proposed approach can be used to solve small to medium-size instances. Subject classifications: transportation: vehicle routing; programming: cutting plane. Area of review: Transportation. History: Received September 2003; revision received August 2004; accepted March 2005. 1. Introduction In the Dial-a-Ride Problem (DARP), users formulate re- quests for transportation from a specific origin (or pick-up point) to a specific destination (or drop-off point). Trans-
  • 4. portation is carried out by vehicles that provide a shared service in the sense that several users may be in a vehicle at the same time. The aim is to design a minimum-cost set of vehicle routes accommodating all requests under a number of side constraints. A common DARP application arises in door-to-door transportation services for the elderly and the disabled. In this context, users often formulate two requests per day: an outbound request from home to a destination, and an inbound request for the return trip. Most dial-a-ride services are characterized by the pres- ence of two conflicting objectives: minimizing operating costs and minimizing user inconvenience. Operating costs are mostly related to fleet size and distance traveled, while user inconvenience is often measured in terms of devia- tions from desired pick-up and drop-off times and in terms of excess ride time (i.e., the difference between the actual ride time of a user and the minimum possible ride time). One way to achieve a balance between these objectives is to treat cost minimization as the primary objective and to impose service quality constraints. As in the work of Jaw et al. (1986) and Cordeau and Laporte (2003b), we assume here that the user specifi es either a desired arrival time at destination (in the case of an outbound request) or a desired departure time from the origin (in the case of an inbound request). In both cases, a time window of a prespecified width is constructed around the desired time. In addition, an upper bound is imposed on the ride time of the user. This approach seems to be in line with the current practice of several North American transporters. For example, in a system with 15-minute time windows and a maximum ride time of 45 minutes, a user wishing to arrive at destination at 9:00 would be picked up no earlier than 8:00 and dropped off between 8:45 and 9:00.
  • 5. It should be emphasized that imposing time windows is not sufficient to accurately impose a maximum ride time. In the above example, a pickup at 8:00 and a drop-off at 9:00 would exceed the maximum ride time of 45 minutes. How- ever, constraining the pickup to take place no earlier than 8:15 would be too restrictive because it would, in particular, prohibit a pickup at 8:00 and a drop-off at 8:45. Dial-a-ride services may operate according to a static or to a dynamic mode. In the first case, all requests are known beforehand, while in the second case requests are gradually received throughout the day and vehicle routes are adjusted in real time to meet demand. In practice, pure dynamic problems rarely exist because a large subset of requests is often known in advance. This paper deals with the static variant of the problem. Because it incorporates time windows and maximum ride-time constraints, the DARP is a difficult problem that generalizes the Vehicle Routing Problem with Pickup and Delivery (VRPPD). Finding a feasible solution for the DARP is itself NP-hard because it also general- izes the Traveling Salesman Problem with Time Windows (TSPTW) (see, e.g., Savelsbergh 1985). As a result, most previous work has concentrated on the development of heuristics. Nevertheless, when the problem is moderately constrained, exact solution approaches can be devised to solve small to medium-size instances. Our aim is to describe valid inequalities and a branch- and-cut algorithm for the DARP. Branch-and-cut has proved to be an effective technique for solving the TSP, the 573
  • 6. Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 574 Operations Research 54(3), pp. 573–586, ©2006 INFORMS VRP, and several other routing problems (see, e.g., Naddef and Rinaldi 2002). The algorithm proposed here uses adap- tations of known valid inequalities for the precedence- constrained TSP, the VRP, and the VRPPD, as well as new inequalities that take advantage of the special structure of the problem. The remainder of this paper is organized as follows. The next section briefly reviews relevant work on the DARP and closely related problems. Section 3 defines the DARP formally and introduces a mixed-integer formulation. Sec- tion 4 introduces several families of valid inequalities used in the branch-and-cut algorithm, which is then described in §5, along with separation heuristics and preprocessing techniques. Computational experiments are reported in §6 and the conclusion follows in §7. 2. Literature Review Early research on the DARP was carried out by Psaraftis (1980, 1983), who developed dynamic programming algo- rithms for the single-vehicle case. An improved labeling scheme was later proposed by Desrosiers et al. (1986), who were able to solve instances with up to 40 users. Exact algorithms have also been devised for closely related single-vehicle problems. Ruland (1995) and Ruland and Rodin (1997) proposed a branch-and-cut algorithm for a special case of the pick-up and delivery problem in which there are no capacity or time window constraints. In this case, if distances satisfy the triangle inequality, a single vehicle will serve all users. As a result, the problem reduces
  • 7. to a TSP with the additional constraint that the pick-up node of each user must precede his drop-off node in the vehicle route. These authors provided an integer program- ming formulation of the problem based on an undirected graph and described four families of valid inequalities: sub- tour elimination constraints, precedence constraints, gen- eralized order constraints, and order-matching constraints. These inequalities are also valid for the more general prob- lem studied in this paper, and they will be discussed in more depth in §4. The more general precedence-constrained asymmetric TSP (in which each node may have multiple predecessors and successors) has been studied, among others, by Balas et al. (1995) and Ascheuer et al. (2000), who proposed several families of valid inequalities based, in large part, on the strengthening of existing inequalities for the asym- metric TSP. This problem has applications, for example, in the scheduling of flexible manufacturing systems (see, e.g., Ascheuer 1996). Because the TSP with pickup and delivery is a particular case of the precedence-constrained TSP, some of the proposed inequalities are also useful for solving the DARP. In particular, predecessor and successor inequalities proposed by Balas et al. will be used in our approach. Most of the algorithms for the multiple-vehicle DARP are heuristics or metaheuristics. An insertion method capa- ble of handling large-scale instances was described by Jaw et al. (1986), while Bodin and Sexton (1986) developed an exchange heuristic that uses Benders decomposition to optimize the individual vehicle routes. Dumas et al. (1989) later presented a clustering and column generation method that can handle instances with several thousand users. More recently, Madsen et al. (1995) proposed an insertion heuris -
  • 8. tic for the dynamic case, while Toth and Vigo (1996, 1997) used local search and a tabu-thresholding proce- dure to address a real-life problem arising in Bologna. Finally, Cordeau and Laporte (2003b) described a tabu search heuristic for the variant of the problem addressed in this paper. This heuristic will be used in §6 to compute upper bounds. Relevant work was also performed on the closely related VRPPD with time windows, arising in contexts such as urban courier services. For this problem, Dumas et al. (1991) presented an exact column generation method using the dynamic programming algorithm of Desrosiers et al. (1986) to solve the pricing subproblem. A similar approach was also described by Savelsbergh and Sol (1998), who proposed several refinements to improve performance. For recent overviews of the DARP and VRPPD, the reader is referred to the surveys of Cordeau and Laporte (2003a) and Desaulniers et al. (2002), respectively. 3. Formulation Let n denote the number of users (or requests) to be served. The DARP may be defined on a complete directed graph G = �N�A�, where N = P ∪ D ∪ 0�2n + 1�, P = 1�����n�, and D = n+1�����2n�. Subsets P and D contain pick-up and drop-off nodes, respectively, while nodes 0 and 2n + 1 represent the origin and destination depots. With each user i are thus associated an origin node i and a destination node n+ i. Let K be the set of vehicles. Each vehicle k ∈ K has a capacity Qk, and the total duration of its route can-
  • 9. not exceed Tk. With each node i ∈ N are associated a load qi and a nonnegative service duration di such that q0 = q2n+1 = 0, qi = −qn+i �i = 1�����n�, and d0 = d2n+1 = 0. A time window �ei�li� is also associated with node i ∈ N , where ei and li represent the earliest and latest time, respec- tively, at which service may begin at node i. With each arc �i�j� ∈ A are associated a routing cost cij and a travel time tij. Finally, denote by L the maximum ride time of a user. As mentioned in the introduction, we assume here that a time window is specified either for the origin node or for the destination node of a request, but not both. However, a valid time window can always be determined for the other node by taking the direct and the maximum ride times into account. We will explain in §5.1.1 how these time windows can be made as tight as possible. For each arc �i�j� ∈ A and each vehicle k ∈ K, let xkij = 1 if vehicle k travels from node i to node j. For each node i ∈ N and each vehicle k ∈ K, let Bki be the time at which Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Operations Research 54(3), pp. 573–586, ©2006 INFORMS 575 vehicle k begins service at node i, and Qki be the load of vehicle k after visiting node i. Finally, for each user i, let Lki be the ride time of user i on vehicle k. The DARP can be formulated as the following mixed- integer program: Min
  • 10. ∑ k∈ K ∑ i∈ N ∑ j∈ N ckijx k ij (1) subject to ∑ k∈ K ∑ j∈ N xkij = 1 ∀ i ∈ P� (2) ∑ j∈ N xkij − ∑ j∈ N xkn+i�j = 0 ∀ i ∈ P� k ∈ K� (3) ∑ j∈ N xk0j = 1 ∀ k ∈ K� (4) ∑ j∈ N
  • 11. xkji − ∑ j∈ N xkij = 0 ∀ i ∈ P ∪ D� k ∈ K� (5) ∑ i∈ N xki�2n+1 = 1 ∀ k ∈ K� (6) Bkj � �B k i +di + tij�xkij ∀ i ∈ N� j ∈ N� k ∈ K� (7) Qkj � �Q k i +qj�xkij ∀ i ∈ N� j ∈ N� k ∈ K� (8) Lki = Bkn+i −�Bki +di� ∀ i ∈ P� k ∈ K� (9) Bk2n+1 −Bk0 � Tk ∀ k ∈ K� (10) ei � B k i � li ∀ i ∈ N� k ∈ K� (11) ti�n+i � L k i � L ∀ i ∈ P� k ∈ K� (12) max 0�qi��Q k i �min Qk�Qk+qi� ∀ i∈ N�k∈ K� (13) xkij ∈
  • 12. 0�1� ∀ i ∈ N� j ∈ N� k ∈ K� (14) The objective function (1) minimizes the total routing cost. Constraints (2) and (3) ensure that each request is served exactly once and that the origin and destination nodes are visited by the same vehicle. Constraints (4)–(6) guarantee that the route of each vehicle k starts at the ori - gin depot and ends at the destination depot. Consistency of the time and load variables is ensured by constraints (7) and (8). Equalities (9) define the ride time of each user, which is bounded by constraints (12). It is worth men- tioning that the latter also act as precedence constraints because the nonnegativity of the Lki variables ensures that node i will be visited before node n + i for every user i. Finally, inequalities (10) bound the duration of each route, while (11) and (13) impose time windows and capacity constraints, respectively. This formulation is nonlinear because of constraints (7) and (8). Introducing constants Mkij and W k ij , these constraints can, however, be linearized as follows: Bkj �B k i +di+tij −Mkij�1−xkij� ∀ i∈ N�j∈ N�k∈ K� (15) Qkj � Q k i +qj −Wkij�1−xkij� ∀ i ∈ N� j ∈ N� k ∈ K� (16) The validity of these constraints is ensured by setting Mkij � max 0�li +di +tij −ej� and Wkij � min
  • 13. Qk�Qk +qi�. These constraints are very similar to the Miller-Tucker-Zemlin subtour elimination constraints for the TSP (Miller et al. 1960). One can reduce the number of variables and constraints in Model (1)–(14) by using aggregate time variables Bi at every node except the origin depot 0 and the destination depot 2n+1. In this case, one replaces (7) and (9) with the constraints Bj � �B k 0 +d0 + t0j�xk0j ∀ j ∈ N� k ∈ K� (17) Bj � �Bi +di + tij� ∑ k∈ K xkij ∀ i ∈ N� j ∈ N� (18) Bk2n+1 � �Bi +di + ti�2n+1�xki�2n+1 ∀ i ∈ N� k ∈ K� (19) Li = Bn+i −�Bi +di� ∀ i ∈ P� (20) to which the same linearization process can be applied. Along the same lines, if the fleet of vehicles is homoge- neous in the sense that Qk = Q for every k ∈ K, one can replace (8) with Qj � �Q k 0 +qj�xk0j ∀ j ∈ N� k ∈ K� (21) Qj � �Qi +qj� ∑ k∈ K xkij ∀ i ∈ N� j ∈ N� (22)
  • 14. Qk2n+1 � �Qi +q2n+1�xki�2n+1 ∀ i ∈ N� k ∈ K� (23) Finally, as shown by Desrochers and Laporte (1991), the linearized form of constraints (22) can be lifted as follows by taking the reverse arc �j�i� into account: Qj � Qi +qj −Wij ( 1− ∑ k∈ K xkij ) +�Wij −qi −qj� ∑ k∈ K xkji ∀ i ∈ N� j ∈ N� k ∈ K� (24) Observe that in our case an equivalent lifting cannot be performed with constraints (18) because waiting will some- times take place after the beginning of a time window (i.e., Bi >ei) to reduce the ride time of a user. 4. Valid Inequalities We now describe several families of valid inequalities for the DARP. All of these inequalities are of course redundant for Model (1)–(14) but can strengthen its LP-relaxation. Because of the structure of the model, analyzing whether these inequalities define facets of the DARP polytope appears to be a rather challenging task. However, their use- fulness is demonstrated through computational experiments in the last section.
  • 15. The following additional notation will be used to describe the valid inequalities. Given a node set S ⊆ N , define S ̄ = i ∈ N � i S� and "�S� = "+�S� ∪ "−�S�, where "+�S� = �i�j� ∈ A � i ∈ S� j S� and "−�S� = �i�j� ∈ A � i S� j ∈ S�. For notational convenience, let xij = ∑ k∈ K x k ij denote the total flow on arc �i�j� and define x�S� = ∑i�j∈ S xij. Similarly, let x�A′� = ∑�i�j�∈ A′ xij for any arc set A′ ⊆ A. Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 576 Operations Research 54(3), pp. 573–586, ©2006 INFORMS 4.1. Bounds on Time and Load Variables As first suggested by Desrochers and Laporte (1991) in the context of the TSP with time windows, bounds on the time variables Bi can be strengthened as follows:
  • 16. Bi � ei + ∑ j∈ N i� max 0�ej −ei +dj + tij�xji� (25) Bi � li − ∑ j∈ N i� max 0�li − lj +di + tij�xij� (26) These inequalities were used, for example, for solving the asymmetric TSP with time windows by branch and cut (Ascheuer et al. 2001). Similarly, bounds on load variables Qi can also be strengthened as follows: Qi � max 0�qi�+ ∑ j∈ N i� max 0�qj�xji� (27) Qi � min Q�Q+qi�− ( Q− max
  • 17. j∈ N i� qj�−qi ) x0i − ∑ j∈ N i� max 0�qj�xij� (28) 4.2. Subtour Elimination Constraints Consider the simple subtour elimination constraint x�S� � �S�−1 for S ⊆ P ∪ D. In the case of the DARP, this inequal- ity can be lifted in many different ways by taking into account the fact that for each user i, node i must be visited before node n+ i. For any set S ⊆ P ∪ D, let #�S� = i ∈ P � n+i ∈ S� and $�S� = n + i ∈ D � i ∈ S� denote the sets of predecessors and successors of S, respectively. Balas et al. (1995) have proposed two families of inequalities for the precedence- constrained asymmetric TSP that also apply to the DARP by observing that each node i ∈ P ∪ D is either the prede- cessor or the successor of exactly one other node. For S ⊆ P ∪ D, the following inequality, called a succes- sor inequality (or $-inequality) is valid for the DARP:
  • 18. x�S�+ ∑ i∈S ̄ ∩$�S� ∑ j∈ S xij + ∑ i∈S ̄ $�S� ∑ j∈ S∩$�S� xij � �S� −1� (29) Example. Consider the node set S = i�j� ⊆ P. The result- ing inequality is xij +xji +xn+i�j +xn+j�i � 1. This example is illustrated in Figure 1, where dotted arcs correspond to lifted arcs (i.e., arcs that are not part of the classical sub- tour elimination constraint). Observe that variables xn+i�i and xn+j�j are not to be introduced in the lifted inequal- ity because the corresponding arcs can be trivially removed from the graph. Similarly, for any set S ⊆ P ∪ D, the following predeces- sor inequality (or #-inequality) is valid for the DARP: x�S�+ ∑ i∈ S ∑ j∈S ̄ ∩#�S� xij +
  • 19. ∑ i∈ S∩#�S� ∑ j∈S ̄ #�S� xij � �S� −1� (30) Figure 1. Successor inequality for S = i�j� ⊆ P. i j n + j n + i Example. Consider the node set S = n + i�n + j� ⊆ D. The resulting predecessor inequality is xn+i�n+j +xn+j�n+i + xn+i�j +xn+j�i � 1. This is illustrated in Figure 2. In the case of a directed formulation, one can also lift subtour elimination constraints by taking into account the orientation of the arcs. For an ordered set S = i1�i2�����ih� ⊆ N with h � 3 nodes, Grötschel and Padberg (1985) proposed the following inequalities, called D+k and D − k , respectively, for the asymmetric TSP: h−1∑ j=1
  • 20. xij�ij+1 +xih�i1 +2 h−1∑ j=2 xij�i1 + h−1∑ j=3 j−1∑ l=2 xij�il � h−1� (31) h−1∑ j=1 xij�ij+1 +xih�i1 +2 h∑ j=3 xi1�ij + h∑ j=4 j−1∑ l=3 xij�il � h−1� (32) Of course, different liftings are obtained by considering different orderings of the nodes in set S. In the case of the DARP, these inequalities can be further lifted by taking precedence relationships into account. This results in the following two propositions. Proposition 1. Let S = i1�i2�����ih� ⊆ P ∪ D. The fol-
  • 21. lowing inequality is valid for the DARP: h−1∑ j=1 xij�ij+1 +xih�i1 +2 h−1∑ j=2 xij�i1 + h−1∑ j=3 j−1∑ l=2 xij�il + ∑ n+ip∈S ̄ ∩$�S� xn+ip�i1 � h−1� (33) Figure 2. Predecessor inequality for S = n+ i�n+ j� ⊆ D. j in + i n + j Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem
  • 22. Operations Research 54(3), pp. 573–586, ©2006 INFORMS 577 Figure 3. Lifted directed subtour elimination constraint for S = i�j�k� ⊆ P. n + j i j kn + k 2 Proof. Suppose that one arc of the form �n+ ip�i1� with n+ ip ∈ S ̄ ∩$�S� is part of the solution. Then, all arcs of the form �ij�i1� with 2 � j � h − 1 cannot belong to the solution. As a result, if the left-hand side of inequality (33) is larger than h−1, then there exists a subpath linking the h nodes in set S. However, because set S contains the origin node ip, this subpath, together with the arc �n + ip�i1�, would violate the precedence constraint for user ip. � Example. Consider the node set S = i�j�k� ⊆ P. One possible lifted directed subtour elimination constraint (obtained with i1 = i, i2 = j, i3 = k) is xij + xjk + xki + 2xji +xn+j�i +xn+k�i � 2. This is illustrated in Figure 3. Proposition 2. Let S = i1�i2�����ih� ⊆ P ∪ D. The fol- lowing inequality is valid for the DARP: h−1∑ j=1
  • 23. xij�ij+1 +xih�i1 +2 h∑ j=3 xi1�ij + h∑ j=4 j−1∑ l=3 xij�il + ∑ ip∈S ̄ ∩#�S� xi1�ip � h−1� (34) Proof. The proof is similar to that of Proposition 3 by observing that if one arc of the form ∈i1∈ip∈ with ip ∈ S ̄ ∩ #�S� is part of the solution, then all arcs of the form �i1�ij� with 3 � j � h cannot belong to the solution. � Example. Consider the node set S = n + i�n + j� n + k� ⊆ D. One possible lifted directed subtour elimina- tion constraint (obtained with i1 = n + i, i2 = n + j, i3 = n+k) is xn+i�n+j +xn+j�n+k +xn+k�n+i +2xn+i�n+k +xn+i�j + xn+i�k � 2. This is illustrated in Figure 4. For the case h = 3, Ascheuer (1996) proposed slightly stronger liftings. These do not, however, generalize to the case h>3. 4.3. Capacity Constraints
  • 24. For any subset S ⊆ P ∪ D, let R�S� denote the minimum number of vehicles needed to visit all nodes in S. The con- straint x�"�S�� � 2R�S� is then a valid inequality. Although Figure 4. Lifted directed subtour elimination constraint for S = n+ i�n+j�n+k� ⊆ D. j k n + i n + j n + k 2 computing R�S� is difficult, a lower approximation is pro- vided by �q�S�/Q�, where q�S� = ∑i∈ S qi. The resulting inequality is called a rounded capacity inequality in the context of the VRP. While capacity inequalities play an important role in most branch-and-cut algorithms for the VRP (see, e.g., Naddef and Rinaldi 2002), they are not likely to be very strong for the DARP because of the presence of both pos- itive and negative qi values. In particular, q�P ∪ D� = 0 by definition and, in the absence of time windows, all nodes can be visited by the same vehicle. Useful inequalities can, however, be obtained by restricting S to be a subset of either P or D and setting q�S� = �∑i∈ S qi�. It should be emphasized that in our context, the quantity �q�S�/Q� esti-
  • 25. mates the required number of vehicle passages in set S rather than the number of vehicles per se. Indeed, by leav- ing and entering set S more than once, the same vehi- cle may be able to visit all nodes in the set even though q�S�>Q. 4.4. Precedence Constraints Consider a node set S such that 0 ∈ S, i S, n+ i ∈ S, and 2n+1 S for at least one user i. Because node i must be visited before node n+ i, x�S� � �S� −2 and, equivalently, x�"�S�� � 3. The same applies to node sets S such that 0 S, i ∈ S, n+i S, and 2n+1 ∈ S for at least one user i. These inequalities, which are also valid for the DARP, were introduced by Ruland and Rodin (1997) for the pick-up and delivery problem. 4.5. Generalized Order Constraints Let U1�����Um ⊂ N be mutually disjoint subsets and let i1�����im ∈ P be users such that 0�2n + 1 Ul and il, n+ il+1 ∈ Ul for l = 1�����m (where im+1 = i1). The fol- lowing inequality, introduced by Ruland and Rodin (1997), is also valid for the DARP: m∑ l=1 x�Ul� � m∑ l=1
  • 26. �Ul� −m−1� (35) Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 578 Operations Research 54(3), pp. 573–586, ©2006 INFORMS Similar inequalities, called precedence cycle breaking in- equalities, have also been proposed by Balas et al. (1995). In the directed case, generalized order constraints can be lifted in two different ways, as shown by the following propositions. Proposition 3. The following inequality is valid for the DARP: m∑ l=1 x�Ul�+ m−1∑ l=2 xi1�il + m∑ l=3 xi1�n+il � m∑ l=1 �Ul� −m−1� (36)
  • 27. Proof. First observe that in any feasible integer solution, at most one of the lifted arcs may be part of the solution because they all belong to "+�i1�. To demonstrate the valid- ity of the lifting, we show that if any of the lifted arcs are part of the solution, then there are at least two subsets Ul for which x�Ul� � �Ul�−2. Because x�Ul� � �Ul�−1 for all other subsets, the validity of the inequality follows directly. The details of the proof are given in the appendix. � Remark 1. The numbering of the sets U1�����Um is arbi- trary and leads, by symmetry, to m! possibly different liftings. Example. Consider the subsets U1 = i�n + j�, U2 = j�n+k�, and U3 = k�n+i� with i1 = i, i2 = j, and i3 = k. The lifted generalized order constraint is xi�n+j + xn+j�i + xj�n+k + xn+k�j + xk�n+i + xn+i�k + xij + xi�n+k � 2. This is illustrated in Figure 5. Proposition 4. The following inequality is valid for the DARP: m∑ l=1 x�Ul�+ m−2∑ l=2 xn+i1�il + m−1∑
  • 28. l=2 xn+i1�n+il � m∑ l=1 �Ul� −m−1� (37) Proof. The reasoning is similar to that of Proposition 5, and the details of the proof are given in the appendix. � Example. Consider the subsets U1 = i�n + j�, U2 = j�n+k�, and U3 = k�n+i� with i1 = i, i2 = j, and i3 = k. The lifted generalized order constraint is xi�n+j + xn+j�i + xj�n+k +xn+k�j +xk�n+i +xn+i�k +xn+i�n+j � 2. This is illus- trated in Figure 6. Observe that in inequality (37), the value of m must be larger than or equal to 4 for the second term of the inequality to have any effect. Figure 5. Lifted generalized order constraint with m = 3 (first lifting). i n + j n + k j k n + i Figure 6. Lifted generalized order constraint with
  • 29. m = 3 (second lifting). i n + j n + k j k n + i 4.6. Order-Matching Constraints Consider two nodes i�j ∈ P and a subset H such that i�j� ⊆ H ⊆ N 0�n + i�n + j�2n + 1�. The following inequality, introduced by Ruland and Rodin (1997), is also valid for the DARP: x�H�+x� i�n+ i��+x� j�n+j�� � �H�� (38) As suggested by Ruland (1995), this inequality can be lifted by introducing the term x� h�n+h�� for every user h such that h ∈ H and n+h H. In the directed case, order- matching constraints are in fact redundant because any arc of the form �n+h�h� can be removed from the graph. As a result, all arcs in the left-hand side of (38) have their origin node in set H. Hence, the sum of the flows on these arcs cannot exceed �H�, even in a fractional solution. Order-matching constraints can, however, be generalized by replacing the arcs �h�n+h� by node sets. This leads to
  • 30. the following proposition. Proposition 5. Let i1�����im be m users and let H ⊂ P ∪ D and Th ⊂ P ∪ D, h = 1�����m be node sets such that ih�n+ih� ⊆ Th and H∩Th = ih�. The following inequality is valid for the DARP: x�H�+ m∑ h=1 x�Th�+ � �H� + m∑ h=1 �Th� −2m� (39) Proof. First observe that x�H� � �H� − 1 and x�Th� � �Th� −1 for h = 1�����m. If x�Th� = �Th� −1 for any given subset Th, then there exists a path connecting all nodes in Th, including ih and n + ih. However, this path cannot finish at node ih because of the precedence constraint for user ih. Let , be the number of sets Th for which x�Th� = �Th� − 1. Then, x�"+�H�� � ,. Because x�"+�H�� = x�"−�H�� and 2x�H�+x�"+�H��+x�"−�H�� = 2�H�, one obtains that 2x�H� � 2�H� −2, and thus x�H� � �H� −,. Finally, because x�Th� � �Th� − 2 for the remaining m−, sets, one may conclude that x�H� + ∑mh=1 x�Th� � �H� − ,+ ∑mh=1��Th� −1�−�m−,�, which simplifies to expres- sion (39). � Example. Consider the sets H =
  • 31. i�j�, T1 = i�n + i�k� and T2 = j�n + j�l� with i1 = i and i2 = j. The resulting inequality is x�H�+x�T1�+x�T2� � 4 and is illustrated in Figure 7. Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Operations Research 54(3), pp. 573–586, ©2006 INFORMS 579 Figure 7. Generalized order-matching constraint with m = 2. n + i n + j l k i j Remark 2. Inequality (39) is stronger than the correspond- ing TSP comb constraint, valid for m � 3 and odd, which is defined as x�H� + ∑mh=1 x�Th� � �H� + ∑mh=1 �Th� − �3m+1�/2. Inequalities (39) can be further lifted by introducing the arcs from any node in H to any node outside of H. Nev-
  • 32. ertheless, in the presence of lifted subtour elimination con- straints (30), these inequalities are redundant, as will be shown in the following proposition. Proposition 6. Define �H = ⋃mh=1 ih�. The following inequality, which is a strengthening of (39), is redundant in the presence of inequalities (30): x�H�+ m∑ h=1 x�Th�+ ∑ i∈ �H ∑ j∈ �HTi xij + ∑ i∈ H �H ∑ j∈ �H xij � �H� + m∑ h=1 �Th� −2m� (40) Proof. Inequality (40) can be written equivalently as
  • 33. ∑ i∈ H ∑ j∈ N xij + m∑ h=1 ∑ i∈ Th ih� ∑ j∈ Th xij � �H� + m∑ h=1 �Th� −2m� For every subset Th, h = 1�����m, one has that x�Th ih�� + ∑ i∈ Th ih�xi�ih � �Th� − 2 because of inequal- ity (30) defined for subset S = Th ih�, whose cardinality is �Th� − 1. As a result, ∑
  • 34. i∈ Th ih� ∑ j∈ Th xij � �Th� − 2. In addition, one has that ∑ i∈ H ∑ j∈ N xij = �H� by con- straints (2) and (3). The result follows directly from these two observations. � 4.7. Infeasible Path Constraints Ride-time constraints may give rise to paths that are infea- sible in an integer solution, but nonetheless feasible in a fractional solution. Forbidding such paths can be accom- plished through the valid inequality introduced in the next proposition. Proposition 7. Assume that the triangle inequality holds for travel times. For any directed path � = i�k1�k2����� kp�n+i� such that ti�k1 +dk1 +tk1�k2 +dk2 +···+tkp�n+i > L, the following inequality is valid for the DARP: xi�k1 + p−1∑ h=1 xkh�kh+1 +xkp�n+i � p−1� (41) Proof. Suppose that the value of the left-hand side of
  • 35. inequality (41) is equal to p in a feasible integer solution. Then, there is a single arc from path � not belonging to the solution because the path contains p+1 arcs. Because the solution is feasible, it must contain a path from i to n+i in which the missing arc has been replaced by at least two other arcs. However, because the triangle inequality holds for travel times, the path from i to n+ i has a larger duration than that of �. As a result, its duration must exceed L, which contradicts the assumption that the solu- tion is feasible. � Remark 3. As will be shown in the next section, the case p = 1 can be handled directly through the simple elimina- tion of arcs in a preprocessing step. 5. Branch-and-Cut Algorithm Branch and cut is a popular approach for solving combina- torial problems. It has been applied successfully to several routing problems (see, e.g., Ascheuer et al. 2001, Gendreau et al. 1998, and Naddef and Rinaldi 2002). This section describes the branch-and-cut algorithm used for the DARP. It focuses on the preprocessing techniques developed to reduce problem size and on the separation heuristics used to identify violated inequalities. After applying the preprocessing steps presented in §5.1 and generating an initial pool of inequalities, the algorithm first solves the LP relaxation of the problem. If the solution to the LP relaxation is integer, an optimal solution has been identified. Otherwise, an enumeration tree is constructed and violated valid inequalities are generated at some nodes of this tree by means of the separation heuristics described in §5.3. Because all inequalities described in §4 are valid for the original formulation, the inequalities added at any node of the tree are also valid for all other nodes. Hence, whenever the LP bound is evaluated at a given node of
  • 36. the tree, the linear program incorporates all cuts generated so far. To control the branch-and-cut process, additional aggre- gate variables yki = ∑ j∈ N x k ij� i ∈ P, are introduced in the formulation to reflect the assignment of requests to vehi- cles. At a given node of the search tree, if the yki variables are all integer in the current relaxation but there is at least one fractional xkij variable, the separation heuristics are exe - cuted in the hope of identifying violated valid inequalities (the heuristics are also executed at the root node). If at least one of the heuristics succeeds in finding one or more vio- lated inequalities, the relaxation is solved with all identified Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 580 Operations Research 54(3), pp. 573–586, ©2006 INFORMS cuts and the heuristics are executed again. The cut genera- tion process at a node terminates when all heuristics fail to find any violated inequality. If the solution to the relaxation is still fractional after the generation of cuts, branching is performed on a fractional yki variable, if there is any, or on a fractional xkij variable, otherwise. The variable selected for branching is that whose value is the farthest from the nearest integer. After a node has been processed, the next node selected for cutting and branching is that with the best bound.
  • 37. In addition to the application of the separation heuris- tics at some nodes of the branch-and-bound tree, a pool of inequalities is checked exhaustively for violations at each node of the tree, including those where not all yki variables take integer values. The inequalities that belong to this pool are described in §5.2. Finally, prior to solving the problem by branch and cut, an upper bound is computed by using the tabu search heuristic of Cordeau and Laporte (2003b). This upper bound is then used to prune the enumeration tree whenever the solution value at a given node exceeds that of the upper bound. 5.1. Preprocessing This section describes the time-window tightening, arc elimination, and variable-fixing steps that are performed prior to applying the branch-and-cut algorithm. 5.1.1. Time-Window Tightening. Let T denote the end of the planning horizon. In the case of an outbound user, the time window at the origin node can be tightened by setting ei = max 0�en+i − L − di� and li = min ln+i − ti�n+i − di�T�. In the case of an inbound user, the time window at the destination node can be tightened by set- ting en+i = max 0�ei +di +ti�n+i� and ln+i = min li +di + L�T�. The time window on nodes 0 and 2n + 1 can also be tightened by setting e0 = e2n+1 = mini∈ P∪ D ei−t0i� and l0 = l2n+1 = maxi∈ P∪ D
  • 38. li +di + ti�2n+1�. 5.1.2. Arc Elimination. Formulation (1)–(14) is defined on a complete graph G. However, because of time windows, pairing, and ride-time constraints, several arcs can in fact be removed from the graph as they cannot belong to a feasible solution. A simple analysis leads to the following observations: • arcs �0�n+i�, �i�2n+1�, and �n+i�i� are infeasible for i ∈ P; • arc �i�j� with i�j ∈ N is infeasible if ei +di +tij >lj; • arcs �i�j�and �j�n + i� with i ∈ P, j ∈ N are both infeasible if tij +dj + tj�n+i >L. As first proposed by Dumas et al. (1991), combining time windows and pairing constraints leads to even stronger elimination rules: • arc �i�n+j� is infeasible if path � = j�i�n+j�n+i� is infeasible; • arc �n+i�j� is infeasible if path � = i�n+i�j�n+j� is infeasible; • arc �i�j� is infeasible if paths �1 = i�j�n+ i�n+j� and �2 = i�j�n+j�n+ i� are both infeasible; • arc �n+i�n+j� is infeasible if paths �1 = i�j�n+i� n+j� and �2 =
  • 39. j�i�n+ i�n+j� are both infeasible. In the presence of ride-time and capacity constraints, fur- ther elimination can be performed by identifying pairs of users that are incompatible (i.e., that cannot be assigned to the same vehicle) because of the interaction between time- window, capacity, and ride-time constraints. Incompatible user pairs i�j� can be identified by checking the feasibility of the following paths: i�j�n+i�n+j�, i�j�n+j�n+i�, j�i�n+i�n+j�, j�i�n+j�n+i�, i�n+i�j�n+j�, and j�n+j�i�n+ i�. If none of these six paths is feasible, then all eight arcs between i�n+i� and j�n+j� can be eliminated. Because of ride-time constraints, checking the feasibility of a path is not always straightforward. In the case of the path i�j� n + i�n + j�, for example, setting Bi = ei may lead to the violation of the ride-time constraint for user i in the event that unnecessary waiting time then occurs at node j. For this reason, the forward time slack should be computed at node i so as to delay the beginning of service as much as possible without violating any of the time windows. The same can be said about node j where the beginning of service should be delayed as much as possible by taking into account the additional constraint that the maximum ride time for user i should not be exceeded. In general, the
  • 40. forward time slack Fi at node i in a path i�i + 1�����q� can be computed as follows: Fi = min i�j�q { ∑ i<p�j Wp +min lj −Bj�L−Pj� } � (42) where Wi denotes the waiting time at node i, Pi denotes the ride time of the user whose destination node is i if n + 1 � i � 2n, and Pi = −�, otherwise. This definition of the forward time slack generalizes that of Savelsbergh (1992) for the TSP with time windows. 5.1.3. Variable Fixing. The identification of incom- patible user pairs can also be used to permanently assign users to specific vehicles. If the fleet of vehicles is homo- geneous, one can create a graph G′ = �N ′�E′�, where N ′ = 1�����n� and E′ contains an edge �i�j� if i and j are incompatible users. Given a clique in G′, each user in the clique can be assigned to a different vehicle. In addition, if user i is assigned to vehicle k, constraints can be added to the formulation so as to forbid the assignment to vehi - cle k of users that are incompatible with i. Finding a clique of maximum cardinality in G′ may be very time consum- ing when n is large. In our implementation, we thus use a greedy heuristic described by Johnson (1974).
  • 41. 5.2. Initial Pool of Inequalities This section describes the inequalities that are enumerated exhaustively and whose violations are checked individu- ally at every node of the branch-and-bound tree. These Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Operations Research 54(3), pp. 573–586, ©2006 INFORMS 581 inequalities are chosen to ensure that the size of the pool remains reasonable and the time spent processing a node does not overly increase. Bounds on time and load variables. For each node i ∈ P ∪ D, the four bounding inequalities described in §4.1 are generated and added to the pool. Subtour elimination constraints. For each pair of users i�j ∈ P, inequality (29) yields the following three particular cases: • S = i�j� ⇒ xij +xji +xn+i�j +xn+j�i � 1, • S = i�n+j� ⇒ xi�n+j +xn+j�i +xn+i�n+j � 1, • S = i�n+ i�j� ⇒ xij +xji +xi�n+i +xj�n+i +xn+i�j + xn+j�i +xn+j�n+i � 2. Similarly, inequality (30) yields the following cases: • S = n + i�n + j� ⇒ xn+i�n+j + xn+j�n+i + xn+i�j + xn+j�i � 1,
  • 42. • S = i�n+j� ⇒ xi�n+j +xn+j�i +xi�j � 1, • S = i�n + i�n + j� ⇒ xi�n+j + xn+j�i + xi�n+i + xn+j�n+i +xn+i�j+j +xij +xn+i�j � 2, while inequalities (33) and (34) provide the following two cases: • S = n+ i�j�n+ i� ⇒ xn+i�j +2xj�n+i +xji +xi�n+i + xn+j�n+i � 2� • S = i�n + i�n + j� ⇒ xi�n+i + xn+i�n+j + xn+j�i + 2xi�n+j +xij � 2. Finally, the four-node subtour inequality x�S� � 3 is gen- erated for every user pair i�j ∈ P yielding the subset S = i�j�n+ i�n+j�. Precedence constraints. For every pair of users i �j ∈ P, the following four particular cases of precedence con- straints are generated: • S = 0�i�n+j� ⇒ x0i +xi�n+j +xn+j�i � 1, • S = i�n+j�2n+1� ⇒ xi�n+j +xn+j�i +xn+j�2n+1 � 1, • S = 0�i�n+i�n+j� ⇒ x0i +xi�n+i +xi�n+j +xn+j�i + xn+i�n+j +xn+j�n+i � 2, • S = i�j�n+j�2n+1� ⇒ xij +xji +xi�n+j +xn+j�i + xj�n+j +xn+j�2n+1 � 2.
  • 43. Generalized order constraints. For every pair of requests i�j ∈ P, the following inequality is generated: xi�n+j +xn+j�i +xn+i�j +xj�n+i � 1� Infeasible path constraints. Finally, the following in- equality is generated for every pair of requests i �j ∈ P such that tij +dj + tj�n+jdn+j + tn+j�n+i >L: xij +xj�n+j +xn+j�n+i � 1� In addition, for each pair of incompatible users i�j ∈ P and every node l ∈ P ∪ D, the following inequalities are generated: • xil +xli +xlj +xjl � 1, • xil +xli +xl�n+j +xn+j�l � 1, • xn+i�l +xl�n+i +xlj +xjl � 1, • xn+i�l +xl�n+i +xl�n+j +xn+j�l � 1. 5.3. Separation Heuristics We now describe the separation heuristics used to identify additional violated inequalities. At the root node as well as when all yki variables are integer but there is at least one fractional xkij variable at a given node, the following heuristics are executed sequentially. 5.3.1. Subtour Elimination Constraints. The identi- fication of violated inequalities of the form x�S� � �S� −1 can be achieved by solving a series of maximum-flow problems between any node i and all other nodes j ∈ N i�. However, in addition to being time consuming, this approach does not take the possible liftings into account. For these reasons, we resort to a simple tabu search heuris -
  • 44. tic inspired from that proposed by Augerat et al. (1999). Using the fact that 2x�S� + x�"�S�� = 2�S� in a feasi- ble integer solution, violations of (29) can be identified by finding node sets S such that x�"�S��−2 ∑ i∈S ̄ ∩$�S� ∑ j∈ S xij −2 ∑ i∈S ̄ $�S� ∑ j∈ S∩$�S� xij <2� (43) The heuristic starts with an empty set S. At each iteration, it either adds or removes a node from the set S so as to minimize the left-hand side of (43). Whenever a node is removed from set S, its reinsertion is declared tabu for 1 iterations. The heuristic runs for a preset number of iter - ations (25 in our implementation) and may identify sev- eral violated inequalities during a single execution. At each iteration, the current set S is also checked for possible vio- lations of inequality (33). To this purpose, the node with the largest outgoing flow is numbered as i1, and the other nodes are numbered at random. A similar heuristic is used to identify violations of inequalities (30) and (34). In the latter case, the node with the largest incoming flow is numbered as i1.
  • 45. 5.3.2. Capacity Constraints. Again, we use a tabu search heuristic to identify sets S such that q�S�>Q and x�"�S��<4. The heuristic starts either with a random sub- set S ⊆ P or with a random subset S ⊆ D. At each itera- tion, a node is either removed or added to the set S so as to minimize the value of x�"�S��, with the constraint that q�S� > Q. The heuristic runs for 25 iterations and multi- ple violated inequalities may be identified during a single execution. 5.3.3. GeneralizedOrderConstraints. Ruland(1995) proposed an approach to identify violated generalized order constraints with m = 2. This approach requires the com- putation of O��N�2� maximum flows. Here, we use instead three simple heuristics, the second and third of which take advantage of the lifted forms (36) and (37). The first heuristic attempts to identify violations of inequalities (35) for the special case where m = 2 and �U1� = �U2� = 3. For each pair of users i�j ∈ P, we first form the subsets U1 = i�n + j� and U2 = j�n + i�. We Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 582 Operations Research 54(3), pp. 573–586, ©2006 INFORMS then identify nodes k1 and k2 such that x�U1� and x�U2� are maximized, and check for a violation of the resulting inequality. The second and third heuristics are aimed at finding vio-
  • 46. lations of inequalities (36) and (37) for the special case where m = 3 and �U1� = �U2� = �U3� = 2. The second heuristic finds, for each user i, a user j that maximizes xi�n+j + xn+j�i + xij. It then finds a user k such that the left-hand side of (36) is maximized. Similarly, the third heuristic finds, for each user i, a user j that maximizes xi�n+j +xn+j�i +xn+i�n+j, and then finds a user k that max- imizes the left-hand side of (37). 5.3.4. Infeasible Path Inequalities. Violated path in- equalities are identified by means of a path-construction heuristic applied to each user i ∈ P. The heuristic starts with node i and gradually constructs a path �i = i�k1� k2����� by iteratively moving from the current node kj to the node kl that maximizes the value of xkjkl. The process stops if a cycle is formed or if the heuristic reaches either node n+ i or node 2n+1. If the path stops at node n+ i, it is checked for a violation of inequality (41). 6. Computational Experiments The branch-and-cut algorithm was implemented in C++ by using ILOG Concert 1.3 and CPLEX 8.1. It was run on a 2.5 GHz Pentium 4 computer with 512 Mb of memory. The algorithm was applied to two sets of randomly gen- erated instances comprising up to 48 users. In an instance with n users, where n is even, users 1�����n/2 are assumed to formulate outbound requests while users n/2+1�����n formulate inbound requests. In all instances, the coordinates of pick-up and drop-off nodes are randomly and indepen- dently chosen in the square �−10�10�× �−10�10� accord- ing to a uniform distribution, and the depot is located at the center of this square. For every arc �vi�vj� ∈ A, the rout- ing cost cij and travel time tij are equal to the Euclidean distance between the two nodes.
  • 47. Table 1. Characteristics of the first set of instances. Without reductions With reductions Upper Instance �K� n T Q L Cons Vars LP Cons Vars LP bound a2-16 2 16 480 3 30 1�289 1�211 219.60 893 665 269.54 294.25 a2-20 2 20 600 3 30 1�858 1�767 251.06 1�392 1�153 301.66 344.83 a2-24 2 24 720 3 30 2�714 2�585 316.38 1�997 1�628 364.22 431.12 a3-18 3 18 360 3 30 1�773 2�281 193.05 1�296 1�258 256.28 300.48 a3-24 3 24 480 3 30 2�898 3�880 221.63 2�244 2�446 260.56 344.83 a3-30 3 30 600 3 30 4�369 5�938 338.36 2�998 3�282 383.10 496.52 a3-36 3 36 720 3 30 6�077 8�329 360.84 3�919 4�171 484.57 600.75 a4-16 4 16 240 3 30 1�657 2�364 175.61 1�193 1�173 207.41 282.68 a4-24 4 24 360 3 30 3�279 5�181 235.68 2�190 2�616 293.07 375.07 a4-32 4 32 480 3 30 5�225 8�977 311.20 3�828 4�941 361.01 486.57 a4-40 4 40 600 3 30 8�104 13�829 366.04 5�535 8�200 408.13 571.07 a4-48 4 48 720 3 30 10�884 19�745 366.04 8�171 12�824 428.60 680.99 Avg. 279.62 334.85 434.10 A time window �ei�li� is also associated with each node. For an outbound user i, a time window was generated by
  • 48. first choosing a number ln+i in the interval �60�T� and then setting en+i = ln+i − 15, where T denotes the length of the planning horizon. For an inbound user, the value of ei was chosen in the interval �0�T − 60� and the value of li was set equal to ei +15. Time windows on the origin nodes of outbound requests and on the destination nodes of inbound requests are set as explained in §5.1.1. In the first set of instances, Q = 3 for every vehicle, qi = 1 and di = 3 for every user, and the maximum ride time L is equal to 30 minutes. In the second set, Q = 6 for every vehicle and the values of qi are chosen randomly according to a uniform distribution on the set 1�����Q�. The maximum ride time is set equal to 45 minutes. In this case, we assume that service time is proportional to the number of passengers and di = qi. The maximum route duration is equal to T . The first set of instances represents the context where cars are used for the transportation of individuals whereas the second set reflects the situation of a transporter using mini-busses for the transportation of indi- viduals or groups of individuals. All instances used in computational experiments are available on the website http://www.hec.ca/chairedistributique/data/darp. Tables 1 and 2 provide the characteristics of these instances, the number of constraints and variables in the resulting mixed-integer programming formulation, and the value of the LP relaxation. The corresponding values are computed with and without the application of the pre- processing techniques described in §5.1. In both cases, the problem reduction step of CPLEX is nevertheless per- formed. These results show that despite the strength of the CPLEX preprocessing routines, a considerable reduction in
  • 49. problem size (and improvement in the LP bound at the root node) is achieved through the application of the specialized arc elimination and variable-fixing techniques of §5.1. The improvement in the LP lower bound is 19.75% for the first set of instances and 15.17% for the second set. We also Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Operations Research 54(3), pp. 573–586, ©2006 INFORMS 583 Table 2. Characteristics of the second set of instances. Without reductions With reductions Upper Instance �K� n T Q L Cons Vars LP Cons Vars LP bound b2-16 2 16 480 6 45 1�030 993 218.80 834 653 250.55 309.61 b2-20 2 20 600 6 45 1�175 1�241 290.33 768 612 314.05 334.93 b2-24 2 24 720 6 45 1�922 1�873 311.71 1�436 1�189 372.80 445.11 b3-18 3 18 360 6 45 1�334 1�754 218.26 1�068 1�074 256.15 301.80 b3-24 3 24 480 6 45 2�230 2�915 284.78 1�625 1�669 329.14 394.57 b3-30 3 30 600 6 45 3�410 4�457 344.68 2�383 2�626 448.31 536.04 b3-36 3 36 720 6 45 4�200 6�035 437.37 2�984 3�403 493.79 611.79 b4-16 4 16 240 6 45 1�233 1�771 209.25 919 943 223.11 299.07 b4-24 4 24 360 6 45 2�426 4�129 252.87 1�850 2�262 312.28 380.27 b4-32 4 32 480 6 45 3�928 6�405 341.76 2�778 3�719 409.25
  • 50. 500.92 b4-40 4 40 600 6 45 5�361 9�481 477.90 3�797 5�368 525.28 662.91 b4-48 4 48 720 6 45 8�854 15�611 496.37 6�404 9�608 538.43 685.46 Avg. 323.67 372.76 455.21 indicate in the last columns of Tables 1 and 2 the value of an upper bound obtained by running the tabu search heuris- tic of Cordeau and Laporte (2003b) for 1,000 iterations. In Tables 3 and 4, we indicate the lower bound obtained at the root node (after applying the problem reduction steps) under seven different scenarios. Column LP indicates the bound obtained without any kind of cut generation. The next four columns indicate the bound obtained by generat- ing violated inequalities of one of the following families: capacity constraints (CC), generalized order constraints (GOC), infeasible path constraints (IPC) and subtour elim- ination constraint (SEC). Column CPX then reports the bound obtained when activating the automatic cut genera- tion of CPLEX (but not the generation of user cuts). In this case, several types of inequalities (e.g., implied bound cuts, flow cuts, Gomory fractional cuts) are automatically gener- ated by CPLEX at the root node. Finally, column Full indi- cates the bound obtained when applying both the automatic cut generation of CPLEX and the four separation heuristics of §5.3 (as well as the inequality pool of §5.2). The last col - umn shows the improvement (in percentage) in the lower bound obtained when generating user cuts together with the Table 3. Initial lower bounds—first set of instances. Instance LP CC GOC IPC SEC CPX Full Imp. (%)
  • 51. a2-16 269.54 269.54 270.54 278.88 269.66 287.38 290.18 0.97 a2-20 301.66 302.21 304.30 310.73 308.51 321.70 326.13 1.38 a2-24 364.22 365.55 373.30 383.94 365.45 377.20 395.57 4.87 a3-18 256.28 256.28 258.71 260.08 262.43 259.94 269.15 3.54 a3-24 260.56 260.56 260.97 268.45 261.98 276.98 291.00 5.06 a3-30 383.10 386.94 383.26 409.99 384.31 386.62 421.60 9.05 a3-36 484.57 484.57 484.91 516.69 484.87 502.74 529.47 5.32 a4-16 207.41 209.00 207.41 214.45 209.13 212.48 229.19 7.86 a4-24 293.07 293.08 299.58 303.84 293.07 299.52 318.93 6.48 a4-32 361.01 361.01 361.39 368.13 361.24 375.18 390.02 3.96 a4-40 408.13 418.23 412.42 431.30 414.43 421.52 450.43 6.86 a4-48 428.60 431.33 428.61 437.82 429.57 432.09 457.25 5.82 Avg. 334.85 336.53 337.12 348.69 337.05 346.11 364.08 5.10 CPLEX cuts instead of relying only on the latter class (i.e., relative difference between the last two scenarios). These results show that using any of the four types of inequalities yields a small improvement in the average lower bound obtained. For both sets of instances, the largest improvement is obtained with the generation of infeasible path inequalities, while subtour elimination, capacity, and generalized order constraints have a limited impact. Simi - lar improvements are also obtained by enabling the auto- matic cut generation of CPLEX. Nevertheless, combining these cuts with our own valid inequalities yields significant improvements. The average improvement exceeds 5% for both sets of instances. It is worth mentioning that similar conclusions are reached when comparing the best bound obtained after running the branch-and-cut algorithm for a certain number of nodes. Finally, Tables 5 and 6 report the results obtained by using the branch-and-cut algorithm of CPLEX alone and with the concurrent generation of all families of inequali -
  • 52. ties. In both cases, a maximum of four hours of CPU time were allowed for the solution of each instance. We indicate the best bound obtained, the CPU time (in minutes) used, Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 584 Operations Research 54(3), pp. 573–586, ©2006 INFORMS Table 4. Initial lower bounds—second set of instances. Instance LP CC GOC IPC SEC CPX Full Imp. (%) b2-16 250.55 250.55 264.13 252.67 251.35 268.08 289.66 8.05 b2-20 314.05 321.24 314.05 314.05 315.15 327.46 332.61 1.57 b2-24 372.80 377.07 380.54 377.29 380.02 389.81 404.80 3.85 b3-18 256.15 256.15 260.86 260.15 256.15 261.82 268.67 2.62 b3-24 329.14 329.14 331.34 338.37 329.38 332.98 344.85 3.56 b3-30 448.31 448.93 453.21 482.79 448.31 465.74 495.56 6.40 b3-36 493.79 495.04 506.92 502.21 493.79 520.59 547.83 5.23 b4-16 223.11 223.11 230.35 228.07 224.17 225.86 247.97 9.79 b4-24 312.28 312.28 315.36 320.69 312.28 320.03 336.40 5.12 b4-32 409.25 409.25 413.98 420.59 412.90 412.77 439.98 6.59 b4-40 525.28 525.28 531.44 544.31 525.28 531.17 561.36 5.68 b4-48 538.43 538.43 541.94 553.12 539.05 547.85 567.06 3.51 Avg. 372.76 373.87 378.68 382.86 373.99 383.68 403.06 5.16 and the number of nodes explored in the branch-and-bound tree. For the branch-and-cut algorithm with user cut gen- eration, we also indicate the total number of cuts gener- ated. An asterisk preceding a lower bound indicates that the instance was solved to optimality. One can observe that the generation of user cuts sig-
  • 53. nificantly improves the performance of the branch-and-cut algorithm. For the 14 instances solved to optimality by both approaches within the time limit, the average CPU time was 25.93 minutes for CPLEX alone compared with 1.81 minutes for CPLEX with user cut generation. The average number of nodes explored went from 95,466 to 3,248. For the five instances that could not be solved optimally by any of the two approaches, the average lower bound reached by CPLEX alone was 500.91 compared with 517.48 for the branch-and-cut with user cut generation. Finally, the latter algorithm solved five more instances to optimality. The small number of cuts generated with respect to the total number of nodes explored in the branch-and-bound tree is explained by the fact that the separation procedures are executed only when all yki variables are integer, but at least one xkij variable is fractional. For most instances, this occurs at approximately 5% of the nodes. Experiments performed with the generation of cuts at every node of Table 5. Comparisons with CPLEX—first set of instances. CPLEX B and C B and C with user cuts Instance Bound CPU Nodes Bound CPU Nodes Cuts a2-16 ∗ 294�25 0�01 23 ∗ 294�25 0�01 4 46 a2-20 ∗ 344�83 0�05 313 ∗ 344�83 0�08 181 93 a2-24 ∗ 431�12 1�42 10�868 ∗ 431�12 0�27 444 140 a3-18 ∗ 300�48 0�41 3�596 ∗ 300�48 0�20 565 172 a3-24 ∗ 344�83 76�59 310�667 ∗ 344�83 4�17 6�863 324 a3-30 472�17 240�00 515�931 ∗ 494�85 42�39 43�632 425 a3-36 570�26 240�00 504�553 ∗ 583�19 12�46 7�451 423 a4-16 ∗ 282�68 21�49 145�680 ∗ 282�68 2�54 6�615 404 a4-24 359�52 240�00 442�000 ∗ 375�02 25�19 28�939 351 a4-32 427�65 240�00 189�900 447�66 240�00 105�500 806
  • 54. a4-40 462�21 240�00 65�000 475�05 240�00 32�200 716 a4-48 466�70 240�00 40�400 486�03 240�00 21�400 1�019 the tree have on average produced slightly worse results because of the extra time spent by the separation proce- dures. It is likely that a larger number of cuts could be generated by using exact or more sophisticated heuristic separation procedures. The development of such proce- dures is by itself an important area of research that will be addressed in future work. All instances used for testing are symmetric (i.e., cij = cji for every pair of nodes i, j). In additional experiments, we have also tried solving asymmetric instances. Unlike the asymmetric TSP, which is usually easier to solve than its symmetric counterpart, it appears that the DARP is unaffected by the asymmetry of the cost matrix. This is explained by the fact that a while a TSP tour is feasible in both directions, thus leading to highly fractional solutions, a DARP route is feasible in only one direction because of precedence constraints. The computational results presented in this section show that instances with up to 30 users can be solved optimally in reasonable CPU times. Using column generation to address the VRPPD with time windows, Savelsbergh and Sol (1998) were also able to consistently solve instances with up to 30 requests in short computation times. Experiments performed with the branch-and-cut algorithm on similar Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem Operations Research 54(3), pp. 573–586, ©2006 INFORMS 585
  • 55. Table 6. Comparisons with CPLEX—second set of instances. CPLEX B and C B and C with user cuts Instance Bound CPU Nodes Bound CPU Nodes Cuts b2-16 ∗ 309�41 0�21 5�815 ∗ 309�41 0�15 487 130 b2-20 ∗ 332�64 0�01 26 ∗ 332�64 0�01 2 30 b2-24 ∗ 444�71 2�76 32�399 ∗ 444�71 0�13 146 103 b3-18 ∗ 301�64 1�29 12�223 ∗ 301�64 0�70 2�458 254 b3-24 ∗ 394�51 7�27 42�950 ∗ 394�51 3�62 8�147 252 b3-30 ∗ 531�44 189�74 574�281 ∗ 531�44 6�82 9�862 274 b3-36 588�44 240�00 447�474 ∗ 603�79 62�07 66�079 291 b4-16 ∗ 296�96 2�44 20�189 ∗ 296�96 0�79 2�579 196 b4-24 ∗ 371�41 59�31 175�495 ∗ 371�41 5�85 7�119 255 b4-32 460�78 240�00 222�600 ∗ 494�82 176�82 126�332 375 b4-40 570�37 240�00 153�400 591�76 240�00 81�100 632 b4-48 577�64 240�00 50�000 586�91 240�00 21�000 753 instances (obtained by relaxing the ride-time constraints) have, however, shown a deterioration of the algorithm’s per - formance. This is partly explained by the fact that infeasible path inequalities as well as most preprocessing techniques then become irrelevant. In addition, column generation usu- ally provides tighter formulations, leading to stronger LP relaxation values. Nevertheless, it seems that handling ride- time constraints in a column generation approach is far from trivial. Indeed, the states of the dynamic program- ming algorithm used for pricing would have to take into account the individual ride time of each user. Label elimi - nation based on dominance is then likely to be very weak. 7. Conclusion We have introduced several new valid inequalities and a branch-and-cut algorithm for the dial-a-ride problem.
  • 56. Although no polyhedral analysis was carried out, the use- fulness of these inequalities has been demonstrated through computational experiments. A comparison with version 8.1 of CPLEX shows that the branch-and-cut algorithm pro- posed here reduces both the CPU time and the number of nodes explored in the branch-and-bound tree. The method- ology proposed in this paper obviously cannot be used to solve large-scale instances containing hundreds or thou- sands of users, as is sometimes the case in large cities. It is, however, fast enough to be used as a postprocessor to optimize individual routes or small subsets of routes pro- duced by a metaheuristic. Future work will concentrate on the development of more refined separation procedures for the various types of inequalities introduced in this paper. Appendix Details of the Proof of Proposition 3. There are two cases to distinguish. Case 1. An arc �i1�il� with 2 � l � m−1 is part of the solution. First, we show that there is at least one subset Uk with 1 � k � l − 1 for which x�Uk� � �Uk� − 2. Suppose this is not true. Then, for every k, there is a path in Uk connecting ik and n + ik+1. Because the arc �i1�il� is in the solution, the path for U1 must visit node n+ i2 before visiting node i1. In addition, this path must appear imme- diately before the arc �i1�il� in the solution. Now, for k = 2�����l − 1, the path for Uk must appear before that for Uk−1 in the solution to avoid violating the precedence con- straint for user ik. However, for k = l−1, this implies that node n+il appears before node il, which is a contradiction. Next, we show that there is at least one subset Uk with
  • 57. l � k � m for which x�Uk� � �Uk� −2. Suppose this is not true. Then, for every k, there is a path in Uk connecting ik and n+ ik+1. Because the arc �i1�il� is in the solution, the path for Ul must visit node il before visiting node n+ il+1. In addition, this path must appear immediately after the arc �i1�il� in the solution. Now, for k = l +1�����m, the path for Uk must appear before that for Uk−1 in the solution to avoid violating the precedence constraint for user ik. How - ever, for k = m, this implies that node n+i1 appears before node i1, which is a contradiction. Case 2. An arc �i1�n+ il� with 3 � l � m is part of the solution. First, we show that there is at least one subset Uk with 1 � k � l − 1 for which x�Uk� � �Uk� − 2. Suppose this is not true. Because the arc �i1�n+ il� is in the solution, the path for U1 must visit node n+ i2 before visiting node i1. In addition, this path must appear immediately before the arc �i1�n + il� in the solution. Now, for k = 2�����l − 1, the path for Uk must appear before that for Uk−1 in the solution to avoid violating the precedence constraint for user ik. However, for k = l−1, this implies that node n+il appears before node i1, which is a contradiction because the arc �i1�n+ il� is part of the solution. Next, we show that for there is at least one subset Uk with l � k � m for which x�Uk� � �Uk�−2. Suppose this is not true. Because the arc �i1�n+il� is in the solution, then for k = l�����m, the path for Uk must appear before the arc �i1�n+il� in the solution to avoid violating the precedence constraint for user ik. However, for k = m, this implies that the path connecting im and n + i1 appears before node i1, which is a contradiction. �
  • 58. Cordeau: A Branch-and-Cut Algorithm for the Dial-a-Ride Problem 586 Operations Research 54(3), pp. 573–586, ©2006 INFORMS Details of the Proof of Proposition 4. Again, there are two cases to distinguish. Case 1. An arc �n+ i1�il� with 2 � l � m−2 is part of the solution. For k = l−1�����1, the path connecting ik and n+ ik+1 must appear after the arc �n+i1�il� in the solution to avoid violating the precedence constraint for user ik+1. However, for k = 1 this implies that the path connecting i1 and n+i2 appears after the arc �n+ i1�il�, which is a contradiction. Because the arc �n + i1�il� is in the solution, the sub- path for Ul must visit node il before visiting node n+ il+1. For k = l + 1�����m, the path for Uk must appear before that for Uk−1 to avoid violating the precedence constraint for user ik. However, for k = m, this implies that the path connecting im and n+i1 appears before the path for at least one other subset Uh with l+1 � h � m−1, and thus node n+ i1 appears in two different places in the solution. Case 2. An arc �n+i1�n+il� with 2 � l � m−1 is part of the solution. For k = 1�����l−1, the path connecting ik and n+ ik+1 must appear after the arc �n+i1�n+il�, but for k = 1, this implies that node i1 appears after node n + i1, which is a contradiction. The path for Ul must appear before the arc �n+i1�n+il� and, for k = l +1�����m−1, the path for Uk must appear
  • 59. before that for Uk−1. However, for k = m, this implies that the path connecting im and n + i1 appears before the path for at least one other subset Uh with l � h � m − 1, and thus node n + i1 appears in two different places in the solution. � Acknowledgments This work was supported by the Natural Sciences and Engineering Research Council of Canada under grant 227837-00. This support is gratefully acknowledged. Thanks are due to Luigi Moccia for comments on an ear- lier version of this paper. The author is also thankful to two anonymous referees. References Ascheuer, N. 1996. Hamiltonian path problems in the on-line optimiza- tion of flexible manufacturing systems. Ph.D. thesis, Konrad- Zuse- Zentrum für Informationstechnik Berlin, Berlin, Germany. Ascheuer, N., M. Fischetti, M. Grötschel. 2001. Solving the asymmetric travelling salesman problem with time windows by branch-and- cut. Math. Programming 90 475–506. Ascheuer, N., M. Jünger, G. Reinelt. 2000. A branch & cut algorithm for the asymmetric traveling salesman problem with precedence con- straints. Comput. Optim. Appl. 17 61–84. Augerat, P., J. M. Belenguer, E. Benavent, A. Corberán, D. Naddef. 1999.
  • 60. Separating capacity inequalities in the CVRP using tabu search. Eur. J. Oper. Res. 106 546–557. Balas, E., M. Fischetti, W. R. Pulleyblank. 1995. The precedence-con- strained asymmetric traveling salesman polytope. Math. Programming 68 241–265. Bodin, L. D., T. Sexton. 1986. The multi-vehicle subscriber dial-a-ride problem. TIMS Stud. Management Sci. 26 73–86. Cordeau, J.-F., G. Laporte. 2003a. The dial-a-ride problem (DARP): Variants, modeling issues and algorithms. 4OR—Quart. J. Belgian, French Italian Oper. Res. Soc. 1 89–101. Cordeau, J.-F., G. Laporte. 2003b. A tabu search heuristic for the static multi-vehicle dial-a-ride problem. Transportation Res. B 37 579–594. Desaulniers, G., J. Desrosiers, A. Erdmann, M. M. Solomon, F. Soumis. 2002. VRP with pickup and delivery. P. Toth, D. Vigo, eds. The Vehi- cle Routing Problem. SIAM Monographs on Discrete Mathematics and Applications. Philadelphia, PA, 225–242. Desrochers, M., G. Laporte. 1991. Improvements and extensions to the
  • 61. Miller-Tucker-Zemlin subtour elimination constraints. Oper. Res. Lett. 10 27–36. Desrosiers, J., Y. Dumas, F. Soumis. 1986. A dynamic programming solu- tion of the large-scale single-vehicle dial-a-ride problem with time windows. Amer. J. Math. Management Sci. 6 301–325. Dumas, Y., J. Desrosiers, F. Soumis. 1989. Large scale multi - vehicle dial- a-ride problems. Technical Report G-89-30, GERAD, HEC Montréal, Montréal, Quebec, Canada. Dumas, Y., J. Desrosiers, F. Soumis. 1991. The pickup and delivery prob- lem with time windows. Eur. J. Oper. Res. 54 7–22. Gendreau, M., G. Laporte, F. Semet. 1998. A branch-and-cut algorithm for the undirected selective traveling salesman problem. Networks 32 263–273. Grötschel, M., M. W. Padberg. 1985. Polyhedral theory. E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, D. B. Shmoys, eds. The Trav- eling Salesman Problem. Wiley, New York, 251–305. Jaw, J., A. R. Odoni, H. N. Psaraftis, N. H. M. Wilson. 1986. A heuristic algorithm for the multi-vehicle advance-request dial-a-ride problem
  • 62. with time windows. Transportation Res. B 20 243–257. Johnson, D. S. 1974. Approximation algorithms for combinatorial opti- mization problems. J. Comput. System Sci. 9 256–278. Madsen, O. B. G., H. F. Ravn, J. M. Rygaard. 1995. A heuristic algorithm for a dial-a-ride problem with time windows, multiple capacities, and multiple objectives. Ann. Oper. Res. 60 193–208. Miller, C. E., A. W. Tucker, R. A. Zemlin. 1960. Integer programming for- mulations and traveling salesman problems. J. Association Comput. Machinery 7 326–329. Naddef, D., G. Rinaldi. 2002. Branch-and-cut algorithms for the capac- itated VRP. P. Toth, D. Vigo, eds. The Vehicle Routing Prob- lem. SIAM Monographs on Discrete Mathematics and Applications. Philadelphia, PA, 53–84. Psaraftis, H. N. 1980. A dynamic programming approach to the single- vehicle, many-to-many immediate request dial-a-ride problem. Trans- portation Sci. 14 130–154. Psaraftis, H. N. 1983. An exact algorithm for the single-vehicle many-to- many dial-a-ride problem with time windows. Transportation Sci. 17 351–357.
  • 63. Ruland, K. S. 1995. Polyhedral solution to the pickup and delivery problem. Ph.D. thesis, Sever Institute of Technology, Washington University, St. Louis, MO. Ruland, K. S., E. Y. Rodin. 1997. The pickup and delivery problem: Faces and branch-and-cut algorithm. Comput. Math. Appl. 33 1–13. Savelsbergh, M. W. P. 1985. Local search in routing problems with time windows. Ann. Oper. Res. 4 285–305. Savelsbergh, M. W. P. 1992. The vehicle routing problem with time win- dows: Minimizing route duration. ORSA J. Comput. 4 146–154. Savelsbergh, M. W. P., M. Sol. 1998. Drive: Dynamic routing of indepen- dent vehicles. Oper. Res. 46 474–490. Toth, P., D. Vigo. 1996. Fast local search algorithms for the handi- capped persons transportation problem. I. H. Osman, J. P. Kelly, eds. Meta-Heuristics: Theory and Applications. Kluwer, Boston, MA, 677–690. Toth, P., D. Vigo. 1997. Heuristic algorithms for the handicapped persons transportation problem. Transportation Sci. 31 60–71.
  • 64. Assignment 1: Database Project Part A: Create and provide a laboratory inventory database/spreadsheet. The detail and meticulousness of your laboratory database serves as evidence of professional behavior in the workplace. As the laboratory manager, the visitors (potential investors in the company) have asked you to “walk” them through your laboratory inventory database/spreadsheet. They want to be re- assured that the laboratory personnel are detailed and conscientious in their work and economic in their spending; they do not want their money wasted. Your inventory should, ideally, include, at least: purchase requester and date, approver and approval date, purchase dates, purchase cost centers (grants or re- investment money), vendors, costs, location of supply or item, location of the SDS (if a chemical), decommissioning date and reason, for chemical the hazard category. You will need to track the following: · Consumable/disposable laboratory supplies: inventory of available supplies; requests from lab members to purchase new supplies; and purchase requests, costs, and receipts. Include at least 5 unique supplies in the inventory, 4 of which are chemicals each from a different hazard class. · Durable laboratory equipment and supplies: inventory of available equipment and supplies; requests from lab members to purchase new equipment and supplies; purchase requests, costs, and receipts; for equipment and supplies greater than $1,000 in purchase price, the location of the equipment and the equipment identification (ID) number issued by your institution; for decommissioned equipment and supplies greater than $1,000 in purchase price, the date and reason for decommissioning and the location or transfer information of the equipment You should have a minimum of 2 items. · In your database you will need to include 3 personnel by including them in the procurement area. To complete this assignment, do the following and post in your assignment folder by the deadline:
  • 65. · Select Microsoft Excel (spreadsheet) for your tracking system. When you go to New search for inventory · · Using your selected spreadsheet, design and create a shell to track this information. Remember to include at least 3 personnel, 5 consumables (representing at least four classes of hazards (health or physical) from the 29 CFR 1910.1200 list available at: https://www.osha.gov/Publications/OSHA3844.pdf , and 2 Durable laboratory equipment or supplies. · Submit a PDF version of your demonstration spreadsheet. In an accompanying 1-2 pages written paper: · Describe a strategy for the routine updating and maintenance of the database/spreadsheet, as well as for checking the accuracy of its contents. · Describe a strategy for making the information in your database/spreadsheet accessible to all laboratory members while maintaining the integrity of the database/spreadsheet and its contents. · explain the set up and organization of your database by explaining the purchasing and tracking process Your grade for Part A will be based upon: (a) Completion of a sample database with the necessary fields (40%), (b) Written Paper including an explanation of the database form selected (5%), an explanation of the set-up and organization of your database (25%), an explanation for user access and maintenance of the database (25%), and correct grammar, spelling, punctuation, etc. (5%).
  • 66. Assignment 2: Database Project Part B--Safety Data Sheets Complete Part 2 of the project by discussing safety compliance requirements of select consumable inventory supplies. Part B: Safety compliance of inventory. Select four chemicals from your inventory database/spreadsheet (Database A assignment). The items should come from at least four distinct classes of hazards (health or physical) from the 29 CFR 1910.1200 list available at: https://www.osha.gov/dsg/hazcom/ghd053107.html (go to the bottom of the file). Recommendation: in Google, type the name of one of your chemical and write SDS after it. You will have an array of vendors that have SDS sheets available. Select one and then downloaded to your computer/laptop and name it with the name of the chemical_SDS_Vendor. Do that for each of the 4 required chemicals. You will be submitting those SDS sheets along with your assignment. Use the information from those SDS sheets to answer the questions. For each of the four items, provide the following: SDS sheet and state its hazard category and show the corresponding symbol (pictogram). Summarize in a short paragraph for each item the proper procedures (in your own words) for: (1) handling, (2) storage, (3) disposal, and (4) transportation. You should have 1 picture and 4 short paragraphs for each chemical selected. Your grade for Part B will be based upon: Selection of items from four distinct hazard classes based on 29 CFR (15%); providing appropriate SDS for each item (15%); correctly identifying the hazard category and providing the corresponding hazard symbol for each item (10%); and providing accurate information about each item's handling (15%), storage (15%), disposal (15%) and transportation (10%); and correct grammar,
  • 67. spelling, punctuation, etc. (5%). Please look at your rubric for further points information. Your deliverables that must be uploaded to the appropriate assignment folder are the following 5 items: 4 SDS sheets (1 for each chemical) and 1 word document that provides the information requested. Chapter 11 Hub Location Problem Masoud Hekmatfar and Mirsaman Pishvaee One of the novel topics in location problems is the hub location problem. There are plenty of applications for the hub location problem; therefore, this section is dedicated to introducing this problem to readers. The preface is composed of three parts: apprehensions, definitions, and classifications of the hub location problem. In this chapter we discuss services such as, movement of people, commodities and information which occurs between an origin-destination pair of nodes (see A–B in Fig. 11.1 as an origin-destination pair). Each origin- destination pair needs a ser- vice different from other pairs. Thus, the commodities carried from i to j are not interchangeable with the commodities carried from j to i. If we have N nodes and if each node can be either an origin or a destination,
  • 68. we’ll have N.N �1/ origin-destination pairs of nodes in a network which form a fully connected network (a network in which all nodes are connected together). Notice that i�j pair is different from j�i pair. A sample network with six nodes is presented in Fig. 11.1 (Daskin 1995). Assuming that we have different traffic services in this network and that each vehicle can service five origin-destination pairs every day, with 18 vehicles, we will be able to service ten nodes every day. If we set one of the nodes as a hub1 node and connect it to all of the other nodes, which are introduced as spoke, we will have 2.N �1/ connections to service all origin-destination node pairs. This network is presented in Fig. 11.2 (Daskin 1995). In this network, if there are different traffic services and if each vehicle can service five origin-destination pairs every day, with 18 vehicles, we will be able to service 46 nodes every day. Thus, with fixed traffic resources, we can service more cities with a hub network than with a completely connected network2. 1 Hub means the ball in the center of a wheel and Campbell (1994) defined it as “the facilities that are servicing many origin-destination pairs as transformation and tradeoff nodes, and are used in traffic systems and telecommunications.” 2 This argument ignores vehicles’ capacity. It should be clear
  • 69. that the volume of goods or the number of people transported on each link in the hub-and-spoke network will be considerably greater than the number transported on each link of the fully connected network. This also ignores differences in the distances between nodes as it assumes that the number of origin-destination pair trips a vehicle can service is independent from the distances between the nodes. R.Z. Farahani and M. Hekmatfar (eds.), Facility Location: Concepts, Models, 243 Algorithms and Case Studies, Contributions to Management Science, DOI 10.1007/978-3-7908-2151-2 11, c� Physica-Verlag Heidelberg 2009 sedcf Highlight 244 M. Hekmatfar and M. Pishvaee Fig. 11.1 A fully connected network with 6 nodes and 30 origin-destination pairs (Daskin 1995) B C D E
  • 70. F A Fig. 11.2 A hub and spoke network with 6 nodes and 30 origin-destination pairs (Daskin 1995) A B C D E F The main disadvantage of such system (regarding all nodes except the hub node) is that more than one trip is required to travel between each origin-destination pair since we have to pass the hub node to be able to travel from one non-hub node to another. In multi hub networks, we assume that the hub nodes are completely connected to one another and that each non-hub node is connected to exactly (at least) one hub node such as Fig. 11.3 (Daskin 1995). In Fig. 11.3, there are 15 cities and three hubs. The number of passengers or commodities carried from one hub to another is greater than the number of passengers or commodities moved from each non-hub node to that hub; for example if the traffic between each origin- destination pair is ten units, there will be 140 traffic units between each non-hub city and the hub it is
  • 71. connected to, but there will be 250 traffic units between two hubs. It is not reasonable to establish direct paths between every pair of nodes; for example assume that we establish direct paths between each pair of nodes in a con- nective network such as, a route network or a computer network (Camargo et al. 2008). Thus, hub nodes are used to resolve this problem. One of the advantages of using hubs is that we gain economic profits by establishing more qualitative paths between the hubs (Camargo et al. 2008). In road networks, when there are a large number of relationships between two nodes, it is economic to establish a highway with several lines between those two nodes, and obtain faster movement of vehicles, and less waste in fuel, and, thus, savings in time and cost. In computer networks, fiber-optic cables are only used to connect hubs and it is not economic to use them to join any two nodes. 11 Hub Location Problem 245 Fig. 11.3 Example of a three- hub network (Daskin 1995) A D E
  • 72. G H I J L M N O K B C F This chapter is organized as follows. In Sect. 11.1, some applications of hub loca- tion problem and its classifications are given, and Sect. 11.2 presents some models developed for the problem. Some relevant algorithms to solve hub models are given in Sect. 11.3. Finally, Sect. 11.4 represents some real world case studies with a short summary. 11.1 Applications and Classifications Many applications of hub problem are given in the following:
  • 73. � Airlines and air ports: Some works in this area are Toh et al. (1985), Shaw (1993), Aykin (1995), Jaillet et al. (1996), Bania et al. (1998), Sasaki et al. (1999), Martin and Roman (2003) and Adler and Hashai (2005). In Adler and Hashai (2005), airlines and transportations based on open sky policy are surveyed in the Middle East. It is interesting that based on their research, the four cities se- lected as optimized hub airports are, in order of utility, Cairo, Tehran, Istanbul, and Riyadh. Dubai which now works as an important center for airport trans- portation, is not an optimal hub airport. This means that, politic and economic problems have dominated over optimized location. � Transportation and handling problems: Some works in this area are Don et al. (1995), Lumsdenk et al. (1999), Aversa et al. (2005), Baird et al. (2006), Cunha and Silva (2007), Yaman et al. (2007) and Eiselt (2007). In Eiselt (2007), find- ing the optimized land dump locations, with respect to garbage transportation stations, is discussed. � Post delivery services and fast delivery packing companies: Kuby et al. (1993), Krishnamoorthy et al. (1994), Ernst and Krishnamoorthy (1996) and Ebery et al. (2000) represent models in this area.
  • 74. 246 M. Hekmatfar and M. Pishvaee � Telecommunication systems and massage delivery networks: Some works in this area are Lee et al. (1996) and Klincewicz (1998). � Emergency services: Hakimi (1964) and Berman et al. (2007) represented models in emergency services. Berman et al. (2007) discussed the location of a hub for rescue helicopters. � Chain stores in supply chain (like Wall-Mart): A work in this area is Campbell et al. (2002). � Productive companies in basis transportation correctly: Every assembly plant probably wants to find an optimized solution for its material storage and handling such that each production facility can receive its required materials effectively. Some practical examples of hub problems are as follows: � A classical example is Hungarian railway system with Budapest as its hub. � Two huge American airlines based in Atlanta and Chicago, use hub networks. � Dubai airport is a hub for many flights in the Middle East. The hub location problem has a short history. The first paper on hub location prob- lem was published by Toh et al. (1985). This paper was on the application of hub location problem in airlines and airports. Although Hakimi (1964) first published a
  • 75. paper on hub location, since next paper on this topic was not published until two decades later, it is assumed that the hub location problem has been first discussed in 1980s. O’Kelly (1987) developed hub location models. He had an important role in de- veloping the first modeling of hub problems (O’Kelly 1987, 1992). Later, Campbell (1994) played a major role in completing hub modeling. His papers are among the most important papers on types of hub modeling (Campbell 1994, 1996). Also, some authors played important roles in improving this topic (Aykin 1994, 1995; Klincewicz 1991, 1992). Many papers have been published on hub location problem so far (since1980s). Daskin (1995) has written a book on “Network and Discrete location” and only a brief section of this book is dedicated to hub location. Figure 11.4 shows that the number of papers has increased in recent years. The number of published papers on hubs shows a significant increase in 1996, which is presumably the time when the modeling of hub problems has reached maturity. The emphasis of papers was on modeling in the early years, on optimizing and completing the models in the follow- ing years, and, finally, on solution methods in recent years. Thus, hub location prob- lem is a rather new topic and a good area for research and development activities.
  • 76. A classification of different types of hub problems and their properties is repre- sented as follows: � Area solution: discrete, continual � Objective function: MiniMax, MiniSum � Determination of the number of hubs: exogenous, endogenous � Number of hubs: one hub, more than one hub � Hub capacity: unlimited (uncapacitated), limited 11 Hub Location Problem 247 Focus on primary Modeling Focus on model optimization Focus on large scale optimization and solution algorithms Papers 0 1 2 3 4 5 6 7
  • 79. Year N um be r Fig. 11.4 Revolution of Hub location problem papers3 � Cost of hub location: no cost, fixed cost, variable cost � Node connections to hub: to one hub, to more than one hub � The cost of connection to a hub: no cost, fixed cost, variable cost Researchers have worked on a variety of hub modeling problems. However, no re- search has been conducted on many types of hub modeling problems resulted from multiplying the above items. On the other hand, some of the new models do not have any applications in the real world and, therefore, are not really worth modeling. Since most of the applications of hub problems in real world are discrete, the models developed so far are mostly discrete models. 11.2 Models In this section we introduce hub models represented and developed as mathematical models. 11.2.1 Single Hub Location Problem (O’Kelly 1987)
  • 80. O’Kelly (1987) was the first to introduce the single hub model which has only one hub node. 3 This information is based on Springer-Verlag and Elsevier (Science Direct) websites. sedcf Highlight sedcf Highlight 248 M. Hekmatfar and M. Pishvaee 11.2.1.1 Model Assumptions Model assumptions of this model are as follows: � The objective function is MiniSum. � The solution space is discrete and finite. � There is only one hub node. � All of the nodes are connected to the hub node and each non- hub node is con- nected to every other non-hub node via the hub node. � The number of hub nodes is known (exogenous model). � The installation cost of the hub node is not considered. � The capacity of the hub node is unlimited (uncapacitated model). � All decision variables of the model are binary (0–1) variables. 11.2.1.2 Model Inputs
  • 81. Model inputs of this model are as follows: hij : demand or flow between origin i and destination j Cij : unit cost of local (non-hub to hub) movement between nodes i and j 11.2.1.3 Model Outputs (Decision Variables) Model outputs of this model are as follows: Xj D a hub is located at node j Yij D node i is connected to a hub located at node j 11.2.1.4 Objective Function and its Constraints The objective function of this model and its related constraints are as follows: Min X i X j X k hik � Cij C Cjk � yijykj: (11.1)
  • 82. Subject to X j Xj D 1; (11.2) Yij � Xj � 0 8i;j ; (11.3) Xj D 0;1 8j ; (11.4) Yij D 0;1 8i;j : (11.5) 11 Hub Location Problem 249 Equation (11.1) minimizes the total cost associated with the transport through the hub. Equation (11.2) ensures that we locate only one hub. Equation (11.3) ensures that demand node i cannot be connected to a hub at j unless we locate the hub at j . Equations (11.4) and (11.5) are standard integrity constraints. 11.2.1.5 Linearizing the Objective Function The objective function is quadratic since it involves the product of decision vari- ables. However since there is only one hub, if node i is assigned to a hub at node j , then all nodes k.k ¤ i/ must be assigned to the hub at node j . Thus we can rewrite (11.1) as follows: X i
  • 83. X j X k hik � Cij C Cjk � yijykj D X i X j Cijyij X k hik ! C X j X i Cjiyij
  • 84. X k hki ! D X i X j Cijyij .Oi C Di/; (11.6) where Oi : the total outflow of node iI Di : the total inflow of node i. Having transformed (11.1)–(11.6), we can find the optimal 1- hub location with minimum objective function value by total enumeration in O.N2/ time. 11.2.2 P-Hub Location Problem (O’Kelly 1987) This model is referred to as single allocation P-hub location problem, since each non-hub node is assigned to one hub node (O’Kelly 1987). 11.2.2.1 Model Assumptions Model assumptions are as follows: � The objective function is MiniSum.
  • 85. � The solution space is discrete and finite. � All of the hub nodes are connected to one another and each non-hub node is connected to (exactly, at least) a hub. � The number of hub nodes is known (exogenous). � To travel between two non-hub nodes, one or two hubs have to be passed, i.e. two non hub nodes are never connected directly. � The installation cost of the hub nodes is not considered. � The capacities of the hub nodes are unlimited (uncapacitated model). � All decision variables of the model are binary variables (0– 1). 250 M. Hekmatfar and M. Pishvaee 11.2.2.2 Model Inputs We have all the inputs in previous model in addition to the following inputs: ˛ D discount factor for line-haul movement between hubs .0 � ˛ < 1/. As transportation cost between two hubs is less than transportation cost between a hub node and a non-hub node, we multiply ˛ by Cij in calculating the movement cost between two hubs. P D the number of hubs to locate.
  • 86. 11.2.2.3 Model Outputs (Decision Variables) The outputs of this model are similar to the previous model. 11.2.2.4 Objective Function and its Constraints The objective function of this model and its related constraints are as follows: Min X i X k CikYik 0 @X j hij 1 A C X k X i CkiYik X
  • 87. J hji ! C˛ X i X j X k X m hijCkmyikyjm: (11.7) Subject to X j yij D 1 8i; (11.8) X j xj D P; (11.9) yij � xj � 0 8i;j; (11.10) xj D 0;1 8j; (11.11) yij D 0;1 8i;j: (11.12)
  • 88. Equation (11.7) minimizes the total cost associated with the P hubs locations and the assignment of nodes to the hubs. The first term is the cost of connecting all trips originating at node i to the hub k to which node i is attached. The second term is the cost of connecting all trips destined for node i to hub k, to which node i is 11 Hub Location Problem 251 attached (sum on all i, k). The third term is a hub-to-hub connection cost (sum of two hubs). Equation (11.8) ensures that each node i is assigned to exactly one hub. Equation (11.9) ensures that the number of hub nodes is P . Equation (11.10) states that demand node i cannot be connected to a hub at j unless we locate the hub at j . Equations (11.11) and (11.12) are standard integrity constraints. 11.2.3 Multiple Allocation P-Hub Location Model (P-Hub Median Location Model) (Campbell 1991) The objective function of the previous model was nonlinear; so Campbell (1991) represented the following model with a linear objective function. He formulated this model like P-median problem and called it P-hub median location model. We dis- cuss P-hub median problems in which each non-hub node can be connected to more than one hub, and therefore, are called multiple allocation P-hub location problem.
  • 89. Notice that this property is not fixed, so we also discuss models with one allocation between each hub node and non-hub node (discussed in Sect. 11.2.5). 11.2.3.1 Model Assumptions Model assumptions are similar to the ones of P-hub problem model except that the Zkmij variables is relaxed .Z km ij � 0/ and each non-hub node can be connected to more than one hub node. 11.2.3.2 Model Inputs Model inputs are similar to P-hub problem model except that the Cij variables are defined as follows: Ckmij D unit cost of travel between origin i and destination j when going via hubs at nodes k and m C km ij D Cik C ˛Ckm C Cmj : (11.13) 11.2.3.3 Model Outputs (Decision Variables)
  • 90. The model outputs of this model are as follows: Xj D a hub is located at node j Zkmij D flow from origin i to destination j uses hubs at candidates sites k and m. sedcf Highlight 252 M. Hekmatfar and M. Pishvaee 11.2.3.4 Objective Function and its Constraints The objective function of this model and its related constraints are as follows: Min X i X j X k X m Ckmij hijZ km ij : (11.14) Subject to X
  • 91. k xk D P; (11.15) X k X m Zkmij D 1 8i;j; (11.16) Zkmij � xm 8i;j;k;m; (11.17) Zkmij � xk 8i;j;k;m; (11.18) Zkmij � 0 8i;j;k;m; (11.19) xk D 0;1 8k: (11.20) Equation (11.14) minimizes the demand-weighted total travel cost. Equation (11.15) stipulates that exactly P hubs should be located. Equations (11.16) ensure that each origin-destination pair (i, j) must be assigned to exactly one hub pair. Equa- tions (11.17) and (11.18) stipulate that flow from origin i to destination j cannot be assigned to a hub at location k or m unless a hub is located at these candidate nodes (when we travel from one node to another node via one hub node, m and k are coincided with each other). Equations (11.19) are standard integrality constraints. Equations (11.20) are relaxed decision variable constraints. One of the key difficulties associated with this hub location model should also be evident from this formulation. The number of assignment variables .Zkmij / can be
  • 92. extremely large. In fact, if every origin or destination node is a candidate hub, there will be O.N4/ of such variables. For a relatively small problem with 32 origins and destinations, we would have over one million such decision variables. In short, the size of these problems grows very quickly with the number of nodes in the problem unless some a priori means of eliminating candidate hub locations is used. The use of quadratic formulation (11.7) reduces the number of decision variables dramatically but does not make solving the problem any easier. 11.2.4 P-Hub Median Location Problem with Fixed Costs (O’ Kelly 1992) P-hub median location model with respect to fixed cost of hub locations is repre- sented by O’ Kelly (1992). 11 Hub Location Problem 253 11.2.4.1 Model Assumptions The model assumptions are similar to the ones of P-hub problem model except that there are two differences: � The number of hub nodes is not known beforehand (endogenous). � A fixed cost of hub location is incorporated into the model. 11.2.4.2 Model Inputs