A Decision Support System for a Multi-trip Vehicle Routing Problem
with Trucks and Drivers Scheduling
Nilson F. M. Mendes and Manuel Iori
Departament of Sciences and Methods of Engineering, Universit
`
a degli Studi di Modena e Reggio Emilia,
Reggio Emilia, Italy
Keywords:
Decision Support System, Optimization, Vehicle Routing, Scheduling.
Abstract:
Many real-world transportation problems can be modeled as variants of the well-known vehicle routing prob-
lem (VRP), where a fleet of vehicles based at a central depot is used to deliver freight to clients at a minimum
cost. Frequently, the problems defined in the VRP literature and the corresponding solution algorithms do not
catch all the problem features incurred by the companies in their every-day activity, and further flexibility is
needed during the decision process to make adjustments on the fly. In this paper, we present a decision support
system developed for an Italian pharmaceutical distribution company to deal with a Multi-Trip VRP character-
ized by additional constraints and Truck and Driver Scheduling. The problem is solved in the software with a
two-phase algorithm: the first phase consists of an Iterated Local Search metaheuristic that defines the vehicle
routes, whereas the second phase invokes a mathematical model to assign trucks and drivers to the routes.
The software allows, between the two phases, changes in the solution to better fit the company requirements.
Computational results prove the effectiveness of the proposed method.
1 INTRODUCTION
Vehicle Routing Problems (VRP) are a traditional and
well studied topic in Operations Research and Man-
agement Science. The process of defining efficient
and convenient routes is one of the main concerns for
a large number of companies, and it can lead to sig-
nificant losses when it is not performed accurately. In
such field, developing a good Decision Support Sys-
tem (DSS), capable of satisfying all requirements and
covering all relevant characteristics of the real prob-
lem at hand, is not an easy task. Despite the vast
literature dealing with different VRP types, finding
a variant that exactly describes the operations of a
company is also difficult. Most of the times, even
state-of-the-art algorithms are not satisfactory in de-
livering good real routes, due to unrealistic assump-
tions, lack of information, too optimistic or determin-
istic approaches or simply because they are not flexi-
ble enough to provide alternatives when the best solu-
tion is not approved by the decision maker. Conscious
of this situation, companies are always looking for al-
ternatives that could give them a better (or more ro-
bust) approximation, of even hiring professionals or
software houses to developed custom softwares that
exactly fit their needs.
In this paper, we describe a branch of a DSS that we
are developing for an Italian company specialized in
the storage and distribution of pharmaceutical prod-
ucts. This branch provides a routing plan and a driver
scheduling and assignment for each route. Further-
more, it provides a set of quantitative reports that al-
low one to better analyze the quality and fitness of the
solution obtained. The problem we solve is a Rich
Multi-Trip VRP with Driver and Vehicle Scheduling,
where the term “rich” implies that the problem con-
tains a number of additional constraints with respect
to the basic VRP. The problem derives indeed from
the union of a VRP with Time Windows (VRPTW),
see, .g., (Solomon, 1984), and a Multi-Trip Vehicle
Routing and Scheduling Problem (MTVRSP), see,
e.g., (Brandao and Mercer, 1997), but also includes
additional constraints defined by the distribution com-
pany. In short, the aim is to create a minimum-cost
one-week routing plan to deliver products to a set
of clients by using a heterogeneous fleet of vehicles
based at a central depot, while satisfying clients ser-
vice time windows, vehicle and drivers incompatibil-
ities, driving regulation, and presence of intermediate
depots.
The contributions of this work are multiple: we
clearly describe an optimization problem derived
Mendes, N. and Iori, M.
A Decision Support System for a Multi-trip Vehicle Routing Problem with Trucks and Drivers Scheduling.
DOI: 10.5220/0009364403390349
In Proceedings of the 22nd International Conference on Enterprise Information Systems (ICEIS 2020) - Volume 1, pages 339-349
ISBN: 978-989-758-423-7
Copyright
c
2020 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
339
from a real-world distribution activity; we solve the
problem by means of a two-phase algorithm; we
present a software architecture that allows for an intu-
itive and quick man-in-the-middle approach to make
the algorithm fully usable within a DSS; we present
a large computational evaluation on a set of realis-
tic instances; and we discuss how the approach can
be replicated to solve other difficult VRP with opera-
tional constraints.
The remainder of the paper is organized as fol-
lows. In Section 2, a short review of the related litera-
ture is provided. In Section 3, a formal description of
the problem and the company vision of it are given.
Next, in Section 4, we describe how the system works
and how the user participates to the solution process.
In Section 5, we describe the solution approach and
then, in Section 6, we computationally evaluate it on
a case study.
2 LITERATURE REVIEW
As aforementioned, the problem that we study in this
paper is a union of a VRPTW, see, e.g., (Solomon,
1984), and a MTVRSP, see, e.g., (Brandao and Mer-
cer, 1997). The VRPTW has a broad and well-studied
literature, and it is included in many MTVRSP prob-
lems. Consequently, we focus our short review on the
MTVRSP literature. We refer the reader interested
in VRPTW and other VRP variants to the books by
(Golden et al., 2008) and (Toth and Vigo, 2014).
Despite the fact that they well model scenar-
ios where short routes are common or desirable,
MTVRSP are relatively new in the literature. While
the traditional VRP was introduced sixty years ago
by (Dantzig and Ramser, 1959), the multi-trip ver-
sion appeared only thirty years after with (Fleis-
chmann, 1990). In such article, the term used was
not even“multi-trip”, but “VRP with multiple vehi-
cle uses”. Other well known characteristics were also
studied in that article, like time windows and hetero-
geneous fleet. The number of vehicles was also lim-
ited, making the use of the same vehicle several times
more desirable.
Six years later (Taillard et al., 1996) proposed a
three phase heuristic for the problem that started by
generating a pool of reasonable routes (first phase)
from which a subset was selected (second phase) and
then assigned to feasible workdays according to a bin
packing-like procedure (third phase).
The first explicit mention to the term “truck
drivers” as a part of the problem name occurred, to
the best of our knowledge, in (Brandao and Mercer,
1997). Such paper considered the driver maximum
working hours in a day as well the needed breaks
during a route. Other features, like unloading time,
vehicle incompatibilities with some clients and the
possibility to hire additional vehicles if the available
ones were not enough, were also taken into account.
To solve the resulting problem, they proposed a tabu
search heuristic. They found good results for in-
stances with approximately 20 vehicles, divided into
two types, and 70 clients. The work was then pursued
by the same authors in (Brandao and Mercer, 1998),
where they discussed a simplified version of an algo-
rithm used in a real-world application, and they re-
ported reductions of about 5% on the delivery costs.
(Campbell and Savelsbergh, 2004) proposed an
efficient insertion heuristic to the basic Vehicle Rout-
ing and Scheduling Problem (VRSP), a MTVRSP
without multi-trips, having polynomial complexity.
(Z
¨
apfel and B
¨
ogl, 2008) presented a heuristic method
to solve an MTVRSP with possibility of drivers out-
sourcing. (Cattaruzza et al., 2014a) proposed a
memetic algorithm and an adaptation of the split pro-
cedure, see, e.g., (Duhamel et al., 2011), to seg-
ment a chromosome into a MTVRP solutions. (Azi
et al., 2014) used an Adaptive Large Neighborhood
Search (ALNS) algorithm to solve a variant of the
MTVRSP problem where visits to some clients could
be avoided.
Just a few papers in the literature developed ex-
act methods to solve the MTVRSP. The first was (Azi
et al., 2010), that made use of a column generation
approach embedded with a branch-and-cut algorithm.
A similar approach was also employed by (Macedo
et al., 2011). A more robust method was provided by
(Mingozzi et al., 2013), where the authors presented
two set-partitioning formulations for the problem, one
having a binary variable for each route and the other a
binary variable for each schedule. Their solution pro-
cedure used bounding methods to reduced the orig-
inal set of routes and schedules. (Hernandez et al.,
2016) also used a similar strategy, but with less re-
finements in the space solution. In (Tang et al., 2015),
a pickup and delivery problem inside an airport was
modeled as a trip-chain-oriented set-partitioning, and
then solved directly using CPLEX.
In 2006, a new regulation about truck drivers was
created in Europe, aiming at giving better job con-
ditions to the workers and rising the safety on the
transportation activity. The EC N
o
561/2001 defined
a large set of rules about drivers work regime like
maximum duration of daily shifts, mandatory breaks,
overtimes, minimum rest time between two shifts and
weekly rests. Among the new rules we can highlight
the minimum rest of 45 minutes after 4.5 hours of
uninterrupted activity (that can be replaced by a 15
ICEIS 2020 - 22nd International Conference on Enterprise Information Systems
340
minutes break after a 30 minutes break within the 4.5
hours) , daily driving time of nine hours (that can be
extended to 10 hours two times per week), at least
11 hours of daily rest and a maximum of 56 hours of
weekly driving time. This regulation entered in force
in April 2007, and right after that digital tacographs
became mandatory in the European Union, allowing
the authorities to check, a posteriori, the drivers work-
ing times. This new scenario motivated several stud-
ies where the driver was individually considered.
The first study considering these new constraints
was presented, to the best of our knowledge, by (Goel,
2009). In this paper, a Large Neighborhood Search
(LNS) is used to create a weekly schedule where all
the rest and break rules are respected. To reduce the
explored solution space, the authors did not consid-
ered overtimes and the 15 minutes more 30 minutes
break possibility.
(Kok et al., 2010), on the other hand, was the
first to consider all the rules presented in the EC N
o
561/2001 regulation and in the Directive 2002/15/EC.
To solve an MTVRP incorporating such features, they
proposed a restricted dynamic programing framework
where clients were sequentially added to the end of
partial vehicle routes. Feasibility of such additions
was controlled by extra state dimensions.
A few years later, (Drexl et al., 2013) proposed a
two-stage method to solve a MTVRSP with the pres-
ence of relay stations where the drivers are allowed
to change a vehicle. The first stage consists in solv-
ing a pickup-and-delivery problem, see, e.g., (Bat-
tarra et al., 2014) and (Doerner and Salazar-Gonz
´
alez,
2014) with time windows and relay stations, whereas
the second consists in soling a VRPTW with multiple
depots.
Two papers deal with a multi-commodity
MTVRSP variant where some commodities cannot
be transported together. The former is by (Battarra
et al., 2009), who introduce the problem and proposes
an adaptive guidance heuristic to solve it, whereas the
latter is by (Cattaruzza et al., 2014b), who describe
an ILS heuristic.
Vehicle routing and scheduling problems are stud-
ied in the context of home healthcare planning by (Al-
gethami et al., 2017), that compares some operators
in a genetic algorithm. In the same path (Algethami
et al., 2019) proposes an adaptive multiple crossover
to the problem.
Some most recent studies in the MTVRSP area
are those by (Masmoudi et al., 2016) and (Benkebir
et al., 2019). The former tests a set of metaheuris-
tics to solve a multi-trip dial-a-ride problem, and the
second proposes a hybrid method composed by a ge-
netic algorithm and a local search for the MTVRSP.
Others relevant study are (He and Li, 2019), where
is described a two-echelon multi-trip VRP in a con-
text of crop harvesting and (Babaee Tirkolaee et al.,
2019) that describes a case study of a multi-trip VRP
applied to an urban waste collection. Further informa-
tion about the MTVRSP can be found in (Cattaruzza
et al., 2016). We also refer to (Lahyani et al., 2015)
as a recent review of the literature on rich VRP.
3 PROBLEM DESCRIPTION
The Multi-Trip Rich Vehicle Routing Problem with
Truck and Driver Scheduling, henceforth refereed to
as MTRVRPTDS, describes a one-week products de-
livery operation. In this problem, trucks and drivers
are individually assigned to each route, considering
driver regulation and operational constraints. The
routes are created trying to minimize the distances,
and must respect the client time windows. Deliveries
can be anticipated (changing from the required day
to the previous day) if it is allowed by the client and
useful to improve the costs of the overall plan.
Formally, let D be a set of days in a week, F a set
of storage facilities, C a set of clients, T a set of trucks
and W a set of drivers. Each client c C has a demand
of O
cd
pallets, on day d D, that must be delivered
inside a time window [α
c
,β
c
]. A service time of S
cd
minutes is required to unload the delivery to client c
in day d, independently of the truck internal organi-
zation of the cargo. Each vehicle t T is driven by a
unique driver w W . Vehicles are grouped in types,
on the basis of their speed V
t
and capacity Q
t
. Drivers
have different contracts and skills. They are allowed
to work at most h hours by day, at most h
week
hours
per week, and they may drive only a subset T
w
T of
the available vehicles, for each w W .
A unique depot is given. This is due to the fact that
the company centralizes all the deliveries of a region
to that depot. The depot is supplied of pharmaceu-
tical products by a regional entity, and it is expected
that all the products are available in the moment in
which they are required by the clients. Each route de-
parts from the unique depot, passes through a subset
of clients, and then returns to the depot. An agreement
between drivers and the company limits the maximum
duration of a route in 8 hours, less than the maximum
daily shift allowed by the ECD 56/2006 which is 9
hours. It is also imposed that the total weekly work-
ing time cannot exceed 40 hours, and that the daily
working extra time is limited to at most 20% of the
maximum daily shift.
Some vehicles cannot be sent to visit some clients
(because they are too big for the road or they do not
A Decision Support System for a Multi-trip Vehicle Routing Problem with Trucks and Drivers Scheduling
341
have enough power to climb a hill). This is taken into
account by considering a set R
t
of clients that can be
reached by vehicle t T .
Each vehicle and driver can be assigned to more
than one route per day. This is possible if the next
route starting time is after the first route ending time
plus the time required to reload the truck or the driver
have a break.
Additionally to the main depots there are, in some
regions, intermediate warehouses that can be supplied
by exclusive routes coming from the main depots.
Those intermediate warehouses receive loads that will
be delivered in the next day to the clients, working
like a buffer. The use of an intermediate warehouse
has a cost E
f
, with f F being an intermediate ware-
house and F being the set of all intermediate ware-
houses.
A missing point about driver regulation that is
not included in the problem definition concerns the
mandatory breaks that drivers should do during the
day and the rests between the days. They were
not considered in the software specification, because
they were considered too operational and quite unpre-
dictable. As reported by one of the employees, as de-
lays or changes in the routes can happen, it could be
hard to stop at the moment defined by the specific se-
quence provided by the DSS, because the driver could
be in a non-safe place. Beside this, it could trigger
some drivers resistance due to the fact that some of
them have already their preferences on where to stop
in each place they use to visit. In any case, we dis-
cuss how these constraints could be included in our
approach below. Regarding the rest between days,
no route should start before 5 AM. If a driver arrives
late at night, the responsible manager would change
the scheduling to avoid this driver to pick a too early
route in the next day. This type of on-the-fly changes
are usual when using DSS to solve optimization prob-
lems.
4 SOFTWARE DATA FLOW
The usability is a very important feature considered
by us to develop this software. It is commonly pointed
out as one of the main factors for the success of a soft-
ware in a company. A poor usability can make DSS
with advanced algorithms and analytic tools unused
due to the resistance of the decision makers to learn
and deal with the system complexity.
To ensure that our DSS is used by the company,
we decided to create a friendly web interface to deal
with the process of loading, visualizing and control
of optimization inputs. More than only providing an
easy-to-learn tool to run an algorithm, this interface
was thought to allow the decision maker to be part
of the solving process and have a clear overview of
solution quality. The application described in this pa-
per is a module inside a larger software belonging to
the same project. This module is divided into two
parts, following the strategy proposed by us to solve
the problem.
The flow starts with the rich VRP input load.
This input consists in three files, one describing the
clients, with all the information about time windows,
demands, service times and vehicle restrictions; the
second describing the type of vehicles available with
its respective average speeds, capacity and number of
units available, and finally the third with the parame-
ters.
The distances between the clients can be
informed by the user in the client file or
evaluated in the system using the LibOSM
(https://github.com/Marcussacapuces91/LibOsm/)
that is part of the Open Street Maps ecosystem and
Lemon (https://lemon.cs.elte.hu/trac/lemon), from
COIN-OR. These libraries together make possible
to calculate real road distance between any pair of
points that corresponds a valid address in a given
region using only a local geo-spatial database. In this
way, it is possible to get all the information needed
without the use of Internet or accessing external web
services.
After all the data are loaded (or calculated, if we
consider distances), the user can start the optimiza-
tion with a click. To solve this part of the problem we
invoke a heuristic algorithm that takes approximately
1 to 3 minutes to converge with instances involving
around 200 clients. Such heuristic is described in de-
tail in (Kramer et al., 2019), and is sketched below
in the next section. The results obtained are a set
of product transfers from a depot to an intermediate
warehouse and a set of delivery routes departing from
the main depot. Each route or transfer has a departure
time and receives a vehicle type assigned to it, but not
information about the driver.
Before proceeding to the next step, the decision
maker can adjust the solution obtained by changing
the departure time, the vehicle type assigned, the
clients in the route and the visit order. After each
change, a solution automatic validation is performed.
If a change leads to an infeasible solution, a rollback
procedure is done and the user is informed with a pop-
up.
To plan an individual driver and truck to each
route the user can proceed in two ways. The first way
is to load route information using Excel files like in
the previous phase. This method is useful when some
ICEIS 2020 - 22nd International Conference on Enterprise Information Systems
342
other persons or systems created the routes, so it is
possible to get some improvement by better using the
resources available. The second way is to load the
first phase solution as input to the second part, and
this can be done with just one click. Next, the user
just needs to insert the information about the drivers
and the details about each vehicle.
The driver and truck assignment is calculated by
solving a mathematical model using a Mixed Integer
Linear Programming (MILP) solver. As in the first
phase, changes in the solution provided by the system
are allowed and checked, as already described. Once
all these steps are finished, the solution remains stored
in the software database and can be visualized in a
dashboard or downloaded in an Excel file.
A last important point to highlight is the tolerance
of the DSS with respect to infeasible solutions. In real
problems, not satisfying all constraints is common.
However, it is not interesting for a decision maker to
simply have no answer after it called a solver. Con-
sidering this, we show any solution obtained at the
end of optimization, treating the typical sources of in-
feasibility as penalizations in the objective functions,
but warning the user about that. A typical situation
of this type occurs when not enough trucks or drivers
are available for the daily deliveries. In this case, the
model incurs in a penalty, the solution is however re-
turned, and the decision maker knows which routes
can be directly performed by the company and which
ones should be postponed to the next day or given to a
third-party logistic operator. The tolerance with infea-
sible solution is not extended to infeasibilities inserted
by the user through solution edition. As aforemen-
tioned, no valid modifications are undone to avoid de-
teriorate a feasible or almost feasible solution.
5 SOLUTION APPROACH
To solve the MTRVRPTDS, we use a two-phase ap-
proach. In the first phase, we use the Multi-Start Iter-
ated Local Search (MS-ILS) metaheuristic developed
by (Kramer et al., 2019). This MS-ILS was originally
developed to solve the same VRP we face in this pa-
per, but without considering multiple-trips neither the
presence of a limited umber of trucks and drivers. We
thus modified this algorithm in the way described be-
low in Section 5.1 to fit with the new characteristics.
In the second phase, the routes created in the previ-
ous phase are given in input to a new mathematical
model, described in Section 5.2, that assigns drivers
and trucks to the routes and defines the effective de-
parting time of each route.
5.1 Multi-start ILS Heuristic
The subproblem solved in the first phase of the
MTRVRPTDS defines a set of delivery routes and
product transfers from main depots to intermediate
warehouses. In this phase, trucks and drivers are not
individualized, but we just define how many vehicles
of each capacity and average speed are used. The
deliveries must be done by satisfying the client time
windows and some of them can be anticipated to the
previous day at the expenses of opening an auxiliary
depot. To solve this problem, we used an adapted ver-
sion of the MS-ILS by (Kramer et al., 2019), where
a penalty is added in the cost function whenever the
number of vehicles of a certain type used is greater
than the number of available vehicles.
The algorithm can be briefly described as follows.
At each iteration, a constructive method creates an
initial route connecting the depot to a hospital (that
are the clients with larger demands in our instances)
and associate the largest allowed vehicle to the route.
After this is done for all the hospitals, the remaining
clients are inserted in the routes created following a
lowest-cost-increase criterion. Time windows viola-
tions are accepted, but penalized.
After creating the initial solution, the algorithm
starts the ILS loop. In this loop, a Randomized Vari-
able Neighrborhood Descent (RVND) algorithm is
used as local search procedure. The RVND selects,
at each iteration, an inter-route neighborhood (from a
list of four) and executes it. If the solution is not im-
proved, then the neighborhood is removed from the
list and the algorithm tries another one. Otherwise,
the list is reinitialized and the algorithm tries to im-
prove the current solution using one of three possible
intra-route neighborhoods. When the list of available
inter-routes neighborhood becomes empty (i.e., after
four not improvement iterations) the method stops.
After the local search has been performed, a pertur-
bation phase is invoked. In this step, a local search
is chosen randomly (from a list of three) to randomly
modify the solution. The ILS method is iterated until
a given number of iterations without improvements is
reached (in our settings, 20 iterations). The multi-start
executes the ILS 20 times.
5.2 Mathematical Model
The subproblem solved in the second phase of the
MTRVRPTDS defines which truck and driver must
execute a route and defines the departure and arrival
times at each client, considering the truck average
speed, the service start time and the time windows. In
some cases, no truck and driver are assigned to a route
A Decision Support System for a Multi-trip Vehicle Routing Problem with Trucks and Drivers Scheduling
343
due to limited resources. In this case, a penalty is ap-
plied in the objective function. The penalty roughly
corresponds to the cost of assigning the route to an ex-
ternal distribution company. We also apply penalties
when a driver works more than her maximum daily
working hours or compatibilities are not satisfied. The
maximum overtime is modeled as a hard constraint, as
well the weekly maximum working hours.
The MILP model uses the following parameters:
DC
w
- Cost of driver w W
DOTC
w
- Overtime hour cost of driver w W
PR - Penalty for route not assigned
TT P - Total daily time (1440)
CST
r
c
- Service time of client c C in the route
r R
TD
r
ab
- Total distance between points a and b in
the route r R
TD
r
- Total distance on route r R
TST
r
- Total service time on route r R
TAS
t
- Truck t T average speed
(TW B
c
,TW E
c
) - Limits of time windows of
client c C
E
r
- Set of routes segments in the route r R
C
r
- Set of clients in the route r R
D
r
- Day in which the route r R is executed
LT - Truck loading time
R
d
- Routes in the day d D
DMH
w
- Daily maximum working hours of driver
w W
W MH
w
- Weekly maximum working hours of
driver w W
FWC
wc
- Equals to 1 if it is strictly forbidden to
assign the driver w W to routes containing the
client c, equals to 0 otherwise
FTC
tc
- Equals to 1 if it is strictly forbidden to as-
sign the truck t T to routes containing the client
c, equals to 0 otherwise
FTW
tw
- Equals to 1 if it is strictly forbidden to
assign the driver w W and the truck t T to the
same route, equals to 0 otherwise
SOFT FWC
wc
- Equals to 1 if it is not desirable
to assign the driver w W to routes containing the
client c, equals to 0 otherwise
SOFT FTC
tc
- Equals to 1 if it is not desirable
to assign the truck t T to routes containing the
client c, equals to 0 otherwise
SOFT FTW
tw
- Equals to 1 if it is not desirable
to assign the driver w W and the truck t T to
the same route, equals to 0 otherwise
The equations (1) to (31) defines the model proposed.
All the variables that represents time instants or inter-
vals as well the temporal parameters are expressed in
minutes. Every time the characters f and l appear as a
client-index in the model, they represent the first and
last clients of the route.
Min
wW
dD
(sig
wd
DC
w
+ DOTC
w
pun
wd
)
+PR ncr
r
+ penComp
(1)
Subject to
wW
x
wr
+ ncr
r
= 1 r R
(2)
iT
y
ir
+ ncr
r
= 1 r R
(3)
max(TW B
c
,ac
cr
) bc
ir
r R c C
r
(4)
bc
cr
+CST
r
c
dc
cr
+ ncr
r
T T P
r R, c C
r
(5)
dc
cr
+
iT
y
ir
T D
r
c1,c2
/TAS
i
ac
c2,r
r R, (c1,c2) E
r
(6)
dc
dep,r
(bc
ls
+CST
s
l
+
iT
y
is
T D
s
l,dep
/TAS
i
)
(ro
rs
1) T T P + LT r, s R|D
r
6= D
s
(7)
x
wr
+ x
ws
ro
rs
+ ro
sr
+ 1 r, s R, w W
(8)
y
ir
+ y
i
s ro
rs
+ ro
sr
+ 1 r, s R, i T
(9)
rR
d
x
wr
|R| sig
wd
w W, d D
(10)
Ua
wd
dc
f r
+ T T P (1 x
wr
)
w W, d D ,r R
d
(11)
Ca
wd
+ T T P (1 x
wr
)
dc
lr
+
iT
y
ir
T D
r
l,dep
/TAS
i
w W, d D ,r R
d
(12)
Ca
wd
U a
wd
DMH
w
+ pun
wd
w W, d D
(13)
ICEIS 2020 - 22nd International Conference on Enterprise Information Systems
344
dD
(Ca
wd
U a
wd
) W MH
w
w W
(14)
x
wr
(1 FWC
wc
)+
(1 FWC
wc
) wcp
wc
SOFT FWC
wc
w W, c C
r
(15)
y
ir
(1 FTC
ic
)+
(1 FTC
ic
) tcp
ic
SOFT FTC
ic
i T ,c C
r
(16)
x
wr
+ y
ir
(2 FTW
iw
)+
(2 FTW
iw
) twp
iw
2 SOFT FTW
iw
w W, i T,r R
(17)
penComp = M (
iT
cC
tcp
ic
+
wW
cC
wcp
wc
+
wW
iT
twp
iw
)
(18)
dc
dep,r
+
iT
y
ir
(T D
r
T D
r
l,dep
)/TAS
i
+T ST
r
ac
lr
+CST
r
l
+ T T P ncr
r
r R
(19)
dc
dep,r
+
iT
y
ir
(T D
r
dep, f
)/TAS
r
TW B
f
T T P ncr
r
r R
(20)
x
wr
0, 1 w W, r R
(21)
y
tr
0, 1 t T,r R
(22)
ncr
r
0, 1 r R
(23)
0 bc
cr
TW E
c
CST
r
c
r R, c C
r
(24)
0 ac
cr
TW E
c
CST
r
c
r R, c C
r
(25)
0 dc
cr
TW E
c
r R, c C
r
(26)
Ua
wd
,Ca
wd
0 w W, d D
(27)
0 pun
wd
0.2 DMH
w
w W, d D
(28)
wcp
wc
0 w W, c C
(29)
tcp
tc
0 t T,c C
(30)
twp
tw
0 t T,w W
(31)
The binary variable x
wr
defines if the driver w W is
assigned to the route r R. Similarly, y
ir
is a binary
variable that defines if the truck i T is assigned to
the route r R. In the model implementation, no y
variable is created when the truck capacity is lower
than the total demand in the route. The variables ac
cr
,
bc
cr
and dc
cr
define, respectively, the arrival time, ser-
vice begin time and departure time for client c C and
route r R. The binary variable ro
rs
defines if the
routes r,s R can be assigned to the same driver and
truck. Routes in different days have no restrictions of
this kind. The variables Ua
wd
and Ca
wd
represent the
first departure and last arrival time for driver w W
in day d D.
Some variables are defined to describe situa-
tions where penalties must be applied. The vari-
able ncr
r
represents a non-executed route, pun
wd
represents instead the overtime of driver w W in
day d D. The variables, wcp
wc
, tcp
ic
and twp
tw
are, respectively, binary variables that represent non-
desirable driver/client, truck/client and truck/driver
assignments. Finally, penComp simply sums up all
the non-desirable assignment penalties.
Constraints (2) and (3) define that, in order to
execute a route, we should assign a driver and a
truck, otherwise the ncr
r
variable corresponding to
that route would be activated. Constraints (4) to (6)
define the minimum begin service time, client depar-
ture time and client arrival time, respectively. In (7),
we verify if it is possible to assign the same route to
the same pair driver/client. The two following con-
straints avoid or permit it, according to the value of
variables ro
rs
and ro
sr
. Constraints (10) check if a
driver is used in the day. In constraints (11) to (14),
the driver working hours (including eventual pauses)
are calculated and limited. Constraints (15) to (18)
check the assignment incompatibilities. Finally, (19)
defines a lower bound to arrive in the last client and
(20) defines an upper bound for the departure of a
route. The remaining constraints ensure variable do-
mains.
6 CASE STUDY
In this section, we present the computational results
that we obtained on a case study. The aim of the tests
we performed was to evaluate the DSS performance
in finding good solutions. We used a PC equipped
with a processor Intel Core i5-7200 with 2.5 GHz,
Windows 10 and 8GB of RAM. The heuristic was
implemented using C++ and the model using JuMP
A Decision Support System for a Multi-trip Vehicle Routing Problem with Trucks and Drivers Scheduling
345
library of Julia language. To solve the model, we used
the IBM MILP solver CPLEX 12.8.
The instances we used are taken from a realistic
scenario originating in the Italian region of Basilicata.
All the instances have some common characteristics,
such as 187 clients, 2 types of vehicles, truck aver-
age speeds (40 km/h for the larger vehicle type and
60 km/h for the smaller vehicle type), the daily de-
mands, the assignment resctrictions, 8 hours of maxi-
mum shift duration, and 60 minutes between two con-
secutive routes assigned to the same driver/truck. In
Table 1 we report some details on number of cus-
tomers and daily demands.
Table 1: Number of Clients and Total Demands per Day.
Day Mon Tue Wed Thu Fri Sat
N. of
clients
37 37 44 38 51 2
Total
demand
530 490 560 540 630 60
We created instances by attempting variations in the
number of vehicles of each type, capacity of vehicles,
time window size and maximum number of clients per
route. All those variations generated a total of 40 in-
stances, divided in 5 blocks of 8 instances each. All
tests were executed like in a standard use of the soft-
ware, as described in Section 4. To give a user per-
spective of the results we limited the maximum run
time of the MILP solver to 30 minutes.
Table 2 summarizes the main results we obtained.
The table reports the identification number of each
instance (ID), the truck capacity (TC), the time win-
dow size (TW), the maximum number of clients per
route (MCR) and the number of trucks per type (N. of
trucks).
For what the concerns the results obtained by the
optimization method, we highlight in column NR the
number of routes generated by the MS-ILS heuristic
adopted in the first phase of our algorithm, and in col-
umn Km the total distance of such routes. The first
phase required between one and two minutes to solve
any of the instances in the table. We could not find a
clear correlation between instance configuration and
run time of the algorithm. Regarding the solution
quality, we observe that the number of routes gener-
ated by the first phase algorithm does not have a sig-
nificant correlation with number of vehicles used and
total distance (correlations 0.008 and 0.03, respec-
tively). Even in instances with a total of 10 trucks
the number of routes does not change significantly.
On the other hand, fleet total capacity creates a larger
variation on number of routes as well as the total
distance run (correlations 0.73 and 0.71, respec-
tively). As we can see, the number of routes and total
distance grow almost equally as the fleet capacity re-
duce.
Average distance by route is 156 km, with a small
standard deviation of only 4.7 km. This means all
routes can be traveled in less than four hours, even
with the slowest vehicle. This is an advantage in
small-sized time window scenarios and makes the
problem regarding breaks along the day less relevant.
In the second phase, the model was able to find as-
signments to all routes for about 30% of the instances.
In another 42% of instances, only one or two routes
were not assigned. In a real life operation this kind
of solutions is not a major concern if visualized in
advance. The decision maker can improve these so-
lutions by contacting an external truck and driver, or
delaying some deliveries.
However, cases where a higher number of non-
assigned routes (as for instances 1 and 2 in block E)
are more critical. Those cases could be caused by
problems like deliveries imbalance, non appropriated
fleet size or worse, a bad warehouse location. On the
other hand, it could represent a lack o efficiency of
the algorithm in building routes and schedules with
the available resources, which can be verified with a
deeper solution analysis.
Table 2 also highlights a low number of instances
solved to optimality (14 out of 40) and some large
gaps. The gap increases when the fleet capacity is re-
duced and the time windows get tighter. As the gaps
were not directly connected with the quality of the
solutions, we looked for another factors that could be
interfering in the convergence of model solving. To
investigate changes that could provide a better perfor-
mance in the proposed method, we tested a modified
version of the model in which variable sig
wd
as well
constraints 10 were removed.
The results that we obtained with this simplified
model are shown in Table 3. The changes we made
on the model were useful in improving the solution
convergence, aa all the instances were solved to the
proven optimality. All but one of instances were
solved in less than one minute, and in many cases the
gap between the objective functions found on regu-
lar and modified versions were lower than 10%. The
numbers of non-assigned routes in this model version
were the same as those found with the original model.
This makes us conclude that the simplified model is
a good compromise between the representation of the
real-world problem and the need fo a quick and effec-
tive solution convergence.
ICEIS 2020 - 22nd International Conference on Enterprise Information Systems
346
Table 2: Instance Variable Parameters and Main Data about Obtained Solutions. Abbreviations : TC - Truck Capacity, TW -
Time Window, MCR - Maximum Clients per Route, NR - Number of Routes, Time - Model Solving Run Time, UB - Model
Objective Function, LB - Lower Bound, NAR - Non-Assigned Routes.
Parameters Results
ID TC TW MCR
N. of
trucks
NR Km Time UB LB Gap NAR
1A
70/60 6-18 6
3 - 5 48 7635 1845 15435 15084 2.32 3
2A 2 - 6 47 7610 1857 15469 15133 2.2 3
3A 4 - 4 48 7587 1837 15435 15084 2.3 3
4A 5 - 3 49 7699 1813 5522 5176 6.7 1
5A 6 - 2 49 7551 1857 10522 10084 4.3 2
6A 7 - 3 49 7615 1839 15380 15107 1.8 3
7A 3 - 7 49 7632 1901 10380 10084 2.9 2
8A 5 - 5 49 7632 1833 10380 10084 2.9 2
1B
70/40 6-18 6
3 - 5 58 9197 1834 1198 751 5.9 0
2B 2 - 6 60 9388 1907 11251 5684 97.9 2
3B 4 - 4 58 9282 1833 5618 5212 7.8 1
4B 5 - 3 59 9163 1831 5671 5196 9.1 1
5B 6 - 2 56 9109 1814 671 212 216.5 0
6B 7 - 3 58 9512 1849 476 210 126.6 0
7B 3 - 7 58 9167 1839 1676 1374 21.2 0
8B 5 - 5 58 9237 1832 5444 5105 6.6 1
1C
50/40 6-18 6
3 - 5 69 10179 1814 1337 814 64.2 0
2C 2 - 6 69 10254 1812 6337 684 826.4 1
3C 4 - 4 68 10131 1812 1241 127 87.7 0
4C 5 - 3 70 10365 1813 1337 120 101.4 0
5C 6 - 2 70 10365 1813 1390 117 108.8 0
6C 7 - 3 69 10239 1812 440 84 423.8 0
7C 3 - 7 69 10402 1813 551 110 441.0 0
8C 5 - 5 69 10383 1838 508 84 504.7 0
1D
70/60 7-17 8
5 - 3 46 7409 1848 11284 10748 5.0 2
2D 2 - 6 47 7314 1833 11284 10748 5.0 2
3D 4 - 4 47 7359 115 11284 11284 0 2
4D 5 - 3 46 7402 106 16251 16251 0 3
5D 6 - 2 47 7338 1840 16347 15148 7.9 3
6D 7 - 3 46 7442 355 10476 10476 0 2
7D 3 - 7 47 7466 133 11076 11076 0 2
8D 5 - 5 47 7454 194 5476 5476 0 1
1E
70/60
7 - 13
and
11 - 18
8
5 - 3 46 7307 48 31205 31205 0 6
2E 2 - 6 47 7456 54 36453 34653 0 7
3E 4 - 4 46 7336 54 16559 16559 0 3
4E 5 - 3 47 7520 56 16400 16400 0 2
5E 6 - 2 46 7476 67 11443 11443 0 2
6E 7 - 3 47 7465 67 15637 15637 0 3
7E 3 - 7 47 7444 70 21301 21301 0 4
8E 5 - 5 46 7635 69 733 733 0 0
7 CONCLUSIONS
In this paper, we presented a decision support system
to help decision makers in the solution of real cases
of a Multi-Trip Rich Vehicle Routing Problem with
Truck and Driver Scheduling, a problem where good
delivery routes need to be created and then matched
with the available trucks and drivers. We proposed
a two-phase heuristic procedure, in which the first
phase is an adaptation of a metaheuristic from the lit-
erature, and the second phase consists of a mathemat-
ical model.
A Decision Support System for a Multi-trip Vehicle Routing Problem with Trucks and Drivers Scheduling
347
Table 3: Results Obtained Solving the Model without
Drivers Fixed Costs. Abbreviations: Time - Model Solv-
ing Run Time in Seconds, UB - Model Objective Function,
LB - Lower Bound, NAR - Non-Assigned Routes.
Results
ID Time UB LB Gap NAR
A1 16 15000 15000 0 3
A2 15 15000 15000 0 3
A3 13 15000 15000 0 3
A4 15 5000 5000 0 1
A5 14 10000 10000 0 2
A6 15 15000 15000 0 3
A7 14 10000 10000 0 2
A8 15 10000 10000 0 2
B1 20 600 600 0 0
B2 20 10600 10600 0 2
B3 16 5000 5000 0 1
B4 23 5000 5000 0 1
B5 16 600 600 0 0
B6 22 0 0 0 0
B7 19 1200 1200 0 0
B8 14 5000 5000 0 1
C1 21 600 600 0 0
C2 35 5600 5600 0 1
C3 32 0 0 0 0
C4 32 0 0 0 0
C5 211 0 0 0 0
C6 18 0 0 0 0
C7 17 0 0 0 0
C8 22 0 0 0 0
D1 20 10600 10600 0 2
D2 17 10600 10600 0 2
D3 28 10600 10600 0 2
D4 37 15600 15600 0 3
D5 17 15600 15600 0 3
D6 16 10000 10000 0 2
D7 22 10600 10600 0 2
D8 25 5000 5000 0 1
E1 15 30600 30600 0 6
E2 25 35600 35000 0 7
E3 26 15600 15600 0 3
E4 27 15600 15600 0 2
E5 72 10600 10600 0 2
E6 18 15000 15000 0 3
E7 14 20600 20600 0 4
E8 15 0 0 0 0
Extensive computational experiments were per-
formed on realistic instances. We could observe that
the system had troubles in identifying good solutions
in very restricted scenarios, but it could consistently
produce good quality solutions in other reasonable
scenarios. For such scenarios, we could also note
that the algorithm had a regular performance behav-
ior, and this is an important feature to make the user
trust the software. The run time was most of mostly
low, satisfying the requirements of the system without
compromising the solution qualities.
Future research directions will be concentrated on
adapting and testing the current approach in more
flexible and general scenarios. For example, when
deliveries can be done in the next day, vehicles or
drivers are not available in some days of the week,
or when different truck average speeds must be used
depending on the fact that the vehicle is in an urban
area or not. Considering the user experience, we plan
to make visible to the decision maker data about road
blocks, tolls, and information on client satisfaction, to
help her in the evaluation of eventual route changes.
A synchronization with the warehouse operation soft-
ware is also being evaluated to improve the allocation
of workers to recover products and load trucks. We
also plan to replace the mathematical model with a
quick and effective metaheuristic, so as to be able to
provide in quick time good-quality problem solutions.
ACKNOWLEDGEMENTS
We thank the University of Modena and Reggio
Emilia (Italy) for the financial support to this work
provided with the grant FAR 2018 Analysis and op-
timization of healthcare and pharmaceutical logistic
processes”.
REFERENCES
Algethami, H., Landa-Silva, D., and Martinez-Gavara, A.
(2017). Selecting genetic operators to maximise pref-
erence satisfaction in a workforce scheduling and
routing problem. In Proceedings of the 6th Interna-
tional Conference on Operations Research and Enter-
prise Systems, pages 416–423.
Algethami, H., Mart
´
ınez-Gavara, A., and Landa-Silva, D.
(2019). Adaptive multiple crossover genetic algorithm
to solve workforce scheduling and routing problem.
Journal of Heuristics, 25(4-5):753–792.
Azi, N., Gendreau, M., and Potvin, J.-Y. (2010). An ex-
act algorithm for a vehicle routing problem with time
windows and multiple use of vehicles. European Jour-
nal of Operational Research, 202(3):756–763.
Azi, N., Gendreau, M., and Potvin, J.-Y. (2014). An adap-
tive large neighborhood search for a vehicle routing
problem with multiple routes. Computers & Opera-
tions Research, 41:167–173.
Babaee Tirkolaee, E., Abbasian, P., Soltani, M., and Ghaf-
farian, S. A. (2019). Developing an applied algorithm
for multi-trip vehicle routing problem with time win-
dows in urban waste collection: A case study. Waste
Management & Research, 37(1
suppl):4–13.
ICEIS 2020 - 22nd International Conference on Enterprise Information Systems
348
Battarra, M., Cordeau, J.-F., and Iori, M. (2014). Pickup-
and-delivery problems for goods transportation. In
Toth, P. and Vigo, D., editors, The Vehicle Routing
Problem, Monographs on Discrete Mathematics and
Applications, pages 161–191. SIAM, Philadelphia.
Battarra, M., Monaci, M., and Vigo, D. (2009). An adap-
tive guidance approach for the heuristic solution of a
minimum multiple trip vehicle routing problem. Com-
puters & Operations Research, 36(11):3041 – 3050.
Benkebir, N., Pouliquen, M. L., Tr
´
evien, J.-F., Bounceur,
A., Euler, R., Pardiac, E., and Sevaux, M. (2019). On a
multi-trip vehicle routing problem with time windows
integrating european and french driver regulations.
Journal on Vehicle Routing Algorithms, 2(1):55–74.
Brandao, J. and Mercer, A. (1997). A tabu search algo-
rithm for the multi-trip vehicle routing and scheduling
problem. European journal of operational research,
100(1):180–191.
Brandao, J. and Mercer, A. (1998). The multi-trip vehicle
routing problem. Journal of the Operational research
society, 49(8):799–805.
Campbell, A. M. and Savelsbergh, M. (2004). Efficient in-
sertion heuristics for vehicle routing and scheduling
problems. Transportation science, 38(3):369–378.
Cattaruzza, D., Absi, N., and Feillet, D. (2016). Vehicle
routing problems with multiple trips. 4OR, 14(3):223–
259.
Cattaruzza, D., Absi, N., Feillet, D., and Vidal, T. (2014a).
A memetic algorithm for the multi trip vehicle routing
problem. European Journal of Operational Research,
236(3):833–848.
Cattaruzza, D., Absi, N., Feillet, D., and Vigo, D. (2014b).
An iterated local search for the multi-commodity
multi-trip vehicle routing problem with time windows.
Computers & Operations Research, 51:257 – 267.
Dantzig, G. B. and Ramser, J. H. (1959). The truck dis-
patching problem. Management science, 6(1):80–91.
Doerner, K. and Salazar-Gonz
´
alez, J. (2014). Pickup-and-
delivery problems for people transportation. In Toth,
P. and Vigo, D., editors, The Vehicle Routing Prob-
lem, Monographs on Discrete Mathematics and Ap-
plications, pages 161–191. SIAM, Philadelphia.
Drexl, M., Rieck, J., Sigl, T., and Press, B. (2013). Si-
multaneous vehicle and crew routing and scheduling
for partial- and full-load long-distance road transport.
Business Research, 6(2):242–264.
Duhamel, C., Lacomme, P., and Prodhon, C. (2011). Effi-
cient frameworks for greedy split and new depth first
search split procedures for routing problems. Comput-
ers & Operations Research, 38(4):723–739.
Fleischmann, B. (1990). The vehicle routing problem with
multiple use of vehicles. Fachbereich Wirtschaftswis-
senschaften, Universit
¨
at Hamburg.
Goel, A. (2009). Vehicle scheduling and routing with
drivers’ working hours. Transportation Science,
43(1):17–26.
Golden, B., Raghavan, S., and Wasil, E., editors (2008). The
Vehicle Routing Problem: Latest Advances and New
Challenges. Operations Research/Computer Science
Interfaces Series. Springer.
He, P. and Li, J. (2019). The two-echelon multi-trip vehicle
routing problem with dynamic satellites for crop har-
vesting and transportation. Applied Soft Computing,
77:387–398.
Hernandez, F., Feillet, D., Giroudeau, R., and Naud, O.
(2016). Branch-and-price algorithms for the solution
of the multi-trip vehicle routing problem with time
windows. European Journal of Operational Research,
249(2):551–559.
Kok, A. L., Meyer, C. M., Kopfer, H., and Schutten, J.
M. J. (2010). A dynamic programming heuristic for
the vehicle routing problem with time windows and
european community social legislation. Transporta-
tion Science, 44(4):442–454.
Kramer, R., Cordeau, J.-F., and Iori, M. (2019). Rich vehi-
cle routing with auxiliary depots and anticipated deliv-
eries: An application to pharmaceutical distribution.
Transportation Research Part E: Logistics and Trans-
portation Review, 129:162–174.
Lahyani, R., Khemakhem, M., and Semet, F. (2015). Rich
vehicle routing problems: From a taxonomy to a def-
inition. European Journal of Operational Research,
241(1):1–14.
Macedo, R., Alves, C., de Carvalho, J. V., Clautiaux, F., and
Hanafi, S. (2011). Solving the vehicle routing problem
with time windows and multiple routes exactly using a
pseudo-polynomial model. European Journal of Op-
erational Research, 214(3):536 – 545.
Masmoudi, M. A., Hosny, M., Braekers, K., and Dammak,
A. (2016). Three effective metaheuristics to solve the
multi-depot multi-trip heterogeneous dial-a-ride prob-
lem. Transportation Research Part E: Logistics and
Transportation Review, 96:60 – 80.
Mingozzi, A., Roberti, R., and Toth, P. (2013). An exact
algorithm for the multitrip vehicle routing problem.
INFORMS Journal on Computing, 25(2):193–207.
Solomon, M. M. (1984). Vehicle routing and scheduling
with time window constraints: Models and algorithms
(heuristics).
Taillard,
´
E. D., Laporte, G., and Gendreau, M. (1996). Vehi-
cle routeing with multiple use of vehicles. Journal of
the Operational research society, 47(8):1065–1070.
Tang, J., Yu, Y., and Li, J. (2015). An exact algorithm
for the multi-trip vehicle routing and scheduling prob-
lem of pickup and delivery of customers to the airport.
Transportation Research Part E: Logistics and Trans-
portation Review, 73:114–132.
Toth, P. and Vigo, D., editors (2014). Vehicle Rout-
ing: Problems, methods, and applications. SIAM,
Philadelphia, 2nd edition.
Z
¨
apfel, G. and B
¨
ogl, M. (2008). Multi-period vehicle
routing and crew scheduling with outsourcing op-
tions. International Journal of Production Economics,
113(2):980–996.
A Decision Support System for a Multi-trip Vehicle Routing Problem with Trucks and Drivers Scheduling
349