The Vehicle Routing Problem With Multiple Use of Vehicles
The Vehicle Routing Problem With Multiple Use of Vehicles
net/publication/221704650
CITATIONS READS
75 611
1 author:
Bernhard Fleischmann
Universität Augsburg
111 PUBLICATIONS 1,849 CITATIONS
SEE PROFILE
All content following this page was uploaded by Bernhard Fleischmann on 05 June 2018.
Bernhard Fleischmann
c Bernhard Fleischmann, Universität Augsburg, 1990, 2010
Abstract
We consider the single-depot VRP with a limited heterogeneous fleet of vehicles,
where every vehicle can run several tours within a limited time of use. In addition,
customer time window constraints are included. We extend the parallel savings pro-
cedure to this case and report on computational experiences with large-scale real-life
delivery problems.
1 Introduction
The vehicle routing problem (VRP) consists in designing routes or tours from and
to a central depot which service a set of customers with given demands, where every
tour is restricted by the vehicle capacity and / or a maximal duration, and the
total distance, travel time or cost is to be minimized. One of the most important
situations where the VRP occurs in practice, is the delivery of consumer goods for
daily varying customer sets and demands, requiring daily routing. However, this
problem typically involves additional complications which are not considered in the
VRP and the usual solution methods:
(a) There is a given fleet of vehicles of different types with, of course, a limited
number of vehicles.
1 Introduction 2
(b) A vehicle that returns from a short tour may be used a second or third time.
This is important in urban areas, where the vehicle capacity is the limiting
factor and travel times are rather short.
(c) There are time window constraints with respect to the arrival time at certain
customers.
While the extension (c), the vehicle routing and scheduling problem with time win-
dows (VRSPTW), has been studied intensively in the recent literature [6,8,18,19,20],
there is little work on problem (a) and nearly none on problem (b).
The best way to deal with problem (a) is the method of Fisher and Jaikumer [9],
the only one that guarantees a feasible solution, if any, for a given fleet by solving
a general assignment problem. However, this method does not apply to problem
(b) which involves a two-stage assignment of customers to tours and of tours to
vehicles. The usual heuristics, in particular the Savings procedure (SP) in its
basic form (see e.g. [2,17]) assume an unlimited homogeneous fleet. Extensions to
fleet restrictions have been considered already in the original paper of Clarke and
Wright [5], but rarely in the later literature [7], except for short comments, e.g. in
[4,15 p. 193 f].
The lack of theory on problems (a) and (b) is the more surprising, as most com-
mercial software packages cover these problems using the Savings procedure [3,12],
but with unpublished details. The most common way, as we know from authors of
software, seems to be a two-phase iterative procedure: First, a standard VRP is sol-
ved, and in the second phase the resulting tours are assigned to the vehicles. If there
is no feasible assignment, the VRP is repeated in total or partially with reduced
time and/or capacity limits. This is also proposed in the case report [11]. Another
way is the sequential Savings procedure, which can construct the tours vehicle
by vehicle, but which is known for its poor performance compared to the parallel
procedure [16 p. 16ff].
The main subject of this paper is the problem (b), the vehicle routing problem
with multiple use of the vehicles (VRPMU). It always includes problem (a) and
may also include time windows. We propose a method that integrates all restrictions
relevant to (a), (b) and (c) into a one-phase parallel SP called Savings procedure
for multiple use of vehicles (SPMU). For the practical problems considered (see
Section 6) with up to 360 customers per day, a SP seems to be most appropriate due
to its low computational effort. It works for any definition of the savings function
which reflects the objective of the VRP. When daily scheduling a given fleet, however,
the most important objective is total distance.
2 A Framework for the Savings Procedure 3
The next section summarizes the necessary notations and terms for the VRP and
the basic SP. Section 3 explains a concept for considering a given fleet. Section 4
extends this concept for the multiple use of vehicles and presents the SPMU. Section
5 shows how to include time windows into the SPMU. Section 6 reports on several
applications and numerical results.
The capacities and demands may be vectors with several components such as weight,
number of pallets, etc. The distances and travel times are supposed symmetric. Note
that their definition is ambiguous in a road network with speeds varying from arc to
arc, as they cannot be minimal at once. The most realistic definition is to determine
tij as the shortest travel time from i to j and dij as the length of the corresponding
path. In the following, we assume the reader to be familiar with the savings heuristic
(see e.g. [2,4;5] and for implementation techniques [13,17]). We only outline the main
steps and introduce the notations which are required for the extensions in the next
sections.
The SP starts with the schedule S0 consisting of all shuttle tours. The current
schedule S is changed by the following basic operation: Let i and j be the first or
last customers of two different tours T1 , T2 ∈ S. Then T1 and T2 are replaced by the
combined tour which links i and j,
T ∗ = T1 (i)0 × T2 (j)
This operation yields the savings C(i, j) = d0i +d0j −dij with respect to distance and
analogous savings with respect to travel time. The definition of the savings function
C(i, j), which determines the order of carrying out the basic operations, is the only
part of the procedure, where the overall objective function of the VRP is taken into
account. According to different possible objectives (minimal distance, time, number
of vehicles, cost) there are different definitions of the savings function proposed in
literature [2]. Moreover, perturbations of shape parameters can be used to generate
several solutions, from which to choose the best one [13,16,17]. In the following, we
admit any appropriate savings function C(i,j). But it should be a function of i, j only
and not depend on the current schedule. Otherwise, one has to update the savings
during every iteration, so that the main advantage of the SP gets lost.
Initial step
S = S0 ; order all pairs (i, j) (i = 2, . . ., n; j = 1, . . ., i − 1) from largest to smallest
values C(i, j).
Iteration
(a) Proceed to the next (i, j) such that i and j are the first or last customer in
different tours T1 , T2 ∈ S.
(b) If the tour T ∗ = T1 (i)0 × T2 (j) is feasible, go to step (c), otherwise to the next
iteration.
(c) S = S ∪ {T ∗ }\{T1 , T2 }.
The algorithm terminates in step (a), if all (i, j) have been processed.
A major deficiency of the basic savings algorithm is that it does not take into account
the available fleet of vehicles. For this purpose, one has to ensure, in step (b), not
only the feasibility of the single tours T , but also the feasibility of the schedule S
3 Considering a given fleet of vehicles 5
as a whole, with respect to the fleet. In the next section, a concept of feasibility is
proposed for the sequence of schedules occuring in the savings algorithm.
However, this definition is not useful in the SP, because the initial schedule S0 which
requires a separate vehicle for every customer, is infeasible in all realistic situations.
Therefore, the feasibility of S cannot be postulated at every iteration of the algo-
rithm. One possible way to overcome this difficulty, proposed in [4,7,15] is to assign
only the combined tours, which arise in step (b), to the vehicles. Then, the parti-
al schedule consisting of all tours with at least two customers can be kept feasible
during the whole algorithm, but all schedules, incl. the final schedule, may contain
unassignable shuttle tours. This procedure has the major disadvantage, that already
in early iterations, as soon as the number of combined tours equals the number of
vehicles, favourable combinations among shuttle tours are blocked. Retrying blocked
combinations at every iteration improves the solution, but increases the effort dra-
stically, compared to the basic SP. And even then, the result may be very poor,
because the order of the combinations deviates from the order of decreasing savings.
Another way of relaxing the feasibility restriction for the intermediate schedules,
which is already proposed by Clark and Wright [5] is to assume an unlimited number
of vehicles of the smallest size. We generalize this idea for the VRP and in the
next section for the VRPMU. At the beginning, we introduce an appropriate set
of fictitious vehicles, which render the initial schedule S0 feasible. The range
of capacities of the fictitious vehicies is that of the real capacities Q1 , . . ., Qm . At
any iteration, we impose the feasibility condition on the schedule S, that for any
v the number of fictitious vehicles of size Qv or greater, required for schedule S
must not increase. This restriction is very weak at the early iterations, when most
combinations improve the feasibility, but strengthens gradually, when the tour sizes
approach the vehicle sizes. Once a feasible schedule is reached, i.e. all fictitious
vehicles are removed, feasibility is maintained up to the end. Of course, like any
savings heuristics, this procedure does not guarantee that feasibility is reached at
3 Considering a given fleet of vehicles 6
If the vehicles can be used once only, the feasibility condition can be implemented
easily without constructing an explicit assignment v(T ) using the following lemma.
We order the vehicles according to decreasing capacity:
Q1 ≥ Q2 ≥ . . ., Qm .
(If the capacity is a vector, we assume, that the order is identical for all components;
this is a realistic assumption about the vehicle sizes.) Moreover, we group the vehicles
into classes of identical size, say
i.e. Qv = Qvc for all v ∈ Vc . For any tour T ∈ S, the class of the smallest feasible
vehicles is
Lemma
(a) A schedule S is feasible, if and only if
(b) The number of fictitious vehicles of size Qvc or greater, required for S, is
Proof
4 Multiple use of the vehicles 7
The numbers Nc (S) need to be determined only for the initial schedule. They can
be updated at every change of S in step (c) of the SP as follows:
−1 for c ≥ max(c(T1 ), c(T2 ))
Nc (S) = Nc (S) + 1 for c(T ∗ ) ≤ c < min(c(T1 ), c(T2 )) (6)
0 otherwise.
Therefore, the feasibility condition is satisfied, if Nc (S) does not increase beyond
the present value of Fc (S).
In the whole, the consideration of the given fleet requires the following supplements
to the basic SP:
In the initial step:
Determine c(T ) for all T ∈ S0 , Nc (S0 ) and Fc (S0 ) according to (2), (3) and (6),
respectively.
Fc (S) = max(Fc (S) − 1, Fc−1 (S)) (c = max(c(T1 ), c(T2 )), . . ., m). (7)
X
(t(T ) + t0 ) ≤ umax + t0 for v ∈ V and (8)
T :v(T )=v
A similar assignment procedure is used by Matthäus [15, p.190f], but only for the
combined tours, as explained in section 3.
In order to enforce a feasible assignment for the initial schedule S0 , we again in-
troduce fictitious vehicles and minimize their number using the above assignment
heuristic. As soon as a fictitious vehicle becomes idle during the savings procedure,
it is withdrawn. The feasibility condition, which is checked before every combina-
tion, is simply that the new schedule admits an assignment to the current set of
vehicles. Thus, like in the procedure of the previous section, the number of fictitious
vehicles never increases, except for the initial step. The fictitious vehicles are num-
bered v = m + 1, . . ., m + m̃ and augment V and the appropriate classes Vc . In the
assignment algorithm, they are scanned after the real vehicles of the same class.
4 Multiple use of the vehicles 9
In the whole, the SPMU requires the following supplements to the basic SP:
m̃ = m̃ + 1; v = m + m̃; c = c(T );
Qv = Qvc ; Vc = Vc ∪ {v}; V = V ∪ {v};
v(T ) = v; uv = t(T ) + t0
Test 2: Search for a vehicle v 0 (T ∗ ) for T ∗ , using one iteration of the assignment
algorithm. If it is found, go to Step (c).
v(T ) = v 0 (T ) (T ∈ S);
uv = u0v (v ∈ V );
The sorting of the tours T of the current schedule according to increasing c(T )
and decreasing t(T ), as required by the assignment algorithm in step (b), can be
accomplished easily, starting from an initial sorting of the tours T ∈ S0 : At every
combination in Step (c), T1 and T2 are removed and T ∗ is inserted into the current
order.
The ability of the SPMU to create a feasible solution in case of tight vehicle capacity
can be improved by strengthening the feasibility condition. It may happen that a
fictitious vehicle, charged with a small tour only, is reloaded with additional tours
or customers. This augmented infeasibility can be avoided by controlling not only
the number of fictitious vehicles, but also their load, which can be expressed by the
number FC of customers supplied by the fictitious vehicles. The additional condition
is, that FC must never increase. The implementation of this rule in the SPMU is
easy: In the initial step, the starting value of FC is registered; in the Tests 1 and
2, the tour T ∗ can be assigned to a fictitious vehicle only if both v(T1 ) and v(T2 )
are fictitious. In Test 3, the corresponding number FC’ is registered for the new
assignment v 0 (T ); a tour is assigned to a fictitious vehicle only, if the number of its
customers does not exceed F C − F C 0 . In step (c), FC is updated.
5 Time windows
Time window constraints cause additional difficulties for scheduling the repeated use
of vehicles. However, the SPMU can be well extended to this case. We explain the
main ideas of the algorithm, which has been used for some of the results in Section
6, but suppress straightforward details of the implementation. For simplicity, we
consider only a single time window per customer; the extension to several time
windows is easy. We then need the following additional data:
ai , b i time window of customer i (earliest and latest arrival time at the
customer),
Av , Bv time window of vehicle v (earliest start of the first tour, latest end
of the last tour),
wmax maximal waiting time per tour.
The time window constraints restrict the feasibility of both the single tours and the
whole schedule. The first aspect, the check on the feasibility of the combined tour T ∗
in SP, has been dealt with frequently in literature, see e.g. [6,8,18] for the parallel
and [20] for the sequential SP. Similarly, we record the following variables for all
tours T ∈ S and the reverse tours T 0 :
5 Time windows 11
a(T ), b(T ) time window of tour T (earliest and latest arrival at the first custo-
mer)
w(T ) waiting time of tour T
k(T ) ’kernel time’ (duration of the tour without travel time from and to
the depot and without waiting time).
T 0 is feasible w.r.t. the time windows if a(T ) ≤ b(T ) and w(T ) ≤ wmax . The initia-
lization for a shuttle tour T = (i) is
The feasibility of a schedule S now involves not only an assignment of the tours to
the vehicles, but also a feasible sequence of all tours assigned to the same vehicle.
S is feasible if, for T ∈ S, there exists an assignment v(T ) satisfying (8) and starting
times
such that
where i is the first customer of T , and for any v ∈ V and {T1 , . . ., Tz } = {T : v(T ) =
v}
5 Time windows 12
Av ≤ ST (T1 ) (10)
ST (Tp ) + t(Tp ) + t0 ≤ ST (Tp+1 ) (p = 1, . . ., z − 1) (11)
ST (Tz ) + t(Tz ) ≤ Bv (12)
ST (Tz ) + t(Tz ) ≤ ST (T1 ) + umax . (13)
Note that the starting times ST (T ) are related to the assignment v(T ) and change
with it, whereas the time window a(T ), b(T ) and the waiting time w(T ) are fixed
properties of the tour T . The starting time ST (T ) has to be determined in the
assignment algorithm simultaneously with v(T ). An easy way to do that would be
to append every tour as the last tour to those tours already assigned to the same
vehicle. But this works only, if the tours are considered in the order of their time
windows, which may be quite different from the FFD-order, and gives poor results,
to our experience. It is preferable to use the order of the tours as in the assignment
algorithm in Section 3 and to insert the current tour at an appropriate position, as
follows:
Note that the assignment algorithm is used in Test 3 to produce preliminary starting
times ST 0 (T ) only, like the assignment v 0 (T ). Only if a complete assignment has been
established successfully, ST 0 (T ) and v 0 (T ) replace the current ST (T ) and v(T ). The
above procedure is also used for determining ST (T ∗ ) in Test 2. In Test 1, T ∗ ’ is
inserted on vehicle v(Ti ) (i = 1, 2) at the position of the (withdrawn) tour Ti only.
Finally, we improve the sequence of customers within all tours of the final schedule
using the OROPT procedure as described in [19]. The criterion is distance, but we
impose the additional restrictions on the tour T to be improved that (i) the travel
time must not increase and (ii) a(T ), b(T ) remain within the limits given by av and
the preceeding tours, bv and the following tours, respectively, the latter being shifted
to the right, if necessary. The tours within a vehicle are processed from the last one
to the first one.
Table 1 summarizes the characteristics of the three cases. In all cases the multiple
use of the vehicles is very important, the average number of tours per vehicle being
at least 1.6, a typical situation for deliveries in an urban area such as Berlin or the
Rhein-Ruhr area. In the Duisburg case, this ratio is even nearly 3, as most tours are
very short (107 minutes in the average); this is due to a small number of customers
per tour and to the use of containers allowing for short unloading times.
Time windows occur only in the Duisburg and Dortmund cases. In the former, about
two thirds of the customers receive fresh products which are to be delivered by 9.00
a.m. within a time window of 2 or 3 hours. In the latter, nearly all customers have
a time window with an average length of 4.5 hours or two time windows, one in
the morning and one in the afternoon. The tightness of the time windows, i.e. the
ratio of the average time window length per customer over the total time horizon,
6 Application and Results 14
as defined in [6,20], is about 50% in both cases. Note that the time horizon (13.5
hours) is longer than the maximal time of use of a vehicle (10 hours). These time
window structures are quite different from those generated at random [18,20]. We
found that they can be well satisfied without waiting times, so we set wmax = 0.
Then there is no necessity for considering the time windows in the Savings function,
as proposed e.g. in [6].
and
The OROPT procedure yielded a reduction or 2.4% in distance and 1.1% in travel
time in the average in the Berlin case. In the other case no remarkable improvements
occurred because of the low number of customers per tour.
Table 2 compares the results of the SPMU with the standard parallel SP. The latter
was used iteratively to consider the multiple use of the vehicles, in two different
ways: First, we used a commercial VRP package which assigns the resulting tours
to the existing vehicles, one by one as far as possible, but allows for easy interactive
correction of the schedule, in particular switching customers between tours and fixing
or dissolving tours for a further iteration. This work, which was carried out by a
well-skilled student, took about half an hour for the final schedule of one day; it
is documented in [1]. As this procedure is difficult to follow, we automated it in
the following way: A schedule for the single use of the vehicles is determined as in
section 3, the tours are assigned to the vehicles using the assignment algorithm of
6 Application and Results 15
section 4, the tours in the fictitious vehicles are dissolved and rescheduled in the next
iteration where tmax is reduced to the maximum free time of any (real) vehicle. The
results are worse in any aspect than those of the interactive procedure, indicating
that the latter has been well performed. However, the extended savings procedure
still reduces the total distance by about 7%, with nearly no change in the other
criteria. The reason is, that it selects the best savings that still admit a feasible
schedule, as opposed to the iterative fixing and dissolving of tours.
Table 4 shows the computational effort (without OROPT) for selected problems
needed by the implementation in MS-Fortran on a Siemens PC with a 386/387 16
MHz processor. The computation times not only depend on the size of the problem
but also on the occurence of time windows and on the number of times a new
asignment of tours to vehicles is constructed; this equals to the number of successful
Tests 3 plus the number of rejected combinations due to unassignable tours. The
number of rejections also indicates the difficulty of the problem with respect to the
vehicle assignment and the importance of the SPMU compared to the SP. In this
sense, the Berlin and the Dortmund case are rather difficult, and the Duisburg case
is easy because its short tours admit many assignments.
Conclusions
We have developed an algorithm for the VRPMU which is based on the SP. It is dis-
tinguished by the integration of all necessary feasibility checks and the assignment
of tours to vehicles into a parallel procedure, which outperforms a multi-phase or
sequential SP. It yields satisfactory results for large-scale practical delivery problems
at low computation time. It also works well in case of time window constraints, at
least for the typical clustered time windows of delivery problems, although some
authors report on poor performance of the SP for the VRSPTW with randomly ge-
nerated time windows [18]. However, a definitive evaluation of the algorithm requires
further computational studies.
7 REFERENCES 16
7 REFERENCES
1. J. Binsfeld, Erprobung eines Verfahrens zur Bestimmung des optimalen Fuhr-
parks anhand eines Praxis-Falles. Diplomarbeit, Institut für Unternehmens-
forschung, Universität Hamburg (1989).
3. M.A.G. Bocxe and C.B. Tilanus, Testing vehicle scheduling programs for milk
collection (case study). European Journal of Operational Research 20, pp. 25-
33 (1985).
10. M.R. Garey and D.S. Johnson, Approximation algorithms for bin packing pro-
blems: a survey. In: Analysis and design of algorithms in combinatorial opti-
mization, G. Ausiello and M. Lucertini (eds.), pp. 147-165. Springer-Verlag,
Wien New York (1981).
11. B. Golden, A. Assad and R. Dahl, Analysis of a large-scale vehicle routing pro-
blem with an inventory component. Working paper MS/S 84-015, University
of Maryland, College Park (1984).
7 REFERENCES 17
17. H. Paessens, The savings algorithm for the vehicle routing problem. European
Journal of Operational Research 34, pp. 336-344 (1988).
18. M.M. Solomon, Algorithms for the vehicle routing and scheduling problem
with time window constraints. Operations Research 35, pp. 254-265 (1987).
19. M.M. Solomon, E.K. Baker and J.R. Schaffer, Vehicle routing and scheduling
problems with time window constraints: efficient implementations of solution
improvement procedures. In: Vehicle routing: methods and studies. B.L. Gol-
den and A.A. Assad (eds.), pp. 85-105. North-Holland, Amsterdam (1988).
20. H.R.G. van Landeghem, A bi-criteria heuristic for the vehicle routing problem
with time windows. European Journal of Operational Research 36, pp. 217-226
(1988).
A Table 1. Characteristics of the three cases
Case Berlin Duisburg Dortmund
Problems 20 10 5
Customers
average per day 241 314 95
maximum per day 303 361 109
average per tour 19 2.8 3.8
maximum per tour 52 9 11
Time Windows
% customers 0 64 97
% tightness 0 46 50
Fleet
vehicles 9 42 18
vehicle classes 6 3 14
min.-max. capacity 1030-9020 kg 27-45 Contain. 2940-22500 kg
Tours
average per day 13 114 24
maximum per day 19 131 29
average per vehicle 1.8 2.9 1.6
maximum per vehicle 4 5 3
Utilization
% of capacity 88.3 94.4 83.5
% of time 92.1 64.3 77.8
% of vehicles 84.4 91.9 81.5