Workforce Scheduling and Routing Problems Literatu
Workforce Scheduling and Routing Problems Literatu
net/publication/303897076
CITATIONS READS
39 601
3 authors, including:
Rong Qu
University of Nottingham
217 PUBLICATIONS 8,720 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Rong Qu on 23 June 2018.
J. Arturo Castillo-Salazar1 ,
Dario Landa-Silva, Rong Qu
1 Introduction
In recent times, employees often need to be more flexible regarding the type of
jobs they perform and similarly, employers need to make compromises in order to
1 The author acknowledges CONACYT for its financial support
retain their best employees (Eaton, 2003; Martı́nez-Sánchez et al, 2007). Moreover,
in some cases workforce should perform tasks at different locations, e.g. nurses
visiting patients at their home, and technicians carrying out repairs at different
companies, etc. Therefore, the scheduling of workforce with ‘flexible’ arrangements
and ‘mobility’ is of great importance in many scenarios. Many types of personnel
scheduling problems have been tackled in the literature (Baker, 1976; Miller, 1976;
Golembiewski and Proehl Jr, 1978; Cheang et al, 2003; Ernst et al, 2004; Alfares,
2004). We are interested in those workforce scheduling problems in which personnel
is considered flexible (in terms of tasks and working times) and mobile (travelling
is required in order to do the job). By mobility we refer specifically to those cases
in which moving from one location to another takes significant time and therefore
reducing the travel time could potentially increase productivity. To some extent,
this problem combines features from the general employee scheduling problem and
also from vehicle routing problems. The survey and computational study presented
here represent a step towards our longer term aim of formulating and tackling the
problem of scheduling flexible and mobile workforce. In the rest of this paper, we
refer to this as the workforce scheduling and routing problem (WSRP).
In Section 2 we describe the WSRP and identify some of the main character-
istics of this type of workforce scheduling problems. Section 3 is dedicated to the
vehicle routing problem with time windows (VRPTW) because it represents the
basic routing component of many of the problems discussed in this survey. Sec-
tion 4 outlines some workforce scheduling scenarios that have been investigated
in the literature and that in our view present a case of WSRP. Examples include
home care, scheduling of technicians, manpower allocation, etc. In each subsec-
tion of Section 4 we also review the different solution techniques (optimisation,
heuristics and hybrid approaches) that have been used to tackle these problems.
Section 5 contains the computational study. The experiments are performed using
the Gurobi solver, IP and MIP models. A set of problem instances are also pre-
sented in this section. Finally, Section 6 summarises our findings and outlines the
next steps in our research into workforce scheduling and routing.
Workforce Scheduling and Routing Problem (WSRP) refers to those scenarios in-
volving the mobilisation of personnel in order to perform work related activities at
different locations. In such scenarios, employees use diverse means of transporta-
tion, e.g. walking, car, public transport, bicycle, etc. Also, in these scenarios there
are more than one activity to be performed in a day, e.g. nurses visiting patients
at their homes to administer medication or provide treatment (Cheng and Rich,
1998), care workers aiding members of the community to perform difficult tasks
(Eveborn et al, 2006), technicians carrying out repairs and installations (Cordeau
et al, 2010), and security guards performing night rounds on several premises
(Misir et al, 2011). The number of activities across the different locations is usu-
ally larger than the number of employees available, hence employees should travel
between locations to perform the work. This results into combination of employee
scheduling and vehicle routing problems. The number of activities varies depend-
Workforce Scheduling and Routing (WSRP)
ing on the duration of the working shift, but assuming that each activity needs to
be performed at a different location, a routing problem also arises. A route is a
sequence of locations that need to be visited (Raff, 1983) but we exclude problems
in which workers need to move across work stations within the same factory for
example. Work activities which need to be performed within a given time require
scheduling in addition to routing. Tackling WSRP scenarios could potentially in-
volve many objectives like: reducing employees travel time, guaranteeing tasks to
be performed by qualified people only, reducing the cost of hiring casual staff,
ensuring contracted employees are used efficiently, etc.
We assume employees should rather spend more time doing work than travel-
ling, particularly in settings in which travelling time is counted as paid working
time, hence reducing travel time is valuable (Fosgerau and Engelson, 2011; Jara-
Dı́az, 2000). Like in many workforce scheduling problems, the set of skills that
an employee has for performing a task is of great importance in WSRP scenarios
(Cordeau et al, 2010) so that employees perform activities at customer premises
more efficiently. Many papers in the literature assume that the workforce is ho-
mogeneous regarding skills but in many scenarios, a diverse set of skills is the
predominant environment. We should note that scenarios like the pick-up and de-
livery of goods (parcels) is not considered here as a WSRP because no significant
‘work’ (in terms of time) is carried out at customers’ premises. Although, one could
argue that the action of delivering a parcel is a task, it does not take a significant
amount of time once the worker gets to the destination. This type of pick-up and
delivery problems are usually defined as routing problems and are not covered in
our study of workforce scheduling and routing problems.
Time Windows for performing a task (duty, job) at a customer premises. It is as-
sumed that employees can start the work as soon as they arrive at the location.
Time windows can be flexible or tight and in accordance to contractual arrange-
ments. In some cases, no time window is defined as employees work based on
annualised hours. Also, in some cases employees can benefit from over-time
payment, making compliance with the time window a soft constraint.
Transportation Modality refers to employees using different means like car, bicycle,
walking or public transport. We assume that time and cost of transportation
is not the same for each employee.
Start and End Locations can be from one location, where all employees start at the
main office (Eveborn et al, 2006), up to many locations (perhaps as many as
the number of employees) assuming each employee may start from their home.
In some cases company’s policy enforces employees starting their working time
at the main office but returning home directly after the last job performed.
Skills and Qualifications act as filters on who can perform a task and there are two
main cases. 1) All employees have the same skills and qualifications so anyone
J. Arturo Castillo-Salazar et al
can perform every task. This tends to be expensive for the organisation. 2)
Employees with diverse levels of abilities. This is common in industries such
as consulting and healthcare. Matching employees’ skills to the tasks assigned
has been tackled for complex organisations (Cordeau et al, 2010).
Service Time corresponds to the duration of the task and it varies depending on
the employee who performs it and the type of task. Most models in the liter-
ature assume a fixed duration. If service times are long enough so that they
restrict each worker to perform only one job, then the problem reduces to task
allocation since every route would consider only one job per employee.
Connected Activities refer to dependencies among two or more activities. Sequen-
tial dependency occurs when one activity must be performed before or after
another. Temporal dependencies are as defined by Rasmussen et al (2012).
Synchronisation is when two or more activities need to start at the same time.
Overlap occurs when at any point in time, activities happen simultaneously.
In minimum difference dependency, the second activity starts after some given
time has passed since the end of the first activity. A maximum difference de-
pendency establishes a limit for the start on the second activity from the end
of the first activity. A min+max difference dependency is a combination of the
previous two by creating an additional time window for the start of the second
activity based on the end of the first activity.
Teaming is necessary sometimes due to the nature of the work to be carried out (Li
et al, 2005). If team members remain unchanged then the team can be treated
as a single entity and we can assume that all start and end the joint activity
at the same time. Nevertheless, if teams change according to the task, then
synchronising the arrival of employees to the location of the activity is required.
Within teaming, synchronisation refers to employees and not to activities like
Connected Activities. Also, when teams change frequently then skill matching
must be ensured every time teams change to perform a job requiring multiple
skills not present in a single employee (Cordeau et al, 2010).
Clusterisation may be necessary for several reasons. One is that employees may
prefer not to travel more than a number of miles. Another reason is when
companies assign employees to perform work only in certain geographical areas.
Clusters may also be created just to reduce the size of the problem by solving
a number of clustered sub-problems.
The routing part in many of the problems considered here as examples of WSRP
is based on the vehicle routing problem with time windows (VRPTW). In this
problem the main objective is to minimise the total distance travelled by a set of
vehicles serving customers spread across different locations. Every customer must
be visited once by one vehicle. Each customer specifies a time window when the
visit should take place. The delivery vehicle must arrive at the location within
that specified time window. If the vehicle arrives before the time window, it must
wait until the time window opens to perform the delivery (Desrochers et al, 1992;
Kallehauge et al, 2005). Extensions of the VRPTW include other features such as
multiple trips, multiple depots and synchronisation of vehicles.
Workforce Scheduling and Routing (WSRP)
In the VRPTW extension that covers multiple depots, the fleet of vehicles is
distributed across multiple depots allowing vehicles to return to the closest depot
once all the deliveries by that vehicle have been completed. This VRPTW variant
(Desaulniers et al, 1998) is relevant to our study because its formulation is appli-
cable to workforce scheduling and routing. Many papers in the literature dealing
with WSRP scenarios use this VRPTW variant and associate every employee’s
starting and ending point to a depot. It is also possible for every employee to start
at the same location (depot) but to end their working day at a different location
(home).
Another extension of the VRPTW allows multiple trips (Brandão and Mercer,
1998). This applies to the case when employees could perform more than one trip
on a day to visit the same location. A trip in this context involves a series of tasks
before going back to the depot. In WSRP scenarios, an employee is assumed to
have a means of transportation. Sometimes the employee might need to go back
to the main office (depot) to replenish resources. The type of vehicles that can be
used to access a particular customer’s location might also be restricted as pointed
out by Brandão and Mercer (1997). Vehicles have different capacities which can
be associated to model an heterogeneous workforce. Vehicles can also be hired for
some time which is associated to hiring casual staff.
There are many solution methods proposed to tackle the VRPTW. When us-
ing exact approaches, researchers tend to model the problem as multi-commodity
network flow problems (Desaulniers et al, 1998; Salani and Vaca, 2011) or fol-
lowing a set partitioning/covering formulation (Bredström and Rönnqvist, 2007).
Such models have been tackled using constraint programming, branch and bound,
and branch and price (column generation) (Barnhart et al, 1998; Desrosiers and
Lübbecke, 2005). Other researchers use hybrid methods that employ heuristics
for the generation of columns within a column generation setting (Bredström and
Rönnqvist, 2008) or use heuristics to improve an initial solution found with math-
ematical programming (Fischetti et al, 2004). Alternative approaches include di-
viding the problem (clustering) into smaller sub-problems and then obtaining a
global solution. This approach does not guarantee finding the overall global opti-
mal solution but it is sufficient if the objective is to quickly find feasible solutions
(Landa-Silva et al, 2011).
There are a few benchmark data sets for the VRPTW, here we refer to the
ones by Solomon (1987) and Castro-Gutierrez et al (2011) which we adapt for our
computational experiments.
J. Arturo Castillo-Salazar et al
In this section we review some of the problems tackled in the literature that can
be considered as a type of workforce scheduling and routing problem (WSRP).
The intention is to illustrate the variety and importance of WSRP scenarios in
the real-world. Each subsection focuses on a problem domain and the solution
methods that have been used in the literature to tackle it. We distinguish between
exact, heuristics and hybrid methods in our review.
Bertels and Fahle (2006) describe home health care (HHC) as visiting and nurs-
ing patients at their home. Patients preferences regarding the time of visit are
respected as much as possible, as they should not be kept waiting. Additionally,
nurses have time limitations on the number of working hours per day or the starting
and ending time. In HHC, transportation modality is present when nurses travel
(car, public transport or walking) to visit more than one patient. The start and
end location can vary. Nurses can depart from their homes or from a central health
care office, and end their day once they return home or in some cases at the last
visited patient’s location. A diverse set of skills and qualifications exists usually
among nurses. Health care organisations often cannot afford to have nurses trained
in all procedures. Then, the use of highly qualified nurses should be restricted to
tasks that demand those skills. Nursing tasks can vary in duration (service time),
e.g. from a 10 minutes injection to a 45 minutes physical therapy. Connected nurs-
ing activities can arise when administering medication, e.g. the first dose is applied
during the morning followed by another dose 3 hours later. Some activities require
more than one nurse at the same time, e.g. handling a person with epilepsy. In
such cases, nurses can be synchronised to arrive at the location at the same time.
Clusterisation is used by the organisation providing health care, to avoid nurses
having to travel too long distances.
Other characteristics of HHC which are not considered in this WSRP study
include nurses preferences, shift types and other legal requirements. Also, it is
desirable not to change much the nurses who visit particular patients. This is
because patients and nurses develop a bond that is usually good to maintain.
Cheng and Rich (1998) explore the use of casual nurses. Their work does not
consider different nurses’ skills and qualifications but instead, proposes a matching
method in which a pairing patient-nurse is either feasible or not for some reason.
The objective in their work is to reduce the amount of overtime and part-time
work employed.
Home health care has been tackled mainly with hybrid approaches. For exam-
ple combining mixed integer programming with heuristics for either the routing or
the scheduling component (Begur et al, 1997). Another example of combining two
approaches is when using constraint programming to obtain a good feasible solu-
tion and in a second stage applying a series of meta-heuristics including simulated
annealing and tabu search (among others) to improve the quality of the solution
(Bertels and Fahle, 2006).
Exact methods have also been used, particularly branch and price, using a set
partitioning formulation for the master problem. The model includes real variables
Workforce Scheduling and Routing (WSRP)
for the scheduling of the activities, and binary variables for deciding whether an
activity is performed by a specific employee or not. The pricing problem is an
elementary shortest path (Barnhart et al, 1998; Bredström and Rönnqvist, 2007).
An extension of such models includes the addition of side constraints in the master
problem (Dohn et al, 2008). Not all models for the set partitioning part have
both real and binary variables, for example pure integer models are also used by
Kergosien et al (2009). The addition of cuts on the time windows improves the
branch and price approach and turns it into a branch cut and price which leads
to good results.
The home care problem also called domiciliary care, refers to the provision of
community care service by local authorities to their constituents (Akjiratikarl et al,
2007). The aim is to schedule care workers across a region in order to provide care
tasks within a time window while reducing travel time. This problem is related to
the home health care problem described earlier (Bertels and Fahle, 2006; Cheng
and Rich, 1998). The difference is that home health care involves helping people
for a relatively short period of time to recover after hospitalisation. Home care
however usually refers to helping elderly and/or disabled people to perform their
daily activities such as shopping, bathing, cleaning, and cooking, etc. (Eveborn
et al, 2009). Once a person starts receiving home care support it is likely that he
remains receiving such care for a long time.
Home carers usually start travelling from home to deliver support at their pre-
defined destinations using their own transport arrangements (mixed transporta-
tion modality) and return home at the end of the day. In some cases reported in
the literature, care workers do not start from their home but from a home care
office as last minute changes to their schedules are possible and need to be agreed
before starting the working day (Eveborn et al, 2009). In some cases, travel time
is considered as work hours and hence the objective is to reduce the time used
not providing care. Some assumptions are made such as given travel speed for a
carer and travel distances to be euclidean. In other cases like the work by Dohn
et al (2008), the objective is to maximise the quality level of care service provided.
Reducing cost, although important, is not usually the main objective. Dohn et al
(2008) study the problem as a variant of the VRP with time windows. Although
not as much as in HHC, there are some skills and qualification required in home
care when caring for others, e.g. health and safety, handling people with dislexia,
etc. Service time is standarised and it only varies due to the experience of the
carer or difficulties with the person receiving care. Connected activities also exist
in home care, e.g. taking a shower before grocery shopping. Teaming is usually not
present as carers tend to be syncronised to perform difficult tasks, e.g. assisting
a heavy person. Clusterisation is based on municipalities borders to clearly define
which authority (e.g. council, district, etc.) is responsible for each area.
Additional features of home care include prioritising visits. Usually, there is
not enough personnel to perform all the visits in a single day. Therefore, visits are
rescheduled or even canceled in the worst case. Deciding which visit is not carried
out is part of the problem. For example, it is more important to assist someone
with his diabetes medication than to help another person in grocery shopping.
J. Arturo Castillo-Salazar et al
The manpower allocation problem (Lim et al, 2004) refers to assigning servicemen
to a set of customer locations to perform a diverse range of activities. The ob-
jectives are to minimise the number of servicemen used, minimise the total travel
distance, minimise the waiting time at service points, and maximise the number
of tasks assigned. The manpower allocation problem therefore can be seen as an-
other example of WSRP. Manpower allocation with time windows is particularly
relevant since customers explicitly define when the workforce is required. There is
no mention of transportation modality so we assume all servicemen use the same
type of transport. Every serviceman starts and finishes his working day at the
control centre. Skills among the workforce are assumed to be the same, making no
difference on who performs the service.
There are restrictions on the number of hours each employee can work. Waiting
time, the time that servicemen have to wait at a customer location before the start
of the time window, is included within the service time making it vary accordingly.
Li et al (2005) add job teaming constraints, where a team is assembled at every
J. Arturo Castillo-Salazar et al
location and work cannot start unless all members of the team have arrived. More
recently, a variation of the manpower allocation problem was tackled in the context
of scheduling teams to do ground handling tasks in major airports (Dohn et al,
2009). In the work by Li et al (2005) teams are set at the beginning and do
not change over the working day. Additional characteristics include teams having
mandatory breaks within certain time windows, hence breaks are treated as just
another visit.
In manpower power allocation papers, we identified the use of the three types
of solution methods. An exact method uses integer programming, based on a set
covering formulation which is solved with branch and price (Dohn et al, 2009).
Meta-heuristics including tabu search, simulated annealing and squeaky wheel
optimisation have also been applied (Lim et al, 2004). Finally, Li et al (2005)
relaxed an integer programming formulation of a network flow model to obtain
lower bounds. The upper bounds were obtained using constructive heuristics and
simulated annealing was the main component of their solution framework.
5 Computational Study
As the above survey reveals, workforce scheduling and routing problems (WSRP)
arise in a variety of scenarios. However, there seems to be no established set of
benchmark problem instances and results for this type of problems. Hence, from
the literature we identified five data sets that can be used as instances of WSRP,
either in their original form or after some adaptations.
We consider here the following data sets from the literature: (1) VRPTW
instances by Solomon (1987), (2) multi-objective VRPTW instances by Castro-
Gutierrez et al (2011), (3) home health care instances by Rasmussen et al (2012),
(4) security personnel scheduling instances by Misir et al (2011) and (5) field
technicians scheduling instances by Günther and Nissen (2012). Not all these data
sets include the features that we have identified in the survey of this paper as
characteristics of WSRP. The following paragraphs outline the way in which each
of these data sets can be seen as instances of WSRP. The specific adaptations
that we made to each data set are detailed later when discussing results of our
computational study.
1. Solomon (1987) VRPTW data set has been used broadly in the literature.
These VRPTW instances can be transformed into WSRP instances by adding ad-
ditional constraints. Such constraints are: fixing the number of employees, intro-
ducing skills to employees, adding activities which require more than one employee
for its completion and establishing connected activities constraint where required.
Vehicles visiting customers are considered employees visiting client locations. Since
only one vehicle (with no additional features) is involved in a customer visit in
these VRPTW instances, this can be seen as single skill activity.
2. Castro-Gutierrez et al (2011) VRPTW data set is a more recent addition
to the literature. This data set includes realistic distances and times for travelling
between customer locations. This is the main difference with Solomon’s data set
but their interpretation as WSRP is the same as described above.
Workforce Scheduling and Routing (WSRP)
3. Rasmussen et al (2012) home health care (section 4.1) data set is actually a
WSRP in which carers with different skills provide assistance to elderly, disabled
and ill members of the community by visiting them at their homes. Visits are
often restricted to a time window. Sometimes visits involve activities requiring
more than one carer. This data set has been used in a few publications (Dohn
et al, 2008; Misir et al, 2010; Rasmussen et al, 2012).
4. Misir et al (2011) security personnel scheduling data set is also a WSRP in
which security guards with different skills visit locations. Visits have associated
starting time, due time and duration which then create a time window feature.
5. Günther and Nissen (2012) field technicians scheduling data set is another
WSRP in which technicians travel to different locations in a day in order to perform
certain jobs. This is often referred in the literature as the technician and task
scheduling problem (TTSP) (Cordeau et al, 2010) or as field force optimisation.
Overall, a total of 375 test instances are obtained across the 5 data set gathered
and adapted from the literature.
X X X X
min αp cik xijk + αT Tij xijk (1)
k∈K (i,j )∈A k∈K (i,j )∈A
J. Arturo Castillo-Salazar et al
X X
s.t. xijk = 1 ∀ i ∈ N, (2)
k∈K j :(i,j )∈A
X X
xojk = xjdk = 1 ∀ k ∈ K, (3)
j :(o,j )∈A j :(j,d)∈A
X X
xijk − xjik = 0 ∀ i ∈ N, ∀ k ∈ K, (4)
j :(i,j )∈A j :(j,i)∈A
removed. Such balancing component could be included when factors like fairness
on service time or workload for every employee are taken into account. The other
weights of the objective function αp and αT remain the same (set to a value of
0.5).
For every one of the original 56 Solomon’s instances with 100 activities (customers),
we generated two more with 25 and 50 activities. For example, from C101 we
generated C101 25, C101 50 and C101 100. From Castro-Gutierrez et al instances
we selected the ones with 50, 150 and 250 activities, 5 time window types and
limited vehicle capacity for all. We used a total of 183 VRPTW instances, 168 from
Solomon (56 x 3 instance sizes) and 15 from Castro-Gutierrez et al (3 instance
sizes x 5 window types). The integer programming model was implemented in
the Gurobi solver version 5.1 and executed on a X64-based PC running Microsoft
Windows 7 Enterprise with 2 Duo CPU (3.16GHz) and 4 gigabytes of RAM. There
was no parameter tuning for Gurobi, it ran using the default parameter values (no
computation time limit).
Table 1: Summary of the outcome infeasible, optimal, out of memory (OoM) reported by
Gurobi. Computation times (Min, Mean, Max, Std Dev) are in seconds. Times in brackets
show when the solver found the first feasible solution when available. a Solomon data set. b
Castro-Gutierrez et al data set.
Table 1 summarises the results from these initial experiments. Column Out-
come gives the outcome of the experiments. Column Size shows the instances size
regarding the number of activities. Column No. of Instances indicates the number
of instances of that size for which the solver reports the given outcome. Columns
Min, Mean and Max provide the minimum, mean and maximum computation time
in seconds within that group of instances where the given outcome was obtained.
Column Std Dev shows the standard deviation of the computation time. For ex-
ample, we can see that out of the 61 instances of size 50 (56 from Solomon plus 5
from Castro-Gutierrez et al), the solver reported infeasibility in 31 cases, reported
out of memory for 26 cases and could not find optimality in any case. We also
note that in 10 instances (3 instances of size 25, 4 of size 50 and 3 of size 100)
some computing error was reported by the solver when processing the instance.
J. Arturo Castillo-Salazar et al
Also, none of the 10 largest instances (sizes 150 and 250) from Castro-Gutierrez
et al could be processed with Gurobi using our hardware setting. Adding these 20
instances to the 163 reported in Table 1 gives the total of 183.
As expected, the overall observation is that these VRPTW instances are com-
putationally difficult to solve. More importantly, we observe that for a good propor-
tion of them no feasible solution was obtained. A closer look at the results revealed
that many of the infeasible instances did not have enough workers to complete all
activities (hard-constraint). Also, the generated precedence constraints between
activities provoked infeasibility in several cases when interacting with the time
window constraints. Another useful observation from these results is that the mean
computation time taken by the solver to find a first feasible solution is between
10.5 (row 5) and 5365 (row 11) seconds. Hence, we decided to set 7200 seconds as
the maximum execution time in the next set of experiments.
Figure 1 gives an insight into the performance of the solver in one of instances
of size 25 for which the optimal solution was found. The main solid line corresponds
to the gap reduction as the computation time progresses. The inside graph shows a
close-up of the first 14400 seconds. We can see that after finding a feasible solution
relatively quickly (no more than 13 seconds according to row 5 of Table 1), the
solver continuously improves the solution but finds the optimal only after around
67 hours of computation time. The red square shows that the greater gap reduction
occurs during the first 2 hours (7200).
Fig. 1: Gap reduction as computation time progresses in a case in which the solver found the
optimal solution. The optimal solution is reported after 241620 seconds (approx. 67 hours) but
a considerable gap reduction is achieved during first two hours.
One conclusion from these experiments is that tackling the VRPTW instances
as WSRP instances is not very useful unless care is taken into specifying the
nature (hard or soft) of the scheduling-all-activities and activities-precedence re-
quirements. Another conclusion is that WSRP with more than 100 activities are
Workforce Scheduling and Routing (WSRP)
It was clear from the previous experiments that if the constraint that allocates all
activities is not relaxed, the solver would not be able to provide feasible results
for many scenarios. Moreover, with the integer model no information is provided
on the number of activities that could not be performed. In this section we used
a mixed integer programming (MIP) model which we believe is more suitable for
WSRP. It introduces another binary decision variable for every activity per em-
ployee. This model, although requiring more memory resources, provides feasible
solutions for all instances and allows the solver to provide a lower bound and report
on gap between the lower bound and the feasible solution found. In this second
set of experiments the MIP model is used for all 375 instances in all 5 data sets.
The only difference in the experiment settings is that for each instance the solver
is now allowed to run for two hours only, unlike the unlimited execution time that
was used before.
Following our observations in the previous experiments, we now relax the con-
straint requiring all activities to be performed (constraint (2) in the IP model).
We then use the MIP model by Rasmussen et al (2012) to tackle all the adapted
instances from the 5 data sets. This model introduces a binary variable yi to in-
dicate whether activity i is performed or not (constraint (13) in the MIP model).
This MIP model requires the set of variables tki , corresponding to activity i’s start
k
time by employee k, to be a real positive value (see eq. (23)). The cost Cij in the
objective function (12) is calculated as travel time plus distance from i to j . It is
important to notice that in the Solomon’s based instances these two values (travel
k
time and distance) are the same. As it can be noticed Cij differs from the way the
cost cik of the previous IP Model is calculated. In the IP model cik depends on
k
the activity i and the employee k. Whereas in the MIP model the cost Cij varies
depending the starting point i and the ending point j . The weights (ω1 , ω2 , ω3 ) are
calculated as in Rasmussen et al (2012).
C represents the set of customer locations. The variables 0k and nk refer to the
starting and ending location for each employee k. This model supports different
starting and ending locations for each employee. The set of employees is defined
by K . N k = C ∪ {0k , nk } is the set of available locations for employee k. Time
window for activity i is given by αi for earliest start time and βi for latest start
time. The binary variables ρki indicate whether employee k can perform activity
i. These binary variables are used to match skill set or any other characteristic
that prevents the allocation of employees to activities. Binary variables yi are set
to 1 if activity i is left uncovered and 0 if an employee is assigned to it. Variables
skij indicate the duration of travel time from activity i to activity j for employee
k. These variables already include the duration of activity i when performed by
employee k. Scheduling variables tik capture the starting time of activity i when
performed by employee k. Employees’ working time is given by the terms αnk and
βnk which represent the start and the end working time for employee k. Connected
J. Arturo Castillo-Salazar et al
activities constraints are indicated by a set of pairs of activities P and for every
pair of activities i and j a constant value pij is given depending on the type of
connected activity constraint. Finally, binary variables xkij are set to 1 if employee
k moves to activity j after performing activity i.
X X X k k
XX X X
min ω1 Cij xij + ω2 δik xkij + ω3 γi yi (12)
k∈K i∈N k j∈N k k∈K i∈C j∈N k i∈C
X X
s.t. xkij + yi = 1 ∀ i ∈ C, (13)
k∈K j∈N k
X
xkij ≤ ρki ∀ k ∈ K, ∀ i ∈ C, (14)
j∈N k
X
xk0k ,j = 1 ∀ k ∈ K, (15)
j∈N k
X
xki,nk = 1 ∀ k ∈ K, (16)
i∈N k
X X
xkih − xkhj = 0 ∀ k ∈ K, ∀ h ∈ C, (17)
i∈N k j∈N k
X X
αi xkij ≤ tki ≤ βi xkij ∀ k ∈ K, ∀ i ∈ C ∪ {0k }, (18)
j∈N k j∈N k
Some instances in the data sets were changed in order to require two employees
to perform some tasks, since this type of teaming data was not present in any of the
original data sets. We implement this by creating an additional virtual activity for
every additional employee required. Then, we enforce a synchronisation constraint
between every pair of activities, i.e. the original and the virtual activity (Bredström
and Rönnqvist, 2008, p. 24). Additionally, we forbid transition between these pairs
of activities since an employee performing one of the activities cannot perform the
other activity too, because the aim is to have different employees. The prohibition
is achieved by never creating extra binary variables xkij between those activities.
This approach is illustrated in Figure 2.
Fig. 2: Modelling a virtual activity by creating a node (virtual activity 2) for the case in
which Activity 2 requires two employees. The dotted lines correspond to decision variables
that are not created for every employee, ensuring two employees are assigned to Activity 2
while reducing the size of the MIP model.
In order to use the 5 data sets mentioned in section 5.1, we made some adaptations.
In this section we describe such adaptations with reference to the key WSRP fea-
tures discussed in the survey part of this paper. The prefixes used to identify each
of the data sets are as follows: Sol refers to the 168 instances from Solomon (1987),
Mov refers to the 15 instances from Castro-Gutierrez et al (2011), HHC refers to
the 11 instances from Rasmussen et al (2012), Sec refers to the 180 instances from
Misir et al (2011) and Tech refers to the single instance from Günther and Nissen
(2012), for a total of 375 problem instances.
One of our objectives is to asses the difficulty of instances as employees and activ-
ities increase. The Mov, HHC, Sec and Tech data sets have a predefined number
of activities and employees.The Sol data set has only a number of activities, so
we set the number of employees in those instances to be a fifth of the number
of activities. This value was decided following our conversations with a service
J. Arturo Castillo-Salazar et al
Table 2: Number of activities per employee in each data set. a Only one instance so no
standard deviation provided.
Table 2 indicates the number of activities per employee in each group of in-
stances. Notice that within the Mov instances, it appears to be one employee per
activity (average 1.411). In this group there are a few employees on training and
cannot be assigned on their own to any activity due to lack of skills, but remain
included in the workforce. We acknowledge that leaving unskilled employees in the
workforce adds variables and constraints to the model but those are identified and
removed in the pre-processing state of the solver. Figure 3 gives an indication of
the ratio between the number of activities and number of employees. The plots
at the bottom of the figure belong to instances in HHC, Sec and Sol, where it is
clear that an employee has to perform more activities when compared to Mov and
Tech.
Fig. 3: Ratio between the number of activities and the number of employees in each data set.
Workforce Scheduling and Routing (WSRP)
Activities Duration
The activities duration affects the number of activities that can be performed
during the scheduling period. All data sets include the duration for every activity
so this feature is not adapted. In the Sec instances, the average duration is between
just above 5 hours for instances with up to 25 employees and 8 hours for instances
with more than 25 employees. All other data sets have an average activity duration
of 20 to 30 minutes. Figures 5 and 6 show the range of values for each data set
activities duration. We can see that most instances have a wide range of activities
durations with the exception of the Mov ones, where duration varies between 10
and 30 minutes only.
Time Horizon
The time horizon values for all instances in Sol, Mov, HHC and Tech are given
in the original data set. The time horizon in the original 6 instances of the Sec
data set is 1 month. Hence, we adapted these scenarios by splitting each 1-month
instance into 30 1-day instances (180 instances in total). Figure 7 shows the range
of time horizon lengths in the instances arising from each data set. We can see
that the majority of instances have a time horizon of 1 day (1440 min) or less and
only 24 instances have a time horizon of just over two days (3390 min).
J. Arturo Castillo-Salazar et al
Fig. 5: Range of activities duration (in minutes) values for HHC, Mov and Sol instances.
The figure show the minimum duration represented by the bottom of each bar, the average
duration contained in the label and the maximum duration at top of each bar.
Fig. 6: Range of activities duration (in minutes) values for Sec and Tech instances. The figure
show the minimum duration represented by the bottom of each bar, the average duration
contained in the label and the maximum duration at top of each bar.
Employee Skills
Fig. 7: Time horizons’ lengths for instances in each data set (after adapting the Sec ones).
The majority of instances are a day or less 1,444 min.
instances Mov 171 the average employee can perform 68% of the activities due
to skill matching. Nevertheless, in the same group there are also employees that
cannot perform any activity and those that can perform any of them. We can see
that in most of the instances there is at least one employee that cannot perform
any activity when their skills are taken into account. The HHC instances represent
scenarios where most of the employees have the skills that allow them to perform
a high percentage (above 80%) of the activities.
Fig. 8: Percentage of activities that employees can perform given their set of skills. The label
in each bar indicates the percentage of activities that the average employee can perform.
J. Arturo Castillo-Salazar et al
Time Windows
Instances in the considered data sets have a range of time window sizes. Figure 9
depicts the minimum, average and maximum time windows size for each group.
The Sol instances have the greatest variability of time window sizes ranging from
a strict starting time, time window duration 0, to a time window duration of the
size of the time horizon. Nevertheless, some instances in the Sol groups have the
same time window size for all the activities in the instance. For example, Figure 10
shows the time window duration for individual instances in the group Sol 20. In
some cases, all activities have the same time window size (no bar just a line in the
graph).
Fig. 9: Average, minimum and maximum time window duration (in minutes) for HHC, Mov,
Sec, Sol and Tech groups.
Fig. 10: Average, minimum and maximum time window duration (in minutes) for the 56
instances in the group Sol 20. Some instances do not have diversity in their time windows
duration.
Workforce Scheduling and Routing (WSRP)
Teaming
Teaming is used when activities require more than one employee. The original
data sets did not provide information regarding this feature although it is often
mentioned in the literature. Our approach for adapting the data sets to include
this feature was to set the need for having 2 employees to perform an activity with
a probability of 0.10 for the Sol and Mov instances and, a probability of 0.20 for
the Sec instances. The HHC and Tech instances were left requiring one employee
only per activity. Then on average, activities in the Mov, Sec and Sol instances
require more than 1 employee and this is illustrated in Figure 11.
Fig. 11: Mov, Sec and Sol groups of instances (where teaming was generated). This graph
shows the average, minimum and maximum number of employees needed per activity.
Connected Activities
As explained earlier in section 2.2, connected activities arise when there is a de-
pendency between two activities. Such dependencies, although present in the real
world, are not incorporated in most instances from the literature with the exception
of those by Rasmussen et al (2012). Since the HHC instances already incorporate
connected activities, no adaptation was necessary. However, since the other 4 data
sets do not contain this information, we adopt the 5 types of precedence con-
straints: synchronisation, overlap, minimum difference, maximum difference and
minimum-maximum difference proposed in (Rasmussen et al, 2012, p. 601) and
include them in the groups of instances Sol, Mov, Sec and Tech.
In the procedure to generate connected activities we needed to consider the al-
ready given time windows for each activity. Otherwise, we could create constraints
not possible to satisfy (as experienced in our first set of experiments). For each
activity, the procedure seeks to set a connection with another activity with a prob-
ability of 0.25 and then the type of connection (precedence constraint) to establish
J. Arturo Castillo-Salazar et al
This section presents the results of our experiments using the MIP model (see sec-
tion 5.4) to tackle all the instances adapted as described above. The Gurobi solver
version 5.1 was used with all default parameters left unchanged, with exception
of the computing time limit set to 2 hours maximum, a value obtained previously
(see Fig. 1), for each instance. Out of the 375 instances, the solver found feasible
solutions for 356 of them. For 11 of the remaining 19 instances, it was not possible
to load the model with our settings. We observe that all these instances are the
larger ones in the Mov group (those with 150 or more activities). However, this is
not a definitive indication of the instance difficulty because some scenarios with
more than 150 activities were solved, although in those cases the number of em-
ployees was less than 100. The scenario with the largest number of activities and
employees for which Gurobi found a solution, has 210 activities and 52 employees.
For the other 8 of the 19 instances, the solver reported an out of memory error
very early in the process. These instances are part of the Sec group.
The Mov 103 group could not be loaded despite other instances with up to 210
activities were loaded and provided with feasible solutions by the solver. We be-
lieve that the large number of employees is the issue here. If most activities in the
Mov 103 instances had a duration of more than 50% of the time horizon length,
it could be said the number of employees is not too large since an employee could
only perform one activity during the time horizon. But this is not the case. In-
stances in Mov 103 have an average activity duration of 20 minutes as shown in
Figure 5 and a time horizon of 480 minutes (see Fig. 7). Therefore, employees in
Workforce Scheduling and Routing (WSRP)
these instances are able to perform more than two activities per day, resulting in
having much more employees than needed. It could also be said that, if on aver-
age employees are not skilled enough to perform all activities, then the number
of employees is not too large. But this is not the case either because the average
employee in these instances can perform 76% of the activities as shown in Figure
8. Despite this, we left the number of employees in all Mov instances unchanged
(the deliberate over-staffing in these instances was confirmed by the authors of
those Mov instances). Including all employees significantly increases the number
of constraints and variables in the model to a degree that such instances could
not be loaded into the solver given our hardware settings. Reducing the number of
available workers while maintaining all other features unchanged in these scenarios
and solving them is kept for future investigation.
During the optimisation process, Gurobi provides information about the gap be-
tween the lower bound and the current feasible solution (if it exists). Such Gap for
the 356 solved instances is shown in Figure 12, where we can observe a widespread
range of values across the instances. The figure uses the id of each instance in the
horizontal axis: Sol [1, 168]; Sec [169, 348]; Mov [349, 363]; HHC [364, 374] HHC,
Tech [375]. It is noticeable that optimality was achieved for some of the Sol and
Mov instances (gap value of zero). On the contrary, for Sec the solver reported a
gap of more than 50% in most of the cases (see Fig. 13).
Fig. 12: Percentage gap values for 356 instances where the solver found feasible solutions.
In order to achieve a better understanding of the difficulty of the WSRP, we
further analyse the gap results for the instances in each data set. Figure 13 shows
the gap results for the instances that were adapted from each of the original data
sets (except Tech which could not be solved). It is clearer that the Sec instances
are more difficult to solve given the larger number of high gap values reported.
This can be confirmed in the corresponding box plot in Figure 14 which shows a
median of 67%. On the contrary, low gap values were reported for the Sol instances
with a median of just above 20%. For the mayority of HHC instances the gap value
is between 40% and 70%. In the HHC and Sec data sets, no instance was solved to
optimality. The worst gap value was reported within HHC (92% for hh 00 WSRP).
The results shown for the Mov data sets are for the 5 solved instances all with 50
activities and 38 employees. For all of them an optimal solution was found.
J. Arturo Castillo-Salazar et al
Fig. 13: Distribution of gap percentage values reported for each instance in each data set.
Fig. 14: Aggregated gap percentage values reported for the instances in each data set.
Figure 15 plots the gap values reported for all instances within different groups
with respect to the number of employees. Looking at the three HHC groups it is
clear that the smaller the size of the workforce, the better the gap value achieved.
A similar observation can be made for the Sec instances, the achieved gap value
worsens as the number of employees increases (the group Sec 55 is not reported
because all three instances are amongst the 19 instances that could not be solved
in our experiments). Note that this tendency is not clear for the Sol instances.
Looking at the box plot of the Sol group in Figure 16 we can see that 50% of the
instances with 10 employees (Sol 10) report a gap value below 5%. Also, 50% of
the instances with 5 employees (Sol 5) report a gap of 15%. That is, more instances
in Sol 10 report a better gap than instances in Sol 5.
Workforce Scheduling and Routing (WSRP)
Fig. 15: Distribution of gap percentage values reported for each instance grouped by data set
and number of employees.
Fig. 16: Aggregate gap percentage values reported for each group of instances according to
the number of employees.
6 Conclusion
survey also sought to identify similarities between these problems in order to define
the core characteristics that any WSRP would have. Those core characteristics in-
clude: time windows, transportation modalities, start and end locations, a diverse
skilled workforce, activities service time and precedence relationship between ac-
tivities. In addition, there are other characteristics such as personnel teaming and
clusterisation of locations among perhaps others, that sometimes arise in WSRP.
The survey part of this paper also sought to identify the solution methods
that have been employed in the literature when tackling WSRP scenarios. Since
the WSRP combines employee scheduling and vehicle routing with time windows,
there seems to be a clear tendency to apply exact approaches for the routing com-
ponent of the problem, and to apply heuristics for the matching of employees to
activities. Among other approaches for solving WSRP, we found mixed integer
linear programming (MIP), integer linear programming (IP) and constraint pro-
gramming (CP) using set partitioning and multi-commodity network flow models.
Also, a variety of meta-heuristics such as tabu search (TS), particle swarm opti-
misation (PSO) and simulated annealing (SA) have been applied to tackle WSRP.
In the second part of this paper we presented our computational study. The
study used two models, an IP and an MIP to tackle instances adapted from the
literature. The instances belong to problems that could be treated as WSRP after
some adaptations such as increasing the number of employees for an activity, and
adding skill matching and precedence constraints, etc. We performed an analysis
of the characteristics of the instances taking into account: the size of their time
horizon which for the majority is less than a day; the duration of the activities
which range from a few minutes to up to 8 hours; the abilities of the workforce
given their skills; and the size of the activities’ time windows.
Results when using the IP model suggest that, if the number of activities
reaches 100 and we aim to schedule all of them, a commercial solver running on
a conventional personal computer struggles to reach an optimal solution and in
some cases even a feasible one. If we allow activities to be unscheduled at a cost,
then feasible solutions are found for instances with up to 210 activities. Finally,
we suggest that setting an adequate number of available employees should take
into account their skill set and the duration of activities. Our results showed that
sometimes instances with fewer employees could be more difficult to solve if those
employees are less skilled.
We consider some extensions for future work. Firstly, to perform more analysis
into the interaction between the WSRP characteristics by varying each data set
independently. Secondly, to apply a different MIP model or extend the one by Ras-
mussen et al (2012), seeking to include other features such as: employees capacity
(number of hours allowed to work within the time horizon), employees breaks, and
balancing the number of activities in routes. Lastly, in our study we have used
exact approaches only, other algorithms such as metaheuristic and evolutionary
computation should be explored to tackle our adapted WSRP instances.
References
De Angelis V (1998) Planning home assistance for aids patients in the city of rome,
italy. Interfaces 28(3):75–83
Desaulniers G, Lavigne J, Soumis F (1998) Multi-depot vehicle scheduling prob-
lems with time windows and waiting costs. European Journal of Operational
Research 111(3):479–494
Desrochers M, Desrosiers J, Solomon M (1992) A new optimization algorithm for
the vehicle routing problem with time windows. Operations research 40(2):342–
354
Desrosiers J, Lübbecke ME (2005) A primer in column generation. In: Desaulniers
G, Desrosiers J, Solomon MM (eds) Column Generation, Springer, chap 1, pp
1–32
Dohn A, Rasmussen MS, Justesen T, Larsen J (2008) The home care crew schedul-
ing problem. In: Sheibani K (ed) Proceedings of the 1st International Conference
on Applied Operational Research, Lecture Notes in Management Science, vol 1,
pp 1–8
Dohn A, Kolind E, Clausen J (2009) The manpower allocation problem with time
windows and job-teaming constraints: A branch-and-price approach. Computers
& Operations Research 36(4):1145–1157
Eaton SC (2003) if you can use them: Flexibility policies, organizational commit-
ment, and perceived performance. Industrial Relations: A Journal of Economy
and Society 42(2):145–167
Ernst A, Jiang H, Krishnamoorthy M, Sier D (2004) Staff scheduling and rostering:
A review of applications, methods and models. European journal of operational
research 153(1):3–27
Eveborn P, Flisberg P, Rönnqvist M (2006) Laps care an operational system
for staff planning of home care. European Journal of Operational Research
171(3):962–976
Eveborn P, Rönnqvist M, Einarsdóttir H, Eklund M, Lidén K, Almroth M (2009)
Operations research improves quality and efficiency in home care. Interfaces
39(1):18–34
Fischetti M, Polo C, Scantamburlo M (2004) A local branching heuristic for mixed-
integer programs with 2-level variables, with an application to a telecommuni-
cation network design problem. Networks 44(2):61–72
Fosgerau M, Engelson L (2011) The value of travel time variance. Transportation
Research Part B: Methodological 45(1):1–8
Golembiewski R, Proehl Jr C (1978) A survey of the empirical literature on flexi-
ble workhours: Character and consequences of a major innovation. Academy of
Management Review 3(4):837–853
Günther M, Nissen V (2012) Application of particle swarm optimization to the
british telecom workforce scheduling problem. In: Proceedings of the 9th In-
ternational Conference on the Practice and Theory of Automated Timetabling
(PATAT 2012), Son, Norway, pp 242–256
Itabashi G, Chiba M, Takahashi K, Kato Y (2006) A support system for home care
service based on multi-agent system. In: Proceedings of the Fifth International
Conference on Information, Communications and Signal Processing 2005, pp
1052–1056
Jara-Dı́az S (2000) Allocation and valuation of travel time savings. In: Hensher
DA, Button KJ (eds) Handbook of transport modelling, vol 1, Emerald Group
Publishing, chap 18, pp 303–318
Workforce Scheduling and Routing (WSRP)