Professional Documents
Culture Documents
problems
Alberto Colorni
Dipartimento di Elettronica e Informazione, Politecnico di Milano
colorni@elet.polimi.it
Giovanni Righini
Polo Didattico e di Ricerca di Crema, Universita degli Studi di Milano
righini@crema.unimi.it
May 1999
Abstract
Dial-a-ride is an emerging alternative to traditional public transportation
systems. The aim of this paper is to reduce the gap between the models studied
in optimization literature and the requirements of practical applications. We
also describe the algorithms implemented in DARIA, a PC program for the
optimization of static and dynamic dial-a-ride problems. We brie
y illustrate
two case studies and the future developments of DARIA project.
1 Introduction
In modern cities transportation systems are intensively exploited by a number of people. Their eciency and comfort become more and more important, together with
the need of making public transportation means competitive and appealing, in order
to reduce trac, noise, pollution and delays [14]. For these reasons transportation
systems planners and managers and public administrators show and increasing interest
in the dial-a-ride option [2]. It oers the comfort and
exibility of private cars and
1
taxies at lower cost through a better exploitation of vehicles capacity. Public masstransport systems based on trains, underground, buses and tramways are cheaper than
dial-a-ride but far less comfortable because the vehicles follow xed routes and obey
xed time schedules. Dial-a-ride systems can also be integrated with traditional ones,
yielding multi-modal transportation systems [5]. The name "dial-a-ride" comes from
the phone call by which a customer is supposed to ask for service. A central planning
unit receives all customer calls and decides the allocations of the customers to the
vehicles and the route of each vehicle. The combinatorial problem of deciding how to
allocate customers to vehicles and how to route each vehicle is hard from the viewpoint
of computational complexity theory, since it is a generalization and a combination of
the Set Partitioning Problem and the Minimum Hamiltonian Path Problem. In order
to be competitive dial-a-ride systems must be very well optimized and therefore fast
and robust algorithms are necessary. On the basic schema of dial-a-ride systems many
variations are possible.
Group taxi systems do not require previous calls, the requests for service are made
directly on the road. Unlike usual taxies the driver can pickup other people on board
before reaching the destination of the rst customer. The diculty in such systems
comes from the need of negotiating the service on the basis of partial information, that
is the destination of the customer and the route planned by the driver; moreover these
systems are not suitable for customers with reduced mobility, like handicapped or old
persons. The advantage is that no appointments with customers are missed and no
central planning unit is required since decisions are taken directly by the drivers.
A second variation, called static dial-a-ride [1], requires customers to ask for service in
advance (for instance, the day before) and the plan is made before the system starts.
In this case the computation of optimal allocation and optimal routes is allowed to
take some hours. Static dial-a-ride systems are more comfortable than group taxies for
customers with reduced mobility. The drawback is that missed appointments, trac
jams, vehicle breaks and other unpredicted events can strongly aect the quality of the
solution computed a priori, with no possibility of re-optimization.
A third variation, called dynamic dial-a-ride, allows customers to call during the service
time. Every time a new customer call is received, the current plan is (partially) reoptimized. Dynamic dial-a-ride systems are more
exible and can react to unpredicted
events, but they have tight real-time constraints on the re-optimization algorithm.
Moreover they require a monitoring system able to sample the position of vehicles, their
load and the state of the transportation network with a certain frequency. Dynamic
dial-a-ride systems are more competitive with traditional transportation systems, but
they need very good optimization and careful pricing policies.
In this paper we illustrate the state of a project [3] aimed to modelling and optimizing
static and dynamic dial-a-ride systems. We do not discuss the aspect of taris; we
concentrate on the formulation of the optimization problem and on the algorithms we
have developed to solve it.
A classical approach to the solution of dial-a-ride problems starts from an Integer Linear Programming formulation and applies ILP methods such as Column Generation or
2
Cutting Planes algorithms [12]. Unfortunately, such ILP models are too simplistic: in
real applications a number of details must be considered that are skipped in the scientic literature. For instance the classical minimization of the total distance travelled
is denitely not the most important objective to be optimized.
In this paper we rst discuss a model, we point out some candidate objective functions,
we dene a measure of the level of service perceived by the customers, we distinguish
between "soft" and "hard" constraints and we illustrate how the time-dependencies of
the transportation network can be modelled. Then we brie
y illustrate the design of
the algorithms used in DARIA, a PC software code we have developed. Finally we
report on some preliminary experimental results related to two case studies.
2 The model
As usual when real applications of OR are concerned, the denition of the model is
the biggest part of the work. In the remainder of this section we discuss the choices
we have done to dene our model.
Data .
j . In this case many small origin-destination matrices must be stored, one for each
Variables. There are two kinds of decisions to be taken: those concerning the allocation of customers to vehicles and those concerning the routing of each vehicle. Both
subproblems can be modelled by integer variables. Our previous experience with multisource location problems [6] [8] suggests that allocation is more critical than routing:
a suboptimal choice of allocation variables can aect the quality of the solution more
than a suboptimal routing of vehicles.
Constraints. The model includes many constraints of dierent kind. Precedence
constraints are typical of pickup and delivery problems: they state that in the sequence of actions each vehicle must perform every customer must be picked up before
being delivered. Capacity constraints also aect the sequence of actions each vehicle
can perform: when a vehicle is full, no pickups are allowed. Time windows constraints
require that the route of each vehicle respects all time windows of the customers allocated to it. If a vehicle reaches the origin of customer i before time b(i), it is supposed
to wait there until the customer comes at time b(i). Each vehicle is also supposed to
deliver each customer i allocated to it before time e(i). Demand covering constraints
require all customer calls to be satised. Finally, in otder to make the dial-a-ride system more attractive, it would be nice to guarantee to the customers that it will always
4
provide a minimum level of service, known a priori; this would become an additional
constraint.
If all these constraints were considered as such, the set of feasible solutions could easily
become empty, for instance in case of too many customers calls at the same time or in
case of trac jams. In the optimization of static dial-a-ride problems this is not an issue
because unpredictable events are not taken into account and however the answer "no
feasible solution exists" is acceptable, though undesirable. On the other hand in dynamic dial-a-ride systems a solution must always be found, in any situation predictable
or not, even when time windows constraints cannot be satised or delays prevent the
system to meet the requirements on the minimum guaranteed level of service. Therefore we imposed to our algorithm only a subset of the constraints listed above, namely
precedence constraints, capacity constraints and time window constraints on pickup
times. The others are imposed in a "soft" way through the objective function and
the negotiation of customer requests. The asymmetry in managing time window constraints on pickup times ("hard") and on delivery times ("soft") is another charactristic
distinguishing our approach from previous ones [13].
Objective function. In the design of a transportation system many actors are in-
volved and each of them has a dierent objective, usually con
icting with the others.
We considered dierent points of view yielding three candidate objective functions:
maximize the number of customers served, optimize the level of service perceived by
the customers and minimize the total distance travelled by the vehicles. The minimization of the number of vehicles is performed by previous simulation and is not an
objective for the dynamic dial-a-ride.
We dened the quality of the service perceived by the customers (level of service, los)
as the ratio between the service time oered by the dial-a-ride system and the time the
customer would need to travel by his own car:
los(i) = l(ot(di()i;)d;(i)b;(bi()i))
where td(i) is the arrival time of customer i to its destination d(i) and l(o(i); d(i); b(i))
is the duration of the shortest path from the origin o(i) to the destination d(i), starting
at b(i). This objective must be minimized to optimize the service quality. The overall
objective function in our model is to minimize the worst level of service among all the
customers:
min Los = max
flos(i)g
i
This choice has two desirable side eects: its optimization tends to produce solutions
that satisfy the soft time windows constraints on the delivery times and the soft con5
straint on the minimum guaranteed level of service. This is not the case in traditional
models where min-sum objective functions are optimized.
The minimization of the distance travelled, the most used objective function in literature, appears to be the least important one among those listed above and it is
implicitely optimized, at least approximately, by the optimization of the level of service, since unreasonable tours correspond to bad solutions from both viewpoints of
los minimization and total distance minimization. However the shortest tour for the
vehicle can be dierent from the best tour for the customers and in these cases the
viewpoint of the customers prevales.
Finally the maximization of the number of customers served is accomplished in the following way: all customer calls are subject to a negotiation and only if certain conditions
are satised a call is accepted.
Negotiation. The aim of the negotiation is to forbid customers to put too tight
requests (narrow time windows for long travels, starting just after the request time),
that would worsen the solution. If a customer request is not acceptable, the customer
can modify it and the negotiation goes on until either his request is acceptable or the
customer gives up. Two conditions are veried on the customer request: (i) the time
window must be large enough, according to the length of the travel, and (ii) there must
be a sucient time interval between the request time treq (i) and the beginning of the
time window b(i):
e(i) ; b(i)
l(o(i); d(i); b(i))
b(i) ; treq (i) K
Parameters and K are tuned o-line by simulation, as shown in section 4. Because
of the min-max objective function, if the solution has a Los value not greater than ,
all customers perceive a level of service not worse than , and the requirement about
the minimum guaranteed level of service is met.
At the end of the negotiation no information is given to the customer about which vehicle will serve him. Otherwise the algorithm would be prevented from re-optimization
of customer allocations, that can be very useful in case of unpredicted delays. Moreover
no information is given about the moment in which a vehicle will come: the customer
is supposed to be ready to leave his origin at any moment inside his time window.
In the denition of the level of service no distinction is made between the time spent
waiting for the vehicle and the time spent on board.
3 The algorithm
In addition to the NP-hardness of the problem, the optimization of a dynamic dial-aride system is time-critical because it must be performed on-line and repeated every
time signicant variations of some data occur: for instance when a new request comes
from a customer, when an appointment with a customer at a pickup point is missed,
or when a vehicle is late for some inconvenience. Therefore we seek for approximation,
not for optimization.
In order not to recompute the solution from scratch, we use an iterative algorithm,
based on local search, rather than a constructive one.
The approximation algorithm is interfaced with a simulator, to tune all necessary
parameters o-line (number of vehicles, , K , and some others).
We decompose the dial-a-ride problem into the two subproblems of partitioning the
customers in a number of subsets equal to the number of vehicles and of routing each
vehicle through the pickup and delivery points of the customers in its subset. The
two subproblems are solved alternately as in many well-known two-phases algorithm,
like the cluster-and-locate heuristics for the P-median or other multi-source location
problems [4] [7].
The overall structure of our system is illustrated in gure 1. A partitioning procedure
receives in input the current positions of the vehicles, the state of the network and the
list of pending customers requests and computes the allocation of customers to vehicles;
a routing procedure receives in input the allocations and the state of the network and
solves a routing problem for each vehicle.
Simulator. The simulator updates the vehicles positions and the state of the net-
work, varying the weights of the arcs acccording to the trac conditions of the roads,
and it appends new customer calls to the list. It also allows to simulate some details
like the time required by customers to get on and o, that can be signicant in case of
persons with reduced mobility. The simulation of incoming customer calls includes the
negotiations, that can be managed interactively, with the intervention of the human
operator, or automatically. The simulator represents a monitoring system that samples
the network, the vehicles and the customer calls at a given frequency. The higher the
sampling frequency is, the most accurate the solution is, but on the other hand the
real-time constraints tend to become more critical; with lower sampling frequency the
algorithm is allowed to spend more time in computing an updated solution but it is
less reactive to the events.
Routing procedure. An important feature of our system is that we leave the drivers
free to decide their own routes through the city. What the algorithm computes is just
an ordered sequence of pickup and delivery points to be visited, not the detailed route
7
Partitioning algorithm
6
Allocations
Routes
Vehicles
positions
State of the
network
Customers
requests
Simulator
Final
routes
State of the
network
Customers
requests
?
Routing algorithm
negotiation, to reduce the probability that later requests ask for earlier service.
For the same reason, the routing procedure does not consider the requests that specify
time windows very far in the future, even if they are among the rst C in the list
of pending requests. Through these assumptions, that limit the size of the routing
subproblem, it is possible to solve it at optimality. The computing time is heavily dependent on the value of C : lower values of C yield faster computation but less accurate
solutions. Not surprisingly the most critical instances are those in which many time
windows overlap.
In the remainder we describe the branch-and-bound algorithm.
Branching. A partial solution is a path from the current position of the vehicle to one
of the pickup or delivery points to visit. A partial solution can be extended by adding
another pickup or delivery point after the last one in the path. This is done in all
possible ways according to precedence and capacity constraints.
Upper bound. When the set of the customers allocated to the vehicle is dierent from
that of the previous iteration, a greedy algorithm computes a feasible solution, which
provides an initial upper bound. If the set of customers is the same, the initial upper
bound is given by a new evaluation of the optimal solution computed in the previous
iteration. In both cases the upper bound is updated as long as better solutions are
found by the branch-and-bound algorithm.
Lower bound. The lower bound associated to each partial solution is computed as
follows: for each customer i allocated to the vehicle an estimate of his level of service,
los(i), is computed: it is the optimal value that los(i) would have if customer i were
the only one to be served by the vehicle. This can be computed in polynomial time
by the shortest paths from the current position of the vehicle to o(i) and from o(i) to
d(i), if the customer is not yet on board, or by the the shortest path from the current
position of the vehicle to d(i), if the customer is already on board. The lower bound is
the maximum estimate for the customers allocated to the vehicle.
Searching. The search tree is explored by depth-rst-search strategy.
Shortest paths without U-turns. The computation of the optimal route implies
the repeated computation of shortest paths from each pickup or delivery point in
the sequence to the next one. Unfortunately the concatenation of shortest paths can
produce routes with U-turns, that can be infeasible, expecially in urban context. A
route contains a U-turn when a shortest path ends with arc (i; j ) and the next one
starts with arc (j; i). Figure 2 shows an example.
This problem has never been considered in routing literature. We modied Dijkstra's
shortest path algorithm to solve it with the same time complexity. For each node of
the graph two pairs of labels (minimum cost, best predecessor) are computed: one is
9
'$
&%
'$ '$ '$
&% &% &%
2
A
K
A
A
A
A
A
A
A
U
A
-
Figure 2: A vehicle in node 2 must visit nodes 3 and 1. Route (2,3)+(3,2,1), made
of the two shortest paths from 2 to 3 and from 3 to 1, contains a U-turn in node 3
and is infeasible. Feasible solutions are (2,3)+(3,4,2,1) or (2,4,3)+(3,2,1), that contain
sub-optimal paths.
the same as in Dijkstra's algorithm and the other represents the best path reaching
the node from a predecessor dierent from the best one. For the detailed description
we refer the reader to [10].
local search. It is not constrained, since all "hard" constraints are satised by the
routing procedure. The local search algorithm keeps iterating from one solution to a
better one in its neighborhood until no improvement is found. The neighborhood of a
solution is dened as the set of all solutions that can be obtained from the current one by
removing one customer, already scheduled but not yet on board, from the customers
subset allocated to a vehicle and inserting him into another. Since the number of
possible exchanges is quadratic in the number of customers already scheduled (O(C 2))
and since the evaluation of the new solution require the re-optimization of the two
routes of the vehicles involved in the exchange, the exact evaluation of the complete
neighborhood is very time-consuming. Therefore we limit the search in two ways. First,
for each vehicle only the customer with the worst level of service is exchangeable: this
makes the number of possible exchanges equal to the square of the number of vehicles.
Second, the routes of the vehicles involved are not re-optimized but their new values
are estimated in polynomial time by two heuristic deletion and insertion procedures.
Deletion. The origin and destination of the exchanged customer are deleted from the
route of its vehicle and all the other points in the route are left in the same order. The
route is then evaluated again. This procedure takes O(C ) time.
10
Insertion. The origin and the destination of the exchanged customer are inserted into
the route of a vehicle in all possible ways, respecting the precedence constraint and the
capacity constraint, keeping all the other points in the route in same order. The number
of possible new routes is quadratic in the number of customers already allocated to
that vehicle.
ues of C will be possible only after including in DARIA new ideae on the computation
of shortest paths, cited in section 2.
Number of vehicles P . Obviously the Los value decreases when the number of vehicles
P increases and the marginal improvement tends to zero when P is high. Both in
Crema and in Verbania we observed a critical value P , such that increasing it by one
the improvement is negligible compared to the loss in decreasing it by one. Such critical value increases very slowly with the number of contemporary users, but this eect
may be caused by the necessity of performing the simulations with a limited horizon
C . However we could study the dependency of the level of service on P in Crema: for
instance we could estimate that 5 vehicles with capacity 8 would be a good choice for
a number of overlapping requests up to 30.
Capacity. The advantage in using vehicles with larger capacity was clear in problem
instances with many overlapping time windows and a few vehicles. When the number
of vehicles increases larger capacities give lower advantage. Through our simulations
it was also possible to study the equivalence relationship between fewer vehicles with
greater capacity and more vehicles with smaller capacity, an information quite important for an ecient design of the transportation system.
In the case of Crema we could argue from our simulations that a dynamic dial-a-ride
system could reduce the number of cars per unit time travelling from and to the market
by a factor of 6, and the number of parked cars by approximately 250 cars per time
unit.
5 Developments
Future releases of DARIA will include some additional features. Besides including
time-dependent graphs and hierarchical graphs, the program will give the possibility
to manage requests made by groups of customers who want to travel together, and to
use vehicles with dierent capacities and speeds.
Possible improvements to the algorithms will be given by best-rst-search instead of
depth-rst-search in the routing algorithm and by more sophisticated neighborhoods
in the partitioning algorithm.
The simulator will also be enriched with the representation of trac lights and queues.
Finally a graphical interface will be added.
Acknowledgements
The authors are grateful to Matteo Venturelli, who performed the computational tests.
12
References
[1] Colorni A., Laniado E., Vittadini M.R.
Il progetto ProntoBus in Val Nure
Terra, 1990 [in Italian].
[2] Assessment of innovative urban transport option: the AIUTO project
Colorni A. editor, MIP - Politecnico di Milano
Final Report CEC, DG VII, 1999.
[3] Colorni A., Righini G.
Optimization techniques for a dial-a-ride transportation system in urban environment
Report 93.051, Dipartimento di Elettronica e Informazione, Politecnico di Milano, presented at the VIth Workshop on Public Transport, Lisbon 1993.
[4] Cooper L.
Heuristic methods for location-allocation problems
SIAM Review 6 [37-53], 1964
[5] Liaw C.F., White C.C., Bander J.
A decision support system for the bimodal dial-a-ride problem
IEEE Transactions on Systems, Man and Cybernetics Part A: Systems and
Humans 26(5) [552-565], 1996
[6] Maoli F., Righini G.
An annealing approach to multiresource allocation problems in Euclidean
spaces
Location Science 2 [205-222], 1994
[7] Maranzana F.E.
On the location of supply points to minimize transport costs
Operations Research Quarterly 15 [261-270], 1964
[8] Righini G.
Annealing algorithms for multisource absolute location problems on graph
Computational Optimization and Applications 7 [325-337], 1997
[9] Righini G.
Documentazione del programma DARIA - versione 1.0
Note del Polo - Rapporti Interni, 1999, Polo Didattico e di Ricerca di Crema,
Universita degli Studi di Milano. [in Italian]
[10] Righini G.
Shortest paths without U-turns
Note del Polo - Ricerca 9, 1998, Polo Didattico e di Ricerca di Crema, Universita degli Studi di Milano.
13
[11] Righini G.
Bidirectional Dijkstra's algorithm
Note del Polo - Ricerca 14, 1999, Polo Didattico e di Ricerca di Crema, Universita degli Studi di Milano.
[12] Ruland K.S., Rodin E.Y.
The pickup and delivery problem - Faces and Branch-and-Cut algorithm
Computers and Mathematics with Applications 33(12) [1-13], 1997
[13] Solomon M.M., Desrosiers J.
Time window constrained routing and scheduling problems
Transportation Science 22(1) [1-13], 1988
[14] Uchimura K., Saitoh T., Takahashi H.
The dial-a-ride problem in a public transit system
Electronics and Communications in Japan, Part III: Fundamental Electronic
Science 82(7) [30-38], 1999
14