Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE
ACADEMIEJAAR 2012 - 2013
INTEGER PROGRAMMING FOR THE TOUR
SCHEDULING PROBLEM: MODELLING AND
MATHEMATICAL PROGRAMMING
Masterproef voorgedragen tot het bekomen van de graad van
Master of Science in de Toegepaste Economische Wetenschappen: Handelsingenieur
Stijn IMMESOETE
Onder leiding van
Prof. Dr. Broos Maenhout
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE
ACADEMIEJAAR 2012 - 2013
INTEGER PROGRAMMING FOR THE TOUR
SCHEDULING PROBLEM: MODELLING AND
MATHEMATICAL PROGRAMMING
Masterproef voorgedragen tot het bekomen van de graad van
Master of Science in de Toegepaste Economische Wetenschappen: Handelsingenieur
Stijn IMMESOETE
Onder leiding van
Prof. Dr. Broos Maenhout
i
ii
Permission
Ondergetekende verklaart dat de inhoud van deze masterproef mag geraadpleegd en/of
gereproduceerd worden, mits bronvermelding.
Stijn Immesoete
iii
Preface
Het opmaken van een thesis is een werk van lange adem. Gelukkig waren er verscheidene personen
die mij hierin sterk hebben ondersteund.
Allereerst wil ik dan ook een dankwoord uitbrengen aan Prof. Dr. Broos Maenhout, begeleider en
tevens promotor van deze thesis. Wat ik van harte heb kunnen waarderen tijdens onze anderhalf jaar
durende samenwerking is uw enorme paraatheid en bereidwilligheid. In eerste instantie denk ik
hierbij aan de telkenmale erg snelle respons bij de vele vragen die ik had voor of na één van onze
vergaderingen. Bovendien had u ook een sterk inhoudelijke en efficiënte aanpak indien er zich een
probleem stelde. Dit leidde niet alleen tot significante tijdswinst voor beide partijen maar ook tot een
meer gefundeerde thesis.
Ten tweede zou ik een algemeen woord van dank willen uitbrengen aan de faculteit economie en
bedrijfskunde (FEB). Gedurende mijn vijf jaar lange opleiding hebben zij mij de gelegenheid gegeven
om mijn interesseveld sterk te verdiepen en te verruimen. Deze extra bagage bleek recentelijk nog
een ideale doorstart te vormen naar het verdere bedrijfsleven. Daarenboven heb ik jarenlang mogen
gebruik maken van de prachtige bibliotheek die de FEB tot zijn bezit heeft. Meerdere malen heeft
deze ruimte mij kunnen inspireren en aanzetten tot het voltooien van de talloze groepswerken.
Ten laatste zou ik mijn familie en vrienden willen bedanken waar ik ettelijke malen beroep op heb
gedaan. Dank u allen voor uw blijvende steun.
Stijn Immesoete
iv
Content
Abbreviations ........................................................................................................................................ vi
List with figures .................................................................................................................................... vii
List with tables .................................................................................................................................... viii
1. Introduction ................................................................................................................................... 1
1.1. Subject motivation ................................................................................................................. 1
1.2. Context of the problem .......................................................................................................... 1
1.3. Focus of the research ............................................................................................................. 2
1.3.1. The personnel planning pyramid .................................................................................... 2
1.3.2. The relation between the staffing- and scheduling decision .......................................... 4
1.3.3. The tour scheduling problem .......................................................................................... 5
1.4. Outline .................................................................................................................................... 5
2. Literature Study: the Tour Scheduling Problem ............................................................................. 7
2.1. Visualising a tour .................................................................................................................... 8
2.2. Mathematical formulation: a standardized approach ............................................................ 9
2.2.1. A set-covering model (SCM) ........................................................................................... 9
2.2.2. An implicit model (IM) .................................................................................................. 11
2.2.3. A derivative model ........................................................................................................ 13
2.3. Different aspects of a tour scheduling model: Literature review ......................................... 15
2.3.1. Objective function(s) .................................................................................................... 16
2.3.2. Decision variables ......................................................................................................... 20
2.3.3. Personnel characteristics .............................................................................................. 22
2.3.4. Shift definitions............................................................................................................. 23
2.3.5. Constraints.................................................................................................................... 27
2.4. The link between theory and practice .................................................................................. 44
v
3. Programming the Tour Scheduling Problem: Modelling and Analysis .......................................... 45
3.1. Model formulations .............................................................................................................. 46
3.1.1. Model 1: Set-covering model (SCM) ............................................................................. 46
3.1.2. Model 2: Implicit model (IM) ........................................................................................ 51
3.1.3. Model 3: Hybrid model (HM) ........................................................................................ 55
3.2. Solution methodology .......................................................................................................... 61
3.2.1. Settings ......................................................................................................................... 62
3.2.2. Demand pattern generator ........................................................................................... 64
3.2.3. Tour generator.............................................................................................................. 66
3.2.4. Cost Generator ............................................................................................................. 76
3.2.5. Optimization ................................................................................................................. 77
3.3. Results .................................................................................................................................. 78
3.3.1. Baseline model (BM)..................................................................................................... 79
3.3.2. Scenario 1: Objective function modification: minimize the workforce size .................. 83
3.3.3. Scenario 2: Break placement ........................................................................................ 85
3.3.4. Scenario 3: Intra-tour start-time flexibility (IM only) .................................................... 87
3.3.5. Scenario 4: High- and low skilled employees ................................................................ 89
3.3.6. Scenario 5: demand pattern modification & the relationship with PT employees ....... 91
4. Conclusion .................................................................................................................................... 99
5. Limitations and Future Recommendations................................................................................. 102
References ............................................................................................................................................. x
Appendix A: Overview table of tour scheduling Characteristics ........................................................... xv
Appendix B: Detailed setup for the Baseline model .......................................................................... xviii
Appendix C: Results of changing the FT/PT ratio of the BM ................................................................. xx
Appendix C: Results of changing the cost PT ratio of the BM .............................................................. xxi
vi
Abbreviations
BM Baseline Model
BR Break Window
BW Band Width
FT Full-time
HM Hybrid Model
IM Implicit Model
PT Part-time
SCM Set-covering Model
TSM Tour Scheduling Model
TSP Tour Scheduling Problem
vii
List with figures
Figure 1: The Personnel Planning Pyramid ............................................................................................. 3
Figure 2: Tour Scheduling Characteristics: ‘Roadmap’ ......................................................................... 16
Figure 3: Main components of the tour scheduling optimization system ............................................ 62
Figure 4: Subdivisions of the component ‘Settings’.............................................................................. 62
Figure 5: Lower- and upper bound for the random bounded demand generator ................................ 66
Figure 6: Set-covering method: subdivisions of the ‘Tour Generator’ component .............................. 67
Figure 7: Implicit method: Subdivisions of the component ‘Tour Generator’ ...................................... 71
Figure 8: Hybrid method: Subdivisions of the component ‘Tour Generator’ ....................................... 74
Figure 9: Cost generator: transformation process ................................................................................ 76
Figure 10: Default cost per period per day ........................................................................................... 76
Figure 11: Subdivisions of the component ‘Optimization’ .................................................................... 77
Figure 12: BMs – coverage patterns ..................................................................................................... 82
Figure 13: Scenario 1 – Total work schedule cost and -workforce size ................................................ 84
Figure 14: Scenario 1 – Average daily surplus coverage ....................................................................... 84
Figure 15: Scenario 2 – Rows and columns .......................................................................................... 85
Figure 16: Scenario 2 – Total work schedule cost and -workforce size ................................................ 87
Figure 17: Scenario 3 – Total work schedule costs ............................................................................... 88
Figure 18: Scenario 4 – Workforce distribution and total work schedule cost for the IM .................... 91
Figure 19: Scenario 5 – Demand patterns considered .......................................................................... 93
Figure 20: Scenario 5 – Total work schedule cost with and without PT employees ............................. 94
Figure 21: Scenario 5 – Difference in total work schedule cost with and without PT employees ........ 97
Figure 22: Scenario 5 – Absolute and relative cost difference per demand pattern ............................ 98
viii
List with tables
Table 1: Visualisation of a tour – representation 1: one shift per day .................................................... 8
Table 2: Visualisation of a tour – representation 2: all shifts per day .................................................... 8
Table 3: Visualisation of a tour – representation 3: binary representation ............................................ 8
Table 4: A standard Tour scheduling problem: Set-covering Model..................................................... 10
Table 5: Objective Function(s) .............................................................................................................. 20
Table 6: Type of Decision Variable(s) ................................................................................................... 22
Table 7: Personnel characteristics ........................................................................................................ 23
Table 8: Shift definitions + Break placement ........................................................................................ 26
Table 9: Coverage constraints .............................................................................................................. 29
Table 10: Assignment constraints ........................................................................................................ 30
Table 11: Consecutiveness constraints ................................................................................................. 32
Table 12: Working hour constraints ..................................................................................................... 34
Table 13: Holiday/days off constraint .................................................................................................. 34
Table 14: Work pattern constraints...................................................................................................... 35
Table 15: Weekend constraints ............................................................................................................ 37
Table 16: Ratio constraint .................................................................................................................... 38
Table 17: Balancing constraint and Tutorship ...................................................................................... 39
Table 18: Constraints – Overview ......................................................................................................... 42
Table 19: Frequency of constraint-usage ............................................................................................. 43
Table 20: Trend generation .................................................................................................................. 65
Table 21: Set-covering method: output of step 1 of the ‘Tour Generator’ component ....................... 67
Table 22: Set-covering method: impact of 14 time-related constraints ............................................... 68
Table 23: Set-covering method: feasible tours after step 1 of the ‘Tour Generator’ component ........ 69
Table 24: Set-covering method: transforming a single day from step 1 to step 2 ................................ 70
ix
Table 25: Set-covering method: break placement for a shift of 10 hours with a BR of 5 ..................... 70
Table 26: Implicit method: output of the days-off scheduling subcomponent .................................... 72
Table 27: Implicit method: output of the shift scheduling subcomponent .......................................... 73
Table 28: Implicit method: break placement........................................................................................ 74
Table 29: Comparison of the variables under implicit- and hybrid modelling ...................................... 75
Table 30: Hybrid method: output of the shift scheduling subcomponent ............................................ 75
Table 31: Cost Generator: Transformation formulas ............................................................................ 77
Table 32: BMs – summary of the results .............................................................................................. 80
Table 33: Scenario 1 – summary of the results..................................................................................... 83
Table 34: Scenario 2 – summary of the results..................................................................................... 86
Table 35: Scenario 3 – summary of the results..................................................................................... 88
Table 36: Scenario 4 – summary of the results..................................................................................... 90
Table 37: Mean and standard deviation for low and high variable demand patterns .......................... 94
Table 38: Scenario 5 – summary of the results (a) ............................................................................... 95
Table 39: Scenario 5 – summary of the results (b) ............................................................................... 96
1
Chapter 1
1. Introduction
1.1. Subject motivation
This thesis is built around a wide-ranging literature study which is the starting point of the
development and analysis of a mathematical programming formulation. In detail, this thesis is about
the tour scheduling problem (TSP) which is on turn a very important field of study within the domain
of personnel planning. The goal is to gain increasing knowledge in this specific part of personnel
planning to develop a mathematical integer programming formulation that is able to analyse all the
different aspects included in tour scheduling.
This combination of studying literature which is rich of mathematics and particularly the possibility to
program an optimization model has encouraged me to put an extensive amount of time and effort in
this thesis. Above that, the subject perfectly fits with my studies as a business engineer specialised in
operational management. In this respect, I am convinced that this work will help me to develop new
skills and acquire the necessary experience to start with my future career as a consultant.
1.2. Context of the problem
In many industries or branches, like services (e.g. health care, call centers, etc.), transportation (e.g.
airline, railway, bus, etc.) or retail, personnel is one of the main cost drivers. Hence, ensuring that the
workforce is efficiently and effectively allocated is an absolute must, especially in profit
organisations. However, this allocation is not as easy as it seems and can be very complex.
On the one hand, the complexity in allocating personnel is due to the differences between persons
and goods. As a case in point, the volatility of demand is a much bigger problem for service
organisations than for product manufacturers. While goods can be kept in stock, peak -or near-peak
demand conditions in service organisations must be compensated with expensive overtime hours,
extra temporarily employees or reallocation of the personnel. On the other hand, both employers
2
and employees impose several restrictions or rules which have to be fulfilled simultaneously. The
following topics are often included in the discussion about staffing the demand pattern: length and
number of shift types, number of consecutive days on/off, rest time between assignments, free days,
weekend regulations, fairness among the employees (balancing the workload), and so on.
Furthermore, in every country numerous working rules and laws are imposed by local governments,
labor unions and Collective Bargaining Agreements (CBA’s).
In order to deal with all these rules and restrictions professors, scholars, researchers, engineers,
mathematicians and other people specialized in the field of personnel planning have tried to develop
adequate mathematical formulations which could be solved by optimisation software. Main purpose
is to both fulfil the objectives of the organisation and satisfy those imposed by the employees.
Throughout the past decades, formulations have become very complex because more and more
restrictions and rules were taken into account. This, of course, results in a more adequate personnel
planning model but also has it disadvantages. One of these setbacks is the larger CPU time to solve
the master scheduling problem.
1.3. Focus of the research
The objective of this thesis is to gain deeper understanding in the TSP. But before I explain this
specific type of personnel planning, it is important to understand the overall decision framework and
its characteristics.
1.3.1. The personnel planning pyramid
As mentioned before, a personnel planning is for many organisations a crucial aspect, especially in
combination with the continuously increasing cost consciousness in our current global business
environment. Therefore, it is necessary to understand personnel planning in all of its aspects.
Personnel planning has many definitions, one of them is cited below:
“The process of constructing work timetables for its staff so that an organisation
can satisfy the demand for its goods or services.” (Ernst et al., 2004a)
This process is divided in three interrelated decision domains commonly spanning a horizon of one
year (Warner, 1976a and Maier-Rothe et al., 1973) (See Figure 1):
3
Figure 1: The Personnel Planning Pyramid
The first decision or staffing decision has a long term time scope and is also known as demand
modelling or the strategic phase of personnel planning. People of the organisation determine
annually or semi-annually the number of staff members of each skill class. Based on the way this
number is calculated, we distinguish three categories: task based demand, flexible demand and shift
based demand. For a more detailed explanation of these categories I refer the interested reader to
Ernst et al. (2004a).
The scheduling decision is the next step in the pyramid of personnel planning. This step is consistent
with work schedule modelling and corresponds to the tactical phase of personnel planning, which
has a medium term time scope. Every month (or other similar time period) each staff member needs
a schedule that sets his/her working hours, breaks and off days. This decision is often strongly
influenced by the preferences of the employee. Three broad categories are commonly stated here:
days-off scheduling, shift scheduling and line of work construction or tour scheduling:
- Days-off scheduling handles the determination of nonwork days in the schedule. This decision
should not be taken overnight because “the pattern of the nonwork days in the working period
is highly related to staff satisfaction” (Felici et al., 2004). The problem itself is about matching
the working week of an employee, often four or five days, with the operating week in the
facility (mostly seven days).
Staffing decision - Strategic phase
Scheduling decision - Tactical phase
Allocation decision - Operational phase
Feedback
Feedback
4
- “Shift scheduling, also called time-of-day scheduling, deals with the problem of selecting, from
a potentially large pool of candidates, what shifts are to be worked, together with an
assignment of the number of employees to each shift, in order to meet demand” (Ernst et al.,
2004a). In general, two types are often distinguished: a schedule with non-overlapping shifts,
which is the simplest approach, and another one which studies the shift scheduling problem
when shifts do overlap.
- Line of work construction (often referred to as tour scheduling when dealing with flexible
demand) is nothing more than the design of a proper work schedule. It is a generalized form of
the previous two categories, so both dealing with days-off scheduling and shift scheduling.
The final step in the personnel planning pyramid is the allocation decision. This step corresponds to
the operational phase and is nothing more than the daily ‘fine tuning’ of the work schedule or
matching the daily variability in supply and demand.
Some papers mention the existence of a fourth decision that needs be the taken into account,
namely the assignment decision (Warner, 1976a). However, this and the previous step do not lie in
the scope of this thesis and will not be cited any further.
1.3.2. The relation between the staffing- and scheduling decision
The vast majority of papers dealing with the staffing- or scheduling decision can be placed within the
personnel planning pyramid mentioned above. Some articles only deal with the staffing- or
scheduling decision, while others handle both.
One reason for the decomposition of the rostering problem can be that the staffing decision is often
made in conjunction with the budgeting- or finance office, while scheduling decisions are typically
made by employees who stand closer to the labourers. Another, more practical, reason is the
computational effort. Logically, models that try to solve both the staffing –and scheduling decision
will take more time than if you would solve them separately. On top of that, “a common problem
associated with the integration of staffing and scheduling decisions is that strict enforcement of
aggregate staffing decisions can lead to infeasibility at the scheduling phase” (Venkataraman et al.,
1996). In literature, this problem is frequently solved by introducing hard –and soft constraints. In
the next chapter I will go into more detail about the difference between these two types of
constraints.
5
Nevertheless, combining both the staffing –and scheduling decision also has its advantages. In terms
of creating the best work schedules, it is better to create models that deal both with staffing and
scheduling. Furthermore, inefficient staffing decisions can lead to expensive scheduling decisions
which are based on more accurate forecasts (Abernathy et al., 1973). Also, every scheduling decision
“requires the support of the longer-term aggregate staffing decision since labor to be scheduled in
each period reflects the current staffing capabilities” (Venkataraman et al., 1996) and future
demands.
1.3.3. The tour scheduling problem
The purpose of this thesis is to focus only on one particular domain of the personnel planning
pyramid, namely the TSP. This particular field of personnel planning is gaining a lot of interest in the
past couple of decades, especially because of its wide usage domain in many kinds of application
areas, “potential benefits of lower costs and improved productivity which can be realized from the
efficient utilization of labor” (Brusco et al., 1995).
“The standard tour scheduling problem is to simultaneously determine daily shift start times and days
worked patterns that minimize cost over a one week planning cycle while meeting
labor coverage requirements for each planning period” (Isken, 2004).
As stated in this definition, the TSP covers both the shift- and days-off scheduling problem, both part
of the tactical phase of personnel planning. Logically, when the rostering horizon covers only one
day, the TSP converts into shift scheduling. If there is only a single shift scheduled each day, the TSP
is equivalent to the days-off scheduling problem. In turn, “a tour is defined by a set of work days, and
the daily shifts for each work day, for a planning horizon of one or more weeks” (Brusco, 1998).
1.4. Outline
The remainder of this thesis is organized as follows. Chapter 2 captures a wide ranging literature
study about tour scheduling. First, the core of the TSP is revealed by providing a definition and a clear
visual representation of a tour. Secondly, I will discuss the different mathematical approaches to
solve the TSP. These standardized approaches are very limited which makes it possible to make an in-
depth study. Thirdly, a ‘roadmap’ is demonstrated summarizing all the different tour scheduling
categories. As the reader will find out later on, there are five main categories: the objective
6
function(s), the decision variable(s), the personnel characteristics, the shift definitions and the
constraints. Each tour scheduling category is then further subdivided and studied extensively. This
study is performed by comparing the subcategories for more than 40 papers coping with the TSP.
The last section of chapter 2 points out how the tour scheduling categories will be incorporated in
the next chapter. The latter is built around programming the two basic tour scheduling approaches,
an (explicit) set-covering model (SCM) and an implicit model (IM). Above that, a third model is
suggested which combines the tour generation steps of previous two models. The first section of
chapter 3 provides for each model a complete mathematical programming formulation. The latter is
based on their respective basic models explained in chapter 2 and all of the different tour scheduling
characteristics found in the existing literature. In section 3.2 I will discuss the solution methodology
of the programs. We can distinguish five main components: the settings, a demand pattern
generator, a tour generator, a cost generator and a final optimization step. For each component, the
differences and similarities between the three models are argued into detail. The last section of
chapter 3 presents for each model the (computational) results for a specific scenario. These scenarios
give more insight in the impact of modifying the subcategories of the 5 main tour scheduling
components identified in chapter 2. In chapter 4, general conclusions are drawn. Chapter 5 captures
the limitations of this thesis and directions for future research are given.
7
Chapter 2
2. Literature Study: the Tour Scheduling Problem
The amount of literature studying the art of personal planning has exploded the past couple of
decades. Two reasons are unquestionably part of the root cause of this phenomenon. First,
organisations are faced with a continuously rising cost per person. For this reason, it is evident that,
certainly profit organisations, are exploring any kind of method which could help in reducing their
total personnel cost. A more efficient and effective personnel planning method is definitely part of
this. As a case in point, it is often seen that companies hire specialized institutions or ask universities
to develop state-of-the-art personnel scheduling software. Another reason is found in the world of
information technology. Significant improvements are made in computer software which makes it
possible to include more specifications and, hence, better align the requirements of both the
employer and the employees. This, in turn, broadens the playing field for researchers to study the art
of personnel planning.
Being part of personnel planning, tour scheduling has seen the same expansion in literary work.
Comprehensive surveys of the TSP in the early years of research are provided in Baker (1976), and
Tien and Kamiyama (1982). For the period 1990-2001, a complete survey is found in Alfares (2004).
Ernst et al. (2004b) covers both time periods starting from 1970 until 2004. For the period 2004 until
July, 1st 2012, J. Van den Bergh et al. (2012) identify 291 articles about personnel scheduling, mostly
dealing with shift scheduling and tour scheduling. This is not a complete set of articles on personnel
scheduling, but the authors state that “they have identified a set that is representative of the work
carried out by the research community”. Almost every paper referred to in the next paragraphs
and/or chapters, is part of at least one of these review articles stated above. Other, more general,
interesting review articles are Burke et al. (2004) and Ernst et al. (2004a).
In what follows I will try to make the reader comfortable in the wide spectrum of tour scheduling
literature. First, a tour is defined and three different visualisation techniques are illustrated. Next,
mathematical formulations are introduced, together with a short explanation of key papers
addressing the respective TSP. Finally, a distinction is made between five tour scheduling categories.
8
2.1. Visualising a tour
In literature, there are several commonly used visualisation techniques to represent a tour.
Remember, “a tour is defined by a set of work days, and the daily shifts for each work day, for a
planning horizon of one or more weeks” (Brusco, 1998). Let us now assume that a work week
consists of seven days and each day there are three working shifts: the early shift (E) from 6am until
2pm, the late shift (L) from 2pm until 10pm and the night shift (N) from 10pm until 6am. One
possible method to represent a tour is by mentioning for each worker and for each day, the shifts
they have worked. For example, in table 1 each row represents one single tour. The ‘F’ stands for a
free shift or in other words for a nonworking day:
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
Worker 1 E E F F L L L
Worker 2 L L E E E F F
Worker 3 N N L L F F N
Table 1: Visualisation of a tour – representation 1: one shift per day
Another, very similar, representation method makes use of crosses to link each worker to a certain
shift. This method has the advantage that it is very easy to interpret and analyze (see table 2):
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
E L N F E L N F E L N F E L N F E L N F E L N F E L N F
Worker 1 x x x x x x x
Worker 2 x x x x x x x
Worker 3 x x x x x x x
Table 2: Visualisation of a tour – representation 2: all shifts per day
The final method or binary representation method in table 3 is less user friendly but easier to cope
with if the data has to be used by programmers:
Worker 1 1000 – 1000 – 0001 – 0001 – 0100 – 0100 – 0100
Worker 2 0100 – 0100 – 1000 – 1000 – 1000 – 0001 – 0001
Worker 3 0010 – 0010 – 0100 – 0100 – 0001 – 0001 – 0010
Table 3: Visualisation of a tour – representation 3: binary representation
9
Minimize
S.t.
2.2. Mathematical formulation: a standardized approach
The TSP is in its most basic approach always represented as a set-covering formulation. The latter is a
type of model in which the objective is to cover the demand for staff (Ernst et al., 2004b). In what
follows, a distinction is made between an explicit- and an implicit set-covering formulation. The
former represents each tour by a separate integer variable (Easton and Rossin, 1991a). This integer
variable consists of a set of specific days worked during the week (days-off scheduling), together with
a pattern of shifts or shift starting times (shift scheduling). The implicit approach uses a combination
of variables whereby shifts are represented by “starting-time bands” and days-on patterns. In
addition, tours are formed after optimizing the problem. Because the explicit approach is the oldest
and most basic one, researchers often assume that the default setting for TSPs is an explicit set-
covering one. In other words, no distinction is made any more between explicit and implicit set-
covering formulations, but between set-covering- and implicit modelling. In what follows we will also
see that there is a commonly used derivative tour scheduling model (TSM), especially applied in
nurse scheduling.
2.2.1. A set-covering model (SCM)
Based on the general SCM of Dantzig (1954) and the firstly developed integer programming
formulation for TSPs of Morris and Showalter (1983), we can make a clear mathematical distinction
between shift scheduling, days-off scheduling and tour scheduling:
∑( )
∑( )
p = 1, 2, …, P;
j = 1, 2, …, J;
with 1 ≤ J ≤ 7
t = 1, 2, …, T.
10
Shift scheduling Days-off scheduling Tour scheduling
xt Number of employees
assigned to daily shift t
Number of employees
assigned to days-off pattern t
Number of employees
assigned to tour t
ct Cost of shift t Cost of days-off pattern t Cost of tour t
dpj
Required staffing level for
time period p (day j is not
considered)
Required staffing level for day
j (period p is not considered)
Required staffing level for
time period p, day j
apjt
1 if time period p is a work
period in daily shift type t, 0
otherwise (day j is not
considered)
1 if day j is a work day in the
days-off pattern t, 0
otherwise (period p is not
considered)
1 if time period p is a work
period and day j is a work day
in tour t, 0 otherwise
T
(index t) Set of shift types Set of days-off patterns Set of tour types
P
(index p)
Set of time periods to be
scheduled over a single day
Set of planning periods to be
scheduled over the week,
where the planning period is
defined by the period-day
pair (p, j)
J
(index j)
Set of days per week that the
system operates
Table 4: A standard Tour scheduling problem: Set-covering Model
The most important difference between these three scheduling problems is hidden under the
interpretation of the indices, as can be seen in table 4. For example, index ‘t’ represents a shift, a
days-off pattern and a tour in the shift-, days-off- and tour scheduling problem, respectively. The
objective function of this standard TSP is to minimise the total cost of employees working a certain
tour type t. In reality, however, the objective of the TSP often consists of multiple goals, which is also
called goal modelling. A more detailed explanation of the objective functions addressed in tour
scheduling is provided in paragraph 2.3.1. Dantzig’s SCM only adds one constraint, a so called
coverage constraint, which states that there should be a minimum staffing level dpj for each time
period p on day j. The fact that there is only one simple constraint makes this model very basic and
not usable in practice. Many others must be added to make sure that it becomes a model which is
capable to cope with the needs of both the employer and the employee.
Many researchers have used Dantzig’s SCM as the starting point for their analysis about tour
scheduling. In the latest years of the 20th century, it was especially Brusco and Jacobs that published
a lot of research. For example, Brusco and Jacobs (1998a) is built upon one of their previously
released papers, namely Brusco and Jacobs (1995). The paper studies the restricted starting-time TSP
and solves this by a two-stage heuristic solution. To evaluate their solution, numerous experiments
11
are conducted with data from United Airlines airport ground stations. Brusco and Johns (1996)
present a sequential integer programming heuristic to develop a personnel schedule. One of the
steps in the heuristic incorporates the general SCM of Dantzig (1954). At the end, an experimental
study is performed with a full-time (FT) workforce and a mixed workforce. Brusco and Jacobs (1998b)
discuss the main problem of the SCM for tour scheduling. Namely, often too many variables/tours
are included which makes it not possible for modern integer program solvers to find an optimal
solution. Strategies are with success developed to eliminate redundant columns. The research
conducted in Brusco and Jacobs (2001) is in line with the topics of Brusco and Jacobs (1998a - 1998b).
First, they suggest an integer lineair programming formulation for the limited starting-time TSP. Next,
an experimental analysis and case study are performed in order to investigate the impact of the
number of daily starting periods, S, on the probability of finding an optimal solution. It turned out
that only a very small portion of S was capable of providing the minimum workforce size. More
recently, in Alfares (2007) an explicit IP model is solved to determine tour schedules for IT help desk
operators. Costs need to be minimized while incoming calls need to be answered 24 hours a day. The
workforce size, employee utilisation and service level are other determinants to evaluate alternative
schedules. Ertogral and Bamuqabel (2008) study the art of developing personnel schedules for a
bilingual telecommunication call center. Two models are created, one for no flexible workers and
one for the case with flexible workers. The former is a simple adaption of Dantzig’s SCM.
2.2.2. An implicit model (IM)
Next to the (explicit) SCM of Dantzig, an implicit modelling approach has also been developed. Bailey
was the first to implicitly integrate the shift scheduling problem with an explicit representation of
days-off patterns (Bailey 1985). In addition, substantially fewer variables are needed, which is of
course a big advantage compared to Dantzig’s SCM. Often we see that so-called start-time bands are
used when the implicit modelling approach is applied. These bands are nothing more than a range,
known as the band width (BW), in which starting times can vary within an individual tour:
12
Minimize
s.t.
∑ ∑
∑ ∑
∑ ∑
where
= number of employees assigned to start-time band s and days-off pattern f;
= 1 if period p is a work period in a shift in start-time band s beginning in hour h, 0
otherwise;
= 1 if day j is a work day for days-off pattern f, 0 otherwise;
= number of employees assigned to a shift on day j in start-time band s beginning in
period h;
= minimum number of employees required in time period p on day j;
= number of start-time bands (index s);
= number of days-off patterns (index f);
= number of shift start times per start-time band (index h), also known as the BW;
= number of planning time periods per operating day (index p);
= number of work days per operating week (index j).
As a result of the more efficient approach that implicit modelling seemed to be, more and more
researches started to study and extend this method. For example, Jacobs and Bechtold published
two papers in 1993 addressing an implicit TSP (Jacobs & Bechtold, 1993a and Jacobs& Bechtold,
1993b). Their purpose was to investigate the effect of multiple labor scheduling flexibility
alternatives, as there are, for example, shift length, tour length, meal break, shift start-times, and so
forth. Jarrah et al. (1994) optimizes an implicit TSM which is based on a combination of the implicit
break-flexibility model of Bechtold and Jacobs (1990) and the days-on algorithms developed by Burns
and Carter (1985). The BW of the model was set equal to the number of starting times in the
operating day. Jacobs and Brusco (1996) present an implicit TSM with overlapping start-time bands.
p = 1, 2, …, P;
j = 1, 2, …, J;
j = 1, 2, …, J;
s = 1, 2, …, S;
j, s, f, h.
13
Minimize
s.t.
Problems with more than two million variables using a SCM were tested for this IM. The results
indicated that implicit modelling can provide an important improvement in scheduling efficiency
compared to SCM. Brusco and Jacobs (2000) integrates and extends the models of Bechtold and
Jacobs (1990) and Jacobs and Brusco (1996). Namely, both start-time and meal-break flexibility are
incorporated in an implicit TSM for a continuous environment. Isken (2004) proposes on his turn a
general and a more extended implicit TSM that complements the one developed in Brusco and
Jacobs (2000). In the past decade, Bard J. has published several papers dealing with the implicit TSM,
for example, Bard (2004a), Bard (2004b) and Bard et al. (2007). Eitzen et al. (2004) performs an
analysis on the size of an implicit general SCM for a non-hierarchical multiple-skilled workforce.
Results are presented for up to 110 employees, 9 different skill levels and three demand patterns.
Moreover, the authors proposed these results for three column-based solution techniques: column
expansion, column subset, and branch-and-price. Seckiner et al. (2007) compose an implicit TSM
based on an IP formulation developed by Billionnet (1999). The main difference with the latter is that
workers can be assigned to alternative shifts in a day during the entire scheduling horizon, whereas
Billionnet’s model restricted workers to be assigned to one shift type. Recently, Rong (2010)
developed two-monthly TSMs with mixed skills considering the weekend off requirements.
2.2.3. A derivative model
Set-covering and implicit modelling are the two standard approaches to solve the TSP. Both models
use a decision variable (represented by ) that captures the number of employees assigned to a
tour or to a start-time band and days-off pattern, respectively. However, when the number of
employees is known, for example in a nursing unit, the decision variable transforms to a binary
variable which is 1 if, for example, nurse i has to work shift k on day j, 0 otherwise. The TSP with a
binary decision variable has in many cases the following structure:
∑ ∑
∑
( )
{ }
i, j, k.
14
where
= 1, if nurse i is assigned to shift k on day j, 0 otherwise;
= number of personnel above the required coverage djk on day j, shift k;
= minimum number of employees required on day j, shift k;
= set of employees (index i);
= set of days in the scheduling horizon (index j);
= set of shift types: K = {1, 2, 3, 4} indicating an early-, day-, late- or
night shift, respectively (index k).
The objective here is not longer to minimize the number of employees but the level of overstaffing,
represented by the variable . The only constraint added to the model is very similar to the
previous two models, except for the subtraction of the overstaffing variable. It is important to
understand that this method is a very different approach of the TSP. Namely, in the SCM and the
implicit modelling approach, new employees are added to the model and assigned to a tour or a
(non-)working pattern until labor demand is met. In this third tour scheduling model (TSM), however,
each individual employee/nurse is assigned to a series of shifts spread over the scheduling horizon.
As a result, complete tours or (non-) working patterns are created only when the full schedule has
been set up. In other words, employees or not assigned to an existing tour, but rather to
independent shifts and (non-) working days that are combined to a complete tour for each employee
separately.
Warner (1976b) was one of the first to introduce an IP formulation for the nurse scheduling problem
based on this derivative model. The formulation considers different nurse grades and each nurse has
to fill in a sheet in which they can rank their aversions to certain shift patterns. Kostreva and Jennings
(1991) presented a very similar IP and try to solve this on a microcomputer with the help of Benders
decomposition technique. Beaulieu et al. (2000) use a mathematical programming approach for
scheduling physicians in the emergency room. Moz and Pato (2004) tackle the nurse rerostering
problem for a public hospital in Portugal. Existing labor rules and organisational policies need to be
taken into account and are regarded as hard constraints (cf. infra). Integer linear- and constraint
programming are the two methods proposed in Trilling et al. (2006) to solve an anaesthesiology
nurse scheduling problem. De Grano et al (2009) describe the typical nurse scheduling problem with
both nurse preferences and hospital constraints. A two-stage approach is applied, whereby the first
stage allocates nurses to their preferred shifts and rest days based on a bidding procedure and the
second stage fills the remaining shifts by allocating them to nurses who have not yet met their
15
minimum required hours. Burke et al. (2010) study a highly-constrained nurse scheduling problem.
The latter is solved by combining the advantages of IP and variable neighbourhood search. Ronnberg
and Larsson (2010) try to find out “if it is possible to create an optimisation tool that automatically
delivers a usable schedule based on the schedules proposed by the nurses.” (Ronnberg and Larsson,
2010) Valouxis et al. (2012) present a two phase approach for the nurse rostering problem,
sequentially solved using integer mathematical programming. In the first phase, the demand that
needed to be covered by a particular nurse was decided for each day of the week. In the second
phase, the nurses were assigned to specific daily shifts. Apart from nurse scheduling, the derivative
model is also often applied in transit operator scheduling, telecommunicating and airline crew
scheduling (Nanda and Browne, 1992). Two examples of the latter are Felici and Gentile (2004) and
Stolletz (2010). Felici and Gentile, 2004 starts from a general IP model to schedule workers who
provide continuous services. The goal of the model is to maximize staff satisfaction measured by
positive weights for pairs of shifts in consecutive days. Stolletz (2010) creates a binary linear
programming formulation for check-in counters at airports. The impact of the degree of flexibility
and economies of scale are analysed by a numerical study.
The advantage of tour scheduling, so combining shift- and days-off scheduling, over single shift- or
days-off scheduling is that the model stands much closer to reality and is therefore faster
implementable in practice. The logical disadvantage, however, is a significant increase in complexity
regarding the number of variables, parameters and constraints. This increase is not clear after
studying the basic TSMs introduced before, but will be after reading the next chapter.
2.3. Different aspects of a tour scheduling model: Literature review
Papers dealing with the TSP distinct themselves based on five broad categories: the objective
function(s), the decision variable(s), the personnel characteristics, the shift definitions and the
constraints. Figure 2 acts as a ‘roadmap’ by summarising these categories and indicating the
respective paragraphs throughout this chapter. For each category the same 43 tour scheduling
papers are compared. Most of them have already been discussed in one of the previous paragraphs.
It should also be clear by now that this thesis only focuses on integer programming and no other
solution method. Remember the definition of Easton and Rossin (1991a) where they state that “Tour
scheduling problems are linear integer programs”, so this limitation is nothing more than a logical
step.
16
Tour Scheduling Categories
Figure 2: Tour Scheduling Characteristics: ‘Roadmap’
2.3.1. Objective function(s)
The most frequently used objective function in tour scheduling is minimizing an organisations total
personnel cost. Its most basic mathematical formulation, as seen in the standardized approaches of
tour scheduling, is composed of a cost variable (i.e. ) and a decision variable (i.e. ). The cost
variable often represents the wage to employ a labourer on a certain shift and day. However, there
are many other cost variables, such as different costs per skill category (e.g. greater pay grade for
highly-skilled workers), a cost depending on the day of the week (e.g. weekend days are more
• Cost Objective
• Workforce Size Objective
• Other
Objective Function(s): 2.3.1
• Number of employees assigned to tour t
• Number of employees assigned to start-time band s and days-on pattern f
• 1, if employee (~nurse) i is assigned to work shift j on day k
Decision Variable(s): 2.3.2
• Labor contract: Full time (FT) an d/or Part time (PT)
• Skills
Personnel Characteristics: 2.3.3
• Overlap
• Start times: fixed and/or definable
• Length: fixed and/or definable
• Breaks
Shift Definitions: 2.3.4
• Coverage Constraints
• Time-related Constraints
• Balancing Constraints
Constraints: 2.3.5
17
expensive for the organisation), overtime costs, outsource costs, costs of executing tasks, different
costs for PT and FT employees, travel costs, production costs, and so forth. Minimizing the total
workforce size is also a popular objective function. Mathematical, this objective function differs from
the previous one because there is no cost variable present, hence, only a decision variable. The
reason why this type of objective function is slightly less popular is because minimizing the personnel
cost brings along more possibilities. Namely, “when using personnel cost rather than an explicit
number of employees, one can make a trade-off between hiring employees, overtime, casual
workers, etc., by assigning a (relative) cost to all of these factors” (J. Van den Bergh et al., 2012).
Besides minimizing the personnel cost or the total workforce size, many other types and
combinations of objective functions are used within tour scheduling (more recent objectives are
added to the list of Bechtold, Brusco and Showalter (1991)):
- Fairness among employees/balancing the workload (e.g. balance between workers in the
number of weekends off and the number of night shifts);
Minimization:
- Minimize the total number of overstaffed shifts or, in general, the level of overstaffing;
- Minimize the total number of understaffed shifts or, in general, the level of understaffing;
- Minimize personnel dissatisfaction;
- Minimize (mean) lateness of the completion of tasks;
- Minimize the number of different work schedules used;
- Minimize the variation of staff surplus over a certain time period.
Maximization:
- Maximize personnel satisfaction;
- Maximize the number of workers who receive a long weekend;
- Maximize the number of schedules with consecutive days-off;
- Maximize total profit;
- Maximize the long-run benefit (net present value (NPV)) of providing good service.
Most of these objectives are formulated when the TSP is solved by a goal programming approach.
This multi-objective method is used when researchers try to solve a problem which addresses the
needs of as much stakeholders as possible. For example, on the one hand, operation managers may
want to limit the number of casual labourers because of continuity reasons or availability of
knowhow. But on the other hand, the organisation itself could insist on minimizing the personnel
cost. This multi-objective problem is solved by adding penalties or weight factors to each individual
18
Minimize
goal so as to combine these goals into one single objective function. Of course, the question then
arises: which goal is more important and, thus, gets the highest weight factor? A small example is
shown below:
∑( )
∑(
)
where
= labor understaffing and overstaffing in period p, respectively;
= penalty for understaffing and overstaffing in period p, respectively.
The first part of this objective is equal to the SCM shown in paragraph 2.2. The second part, however,
adds under- and overstaffing variables multiplied with their respective penalties.
To end this paragraph, table 5 lists more than forty papers dealing with an integer programming
approach for the TSP. For each paper, the respective objective function is indicated by an ‘x’. A
distinction is made between the following (sub-) categories:
Cost objective:
(1) Personnel cost (regular wage cost);
(2) Different cost per day;
(3) Different cost per skill;
(4) Overtime cost;
(5) Outsource cost;
(6) Cost of executing tasks;
(7) Different cost for PT and FT employees;
Workforce size objective:
(8) Minimizing the workforce size;
Other objectives:
(9) Minimize Understaffing;
(10) (Dis-) Satisfaction of employees;
(11) Balancing the workload;
(12) Multi-objective model;
(13) Other* (further explanation below the table)
19
Cost objective Workforce
size Other
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13)
Alfares, 2007; x x Al-Yakoob and Sherali,
2007; x x x x
Bard, 2004a; x
Bard, 2004b; x x x
Bard and Wan, 2008; x
Bard et al., 2003; x x
Bard et al., 2007; x
Beaulieu et al., 2000; x x
Berrada et al., 1996; x
Brusco and Jacobs, 1998a; x
Brusco and Jacobs, 1998b; x
Brusco and Jacobs, 2000; x
Brusco and Jacobs, 2001; x
Brusco and Johns, 1996; x
Burke et al., 2010; x
Chen et al., 2010; x x x
Choi et al., 2009; x x x
De Grano et al., 2009; x
De Matta and Peters, 2009; x x
Eitzen et al., 2004; x Ertogral and Bamuqabel,
2008; x x
Felici and Gentile, 2004; x
Isken, 2004; x
Jacobs and Brusco, 1996; x
Jarrah et al., 1994; x Kostreva and Jennings, 1991; x
Lezaun et al., 2006; x x1
Lezaun et al., 2007; x2
Lezaun et al., 2010; x3
Love and Hoey, 1990; x x x x
Mohan, 2008; x
Moz and Pato, 2004; x4
Ozkarahan, 1989; x x
Rong, 2010; x x Ronnberg and Larsson,
2010; x x x
20
Seckiner et al., 2007; x x
Stolletz, 2010; x
Thompson, 1995; x x5
Topaloglu and Ozkarahan
(2004); x x
Trilling et al., 2006; x
Valouxis and Housos, 2000; x x
Valouxis et al., 2012; x6
Warner, 1976b; x
Table 5: Objective Function(s)
1
Lezaun et al. (2006): One model is split up in several sub models all with their own objective. In one model is the
goal to plan reserve weeks immediately before or after vacation. Another model seeks to
select the most attractive patterns according to the preferences of the drivers. 2 Lezaun et al. (2007): No real objective function is suggested. The goal was to set up a model that fulfils the
constraints and assigns patterns according to the employees’ preferences. 3 Lezaun et al. (2010): The main objective of this project is to draw up the annual roster for all working shifts at
stations, taking into account staff seconded from one station to another in such a way that the
final result is fair and the distances travelled are minimized. 4 Moz and Pato (2004): The objective function is to minimize the total cost of a multicommodity flow model.
5 Thompson (1995): The objective function in a New Formulation for the weekly Labor Scheduling Problem (NFLSP)
is to seek a trade-off between the cost of tours and the effect of different staffing levels on
customer service-related profits (NPV profits). 6 Valouxis et al. (2012): The goal here is to satisfy as many soft constraints as possible, but all variables and their
penalties are summed into one non-financial cost variable.
Table 5 points out that cost, (dis-) satisfaction with the work schedule and multiple goal models are
commonly used to formulate the objective function of the TSP. In detail, cost objectives are often
formulated as personnel costs. Hereby, a cost variable is multiplied with the decision variable of the
respective model. Furthermore, the degree of satisfaction is included based on a survey held by the
employer. A score is then given by the employee to work a particular shift on a certain day and this
score or penalty is, just like the cost variable, multiplied with the decision variable in the objective
function. Lastly, goal modelling is, as said before, a combination of objectives.
2.3.2. Decision variables
The reasoning followed here is built upon the discussion of decision variables started in paragraph
2.2. In this paragraph two standard models and one derivative model were proposed. The first model
was called the SCM and the second one suggested an implicit modelling approach for the TSP. Both
21
models are built around a decision variable that captures the number of employees. In detail, the
following two decision variables are used:
- Number of employees assigned to tour t;
- Number of employees assigned to start-time band s and days-on pattern f.
The derivative model that was explained, dealt with the TSP when the workforce size was already
known. This transformed the decision variable into a binary variable:
- 1 if employee (~nurse) i is assigned to work shift j on day k.
These three types of decision variables are commonly used in tour scheduling literature. Table 6
indicates for each paper to what type their decision variable(s) belong(s) to. We make a distinction
between the following types:
- Type1: Set-covering:
The model formulates (complete) tours before optimization is performed. Every tour is
explicitly defined by a separate integer variable;
- Type 2: Implicit:
The model formulates (complete) tours after optimization is performed. Often, the model
requires several steps before and after optimization.
- Type 3: Derivative:
Each employee is unique and restricts the way by which they can be scheduled. The
number of the employee is used as an index in at least one (of the) decision variable(s).
Type of the Decision
Variable(s)
Type of the Decision
Variable(s)
Alfares, 2007; 1 Isken, 2004; 2
Al-Yakoob and Sherali, 2007; 3 Jacobs and Brusco, 1996; 2
Bard, 2004a; 2 Jarrah et al., 1994; 2
Bard, 2004b; 2 Kostreva and Jennings, 1991; 3
Bard and Wan, 2008; 3 Lezaun et al., 2006; 3
Bard et al., 2003; 2 Lezaun et al., 2007; 3
Bard et al., 2007; 2 Lezaun et al., 2010; 3
Beaulieu et al., 2000; 3 Love and Hoey, 1990; 2
Berrada et al., 1996; 3 Mohan, 2008; 3
Brusco and Jacobs, 1998a; 1 Moz and Pato, 2004; 3
Brusco and Jacobs, 1998b; 1 Ozkarahan, 1989; 2
Brusco and Jacobs, 2000; 2 Rong, 2010; 2
22
Brusco and Jacobs, 2001; 1 Ronnberg and Larsson, 2010; 3
Brusco and Johns, 1996; 1 Seckiner et al., 2007; 2
Burke et al., 2010; 3 Stolletz, 2010; 3
Chen et al., 2010; 2 Thompson, 1995; 2
Choi et al., 2009; 1 Topaloglu and Ozkarahan
(2004); 2
De Grano et al., 2009; 3 Trilling et al., 2006; 3
De Matta and Peters, 2009; 1 Valouxis and Housos, 2000; 3
Eitzen et al., 2004; 2 Valouxis et al., 2012; 3
Ertogral and Bamuqabel, 2008; 1 Warner, 1976b; 3
Felici and Gentile, 2004; 3
Table 6: Type of Decision Variable(s)
2.3.3. Personnel characteristics
When a personnel scheduling model has the goal to allocate workers to a certain shift or
workstation, one should take into account the different characteristics of its workforce. In tour
scheduling literature, multiple personnel characteristics are often applied (J. Van den Bergh et al.,
2012), such as an individual productivity level, seniority level, skills and whether he or she is a full- or
part time employee. This classification is necessary to align the theoretical TSM as much as possible
with reality. As a case in point, we can think of young graduates who do not yet have the required
skills to exercise a certain job. For example, in hospitals you often see that young nurses are
scheduled at the same time with more senior nurses, so that they can learn and gain the necessary
experience. If employees are scheduled to shifts or workstations for which they do not have the right
skills, this could entail a lower profit margin because of a less effective and efficient production.
Often we see that this ‘misplacement’ of workers is represented by a penalty weight in the objective
function (cf. supra). Classifications based on the productivity- and/or seniority level are closely linked
with those of skill categories. However, in tour scheduling literature productivity and seniority of
employees is of less importance. The classification of full- and part time workers is often not enough
to fulfil the required coverage. Therefore, so-called casual workers are also included in the model.
This specific group type of workers consists of, for instance, another company department or interim
workers. A last type of classification is based on the grouping of employees. It may be necessary to
assign a crew (or team) instead of scheduling each worker on its own. A good example is found in the
transportation area, but this is not in line with this thesis.
Table 7 indicates for each paper whether a distinction is made between full- and part time
employees and if skill levels are adopted into the model:
23
Labor Contract
Skills
Labor Contract
Skills Full time
Part time
Full time
Part time
Alfares, 2007; x Isken, 2004; x x
Al-Yakoob and Sherali, 2007; x Jacobs and Brusco, 1996; x
Bard, 2004a; x x x Jarrah et al., 1994; x x
Bard, 2004b; x x x Kostreva and Jennings, 1991; x
Bard and Wan, 2008; x x x Lezaun et al., 2006; x
Bard et al., 2003; x x Lezaun et al., 2007; x
Bard et al., 2007; x x Lezaun et al., 2010; x
Beaulieu et al., 2000; x Love and Hoey, 1990; x x x
Berrada et al., 1996; x x x Mohan, 2008; x
Brusco and Jacobs, 1998a; x x Moz and Pato, 2004; x
Brusco and Jacobs, 1998b; x x Ozkarahan, 1989; x x x
Brusco and Jacobs, 2000; x Rong, 2010; x x
Brusco and Jacobs, 2001; x Ronnberg and Larsson, 2010; x x x
Brusco and Johns, 1996; x x x Seckiner et al., 2007; x x
Burke et al., 2010; x x Stolletz, 2010; x
Chen et al., 2010; x x Thompson, 1995; x
Choi et al., 2009; x x Topaloglu and Ozkarahan (2004); x x
De Grano et al., 2009; x x Trilling et al., 2006; x x
De Matta and Peters, 2009; x Valouxis and Housos, 2000; x
Eitzen et al., 2004; x x x Valouxis et al., 2012; x x x
Ertogral and Bamuqabel, 2008; x x x Warner, 1976b; x x
Felici and Gentile, 2004; x
Table 7: Personnel characteristics
Analyzing table 7 teaches us that half of the papers incorporate a labor contract with both full- and
part time employees. Moreover, if skills are integrated, one can be sure that the model also offers a
distinction between full- and part time employees.
2.3.4. Shift definitions
Next to deciding which of the personnel characteristics should be taken into account, the modeller
should also take some key decisions regarding shift characteristics. There are three types of decisions
that should be discussed when creating a TSM: the length of a shift, shift starting times and whether
shifts may overlap or not. The attentive reader will already have noticed that these decisions are
mainly part of shift scheduling rather than both shift- and days-off scheduling, as is the case for tour
24
scheduling. The ability to determine the length of a shift gives the scheduler a lot of flexibility.
However, there are some unwritten rules that the length of each shift should be at least 4 hours and
maximum 10 hours. Shifts of 12 hours do still exist, but they are more and more banned mostly
because of humanity reasons. A shift length of 8 hours is most common.
Besides the flexibility in scheduling shifts coming from a wide range of shift lengths, the modeller is
also free in his/her selection of shift starting times. “The selection of daily shift starting times consists
of two interrelated decisions: the number, S, of shift starting times permitted during an operating
day, and the determination of precisely which of the S planning periods of the day will be allocated
as starting times” (Brusco and Jacobs, 2001). It is clear that there should be a trade-off regarding the
value of S. Namely, increasing the value of S has both its advantages and disadvantages:
Advantages:
- It is possible to better align the supply and demand of required labour units, even with fewer
workers;
- Because of this higher flexibility at the coverage aspect, there is a lower probability of
overstaffing the coverage requirements. For this reason, an organisation might expect greater
labor productivity.
- More starting times should increase the fairness of the schedule and reduce shortages, which
may result in less turnover and absenteeism.
Disadvantages:
- A significantly higher administrative burden;
- There are more time periods at which employees can start working, take a break, go back to
work and will stop working. In addition, it will be more difficult to monitor employee
punctuality. On top of that, there might be a serious loss of labor productivity.
- The effectiveness of (de-)briefings could decrease because it will be harder to schedule these
moments and address as much employees as possible at the same time;
- Finally, an increase in starting times makes it more difficult to take advantage of teamwork.
In table 8, a distinction is made between fixed and definable start times and shift lengths. These
subcategories are an indication for the scheduler’s freedom. An example that you will often find in
tour scheduling literature is fixed start times and –shift lengths for full time employees (e.g. three 8-
hour shifts), while part time employees have more variable starting times and shift lengths (e.g.
possibility to start on every hour of the day).
25
A final decision that the modeller should handle, is the question whether shifts may overlap or not.
When the demand for labor units is very irregular, for instance when working in a call center,
multiple shifts covering the same time period is definitely something worth questioning. The main
reason for this is that overlapping shifts give the scheduler the possibility to increase the number of
employees at certain (peak) times. What’s more, “one can deal with demand peaks without being
forced to schedule overtime or to hire extra employees and one can avoid excess staff during low
demand periods” (J. Van den Bergh et al., 2012). Nevertheless, it is not always specifically mentioned
in the existing literature if shifts do overlap, and if they do, to what extent.
Not really part of the discussion about shift definitions is the adoption of break time flexibility.
However, break placement is definitely more part of shift scheduling than of days-off scheduling.
Therefore, table 8 not only provides information about shifts overlap, -start times and -lengths but
also break flexibility is adopted into the table. Important to note is that in some papers, the
scheduler/operator has to select tours or working patterns out of a predefined set of tours/patterns.
The latter could, however, include breaks, but since no information is provided I was not able to
include this into the table. Moreover, the reader should be aware of the fact that both meal-and rest
breaks are considered. A distinctive overview of break scheduling for more than sixty papers is
provided in Thompson and Pullman (2007).
Overlap Start times Length
Breaks Fixed Definable Fixed Definable
Alfares, 2007; x x x x
Al-Yakoob and Sherali, 2007; x x
Bard, 2004a; x x x x x x
Bard, 2004b; x x x x x
Bard and Wan, 2008; x x x x x x
Bard et al., 2003; x x x x x x
Bard et al., 2007; x x x x x x
Beaulieu et al., 2000; x x
Berrada et al., 1996; x x
Brusco and Jacobs, 1998a; x x x
Brusco and Jacobs, 1998b; x x x
Brusco and Jacobs, 2000; x x x x
Brusco and Jacobs, 2001; x x x x x
Brusco and Johns, 1996; x x x x
Burke et al., 2010; x x x
Chen et al., 2010; x x x
26
Choi et al., 2009; x x x
De Grano et al., 2009; x x x
De Matta and Peters, 2009; x x x
Eitzen et al., 2004; x x
Ertogral and Bamuqabel, 2008; x x x x x
Felici and Gentile, 2004; x x x
Isken, 2004; x x x
Jacobs and Brusco, 1996; x x x
Jarrah et al., 1994; x x x x x
Kostreva and Jennings, 1991; x x
Lezaun et al., 2006; x x
Lezaun et al., 2007; x x
Lezaun et al., 2010; x x x
Love and Hoey, 1990; x x x
Mohan, 2008; x x x
Moz and Pato, 2004; x x
Ozkarahan, 1989; x x x
Rong, 2010; x
Ronnberg and Larsson, 2010; x x
Seckiner et al., 2007; x x x
Stolletz, 2010; x x x
Thompson, 1995; x x x x
Topaloglu and Ozkarahan (2004); x x x x
Trilling et al., 2006; x x x
Valouxis and Housos, 2000; x x
Valouxis et al., 2012; x x x
Warner, 1976b; x x
Table 8: Shift definitions + Break placement
After taking a closer look at table 8, we can summarize a couple of findings. First, overlaps are
possible in two thirds of the papers and seem to be a result of definable shift start times, which is no
more than logical. Furthermore, fixed start times and shift lengths are still a very popular
combination. This, however, does not give the scheduler a lot of flexibility. Around one third of the
papers adjust its model to include breaks. What’s more, if breaks are added to the model, this is
often done by creating a new decision variable. For example, in most of the papers of Bard, one of
the decision variables captures the number of breaks initiated in period t on day d. Also binary
decision variables, to indicate whether an employee takes a break, are a couple of times added to
the set of decision variables.
27
2.3.5. Constraints
Constraints set the minimum and maximum boundaries for the combination of a set of variables. If
there would only be an objective function without any type of constraint, the model would minimize
or maximize each variable to an unfeasibly low, respectively high, value.
Before discussing the different types of constraint categories, it is important to explain the difference
between hard- and soft constraints. Hard constraints are those that must be satisfied at all costs,
while soft constraints only express a preference of a certain outcome over other ones. “The goal is
always to schedule resources to meet the hard constraints while aiming at a high quality result with
respect to soft constraints” (Cheang et al., 2003). Fact that most soft constraints are not equally
important, penalties or weights or added to the constraints which must be minimised or maximised
by the objective function of the model (cf. supra).
The set of restrictions or constraints used in tour scheduling can be subdivided in three broad
categories: coverage- , time-related- and balancing- and preference constraints. In what follows I will
provide a detailed overview of the most common constraints per category applied in the area of tour
scheduling. Furthermore, each constraint will be represented on a mathematical manner (both hard
and soft) so that the TSP becomes more complete.
Most of the constraints presented can be used in two ways. First, the scheduler can make a set of
tours, without looking at any type of feasibility or constraint. After that, the constraints can be added
to the model in such a way that only a small set of workable tours remains. In the other, second,
method, the constraints can be used to create from scratch a workable set of tours. In that way, the
constraints or not used to select tours, but to make tours.
To understand all of the mathematical equations, it is important to clearly enumerate the variables,
parameters and sets utilized in the model. Below are a decision variable and some sets defined that
form the backbone of all the equations presented in this chapter:
Decision variable:
- xt number of employees assigned to tour t;
Other variable:
- ajkt 1, if shift k on day j in tour t is a working shift, 0 otherwise;
Sets:
- T set of tours (index t);
28
- J set of days in the scheduling horizon (index j);
- K set of shift types: K = {Early ‘E’, Day ‘D’, Late ‘L’, Night ‘N’} (index k).
2.3.5.1. Coverage constraints
When talking about coverage constraints in the area of personnel scheduling, one suggests that
there should be a minimum or maximum number of personnel present to deliver the necessary
service or staff a certain work unit. When hard coverage constraints are added to the model,
understaffing is not allowed (see left part of table 9). However, it is possible to schedule some excess
staff to anticipate any irregularities in labor demand. Van den Bergh et al. (2012) found that the hard
coverage constraint has a presence at a level of almost 75% in the 291 papers that they have studied
about personnel scheduling. On top of that, Van den Bergh et al. (2012) also suggests that the soft
coverage constraint, which allows both under- and overstaffing, is a central constraint in many
personnel scheduling models. An example of such a soft constraint can be found in the rightmost
column of table 9.
A point of discussion when setting up the coverage constraints is the handling of over- and
understaffing. Namely, schedulers often have the possibility to hire, fire and assign more or less
hours to certain individuals. These options increase the flexibility of the modeller, but one should
also take into account the costs associated with these practices.
Coverage constraints often set barriers to the extent at which it is possible to mix a group of workers
with different personnel characteristics. Remember that the usage of personnel characteristics, such
as an individual productivity level, seniority level, skills, etc., is an important topic in tour scheduling.
For instance, if skill categories are a way to classify the organisation’s staff, hard coverage constraints
can impose a minimum of highly-skilled workers needed at a specific time period. Another example is
the ability of soft coverage constraints to schedule highly-skilled workers, at a certain penalty rate in
the objective function, to a job that only requests low-skilled workers.
Notation:
Slack/surplus variables:
- # personnel staffed below the required coverage djk on day j, shift k (understaffing);
- # personnel above the required coverage djk on day j, shift k (overstaffing).
29
Other variable:
- djk coverage requirement of shift type k on day j.
Hard Soft
Coverage
requirements
Daily coverage requirement of each shift type
(no over- and understaffing allowed):
∑
{ }
Daily coverage requirement of each shift type
(both over- and understaffing allowed):
∑
{ }
Table 9: Coverage constraints
2.3.5.2. Time-related constraints
This type of constraints imposes restrictions that are related to a specific time period. In other words,
these are rules that enforce minima, maxima, exact numbers, successions, patterns, and so forth
within the scheduling period. In literature, a distinction is made between the following sub-
categories:
Assignment constraints:
Limiting the number of working days or assignments per day, week, etc., is a good measure to attract
workers. Furthermore, it avoids that an employee has to work many short shifts. Interesting to
notice, the minimization or maximization of the number of assignments is closely related to the
number of (consecutive) free days imposed each week. The maximization of the number of
assignments to a certain shift type is beneficial for the employee because it ensures that the
variation in shifts types is reduced to a minimum. Examples of assignment constraints are provided in
table 10.
Notation:
Parameters:
- A maximum number of assignments within the scheduling period;
- B maximum number of assignments during a time period of 7 days;
- C maximum number of shifts worked during the day;
- D minimum number of assignments within the scheduling period;
- E minimum number of assignments during a time period of 7 days;
- F maximum number of night shifts within the scheduling period.
30
Slack/surplus variables:
- number of assignments in tour t above A;
- btw number of assignments in tour t above B, starting at day w;
- cjt number of shifts on day j in tour t above C;
- dt number of assignments in tour t below D;
- etw number of assignments in tour t below E, starting at day w;
- ft number of night shifts in tour t above F.
Hard Soft
Max #
assignments
Max # assignments during the scheduling
period:
∑ ∑
Max # assignments during a 7-day period:
∑ ∑
{ }
For each day, an employee cannot start more
than C shift(s) (in practice: C = 1):
∑
; j {1,…,J}.
Max # assignments during the scheduling
period:
∑ ∑
Max # assignments during a 7-day period:
∑ ∑
{ }
For each day, an employee should not start
more than C shift(s) (in practice: C = 1):
∑
; j {1,…,J}.
Min #
assignments
Min # assignments during the scheduling
period:
∑ ∑
Min # assignments during a 7-day period:
∑ ∑
{ }
Min # assignments during the scheduling
period:
∑ ∑
Min # assignments during a 7-day period:
∑ ∑
{ }
Max #
assignments
to a shift type
Max # night shifts during the scheduling
period:
∑ ( ) .
Max # night shifts during the scheduling
period:
∑ ( ) .
Table 10: Assignment constraints
31
Consecutiveness constraints:
Maximizing the number of consecutive days prevents the on- and off switching between working-
and non-working patterns. When the minimum number of consecutive days is equal to two, the
constraint prevents the modeller to schedule a working day between two non-working days (or a day
off between two working days). Another, very similar, constraint is a maximum number to the
consecutiveness of shifts of the same type. Table 11 illustrates the mathematical formulations of six
hard- and soft constraints.
Notation:
Parameters:
- G1 maximum number of consecutive working days within the scheduling period;
- G2 minimum number of consecutive working days within the scheduling period;
- maximum number of consecutive assignments of shift type k;
- minimum number of consecutive assignments of shift type k;
- O1 maximum number of consecutive days off;
- O2 minimum number of consecutive days off;
Slack/surplus variables:
- gtr 1, if the constraint maximum G1 consecutive number of working days is violated for
tour t (with r as the first day of the consecutive series), 0 otherwise;
- htrk 1, if the constraint maximum consecutive number of assignments of shift type k is
violated for tour t (with r as the first day of the consecutive series), 0 otherwise;
- mtj 1, if the constraint minimum G2 consecutive number of working days is violated for
tour t (with r as the day after the consecutive series), 0 otherwise;
- ntjk 1, if the constraint minimum consecutive number of assignments of shift type k is
violated for tour t (with r as the first day of the consecutive series), 0 otherwise;
- otr 1, if the constraint maximum O1 consecutive number of days off is violated for tour t
(with r as the first day of the consecutive series), 0 otherwise;
- ptj 1, if the constraint minimum O2 consecutive number of days off is violated for tour t
(with r as the day after the consecutive series), 0 otherwise;
Other variables:
- 1, if day r is a day off and day (r-1) a working day, 0 otherwise;
- 1, if (r- G2) ≥ 1 (the value of the first day in the scheduling period), 0 otherwise;
- 1, if shift k on day r is a shift off and shift k on day (r-1) a working shift, 0 otherwise;
- 1, if (r-
) ≥ 1 (the value of the first day in the scheduling period), 0 otherwise;
32
- 1, if day r is a day on and day (r-1) a day off, 0 otherwise;
- 1, if (r- O2) ≥ 1 (the value of the first day in the scheduling period), 0 otherwise.
Hard Soft
Max #
consecutive
days/shifts
Maximum # consecutive working days during
the scheduling period:
∑ ∑
;
r {1,…,J- }.
Maximum # consecutive assignments of shift
type k:
∑
;
r {1,…,J- }.
Maximum # consecutive working days during
the scheduling period:
∑ ∑
;
r {1,…,J- }.
Maximum # consecutive assignments of shift
type k:
∑
;
r {1,…,J- }.
Min #
consecutive
days/shifts
Minimum # consecutive working days during
the scheduling period:
(∑ ∑ )
( )
( )
; r {2,…,J}.
Minimum # consecutive assignments of shift
type k during the scheduling period:
(∑ )
(
) (
)
; r {2,…,J}.
Minimum # consecutive working days during
the scheduling period:
(∑ ∑ )
( )
( )
; r {2,…,J}.
Minimum # consecutive assignments of shift
type k during the scheduling period:
(∑ )
(
) (
)
; r {2,…,J}.
Max #
consecutive
days off
Maximum # of consecutive days-off:
∑ ∑ ;
r {1,…,J- }.
Maximum # of consecutive days-off:
∑ ∑ ;
r {1,…,J- }.
Min #
consecutive
days off
Minimum # consecutive days off during the
scheduling period:
(∑ ∑ )
( ) (
)
; r {2,…,J}.
Minimum # consecutive days off during the
scheduling period:
(∑ ∑ )
( ) (
)
; r {2,…,J}.
Table 11: Consecutiveness constraints
33
Working hour constraints:
Restrictions concerning the number of working hours are often dictated by government institutions
or other official organisations. However, one is able to schedule overtime hours to a certain extent.
Table 12 not only formulates hard- and soft constraints for the maximum- and minimum number of
working hours during the scheduling period, but also these for the minimum number of hours
between two assignments. The latter is only formulated as a hard constraint because penalizing this
constraint is often not legal.
Notation:
Parameters:
- Q maximum number of working hours within the scheduling period;
- R minimum number of working hours within the scheduling period;
- S minimum time between two assignments;
Slack/surplus variables:
- qt number of hours in tour t that are worked above Q;
- rt number of hours in tour t that are worked below R;
Other variables:
- denotes the length in hours of shift k on day j;
- denotes the starting hour of shift k on day j;
- denotes the total number of working hours per day;
- 1, if day j is a day off, 0 otherwise.
Hard Soft
Max # hours &
overtime
Maximum # working hours during the
scheduling period:
∑ ∑
Maximum # working hours during the
scheduling period:
∑ ∑
Min # hours
Minimum # working hours during the
scheduling period:
∑ ∑
Minimum # working hours during the
scheduling period:
∑ ∑
34
Time between
assignments
Minimum # hours between two assignments:
( ) ( ∑ ( ) ( ( )
) )
( ) ( ∑ (
) )
{ }
/
Table 12: Working hour constraints
Holiday/days off constraint:
Each personnel member is able to request specific off days, holidays or shifts at which they are
preferably not scheduled. Again, rules imposed by official institutions have to be followed.
Let it be clear that this type of constraint is more useful when we work with the third model of
paragraph 2.2. Namely, holiday- and/or days off constraints are more useful when working with a
known workforce for which the individuals all have their own preferences than when we have to
assign tours to anonymous workers. For this reason, the decision variable is changed to a binary
variable for a known workforce size. An example is provided in table 13.
Notation:
Decision variable:
- xijk 1, if employee i has to work shift k on day j;
Surplus variable:
- tijk 1, if employee i has to work shift k on day j;
Hard Soft
Days/shifts
on/off
Employee i cannot work shift k:
{ }
Employee i should not work shift k:
{ }
Table 13: Holiday/days off constraint
Work pattern constraints:
When an employer wants to keep his staff satisfied, he/she would better not use certain work
patterns. For example, patterns that schedule a work shift after another work shift, with only a
minimum amount of rest time, are not beneficial both for the employer and the employee.
Therefore, one should prohibit certain shift sequences and make sure that there is always enough
time between two assignments. Table 14 provides two examples regarding the scheduling of a night
shift.
35
Patterns, consecutive
shifts and sequence of
shift type
A night shift cannot be followed by an early shift and/or a day shift:
( ) ( )( ) ( )( ) ; j {1,…,J-1}.
Free days after a series
of night shifts
A constraint of minimum 2 days off after a series of night shifts is
equivalent to the following three sub-constraints (‘N’ denotes a night
shift, ‘0’ a day-off and ‘1’ a working day):
- Prohibit a sequence of ‘N01’:
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( )
; j {2,…,J-1};
- Prohibit a sequence of ‘N10’:
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( )
; j {2,…,J-1};
- Prohibit a sequence of ‘N11’:
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( )
; j {2,…,J-1}.
Table 14: Work pattern constraints
Weekend constraints:
An important aspect for workers to consider applying, are the weekend constraints imposed by the
organisation. Employees often expect to get something in return when he/she has worked during the
weekend. For instance, when somebody has worked two full weekends in a row, he/she might ask
not to work the upcoming weekend. The most vital constraint of the ones enumerated in table 15 is
unquestionable the complete (and extended) weekend constraint. An extended weekend constraint
schedules automatically Monday as a day off when both the preceding weekend and the following
day are scheduled as off days. A final popular weekend constraint is the prohibition of a night shift
before an on-duty weekend.
Notation:
Sets:
- J1 set of indices of the last day of each week within the scheduling horizon = {7, 14, …}
(index j1);
Parameters:
- U maximum number of on-duty weekends during the scheduling period;
36
- Z minimum number of consecutive on-duty weekends during the scheduling period;
Slack/surplus variables:
- ut number of on-duty weekends in tour t above U;
- 1, if in tour t day j1 is a work day but not day (j1-1), 0 otherwise;
- 1, if in tour t day (j1-1) is a work day but not day j1, 0 otherwise;
- 1, if in tour t day (j1+1) is a work but not day j1 and day (j1+2), 0 otherwise;
- ztr 1, if the constraint maximum number of consecutive weekends is violated in tour t
(with r as the first day of the consecutive series), 0 otherwise;
-
1, if in tour t shift k is a work shift on day (j1-1) but not on day j1, 0 otherwise;
-
1, if in tour t shift k is a work shift on day j1 but not on day (j1-1), 0 otherwise;
-
1, if the constraint no night shift before a free weekend is violated in tour t on week-
end day j1, 0 otherwise;
Hard Soft
Max # weekends in
# weeks
Maximum # of on-duty weekends during
the scheduling period:
∑ ∑
(Must be combined with the complete
weekend constraint)
Maximum # of on-duty weekends during
the scheduling period:
∑ ∑
(Must be combined with the complete
weekend constraint)
Complete (and
extended) weekends
There must be either no shifts or two
shifts in weekends:
∑ ( )
; J1.
Monday must be a day off if the
preceding weekend and the following day
are off days:
∑ ( ) ( )
; {7,…, J1-7}.
(Must be combined with the complete
weekend constraint)
There should be either no shifts or two
shifts in weekends:
∑ ( )
; J1.
Monday should be a day off if the
preceding weekend and the following day
are off days:
∑ [ ( ) ( ) ]
; {7,…, J1-7}.
(Must be combined with the complete
weekend constraint)
37
Max # consecutive
weekends
Maximum # consecutive on-duty week-
ends during the scheduling period:
∑ ∑
; r {7,…, J1-7Z}.
(Must be combined with the complete
weekend constraint)
Maximum # consecutive on-duty week-
ends during the scheduling period:
∑ ∑
; r {7,…, J1-7Z}.
(Must be combined with the complete
weekend constraint)
Identical weekends
If an employee works during the week-
end, than he/she must do the same shift
on both days:
( )
; ;
If an employee works during the weekend,
than he/she should do the same shift on
both days:
( ) +
; ;
No night shift before
a free weekend
If an employee has a free weekend,
than he/she cannot do a night shift on
Friday:
( )( ) ∑
; .
If an employee has a free weekend, than
he/she should not do a night shift on
Friday:
( )( ) ∑
; .
Table 15: Weekend constraints
Other constraints:
Sometimes, jobs need to be executed in a certain time window or before a specific date. If this is the
case, the scheduler should assign the employees in such a manner that those requirements are
always fulfilled. Another aspect in many organisations is the availability of resources, such as work
tools, machines, etc. Overstaffing a work unit because there is a lack of machinery is detrimental for
any type of organisation. A final constraint used in tour scheduling is concerned with the ratios
between groups of workers. This constraint limits the relative share of a work unit, for example
because of cost-, stakeholder- or learning aspects. In table 16 two labor ratio constraints are
formulated: the first sets a bound to the amount of full-time (FT) to part-time (PT) employees for
every day and shift, while the second one is very similar but limits the number of low- to high skilled
employees.
Notation:
Sets:
- I1 set of FT employees (index i1);
- I2 set of PT employees (index i2);
38
- I3 set of high skilled employees (index i3);
- I4 set of low skilled employees (index i4);
Parameters:
- α FT to PT labor ratio
- β high skilled to low skilled labor ratio
Variables:
- 1 if FT employee i1 is assigned to shift type k for day j, 0 otherwise;
- 1 if PT employee i2 is assigned to shift type k for day j, 0 otherwise;
- 1 if high skilled employee i2 is assigned to shift type k for day j, 0 otherwise;
- 1 if low skilled employee i2 is assigned to shift type k for day j, 0 otherwise;
Ratio groups of personnel
For every shift in the scheduling horizon, the number of FT to PT
employees must be bigger than α:
∑
∑
⁄ α { }
For every shift in the scheduling horizon, the number of high skilled
to low skilled employees must be bigger than β:
∑
∑
⁄ β { }
Table 16: Ratio constraint
2.3.5.3. Balancing- and preference constraints
Fairness among an organisation’s staff is a crucial aspect in the eyes of the employees. Therefore, it is
very likely that the modeller has to include constraints that balance the workload, the number of
assignments in a specified time-period, the number of assignments to a particular shift type, the time
between two assignments, and so forth. Moreover, one should also address the preferences of each
individual worker. These preferences could imply a willingness to work on a specific location, day,
shift, etc., a preference to work together with somebody else (tutorship), and so on. Worth noticing
is that both balancing- and preference constraints are often included as soft constraints, that
balancing constraints are very closely related to the assignment constraints and the preference
constraints to the day/shift on/off constraint(s).
39
Notation:
Parameters:
- M1 minimum number of early shift days during the scheduling period;
- M2 maximum number of early shift days during the scheduling period.
Variables:
- 1 if employee i1 has to work day j shift k without employee i2, 0 otherwise;
- 1 if employee i2 has to work day j shift k without employee i1, 0 otherwise;
Balancing constraints
In all tours there must be between M1 and M2 early shifts during the
entire scheduling horizon:
∑ ( )
Tutorship
Employees i1 and i2 would like to work together:
( ) (
)
{ }
Table 17: Balancing constraint and Tutorship
2.3.5.4. Overview
Table 18 indicates for each paper which constraint is adopted into the respective model. The
following list of constraints is been used:
Coverage Constraints:
(1) Hard coverage constraint;
(2) Soft coverage constraint;
(3) Coverage constraint which allows understaffing;
(4) Coverage constraint which allows overstaffing;
Assignment Constraints:
(5) Maximum number of assignments;
(6) Maximum number of assignments to a shift type;
Consecutiveness:
(7) Maximum number of consecutive days/shifts;
(8) Minimum number of consecutive days/shifts;
(9) Maximum number of consecutive days off;
40
(10) Minimum number of consecutive days off;
(11) Maximum number of hours & overtime;
(12) Minimum number of hours;
(13) Days/shifts on/off;
(14) Time between assignments;
(15) Patterns, consecutive shifts and sequence of shift type;
(16) Free days after a night shift;
Weekend:
(17) Maximum number of weekends in x-number of weeks;
(18) Complete (and extended) weekends;
(19) Maximum number of consecutive weekends;
(20) Identical weekends;
(21) Ratio groups of personnel;
(22) Balancing constraint(s).
41
Coverage constraint
Time-related constraints Balancing
Assignment Consecutiveness Weekend
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22)
Alfares, 2007; x x x x Al-Yakoob and Sherali,
2007; x x x x x x x x
Bard, 2004a; x x x x x x x x
Bard, 2004b; x x x x
Bard and Wan, 2008; x x x x x x
Bard et al., 2003; x x x x
Bard et al., 2007; x x x x x
Beaulieu et al., 2000; x x x x x x x x x x
Berrada et al., 1996; x x x x x x x x
Brusco and Jacobs, 1998a; x x x
Brusco and Jacobs, 1998b; x x
Brusco and Jacobs, 2000; x x
Brusco and Jacobs, 2001; x x
Brusco and Johns, 1996; x x x
Burke et al., 2010; x x x x x x x x x x x
Chen et al., 2010; x x
Choi et al., 2009; x x x x x
De Grano et al., 2009; x x x x x x x x x x
De Matta and Peters, 2009; x x x x x
Eitzen et al., 2004; x x x x x x x x x x Ertogral and Bamuqabel,
2008; x x
Felici and Gentile, 2004; x x x x x x
42
Coverage constraint
Time-related constraints Balancing
Assignment Consecutiveness Weekend
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22)
Isken, 2004; x x x
Jacobs and Brusco, 1996; x x
Jarrah et al., 1994; x x x Kostreva and Jennings,
1991; x x x x x x x x
Lezaun et al., 2006; x x x x x x x x x
Lezaun et al., 2007; x x x x x x x
Lezaun et al., 2010; x x x x x x x x x
Love and Hoey, 1990; x x x x
Mohan, 2008; x x x
Moz and Pato, 2004; x x x x x
Ozkarahan, 1989; x x x
Rong, 2010; x x x x Ronnberg and Larsson,
2010; x x x x x x x x x x
Seckiner et al., 2007; x x x
Stolletz, 2010; x x x x x
Thompson, 1995; x Topaloglu and Ozkarahan
(2004); x x x x x x x x
Trilling et al., 2006; x x x x x x x x
Valouxis and Housos, 2000; x x x x x x x x
Valouxis et al., 2012; x x x x x x x x x x x x
Warner, 1976b; x x x x x x
Table 18: Constraints – Overview
43
A couple of conclusions can be drawn after analyzing table 18. Below, a frequency table is set up to give the
reader a clear overview of the most important constraints.
Constraint Percentage
Hard coverage constraint 78%
Coverage constraint which allows overstaffing 61%
Maximum number of assignments 41%
Maximum number of consecutive days/shifts 39%
Patterns, consecutive shifts and sequence of shift type 33%
Days/shifts on/off 30%
Time between assignments 30%
Maximum number of hours & overtime 28%
Minimum number of consecutive days off 24%
Ratio groups of personnel 24%
Soft coverage constraint 20%
Complete (and extended) weekends 20%
Balancing constraint(s) 20%
Maximum number of assignments to a shift type 17%
Minimum number of consecutive days/shifts 17%
Maximum number of weekends in x-number of weeks 15%
Free days after a night shift 11%
Coverage constraint which allows understaffing 9%
Minimum number of hours 7%
Maximum number of consecutive weekends 7%
Maximum number of consecutive days off 4%
Identical weekends 2%
Table 19: Frequency of constraint-usage
Immediately we can see that one constraint is by far the most popular one, namely the hard coverage
constraint. The frequency percentage of the hard coverage constraint is in line with the percentage found
by J. Van den Bergh et al. (2012). A hard coverage constraint in combination with overstaffing occurs 52%
of the times. Understaffing, on the other hand, is not so much added to the IP TSM. Also popular are the
maximum number of assignments and consecutive days/shifts. Most of the time, these constraints are
imposed by the government, together with the ‘time between assignments’ constraint. Remarkable is the
percentage of the ‘days/shifts on/off constraint’. This constraint allows workers to ask for a certain
day/shift off. In addition, adding this constraint makes the schedule more popular in the eyes of the
employees. In about one third of the papers, patterns and sequence of shift types are included. Not so
44
popular are the consecutiveness constraints that impose a maximum, namely the maximum number of
consecutive weekends and days off. Only the paper of Valouxis et al., 2012 adds the identical weekend
constraint. Also the other weekend constraints are ranked at the bottom.
2.4. The link between theory and practice
To finalize this chapter I would like to come back on some key findings that will be of interest for the
remainder of this paper. Namely, in the following chapter three TSMs will be mathematically formulated,
programmed and discussed. The order of discussion follows the ‘roadmap’ of figure 2.
First of all, the objective function used for the baseline models (BMs) of chapter 3 is in line with the most
popular one in existing tour scheduling, i.e. cost minimization. The cost variable created captures numbers
(1), (2), (3) and (7) defined in paragraph 2.3.1. At the end of chapter 3, objective (8), minimizing the
workforce size, will also be studied briefly.
Secondly, decision variable types 1 and 2 will be applied extensively. Type 3, mostly used in nurse
scheduling, will be dropped and left open for further research.
Thirdly, the BMs introduced in paragraph 3.3.1 will make a distinction between full- and part-time
employees. A small study will be performed on the impact of the ratio setting the boundaries for part-
timers compared to the FT workforce. Skill levels are introduced in one of the scenarios adapting the BMs.
The fourth tour scheduling category discussed shift overlap, -start-times, -lengths, and break placement. All
of them introduce some sort of flexibility into the TSM. Therefore, the field of study should be carefully
defined which, in addition, delivers more in-depth and valuable results. In extension, the influence of
varying shift start times and break placement will be investigated.
The last category of the tour scheduling roadmap captures a wide range of constraints applied to TSMs.
Almost every constraint discussed here is added to each of the upcoming three models. The parameters of
the respective constraints are fixed during the entire analysis.
45
Chapter 3
3. Programming the Tour Scheduling Problem: Modelling and Analysis
Due to the size, complexity and pure integer nature of the TSP, it has been proven difficult to solve
optimally. In other words, the higher the variety in the workforce structure/personnel characteristics (e.g.
an individual productivity- and seniority level, skills, etc.), the work rules/shift definitions (e.g. length of
each shift, frequency and duration of meal and rest breaks, allowable shift starting times, limitations to the
number of consecutive workdays, etc.) and the longer the length of the minimum planning interval, the
harder it is and the longer it will take to find a feasible solution (cfr. supra).
To confirm these general findings, a second part of this thesis consists of modelling and analyzing the
standard TSPs. Three models are developed and described in more detail: a set-covering model (SCM), an
implicit model (IM) and a hybrid model (HM). The third model that was explained in paragraph 2.2 and
mostly used in nurse scheduling is left open for further research. The main reason to focus only on the SCM
and IM is the similarity in their main decision variable. Namely, the variable represents a number of
employees assigned to a certain period or shift per day. On the contrary, the decision variable of the third
model is a binary variable which is equal to 1 if a worker (~nurse) is scheduled to a particular shift. This
difference requires a completely other programming approach and is therefore not taken under
investigation any further. Above that, the in- and output requirements for this third, derivative, model are
not comparable to those of the set-covering- and implicit tour scheduling programs. For example, on the
one hand, demand patterns are loaded into a set-covering- and implicit program and act as the basis to
determine the workforce level. On the other hand, the workforce level is the main input in nurse scheduling
programs and is a key parameter in generating coverage patterns (Vanhoucke and Maenhout, 2009).
Chapter 3 is organized as follows. First, the SCM, IM and HM are mathematically formulated as mixed
integer programs. The latter is then used to set up these models in C++ for which the solution methodology
is thoroughly discussed. Lastly, I will analyze and compare the (computational) results of varying in- and
outputs of the programs. More precisely, a basic model is defined and the impact on the results for five
different scenarios is studied.
46
3.1. Model formulations
The basic TSM takes a set of daily demands as input and tries to find a personnel schedule that minimizes
or maximizes an objective while satisfying all labor rules and company policies. There are several methods
to create this personnel schedule. Two standard types are set-covering and implicit modelling. A brief
mathematical formulation has already been shown in paragraph 2.2. In this paragraph, however, the
models will be completed and made more flexible. This is done by adopting all the different tour scheduling
characteristics listed in figure 2 into the models. More details about this will be provided in paragraph 3.2
discussing the solution methodologies. Besides the SCM and IM, a HM is set up. The reason why it is called
a ‘hybrid’ model will become clear after comparing its parameters and (decision) variables with the two
basic TSMs.
In each of the following three models, two similar conditions will be imposed. Both are related to
paragraph 2.3.3 discussing the personnel characteristics. First, there are two types of workers: FT = full-
time and PT = part-time workers. The user is able to define, with the parameter α, to what extent PT
workers can contribute to cover the demand. If α is set equal to 0, PT workers are excluded from the
model. The same reasoning can be followed for the second condition which makes a distinction between
two types of skill levels: H = higher level and L = lower level. The parameter β is used to limit the number of
lower level employees. Besides the similarities between these two conditions, there is also an important
difference. Namely, α is used as a ratio for bounding the total PT workforce over the entire scheduling
horizon to a percentage of the FT workforce. β, however, restricts on every period of the day the number of
lower level employees to a certain part of the number of higher level employees working that same period.
This difference in time scope is needed because it doesn’t matter whether demand is fulfilled by FT or PT
employees, but not every ‘unit’ of demand can be handled by low skilled employees. A ratio based on the
total periods worked instead of the number of employees might be a good alternative (Bard et al., 2003).
3.1.1. Model 1: Set-covering model (SCM)
In this paragraph a mathematical problem formulation is provided for creating a work staff that fully covers
a certain demand pattern by assigning employees to feasible working tours. The tours are defined down to
the level of single working periods.
Notation:
Sets:
- J set of days in the scheduling horizon (index j)
47
- W set of weekends within the scheduling horizon (index w)
- set of days that correspond to the last day of each week within the scheduling
horizon (index ), i.e.
, , etc. (w W)
- K set of shift types: K = {Early ‘E’, Day ‘D’, Late ‘L’, Night ‘N’} (index k)
- LFT set of FT shift lengths (index lFT)
- LPT set of PT shift lengths (index lPT)
- P set of periods per day (index p)
- set of FT start times (index )
- set of PT start times (index )
- TFT set of feasible FT tours, expressed in shifts and days (index tFT)
- TPT set of feasible PT tours, expressed in shifts and days (index tPT)
- set of feasible FT tours, expressed in days and periods (index )
- set of feasible PT tours, expressed in days and periods (index )
Parameters:
- maximum number of assignments for FT employees, PT employees
respectively, within the scheduling period
- minimum number of assignments for FT employees, PT employees
respectively, within the scheduling period
- maximum number of night shifts for FT employees, PT employees
respectively, within the scheduling period
-
maximum number of consecutive working days for FT employees, PT
employees respectively, within the scheduling period
-
minimum number of consecutive working days for FT employees, PT
employees respectively, within the scheduling period
-
maximum number of consecutive assignments of shift type k for FT
employees, PT employees respectively
-
minimum number of consecutive assignments of shift type k for FT
employees, PT employees respectively
-
maximum number of consecutive days off for FT employees, PT employees
respectively, within the scheduling period
-
minimum number of consecutive days off for FT employees, PT employees
respectively, within the scheduling period
- maximum number of working periods within the scheduling period
48
- minimum number of working periods within the scheduling period
- S minimum time between two assignments
- shift length, in periods, for FT shift length lFT (index
) ( lFT LFT )
- shift length, in periods, for PT shift length lPT (index
) ( lPT LPT )
- start period for shift type k corresponding to FT start time (index
) ( stFT STFT ) ( k K )
- start period for shift type k corresponding to PT start time (index
) ( stFT STFT ) ( k K );
- α FT to PT labor ratio
- β high skilled to low skilled labor ratio
- γ percentage pay for low skilled employees compared to high skilled employees
- δ percentage pay for PT employees compared to FT employees
Decision variables:
-
number of high skilled employees assigned to FT tour
-
number of low skilled employees assigned to FT tour
-
number of high skilled employees assigned to PT tour
-
number of low skilled employees assigned to PT tour
Other variables:
- 1, if shift k on day j in FT tour tFT , PT tour tPT respectively, is a working
shift, 0 otherwise
-
1 if time period p is a work period in FT tour , PT tour
respectively, 0 otherwise
- , the total cost of working FT tour , PT tour , respectively
- minimum number of employees required in time period p on day j
- 1, if day r is a day off and day (r-1) a working day, 0 otherwise (r {2,…,J})
- 1, if (r- G2) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if shift k on day r is a shift off and shift k on day (r-1) a working shift, 0 otherwise
(r {2,…,J})
- 1, if (r-
) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if day r is a day on and day (r-1) a day off, 0 otherwise (r {2,…,J})
49
- 1, if (r- O2) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
Model formulation
MIN: (
) (
) (
) (
) (1)
∑ (
)
( ( ) ) + ∑ (
)
( ( ) )
{ }
(2)
∑ ∑
(3)
∑ ∑
(4)
∑ ( ) (5)
∑ ∑
; r { - }. (6)
(∑ ∑ )
(
) (
) ; r { } (7)
∑
; r { -
}. (8)
(∑ )
(
) (
) ; r { } (9)
∑ ∑
. (10)
(∑ ∑ )
( )
( )
; r {2,…,J}. (11)
∑ ∑
(12)
∑ ∑
(13)
( ∑ ( ) ( )) ( (∑ ))
( ∑ (
))
{ } (14)
( ) ( )( ) ( )( ) ; j {1,…,J-1}. (15)
50
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( ) ; j {2,…,J-1};
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( ) ; j {2,…,J-1};
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( ) ; j {2,…,J-1}. (16)
∑ ( )
; . (17)
( )
; ; (18)
( )( ) ∑
; (19)
Equation (3) until (19) is repeated here with superscript PT instead of FT
∑ (
) ∑ (
)
(20)
∑ (
( ( ) ) ) ∑ (
( ( ) ) )
∑ (
( ( ) ) ) ∑ (
( ( ) ) ) { }
(21)
,
,
,
i eger
Eq. (1) is the objective function, minimizing the total cost. Cost ratio indicators are added for PT- and low
skilled employees. Eq. (2) is a coverage constraint and indicates the minimum number of workers that
needs to be scheduled on a certain day and period. Eqs. (3), (4) and (5) are assignment constraints. Eqs. (3)
and (4) regulate the maximum and minimum number of assignments during the scheduling horizon. Eq. (5)
limits the number of assignments to a night shift. Eqs. (6), (7), (8), (9), (10) and (11) are consecutiveness
constraints. Eqs. (6) and (7) express the restriction on the maximum and minimum number of consecutive
working days. Eqs. (8) and (9) follow the same principle but than for the number of consecutive
assignments of shift type k. Eqs. (10) and (11) restrict the number of consecutive days off to a maximum
and a minimum, respectively. Eqs. (12) and (13) limit the maximum and minimum number of working
periods during the entire scheduling horizon. Eq. (14) ensures that there is always enough time between
two assignments. Eq. (15) prohibits the sequence of a night shift and an early or day shift. Eq. (16)
guarantees a minimum number of two days off after a series of night shifts. Eqs. (17), (18) and (19) are
weekend constraints. Eq. (17) ensures that employees have to work the complete weekend or not. Eq. (18)
imposes that the assignments of employees in the weekends need to be identical. Eq. (19) restricts
scheduling a night shift before a weekend off. Eq. (20) and (21) are labor ratio constraints. The first limits
51
the number of FT to PT employees, while the second imposes a limit to the number of low to high skilled
employees.
3.1.2. Model 2: Implicit model (IM)
In this paragraph a mathematical problem formulation is provided for creating a work staff that fully covers
a certain demand pattern by assigning employees to a combination of feasible days-off patterns and -shift
patterns. The latter is defined by a set of start-time bands and band widths (BWs).
Notation:
Sets:
- set of bands for FT shift length lFT (index )
- set of bands for PT shift length lPT (index )
- BR a set of consecutive periods during which a break may be given (index br)
- BW band width, a range in which starting times can vary within a band (index bw)
- DOPFT set of feasible FT days-off patterns (index )
- DOPPT set of feasible PT days-off patterns (index )
- J set of days in the scheduling horizon (index j)
- W set of weekends within the scheduling horizon (index w)
- set of days that correspond to the last day of each week within the scheduling
horizon (index ), i.e.
, , etc. (w W)
- LFT number of FT shift lengths (index lFT)
- LPT number of PT shift lengths (index lPT)
- shift length, in periods, for FT shift length lFT (index
) ( lFT LFT )
- shift length, in periods, for PT shift length lPT (index
) ( lPT LPT )
- P set of periods per day (index p)
Parameters:
- maximum number of assignments for FT employees, PT employees
respectively, within the scheduling period
- minimum number of assignments for FT employees, PT employees
respectively, within the scheduling period
-
maximum number of consecutive working days for FT employees, PT
employees respectively, within the scheduling period
52
-
minimum number of consecutive working days for FT employees, PT
employees respectively, within the scheduling period
-
maximum number of consecutive days off for FT employees, PT employees
respectively, within the scheduling period
-
minimum number of consecutive days off for FT employees, PT employees
respectively, within the scheduling period
- M a big number
- maximum number of working periods within the scheduling period
- minimum number of working periods within the scheduling period
- α FT to PT labor ratio
- β high skilled to low skilled labor ratio
- γ percentage pay for low skilled employees compared to high skilled employees
- δ percentage pay for PT employees compared to FT employees
Decision variables:
-
r
number of high skilled employees assigned to FT days-off pattern dopFT, shift
length number lFT, start-time band and break-period br
-
r
number of low skilled employees assigned to FT days-off pattern dopFT, shift
length number lFT, start-time band and break-period br
-
r
number of high skilled employees assigned to PT days-off pattern dopFT,
shift length number lFT, start-time band and break-period br
-
r
number of low skilled employees assigned to PT days-off pattern dopFT, shift
length number lFT, start-time band and break-period br
-
r
number of high skilled, FT employees assigned to a shift on day j, shift length
number lFT, start-time band with band width bw and break-period br
-
r
number of low skilled, FT employees assigned to a shift on day j, shift length
number lFT, start-time band with band width bw and break-period br
-
r
number of high skilled, PT employees assigned to a shift on day j, shift
length number lPT, start-time band with band width bw and break-period br
-
r
number of low skilled, PT employees assigned to a shift on day j, shift
length number lPT, start-time band with band width bw and break-period br
53
Surplus variables:
- number of working periods above for FT shift length number and
days-off pattern
- number of working periods above for PT shift length number lPT and
days-off pattern
- number of working periods below for FT shift length number lFT and
days-off pattern
- number of working periods below for PT shift length number lPT and
days-off pattern
Other variables:
-
1, if period p is a working period for shift length number lFT, start-time band
with band width bw and break-period br, 0 otherwise
-
1, if period p is a working period for shift length number lPT, start-time band
with band width bw and break-period br, 0 otherwise
- 1, if day j in FT days-off pattern is a working day, 0 otherwise
- 1, if day j in PT days-off pattern is a working day, 0 otherwise
-
r the average cost of working FT days-off pattern dopFT, shift length number lFT,
start-time band and break-period br
- r the average cost of working PT days-off pattern dopPT, shift length number
lPT, start-time band and break-period br
- minimum number of employees required in time period p on day j
- 1, if day r is a day off and day (r-1) a working day, 0 otherwise (r {2,…,J})
- 1, if (r- G2) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if day r is a day on and day (r-1) a day off, 0 otherwise (r {2,…,J})
- 1, if (r- O2) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if
or
> 0 for FT shift length number and
days-off pattern , 0 otherwise
- 1, if
or
> 0 PT shift length number and
days-off pattern , 0 otherwise
54
Model formulation:
MIN: (
*
) (
*
) +
(
* ) (
*
) (1)
∑ ∑ ∑ ∑
( (
))
∑ ∑ ∑ ∑ (
(
))
{ } (2a)
∑ ∑
– ∑ ∑
(
)
{ }
∑ ∑
– ∑ ∑
(
)
{ } (2b)
∑ (3)
∑ (4)
∑
; r { - }. (5)
(∑
(
) (
) ; r { } (6)
∑
. (7)
(∑
( )
( )
; r {2,…,J}. (8)
∑ ( )
(9)
∑ ( )
(10)
( )
r (11)
( )
;
. (12)
Equation (2b) until (12) is repeated here with superscript PT instead of FT
55
∑ ∑ ∑ ∑ (
) *
∑ ∑ ∑ ∑ (
)
(13)
∑ ∑ ∑ ∑ (
) +
∑ ∑ ∑ ∑ (
)
∑ ∑ ∑ ∑ (
)
∑ ∑ ∑ ∑ (
) { } (14)
,
,
,
i eger
,
,
,
i eger
Eq. (1) of this problem formulation minimizes the total cost. PT and low skilled employees are paid less,
indicated by the parameters δ and γ, respectively. Eq. (2a) is a coverage constraint and indicates the
minimum number of workers that needs to be scheduled on a certain day and period. Eq. (2b) ensures that
the number of workers assigned to a particular working day is equal to the total amount of workers
assigned to a band on that specific day. Eqs. (3) and (4) regulate the maximum and minimum number of
assignments during the scheduling horizon. Eqs. (5), (6), (7) and (8) are consecutiveness constraints. Eqs. (5)
and (6) express the restriction on the maximum and minimum number of consecutive working days. Eqs.
(7) and (8) restrict the number of consecutive days off to a maximum and a minimum, respectively. Eqs. (9)
and (10) limit the maximum and minimum number of working periods during the entire scheduling horizon.
Eq. (11) ensures that the previous two equations are included in the optimization model. More details
about this working method follow in paragraph 3.2 discussing the solution methodology. Eq. (12) ensures
that employees have to work the complete weekend or not. Eq. (13) and (14) are labor ratio constraints.
The first limits the number of FT to PT employees, while the second imposes a limit to the number of low to
high skilled employees.
3.1.3. Model 3: Hybrid model (HM)
In this paragraph a mathematical problem formulation is provided for creating a work staff that fully covers
a certain demand pattern by assigning employees to a combination of feasible tours and - shift patterns.
The former is expressed in shifts and days while the latter is defined by a string of periods covering a full
56
day for each shift. The method holds the middle between the previous two standard tour scheduling
techniques.
Notation:
Sets:
- BR a set of consecutive periods during which a break may be given (index br)
- J set of days in the scheduling horizon (index j)
- W set of weekends within the scheduling horizon (index w)
- set of days that correspond to the last day of each week within the scheduling
horizon (index ), i.e.
, , etc. (w W)
- K set of shift types: K = {Early ‘E’, Day ‘D’, Late ‘L’, Night ‘N’} (index k)
- LFT number of FT shift lengths (index lFT)
- LPT number of PT shift lengths (index lPT)
- shift length, in periods, for FT shift length lFT (index
) ( lFT LFT )
- shift length, in periods, for PT shift length lPT (index
) ( lPT LPT )
- P set of periods per day (index p)
- number of FT start times (index )
- number of PT start times (index )
- start period for shift type k corresponding to FT start time (index
) ( stFT STFT ) ( k K )
- start period for shift type k corresponding to PT start time (index
) ( stFT STFT ) ( k K );
- TFT set of feasible FT tours (index tFT)
- TPT set of feasible PT tours (index tPT)
Parameters:
- maximum number of assignments for FT employees, PT employees
respectively, within the scheduling period
- minimum number of assignments for FT employees, PT employees
respectively, within the scheduling period
- maximum number of night shifts for FT employees, PT employees
respectively, within the scheduling period
-
maximum number of consecutive working days for FT employees, PT
employees respectively, within the scheduling period
57
-
minimum number of consecutive working days for FT employees, PT
employees respectively, within the scheduling period
-
maximum number of consecutive assignments of shift type k for FT
employees, PT employees respectively
-
minimum number of consecutive assignments of shift type k for FT
employees, PT employees respectively
-
maximum number of consecutive days off for FT employees, PT
employees respectively, within the scheduling period
-
minimum number of consecutive days off for FT employees, PT
employees respectively, within the scheduling period
- maximum number of working periods within the scheduling period
- minimum number of working periods within the scheduling period
- S minimum time between two assignments
- α FT to PT labor ratio
- β high skilled to low skilled labor ratio
- γ percentage pay for low skilled employees compared to high skilled employees
- δ percentage pay for PT employees compared to FT employees
Decision variables:
-
number of high skilled employees assigned to FT tour tFT with start-time
number , shift length number and break-period br
-
number of low skilled employees assigned to FT tour tFT with start-time
number , shift length number and break-period br
-
number of high skilled employees assigned to PT tour tPT with start-time
number , shift length number and break-period br
-
number of low skilled employees assigned to PT tour tPT with start-time
number , shift length number and break-period br
Surplus variables:
- ,
number of working periods above for FT shift length number lFT and
tour , PT shift length number lPT and tour respectively
- ,
number of working periods below for FT shift length number lFT and
tour , PT shift length number lPT and tour respectively
58
-
number of working periods below for FT shift length number lFT , start time
number and tour
-
number of working periods below for PT shift length number lPT , start
time number and tour
Other variables:
- 1, if shift k on day j in FT tour r i e re e i e is a working
shift, 0 otherwise
- 1, if period p for shift type k with start time number , shift length number
and break-period br is a working shift, 0 otherwise
- 1, if period p for shift type k with start time number , shift length number
and break-period br is a working shift, 0 otherwise
- the total cost of working FT tour tFT with start-time number , shift length
number and break-period br
- the total cost of working PT tour tPT with start-time number , shift
length number and break-period br
- minimum number of employees required in time period p on day j
- 1, if day r is a day off and day (r-1) a working day, 0 otherwise (r {2,…,J})
- 1, if (r- G2) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if shift k on day r is a shift off and shift k on day (r-1) a working shift, 0 otherwise
(r {2,…,J})
- 1, if (r-
) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if day r is a day on and day (r-1) a day off, 0 otherwise (r {2,…,J})
- 1, if (r- O2) ≥ 1, with 1 the value of the first day of the scheduling horizon,
0 otherwise (r {2,…,J})
- 1, if
or > 0 for FT shift length number lFT and tour ,
0 otherwise
- 1, if
or > 0 for PT shift length number lPT and tour ,
0 otherwise
- 1, if
> 0 for FT shift length number lFT, start time number
and tour , 0 otherwise
59
- 1, if
> 0 for PT shift length number lPT, start time number
and tour , 0 otherwise
Model formulation
MIN: ( ) + (
)
( * ) (
) (1)
∑ (
) +
∑ (
)
{ } (2)
∑ ∑
(3)
∑ ∑
(4)
∑ ( ) (5)
∑ ∑
; r { - }. (6)
(∑ ∑ )
(
) (
) ; r { } (7)
∑
; r { -
}. (8)
(∑ )
(
) (
) ; r { } (9)
∑ ∑
. (10)
(∑ ∑ )
( )
( )
; r {2,…,J}. (11)
∑ ∑ ( )
(12)
∑ ∑ ( )
(13)
( )
r (14)
60
( ∑ ( ) ( )) ( (∑ ))
( ∑ (
))
{ } (15)
( )
r (16)
( ) ( )( ) ( )( ) ; j {1,…,J-1}. (17)
( )( ) ∑
∑ ( )
( ) ( )
( ) ( ) ; j {2,…,J-1};
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( ) ; j {2,…,J-1};
( )( ) ∑ ∑ ( ) ( ) ( )
( ) ( ) ; j {2,…,J-1}. (18)
∑ ( )
; . (19)
( )
; ; (20)
( )( ) ∑
; (21)
Equation (3) until (21) is repeated here with superscript PT instead of FT
∑ ∑ ∑ ∑ (
) *
∑ ∑ ∑ ∑ (
)
(22)
∑ ∑ ∑ ∑ ∑ (
) +
∑ ∑ ∑ ∑ ∑ (
)
∑ ∑ ∑ ∑ ∑ (
∑ ∑ ∑ ∑ ∑ (
)
{ } (23)
,
, ,
i eger
61
Eq. (1) set the objective function of this problem formulation. The goal is to minimize the total cost while
incorporating the necessary skill- and PT cost ratios. Eq. (2) is a coverage constraint and indicates the
minimum number of workers that needs to be scheduled on a certain day and period. Eqs. (3), (4) and (5)
are assignment constraints. Eqs. (3) and (4) regulate the maximum and minimum number of assignments
during the scheduling horizon. Eq. (5) limits the number of assignments to a night shift. Eqs. (6), (7), (8), (9),
(10) and (11) are consecutiveness constraints. Eqs. (6) and (7) express the restriction on the maximum and
minimum number of consecutive working days. Eqs. (8) and (9) follow the same principle but than for the
number of consecutive assignments of shift type k. Eqs. (10) and (11) restrict the number of consecutive
days off to a maximum and a minimum, respectively. Eqs. (12) and (13) limit the maximum and minimum
number of working periods during the entire scheduling horizon. Eq. (14) ensures that the previous two
equations are included in the optimization model. More details about this working method follow in
paragraph 3.2 discussing the solution methodology. Eq. (15) ensures that there is always enough time
between two assignments. Eq. (16) has the same purpose as eq. (14) but is further detailed down to the
level of starting times. Eq. (17) prohibits the sequence of a night shift and an early of day shift. Eq. (18)
guarantees a minimum number of two days off after a series of night shifts. Eqs. (19), (20) and (21) are
weekend constraints. Eq. (19) ensures that employees have to work the complete weekend or not. Eq. (20)
imposes that the assignments of employees in the weekends need to be identical. Eq. (21) restricts
scheduling a night shift before a weekend off. Eq. (22) and (23) are labor ratio constraints. The first limits
the number of FT to PT employees, while the second imposes a limit to the number of low to high skilled
employees.
3.2. Solution methodology
Starting from their mathematical problem formulations, a set-covering-, implicit- and hybrid model are set
up in the integrated development environment (IDE) Microsoft Visual C++ 2010 Express.
Each program can be divided in five main components: ‘The Settings’, a ‘Demand Pattern Generator’, a
‘Tour Generator’, a ‘Cost Generator’ and ‘The Optimization’. These steps can also be found in the programs
themselves under the source file ‘main.cpp’. Figure 3 shows a visual representation of these five
components:
62
Figure 3: Main components of the tour scheduling optimization system
Next, each component is described into more detail. The differences between and for each of the three
models is thoroughly explained, supported with a couple of examples. Also, if relevant, an enumeration is
provided of sets/parameters/variables introduced in the mathematical problem formulations and used in
the respective component or subcomponent.
3.2.1. Settings
To increase the user friendliness of the programs, all user definable variables are listed in the source file
‘Settings.cpp’, the first component of figure 4. This file is subdivided into seven subcomponents:
Figure 4: Subdivisions of the component ‘Settings’
1) General settings: Besides the path to write the output to, this section enables the user to choose
the number of shifts, days and periods. In the IM, the parameter ‘shifts’ is replaced by the
parameter BW. This denotes the number of starting times within a band. The calculation of the
number bands will be explained in paragraph 3.2.3.2.
Sets/Parameters/Variables: J, K, P, BW
2) Demand generator: The user is able to choose between two demand generators. The first one is
called the nurse scheduling problem generator (NSPGen) and is developed by Prof. dr. Mario
Vanhoucke and Prof. dr. Broos Maenhout. Although it has been developed in light of the nurse
scheduling problem, it can also be used to generate demand patterns for the TSP. The second
demand generator uses an upper and lower bound to randomly generate feasible demand
Settings Demand Pattern
Generator
Tour Generator
Cost Generator
Optimization
Settings
General Settings
Demand Generator
Break Placement
FT Personnel
PT Personnel
Skill Levels Objective function
63
patterns. More information about these two demand generators is provided in the next paragraph,
3.2.2.
Sets/Parameters/Variables:
3) Break placement: Two variables need to be defined. The first is the break window (BR), a set of
consecutive periods during which a break may be given. If this variable is set to 0, no breaks are
included into the model. If it’s greater than or equal to 1, as many work patterns are created as the
width of the BR. Each work pattern than contains one different single break-period, all
concentrated around the middle of the respective shift. A visual representation of this break
placement method will follow in paragraph 3.2.3. Finally, the second variable is the minimum shift
length, expressed in periods, required for assigning a break.
Sets/Parameters/Variables: BR
4) FT personnel: This section defines all the variables influencing the creation of FT work patterns. In
detail, parameters needed for the minimum and maximum of time-related constraints, the number
of shift lengths and start times per shift, the lengths themselves expressed in periods and the
starting period(s) per shift. The number of start times and the staring period(s) are, however, only
used in the set-covering- and hybrid tour scheduling approach.
Sets/Parameters/Variables: , ,
, ,
, ,
, , S, LFT,
, ,
5) PT personnel: Sets the exact same variables as for FT personnel but now for PT workers. One
variable, however, is added and defines the percentage of PT workers to FT workers. The attentive
reader will recognise this as the parameter ‘α’ used in the mathematical formulations of the
models.
Sets/Parameters/Variables: , ,
, ,
, ,
, , S, LPT,
, ,
, α
6) Skill levels: Contains only one variable, namely the variable ‘β’. This ratio defines the maximum
percentage of low skilled workers per period per day based on the number of high skilled
employees working that same period.
Sets/Parameters/Variables: β
7) Objective function: The standard objective function of each mathematical problem formulation and
of the corresponding optimization program minimizes the total workforce cost. However, the user
also has the ability to choose between three other objectives: minimizing the total workforce size,
the level of overstaffing and –understaffing. To increase the flexibility of the program, two
additional parameters can be defined: a ratio which sets the cost percentage for PT employees and
64
another ratio, with the same purpose, but for low skilled employees. These ratios are only relevant
when the cost objective function is applied.
Sets/Parameters/Variables: γ, δ
Notice that nothing is or has been calculated after this first component. The source file ‘Settings.cpp’ is
purely meant as a medium between the user and the tour scheduling optimization system.
3.2.2. Demand pattern generator
Two demand generators are integrated into the program: ‘NSPGen’ and a demand generator based on
bounded random numbers.
‘NSPGen’ is a useful tool to generate several nurse scheduling problem instances under a controlled design.
The generation is based on a set of complexity indicators, discussed into great detail in Vanhoucke and
Maenhout (2009). Section 3 of this working paper presents three classes of indicators measuring the size,
preferences and coverage requirements of a nurse scheduling problem instance, respectively. However, to
generate a demand pattern for one of our three tour scheduling approaches, we do not need the second
class in our program. Namely, preferences can only be included if we start from an existing workforce, as is
the case in the nurse scheduling problem. In the introduction of chapter 3, I have already explained that
this approach is not in line anymore with this thesis. The three complexity indicators of the first- and the
third class, respectively, are used as input parameters to generate a particular demand pattern. The
number of nurses, -shifts and -days are three indicators who belong to the first class. Their functionality is
obvious and doesn’t need any further explanation. The three complexity indicators of the third class are the
total-coverage constrainedness (TCC), the day-coverage distribution (DCD) and the shift-coverage
distribution (SCD). “The first indicator, TCC, serves as an indicator to generate the total number of nurses
required for the complete scheduling horizon. The second indicator, DCD, assigns requirements to
individual days and measures whether the daily coverage is distributed equally over all days. The last
indicator, SCD, has the same functionality as the previous indicator, but on a shift level. More precisely, the
SCD measures the distribution of the coverage requirements over all shifts for a particular day j.”
(Vanhoucke and Maenhout, 2009) Further explanation about these classes and their complexity indicators
is provided in Vanhoucke and Maenhout (2009). Also, the complete ‘NSPGen’ program and its tutorial can
be downloaded from www.projectmanagement.ugent.be/nsp.php.
65
The second generator creates demand patterns based on random numbers which are bounded between
two figures for each period of the day. The user of the program has to define four parameters: the lowest-
and the highest starting demand, a multiple and a trend. The first two give an indication of the workforce
size needed at the first period of each day. Next, the multiple determines the absolute value of the increase
or decrease in workforce size compared to the previous period. Lastly, the trend is a measure of seasonality
per day. If the trend is set equal to 0, no significant peaks are scheduled. However, if the trend equals 1 or
more, there will be an equal number of peaks scheduled within a single day. To incorporate this trend
within the program, a string of binary values is generated. The length of this string is equal to the number
of periods per day. Table 20 shows per trend its respective string of binary values for a 16-period-day:
Trend Period
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0 0 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1
1 0 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
2 0 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
Table 20: Trend generation
Hence, the demand for a particular period p is given by the following formula:
This process is repeated for every day of the week. Figure 5 shows the lower and upper bound for each
period of the day. The following setup was used: P = 16, lowest possible demand (1) = 20, highest possible
demand (1) = 25, Multiple = 4, Trend = 1.
Demand in period p = random number between [ lowest possible demand(p) , highest possible demand(p) ]
With:
lowest possible demand(p) = lowest possible demand(p-1) + Trend(p) * Multiple
highest possible demand(p) = highest possible demand(p-1) + Trend(p) * Multiple
lowest possible demand(1) = defined by the user;
highest possible demand(1) = defined by the user.
66
The demand for each period is now generated by selecting a random number that is located between the
green and the red line.
3.2.3. Tour generator
This component is the core of each program and creates work patterns (Tours) based on a set-covering-, an
implicit- or a hybrid method.
3.2.3.1. Set-covering method
Tour generation is in its purest form under the set-covering formulation originally suggested by Dantzig
(1954), see paragraph 2.2. This general formulation is, however, far from realistic and needs to be
completed with at least a number of time-related constraints. This task has been done in paragraph 3.1.1,
suggesting a much more realistic TSM. The attentive reader should have noticed that the model is built
around two variables:
- 1, if shift k on day j in FT tour tFT , PT tour tPT respectively, is a working
shift, 0 otherwise
-
1 if time period p is a work period in FT tour , PT tour
respectively, 0 otherwise
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Upper bound 25 29 33 37 41 45 49 53 49 45 41 37 33 29 25 21
Lower bound 20 24 28 32 36 40 44 48 44 40 36 32 28 24 20 16
0
10
20
30
40
50
60Demand
Figure 5: Lower- and upper bound for the random bounded demand generator
67
Both variables are the basis in creating feasible tours. Namely, the first variable is used in the source file
‘TourGeneration_Step1.cpp’ and the second one in ‘TourGeneration_Step2.cpp’. The tour generator
component can be subdivided as follows:
Figure 6: Set-covering method: subdivisions of the ‘Tour Generator’ component
In step 1, tours are generated as seen in table 3. In other words, per day and per shift a binary
representation is used to point out if it is a working shift or not. Important to mention is that a free shift is
included, which means that every day exactly one of the shifts is equal to 1. If the scheduling horizon is set
at 7 days and there are 3 working shifts and 1 free shift (the last value), the first 10 tours look as follows:
Tour Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7
1 1000 1000 1000 1000 1000 1000 1000
2 0100 1000 1000 1000 1000 1000 1000
3 0010 1000 1000 1000 1000 1000 1000
4 0001 1000 1000 1000 1000 1000 1000
5 1000 0100 1000 1000 1000 1000 1000
6 0100 0100 1000 1000 1000 1000 1000
7 0010 0100 1000 1000 1000 1000 1000
8 0001 0100 1000 1000 1000 1000 1000
9 1000 0010 1000 1000 1000 1000 1000
10 0100 0010 1000 1000 1000 1000 1000
Table 21: Set-covering method: output of step 1 of the ‘Tour Generator’ component
Tour Generator
Step 1
Feasibility Check
Step 2
Feasibility Check
68
The total number of tours will be equal to 16.384 (= 4^7). This is, however, without any restriction. In
reality, the first tour, for example, will never be worked because it is not beneficial for the company and the
person itself to work 7 days in a row. Therefore, (time-related) constraints are added to the model. In
detail, every tour created in step 1 runs through 14 feasibility checks: constraints (3) – (11) and (15) – (19)
as seen in model 3.1.1. The impact of each individual constraint on the total number of feasible tours varies
drastically. Suppose every day there are 4 working shifts (an early-, day-, late-, and night shift) and one
additional free shift during a scheduling horizon of 7 days. Table 22 lists for each of the 14 constraints the
remaining number of tours, the corresponding parameter (only for FT employees) used in the mathematical
formulation and the value of this variable:
Table 22: Set-covering method: impact of 14 time-related constraints
The percentages give the user a good idea of the impact of each individual constraint. For the assignment-
and consecutiveness constraints, however, these percentages change when the value of the corresponding
Tours % Constraint Var. Value
78125 100,00% Maximum (5 shifts, 7 days => 78125 tours)
Assignment constraints:
33069 42,33% Maximum number of assignments AFT 5
77760 99,53% Minimum number of assignments DFT 3
75520 96,67% Maximum number of assignments to a night shift FFT 3
Consecutiveness constraints:
53549 68,54% Maximum number of consecutive days G1FT 5
33089 42,35% Minimum number of consecutive days G2FT 3
78089 99,95% Maximum number of consecutive shifts Hk,1FT 5
841 1,08% Minimum number of consecutive shifts Hk,2FT 2
77700 99,46% Maximum number of consecutive days off O1FT 3
24613 31,50% Minimum number of consecutive days off O2FT 2
Work pattern constraints:
45465 58,20% No early- and day shift after a night shift
76700 98,18% Minimum 2 days off after a series (>3) of night shifts
Weekend constraints:
53125 68,00% Complete weekends
72500 92,80% No night shift before a free weekend
15625 20,00% Identical weekends
69
parameter is set higher or lower. When all the constraints with the values used in table 22 are applied as a
feasibility check, only 67 tours remain. Table 23 lists the first 5 feasible tours after step 1:
Tour Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7
1 00001 00001 10000 10000 10000 10000 10000
2 00001 00001 00001 10000 10000 10000 10000
3 00001 00001 01000 01000 10000 10000 10000
4 00001 00001 00100 00100 10000 10000 10000
5 00001 00001 01000 01000 01000 10000 10000
Table 23: Set-covering method: feasible tours after step 1 of the ‘Tour Generator’ component
To end the discussion of tour generation step 1, a small word should be said about the variable
. This variable is now completely filled with feasible binary variables per shift, per day and per
tour. Next to Table 23, the values for this variable are shown for day 1, tour 1 and day 7, tour 2.
In step 2, each day per tour is levelled down to the number of periods per day, i.e. if P = 24, a string of 24
binary variables forms one day of a tour. In other words, the second variable is an extrapolation of the first
variable. The place where a work period is planned, i.e. a value of 1, is determined by the type of shift
scheduled in step 1, the start time(s) of that shift, the possible shift lengths and whether break placement is
included into the model or not. An example will provide the necessary clarification:
Example (for FT personnel): Consider day 3 of tour 1 in table 23, where an early shift is scheduled. Also,
define the following sets and parameters:
- LFT (set of shift lengths) = 2;
- (length, in periods, for shift length 1) = 6;
- (length, in periods, for shift length 2) = 8;
- (set of start-times) = 2;
- (start-time, in periods, for start-time 1 of shift type ‘early’) = 0;
- (start-time, in periods, for start-time 2 of shift type ‘early’) = 3;
- BR (a set of consecutive periods during which a break may be given) = 2;
- Minimum shift length to schedule a break = 6;
After considering all of the sets and parameters defined above, we find the following 8 (= LFT * * BR)
strings of each 24 binary values for day 3 of tour 1 after tour generation step 2:
a111 = 0 a121 = 0 a131 = 0 a141 = 0 a151 = 1
a712 = 1 a722 = 0 a732 = 0 a742 = 0 a752 = 0
70
Day 3 Day 3
1 110111000000000000000000 5 000110111000000000000000
2 111011000000000000000000 6 000111011000000000000000
3 111011110000000000000000 7 000111011110000000000000
4 111101110000000000000000 8 000111101110000000000000
Table 24: Set-covering method: transforming a single day from step 1 to step 2
The first two tours and tours 5 and 6 have a shift length of 6 periods (= ). The other tours have a shift
length of 8 periods (= ). Starting times are the same for the first 4 tours (
= 0) and tours 5 until
8 ( = 3). Because the BR was set equal to 2 (= BR), each possible start and shift length
combination is further divided into 2 strings. Each string has a single break period scheduled around the
middle of the shift. Table 25 shows how the program would schedule breaks into a 10-hour shift with a
beak-window equal to 5:
1 1110111111
2 1111011111
3 1111101111
4 1111110111
5 1111111011
Table 25: Set-covering method: break placement for a shift of 10 hours with a BR of 5
The feasibility check of step 2 concerns three working hour constraints: (12) until (14) of model 3.1.1. These
constraints couldn’t be tested in step 1 because these tours were not yet generated down to the level of
working periods/hours. The first two constraints check, for each generated tour, whether the total amount
of working hours falls between a predefined minimum ( ) and maximum ( ). The third constraint
checks whether the time between two assignments is at least equal to ‘S’, with ‘S’ expressed in periods.
After this feasibility check, variable
is now completely filled with feasibly tours. If J = 7 and P =
24, each tour consists of 7 x 24 binary variables. In addition, the total number of binary variables used for
optimization could easily add up to a few billion. Next to table 24, a couple of values for are shown.
Remark that the example is given for day 3, so we start at period 49 (= 2*24+1).
a49,7 = 0 a50,7 = 0 a51,7 = 0 a52,7 = 1 a53,7 = 1 a54,7 = 1
71
3.2.3.2. Implicit method
The basic implicit TSM is shown in paragraph 2.2. This is, just as for the SCM, a far too basic approach to
generate personnel schedules. Therefore, the model has been completed with time-related constraints,
which is shown in paragraph 3.1.2. The implicit TSM is built around the following two variables (only FT
variables are considered):
- 1, if day j in FT days-off pattern is a working day, 0 otherwise
-
1, if period p is a working period for shift length number lFT, start-time band
with band width bw and break-period br, 0 otherwise
Variable is filled with days-off patterns and
with shift schedules. Unlike the SCM,
where the second variable is an extrapolation of the first one, both variables are independent from each
other and both are needed in the optimization step. The tour generator component of figure 3 can be
subdivided as follows:
Figure 7: Implicit method: Subdivisions of the component ‘Tour Generator’
The methodology followed for the subcomponent days-off scheduling is exactly the same as step 1 of the
set-covering method. This means that a pattern is created immediately followed by a feasibility check. The
content is, however, slightly different. Namely, for the days-off scheduling part, each day consists of only
one value, i.e. 1 for a day on and 0 for a day off. Remember that in the set-covering method each day
consisted of a string of binary values where each value corresponded to a particular shift. Because of this
limited number of combinations (only two per day, i.e. 0 or 1), the possible number of work patters that
could be created is much lower. For example, a scheduling horizon of 7 days can only generate 128 (= 2^7)
Tour Generator
Days-off scheduling
Feasibility Check
Shift scheduling
Feasibility Check
72
days-off schedules. Table 26 shows the first 8 days-off patterns created by the source file
‘DaysOffPattrenGeneration.cpp’:
Days-off pattern
Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7
1 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0
3 0 1 0 0 0 0 0
4 1 1 0 0 0 0 0
5 0 0 1 0 0 0 0
6 1 0 1 0 0 0 0
7 0 1 1 0 0 0 0
8 1 1 1 0 0 0 0
Table 26: Implicit method: output of the days-off scheduling subcomponent
When a days-off pattern is created, it runs through 7 constraints to check whether it is a feasible pattern or
not. These constraints are mathematically formulated in paragraph 3.1.2 and correspond to the numbers
(3) – (8) and (12). These 7 constraints are a clear difference with the 14 constraints of step 1 of the tour
generation component of the set-covering method. The cause of this difference lies in the fact that 7
constraints are so-called shift constraints and therefore not applicable in this implicit modelling approach.
The impact of the remaining 7 constraints is about the same as found in table 22. However, this is only
relatively speaking, not in absolute terms. To close the discussion of the days-off scheduling
subcomponent, it is worth mentioning that next to table 26 a text area shows a couple of values for the
variable .
The next step is to generate the values of the variable
. This is done in the source file
‘ShiftPatternGeneration.cpp’. The output of this file is a bunch of binary strings with a length equal to the
number of periods per day. The number of strings and their content is determined by the sets BW and L(FT).
These sets represent the BW, a range in which starting times can vary within a band, and the number of
(FT) shift lengths, respectively. “A start-time band is defined as a range in which starting times can vary
within an individual tour” (Jacobs and Brusco, 1996). In detail, the number of bands for a particular shift
length is defined by the following equation:
= P - - BW + 2
b3,1 = 0 b3,2 = 1 b4,1 = 1 b4,2 = 1
73
The formula is exactly equal to one of the formulas in Jacobs and Brusco (1996), studying the influence of
overlapping start-time bands in implicit tour scheduling. Table 27 shows the strings for the first three bands
of a 24 period day with shift length 8 and BW 4:
Band 1
111111110000000000000000
011111111000000000000000
001111111100000000000000
000111111110000000000000
Band 2
011111111000000000000000
001111111100000000000000
000111111110000000000000
000011111111000000000000
Band 3
001111111100000000000000
000111111110000000000000
000011111111000000000000
000001111111100000000000
Table 27: Implicit method: output of the shift scheduling subcomponent
The total number of bands under these conditions (P = 24, = 8 and BW = 4) is equal to 14. This is,
however, without break placement. If the user includes breaks by, for instance, setting BR equal to 3, each
string per band transforms into three strings, as seen in table 25. An important remark here is that the
maximum BR is equal to 5. The reason for this is to respect the minimum time between assignments and to
prevent the user of introducing unrealistic high break scheduling flexibility. An example for band 1 of table
27 is provided in table 28. Next to the table, a couple of values for the variable
are shown
(assume that there is only 1 shift length, hence = 1).
Band 1
111011110000000000000000
111101110000000000000000
111110110000000000000000
011101111000000000000000
011110111000000000000000
011111011000000000000000
Band width (BW) = 4
a1,1,2,3,1 = 0 a1,1,2,3,2 = 1 a1,1,2,3,3 = 1 a1,1,2,3,4 = 1 a1,1,2,3,5 = 1
74
Table 28: Implicit method: break placement
The final step of the tour generator component under the implicit modelling approach is a feasibility check.
This check corresponds to constraints (9) - (11) of model 3.1.2. Equation (9) sets a maximum to the number
of working periods and equation (10) sets the minimum. This way, every days-off pattern and shift length
combination is tested for violation. Notice that we need a days-off pattern variable ( ) and a shift
pattern parameter ( ) to do this. For this reason, the feasibility check is a separate subcomponent and
not only part of subcomponent 1 or 2 (see figure 7). Equation (11) makes sure that every decision variable
for which a particular days-off pattern and shift length combination is violated, is set equal to 0.
3.2.3.3. Hybrid method
As the name already suggests, this tour scheduling approach is a combination of the previous two methods.
Figure 8 gives a first glimpse of this combined tour scheduling method:
Figure 8: Hybrid method: Subdivisions of the component ‘Tour Generator’
The subcomponent ‘Step 1’, its feasibility check and the main variable of this subcomponent ( ),
are all similar to those of the set-covering method.
Tour Generator
Step 1
Feasibility Check
Shift scheduling
Feasibility Check
001110111100000000000000
001111011100000000000000
001111101100000000000000
000111011110000000000000
000111101110000000000000
000111110110000000000000
75
The second subcomponent is derived from the shift scheduling subcomponent under the implicit tour
scheduling method, but its content is not exactly the same. Under the implicit modelling approach, a BW
needed to be defined which was the basis for setting up all the different shift patterns. Under this model,
however, shifts are reintroduced just as in the SCM. The difference can also be seen if we investigate the
main variables for this subcomponent (see table 29):
Implicit modelling approach Hybrid modelling approach
Table 29: Comparison of the variables under implicit- and hybrid modelling
The subscripts indicating the band width (BW) and the number of bands per shift length ( ) in the
implicit variable, are replaced by the number of start times ( ) and a set of shift types (K). Table 30
shows the output of the shift scheduling subcomponent of the hybrid tour scheduling approach. The table
has been set up starting from a situation with 3 working shifts and one free shift, a day consisting out of 24
periods, one shift length of 8 periods, three starting periods: 1, 9 and 17 and a BR of 2 periods. Next to the
table, a text area is added showing the link with the variable .
Shift 1 111011110000000000000000
111101110000000000000000
Shift 2 000000001110111100000000
000000001111011100000000
Shift 3 000000000000000011101111
000000000000000011110111
Shift 4 (free shift) 000000000000000000000000
000000000000000000000000
Table 30: Hybrid method: output of the shift scheduling subcomponent
The feasibility check is comparable to the one under the implicit modelling approach, except that one
constraint is added. Namely, going from a BW to shifts, the time between two assignments needs to be
tested again carefully. The respective equations needed for this feasibility check are (12) - (16).
b3,3,1,1,20 = 0 b3,3,1,1,21 = 1 b3,3,1,1,22 = 1 b3,3,1,1,23 = 1 b3,3,1,1,24 = 1
76
3.2.4. Cost Generator
Calculating the cost variable is a process of transforming the cost per period per day towards a cost with
the same dimensions of the decision variables of the respective problem formulations. Figure 9 shows a
visual representation of this process:
Figure 9: Cost generator: transformation process
The input, the cost per period per day ( ), needs to be defined by the user. However, a standard cost
pattern is provided. Each cost is depended on the period of the day and whether it is a weekend day or not.
Figure 10 shows the standard cost pattern included in each program.
Figure 10: Default cost per period per day
The transformation process is very straightforward for the set-covering- and hybrid TSP. However, for the
implicit approach, one should take into account that workers are not assigned to tours, but instead to
Cost Generator
Input Output
0
5
10
15
20
25
30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Cost
Period
Day 7
Day 6
Day 1-5
Cost variable Transformation
77
bands. In addition, we will have to calculate the average cost of working a particular band. The formulas for
transforming the costs of figure 10 are provided in table 31 (only FT):
SCM = ∑ ∑ ∑ (
( ( ) ) )
IM
=
∑ ∑ ∑ ∑ ∑
∑ ∑ (
) / BW ]
HM = ∑ ∑ ∑ ∑ ∑ ∑ ∑ (
)
Table 31: Cost Generator: Transformation formulas
The formula of the implicit modelling approach shows how the average cost per band is calculated. Namely,
the total cost for working a particular band is summed and then divided by the BW.
The costs obtained after applying these formulas are now multiplied with their respective decision
variables. This way, we can set the default objective function of each program (see eq. (1) of the
mathematical problem formulations).
3.2.5. Optimization
The optimization of the different TSPs is performed by the state-of-the-art mathematical programming
solver ‘Gurobi Optimizer 5.0.1’. For more information about this commercial optimization tool, I refer the
reader to http://www.gurobi.com/.
The optimization procedure can be divided in five subcomponents (see figure 11):
Figure 11: Subdivisions of the component ‘Optimization’
Optimization
Loading the decision variables
Set the objective function
Add constraints
Optimization Output
78
The first step in the optimization process is to define and load in all the different decision variables. While
defining these variables, we multiply them with their respective objective function variable(s). In the
default setting, these are the cost variables calculated by the cost generator.
The second step is then to choose whether the process has to maximize or minimize the objective function.
Minimization is the default setting in each program.
The third step is to set up the constraints that have a direct link with the decision variables. Three of these
types of constraints return in each of our three programs: the coverage constraint and the two labor ratio
constraints who, respectively, limit the number of PT and low skilled employees. Two additional
equations/constraints need be defined for the implicit- and hybrid tour scheduling solution approach. For
the IM, these are equations (2b) and (11). Eq. (2b) ensures that the number of workers assigned to a
particular working day is equal to the total amount of workers assigned to a band on that same day. Eq.
(11) inserts the maximum- and minimum number of working hour constraint into the model. The two
additional constraints for the HM are equations (14) and (16). Eq. (14) has the same purpose as equation
(11) of the IM. Eq. (16) ensures that the constraint checking the time between two assignments is included
into the model.
After these three steps and all of the calculations done in the demand-, tour- and cost generator, the model
can finally be optimized. Gurobi applies a branch-and-cut algorithm to find a feasible integer solution as
close as possible to the detected lineair lower/upper bound.
If a feasible solution is found, the final step is to generate a useful output. The latter can be used to analyze
and compare with other solutions and even be applied in practice. Analysis and comparison of the obtained
results is what I will describe in the final paragraph of this chapter, the computational results.
3.3. Results
To determine the influence of the tour scheduling categories listed in figure 2, we need to perform a
thorough scenario analysis. But before we can start comparing, a baseline model (BM) needs to be set up.
As said before, the code was written in C++ with Microsoft Visual 2010 Express. The computer used to
perform the optimization was a Toshiba Satellite P300 with an Intel(R) Core(TM)2 Duo CPU P8400 @
2.26GHz processor with 3GB RAM.
79
3.3.1. Baseline model (BM)
3.3.1.1. Setup
To build a model, we need to define all our settings (see figure 4). Appendix B shows the values that I have
chosen for the BM, which are in line with the most common values used in literature and in practice. A
couple of clarifications are appropriate here. First, the number of periods per day is equal to 24, which
suggests that we work under a continuous scheduling horizon. However, shifts start and end on the same
day, so no day overlap is allowed. In other words, although we consider a 24 period day, we study a
discontinuous TSM. Day overlap is a topic that I leave open for further research. Secondly, the BM defines
three working shifts and one free shift. The working shifts start, for FT employees, at period 0, 8 and 16,
respectively. In addition, a night shift is not included into the model, which influences the setup of night
shift related constraints. In detail, the assignment constraint that limits the maximum number of night
shifts is excluded from the model, together with the two work pattern constraints (see table 22).
Furthermore, the type of shift is changed in the second weekend constraint. Thirdly, the multiple and trend
used for the demand generator both equal 0. This means that for each period of the scheduling horizon, a
random number is chosen between the lowest- and highest starting value defined by the user. For the BM,
I have set these values equal to 20 and 25, respectively. The exact same demand pattern is used for all
three models. Finally, the objective function of the BM minimizes the total workforce cost. One reason for
choosing a cost objective function is because of its popularity (see table 5). Another reason is the ability to
make “a trade-off between hiring employees, overtime, casual workers, etc., by assigning a (relative) cost
to all of these factors” (J. Van den Bergh et al., 2012). To make a distinction between FT- and PT personnel,
the respective ratio is set equal to 0.8. This means that the employer only has to pay 0.8*14 euro to a PT
worker if one FT working period is paid 14 euro. The cost pattern used for the BM is the exact same pattern
as shown in figure 10.
3.3.1.2. Results
The comparison of the models is performed by a set of indicators spread across three classes. The
indicators of the first class provide the reader with a detailed overview of the composition of the
workforce: the number of FT- and PT employees, the number of high- and low skilled employees and the
total workforce. The difference in skill class will be only relevant in the respective scenario. The second
class gives an indication about the size of the model. The latter is defined by the number of rows
(constraints), columns (variables) and nonzeros of the respective models. The third and final class contains
four computational results: the integer- and lineair objective bounds, the gap between previous two
indicators and the CPU-time needed to find an optimal solution. Table 32 shows these classes and their
indicators together with the results for the BMs:
80
SCM IM HM
BM BM BM
Workforce indicators
FT employees 93 90 93
PT employees 31 30 31
Total workforce 124 120 124
Size indicators
Rows 337 2.769 905
Columns 844 3.920 1.564
Nonzeros 29.371 24.590 46.007
Computational indicators
Integer objective bound (€) 57.091 56.223 57.075
Lineair objective bound (€) 57.090 56.218 57.075
GAP (%) 0,0018 0,0089 0
CPU-time (sec.) 0,23 10,98 0,14
Table 32: BMs – summary of the results
Interesting to notice in table 32 is the huge similarity between the SCM and HM. This is logical if we look at
both models mathematical formulations. Namely, tours are created on the same way, except that for the
SCM optimization is performed with tours capturing days, shifts and periods, while for the HM it is the task
of the optimization step to find the best combination of these same tour levels. As we will find out later on,
the objective bounds founded for the SCM and HM are indeed always the same. In addition, only the size
indicators and CPU-time will be relevant in comparing the results of these respective models. The same
conclusion was already drawn analysing figure 8. Another finding is the lower objective function of the IM.
This is explained by the introduction of intra-tour start-time flexibility. For the SCM and HM, only 1 starting
period per shift has been scheduled for FT employees and only two for PT employees. The number of
starting periods in the implicit TSM is, however, much larger. This is due to the introduction of bands and
BWs. Table 27 has already shown the consequence of defining BWs on the number of starting times. In
scenario 3 I will affirm this conclusion by modifying the BW for the IM. A last conclusion concerning table 32
is about the number of PT employees. The reader can see that for each model the FT to PT ratio α has been
fully taken into account. This is logical because PT employees are paid less than FT employees, as already
explained in the setup of the BMs.
81
Besides these numerical results, figure 12 gives us the possibility to draw another interesting conclusion
about our BMs. On the left, the graphics show the average weekday coverage pattern for each model. On
the right, you will find the same but now for the weekend.
0
5
10
15
20
25
30
1 3 5 7 9 11 13 15 17 19 21 23
Period
Set-covering Baseline Model: average weekday pattern
FT employees PT employees
Surplus Demand
0
5
10
15
20
25
30
1 3 5 7 9 11 13 15 17 19 21 23
Period
Set-covering Baseline Model: average weekend pattern
FT employees PT employees
Surplus Demand
0
5
10
15
20
25
30
1 3 5 7 9 11 13 15 17 19 21 23
Period
Implicit Baseline Model: average weekday pattern
FT employees PT employees
Surplus Demand
0
5
10
15
20
25
30
1 3 5 7 9 11 13 15 17 19 21 23
Period
Implicit Baseline Model: average weekend pattern
FT employees PT employees
Surplus Demand
82
Figure 12: BMs – coverage patterns
As the reader should have noticed, the distribution of PT employees is different for weekdays and
weekends. More specifically, for the first 5 days of the week we see a smooth distribution of part-timers
during the entire day. But in weekends, the middle of the day is almost completely covered by FT
employees while part-timers do a lot more work in the first and last periods of the day. Most of this
appearance is explained by the cost PT ratio δ and especially the difference in costs for working a weekday
or a weekend day (see figure 10). This, however, does not count for the implicit TSM. Namely, the coverage
pattern for weekdays is almost identical to the one in the weekend. Furthermore, the peak of full-timers in
the middle of a weekend day is much steeper for the explicit tour scheduling methods than for the implicit
one. This is again due to the introduction of intra-tour start-time flexibility.
Next, a couple of scenarios are worked out. For every scenario I will investigate the influence on the
workforce-, size- and computational indicators. It is important for the reader to understand that these
scenarios are independent from each other. More precisely, after every scenario the modification is
dropped again and we start back from the BM for the next scenario. We distinguish the following five
modifications to the BM:
- Scenario 1: Change the objective function, i.e. minimize the workforce size
- Scenario 2: Add break periods into the model, i.e. break placement
- Scenario 3: Change the BW of the IM, i.e. intra-tour start-time flexibility
- Scenario 4: Add skills into the model, i.e. high- and low skilled employees
- Scenario 5: Change the demand pattern and study the relationship with PT employees
0
5
10
15
20
25
30
1 3 5 7 9 11 13 15 17 19 21 23
Period
Hybrid Baseline Model: average weekday pattern
FT employees PT employees
Surplus Demand
0
5
10
15
20
25
30
1 3 5 7 9 11 13 15 17 19 21 23
Period
Hybrid Baseline Model: average weekend pattern
FT employees PT employees
Surplus Demand
83
While studying the results, one will notice that in some cases the optimization process has been stopped
(indicated by one (*) or two (**) stars). One reason for this is the predefined time window. Namely, the
optimization process is always stopped after 3600 seconds. In the scope of the TSPs studied in this thesis,
crossing this time boundary is an indication of a significantly higher computational effort than for other
problems. The other reason is related to the limited amount of memory available to do the analysis. One
will notice that this ‘out-of-memory’ problem only encounters for the SCM and the HM. This already
confirms that explicit tour scheduling approaches require much more memory than IMs (see, for example,
Morris and Showalter 1983, Bechtold and Showalter 1987, Bechtold et al. 1991, Easton and Rossin 1991a,
Brusco and Jacobs 1993, Bechtold and Brusco 1994).
3.3.2. Scenario 1: Objective function modification: minimize the workforce size
The BM needed to minimize the total workforce cost. Interesting would be now to see what the impact is
on the results when we change this objective function. Table 33 lists for each model the results with the
objective of minimizing the total workforce size. The size indicators are not included in this table because
they are identical to those of the BM.
SCM IM HM
Workforce indicators
FT employees 111 111 111
PT employees 1 1 1
Total Cost (€) 62.840 62.227 62.064
Computational indicators
Integer objective bound (€) 112 112 112
Lineair objective bound (€) 112 112 112
GAP (%) 0 0 0
CPU-time (sec.) 0,02 0,08 0,03
Table 33: Scenario 1 – summary of the results
Just like the BMs, the time needed to perform the optimization is negligible. More interesting the see,
however, are the total work schedule costs and the according workforce sizes. Both are illustrated in figure
13:
84
Figure 13: Scenario 1 – Total work schedule cost and -workforce size
Scenario 1 has, as expected, led to a lower workforce size than in the BM, but a higher overall work
schedule cost. The reduction in the workforce size has been accomplished by switching PT workers for FT
workers. This makes sense because part-timers are restricted to 30 working periods during the week, while
this is only the lower bound for full-timers. As a consequence, however, the total work schedule cost has
increased by nearly 10 per cent compared with the BMs. A last point of interest is the average surplus
coverage scheduled per day. Figure 14 compares this average daily surplus for the BM of the set-covering
approach and scenario 1:
Figure 14: Scenario 1 – Average daily surplus coverage
After studying figure 14, we can conclude that the average daily surplus coverage is always higher for
scenario 1 than for the BM. This is contradictive knowing that the objective of scenario 1 is to minimize the
total workforce size while the BM minimizes the overall work schedule cost.
50.00053.00056.00059.00062.00065.00068.000
SCM IM HM
Co
st (
€)
Total Work Schedule Cost
BM Scenario 1
100
105
110
115
120
125
130
SCM IM HM
Emp
loye
es
Total Workforce Size
BM Scenario 1
0
1
2
3
1 2 3 4 5 6 7
Emp
loye
es
Day
Average Surplus coverage
BM
Scenario 1
85
3.3.3. Scenario 2: Break placement
I continue this scenario analysis by adopting breaks into the BMs. How this is done has already been
explained in paragraph 3.2.3. For a visual representation I refer the reader to tables 25, 28 and 30 for the
respective models. The BR is changed from 1 till 4. Table 34 summarizes the results of the break placement
exercise. On the top of the table and below the name of the model, the length of the BR is indicated. To
make the analysis easier, the BM is also added which had a BR equal to 0.
In contrast with the results from scenario 1, break placement does have a great impact on the size of the
problem. Figure 15 gives more insight in the positive relation between the number of rows (constraints)
and columns (variables) and the length of the BR.
Figure 15: Scenario 2 – Rows and columns
As a consequence of this positive relationship, I had to deal with memory and time limit problems. The
huge amount of memory needed for the set-covering- and HM are in line with the findings of tour
scheduling literature (see, for example, Morris and Showalter 1983, Bechtold and Showalter 1987, Bechtold
et al. 1991, Easton and Rossin 1991a, Brusco and Jacobs 1993, Bechtold and Brusco 1994). Moreover, the
higher values of the HM compared to the SCM reflect themselves in a longer pre-solvation time. The latter
is a phenomenon noticed in every optimization exercise. The time limit was reached for the IM adopting a
BR equal to 3 and 4.
0
2.500
5.000
7.500
0 (BM) 1 2 3 4BR
Rows (Constraints)
SCM HM IM
0
5.000
10.000
15.000
20.000
0 (BM) 1 2 3 4BR
Columns (Variables)
SCM HM IM
86
Table 34: Scenario 2 – summary of the results
* Solve interrupted: out of memory
** Optimization was stopped; time limit was reached (3600 sec.)
SCM IM HM
0 (BM) 1 2 3* 4* 0 (BM) 1 2 3** 4** 0 (BM) 1 2 3* 4*
Workforce indicators
FT employees 93 315 126 / / 90 108 97 96 95 93 315 126 / /
PT employees 31 105 42 / / 30 36 32 32 31 31 105 40 / /
Total workforce 124 420 168 / / 120 144 129 128 126 124 420 166 / /
Size indicators
Rows 337 337 337 337 337 2.769 2.871 4.019 5.167 6.315 905 947 1.557 2.167 2.777
Columns 844 802 1.604 2.406 3.208 3.920 3.920 7.840 11.760 15.680 1.564 1.564 3.128 4.692 6.256
Nonzeros 29.371 25.645 51.290 76.935 102.580 24.590 23.936 47.872 71.808 95.744 46.007 43.205 86.410 129.615 172.820
Computational indicators
Integer objective bound (€) 57.091 142.307 71.837 61.828 58.769 56.223 61.862 56.257 55.191 54.300 57.075 142.195 71.837 61.772 58.667
Lineair objective bound (€) 57.090 142.307 71.833 61.718 58.597 56.218 61.856 56.252 54.992 54.224 57.075 142.195 71.831 61.683 58.569
GAP (%) 0,0018 0 0,0056 0,1779 0,2927 0,0089 0,0097 0,0089 0,3606 0,1402 0 0 0,0084 0,1441 0,1673
CPU-time (sec.) 0,23 0,17 0,41 916,51 2.158,33 10.98 19.67 3.393,51 3.600 3.600 0,14 0,25 0,87 2793,05 2895,23
87
Another aspect that should be discussed is the influence of incorporating breaks to the total work schedule
cost and the workforce size. Figure 16 illustrates both of them:
Figure 16: Scenario 2 – Total work schedule cost and -workforce size
The enormous increase of the total cost and workforce size for both the SCM and HM adopting a break
length equal to 1 is easy to explain. Namely, only one period during a FT shift can be scheduled as a break
period. In addition, the demand during these particular break periods needs to be covered by PT
employees. This group is, however, limited by the FT to PT ratio. Hence, hiring one extra part-timer leads to
3 (default FT/PT ratio) extra full-timers which explains the drastic increase in both costs and staff size. This
reasoning does not count any more when we adopt a BR larger than 1, cause the program can now switch
between multiple break periods. Therefore, the higher the BR, the more the program can ‘play’ with these
periods and adjust them according to the demand that needs to be covered. This leads in turn to lower
costs and staffing size, but this effect does level off as we can see on figure 16.
3.3.4. Scenario 3: Intra-tour start-time flexibility (IM only)
As said before, one of the scenarios would investigate the impact on the results of changing the BW of the
IM. The BW of the BM was set equal to 1, indicating that employees have to start every work day of their
tour on the same period. Table 35 shows what happens when we increase this BW (the length of the BW is
indicated at the top of the table)
50.000
70.000
90.000
110.000
130.000
150.000
0 (BM) 1 2 3 4
Co
st (
€)
BR
Total Work Schedule Cost
SCM IM HM
100150200250300350400450
0 (BM) 1 2 3 4
Emp
loye
es
BR
Total Workforce Size
SCM IM HM
88
IM
1 (BM) 2 3* 4* 5*
Workforce indicators
FT employees 90 90 89 89 88
PT employees 30 30 29 29 29
Total workforce 120 120 118 118 117
Size indicators
Rows 2.769 2.649 2.529 2.409 2.289
Columns 3.920 5.040 6.020 6.860 7.560
Nonzeros 24.590 34.612 43.402 50.960 57.286
Computational indicators
Integer objective bound (€) 56.223 54.282 50.795 48.480 46.689
Lineair objective bound (€) 56.218 54.277 50.763 48.447 46.643
GAP (%) 0,0089 0,0092 0,0630 0,0681 0,0985
CPU-time (sec.) 10,98 478,47 3.600 3.600 3.600
Table 35: Scenario 3 – summary of the results
* Optimization was stopped; time limit was reached (3600 sec.)
The results are in line with our expectations. More specifically, stretching the BW decreases the number of
employees and the total workforce size. In terms of costs, the decrease is even very drastically as visually
shown by figure 17:
Figure 17: Scenario 3 – Total work schedule costs
35.000
40.000
45.000
50.000
55.000
60.000
65.000
1 (BM) 2 3 4 5
Co
st (
€)
BW
Total Work Schedule Cost
89
Increasing the flexibility of the schedule, by for example a longer BR or BW, comes along with a higher
computational effort. The models with BWs equalizing 3 or more all reached the time limit. However, the
gap with the respective lineair objective bounds is always smaller than a tenth of a per cent. Rows and
columns are also influenced by increasing the intra-tour start-time flexibility. While the former is
recognized by a negative correlation with the length of the BW, the second size indicator shows an upward
trend.
Besides costs and computational effort there are many other advantages and disadvantages of increasing
the BW. In this respect I would like to refer the reader back to paragraph 2.3.4 and papers like Isken (2004)
and Showalter & Mabert (1988).
One final point that should be made is about the number of surplus employees. Namely, when one
increases the BW, the number of possibilities to schedule an employee increases tremendously. This gives
the program the occasion to create a work schedule without nearly no surplus coverage. So in practice, if
the employer wants to anticipate sickness or unexpected absenteeism, he or she should add a safety buffer
on top of the demand before optimizing the problem.
3.3.5. Scenario 4: High- and low skilled employees
The jobs that need to be performed in a company do not always require the same high skilled and -paid
type of employee. Therefore, a good savings method is to hire low skilled employees. The adoption of this
type of worker comes along with two parameters in our models. The first parameter is the high-to-low-skill
ratio β which limits the number of low skilled employees per period to a certain proportion of the high
skilled employees working that same particular period. The other parameter, the cost skill ratio γ,
determines the percentage of the paycheck of a high skilled employee given to a low skilled one. In our
BMs, no low skilled employees were employed. Table 36 summarizes the results for β-values between 2
and 5.
90
Table 36: Scenario 4 – summary of the results
* Solve interrupted: out of memory ** Optimization was stopped; time limit was reached (3600 sec.)
SCM IM HM
0 (BM) 2 3 4* 5 0 (BM) 2** 3** 4** 5** 0 (BM) 2 3** 4** 5**
Workforce indicators
High skilled FT employees 93 60 69 / 78 90 58 68 72 76 93 60 69 76 78
High skilled PT employees 31 27 27 / 27 30 26 25 29 27 31 27 27 28 27
Low skilled FT employees 0 33 24 / 15 0 32 23 18 15 0 33 24 17 15
Low skilled PT employees 0 4 4 / 4 0 4 5 1 3 0 4 4 3 4
Total workforce 124 124 124 / 124 120 120 121 120 121 124 124 124 124 124
Size indicators
Rows 337 337 337 337 337 2.769 2.769 2.769 2.769 2.769 905 905 905 905 905
Columns 844 884 884 884 884 3.920 3.920 3.920 3.920 3.920 1.564 1.564 1.564 1.564 1.564
Nonzeros 29.371 38.880 38.880 38.880 38.880 24.590 28.090 28.090 28.090 28.090 46.007 60.632 60.632 60.632 60.632
Computational indicators
Integer objective bound (€) 57.091 51.526 52.999 54.065 54.472 56.223 50.909 52.365 53.282 53.846 57.075 51.523 52.996 54.046 54.469
Lineair objective bound (€) 57.090 51.522 52.993 54.055 54.468 56.218 50.817 52.276 53.271 53.751 57.075 51.520 52.991 54.038 54.464
GAP (%) 0,0018 0,0078 0,0094 0,0185 0,0073 0,0089 0,1807 0,17 0,0206 0,1767 0 0,0058 0,0094 0,0148 0,0092
CPU-time (sec.) 0,23 46,15 70,55 3053,83 51,87 10,98 3.600 3.600 3.600 3.600 0,14 68,13 3.600 3.600 3.600
91
The results are far from surprising. First, we see that the size of the problem increases, just as we have seen
in the previous two scenarios. Secondly, the workforce is scattered across four subclasses: high- and low
skilled FT employees and high- and low skilled PT employees. The number of employees belonging to a
particular subclass is strictly determined by their respective ratios. The last thing we notice is the negative
correlation between the number of low-skilled employees and the total work schedule cost. This is a very
logical pattern given a cost skill ratio γ of 0.7. Figure 18 illustrates for the IM the workforce distribution and
the total work schedule cost in function of the skill ratio:
Figure 18: Scenario 4 – Workforce distribution and total work schedule cost for the IM
3.3.6. Scenario 5: demand pattern modification & the relationship with PT employees
The demand pattern used for the BMs and the previous four scenarios was a very general and low variable
pattern. The multiple and trend were set equal to 0, which ensured that the random numbers were always
located between the lowest- and highest starting value, equalizing 20 and 25, respectively. The mean ideal
staffing level valued 22.5 with an amplitude of ±11,11%. This demand pattern is, however, not
representative for all service environments. Therefore, I have set up a scenario were we investigate the
influence of the demand pattern on our, in the meanwhile well-known, results. The demand patterns vary
on two dimensions: the ‘shape’ of the demand/ideal staffing level (four factor levels) and the variation in
the ideal staffing level across periods (two levels). The former points to the number of daily peaks in the
ideal staffing level. We consider in this scenario one, two, three and numerous daily peaks. “One daily peak
in demand often occurs in retail facilities on weekends. Two daily peaks are often observed in service
environments where demand is related to commuters; for example, drop-off and pick-up demand at dry
cleaners. Three daily demand peaks commonly occur in restaurants. Numerous daily peaks are observed in
0
20
40
60
80
100
0 2 3 4 5
Emp
loye
es
Skill Ratio
Workforce distribution (IM)
High-FT High-PT Low-FT Low-PT
50.000
51.000
52.000
53.000
54.000
55.000
56.000
57.000
0% 20% 25% 33% 50%
Co
st (
€)
Skill ratio (%)
Total Work Schedule Cost
92
service environments where there are multiple components of customer demand, for example, counter
staffing requirements in airport terminals.” (Thompson and Pullman, 2007) The variation in the ideal
staffing levels is in congruence with the amplitudes of these levels. ±20% and 80% are the two amplitudes
studied in this scenario. “The rationale behind this second dimension is that a higher variability should
make it harder to provide the ideal number of staff in every period.” (Thompson and Pullman, 2007)
Actually there is also a third dimension, namely the mean ideal staffing level, but this is fixed on a height of
25 employees. This staffing level holds the middle between a small grocery store and a modestly sized
telemarketing operator (Thompson and Pullman, 2007). The setups considered here are self-made but
strongly consistent with those from a number of earlier studies (see, for example, Thompson and Pullman,
2007; Thompson, 1996; Thompson, 1997).
Changing the demand pattern provides me the opportunity to investigate lots of subscenarios. More
specifically, it should be interesting to see if I can confirm my findings from the previous scenarios. For
example, one should think that longer BRs and BWs come more to their right with high variable demand
patterns. And what would happen if we would minimize the workforce size, instead of the total work
schedule cost as seen in scenario 1. These topics are, however, left open for further research. What I will
study is the relationship between the total work schedule cost and the type of demand pattern. Can we say
that we have to pay more for a, on average, higher variable demand pattern? Is this possible relationship
affected by the “shape” of the ideal staffing pattern? And what about the differences between the SCM, IM
and HM? Furthermore, what is the role of the FT/PT-ratio in all of this? Do part-timers come more to their
right in high variable service environments?
Next, figure 19 illustrates eight demand patterns with each one of them showing a combination of the first
and second dimension. Downwards, I vary dimension 1, the “shape” of the demand pattern, while
dimension 2, the variability of the ideal staffing level, is modified from the left to the right. I assume that
the exact same demand pattern returns every day.
93
Figure 19: Scenario 5 – Demand patterns considered
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 1
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 5
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 2
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 6
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 3
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 7
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 4
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23
Dem
and
Planning Periods
Demand Pattern 8
94
On the following two pages, the results are provided needed to give an answer on the questions posed in
the beginning of this scenario. The models used to do this analysis have the exact same input as for the BM
(see appendix B); only the demand pattern has been changed. Table 38 shows per TSM the results for all
eight demand patterns defined in figure 19. The second table has a similar setup, with that difference that
only FT employees are included into the model. Size indicators are not relevant because they did not
change in comparison with the BMs.
We start our analysis with comparing the total work schedule cost for all eight demand patterns, with
(table 38) and without (table 39) PT employees, see figure 20:
Figure 20: Scenario 5 – Total work schedule cost with and without PT employees
Figure 20 let us conclude that there is indeed a difference in low- and high variable demand patterns, both
with and without PT employees. Namely, the first four, low variable, patterns have about the same
objective function. But when we look at the last four total work schedule costs, we see an immediate
increase. This finding is even clearer when we compare the mean- and standard deviation of the first- and
last four objective functions, both with and without part-timers, see table 37:
In
(1.000)
Table 37: FT + PT Table 38: FT
Low variable patterns High variable patterns Low variable patterns High variable patterns
Mean Std. dev. Mean Std. dev. Mean Std. dev. Mean Std. dev.
SCM 64 2 84 11 72 2 101 10
IM 60 2 70 13 67 3 84 18
HM 64 2 84 11 72 2 101 10
Table 37: Scenario 5 – Mean and standard deviation for low and high variable demand patterns
50.000
62.500
75.000
87.500
100.000
112.500
125.000
1 2 3 4 5 6 7 8
Co
st (
€)
Demand Pattern
Total Work Schedule Cost (FT+PT)
SCM IM HM
50.000
62.500
75.000
87.500
100.000
112.500
125.000
1 2 3 4 5 6 7 8
Co
st (
€)
Demand Pattern
Total Work Schedule Cost (FT)
SCM IM HM
95
Table 38: Scenario 5 – summary of the results (a)
* Solve interrupted: out of memory ** Optimization was stopped; time limit was reached (3600 sec.)
SCM IM HM
1** 2 3 4 1 2 3 4 1** 2 3 4
Workforce indicators
FT employees 102 102 102 109 94 93 99 102 102 102 102 109
PT employees 34 34 32 36 31 30 31 34 33 29 34 36
Total workforce 136 136 134 145 125 123 130 136 135 131 136 145
Computational indicators
Integer objective bound (€) 60.994 63.391 63.902 66.362 58.374 58.644 59.909 62.904 60.996 63.391 63.902 66.360
Lineair objective bound (€) 60.958 63.385 63.902 66.357 58.369 58.639 59.909 62.898 60.934 63.385 63.902 66.356
GAP (%) 0,0590 0,0095 0 0,0075 0,0086 0,0085 0 0,0095 0,1016 0,0095 0 0,0060
CPU-time (sec.) 3.600 2,86 0,34 0,55 60,42 75,67 3,13 192,21 3.600 7,84 0,35 1,22
5 6 7 8* 5 6 7 8 5 6 7 8**
Workforce indicators
FT employees 117 138 153 / 93 102 150 143 117 138 153 154
PT employees 39 46 51 / 31 34 50 47 39 44 51 51
Total workforce 156 184 204 / 124 136 200 190 156 182 204 205
Computational indicators
Integer objective bound (€) 66.490 81.869 93.009 93.916 54.403 60.615 82.166 84.157 66.490 81.869 93.009 93.937
Lineair objective bound (€) 66.490 81.863 93.009 93.887 54.398 60.614 82.158 84.149 66.490 81.868 93.009 93.864
GAP (%) 0 0,0073 0 0,0309 0,0092 0,0016 0,0097 0,0095 0 0,0012 0 0,0777
CPU-time (sec.) 0,04 2,59 0,06 2.025 354,93 46,32 72,59 26,72 0,06 0,41 0,14 3.600
96
Table 39: Scenario 5 – summary of the results (b)
SCM IM HM
1 2 3 4 1 2 3 4 1 2 3 4
Workforce indicators
FT employees 125 134 135 134 118 119 132 130 125 134 135 134
Computational indicators
Integer objective bound (€) 67.332 72.840 73.440 72.840 62.812 64.020 70.664 69.982 67.332 72.840 73.440 72.840
Lineair objective bound (€) 67.332 72.840 73.440 72.840 62.806 64.020 70.664 69.976 67.332 72.840 73.440 72.840
GAP (%) 0 0 0 0 0,0096 0 0 0,0086 0 0 0 0
CPU-time (sec.) 0,02 0,02 0 0,02 0,42 7,66 0,05 3,45 0,02 0,02 0,02 0,02
5 6 7 8 5 6 7 8 5 6 7 8
Workforce indicators
FT employees 159 182 203 200 121 129 198 190 159 182 203 200
Computational indicators
Integer objective bound (€) 84.524 100.720 110.240 108.472 60.553 71.985 102.280 101.289 84.524 100.720 110.240 108.472
Lineair objective bound (€) 84.524 100.720 110.240 108.472 60.553 71.985 102.280 101.289 84.524 100.720 110.240 108.472
GAP (%) 0 0 0 0 0 0 0 0 0 0 0 0
CPU-time (sec.) 0,02 0,06 0,08 0,02 8,64 0,66 4,65 0,31 0 0,06 0,06 0,02
97
The mean values for high variable patterns are significantly higher than demand patterns with low
amplitude. In other words, mean high variable demand comes along with, on average, a more expensive
total work schedule cost.
Another significant finding is the difference in the values of the standard deviations between high- and low
variable demand patterns. This standard deviation says something more about the first dimension, the
‘shape’ of the demand/ideal staffing level. It is clear that the number of peaks does not play an important
role when facing low variable demand patterns (Jacobs and Bechtold, 1993b). However, the standard
deviations for demand patterns with large amplitude are of such a high level that one should take into
account the number of daily peaks when studying these types of demand. Moreover, this relationship
seems to be positive, or at least so for the first three factor levels of dimension 1. Moving from three
towards numerous peaks has a more stagnating relationship. This last finding is even better visually
represented in figure 21 where I have calculated the cost difference per “shape”:
Figure 21: Scenario 5 – Difference in total work schedule cost with and without PT employees
A final word about figure 20 and table 37 has to do with the type of model used to solve the problem. In
line with the conclusions of previous scenarios, the implicit modelling approach is, for each demand
pattern, able to come up with a lower overall cost, compared with the SCM and HM. This has to do with the
increased scheduling flexibility provided to the program because of numerous possible starting periods
(intra-tour start-time flexibility) (cf. supra). However, there are two remarkable results, namely for high
variable demand patterns 5 and 6. Here we see that the IM has found a solution in the same objective
function range as for the low variable demand patterns (see also figure 21, “shape” one and two of the IM).
The underlying reason of this phenomenon is, however, not very straightforward. In addition, the
relationship between the “shape” of the demand pattern and intra-tour start-time flexibility would be an
interesting topic for future research.
-10.000
0
10.000
20.000
30.000
40.000
1 2 3 4
Co
st (
€)
Shape
Absolute Difference in Total Work Schedule Cost per "Shape" (FT+PT)
SCM IM HM
-10.000
0
10.000
20.000
30.000
40.000
1 2 3 4
Co
st (
€)
Shape
Absolute Difference in Total Work Schedule Cost per "Shape" (FT)
SCM IM HM
98
Now I will try to investigate whether there is a difference between tables 38 and 39. In other words, has the
incorporation of part-timers affected the total work schedule cost? Figure 22 illustrates the absolute and
relative difference in cost for each demand pattern. The values are calculated by subtracting the cost for
full-timers with those from FT- and PT employees
Figure 22: Scenario 5 – Absolute and relative cost difference per demand pattern
Based on figure 22, we can easily say that the incorporation of PT employees reduces the total work
schedule cost. In detail, for the SCM and HM, the total cost increases with 17 percentage points if only FT
employees can be scheduled. For the IM this increase values 15 percentage points. One could argue of
course that these percentages strongly depend on the FT/PT ratio α and the cost PT ratio δ. To investigate
this, I have added appendix C and D where I modify these respective ratios for the BM. The demand pattern
that was used for the BM is comparable with demand pattern 4, and therefore also the results. Appendix C
and D learn us that for this type of demand pattern, α and δ do not have such a great influence that they
would scramble the values calculated for figure 22. The relationship between α and δ and dimensions one
and two of the demand patterns is open for further research.
0
10.000
20.000
30.000
1 2 3 4 5 6 7 8
Co
st (
€)
Demand Pattern
Absolute Difference in Total Work Schedule Cost
SCM IM HM
0%
10%
20%
30%
1 2 3 4 5 6 7 8
%
Demand Pattern
Relative difference in Total Work Schedule Cost
SCM IM HM
99
Chapter 4
4. Conclusion
The purpose of this thesis was to model and analyse an integer programming formulation for the TSP based
on an in-depth literature study. The research conducted in this thesis was particularly focused on an
explicit- and implicit set-covering formulation of the TSP and a hybrid form combining both modelling
approaches. In what follows, the most important findings for both the literature study and the
programming part are enumerated.
The art of tour scheduling distinct itself in the width field of personnel planning by combining the
techniques of shift- and days-off scheduling. In addition, if one wants to set up a viable work schedule, he
or she should take into account many rules and restrictions. Since the mid-twentieth century, researches
started to come up with mathematical formulations to capture this complex problem. Until now, two
solutions methods turned out to be most popular: an explicit- and an implicit set-covering approach (there
is also a third derivative model, but this is left open for further research). Set-covering refers to the fact
that every day of the scheduling horizon a certain demand pattern needs to be covered. Explicit and
implicit are two ways of formulating the (decision) variables of the mathematical problem. The former
represents each tour by a separate integer variable while the latter uses a combination of variables
whereby shifts are represented by “starting-time bands” and days-on patterns. Besides these variable
formulations, tour scheduling literature can be classified in four other categories: the objective function(s),
personnel characteristics, shift definitions and constraints.
The objective functions can occur as costs, workforce size and many others like, for example, goal
modelling and balancing objectives. Cost objectives are most often applied, especially in the form of
personnel costs.
Personnel characteristics are introduced to separate the different types of employees. In tour
scheduling, a distinction is regularly made between full- and part-time employees and workers with
different skill levels.
Shift categorization is maybe the most important aspect in terms of classifying existing tour
scheduling literature. Shift overlap, shift start-times, length of the shifts and break placement all fall under
this category and are a good way of incorporating flexibility into the model. The sample of more than 40
100
tour scheduling papers seem to be pretty scattered across all of these categories, except for the last one,
break placement, which only occurs in one third of the papers.
A final way to classify tour scheduling literature is based on the constraints added into the
respective models. Twenty-two constraints were studied and it turned out to be that hard coverage
constraints, constraints which allow overstaffing and constraints that restrict the number of assignments
and consecutive days/shifts are the most popular ones.
Based on the tour scheduling categories identified in literature, it was now task to bring these findings into
practice. In addition, an (explicit) SCM, IM and HM were set up, both mathematical as well as programmed
in C++. The HM combines the techniques of the previous two standard approaches, as said before. Analysis
of the models is performed by ten different indicators, spread over three classes: the workforce
distribution, the size of the problem and computational indicators.
First, a BM was set up, to make comparison possible. This resulted in a couple of interesting figures.
For example, the objective function and the workforce size are identical for the SCM and HM. This is due to
their similarities in the way tours are created. Another finding was the lower objective function of the IM.
This is, in turn, explained by the introduction of intra-tour start-time flexibility. The latter also explains the
more gradual distribution, compared to the SCM and HM, of the workforce during weekdays and
weekends. After studying the BM, five adaptions were configured and analysed thoroughly.
In the first scenario, the cost objective function was changed towards a minimization of the
workforce size. Besides the higher total work schedule cost, I also found out that the average surplus
coverage per day became higher. Remarkable, knowing that the objective of this scenario was to minimize
the workforce size, while the BM was optimized in light of the cost perspective.
The second scenario introduced breaks into the model by help of defining a BR. Just as for the third
and fourth scenario (cf. infra), this modification influenced the size of the problem. More than once,
optimizing the SCM and HM resulted in a memory problem, which is confirmed by existing tour scheduling
literature. Moreover, higher pre-solvation times were found for the HM compared to the SCM. The latter is
a phenomenon that was noticed in every optimization exercise. Break placement also affected the overall
cost of the work schedule and the workforce size. In detail, I found a negative relationship between the
length of the BR and the price paid to employ the entire workforce and the total number of employees.
The third scenario examined, only for the IM, the impact of an increasing BW. It turned out to be
that intra-tour start-time flexibility has a great influence on the total work schedule cost.
Skill levels were added under the fourth scenario. A logical negative relationship was found
between the maximum number of low skilled (and paid) employees and the amount of euros that should
be spend to cover the demand.
101
In a final scenario, an analysis was conducted around demand pattern modifications. The demand
patterns varied over two dimensions; the ‘shape’ of the demand (number of daily peaks) and the variation
in the ideal staffing level across periods. One of the first findings was that mean high variable demand
comes along with, on average, a more expensive total work schedule cost. Another interesting result had to
do with the first dimension, the ‘shape’ of the ideal staffing level. Namely, on the one hand, no significant
relationship was found for low variable demand patterns. But on the other hand, for demand patterns with
high amplitudes, a strong positive trend was identified between the number of peaks and the total work
schedule cost. A third and final study was set up to determine the relationship between full- and part-time
employees and the varying demand patterns. It was immediately clear that the introduction of part-timers
reduces the total work schedule cost. However, the relation between part-time employment and the two
dimensions of the demand patterns was less clear and is left open for further research.
102
Chapter 5
5. Limitations and Future Recommendations
During the last year and a half studying the art of the tour scheduling, I was forced to set some limitations
and refer the reader to past or future research.
A first, very important, limitation was the choice to drop the derivative set-covering TSM. This
model is mostly applied in nurse scheduling, but also in transit operator scheduling, airline crew scheduling
and telecommuting.
The second limitation is related to the Gurobi Optimizer tool. Namely, the latter only solves the
program by a branch-and-price technique. In addition, it should be interesting to see how the results
change if, for example, other column-based solution techniques are applied. Eitzen et al. (2004) has already
done some research about this.
A third group of limitations appeared as a result of defining a BM. Although a scenario analysis was
worked out, numerous other scenarios can be studied. To start, one can analyze the effects of a continuous
TSP instead of the restricted ‘no day-overlap policy’ applied in this thesis. Also, what is the impact on our
results after changing the number of shifts and their respective lengths and start-times? Furthermore, is
there a relationship between the demand pattern dimensions and the BR, the BW and the part-time ratio?
And do we find the same results of introducing low skilled employees if we would also include productivity
levels? One could also change the parameters of the constraints or even add more constraints. Examples
for that last option could be a restriction on the number of shift changes and a prohibition to schedule an
early shift after a weekend off.
A final, more complex, recommendation has to do with the way of modelling. The explicit-, implicit
and hybrid model suggested in this thesis follow the standard tour scheduling rules. One of the options for
the interested reader could be, for example, to change the explicit BR variable to an implicit combination of
backward- and forward pass constraints. This would have the advantage that the number of integer
variables decreases, which could partly solve the memory problems. Bard et al. (2003) enumerates a couple
of papers that investigate how to reduce the number of variables for explicit TSMs. Another option with
respect to break placement and explicit variable reduction is to include breaks after the complete work
schedule has been set up.
x
References
References Abernathy, W., Baloff, N., Hershey, J., and Wandel, S., (1973), “A Three-Stage Manpower Planning and
Scheduling Model: A Service Sector Example.” Operations Research, 22(3), 693–711.
Alfares, H.K., (2004), “Survey, Categorization, and Comparison of Recent Tour Scheduling Literature.”
Annals of Operations Research 127, 145–175.
Alfares, H.K., (2007), “Operator staffing and scheduling for an IT-help call centre”, European Journal of
Industrial Engineering 1, 414–430.
Al-Yakoob, S. and Sherali, H. (2007), “Mixed-integer programming models for an employee scheduling
problem with multiple shifts and work locations.” Annals of Operations Research 155, 1, 119–142.
Bailey, J. E., (1985). "Integrated Days Off and Shift Personnel Scheduling," Computers and Industrial
Engineering, 9, 4, 395-404.
Baker, K.R., (1976), “Workforce Allocation in Cyclical Scheduling Problems: A Survey.” Operational Research
Quarterly 27(1), 155–167.
Bard, J., (2004a), “Selecting the appropriate input data set when configuring a permanent workforce.”
Computers & Industrial Engineering 47, 371–389.
Bard, J., (2004b), “Staff scheduling in high volume service facilities with downgrading.” IIE Transactions, 36,
983–997.
Bard, J., C. Binici, and A. de Silva. (2003). “Staff Scheduling at the United States Postal Service.” Computers
& Operations Research 30(5), 745–771.
Bard, J., Morton, D.P., and Wang, Y.M., (2007). “Workforce planning at USPS mail processing and
distribution centers using stochastic optimization.” Annals of Operations Research, 155 (1), 51–78.
Bard, J., Wan, L., (2008), “Workforce design with movement restrictions between workstation groups.”
Manufacturing & Service Operations Management 10, 24–42.
Beaulieu, H., J. Ferland, B. Gendron, and P. Michelon. (2000). “A Mathematical Programming Approach for
Scheduling Physicians in the Emergency Room.” Health Care Management Science 3, 193–200.
Bechtold, S. E. and L. W. Jacobs, (1990). "Implicit Modelling of Flexible Break Assignments in Optimal Shift
Scheduling," Management Sci., 36(11), 1339-1351.
Bechtold, S. E., & Brusco, M. J. (1994). Working set generation methods for labor tour scheduling. European
Journal of Operational Research, 74(3), 540-551.
Bechtold, S. E., & Showalter, M. J. (1987). “A methodology for labor scheduling in a service operating
system.” Decision Sciences, 18(1), 89-107.
xi
Bechtold, S., M. Brusco, and M. Showalter. (1991). “A Comparative Evaluation of Labor Tour Scheduling
Methods.” Decision Sciences 22, 683–699.
Berrada, I., J. Ferland, and P. Michelon. (1996). “A Multi-Objective Approach to Nurse Scheduling with Both
Hard and Soft Constraints.” Socio-Economic Planning Sciences 30(3), 183–193.
Billionnet, A. (1999). “Integer Programming to Schedule a Hierarchical Workforce with Variable Demands.”
European Journal of Operational Research 114(1), 105–114.
Bosch, R. and Trick, M. A. (2005). Integer programming. In E. K. Burke and G. Kendall, editors, Search
Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques, pages 69–96.
Springer, New York, NY.
Brusco, M. (1998). “Solving Personnel Tour Scheduling Problems Using the Dual All-Integer Cutting Plane.”
IIE Transactions 30(9), 835–844.
Brusco, M. and L. Jacobs. (1995). “Cost Analysis of Alternative Formulations for Personnel Scheduling in
Continuously Operating Organizations.” European Journal of Operational Research 86(2), 249–261.
Brusco, M. J., & Jacobs, L. W. (1993). “A simulated annealing approach to the cyclic staff‐scheduling
problem.” Naval Research Logistics (NRL), 40(1), 69-84.
Brusco, M.J. and L.W. Jacobs. (1998a). “Personnel Tour Scheduling When Starting-Time Restrictions Are
Present.” Management Science 44(4), 534–547.
Brusco, M.J. and L.W. Jacobs. (1998b). “Eliminating Redundant Columns in Continuous Tour Scheduling
Problems.” European Journal of Operational Research 111(3), 518–525.
Brusco, M.J. and L.W. Jacobs. (2000). “Optimal Models for Meal-Break and Start-Time Flexibility in
Continuous Tour Scheduling.” Management Science 46(12), 1630–1641.
Brusco, M.J. and L.W. Jacobs. (2001). “Starting-Time Decisions in Labor Tour Scheduling: An Experimental
Analysis and Case Study.” European Journal of Operational Research 131(3), 459–475.
Brusco, M.J. and T.R. Johns. (1996). “A Sequential Integer Programming Method for Discontinuous Labor
Tour Scheduling.” European Journal of Operational Research 95(3), 537–548.
Brusco, M.J., L. Jacobs, R. Bongiorno, D. Lyons, and B. Tang. (1995). “Improving Personnel Scheduling at
Airline Stations.” Operations Research 43(5), 741–751.
Burke, E.K., De Causmaecker, P., G. Vanden Berghe, H. Van Landeghem, (2004), “The state of the art of
nurse rostering.” Journal of Scheduling 7, 441–499.
Burke, E.K., Li, J.P., Qu, R., (2010). “A hybrid model of integer programming and variable neighbourhood
search for highly-constrained nurse rostering problems.” European Journal of Operational Research
203, 484–493.
Burns, R. N., and M. W. Carter, (1985). "Work Force Size and Single Shift Schedules with Variable Demands,"
Management Sci., 31(5), 599-607.
xii
Cheang, B., H. Li, A. Lim, and B. Rodrigues, (2003). “Nurse rostering problems—a bibliographic survey.”
European Journal of Operational Research, 151, 447–460.
Chen, C.-H., Yan, S., Chen, M., (2010). “Short-term manpower planning for MRT carriage maintenance
under mixed deterministic and stochastic demands.” Annals of Operations Research 181, 67–88.
Choi, K., Hwang, J., Park, M., (2009). “Scheduling restaurant workers to minimize labor cost and meet
service standards.” Cornell Hospitality Quarterly 50, 155–167.
Dantzig, G. (1954), “A Comment on Edie’s Traffic Delay at Toll Booths.” Operations Research 2(3), 339–341.
De Grano, M.L., Medeiros, D., Eitel, D., (2009). “Accommodating individual preferences in nurse scheduling
via auctions and optimization.” Health Care Management Science 12, 228–242.
De Matta, R., Peters, E., (2009). “Developing work schedules for an inter-city transit system with multiple
driver types and fleet types.” European Journal of Operational Research 192, 852–865.
Easton, F.F. and D.F. Rossin. (1991a). “Sufficient Working Subsets for the Tour Scheduling Problem.”
Management Science 37(11), 1441–1451.
Easton, F.F. and D.F. Rossin. (1991b). “Equivalent Alternative Solutions for the Tour Scheduling Problem.”
Decision Sciences 22(5), 985–1001.
Easton, F.F. and D.F. Rossin. (1996). “A Stochastic Goal Program for Employee Scheduling.” Decision
Sciences 27(3), 541–568.
Eitzen, G. (2002). “Integer Programming Methods for Solving Multi-Skilled Workforce Optimisation
Problems.” PH.D. THESIS, School of Mathematics, University of South Australia.
Eitzen, G., G. Mills, and D. Panton. (2004). “Multi-Skilled Workforce Optimisation.” Annals of Operations
Research 127, Special Issue on Staff Scheduling and Rostering, 359–372.
Ernst, A. T., Jiang, H., Krishnamoorthy, M., and Sier, D., (2004a). “Staff scheduling and rostering: A review of
applications, methods and models.” European Journal of Operational Research, 153(1), 3–27.
Ernst, A. T., Jiang, H., Krishnamoorthy, M., Owens, B., and Sier, D., (2004b). “An annotated bibliography of
personnel scheduling and rostering.” Annals of Operations Research 127, 21–144.
Ertogral, K., Bamuqabel, B., (2008). “Developing staff schedules for a bilingual telecommunication call
center with flexible workers.” Computers & Industrial Engineering 54, 118–127.
Felici, G., and Gentile, C., (2004). “A polyhedral approach for the staff rostering problem.” Manage Science
50(3), 381–393.
Isken, M. (2004). “An Implicit Tour Scheduling Model with Applications in Healthcare.” Annals of Operations
Research 128, Special Issue on Staff Scheduling and Rostering, 91–109.
Jacobs, L.W. and M.J. Brusco. (1996). “Overlapping Start-Time Bands in Implicit Tour Scheduling.”
Management Science 42(9), 1247–1259.
Jacobs, L.W. and S.E. Bechtold. (1993a). “Microcomputer-Based Workforce Scheduling.” International
Journal of Service Industry Management 4(1), 36–48.
xiii
Jacobs, L.W. and S.E. Bechtold. (1993b). “Labor Utilization Effects of Labor Scheduling Flexibility
Alternatives in a Tour Scheduling Environment.” Decision Sciences 24(1), 148–166.
Jarrah, A.I.Z., J.F. Bard, and A.H. deSilva. (1994). “Solving Large-Scale Tour Scheduling Problems.”
Management Science 40(9), 1124–1144.
Kostreva, M. and K. Jennings. (1991). “Nurse Scheduling on a Microcomputer.” Computers and Operations
Research 18(8), 731–739.
Lezaun, M., Perez, G., De la Maza, E.S., (2006). “Crew rostering problem in a public transport company.”
Journal of the Operational Research Society 57, 1173–1179.
Lezaun, M., Perez, G., De la Maza, E.S., (2007). “Rostering in a rail passenger carrier.” Journal of Scheduling
10, 245–254.
Lezaun, M., Perez, G., De la Maza, E.S., (2010). “Staff rostering for the station personnel of a railway
company.” Journal of the Operational Research Society 61, 1104–1111.
Love, R.R. and J.M. Hoey. (1990). “Management Science Improves Fast-Food Operations.” Interfaces 20(2),
21–29.
Maier-Rothe, C., and Wolfe, H. B., (1973). “Cyclical scheduling and allocation of Nursing staff.” Socio-
Economic Planning Science, 7, 471–487.
Mohan, S., (2008). “Scheduling part-time personnel with availability restrictions and preferences to
maximize employee satisfaction.” Mathematical and Computer Modelling 48, 1806–1813.
Moondra, S. L., (1976). "An L. P. Model for Work Force Scheduling for Banks," J. Bank Res., 6(4), 299-301.
Morris, J.G., and Showalter, M.J., (1983). “Simple Approaches to Shift, Days-off and Tour Scheduling.”
Management Science 29(8), 942–950.
Moz, M. and M.V. Pato. (2004). “Solving the Problem of Rerostering Nurse Schedules with Hard Constraints:
New Multicommodity Flow Models.” Annals of Operations Research 128, Special Issue on Staff
Scheduling and Rostering, 179–197.
Nanda, R., & Browne, J. (1992). Introduction to employee scheduling. New York.
Ozkarahan, I. (1989). “A Flexible Nurse Scheduling Support System.” In Computer Methods and Programs in
Biomedicine, Symposium on Computer Applications in Medical Care, Vol. 30, pp. 145–153.
Rong, A.Y., (2010). “Monthly tour scheduling models with mixed skills considering weekend off
requirements.” Computers & Industrial Engineering 59, 334–343.
Ronnberg, E., Larsson, T., (2010). “Automating the self-scheduling process of nurses in Swedish healthcare:
a pilot study.” Health Care Management Science 13, 35–53.
Seckiner, S.U., Gokcen, H., Kurt, M., (2007). “An integer programming model for hierarchical workforce
scheduling problem.” European Journal of Operational Research 183, 694–699.
Showalter, M. J., and Mabert, V. A. (1988). An evaluation of a full-/part-time tour scheduling
methodology. International Journal of Operations & Production Management, 8(7), 54-71.
xiv
Stolletz, R., (2010). “Operational workforce planning for check-in counters at airports.” Transportation
Research Part E – Logistics and Transportation Review 46, 414–425.
Thompson, G. M., and Pullman, M. E. (2007). “Scheduling workforce relief breaks in advance versus in real-
time.” European Journal of Operational Research, 181(1), 139-155.
Thompson, G.M., (1995). “Labor Scheduling Using NPV Estimates of the Marginal Benefit of Additional
Labor Capacity.” Journal of Operations Management 13(1), 67–86.
Thompson, G.M., (1996). “Optimal scheduling of shifts and breaks using employees having limited time
availability.” International Journal of Service Industry Management 7 (1), 56–76.
Thompson, G.M., (1997). “Labor staffing and scheduling models for controlling service levels.” Naval
Research Logistics 44, 719–740.
Tien, J.M., and Kamiyama, A., (1982). “On Manpower Scheduling Algorithms.” SIAM Review 24(3), 275–287.
Topaloglu, S. and I. Ozkarahan. (1998). “A Research on Optimization Based Modelling for Tour Scheduling
Problems with Flexible Break Assignments.” In the Proceedings of the 7th Annual Industrial
Engineering Research’98 Conference, Banff, Alberta, Canada.
Topaloglu, S. and Ozkarahan, (2004). “An implicit goal programming model for the tour scheduling problem
considering the employee work preferences.” Annals of Operations Research, 128, 135–158.
Trilling, L., Guinet, A., Le Magny, D., (2006). “Nurse scheduling using integer linear programming and
constraint programming.” 12th IFAC International Symposium, vol. 3, Elsevier, pp. 651–656.
Valouxis, C. and E. Housos. (2000). “Hybrid Optimization Techniques for the Workshift and Rest Assignment
of Nursing Personnel.” Artificial Intelligence in Medicine 20(2), 155–175.
Valouxis, C., Gogos, C., Goulas, G., Alefragis, P., Housos, E., (2012). “A systematic two phase approach for
the nurse rostering problem.” European Journal of Operational Research 219, 425–433.
Van Den Bergh, J., Beliën, J., De Bruecker, P., Demeulemeester, E., De Boeck, L., (2012). “Personnel
scheduling: A literature review.” European Journal of Operational Research, 226, 367-385.
Vanhoucke, M., & Maenhout, B. (2009). “On the characterization and generation of nurse scheduling
problem instances.” European Journal of Operational Research, 196(2), 457-467.
Venkataraman, R., and Brusco, M., (1996). “An Integrated Analysis of Nurse Staffing and Scheduling
Policies.” Omega, 24(1), 57–71.
Warner, D.M., (1976a). “Nurse staffing, scheduling, and reallocation in the hospital.” Hospital and Health
Services Administration, 21(3), 77–90.
Warner, D.M., (1976b). “Scheduling Nursing Personnel According to Nursing Preference: A Mathematical
Programming Approach.” Operations Research 24(5), 842–856.
xv
Appendix A: Overview Table of Tour Scheduling Characteristics
Appendix A: Overview table of tour scheduling Characteristics
Reference Objective Function
Type of Decision
Variable(s) *
Personnel characteristics Shift definitions
Breaks Labor Contract Skills Overlap
Start times Length
Full time Part time Fixed Definable Fixed Definable
Alfares, 2007 Cost 1 x x x x x
Al-Yakoob and Sherali,
2007
Workforce
Size, Other 3 x x x
Bard, 2004a Cost 2 x x x x x x x x x
Bard, 2004b Cost 2 x x x x x x x x
Bard and Wan, 2008 Other 3 x x x x x x x x x
Bard et al., 2003 Cost 2 x x x x x x x x
Bard et al., 2007 Cost 2 x x x x x x x x
Beaulieu et al., 2000 Other 3 x x x
Berrada et al., 1996 Other 3 x x x x x
Brusco and Jacobs,
1998a Cost 1 x x x x x
Brusco and Jacobs,
1998b Cost 1 x x x x x
Brusco and Jacobs, 2000 Workforce
Size 2 x x x x x
Brusco and Jacobs, 2001 Workforce
Size 1 x x x x x x
* Type 1: SCM, Type 2: IM, Type 3: Derivative model (see paragraph 2.3.2.)
xvi
Reference Objective Function
Type of Decision
Variable(s) *
Personnel characteristics Shift definitions
Breaks Labor Contract Skills Overlap
Start times Length
Full time Part time Fixed Definable Fixed Definable
Brusco and Johns, 1996 Cost 1 x x x x x x x
Burke et al., 2010 Other 3 x x x x x
Chen et al., 2010 Cost 2 x x x x x
Choi et al., 2009; Cost 1 x x x x x
De Grano et al., 2009 Other 3 x x x x x
De Matta and Peters,
2009 Cost 1 x x x x
Eitzen et al., 2004 Other 1 x x x x x
Ertogral and
Bamuqabel, 2008
Cost,
Workforce
Size
1 x x x x x x x x
Felici and Gentile, 2004 Other 1 x x x x
Isken, 2004 Cost 2 x x x x x
Jacobs and Brusco, 1996 Workforce
Size 2 x x x x
Jarrah et al., 1994 Cost 2 x x x x x x x
Kostreva and Jennings,
1991 Other 3 x x x
Lezaun et al., 2006 Other 3 x x x
Lezaun et al., 2007 Other 3 x x x
Lezaun et al., 2010 Other 3 x x x x
Love and Hoey, 1990 Other 1 x x x x x x
Mohan, 2008 Other 3 x x x x
* Type 1: SCM, Type 2: IM, Type 3: Derivative model (see paragraph 2.3.2.)
xvii
Reference Objective Function
Type of Decision
Variable(s) *
Personnel characteristics Shift definitions
Breaks Labor Contract Skills Overlap
Start times Length
Full time Part time Fixed Definable Fixed Definable
Moz and Pato, 2004; Other 3 x x x
Ozkarahan, 1989; Cost, Other 1 x x x x x x
Rong, 2010; Cost 2 x x x
Ronnberg and Larsson,
2010; Other 3 x x x x x
Seckiner et al., 2007; Cost 2 x x x x x
Stolletz, 2010; Cost 3 x x x x
Thompson, 1995; Cost, Other 1 x x x x x
Topaloglu and
Ozkarahan (2004); Other 2 x x x x x x
Trilling et al., 2006; Other 3 x x x x x
Valouxis and Housos,
2000; Cost, Other 3 x x x
Valouxis et al., 2012; Other 3 x x x x x x
Warner, 1976b; Other 3 x x x x
* Type 1: SCM, Type 2: IM, Type 3: Derivative model (see paragraph 2.3.2.)
xviii
Appendix B: Detailed setup for the Baseline Model
Appendix B: Detailed setup for the Baseline model Settings Notation Value Settings Notation Value
1) General 2) Demand Generator
Days J 7 Lowest value 20
Periods P 24 Highest value 25
Shifts* K 3 Multiple 0
Band width** BW 1 Trend 0
3) Break Placement
Break window BR 0 Min. shift length to schedule a break 6
4) FT personnel
Max. assignments 5 Min. periods between two assignments* S 12
Min. assignments 4 Max. working periods 40
Max. night shifts* / Min. working periods 30
Max. consecutive days 5 Number of shift lengths 1
Min. consecutive days 2 Shift length in periods (shift length 1)
8
Max. consecutive shifts* 5 Number of start times per shift* 1
Min. consecutive shifts* 2 Start time in periods (shift 1, start time 1)*
0
Max. consecutive days off 3 Start time in periods (shift 2, start time 1)*
8
Min. consecutive days off 2 Start time in periods (shift 3, start time 1)*
16
* Not for the IM ** Only for the IM
xix
Settings Notation Value Settings Notation Value
5) PT personnel
Max. assignments 5 Number of shift lengths 4
Min. assignments 2 Shift length in periods (shift length 1) 3
Max. night shifts* / Shift length in periods (shift length 1) 4
Max. consecutive days 5 Shift length in periods (shift length 1)
5
Min. consecutive days 2 Shift length in periods (shift length 1)
6
Max. consecutive shifts* 5 Number of start times per shift* 2
Min. consecutive shifts* 2 Start time in periods (shift 1, start time 1)*
0
Max. consecutive days off 5 Start time in periods (shift 2, start time 1)*
8
Min. consecutive days off 2 Start time in periods (shift 3, start time 1)*
16
Min. periods between two assignments* S 12 Start time in periods (shift 1, start time 2)* 4
Max. working periods 30 Start time in periods (shift 2, start time 2)* 12
Min. working periods 15 Start time in periods (shift 3, start time 2)* 20
FT to PT ratio α 3
6) Skill level
High-to-low-skill ratio β 0
7) Objective function
Minimize total cost Yes Minimize overstaffing No
Minimize total workforce size No Minimize understaffing No
Cost skill ratio γ 0.7 Cost par-time ratio δ 0.8
* Not for the IM
xx
Appendix C: Results of changing the FT/PT ratio of the BM
Appendix C: Results of changing the FT/PT ratio of the BM
* Solve interrupted: out of memory ** Optimization was stopped; time limit was reached (3.600 sec.)
Remark: The default value of the FT/PT ratio α is equal to 3 (see Appendix B).
SCM IM HM
0 2* 3 (BM) 4 5 0 2 3 (BM) 4 5 0 2* 3 (BM) 4 5**
Workforce indicators
FT employees 113 / 93 97 99 112 82 90 96 98 113 / 93 97 99
PT employees 0 / 31 24 19 0 40 30 24 19 0 / 31 24 19
Total workforce 113 / 124 121 118 112 122 120 120 117 113 / 124 121 118
Size indicators
Rows 337 337 337 337 337 2.769 2.769 2.769 2.769 2.769 373 905 905 905 905
Columns 104 844 844 844 844 3.920 3.920 3.920 3.920 3.920 140 1.564 1.564 1.564 1.564
Nonzeros 5.840 29.371 29.371 29.371 29.371 24.352 24.590 24.590 24.590 24.590 7.928 46.007 46.007 46.007 46.007
Computational indicators
Integer objective bound (€) 60.992 56.275 57.091 57.575 57.949 60.974 55.169 56.223 56.932 57.414 60.992 56.259 57.075 57.562 57.949
Lineair objective bound (€) 60.992 56.260 57.090 57.570 57.944 60.974 55.164 56.218 56.927 57.409 60.992 56.249 57.075 57.557 57.939
GAP (%) 0 0,0267 0,0018 0,0087 0,0086 0 0,0091 0,0089 0,0088 0,0087 0 0,0178 0 0,0087 0,0173
CPU-time (sec.) 0,06 1.274,18 0,23 0,28 448,75 0,03 58,61 10,98 162,15 566,42 0,08 1.455,62 0,14 0,87 3.600
xxi
Appendix D: Results of changing the cost PT ratio of the BM
Appendix C: Results of changing the cost PT ratio of the BM
Remark: The default value of the cost PT ratio δ is equal to 0.8 (see Appendix B).
SCM IM HM
0.6 0.7 0.8
(BM) 0.9 1 0.6 0.7
0.8
(BM) 0.9 1 0.6 0.7
0.8
(BM) 0.9 1
Workforce indicators
FT employees 93 93 93 93 93 90 90 90 91 93 93 93 93 93 93
PT employees 31 29 31 31 30 30 30 30 30 31 31 29 31 31 31
Total workforce 124 122 124 124 123 120 120 120 121 124 124 122 124 124 124
Computational indicators
Integer objective bound (€) 55.103 56.114 57.091 58.016 58.880 53.995 55.144 56.223 57.242 58.178 55.102 56.114 57.075 57.988 58.844
Lineair objective bound (€) 55.098 56.114 57.090 58.014 58.877 53.992 55.144 56.218 57.242 58.178 55.098 56.111 57.075 57.988 58.844
GAP (%) 0,0091 0 0,0018 0,0034 0,0051 0,0056 0 0,0089 0 0 0,0073 0,0053 0 0 0
CPU-time (sec.) 0,28 0,02 0,23 0,30 0,06 28,78 19,67 10,98 5,69 15,48 1,03 1,22 0,14 0,09 0,16
xxii
xxiii