An operational analysis for dealing with disruptions in the duty...
Transcript of An operational analysis for dealing with disruptions in the duty...
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE
ACADEMIEJAAR 2015 – 2016
An operational analysis for dealing with
disruptions in the duty timetables of train
personnel
Masterproef voorgedragen tot het bekomen van de graad van
Master of Science in de
Toegepaste Economische Wetenschappen: Handelsingenieur
Hanne Paret
onder leiding van
Prof. Broos Maenhout (Universiteit Gent), Prof. Yasemin Arda (HEC-
Université de Liège) en Jonas Ingels (PhD student Universiteit Gent)
UNIVERSITEIT GENT
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE
ACADEMIEJAAR 2015 – 2016
An operational analysis for dealing with
disruptions in the duty timetables of train
personnel
Masterproef voorgedragen tot het bekomen van de graad van
Master of Science in de
Toegepaste Economische Wetenschappen: Handelsingenieur
Hanne Paret
onder leiding van
Prof. Broos Maenhout (Universiteit Gent), Prof. Yasemin Arda (HEC-
Université de Liège) en Jonas Ingels (PhD student Universiteit Gent)
Deze pagina is niet beschikbaar omdat ze persoonsgegevens bevat.Universiteitsbibliotheek Gent, 2021.
This page is not available because it contains personal information.Ghent University, Library, 2021.
Samenvatting
Een verstoring in de personeelsplanning heeft als gevolg dat het geplande werkrooster niet
meer kan uitgevoerd worden. Deze thesis onderzoekt wat hierover geschreven wordt in de
literatuur, gaat na hoe de Belgische spoorwegmaatschappij NMBS hiermee omgaat en stelt
een model en de resultaten hiervan voor.
Het beginpunt om met verstoringen om te gaan is het vooropgestelde werkrooster. Een
algemene classificatie voor een werkrooster is ontwikkeld door Ernst et al. (2004a). Die
onderverdeling bestaat uit 6 stappen: de vraag bepalen, verlofdagen bepalen en plannen, de
shifts plannen, het werkrooster construeren, taken aan de verschillende werkroosters
toekennen en het personeel toewijzen. Bij transportbedrijven is de vraag typisch bepaald door
de uurregeling van de aangeboden dienst. Deze uurregeling wordt vaak voor de
personeelsplanning bepaald en is dus een vaste waarde om het werkrooster op te stellen. Na
de ontwikkeling van een werkrooster, moet de organisatie in kwestie een degelijk raamwerk
opstellen om verstoringen te kunnen opvangen. Een algemeen kader hiervoor is ontwikkeld
door Jespersen-Groth et al. (2009). De studie gaat ervan uit dat het netwerk wordt
gecontroleerd door zowel een infrastructuurbeheerder als een dienstverlener, respectievelijk
Infrabel en NMBS. Vervolgens moeten deze twee instellingen de situatie, op operationeel
niveau, nauwlettend opvolgen en samenwerken indien een er zich een verstoring voordoet.
NMBS is de Belgische dienstverlener die spoorvervoer aanbiedt. De personeelsplanning voor
de treinbegeleiders en bestuurders gebeurt afzonderlijk en op basis van de treinplanning. Om
verstoringen op operationeel niveau af te handelen incorporeert NMBS stand-by
bemanningsleden. Indien dit niet volstaat om de verstoring op te lossen wordt een
bemanningslid dat assisteert op een treinrit, waar er twee treinbegeleiders aanwezig zijn,
herplaatst. Als laatste mogelijkheid worden er personeelsleden die een rustdag hebben
opgebeld.
Het laatste deel van de thesis ontwikkelt een model. Het model heeft als doel om de optimale
personeelslid, namelijk met de minste kosten, toe te wijzen aan die treinritten die niet meer
begeleid kunnen worden door het oorspronkelijk geplande personeelslid. Ten slotte wordt dit
model toegepast op de personeelsplanning van NMBS voor treinbegeleiders en worden de
resultaten besproken.
Résumé
Une perturbation au niveau opérationnel compromet l’exploitation efficace du Tableau du
personnel. Ce mémoire a pour objectif de présenter la littérature et plus précisément,
d’investiguer comment la SNCB gère les perturbations et a développé un modèle de gestion
des itinéraires perturbés des trains, qu’il s’agisse d’un trajet unique ou de l’ensemble des
trajets quotidiens d’un conducteur de train.
Le problème de replanification du personnel commence avec l’horaire d’origine du personnel.
Ernst et al. (2004a) ont développé une classification générale pour ce problème. Cette
dernière consiste en 6 étapes: modélisation de la demande, planification des jours de congé,
planification des gardes, construction des lignes de travail, répartition des tâches sur les
différentes lignes de travail et allocation du personnel à ces taches. Une caractéristique
typique pour les entreprises de transport est une demande fixe et déterminée par le service
de transport fourni ainsi que le stock roulant/tournant. L’entreprise doit développer une
structure générale pour gérer les perturbations. Un cadre général est ainsi développé par
Jespersen-Groth et al. (2009). Ce cadre suppose que le réseau est contrôlé par deux acteurs:
un manager d’infrastructure et un opérateur, autrement dit la SNCB. De plus, ces
organisations doivent observer attentivement la situation sur le plan opérationnel et
collaborer pour gérer les perturbations si nécessaire.
La SNCB est l’entreprise de gestion des Chemins de fers Belges. Le planning du personnel pour
les contrôleurs et les conducteurs de trains est établi séparément et est déterminé après la
planification du stock tournant. La SNCB incorpore des membres dits en “stand-by” pour gérer
les perturbations au niveau opérationnel. Ajouté à cela, les membres qui sont planifiés en tant
qu’assistants sur un trajet de train peuvent aussi être utilisés pour gérer ces perturbations.
Pour conclure, si aucun de ces membres du personnel n’est disponible, les membres qui sont
normalement en jour de repos seront appelés sur place.
La dernière partie de ce mémoire développe un modèle dont le but est d’allouer le meilleur
membre du personnel, sur base des coûts, à un trajet de train pas encore couvert par un
membre de l’équipe. Enfin, le modèle est testé sur la planification des conducteurs de trains
de la SNCB et les résultats sont présentés.
Preface
This thesis completes my master as business engineer in operational management. It has given
me valuable insight into the personnel scheduling problem and specifically how to deal with
disruptions. Furthermore, the case-study enhanced my analytical skills and understanding of
operations in a practical environment. Finally, the model and results contributed to some
interesting insights.
During the development of my thesis, I had the help and support of certain people and
therefore I would like to thank them.
First, I would like to thank my promotor and co-promotor Prof. Broos Maenhout and Jonas
Ingels. I like to thank Prof. Maenhout for suggesting this interesting subject. Furthermore, Mr.
Ingels, thank you for helping me develop my thesis and giving me constructive feedback
whenever needed.
Second, I am grateful for all the help and kindness NMBS has given me. In particular Wouter
De Block, Kenneth Van Leemputten, Jan Guns and Dominic Benoit. They answered to all my
questions and provided me generously with all their information. Thanks to them I was able
to add a meaningful case-study to my thesis.
Third, my thanks go out to my family, who supported me during my entire study. In particular,
Matthias Vanmoerkerke, who supported me unconditionally. Furthermore my entire essay
has been reread by Gaelle Braeckman, for which I am very grateful.
Finally, I would like to thank both Universiteit Gent and HEC - Université de Liège for providing
the respected Double Degree program. Both institutions made it possible to have a
professional and valuable education that will influence the rest of my life.
I
Table of content
1. Introduction ........................................................................................................................ 1
2. Personnel scheduling ......................................................................................................... 2
2.1. General personnel schedule procedure ...................................................................... 2
2.2. Constraints ................................................................................................................... 4
2.3. Objective function ....................................................................................................... 5
2.4. Solution methods ........................................................................................................ 6
Optimization solution methods ......................................................................................... 6
Heuristics ............................................................................................................................ 6
2.5. Personnel scheduling for transportation companies .................................................. 7
3. Disruptions in personnel scheduling at transportation companies ................................... 9
3.1. Definition ..................................................................................................................... 9
3.2. Different sorts of disruptions ...................................................................................... 9
3.2.1. Uncertainty as a source of disruptions .............................................................. 10
3.2.2. Disruptions in personnel schedule ..................................................................... 10
3.3. Difference between scheduling and rescheduling .................................................... 13
3.4. Dealing with disruptions ............................................................................................ 14
3.4.1. Prevent Disruptions ............................................................................................ 15
3.4.2. Disruption management .................................................................................... 16
4. An analysis on operational level at NMBS ....................................................................... 23
4.1. Structure of the Belgian railway organization ........................................................... 23
4.2. Personnel scheduling ................................................................................................. 25
4.2.1. Asset planning .................................................................................................... 25
4.2.2. Attribution phase ............................................................................................... 31
4.2.3. Production phase ............................................................................................... 31
II
4.3. Dealing with disruptions ............................................................................................ 36
4.3.1. Causes of disruptions ......................................................................................... 36
4.3.2. Robust planning .................................................................................................. 37
4.3.3. Dealing with medium-term disruptions ............................................................. 39
4.3.4. Dealing with short-term disruptions .................................................................. 40
4.4. Comparison between literature and NMBS .............................................................. 42
4.4.1. Personnel scheduling ......................................................................................... 43
4.4.2. Disruption management .................................................................................... 44
5. Model for crew allocation of uncovered train paths ....................................................... 46
5.1. Problem description .................................................................................................. 46
5.1.1. Input ................................................................................................................... 46
5.1.2. Possible coverages of disruptions ...................................................................... 47
5.1.3. Mathematical formulation ................................................................................. 49
5.2. Solution approach ...................................................................................................... 51
5.2.1. Sequential solution for person-specific disruptions and train-specific disruptions
52
5.2.2. Simultaneous solution of person-specific disruptions and train-specific
disruptions ........................................................................................................................ 53
5.3. Results ........................................................................................................................ 54
5.3.1. Sort data ................................................................................................................. 54
5.3.2. Results person-specific disruptions and train-specific sequentially .................. 56
5.3.4. Comparison between solving person and train-specific disruptions sequentially
versus simultaneously ...................................................................................................... 90
5.4. Conclusion ................................................................................................................. 94
5.5. Further research ........................................................................................................ 94
6. Conclusion ........................................................................................................................ 96
III
7. References ........................................................................................................................ 98
8. Appendix ...................................................................................................................... 101
IV
List of Figures
Figure 1: A typical trippair in normal operation conditions ..................................................... 11
Figure 2: Example of a misconnect violation ........................................................................... 12
Figure 3: Example of a rest violation ........................................................................................ 12
Figure 4: Example of a duty violation ....................................................................................... 13
Figure 5: Disruption management ........................................................................................... 16
Figure 6: Schematic view of organization ................................................................................ 18
Figure 7: Information flow during the dispatching plan development .................................... 19
Figure 8: Belgian railway structure........................................................................................... 23
Figure 9: Personnel scheduling process of NMBS .................................................................... 25
Figure 10: Annual train timetable plan .................................................................................... 27
Figure 11: A four weeks conductor schedule ........................................................................... 28
Figure 12: A planning set for Brussels ...................................................................................... 30
Figure 13: A duty example........................................................................................................ 31
Figure 14: Process flow central permanence ........................................................................... 34
Figure 15: Time space diagram ............................................................................................... 34
Figure 16: Process flow local permanence ............................................................................... 35
Figure 17: Duty representation ................................................................................................ 35
Figure 18: Responsibilities of a delay ....................................................................................... 37
Figure 19: Responsibilities of cancelled trains ......................................................................... 37
Figure 20: Complete set schedule ............................................................................................ 38
Figure 21: Periodical changes of train timetables throughout the year .................................. 40
Figure 22: Free time indication ................................................................................................ 48
Figure 23: Cost person-specific disruptions per duty (5% absenteeism) ................................. 59
Figure 24: Cost person-specific disruptions per duty (5% absenteeism, without cancellations)
.................................................................................................................................................. 60
Figure 25: Cost person-specific disruptions per duty (8% absenteeism, without cancellation)
.................................................................................................................................................. 63
Figure 26: Cost person-specific disruptions per train path (5% absenteeism) ........................ 65
Figure 27: Cost person-specific disruptions per train path (8% absenteeism) ........................ 67
Figure 28: Results delay different cost scenarios ..................................................................... 74
Figure 29: Cost train-specific disruptions ................................................................................. 80
V
Figure 30: Result delay with different cost scenarios for train-specific disruptions .............. 83
Figure 31: Cost solving person-specific and train-specific disruptions simultaneously (5%
absenteeism) ............................................................................................................................ 86
Figure 32: Cost solving person and train- specific disruptions simultaneously (8% absenteeism)
.................................................................................................................................................. 89
Figure 33: Result solving person and train-specific disruptions sequentially (5% absenteeism)
.................................................................................................................................................. 93
VI
List of Tables
Table 1: Coverage of entire duty (5% absenteeism) ................................................................ 58
Table 2: Coverage of entire duty (8% absenteeism, without cancellations) ........................... 62
Table 3: Coverage per train path (5% absenteeism) ................................................................ 64
Table 4: Coverage per train path (8% absenteeism) ................................................................ 66
Table 5: Cost scenarios crewmember types and cancellation ................................................. 70
Table 6: Cost scenarios for delay .............................................................................................. 72
Table 7: Result different cost scenarios person-specific disruptions ...................................... 73
Table 8: Coverage train-specific disruptions ............................................................................ 77
Table 9: Result train-specific disruptions with different cost scenarios .................................. 82
Table 10: Result solving person and train-specific disruptions simultaneously (5%
absenteeism) ............................................................................................................................ 85
Table 11: Result solving person and train-specific disruptions simultaneously (8%
absenteeism) ............................................................................................................................ 88
Table 12: Result solving person and train-specific disruptions sequentially (5% absenteeism)
.................................................................................................................................................. 91
VII
List of abbreviations
NMBS Nationale Maatschappij der Belgische spoorwegen
SNCF Société Nationale des Chemins de fer Français
NTC Network Traffic Control
LTC Local Traffic Control
NOC Network Operations Control
LOC Local Operations Control
NCV Niet congé/verlof
RCV Rijdt congé/verlof
NTP Niet touristische periode
RTP Rijdt touristische periode
RRR Rijdt
CPC Centrale permanentie/ Permanence centrale
RDV Reizigers dispatching/ Dispatching voyageurs
VIII
1
1. Introduction
The objective of this thesis is to investigate the different methods to deal with disruptions in
the duty timetables of train personnel. This study considers train drivers and conductors as
they are influenced during a disruption. To understand the causes and consequences of
disruptions on a personnel schedule, it is important to understand how the initial personnel
schedule is composed. The first part (Section 2) of this literature review clarifies the personnel
scheduling problem. First, the process is clarified in general, after which it will be applied for
transportation companies.
The second part (Section 3) of the thesis explains disruptions and their consequences.
Furthermore, the differences between a schedule and rescheduling process due to a
disruption are described. Finally, the different ways to cope with a disruption in a schedule
will be illustrated. The third part (Section 4) examines these first two aspects at the Belgian
railway company NMBS, Nationale Maatschappij der Belgische Spoorwegen (SNCF, Société
Nationale des Chemins de fer français). Its personnel planning and disruption management
will be described in detail. Furthermore, its system will be linked and compared to what has
been reported in the literature.
The fourth part (Section 5) develops a model to deal with disruptions. Its goal is to allocate
the cheapest type of crewmember or a cancellation to a disrupted duty. Furthermore, the
model will be tested on the conductors schedule of NMBS and the results will be discussed.
Finally, a general conclusion (Section 6) is drawn.
2
2. Personnel scheduling
The personnel rescheduling problem starts from the original personnel schedule and
therefore it is important to have a clear understanding of personnel scheduling itself
(Huisman, 2007). It is important to apprehend how the schedule is composed, what it takes
into account and how the problem is solved, to understand the consequences of disruptions
on this schedule. Personnel scheduling itself is defined as “the process of constructing work
timetables for its staff so that an organization can satisfy the demand for its goods or services”
(Ernst, Jiang, Krishnamoorthy, &Sier, 2004a). In this respect, it tries to optimize the scheduling
process primarily by minimizing the cost while complying with the given constraints.
The following part will first discuss the general personnel schedule procedure (Section 2.1).
Next, in Section 2.2, 2.3 and 2.4, the differences in constraints, objective functions and
solution methods applicable in personnel scheduling, are described. Note that the overview
only covers the most common constraints, objective functions and solution methods. Finally,
Section 2.5 gives a detailed overview of the specifics for the personnel planning in
transportation companies.
2.1. General personnel schedule procedure
To schedule the personnel, a company goes through different steps. These steps can be
different from sector to sector and can even be different in the enterprises concerning a
sector. The personnel scheduling is often realized in different steps, i.e. classifications.
Depending on the sector or company, different classifications have been described in
literature.
One of the first classification methods was proposed by Baker (1976). He divided the
personnel scheduling problem into three main groups: shift scheduling, days off scheduling
and tour scheduling (which combines the first two). Shift scheduling indicates time-of-day
scheduling. Across a daily planning horizon, one has to schedule different shifts so that all the
required operations for the enterprise are executed. This is considered as a problem that can
be quite easy to solve, but when the demand fluctuates during a specific shift this
configuration will no longer be feasible. The length of the operating week in a facility is not
the same as the length of an employee’s working week, in this manner days off scheduling
between the different working days have to be determined. The operating week of an
3
organization is often longer than the employees’ working week and different shifts need to be
worked on an operating day. In this way employees have to be given a specific schedule (e.g.
early shift, late shift, night shift), known as tour scheduling, that respects the regulations about
maximum hours that might be worked in a week, month or year (Van den Bergh et al., 2013).
A very general applicable classification is given by Ernst et al. (2004a). This classification is
often applied because it can be used over different business areas. The authors divide the
rostering process in different modules that have to be executed. Depending on the specific
application area some modules might be considered and used in great detail, others might not
be needed or might be implemented at the same time. Before passing through the different
modules, a company must first determine the number of employees that can be considered
for the staff rostering. Subsequent to verifying the available staff, the first module can be
completed.
The first module is demand modeling. This means determining how many staff you need at
different times over the planning period. The demand modeling’s input are duties that need
to be performed. The duty requirements are then used to ascertain a demand for staff. A duty
is a task or a sequence of tasks that needs to be executed. Each task consists of different
incidents. In health care for example, a task in a duty can be to treat a patient. The treatment
of patients consists of different steps that need to be performed, i.e. incidents. One has to fill
in the administrative work and do a medical background of the patient, subsequently one has
to ask the required treatment for the patient and finally one executes the treatment.
The incidents are divided into three categories on which staff demand can be based: task-
based demand, flexible demand and shift-based demand. Task-based demand is demand that
is constituted from a list of individual tasks, known beforehand, that needs to be performed
(e.g. transportation applications: driving the train from station A to station B). In an
environment with flexible demand the likelihood of future incidents is less known and must
be modeled using forecasting techniques (e.g. call centers). Shift-based demand obtains its
demand directly from a specification of the number of staff that is required to be on duty
during different shifts to meet a certain service level (e.g. nurse scheduling).
The second module in the classification of Ernst et al. (2004a), consists of days off scheduling.
In this module, days off are assigned to the employees. The third module, shift scheduling,
4
deals with selecting what shifts are to be worked, together with the assignment of the number
of employees to each shift, in order to meet demand. Line of work construction, which is the
fourth module, involves the creation of lines of work, also called work schedules or roster
lines. Next, module 5, which is task assignment to the different lines of work, is executed and
finally the staff assignment, module 6, to the lines of work.
The different steps that need to be undertaken make personnel scheduling a complicated task.
In companies with a lot of employees, it is no longer possible to execute the personnel
planning manually. Even in smaller companies where a lot of regulations have to be
considered, the planning can be extremely hard without a problem-specific solution
algorithm.
The personnel planning can also be classified into different phases concerning the time period:
long-term, medium-term and short-term planning. These correspond to the strategic, tactical
and operational planning (Abernathy et al., 1973; Burke et al., 2004). The decisions taken in
the higher phases restrain the possible decisions in lower phases. The strategic phase focuses
on the long-term personnel scheduling executed with the entire organization in mind and
begins with the organization’s mission. This will provide the long-term planning goals of the
company, e.g. transporting passengers as fast as possible. The tactical phase constructs the
personnel roster for a mid-term period. Specific employees will be assigned to the different
duties that need to be executed. This serves as an input for the operational phase. The
operational phase represents the allocation made for the next 24-hours.
2.2. Constraints
In general, we can distinguish soft and hard constraints. Hard constraints are constraints that
need to be satisfied while soft constraints can be violated. In each category of constraints that
will be discussed, the constraint can occur as a soft or hard constraint depending on the
objective and goal of the model. The different categories that are most often used in
personnel scheduling are coverage, time-related, fairness and balance constraints (Van den
Bergh et al., 2013).
The coverage constraint is the key characteristic of personnel scheduling problems. This
constraint makes sure that enough workers are available during each time period. It is mostly
used as a hard constraint but can also be applied as a soft constraint, allowing understaffing
5
and/or overstaffing. One objective for such a problem can be to minimize the number of
understaffed shifts. Flexibility alternatives help to overcome understaffing, e.g. use of
overtime, annualized hours or casual workers. When multiple skill categories are considered,
a constraint is often added to make sure that there are sufficient number of workers per skill
present for a specific period or shift. If this is incorporated as a soft constraint, it means that
people with another skill can take over when there are not sufficient employees with the right
skill (Van den Bergh et al., 2013). This is described as downgrading in literature. Downgrading
is often applied in situations where employees have different skills sets and where there is a
high level of uncertainty (Bard ,2004).
Time-related constraints ensure regulations such as a limit on the number of assignments or
minimum number of consecutive free days. The limited number of hours worked imposed by
regulations are hard constraints, whereas a soft constraint can be the consecutive (non-)
working shifts. These regulations can be imposed by the government but also by the
company’s policy. These time-related constraints do not always stem from regulations but
also from the operational organization of the enterprise (Van den Bergh et al., 2013).
Fairness in the work environment is important for the employees. Therefore, constraints are
incorporated to balance dissimilarities between the employees. They are mostly used as soft
constraints as they are not considered as the main objective for most of the models. Balancing
constraints are also integrated to consider employee preferences, e.g. preferences for specific
shifts, days-off and work days during weekends (Van den Bergh et al., 2013).
2.3. Objective function
Minimizing the cost as objective function often gives more possibilities than minimizing the
number of employees. When minimizing the cost there can be a trade-off between hiring
employees, making employees work overtime or hiring casual workers by assigning different
costs to these options. Since there are a lot of stakeholders, models usually have a multi-
objective function. The organization wants to limit the cost, but the operating managers might
want to minimize the number of temporary workers to ensure continuity. The importance of
every decision can be represented by assigning a specific weight to each of these factors (Van
den Bergh et al., 2013).
6
2.4. Solution methods
Personnel scheduling is a complex problem. To solve this problem a mathematical program is
often introduced. Van den Bergh et al. (2013) conclude that the set covering formulation by
Dantzig (1954) is one of the most popular models in shift scheduling problems. These
mathematical models are solved with a particular program or algorithm. A distinction is made
between exact or optimal solution methods and heuristics.
Optimization solution methods
Numerous problem-specific solution methods to solve personnel scheduling exist. Linear
models with a limited number of constraints can be solved using the simplex method. If
there is a large amount of variables or constraints, which is often the case in personnel
scheduling, the Lagrangian relaxation can be applied. A decomposition technique is often
used to solve problems with a lot of variables. Besides the Langrangian relaxation, one can
also use branch and bound or branch and cut for integer and mixed integer problems. The
biggest advantage of optimization methods is that they give an exact optimal solution. In
addition they can be used in highly constrained environments. The disadvantage is that
they do not always find a feasible solution and the computational time might be long (Van
den Bergh et al., 2013).
Heuristics
Heuristics are methods that go through different steps, i.e. an algorithm, to give a feasible
solution. They are not based on a mathematical optimization method and they are mostly
used when an optimization method cannot give a feasible solution or cannot give a
solution in a certain amount of time. Metaheuristics are hybrids of heuristic algorithms.
The success of these solution methods stems from their robustness. They will not always
provide the optimal solution but they usually produce a reasonable feasible solution for a
wide range of input data in an accepTable running time. They are also quite easy to
implement and they can handle complex objectives. Hence heuristics are widely used in a
big range of different problems. A disadvantage is that heuristics tend to not always
provide solutions that are considered good enough in highly constrained models (Ernst et
al., 2004a).
7
Not all scheduling problems are solved using the above solution methods. These are however
the most common and most applicable methods for scheduling problems. The performance
of an solution method is mostly determined by the optimality of the result and the amount of
computational time the program needs to give at least a feasible solution.
2.5. Personnel scheduling for transportation companies
The personnel scheduling process can differ depending on the business sector. In this section
a review of the specifics for personnel scheduling in transportation companies is given The
different steps of Ernst et al. (2004a) will be followed to clarify the process. Note that most of
the research is done in the airline industry. A few articles concentrate on train personnel
scheduling but these are considerably less than those for the airline industry. Nevertheless in
most countries the government has interest in increasing the market share of railway
transport, as it is considered as a green mode of transport and it provides a good solution to
mobility problems (Cacchiani et al, 2014).
Ernst et al.(2004a) define the first step of personnel scheduling as demand modeling. In
transportation companies this is a simple step. The timetables of the transport are known
beforehand so the demand of personnel is quite straightforward. Accordingly a task-based
demand is considered in personnel scheduling for transportation companies. In transportation
companies, the timetabling process is executed a long time before the real-time operation.
Most of the modules can therefore as well be executed a considerable time before the real-
time operation (Cacchiania et al., 2014). The second module of Ernst et al.(2004a) is days off
scheduling. Here working hours are usually defined in the constraints. They depend on the
company and the regulations. These timetables are the basis for the different shifts, line of
work construction and assignment of tasks to line of work, which are module three, four and
five. Tasks are typically associated with a certain location in the transportation industry and
they consist of an earliest starting time, latest finishing time and a duration (Ernst, Jiang,
Krishnamoorthy, Owens, &Sier, 2004b). A task can be a flight leg in the airline industry or a
trip between two or more stops during a train journey (Ernst et al., 2004b). The required
personnel does not always live in close proximity of the location where their shift, task or duty
begins. This leads to deadheading, which is the repositioning of personnel by travelling on the
train or plane as passengers (Jespersen-Groth et al., 2009). If this is not possible, the personnel
is repositioned with a taxi. After the tasks are defined, a schedule with the different tasks that
8
have to be executed is composed , e.g. a crew is needed on a certain day at a certain time to
fly from origin A to destination B. At that moment it is clear how many employees with specific
requirements are needed for each time period. Now, the staff assignment, module 6, can be
executed.
The staff assignment problem consists of assigning crew to the staff schedule. For this problem
the objective function is to find people to execute every task needed at a minimal cost,
complying with the required constraints. The crew scheduling is very often solved by a
decomposition approach that consists of three aspects: crew pairing generation, crew pairing
optimization and crew rostering (Ernst et al., 2004a). The pairing generation represents a
sequence of trips that will be covered by a single crew within a given time period. It results in
a very large number of feasible pairings (Caprara, Monaci, & Toth, 2001). The pairing
optimization gives the best subset of the pairings generated before. It makes up the crew
timetable at minimum cost. The rostering optimization puts the earlier selected pairings into
rosters and assigns them to employees. It gives periodic duty assignment to each crew and
guarantees that all the pairings are covered for a certain period of time (Caprara, Monaci, &
Toth, 2001).
9
3. Disruptions in personnel scheduling at transportation companies
This section describes what a disruption exactly is (Section 3.1), the types of disruptions that
can occur (Section 3.2) and their impact on the personnel roster (Section 3.3). Hereafter the
available options and solution methods to restore the feasibility and workability of the
schedule are discussed (Section 3.4).
3.1. Definition
Clausen et al. (2001, p.810) define a disruption as “a state during the execution of the current
operation, where the deviation from a plan is sufficiently large that the plan has to be changed
substantially”. This contains, among other things, infrastructure malfunctions and rolling stock
breakdowns (Jespersen-Groth et al., 2009). Disruptions in personnel scheduling are defined as
“an occurrence when an employee is unavailable to work a planned task due to an unplanned
event” (Maenhout and Vanhoucke, 2013, p.903). This can also involve a rolling stock
breakdown or any other technical default, as long as it has an effect on the personnel
schedule.
3.2. Different sorts of disruptions
Every enterprise sector has its own operation specifications. In this respect, different kinds of
disruptions can occur. From here on we will only consider the disruptions in transportation
companies, to be able to give a more detailed overview in this sector. These disruptions are
general disruptions, which means that they are not always caused by the personnel itself, but
they will have an influence on the personnel schedule. A few examples of disruptions in the
airline industry are given in Clausen et al. (2003):a person gets unwell on the plane and the
pilot decides to divert the plane or a technical check gives an error message and cannot
immediately be solved. It is important that from the very moment a deviation from the initial
plan occurs, the company maps this deviation and its consequences. Therefore they need to
know what the deviation is, where it occurs, what the cause of the deviation is and how it will
affect the operation of the company. Sometimes it might still be possible to continue the initial
plan after a small deviation. Only when a deviation of the initial plan results in an alternation
of the initial plan, it is called a disruption (Clausen et al., 2003).
Section 3.2.1. discusses the influence of uncertainty causing disruptions. Section 3.2.2. gives
some examples of disruptions in personnel schedules, specific for transportation companies.
10
3.2.1. Uncertainty as a source of disruptions
In a deterministic environment, there is no need to reschedule, as everything would go
according to plan. Usually organizations assume a deterministic environment and as a
consequence they do not incorporate uncertainty proactively during the development of
the schedules. This is why rescheduling is necessary when something unexpected appears
during the allocation phase of personnel to duties. These uncertainties appear on the
operational level of the scheduling period. There are three main categories of uncertainty
in personnel scheduling: uncertainty of demand, uncertainty of arrival and uncertainty of
capacity (Van den Bergh et al., 2013). Uncertainty of demand occurs when the workload
is unpredicTable. This is not often the case for transportation companies as the schedule
for the duties is known upfront. But if there occurs a disruption in the duty schedule,
because another duty is late for example, the demand for the workload will change.
Uncertainty of arrival means unpredicTable arrival patterns of the workload. Here again
the personnel schedule is based on the scheduling of the rolling stock that is known
beforehand. In this section, a disruption in the personnel schedule is only caused by a
disruption in the rolling stock.
Finally, uncertainty of capacity arises when there are deviations between the planned and
the actual manpower or between the planned and actual rolling stock capacity. Specifically
this means that the calculated available workload is different, because of e.g. leave of
absence, illness or an unavailability of the rolling stock according to the initial plan.
3.2.2. Disruptions in personnel schedule
The main disruptions that occur in the personnel schedule of an airline company in real
time, are presented in Figure 2, 3 and 4 (Abdelghany et al., 2008). Note that these are not
all the possible disruptions that can occur, but they give a key understanding of the most
common disruptions. These disruptions can be applied to other transportation companies,
as the personnel schedule is constructed in the same way for all of them. Only will the
rolling stock, obviously, have a different composotion (e.g. airplanes, trains, buses). The
biggest difference with the railway industry is that a duty is considered to be executed on
a single day, while for the airline industry a duty covers several days. This also results in
11
the fact that airline crew rescheduling has more resemblings with crew scheduling
(Cacchiani et al., 2014).
Abdelghany et al. (2008) represent a crew duty as trip pairs in the airline industry. A trip
pair consists of ‘a workload assignment for each pilot and flight attendant’. The article
defines a trip pair as a range of typically five days, where each day represents one duty
period. Between two duty periods, the crew periods are given a rest time, called the
layover. As mentioned before, the rest time and length of duties are consequences of
certain regulations. Figure 1 displays a trip pair without any disruptions, that starts and
ends at base A. A few different crew operation disruptions include a misconnect violation,
a rest violation, a duty limit violation and an open position.
- Figure 2 shows a misconnect violation. This occurs when a crewmember does not
arrive on time and is unable to connect on time to the next flight in the same duty
period (Abdelghany et al., 2008).
Source: Abdelghany et al. (2008)
Figure 1: A typical trippair in normal operation conditions
12
- A rest violation occurs when the legal rest time (layover) would be less because of late
arrival at the end of the preceding duty. This is displayed in Figure 3 (Abdelghany et al.,
2008).
Figure 2: Example of a misconnect violation
Source: Abdelghany et al. (2008)
Figure 3: Example of a rest violation
Source: Abdelghany et al. (2008)
13
- A duty limit violation occurs when the actual duty period exceeds the duty period limit
due to delay of one or more flights in the duty period. The remaining flights can thus
no longer fly with the original crewmember, shown in Figure 4 (Abdelghany et al.,
2008).
- In an open position a crewmember did not show up or the up-line flight is canceled,
resulting in the fact that the crewmember is not available to fly her/his next
assignment (Abdelghany et al., 2008).
3.3. Difference between scheduling and rescheduling
Solving a disrupted situation is more complex and different from planning. Usually the
situation has to be solved and a new feasible solution has to be constructed, that is close to
the initial plan in order to limit the inconvenience (Yang, Qi, &Yu, 2003). The initial plan or
schedule is an important input for managing disruptions. The objective of minimizing costs is
often abandoned and one tries to find a feasible schedule that has as few modifications as
possible (Huisman, 2007). For disruptions in personnel scheduling, it is necessary that a
solution can be found in a short time span. This is often done by reducing the dimensions of
optimization problems. Generally, the time window is reduced and spans from the time a
Figure 4: Example of a duty violation
Source: Abdelghany et al. (2008)
14
disruption has occurred until a certain amount of hours into the future. One can also reduce
the number of crew that has to be considered for the rescheduling (Clausen, Larsen, Larsen,
&Rezanov, 2010). Maenhout and Vanhoucke (2013) study the personnel rescheduling
problem for nurses. The results of their research showed that the solution did not improve if
the chosen timeframe was more than two days before and two days after the disruption,
which is known beforehand, occurred. Their study also showed that there have to be a
significant set of personnel required on top of the initial personnel set. The number of extra
employees strongly depends on the total number and the spread of the disruptions.
Rescheduling also depends on the degree of uncertainty in operation and thus the variability
in demand, arrival and capacity during real-time operations. An input for the crew
rescheduling problem is the already changed timetable, which contains the demand for the
new tasks or duties.
3.4. Dealing with disruptions
The objective of this thesis is to study different methods to cope with disruptions in personnel
scheduling for railway companies. That is why now we proceed to discussing the different
possibilities that can be undertaken to deal with disruptions. First, one can be proactive and
prevent disruptions in the schedule (Section 3.4.1). Second, it is important to evaluate how to
deal with disruptions the moment they occur and how to manage them (Section 3.4.2). Finally,
the different solution methods to reschedule personnel are described (Section 3.4.3). This
section ends with a critical note on the causes of disruptions and how to manage and prevent
disruptions from the start (Section 3.4.4).
A remark that has to be made is that the best way to solve a disruption is to prevent it from
happening at the origin. These models will help adapt the planning if a disruption has
occurred. But they will not repair the cause of the disruption. Every time a disruption has
occurred, with or without consequences on the personnel schedule in particular, a proper
analysis of the situation has to be done. Ericsson & Dahlen (1997) have derived the underlying
causes of disruptions occurring in the production process. Even though this study is done in
some manufacturing systems its idea and analysis can also be done on transportation
companies. The study mapped the disruptions and then selected the most important down
15
time causes. In the end the original cause for the specified down times were found by Ohnos
5 why-method.
3.4.1. Prevent Disruptions
A first way to solve disruptions is to make the planning model more robust. Robustness is
defined as “outcomes or properties of a plan not (significantly) affected by realization of
uncertain (random) data” (Laumans, 2011). These kind of models are also called stochastic
models and are seen as a proactive way of handling disruptions (Clausen et al., 2010).
Stochastic models incorporate uncertainty while deterministic models do not (Van den
Bergh et al., 2013). The difficulty of stochastic models is that you need a probability
distribution for the occurrence of the different scenarios (Veelenturf et al., 2014). An
example is given in Yan, Chen, &Chen (2008) where they convert two deterministic
demand planning models to two long-term stochastic demand planning models for air
cargo manpower. The authors modified the manpower demand to be a random variable
in the stochastic models. They tested the different models using the stochastic demands
that occur in actual operations. The objective values of the stochastic models were
superior to the deterministic ones in the operating stage but the deterministic models had
a better objective function value in the planning stage. This is a logical result as the
deterministic models do not consider uncertainties in the planning stage. A commonly
applied method to incorporate uncertainty are Markov chains. Markov chains consider
that moving from one state to another state, with a certain probability, is independent
from the previous states, and thus random (Meyn and Tweedie, 2005).
Kohl, Larsen, Larsen, Ross, & Tiourine (2007) give some possibilities to make the resource
plans more robust and to allow them to be more efficient in recovery for the airline
industry. The most commonly used techniques are adding slack time in the plans, letting
crew follow each other and the rolling stock. These techniques make it easier to monitor
activities and allow a simple recovery plan. Another method is called out-and-back, i.e. let
a rolling stock fly or drive from the same origin to destination and back to the origin, if the
same crew is scheduled for these two tasks. In this respect a disruption will not affect the
rest of the crew schedule. Finally a stand-by crew and rolling stock might be expensive,
but can be very valuable in case of a disruption and are is very often used in railway
companies.
16
3.4.2. Disruption management
To execute efficient disruption management during a real-time operation one has to
continually monitor the operation of the company. The actual process of an operation
consists of three elements: planning, tracking and control. First, the necessary resources
to execute the operation are assigned to specific activities in the planning. Second,
changes in the resource situation are monitored and evaluated, re-planning is done off-
line. Finally, there is the control phase, where the new plan is implemented and
monitored. The re-planning is performed on-line (Clausen et al., 2001). Kohl et al. (2007)
adopt the same principle but describe it differently. For them, it is crucial that operations
are constantly monitored. When a deviation between actual events and planned events
occurs, one has to decide if this deviation will have consequences and will result in a
disruption. Then a decision has to be made regarding the actions that should be taken. The
process is shown in Figure 5.
Figure 5: Disruption management
If a disruption occurs, the personnel roster has to be rescheduled. It is very difficult to re-
plan all the operations of a transport company, i.e. timetable adjustment, rolling stock and
crew rescheduling, at the same time during a disruption (Jespersen-Groth et al., 2009).
Most of the research considers that the timetable and rolling stock schedule is recovered
before the crew rescheduling decisions are made.
Source: Kohl et al. (2007)
17
3.4.2.1. Disruption management in railway companies
Jespersen-Groth et al. (2009) introduce a framework of organizations, actors and
processes in disruption management for several European railway companies. The
organization involves the infrastructure manager and the railway operators. The
infrastructure manager is obliged, through contractual bounds, to provide the railway
operators with a railway network that offers certain infrastructure capacity and reliability.
The passenger railway operator obtains a license to operate passenger trains on the
network from the government. The railway operator has a contract that ties him to provide
a performance that exceeds certain specified thresholds on certain key performance
indicators. Delays of a train can thus be attributed to either the railway operator or the
infrastructure manager.
The infrastructure manager controls and monitors all train movements in the railway
network. Figure 6 shows the overall structure of the organization and actors in European
railways. The Network Traffic Control (NTC) covers all tasks corresponding to the
synchronization of the timetables of the different operators. It manages, among other
things, the re-routing and canceling of trains for the overall network, e.g. the Belgian
network. On a local level, e.g. the Gent train station, the process is managed by the Local
Traffic Control (LTC). The LTC is responsible for routing trains through railway stations and
for the platform assignment. The third actor involved is the Network Operations Control
(NOC). This actor keeps track of the operations of the operator on a network level and
serves as decision maker for the operator in the disruption management process. The
Local Operations Control (LOC) is responsible for coordinating several local activities at the
stations. They support the NOC by evaluating whether changes to the rolling stock
schedules can be implemented locally.
18
Figure 6: Schematic view of organization
The first thing to decide in disruption management is whether a disruption is occurring.
The NTC constantly monitors the operations, over the whole network, and has to decide
if a deviation is a disruption. When a deviation is considered to be a disruption, the
disruption process will be started. This process contains different steps, each dependent
on each other. The different steps undertaken in the process are displayed in Figure 7. NTC
firstly determines all the trains that are affected by the disruption. NOC of the
corresponding operators must then be informed about it and the direct consequences
from it. After this, several actions need to be taken:
1) NTC will have to find out to which extent it will still be possible to run traffic on the
involved route. After this, an initial dispatching plan can be constructed. This plan will
be evaluated by LTC and communicated to the NOC of the operators. This procedure
is indicated by number 1 in Figure 7.
2) NOC has to check whether it is possible to operate the proposed dispatching plan. This
means they have to check if they can allocate their resource schedules to the proposed
dispatching plan. Therefore, LOC has to verify the modified timetable and the adapted
resource schedules, to determine if they can be carried out locally. This evaluation can
have a solution without any cancellations or delays, it can have a solution with certain
Source: Jespersen-Groth et al. (2009)
19
adaptations or it can be a request for changes in the dispatching plan. This step is
indicated with number 2 in the Figure.
3) Finally NOC may come up with a request for changes to the proposed dispatching plan
if this enables them to construct a much better solution.
After the decision is made, it is communicated to LTC and to the operators. LTC has to
implement the new train routes and change platform assignments. NOC informs train
drivers and conductors. LOC generates new shunting plans. Finally passengers need to
be informed. This is indicated with number 3 on the Figure.
(Jespersen-Groth et al., 2009)
3.4.2.2. Personnel rescheduling in train company
NTC reschedules the events affected by the disruption. This results in an adjusted
timetable. Then the rolling stock schedule is adapted and finally the crew rescheduling is
executed. Jespersen-Groth et al. (2009) presume that the modified timetable contains the
unchanged tasks from the original timetable that have not been started and the additional
tasks that were created to react on the disrupted situation. The new crew schedule should
cover all the tasks of the modified timetable. This is done by re-assigning the tasks
(Jespersen-Groth et al., 2009). As mentioned before, the company has to decide whether
Source: Jespersen-Groth et al. (2009)
Figure 7: Information flow during the dispatching plan development
20
to take all the crew in consideration or only a subset of the crew, in order to keep the
problem manageable. The main objective, to find a feasible solution, has to be satisfied. If
this is not possible and a task remains uncovered, the task cannot be executed and a train
trip might be canceled. Which in turn will lead to more inconvenience for the passengers,
and that is against the general aim of disruption management (Jespersen-Groth et al.,
2009). A cancellation should be approved by both the rolling stock dispatcher and the local
planner.
3.4.2.3. Solution methods
A lot of companies still solve the disruption by making changes manually and not by using
any computerized decision support. Often, the goal is to find a feasible solution but not
necessarily an optimal solution. However, the increased computational power has
facilitated the development of a number of new solution methods, that are able to find
the best solution in a relatively small amount of time. As mentioned before it is even
possible to be proactive and create solutions for certain problems that may occur (Clausen
et al., 2001).
Cacchiani et al. (2014) consider the crew rescheduling problem as an extended set
covering problem. The main difference with the set covering model used in the planning
stage is that the original duties have to be taken into account. The model includes the crew
that works on the day the disruption occurs and whose duty has not yet been finished.
Then the model tries to allocate the crew to the duties. These duties comprise the feasible
original duties and the rescheduled ones. Other authors also base their solution method
on the set covering model. Huisman (2005) uses a column generation algorithm to solve
the rescheduling of drivers. This model is however not applied for real-time operations but
rather for short-term rescheduling, given the long computational time (Cacchiani et al.,
2014). Potthoff, Huisman,& Desaulniers (2010) developed an algorithm to reschedule
crew during disruptions in real-time operation. The authors reduce the computational
time by only considering a core piece of the problem, i.e. a subset of the original duties
and tasks. This core problem is obtained by a heuristic algorithm based on column
generation and Lagrangian relaxation. By reducing the problem, it is possible to find a
feasible solution in a short amount of time.
21
Sometimes integrated systems are used to reschedule the timetable and the crew, e.g. the
MIP model of Walker et al. (2005). These models are nonetheless quite complicated and
require significant computational time, which makes them not suitable to solve real-time
disruptions. However, Veelenturf et al. (2012) have solved the crew rescheduling problem
with retiming. During a disruption, the timetable is usually adjusted first, followed by the
rolling stock and then finally, the crew is rescheduled (Jespersen-Groth et al., 2009). When
an infeasibility occurs in the crew rescheduling phase, trains are often canceled. Retiming
(delaying a train departure by a few minutes) can avoid the cancellation of certain trains
and thus result in a better passenger satisfaction.
The main difficulty to solve a disruption in real-time is the fact that one does not know
how long a disruption will take. The models presented above, usually consider the time of
the disruption as given. However, this is typically not the case. One can only make an
estimation of the time at the beginning of the disruption. Veelenturf et al. (2014)
developed a quasi-robust optimization approach that incorporates the uncertainty of the
duration of the disruption. This model deals with large-scale disruptions in real-time. They
consider the problem as a two-stage optimization:
During the first stage, the start of the disruption, the plan is rescheduled based on an
optimistic scenario. This quasi-robust schedule is based on the concept of recoverable
robustness. Here it means that in this first stage a given number of rescheduled duties
must have an alternative for tasks for which it is uncertain whether they need to be
executed. The optimistic scenario assumes the shortest possible duration for the
disruption and is developed such that it can be easily turned into a feasible schedule
when a less optimistic scenario is realized.
In the second stage the real duration of the disruption is known. The first stage solution
is adapted to a feasible schedule for the real scenario and this adaptability is
considered to be easy, as the first stage schedule is quasi-robust. The model is called
quasi-robust because the schedule for the first stage can easily be changed into a
feasible solution for the second stage. The reason why these stochastic or robust
recovery models are not often used in real-time operations is because they need
considerably more computational time than the optimization problem.
22
Most of the solution methods described in the literature consider a software or program,
but using computerized decision support does come with a few disadvantages. It has to be
able to provide a solution within a certain time limit. Furthermore, the data needed to
solve the problem often stems from different databases and still needs to be converted in
the right dimension to use it for the program. Finally, it is not easy to incorporate the
uncertainty of the duration of a disruption in a model. The most important advantages are
that the organization controls decisions in a more qualified decision making. The solution
is also less person dependent and will give less vulnerability. Finally, a computerized
decision support can integrate all the operations and departments of an organization
resulting in a better overview (Clausen et al., 2001).
23
4. An analysis on operational level at NMBS
The following part will examine the current personnel scheduling process of train drivers and
conductors at NMBS, which is the national railway operator in Belgium, and how this
organization deals with disruptions occurring in its personnel schedule. First, the structure of
the Belgian railway organization is described (Section 4.1). Second, the personnel scheduling
process specifically applied to this company is explained (Section 4.2). Third, the disruptions
that occur and the way they are dealt with by NMBS are presented (Section 4.3). Finally, the
topics discussed in the literature review are compared to the procedures NMBS conducts
(Section 4.4).
4.1. Structure of the Belgian railway organization
To completely understand how the personnel schedule and the disruption management
functions at NMBS, it is important to understand the Belgian railway organization and the
planning organization within NMBS.
The Belgian railway organization consists of four main actors: the Belgian Government, NMBS,
Infrabel en HR rail (Figure 8). NMBS is the railway operator and Infrabel functions as the
infrastructure manager. NMBS is responsible for everything that concerns the passenger and
train equipment, e.g. locomotives, while Infrabel is responsible for the infrastructure, e.g.
maintenance, renewal of railways and communication with the railway operator. They both
operate under the government, which is the third actor, and are working under specific
regulations. The fourth actor involved in the Belgian railway organization is HR rail. HR rail
regulates the human resources of NMBS and Infrabel. It acts as the sole recruiter.
Federal
state
Source: www.belgianrail.be
Figure 8: Belgian railway structure
24
In this research we focus on the personnel scheduling and disruption management of NMBS,
which is executed at two levels: national and local. The general, national, planning is done at
the NMBS headquarters in Brussels. This entails the long-term planning and results in a roster
set of duties for each local department. Next, this planning is sent to the 5 local planning
departments, which consist out of one or more provinces of Belgium. These local departments
transcript the general planning into a nominative planning. This entails connecting specific
names of drivers and conductors to the duties that need to be executed according to the
general planning. At the short-term some changes to the initial roster might occur, most often
caused by maintenance of the railway. These changes are first adapted on the schedule at
national level and then communicated to the local level. Disruption management is also
executed at these two levels. The general disruption management office in Brussels handles
all disruptions that are caused by train or infrastructure malfunctions. The local departments
handle the person-specific disruptions, e.g. a personnel member that calls in sick.
Furthermore, Belgium has 41 train depots. These are the places where a train route begins
and ends. A train route is considered to be a trip from the station where the route begins until
the end station of the route. An example of a train route is Brugge-Kortrijk, this route starts
its trip in Brugge and makes several stops in train stations along its route to Kortrijk, e.g.
Zedelgem and Torhout. After this route, the used resources can be planned for another route,
e.g. Kortrijk-Brugge or Kortrijk-Poperinge. Note that a train depot is not the same as a train
station. There are more train stations than train depots, but train stations that are not a train
depot cannot be the start or end of a route or duty.
25
4.2. Personnel scheduling
The scheduling of conductors and train drivers entails different steps (Figure 9).
Figure 9: Personnel scheduling process of NMBS
As stated, in the upper-line of the Figure, NMBS divides their planning into three stages: asset
planning, attribution and production. The asset planning entails planning on a long-term
(Section 4.2.1). This is carried out on national level. Attribution encompasses nominative
planning. This means that the duties, established in the asset planning, are assigned to specific
persons, i.e. staff assignment (Section 4.2.2.). This is typically executed on a local level. Finally,
the production phase, i.e. the operational phase, monitors the real-time situation (Section
4.2.3.). The real-time situation is both monitored on a national and on a local level.
4.2.1. Asset planning
The asset planning consists of three phases: strategic planning, long-term planning and short-
term planning.
Strategic planning
The first step to obtain a personnel schedule is the construction of the train timetables, i.e.
strategic planning. These train timetables are executed on a national level in collaboration
26
with Infrabel, i.e. the infrastructure manager. In 2014 a completely new schedule was
developed. The previous planning was pursued from 1998 to 2014, with small annual changes.
This strategic plan for the train timetables is executed for one year. The year is then divided
into different periods and the timetables are altered accordingly, i.e. long-term planning.
Based on the transportation plan, a rough estimation of the rolling stock, drivers and
conductors is made, in order to be able to assess the demand and the current number of
rolling stock and staff. Furthermore, what-if analyses are performed. These are executed to
calculate scenarios based on long-term strategic decisions. One of the strategic goals is to
reduce the personnel cost of train conductors and drivers, while maintaining the same service
level towards the passengers. Some possibilities NMBS is considering for the future are, for
example, planning only one conductor on each train or developing a whole plan, e.g. metro
system, without conductors. The what-if scenarios are not used to simulate different
situations in case of a disruption.
Long-term planning
As mentioned before, the train timetables differ during the year, according to the national
holidays and touristic period. During the summer, for example, more trains are scheduled to
drive towards the coast. In this respect four different periods are established throughout the
year and each period is characterized by a specific train schedule. This is considered to be the
long-term planning from the asset planning. The schedule of one period consists of different
sub schedules that are performed simultaneously. This process is shown in Figure 10, where
NCV stands for ‘not driving during holidays’, RCV stands for train routes that ‘drive during
holidays’. NCV and RCV cannot be planned simultaneously. NTP means ‘not driving during
touristic period’, RTP stands for train routes that ‘drive during touristic periods’. NTP and RTP
are also mutually exclusive. RRR rides all year long.
27
Figure 10: Annual train timetable plan
Once these train timetables are established, the rolling stock and driver timetables are
completed. The required rolling stock to comply with the timetable is selected and drivers are
assigned to the rolling stock. At this point, these are anonymous drivers, this means that there
are not yet specific drivers assigned to the duties. This entails module 2, 3, 4 and 5 of the Ernst
et al. (2004) classification, i.e. days off scheduling, shift scheduling, lines of work construction
and task assignment to lines of work (see above). The different modules are completed
together. This is typically executed nine months to one year in advance, i.e. strategic planning.
At this national level only the different duties and shifts are determined.
Next, the conductors are scheduled. This contains module 2, 3, 4 and 5 of the Ernst et al.
(2004) classification as well. Just as with the drivers, these are anonymous conductors that are
assigned to the duties. Given the size of the rolling stock, number of carriages, and the train
timetables, the company decides whether to schedule one or two conductors. When two
conductors are scheduled, one conductor is assigned the role of board chef and the other
conductor is considered to be the board assistant.
Since train drivers need certain certificates to conduct a specific type of rolling stock, train
drivers and conductors are not scheduled at the same time. Furthermore, the tasks of a driver
are different from a conductor’s task. Drivers have to start at the location where the rolling
stock is kept. Train conductors only need to start their duty at the start of a train route, i.e.
the train depot at the beginning of the route. Thereafter, a technical check has to be executed.
Train drivers check the brakes while train conductors check the lights or doors of the rolling
stock, for example. The technical check executed by the drivers takes considerably more time.
In this respect the drivers start their duty earlier than a conductor.
28
The result of a train conductor schedule executed on national level is shown below in Figure
11. Every day, a duty is assigned to the conductor. RX, CX, R/C, RES are rest days or free days.
The other days, the conductor is assigned to a specific duty with a specific number and start
and end time.
While developing schedules on national level, the company already takes the regulations and
constraints concerning time into account. The developed duties always comprise shifts
between 6 and 9 hours for conductors. Furthermore, the duration between two consecutive
duties has to be at least 14 hours. Another regulation the company imposes itself is to keep
at least one weekend a month free, note that this concerns module 2 of the Ernst et al. (2004)
classification (see above). The other regulations that are taken into account are: a maximum
of 7 consecutive working days, begin and end of a duty is at a conductors train depot and meal
breaks are not anticipated in the planning. These are all hard constraints and are thus always
satisfied at the planning stage. Some other regulations the company enforces include that a
person should not work the same duty consecutively. This is a constraint that can be violated
if necessary and thus an example of a soft constraint. After obtaining a schedule that
incorporates these different regulations, the company presents it to the labor union, after
which the labor union can negotiate some adjustments to the obtained duties when needed.
Figure 11: A four weeks conductor schedule
29
Note that these hard constraints are imposed on a national level while developing the duty
timetables that need to be worked. In real-time, however, it sometimes happens that one of
these constraints is violated due to unforeseen circumstances.
These national schedules are made for every train depot. The Figure below shows a planning
set for Brussels. Every line shows a working schedule that needs to be executed by a
conductor. As mentioned before, a day consists of either a duty or a rest/vacation day. Each
duty has a specific number, a start time and an end time. Every line on this planning has to be
executed simultaneously in a week. This means that we need at least 19 conductors to execute
all these lines together in one week. After executing a line the conductors move down a line,
to execute this line the following week. To illustrate this, consider conductor 1 starting at line
1. This means that the first workweek the conductor executes line 1. The succeeding week the
conductor executes line 2. The conductor keeps rotating through all these lines until he or she
is back at line 1 and starts the same sequence again. This means that after a certain amount
of time the conductors execute the same order of duties, this results in a cyclic personnel
planning.
30
To clarify: on a Monday the duties 225, 206, 007, 208, 244, 210, 019, 006, 236, 014, 242, 239
and 216 start and end in Brussels and they have to be executed by a conductor. Note that
every train depot gets at least one planning set. The train depot itself can choose whether
they want one set or more, e.g. a set with mainly early duties and one with mainly late duties,
to execute all the needed duties. This depends on the request of the union representative and
the number of available staff of that train depot. When there are less than 25 staff members,
only one planning set is made, as the same duties would otherwise be repeated too soon. If a
train depot has more than 25 staff members, the union representative can state whether they
prefer one planning set or more. A duty consists of different tasks. The conductor that works
a certain duty gets a paper printed version with the different tasks he or she needs to execute
for that day. An example is shown in the Figure 13. This paper shows duty 102 that starts and
ends in Brussels.
Figure 12: A planning set for Brussels
31
Short-term planning
Besides the period of the year, the train timetable might still be adapted in the short-term.
This is often the case when maintenance of the infrastructure or locomotives needs to be
executed. Therefore, the initial plan is adapted. This is further elaborated in Section 4.3.2.
4.2.2. Attribution phase
The attribution phase contains the tactical planning or the nominative planning of the
attribution phase at NMBS. After developing the planning sets for every train depot, the 5
local departments execute module 6 of the Ernst et al. (2004) classification, i.e. staff
assignment. Specific persons are linked to the duties for the specific train depots. All the
conductors are considered to have a fixed train depot where they start and end a duty, but a
translocation is possible. The same principle is followed for the drivers, taking into account
their training of the rolling stock.
Each conductor is able to view the schedule as presented in Figure 9. The set is repeated after
the number of weeks presented in the set. These can change regarding the train depot.
Conductors can give their preference for a certain set of their train depot, e.g. preference for
a planning set with early duties. The local department tries to incorporate these preferences
as much as possible but they can be violated: they are soft constraints.
4.2.3. Production phase
The real-time operations are monitored at two places at the same time: on a national level
and local level. On a national level, the central permanence overlooks the train-specific
Figure 13: A duty example
32
problems, e.g. delay, cancellation and other incidents that have an influence on the personnel
planning. The local permanence overlooks the person-specific operations, e.g. somebody that
arrives late or is ill.
Central permanence
The central permanence is located in Brussels. It consists of several departments: the
central personnel dispatching service, i.e. CPC, five local dispatching services, i.e. RDV,
and traffic control.
The central personnel dispatching service, i.e. CPC, controls and monitors the overall
situation in Belgium. They visualize the current train routes and their punctuality.
According to this, they see whether the planned operations are going according to plan
for the train conductors and drivers. Furthermore, the central permanence consists of
RDV’s, i.e. voyager dispatching, which monitors the real-time operations of their local
department. They also visualize the current operations, but specifically for their area.
The central permanence and RDV are located in the same room together with traffic
control. Traffic control is the dispatching service of Infrabel and monitors the current
situation, but specifically the railway traffic.
When a disruption occurs, different steps are executed by the appropriate
permanence unit. First, it is the task of the appropriate RDV to set up a new traffic plan.
Different options are possible; trains are often delayed, rerouted or busses are
arranged if necessary. Second, the new traffic plan is discussed with traffic control. As
both entities are in the same room, the new traffic plan is sometimes developed
together with traffic control. Finally, when a new traffic plan is established, it is the
task of CPC to allocate the required personnel to execute this new traffic plan. This
process is displayed in Figure 14.
One way the NMBS visualizes the current operations is by displaying a time-space
diagram. This shows which train routes are at what time and place between these
stations for a particular location, e.g. Oostende-Brussels. In this diagram a line shows
where the particular train route should be (Figure 15). Another method is a general
map of Belgium, where the position of each train route is given by a dot on the map.
33
The color of the dot represents the tardiness of the train. For example when a train is
0 to 5 minutes late, according to the schedule, the dot has a yellow color.
The central permanence also has access to the initial schedule. For train conductors,
they can access the program used for the planning, see number 2 on Figure 9. Train
drivers, however, have a new program for the real-time dispatching, where their duties
are displayed, based on the schedule obtained in the tactical phase. This information
is however static. Therefore, the central and local permanence, have a program, called
Passenger Web. This displays whether a person is on time for his/her duty. The train
conductor or driver in question has to send a text message when he/she arrives at the
train depot where the duty starts. The program shows whether they have already
received a message or not.
34
Figure 14: Process flow central permanence
Figure 15: Time space diagram
35
Local permanence
The local permanence monitors all the person-specific operations. When somebody is absent
or calls in sick it is responsible for dealing with the situation. The process flow is displayed in
Figure 16. The local permanence visualizes the real-time situation as well. They make use of
Passenger Web, as this program displays whether a certain personnel member is on time.
Furthermore, the local permanence can consult the program that is applied for the planning
as well, number 2 on Figure 9. Thanks to these two programs, they can consult the duty of
each employee and display it accordingly; an example is shown in Figure 17. In this program,
every member has a certain duty. When a person has a rest/vacation day, this is linked to a
certain duty number.
When changes are made before the duty of a train conductor or driver is started, the changes
are entered manually in the computer program by the responsible permanence, and the
conductor or driver gets the adapted duty on the paper printed version. Next, the other
permanence is informed by email and they can consult the new duty from their computer. If
a duty is adapted while the conductor or driver is executing his/her duty, the adapted schedule
is communicated by phone to the conductor or driver and the other permanence, after
changing the duty in the computer.
Figure 16: Process flow local permanence
Figure 17: Duty representation
36
4.3. Dealing with disruptions
In this section, we describe the different options NMBS applies to cope with disruptions.
Firstly, the different causes of disruptions for railway companies are stated (Section 4.3.1.).
Secondly, the capability of NMBS to make its planning more robust is described (Section 4.3.2).
Third, we explore how NMBS deals with medium-term disruptions, i.e. during the attribution
phase (Section 4.3.3). The last section describes the short-term plan to cope with disruptions,
i.e. the operational phase (Section 4.3.4).
4.3.1. Causes of disruptions
A disruption occurring in the passenger railway planning can be caused by both internal and
external factors. Internal factors are factors that can be controlled by the railway operator
itself, while external factors are factors over which the railway operator or system has no
control (Nielsen, L.K., 2011).
Internal factors include technical breakdown of rolling stock, malfunctioning of infrastructure,
and maintenance of rolling stock or infrastructure and crew shortage. External factors are
extreme weather conditions, accidents with other traffic, e.g. a car on a railway intersection,
suicide (attempt), persons walking alongside the railway, delayed trains operated by a third
party, e.g. Thalys, and power outages (Nielsen, L. K., 2011).
Both NMBS and Infrabel record every delay or cancellation of a train route in real-time, i.e. on
operational level. Every record states the total delay of the train route and who is responsible
for the delay. The results of 2015 are given in Figure 18 and 19.
NMBS is responsible for 36.2% of the delays and 29.9% of the cancelled trains. Infrabel is part
of the Belgian train system and can therefore also be considered as a source of internal causes.
Infrabel is responsible for 20.9% of the delays and 8% of the cancelled trains. As a result, 57.1%
of the delays and 30.7% of the cancelled trains is caused by internal factors.
39.4% of the delays is created by third parties, e.g. suicide attempt or accident on railway
intersection. 3.5% is caused by external operators, e.g. Thalys. Therefore, delays are in 42.9%
of the cases caused by external factors. Cancelled trains are for 60.3% of the situations the
responsibility of third parties and for 1.7% of other operators. In total 62% of the cancelled
trains are caused by external factors.
37
Figure 18: Responsibilities of a delay
Figure 19: Responsibilities of cancelled trains
4.3.2. Robust planning
A first method to deal with disruptions is to make the planning process more robust (cf. supra).
One way the company copes with uncertainty on the long-term is to schedule flexible
personnel. In every conductor’s duty timetable a few weeks are incorporated where the actual
duty that has to be performed is only known the evening before. In Figure 20, this consists of
two periods of three weeks, indicated by the red frame. These periods are used to fill in for
personnel that is on leave, but also for some uncertainties like personnel that has a long-term
Source: http://www.infrabel.be/en/about-infrabel/punctuality/reports/2015
Source: http://www.infrabel.be/en/about-infrabel/punctuality/reports/2015
38
illness, i.e. changes on short-term on a local level. These periods can cope with uncertainties
that are known at least a day in advance.
Figure 20: Complete set schedule
NMBS also plans stand-by crewmembers for most of the train depots. Bigger train depots, i.e.
train depots with more than 25 train conductors or drivers and more train routes, have four
stand-by crewmembers scheduled per day. These four crewmembers are spread over the day,
in shifts between 3h-12h, 5h-16h, 10h-19h and 16h-1h. The smaller train depots usually have
one stand-by crewmember scheduled per day. When this is not sufficient, a stand-by crew
member of a train depot nearby is deadheaded.
These stand-by crewmembers are used for changes that occur the day itself and could not be
anticipated in advance, e.g. a person that calls in sick on the day itself, a train that is late and
makes it impossible for the conductor to catch his/her next train. The initially planned
crewmember is then either returning to his/her train depot or sent home, depending on the
time and train routes he/she still has to guide. When the train conductor or driver has to
39
return to his/her train depot, he/she might be scheduled as stand-by crew for the time left or
he/she might be able to guide the next train on his/her duty.
The stand-by crewmembers are available at the train depot itself, in order to be able to employ
them immediately when needed. Until now these incorporated periods and a stand-by crew,
planned during the attribution phase on a national level, have been sufficient to handle
personnel leave, part-time employees, sickness and other uncertainties. The stand-by crew is
often needed, but sufficient to cover the majority of disruptions. As a result, the NMBS
concludes that it currently plans a sufficient number of stand-by crewmembers.
4.3.3. Dealing with medium-term disruptions
After the planning stage, some alterations are made to the initial planning, indicated by the
short-term planning and nominative planning in Figure 9. Changes that need to be made for
the train timetables and for the set schedules are executed on a national level. Alterations
related to a specific person, e.g. a person that wants to start working part time, are executed
on a local level.
Five times a year, Infrabel makes a schedule with all the alterations that have to be made
compared to the initial schedule for the coming period, cf. Figure 21. This is often the result
of maintenance or other adjustments that need to be executed for the railway infrastructure.
The schedule, i.e. the train timetable and accordingly the rolling stock and personnel schedule,
is then adapted for this period. These adjustments are communicated two months in advance
of the new period to the national planning. The official deadline for Infrabel to report these
alterations is ten days in advance for the coming period, but the biggest changes are
communicated two months in advance so the most important changes, e.g. a cancellation of
a train, can already be altered in the personnel schedule.
These changes are often solved by the programs NMBS uses for the scheduling, cf. black
frames in Figure 9. The changed train timetable, given by Infrabel, serves as a new input for
the program. Next, the program optimizes the lines of work that need to be worked and when
new pieces of work are created, these are manually added to an existing duty, taking into
account the regulations, constraints and agreements made with the labor union. This altered
duty is then communicated further to the local planning. The smaller changes usually consist
of extra minutes in travelling time for a certain route. These changes are thus easily adopted
40
in the personnel schedule and are then communicated to the local department. These small
changes are then printed on the duty paper represented in Figure 13 and can be executed by
the conductor executing that duty. The more invasive changes are communicated three to
eight weeks in advance to the local planning. The smaller changes, e.g. a train arriving in Ghent
at 10.20 AM instead of 10.18 AM, are passed on at the latest two days in advance.
Figure 21: Periodical changes of train timetables throughout the year
Changes that are related to a specific person, e.g. leave or part time workers, are executed on
a local level. These alterations are done manually and mostly solved by using personnel during
their flexible period incorporated in the set schedule of a local planning (Figure 20). So far this
has been sufficient to cover all person-specific changes.
4.3.4. Dealing with short-term disruptions
A disruption occurring in less than 24-hours is considered a disruption on the operational level.
Two organisms monitor the real-time operation: the national and local permanence (cf.
supra).
If a personnel member will not be able to execute his/her duty as foreseen, he/she has to
contact the appropriate permanence themselves. However, if the permanence notices a
considerable disruption, but is not contacted by a personnel member, they will contact the
affected person themselves. Nevertheless, the norm is that personnel needs to inform the
permanence. For train-specific situations, e.g. a delay, the central permanence needs to be
contacted. The local permanence needs to be notified for person-specific situations, e.g.
illness.
When a train-specific disruption occurs, it might be necessary to adapt the train traffic. This is
executed by the appropriate RDV and traffic control, as mentioned in Section 4.2.3. Once the
new traffic plan is ready, personnel can be rescheduled. However, when a person-specific
41
disruption occurs, there is no need to change the current traffic plan, unless it is not possible
to find a personnel member to assign to the uncovered duty and the train route needs to be
cancelled or adapted.
When a person cannot execute a duty, the appropriate permanence follows a certain action
plan to reschedule personnel. The following sequence is used to determine which personnel
member should be scheduled to cover the uncovered train path(s):
1) The permanence tries to find a person who is scheduled as assistant during the needed
period, who would be able to make the uncovered train path(s)
2) The permanence schedules a stand-by crew member, that is available at that specific
train depot or at a train depot that is nearby. When a stand-by crew member is not
available at the specific train depot, the person in question is transferred to the
required train depot by train or taxi.
3) The permanence schedules personnel that is on a rest day
4) The permanence needs to cancel the train.
All communication between the permanence and the affected persons is executed by
telephone. When a person’s duty changes, they are contacted by phone and informed about
the situation. When there is no other option than to schedule a personnel member on a rest
day, this happens in dialogue with the person in question. A person will not be asked to work
on a rest day, if he/she does not agree.
Occurrence of short-term disruptions
The occurrence of short-term disruptions can be divided in two main categories: person-
specific and train-specific disruptions. Person-specific disruptions are disruptions that are a
consequence of person-specific problems and are considered an internal factor. They are also
categorized as an open position in the Abdelghany et al. (2008) classification. Train-specific
disruptions are caused by incidents that prevent a certain train route to drive under the
foreseen circumstances. Train-specific disruptions can be both internal and external,
depending on the cause. Train-specific disruptions can either cause a misconnect violation, a
rest violation or a duty limit violation in the Abdelghany et al. (2008) classification.
42
Person-specific disruptions are mainly caused by illness of personnel. Absenteeism at NMBS
accounts for an average of 4%-6% (Guns, J. 2015). Sometimes this spikes to 8%-9%, during a
flu epidemic for example.
The causes for a train-specific disruption are more diverse. The most frequent disruption is a
delay of a train. As mentioned in Section 4.3.1., the causes of train-specific disruptions can be
divided into internal and external. Internal causes are technical failures of rolling stock or
infrastructure. External causes are: extreme weather condition, suicide attempts and people
walking alongside the railway, accidents on railway intersections, delayed trains operated by
a third party, i.e. Thalys, and power outages. The NMBS does not keep track of the
consequences these disruptions have on the personnel schedule. It is therefore not possible
to distinguish the different alterations made on the personnel schedule by the different
causes. As a result no distinction will be made between misconnect violation and rest
violation. Based on measurements during December 2015, there have been alterations to an
average of 200 duties per day for train conductors. The average number of duties on a
weekday is 1250, which means that 16% of the daily duties are altered because of a train-
specific problem.
In general, the punctuality of the railway company was 90.9% (NMBS., 2015.) in 2015. This
percentage represents all the train routes that arrived on time or had a delay of less than 6
minutes. When we account for external delays, e.g. strike and major railway construction, it
amounts to 95.8%. Therefore we can conclude that external causes and large railway work are
responsible for 4.9% of the trains that are delayed. The punctuality figures do not incorporate
the trains that were cancelled. In 2015, 1.86% of the trains were cancelled. Intuitively, it is
clear that all the cancelled trains result in an adapted personnel schedule. This is, however,
not always the case for delayed trains. Considering that 9.1% of the trains are delayed, there
is a 16% chance that these trains result in a disruption on the personnel schedule, i.e. a
misconnect violation or a duty limit violation.
4.4. Comparison between literature and NMBS
Section 4.4.1. compares the main characteristics of personnel scheduling found in literature
compared to the processes NMBS follows. Section 4.4.2. illustrates disruption management
described in literature in comparison with NMBS.
43
4.4.1. Personnel scheduling
The classification of Ernst et al. (2004a) is a good representation of the personnel scheduling
procedure executed by the NMBS. The first module, demand modeling, is very straightforward
and given by the train timetables from Infrabel. The demand is considered to be task-based
(cf. supra). The second module, days off scheduling, is executed together with module three,
four and five, i.e. shift scheduling, line of work construction and task assignment. These
models are executed by a mathematical program, see Figure 9, on the national level while
taking into account the different constraints NMBS imposes (Section 4.1.1). The program is an
exact optimization program that minimizes the cost, while covering all duties. As this step is
executed on the long-term, the computational effort that the program needs is not a concern.
Each task is characterized by a starting time, ending time and location. Module 6, staff
assignment, is executed on the local level, taking into account the staff preferences and
minimizing the cost.
To schedule all the stages of the Ernst et al. (2004a) classification, the company has developed
its own programs. The different programs for the different scheduling modules are indicated
by a black rectangle in Figure 9. As you can see, the conductors planning is executed with the
same program for asset planning and attribution. The nominative planning is, however,
executed on a local level in a later stage, using different functions of the same program. Using
the same program allows to consult and adapt the planning at different stages in the planning
process and by different departments. This results in a better integration over the different
stages. In the future, NMBS would like to develop such an integrated program for the train
drivers as well. Furthermore, the train drivers are scheduled together with the rolling stock.
This is the result of the fact that train drivers need specific knowledge and training for the
rolling stock they are driving. This means that not every train driver can always drive a certain
rolling stock.
Some of the programs NMBS uses are over 20 years old. This means that they are recurrently
adapted and never completely redeveloped from the beginning. The company itself indicates
that the biggest concern is that these systems are not integrated. The main objective of the
programs is to find a feasible solution at minimum cost, but as the different parts are
developed separately, it is possible that it does not have the overall optimal solution
incorporating all the different stages. If, for example, a train has to start in a train depot, but
44
there is no driver available at this train station then the company has to make sure that a
driver will be able to get to the train station, often incurring extra costs. NMBS is currently
developing a new integrated system to plan all these different steps. This is however still in
development and is not currently applied.
4.4.2. Disruption management
The first method to deal with disruptions is to prevent them. This can be done by making the
personnel schedule more robust. NMBS applies most methods described in literature to make
its planning robust. First, they incorporate flexible personnel. Second, they plan stand-by
crew. Finally, they add some slack time in their planning. Personnel has at least ten minutes
between two different tasks. However, NMBS does not incorporate the out-and-back method,
described by Kohl et al. (2007).
Next, NMBS keeps records for all the disruptions that occurred. These records contain
information about the disruption. First, it states which entity is responsible, e.g. NMBS,
Infrabel. Furthermore, it states the number of minutes the train was delayed or whether it
was cancelled and the changes that occurred in the duty timetables. An annual report is
conducted with the occurred causes per type of incident. This yearly report and analysis is
conducted by Infrabel. Based on the report, NMBS and Infrabel take appropriate actions if
necessary.
NMBS keeps track and monitors the real-time operations mainly as described by Clausen et
al. (2001) and Kohl et al. (2007). The operations are constantly monitored. When a deviation
that will cause a disruption occurs, the personnel member himself has to contact the
appropriate permanence. The actions that need to be taken are then evaluated and decided
on by the permanence. Next, the implementation, i.e. re-planning, is executed.
The Jespersen-Groth et al. (2009) framework is a good representation of the way NMBS deals
with disruptions. The network traffic control is executed by RDV and network operations
control is performed by traffic control, i.e. Infrabel. Both are operating under the government
and under certain conditions. NMBS has a management contract, that states the different
conditions. This contract states among other things the minimum amount of train routes that
need to be offered, the annual growth rate of passengers transported. If these conditions are
met, NMBS may raise their ticket prices the following year. The local traffic control is
45
conducted by personnel at the different train stations. As described in Jespersen-Groth et al.
(2009), RDV first conducts a new traffic plan, stating the new train route or another
alternative. Next, traffic control, i.e. NOC, and the local stations, i.e. LTC, check whether this
dispatching plan can be conducted. When there is an agreed upon dispatching plan, the rolling
stock and consecutive personnel is scheduled to cover the dispatching plan.
The difference between NMBS and what is stated in this framework, is that personnel
members themselves have to monitor whether a deviation results in a disruption and is thus
normally not centrally determined. Furthermore, this framework only applies for train-
specific disruptions. Person-specific disruptions are dealt with by the local permanence, thus
the NTC and NOC need not interfere.
46
5. Model for crew allocation of uncovered train paths
This part of the thesis develops a model that optimizes crew allocation of train drivers and
conductors to an uncovered duty. The uncovered duty is the result of a disruption on the
operational level. First, the problem definition and model is clarified (Section 5.1). Second, the
different steps that need to be executed to obtain a result are specified (Section 5.2). Third,
the findings and results are stated (Section 5.3). Furthermore, a general conclusion is drawn
(Section 5.4). Finally, some suggestions for further research are formulated (Section 5.5). Note
that the findings and results are applied to a conductors schedule, while Section 5.1 and 5.2
describe the general model that can be applied to both train drivers and conductors.
5.1. Problem description
Disruptions on the operational level compromise the workability of the personnel roster
(Section 3). The occurring disruption can be caused by either a person-specific or a train-
specific reason. Section 5.1.1. explains how the disrupted train paths are determined. Next,
Section 5.1.2. discusses the different possibilities to deal with a disrupted train path. Finally, a
model that deals with disruptions is defined in Section 5.1.3.
5.1.1. Input
A set of uncovered duties is the input for dealing with disruptions. These uncovered duties
consist of uncovered train paths. A train path that needs to be covered, is characterized by a
start time and an end time. The location of the train path and crewmembers are abstracted,
in order to reduce the problem size. As a result, crewmembers that are available at the time
of an uncovered train path can be allocated to this train path, even if the train path and the
crewmember are not situated at the same place, e.g. a train path Oostende-Eupen can be
covered by a crewmember that is available in Antwerpen. Furthermore, duties that solely
consist of train paths where the crewmember is scheduled as assistant or duties of stand-by
crewmembers are not considered as a disrupted duty. Consequently, only duties where the
absent person is scheduled as board chef are considered. This is the result of the fact that
operations might still pursue in the planned manner, even if these duties are not covered.
First, to obtain a set of uncovered duties due to person-specific reasons, 5% of personnel is
considered to be absent (Section 4.3.4). These 5% is determined by a Bernoulli distribution. A
unique random number is simulated for every personnel member. The crewmembers with the
47
lowest 5% of the numbers are considered to be absent. This gives a first set of uncovered
duties. These uncovered duties can be solved in two ways:
1. One crewmember of the available set covers the entire duty
2. The train paths of the uncovered duty are solved separately and are assigned to a
crewmember of the available set
The first option has less organizational consequences, while the second option might possibly
render a better solution.
Secondly, 16% of personnel duties are altered due to a train-specific disruption (Section
4.3.4.). This 16% contains both the alterations to the duties of crewmembers that can no
longer cover a train path and alterations to the duties of other crewmembers that are used to
deal with this disruption. Considering that half of this 16% is used to deal with the disruption,
only 8% of the alterations are the result of a train path that can no longer be covered by the
planned crewmember. Therefore, 8% of the duties are considered to contain a train path that
will not be covered by the scheduled crewmember. The duties that contain a disruption are
also determined by a Bernoulli distribution. A random unique number is generated for every
duty. The lowest 8% of these numbers, are considered to contain a disrupted train path. To
decide which train path of the assigned duty is uncovered, it is assumed that the first train
path of the first duty is uncovered, from the second duty the second train path etc. As a result,
a second set of uncovered train paths is obtained.
5.1.2. Possible coverages of disruptions
The model proposed in Section 5.1.3. can be applied to both train drivers and conductors. The
difference is that a parameter for obtained certificates to conduct a certain rolling stock is
needed for train drivers (in accordance with the operations of NMBS). This can, however, be
left out for conductors. A duty schedule for train drivers and conductors consists, on average,
of 4 to 5 train paths that need to be covered. When a disruption occurs, at least one train path
can no longer be covered by the scheduled crewmember and needs to be recovered. There
are 5 recovery actions available:
1. Scheduling a conductor that is free between two train paths during his/her duty. A
crewmember who only has considerable time between two train paths is added to the
48
available crew set. A crewmember needs some time to change from their previous
train path to the following train path, e.g. for displacement. Therefore, it is considered
that ten minutes after the last train path and ten minutes before the next train path of
a crewmember are used for displacement and cannot serve as free time to recover a
disruption. Furthermore, only crewmembers that have 20 minutes available time,
excluding displacement time, between two train paths are added to the available set.
Subsequently, crewmembers with at least 40 minutes time between two train paths
are considered, as 20 minutes are already subtracted for displacement. An example is
given in Figure 22.
2. Rescheduling a conductor that is scheduled as assistant on another train path at that
time. A personnel member that is scheduled as an assistant is considered available ten
minutes after the last train path as board chef until ten minutes before the next train
path as board chef, to incorporate displacement time.
3. Scheduling a stand-by crewmember that is available. A stand-by crewmember is
scheduled during an 8-hour period and the start of the period is determined by the
NMBS.
4. Scheduling a crewmember that has a rest day. Crewmembers with a rest day are
considered to be available between 4h-23h. This because covering disruptions is
executed on the operational level. Therefore, NMBS uses crewmembers on a rest day,
if necessary and with mutual consent. Note that a crewmember on a rest day is not
equal to a crewmember on a vacation day. Crewmembers on a vacation day cannot be
employed to deal with a disruptions. However, a crewmember on a rest day can.
5. Canceling the train path.
Figure 22: Free time indication
These recovery options result in an available set with all the possible crewmembers and their
available time. This set determines the solution space of the model.
49
5.1.3. Mathematical formulation
This section describes the linear model for crew allocation of uncovered train paths. The
model can be applied for one single day, regardless of which day. Furthermore, one disruption
can be solved solely or a group of disruptions, occurring on the same day, can be solved
together. However, the solution matrix of available crewmembers must be adapted
accordingly. This results in different general parameters of the model. Finally, the costs, which
are also considered general parameters, can be changed in accordance with the order of
importance. The goal of the model is to allocate the resource with the lowest cost.
The model considers the following steps. First, the crewmembers that are available to cover
train path i are determined and represented in set 𝑆𝑖. Furthermore, the certificates that these
crewmembers possess are determined. The model optimizes the allocation of a crewmember
to the uncovered duty, taking into account the different costs related to the different
crewmembers, the certificate that the uncovered duty needs and the costs of a train that is
late or cancelled. The decision variable 𝑥𝑖𝑗𝑘 represents whether a crewmember will cover the
train path and is equal to 1, if crewmember j, with certificate k, is allocated to cover train path
i, that needs certificate k, and is 0 otherwise. We assume that the planned schedule is known
and deterministic. In this respect, the available crewmembers for the uncovered train paths
consist of all the crewmembers that are available at the time that the train path needs to be
covered and are in possession of the certificate k which the train path needs. The available
crewmembers can consist of crewmembers that have time between two scheduled train
paths, crewmembers that are scheduled as assistant during that time, stand-by crewmembers
or crewmembers that have a rest day. Appropriate costs are assigned to each of these
crewmembers.
Sets
N set of train paths (index i)
S set of all crewmembers (index j)
K set of certificates (index k)
𝑆𝑖 set of available crewmembers (index j) in the system for train path i
50
General parameters
𝑎𝑗 ready time of crewmember j
𝑏𝑗𝑘 1, if crewmember j is in possession of certificate k
0, otherwise
𝐶𝑖𝑗 cost of assigning a crewmember j to train path i
𝐶′𝑖 cost of a one minute delay of train path i
𝐶′′𝑖 cost of a cancelled train path i
𝑡𝑖 scheduled departure time of train path i
𝑣𝑗 duty limit for crewmember j
𝑅𝑖𝑘 number of crewmembers required to cover train path i with certificate k
Decision variables
𝑥𝑖𝑗𝑘 1, if crewmember j, in possession of certificate k, is assigned to train path i, which needs
a certificate k
0, otherwise
𝑚𝑖 actual departure time of train path i
𝑛𝑖 actual arrival time of train path i
Minimize
∑ ∑ ∑ 𝐶𝑖𝑗𝑥𝑖𝑗𝑘
𝑘 ∈ 𝐾𝑗 ∈ 𝑆𝑖 ∈ 𝑁
+ ∑ 𝐶′𝑖[𝑚𝑖 − 𝑡𝑖]
𝑖 ∈ 𝑁
+ ∑ ∑ ∑ 𝐶′′𝑖(𝑅𝑖𝑘 − 𝑥𝑖𝑗𝑘)
𝑘 ∈ 𝐾𝑗 ∈ 𝑆𝑖 ∈𝑁
(1)
Subject to
∑ 𝑏𝑗𝑘𝑥𝑖𝑗𝑘 𝑗 ∈ 𝑆 ≤ 𝑅𝑖𝑘 ∀ 𝑖 ∈ 𝑁 , ∀ 𝑘 ∈ 𝐾 (2)
𝑚𝑖 − ∑ 𝑎𝑗𝑥𝑖𝑗𝑘𝑗 ∈𝑆 ≥ 0 ∀ 𝑖 ∈ 𝑁, ∀ 𝑘 ∈ 𝐾 (3)
𝑚𝑖 − 𝑡𝑖 ≥ 0 ∀ 𝑖 ∈ 𝑁 (4)
𝑛𝑖 ≤ 𝑣𝑗𝑥𝑖𝑗𝑘 ∀ 𝑖 ∈ 𝑁, ∀ 𝑗 ∈ 𝑆𝑖, ∀ 𝑘 ∈ 𝐾 (5)
𝑥𝑖𝑗𝑘 ∈ {0,1} ∀ 𝑖 ∈ 𝑁, ∀ 𝑗 ∈ 𝑆𝑖, ∀ 𝑘 ∈ 𝐾 (6)
𝑚𝑖, 𝑛𝑖 ≥ 0 ∀ 𝑖 ∈ 𝑁
51
The model optimizes the allocation of a crewmember to the uncovered duty, taking into
account the different costs related to the different crewmembers, the certificates a
crewmember possesses and the costs of a train that is late or cancelled Eq. (1). Eq. (2) denotes
that the maximum required number of crewmembers with certificate k of the available
crewmembers can be assigned to cover train path i. Furthermore, it is also possible that no
crewmember is assigned, hence the train path is cancelled. Eq. (3) imposes that the ready time
of crewmember j that is assigned to train path i, will not be later than the actual departure
time of train path i. Furthermore, Eq. (4) ensures that train path i cannot depart before the
scheduled departure time. Next, Eq. (5) makes sure that the assigned crewmember j does not
exceed his/her duty limit 𝑣𝑗 , if assigned to train path i. Finally eq. (6) represents the non-
negativity constraints.
Note that the model does not consider the labor costs per hour. The goal of the model is to
allocate the cheapest resource to an uncovered train path. Therefore, the model only
considers a general fixed cost assigned to a crewmember rather than labor cost. Hence, it will
not be more expensive to allocate a stand-by crewmember for eight hours than for one hour.
5.2. Solution approach
The purpose of the model is to allocate a crewmember to a set of uncovered train paths, at
the lowest cost. To obtain the result of this model (Section 5.3), certain input and
preprocessing steps need to be executed. The nominative personnel schedule of the Brussels
train depot is used as input. Two different solution approaches are used. First, the person-
specific disruptions are solved before the train-specific disruptions (Section 5.2.1). Second,
both person-specific and train-specific disruptions are solved simultaneously. In that case, the
disruptions are solved one by one, in chronological order (Section 5.2.2.).
52
5.2.1. Sequential solution for person-specific disruptions and train-
specific disruptions
This section describes the solution approach that will be handled when person-specific
disruptions are handled first and train-specific disruptions thereafter, and this during one day.
1. Sort data
The first step to obtain a result, is to sort the data. A list with all the crewmembers, their
obtained certificates and assigned duties is given. From this list, only the crewmembers with
either a duty or a rest day are withheld. This serves as the input to determine which duties are
disrupted. Next, the available hours of these crewmembers on a certain day are determined
and listed. This can be either as a free crewmember, assistant, stand-by crewmember or rest
day (Section 5.1.1). This results in a global available set for that day, which provides the
solution space.
2. Person-specific disruptions
The second step contains simulating disrupted train paths, based on data given in Section
4.3.4. This is executed at the beginning of the day, before the daily operations start. All
personnel that are considered ill that day, are determined and solved together. First,
personnel that is ill is determined (Section 5.1.1). The probability of personnel being ill at
NMBS equals 5%. Second, the availability set is adapted, as all personnel that are ill, are no
longer considered to be available. Third, available crewmembers are allocated to the
uncovered duties caused by these person-specific disruptions.
The allocation of the crewmembers to the uncovered duties is executed with the Microsoft
Excel solver and optimizes the costs. The Microsoft Excel solver is limited, therefore it is not
always possible to give the entire set of uncovered train paths as input. For that reason, the
program is executed with the maximum amount of train paths or duties and then solved a
second time, excluding the personnel members that are already allocated to the train paths
or duties from the previous step. As a result, it is possible that the final result might not be the
optimum as the model is executed in several stages and it is not possible to change the
decisions from the previous steps. To minimize the chance of a suboptimal result, the train
paths or duties that occur around the same time span are grouped together to solve.
53
Finally, the available set is adapted once more, as the crewmembers that are allocated to the
uncovered duties are also no longer available for the time of the uncovered duty.
3. Train-specific disruptions
The third step consists of simulating the train-specific disruptions. 16% of the duties are
altered. Considering that half is used to solve a disruption, only 8% of the changes entail a
crewmember no longer being able to cover a train path. Thus 8% of the duties are selected,
from which at least one train path is no longer covered by the scheduled crewmember. To
decide which train path is uncovered, it is assumed that the first train path of the first duty is
uncovered, the second duty of the second train path etc. (Section 5.1.2). When a crewmember
is scheduled as assistant on the disrupted train path, the train path is not added to the set of
uncovered train paths. The availability of an assistant is considered not crucial to conducting
a train path. Once known which train paths are no longer covered, the allocation of
crewmembers to these uncovered train paths is optimized in the Microsoft Excel solver. The
excel solver is limited, therefore the model will again need to be executed in several steps, as
explained above.
5.2.2. Simultaneous solution of person-specific disruptions and train-
specific disruptions
This section discusses the different steps that are undertaken when person-specific and train-
specific disruptions are not handled after each other, but when both sorts of disruptions are
solved together in chronological order.
1. Sort data
This step is similar to Section 5.3.1. A list with all the available crewmembers, their obtained
certificates, assigned duties and available hours of a certain day is obtained. This provides the
solution space of the model. Furthermore, the data is used to determine which train paths are
no longer covered by the scheduled crewmember.
2. Simulate and solve disruptions
Similar to Section 5.3.1 the different disruptions that occur on a day are simulated. However,
both person-specific and train-specific disruption are simulated beforehand. The person-
specific disruptions are divided into train paths the personnel member needs to guide.
54
Therefore, only uncovered train paths serve as input. Thereafter, the disruptions are solved
one by one by the model in order of occurrence. It is assumed that 5% of personnel members
are ill and there are daily 8% train-specific disruptions (Section 4.3.4). These disruptions are
simulated with a Bernoulli distribution (Section 5.1.2).
5.3. Results
This section analyzes the obtained results from the model. First, the data is sorted and
discussed (Section 5.3.1), as this is an identical step for both solution approaches. Second, the
model is solved for person-specific disruptions and train-specific disruptions sequentially
(Section 5.3.2). Finally, the model solves person-specific and train-specific disruptions
together in chronological order (Section 5.3.3).
The model is applied on the conductors schedule from the Brussels train depot. Therefore, the
model does not need to consider the obtained certificates of the crewmembers, as these are
not necessary for train conductors (in accordance with NMBS). Furthermore, the model will
solve one representative day, i.e. Monday, as the same duties occur every weekday in the
conductors schedule, obtained by NMBS. Finally, each approach is tested for at least 10
different simulations.
5.3.1. Sort data
This Section discusses the data obtained from NMBS to execute the model on a train
conductors’ schedule. The collected data stems from January 2016. The data contains the
nominative planning of the conductors at the Brussels train depot. It will be used at two
different stages. First, the data will serve to determine which disruptions will occur, thus which
duty or train path will no longer be covered by a certain crewmember. Second, the data will
give us a solution matrix, containing the availability of the different crewmembers to solve a
disruption. Personnel members that are on holiday or have another reason for absence, are
not included in the data set. On Monday, there are 95 duties that need to be executed by
crewmembers and 35 crewmembers who are scheduled to be on a rest day, but can be
included in the solution matrix. The same amount of duties needs to be executed on the other
weekdays, but the amount of people on a rest day varies between 31 and 38. The number of
personnel members scheduled on a rest day, depends on the amount of vacation days
assigned to the remaining crewmembers. For example, a personnel member that is scheduled
55
on a rest day for two consecutive days, but takes a vacation day on one of those two days,
results in a lower amount of crewmembers on a rest day. Personnel members that have a rest
day are considered to be available between 4h-23h if necessary, to deal with a disruption. This
may, however, result in a duty limit violation as a crewmember might have had a duty the day
before until 23h. The assumption is made that these duty limits might be violated on the
operational level, if the crewmember agrees, which is in accordance with the operations at
NMBS. The solution matrix is displayed in Table A in the appendix.
In total, there are 120 different possibilities to cover a train path spread over the entire day,
i.e. Table A in Appendix. The possibilities range from personnel members that are free,
scheduled as assistant, stand-by crewmembers and crewmembers on a rest day. The
possibilities, displayed in this Table, present the time a crewmember is free, assistant, stand-
by crewmember or on a rest day, for each uninterrupted time period. Therefore, it is possible
that a crewmember appears twice in the Table. For example, a crewmember who is scheduled
as assistant for two train paths during a day, but these train paths do not occur successively
and the crewmember is scheduled as board chef to another train path in between: this means
that the crewmember appears twice in the Table. Furthermore, these 120 possibilities have
different time spans of availability. The availability of the crewmembers range between 20
minutes and 8 hours.
This Table serves as input for the model. The crewmembers that are available for a longer time
span are not subdivided into smaller available time spans. Splitting up time reduces the
solution possibilities. For example, a train path that needs to be covered from 7h-9h can be
covered by a crewmember available from 5h-12h. However, if the crewmembers’ available
time would be split to 5h-8h and 8h-12h, the crewmember would no longer be considered to
cover the train path. Whenever the model assigns a crewmember to a train path, the available
time of that particular crewmember is adapted accordingly. For example, a crewmember is
available between 9h and 12h. The model assigns an uncovered train path to this crewmember
from 9h30-10h, then the crewmember remains in the available set from 10h10 until 12h. Note
that the crewmember is considered available from 10h10 instead of 10h, to encounter
displacement time.
56
The Table shows that there are 35 personnel members scheduled on a rest day. Assistants
appear 58 times. Sometimes an assistant is only available for 20 minutes, other times an
assistant is available for an entire day, e.g. duty 603. The time a crewmember is free is
noticeably shorter than for any other type of crewmember, making it less likely that they will
be able to cover many duties or train paths. Furthermore, 4 stand-by crewmembers are in
place, covering the following hours: 3h45-12h00, 5h30-13h45, 10h30-20h45, 17h15-1h30.
The Table is representative for any weekday at the Brussels train depot. The person’s ID
changes according to the day, but the available set remains the same. During the weekend,
less duties are performed, therefore more crewmembers on a rest day would be included in
the available set and less crewmembers that are free or scheduled as assistant. The number
of stand-by crewmembers, however, remains the same.
5.3.2. Results person-specific disruptions and train-specific sequentially
This section discusses the results, when person-specific and train-specific disruptions are
solved sequentially. First, Section 5.3.2.1. examines the results of solving person-specific
disruptions. Second, the outcome of solving train-specific disruptions after solving person-
specific disruptions, is discussed in Section 5.3.2.2. Finally, a comparison is made between the
results of solving person-specific and train-specific disruptions in Section 5.3.2.3.
5.3.2.1. Person-specific disruptions
Person-specific disruptions occur due to absenteeism of personnel. This amounts to 5% at
NMBS. This causes uncovered duties and train paths. To solve these uncovered duties and
train paths with the model, different costs are assigned to the types of crewmembers, to
cancellation and delay of train paths. The model will be tested with varying costs assigned to
the different types of crewmembers, i.e. general parameters. Section 5.3.2.1.1, assigns these
costs taking into account the order, of types of crewmembers, NMBS uses to allocate a
crewmember to a disruption (Section 4.3.4). Furthermore, this section compares the result of
covering an entire duty of an absent crewmember by another crewmember or allocating each
train path of an uncovered duty separately. Finally, the results of 5% absenteeism to 8%, i.e.
flu epidemic period, are discussed. Section 5.3.2.1.2 changes the costs and researches the
results.
57
5.3.2.1.1. Costs in accordance with NMBS
In this section the costs are allocated with respect to the order NMBS uses, discussed in
Section 4.3.4. The costs are set to:
5 for crewmembers that are free between two train paths
10 for crewmembers that are scheduled as assistant
30 for stand-by crewmembers
50 for crewmembers on a rest day
4 for every minute delay
250 for a cancelled train path/ duty
These costs reflect the protocol NMBS uses. However, NMBS does not use crewmembers that
are free between two train paths, as this is too complex when considering location
displacement. This model does not take location into account and thus easily makes use of
crewmembers that are free between two train paths.
The cost for a minute delay is set at 4. This is due to the fact that, if there is a crewmember
free 6 minutes after the scheduled departure time, it would cost 29 to allocate this person and
delay the train 6 minutes. Whereas, it costs 30 to assign a stand-by crewmember to the
uncovered train path. Therefore, the model would opt to assign the crewmember that is free
and delay the train. A train path with a delay of 6 minutes is still considered on time, by NMBS.
Therefore, allocating a cost of 4 to a delay, might result in the allocation of a free crewmember
and a train path that is still considered on time. However, when the delay would be more than
6 minutes and the train path is thus no longer considered to be on time, the model will allocate
a stand-by crewmember, if possible, and will not delay the train.
The cost of a cancellation is set at 250. This rather high cost makes sure that the model does
not opt for a cancellation unless no other option is possible.
Two approaches are handled to solve the model. First, the entire duty of an absent
crewmember is to be covered by another crewmember. This results in less organizational
concerns, as only one crewmember is assigned to the entire duty. Second, a crewmember for
every train path the absent crewmember needed to guide, is allocated. Finally, a comparison
between the two approaches and conclusions are drawn.
58
Coverage of entire duty
This section solves the model by allocating a single crewmember to an entire duty that is
uncovered due to a person-specific disruption. Ten simulations are performed, for which the
absent crewmembers are determined by the Bernoulli distribution, depending on the
absenteeism rate.
1. 5% absenteeism
The results of covering an entire duty with a 5% absenteeism rate are displayed in Table 1.
Simulation run 1 2 3 4 5 6 7 8 9 10 Total Percentage
Total number of
uncovered duties 3 4 2 4 4 6 4 2 4 4 37 100%
Number of free
crewmembers 0 0 0 0 0 0 0 0 0 0 0 0%
Number of assistants 1 0 0 1 1 0 1 0 1 0 5
14%
Number of stand-by
crewmembers 1 1 0 1 0 1 0 0 1 1 6 16%
Number of rest
crewmembers 1 3 2 2 2 3 3 1 1 3 21 57%
Number of
cancellations 0 0 0 0 1 2 0 1 0 0 4 11%
Number of delays 0 0 0 0 0 0 0 0 0 0 0
Table 1: Coverage of entire duty (5% absenteeism)
The Table shows which crewmember the model has assigned to the uncovered duties. The
number of uncovered duties differs according to the simulation number. On average there are
3.7 crewmembers absent of the 95 crewmembers that perform a duty at the Brussels train
depot.
The Table shows that not a single crewmember that is free between two train paths is
allocated to a duty. This is due to the fact that an entire duty covers, on average, 8 hours and
not a single crewmember is free for 8 hours between two train paths. The number of assistants
allocated to an uncovered duty is equal to 6. Of the 37 uncovered duties this accounts for 14%.
The Brussels train depot duty’s roster includes 6 duties, where the crewmember is scheduled
59
as an assistant the entire day. As a result, these crewmembers can be allocated to cover an
entire duty. Stand-by crewmembers are also frequently used. They cover 16% of the
uncovered duties. The crewmembers that are used most often, are crewmembers that are on
a rest day. They are allocated to 57% of the uncovered duties. This outcome is the result of
several factors. First, rest day crewmembers are considered to be available from 04h-23h. This
makes sure that most uncovered duties can be at least covered by a crewmember on a rest
day. Second, stand-by crewmembers are only available at a certain time span, which covers at
most 8 hours, determined by the duty schedule of NMBS. Finally, the unavailability of free
crewmembers for an entire day or duty causes free crewmembers to never be allocated to an
uncovered duty.
11% of the duties would need to be cancelled. This is a high percentage, especially if you
consider that a duty consists of several train paths. These cancellations are caused by the fact
that no crewmember is available during the time span of the uncovered duty. All the cancelled
duties are scheduled to start before 4h or end after 23h. However, changing the availability of
the crewmembers on a rest day to 0h-23h59, results in all the cancelled duties to be allocated
to a crewmember on a rest day. Therefore, the number of rest crewmembers assigned to an
uncovered duty would increase to 25 and thus represent 68% (Table B in appendix).
The cost, i.e. objective function, for the different simulations is given in Figure 23.
Figure 23: Cost person-specific disruptions per duty (5% absenteeism)
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10
Co
st
Simulation run
Total objective function persimulation
Average cost of uncovered duty persimulation
Average of objective function
Average cost of uncovered duty
60
The orange bar represents the total cost of covering all the duties in a simulation. This is equal
to the objective function of the model. The green bar displays the average cost of covering
one duty of that simulation. This is calculated by dividing the total cost (represented by the
orange bars) by the number of uncovered duties in that simulation. The average cost of
assigning an uncovered duty renders a more accurate result, as the total does not take into
account that certain simulations cover 6 duties and others only 2. The average of the objective
function over all 10 simulations is 233 and is represented by the blue line. The average of the
green bars over the 10 simulations is equal to 63.33 and is displayed by the grey line.
The simulations that include one or more cancellations, i.e. simulations 5, 6 and 8, have a
noticeably higher cost, both in total and on average. The graph shows that the average cost
over the 10 simulations are highly influenced by the simulations with a cancellation, as the
costs of the other simulations are far below the average. This is the result of the fact that no
crewmember is available during that duty. The only option is to allocate a crewmember on a
rest day, but these are considered to only be available between 4h-23h. To conclude, not being
able to allocate crewmembers on a rest day, during the whole day, has a large impact on the
costs. To compare, we display the results, in the case it is possible to allocate crewmembers
on a rest day, whenever suited. This is shown in Figure 24 (i.e. Table B in appendix).
Figure 24: Cost person-specific disruptions per duty (5% absenteeism, without cancellations)
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10
Co
st
Simulation run
Total objective function persimulation
Average cost of uncovered dutyper simulation
Average of objective function
Average cost of uncovered duty
61
When replacing the cancelled duties with an allocation of a crewmember on a rest day, the
total objective function decreases for simulation 5, 6 and 8, which are the only simulations
that incurred a cancellation. The average of the objective function now amounts to 153, which
is a decrease of 80 or 34.34%. The average cost of allocating a crewmember to an uncovered
duty is 41.67, this is a decrease of 21.66 or 34.20%. Figure 24 clearly states that the total cost
is the highest for the simulations that need to cover the highest number of duties, i.e.
simulation 6. The average cost of covering an uncovered duty for the different simulations do
differ less than for Figure 23. The standard deviation of the average cost of an uncovered duty
is now 6.45, whereas it amounted to 38.51 before.
Furthermore, simulation 1, 4 and 9 render the lowest average cost for covering a duty. All
three simulations allocate at least one assistant and one stand-by crewmember. As these
simulations only cover 3 or 4 duties, the low cost of these allocations have a significant weight
in the average. The simulations with the highest average cost of covering a duty, are
simulation 3 and 8. Both simulations can only allocate rest crewmembers to their uncovered
duties.
2. 8% absenteeism
During certain periods, the absenteeism rate increases to 8%, e.g. during a flu epidemic. The
ten simulations executed before, are now applied with an absenteeism factor of 8%. The
assumption is made that crewmembers on a rest day are available the entire day, i.e. 0h-
23h59. The results are displayed in Table 2.
62
Simulation run 1 2 3 4 5 6 7 8 9 10 Total Percentage
Total number of
uncovered duties 6 4 5 4 8 8 6 5 7 5 58 100%
Number of free
crewmembers 1 0 0 0 0 0 0 0 0 0 1 2%
Number of
assistants 1 0 0 1 2 0 1 0 1 0 6 10%
Number of stand-
by crewmembers 1 1 2 0 1 1 1 0 1 2 10 17%
Number of rest
crewmembers 3 3 3 3 5 7 4 5 5 3 41 71%
Number of delays 0 0 0 0 0 0 0 0 0 0 0
Table 2: Coverage of entire duty (8% absenteeism, without cancellations)
The number of uncovered duties increases from 37 to 58. This is an augmentation of 57%.
Note that simulation 2 still has only 4 uncovered duties. This is due to the fact that 2 other
duties were also uncovered, but one of these duties included the duty of a stand-by
crewmember and the second duty was a duty where the crewmember was only scheduled as
assistant. Therefore, these duties were not incorporated.
The percentage of the different crewmember types that are used to cover the duties, are
similar to the percentages with a 5% absenteeism rate. The main difference is that one
crewmember in his/her free time is allocated. Furthermore, the number of allocated assistants
is slightly decreased and the number of stand-by crewmembers somewhat increased. Finally,
the number of crewmembers on a rest day allocated to an uncovered duty is also similar, i.e.
71% and 68% respectively, considering that all the cancellations are covered by crewmembers
on a rest day, for the 5% absenteeism. To conclude, when looking at the percentages, the
same distribution of allocating crewmember types to uncovered duties is found for 5% and
8% absenteeism.
The resulting costs of an absenteeism percentage of 8% is displayed in Figure 25.
63
Figure 25: Cost person-specific disruptions per duty (8% absenteeism, without cancellation)
The average total cost is equal to 241.5. This cost was 153 with an absenteeism factor of 5%.
We can conclude that an increase of 3 percentage points of the absenteeism factor, results in
an increase of 58% in total cost.
The average cost of an uncovered duty increases slightly from 41.6 to 41.8, but can be
considered negligible. Concluding that an increase of absenteeism does not increase the
average cost of covering a duty.
Coverage per train path
This section solves the person-specific disruptions by dividing an uncovered duty into the
specific train paths that need to be covered. Note that only duties where the absent person
was scheduled as board chef are considered; the train paths where the person was scheduled
as assistant are not dealt with. The same holds true for the duty of a stand-by crewmember.
As a stand-by crewmember does not have a predefined schedule of train paths, a solution
cannot be clarified. Similar to the previous section, the implications of both 5% and 8%
absenteeism are discussed.
1. 5% absenteeism
The result of 10 simulations with an absenteeism rate of 5% is represented in Table 3. In total,
over the ten simulations, there are 136 uncovered train paths that need to be dealt with. On
average there are 13.6 uncovered train paths per simulation.
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10
Co
st
Simulation run
Total objective functionn persimulation
Average cost of uncovered dutyper simulation
Average of objective function
Average cost of uncovered duty
64
Simulation run 1 2 3 4 5 6 7 8 9 10 Total Percentage
Total number of
uncovered train
paths
7 16 11 17 15 21 12 6 17 14 136 100%
Number of free
crewmembers 1 2 3 1 2 3 0 3 1 2 18 14%
Number of
assistents 4 11 8 13 11 12 8 2 12 9 90 66%
Number of stand-
by crewmembers 0 3 0 3 2 5 3 1 3 2 22 16%
Number of rest
crewmembers 1 0 0 0 0 1 1 0 1 1 5 4%
Number of
cancellations 0 0 0 0 0 0 0 0 0 0 0 0%
Number of delays 0 0 0 0 1 0 0 0 0 1
Table 3: Coverage per train path (5% absenteeism)
The crewmember that is most often scheduled to deal with a disruption, is an assistant. They
are allocated to an uncovered train path in 67% of the cases. This has two main reasons. First,
there are many assistants scheduled during the day, which gives a large solution space.
Secondly, these assistants are scheduled throughout the entire day for mostly more than one
hour. As a result, many uncovered train paths, regardless of the time of the day, can be
covered by rescheduling an assistant to the uncovered train path.
The crewmember that is allocated to an uncovered train path the most frequently, after
assistants, are stand-by crewmembers. They are scheduled in 16% of the cases. Furthermore,
crewmembers with free time between two train paths deal with 14% of the uncovered train
paths.
There are notably few crewmembers on a rest day scheduled, i.e. 4%. This is due to the fact
that they are more costly. Thus, if it is possible to allocate another type of crewmember to the
uncovered train path, the program will never schedule a crewmember on a rest day (the costs
are displayed in Figure 26). Furthermore, it is very important to note that there are no
cancellations. The time of one train path fits more easily into the available time of
crewmembers, resulting in no cancellations.
65
The last number in the Table is the number of times a train path would be delayed. In total 2
train paths would be delayed. The first time, a crewmember with free time is allocated to a
train path. The crewmember is only available one minute after the scheduled departure time
of the train path, thus the train path is one minute delayed. The second time, an assistant is
allocated to a train path and the train is delayed for 9 minutes.
The results, concerning the costs, are represented in Figure 26.
Figure 26: Cost person-specific disruptions per train path (5% absenteeism)
The total cost of allocating the uncovered train paths, for every simulation, is displayed by the
orange bars. This is highly influenced by the number of train paths a certain simulation needs
to cover. Therefore, the average cost for assigning a crewmember to a train path for every
simulation, is highlighted by the green bars. Furthermore, the average of the total cost of the
10 simulations is represented by the blue line and the average cost of an uncovered train path
is displayed by the grey line. These are 203.5 and 15.73 respectively.
The highest total cost is registered for the simulations with the highest number of train paths
that need to be dealt with, i.e. simulation 6, 4 and 9. However, the average cost of these
simulations do not necessarily render the highest result. The result is highly dependent on the
type of crewmembers that is allocated. The average cost of solving an uncovered train path is
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10
Co
st
Simulation run
Total objective function persimulation
Average cost of uncovered dutyper simulation
Average of objective function
Average cost of uncovered duty
66
the highest for simulation 7, where there are no free crewmembers available and some rest
and stand-by crewmembers need to be assigned. The lowest average cost is obtained by
simulation 3. This is the result of the fact that simulation 3 does not allocate any stand-by or
rest crewmembers. The standard deviation of the average cost over the 10 simulations is equal
to 1.7𝐸−15.
2. 8% absenteeism
The absenteeism rate augments to 8% during some periods. The results of incorporating this
rate are shown in Table 4.
Simulation run 1 2 3 4 5 6 7 8 9 10 Total Percentage
Total number of
uncovered train
paths
19 16 20 19 32 28 20 13 29 22 218 100%
Number of free
crewmembers 7 2 4 1 5 3 1 3 1 3 30 14%
Number of
assistants 10 11 8 9 22 14 11 8 15 12 120 55%
Number of stand-by
crewmembers 2 2 5 7 4 7 7 1 11 3 48 22%
Number of rest
crewmembers 0 1 3 2 1 4 1 1 2 4 20 9%
Number of delays 2 0 0 0 1 1 1 0 0 1
Table 4: Coverage per train path (8% absenteeism)
It is noticeable that the number of assistants has a decline of 15 percentage points and the
number of stand-by crewmembers an increase of 5 percentage points, compared to a 5%
absenteeism rate. This is caused by the increasing number of train paths that need to be
covered. Furthermore, more train paths in the same time span need to be covered. As a result,
there are not always enough assistants available in the same time span, causing the program
to allocate stand-by crewmembers. Additionally, the number of rest crewmembers has also
increased slightly. This is also due to the fact that there are more train paths that need to be
covered in the same time span. As a result, assistants or stand-by crewmembers are already
allocated to another train path.
67
In comparison with a 5% absenteeism, more delays are used. Two delays are used in the first
simulation. The first delay amounts to 11 minutes and is used to delay a train path, where a
crewmember that is available between two train paths is allocated. The second delay, is also
equal to 11 minutes and is used to delay a train, where an assistant is allocated to. The delays
in the other simulations are 2, 3 and 6 minutes.
The costs are displayed in Figure 27. The average total cost is equal to 390.6. This is an increase
of 91.94% compared to the numbers with an absenteeism rate of 5%. This is a high increase
as the absenteeism rate has only augmented with 3 percentage points. This is a result of the
higher percentage of stand-by crewmembers that are used and a decreasing percentage of
assistants. The average cost per train path is 17.03. This is an increase of 1.03 or 8.26%.
Figure 27: Cost person-specific disruptions per train path (8% absenteeism)
Comparison between coverage of an entire duty and coverage of train paths
This part discusses the main findings and differences between covering an entire duty or
dealing with the individual train paths of the duty.
Looking at the types of crewmembers that are allocated to either an entire duty or the train
paths that are included in a duty, with a 5% absenteeism rate, it is clear that both methods
render a different result. First, when covering train paths, 66% of the train paths are assigned
to assistants and 14% to free crewmembers. Whereas this is 14% and 0% for allocating duties.
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10
Co
st
Simulation run
Total objective function persimulation
Average cost of uncovered trainpath per simulation
Average of objective function
Average cost of uncovered trainpath
68
These resources have the lowest cost and are thus considered to be the best option.
Furthermore, the number of cancellations and rest crewmembers is also considerably higher
for assigning duties, i.e. 11% and 57%, instead of train paths, i.e. 0% and 4%. Note that the
cost of cancelling a duty is a fixed cost and does not increase when one duty includes more
train paths than another. To conclude, it is clear that covering train paths mainly makes use of
free crewmembers and assistants, whereas covering duties most often allocates
crewmembers on a rest day. Consequently, covering duties will have a higher cost, as it is
more expensive to allocate a crewmember on a rest day than free crewmembers and
assistants.
These results are also reflected in the costs. The average total cost of covering entire duties is
233, while for covering train paths this is equal to 203.5. This is a difference of 29.5 or 14.5%.
This difference is not as high as one might expect. This is due to the fact that there are more
train paths that need to be covered than duties. The model assigns a cost whenever it is able
to allocate or cancel a duty/train path and does not take into account the number of hours a
crewmember needs to work. This is the result of the fact that the models’ goal is to assign the
cheapest resource. Therefore, this can be considered a big difference, as there are many more
train paths that need to be covered than duties and the total costs are still lower. The average
cost of covering a duty amounts to 63.33, while for train paths this is equal to 15.73. A duty
covers on average 4 train paths, therefore, the cost of covering an entire duty by subdividing
it into train paths is equal to 62.92.
Considering an absenteeism rate of 8%, these differences remain. The main difference for
covering train paths is that the number of assistants declines and the number of stand-by and
rest crewmembers increases. As a result, the average objective function of covering train
paths increases 91.94%. Covering duties gives the same distribution of crewmember types
that are allocated. The average objective function of covering a duty increases with 58%.
However, the average cost of covering a train path, i.e. 17.03, is still considerably lower than
covering an entire duty, i.e. 41.8, which considers that a rest crewmember is available the
entire day.
To conclude, it is clear that covering train paths instead of entire duties renders the best result.
The costs are lower and the number of cancelled trains equals to zero, which results in a better
69
service to the customers. Furthermore, less crewmembers on a rest day are assigned and they
do not need to be available the entire day. This creates better personnel satisfaction.
Therefore, the following parts of this research will cover train paths. It is important to note
that the crewmembers assigned to the person-specific disruptions, limit the solution space to
solve train-specific disruptions. Assistants and stand-by crewmembers are already often
allocated to a train path, in order to solve a person-specific disruption. Therefore, they will
not be available anymore during their entire initial available time span.
5.3.2.1.2. Cost simulation
The costs used in the previous section are defined based on the steps NMBS undertakes to
deal with a disruption. This part investigates the results of the model, when these costs are
assigned another value. The disruptions that we use as input for the simulation, are
disruptions occurring with a 5% absenteeism rate and are solved by disaggregating the duties
into the train paths that need to be allocated to a new crewmember. Furthermore, it is
assumed that crewmembers on a rest day are available between 04h-23h.
The general parameters assigned to the costs can be divided into two groups. The first group
contains the costs of the different types of crewmembers and the cost of a cancellation. When
the model cannot assign a delay, the model will always try to allocate the cheapest type. The
second cost encompasses the cost of a delay. Whether or not the model will use a delay
depends on the relationship between the cost of the different types of crewmembers and the
cost of a delay or a cancellation. The results of different costs of crewmembers and
cancellation will be discussed first. Next, the relationship between a delay and the costs of
crewmembers and a cancellation will be analyzed.
1. Crewmember and cancellation cost
The results of changing the costs of the different crewmember types and cancellation do not
render unexpected results. The cost scenarios that are used are given in Table C in appendix.
The model will always allocate the cheapest resources whenever possible. For example, when
cancellation or a crewmember on a rest day are set as the cheapest source, the model will
always allocate a cancellation or a rest crewmember. It will never occur that a crewmember
that has free time between two train paths, an assistant or a stand-by crewmember will be
allocated. This is the result of the fact that there are enough crewmembers on a rest day
70
available in the solution space (Table A, appendix) to cover all the disruptions. Furthermore,
cancellations can always be executed.
In case free crewmembers, assistants or stand-by crewmembers have the lowest cost, the
model will not always allocate them to a train path. This is also the result of the solution space
(Table A, appendix), where there is not always a free crewmember, assistant or stand-by
crewmember available at the time slot of the uncovered train path. Especially when several
train paths that need to be dealt with occur around the same time. Therefore, it is possible
that the model will assign a more expensive crewmember on a rest day or a cancellation.
Additionally, changing the relative costs between the different types, does not render other
results, as no other variable or parameter makes a connection between the different
resources. Table 5 represents two different cost scenarios. Although the costs are differently
interrelated with each other, both scenario’s would allocate the same type of crewmember
or cancellation to a train path. The only difference would be the total cost and the average
cost of dealing with an uncovered train path.
Type Costs Scenario 1 Scenario 2
Free crewmember 5 1
Assistant 20 2
Stand-by crewmember 50 3
Rest crewmember 100 4
Cancellation 150 5
Table 5: Cost scenarios crewmember types and cancellation
Taking into account that the train-specific disruptions still need to be solved, it can be
interesting to change the costs assigned to the different type of crewmembers. In order to
have more crewmembers of a certain type left to deal with train-specific disruptions, the cost
for this type can be set higher than the other. For example, it might be beneficial to keep the
stand-by crewmembers for dealing with train-specific disruptions. Therefore, the costs of a
stand-by crewmember can be set higher than a free crewmember, an assistant, a
crewmember on a rest day and even a cancellation if needed. To conclude, the costs assigned
to the different resources influence the solution space for the train-specific disruptions.
71
2. Cost of a delay
Including or allowing a delay makes the model more complex. A delay might cause the
program to allocate a cheaper crewmember that is not immediately available at the scheduled
departure time of the train path. Whether or not this will be the case depends on the cost of
the different crewmembers, delay and cancellation and depends on the relative relation
between these costs.
First, the cost of a delay is changed, to find out at which point the model will no longer cause
delays. This is executed on the ten simulations performed before, with 5% absenteeism. Only
2 simulations included a delay: simulation 5 and 10. Therefore, it is sufficient to determine for
which cost these simulations will no longer include a delay.
The delay in simulation 5 amounts to almost 2 minutes. No assistant is available for the specific
train path, so delaying a train and allocating a free crewmember holds the lowest cost, i.e. 14.
When the cost for the delay and the allocation of a free crewmember is more than 50, i.e. the
cost of a crewmember on a rest day, the model allocates a crewmember on a rest day. No
stand-by crewmember is available at the time of the train path that needs to be covered.
Making the only other option, other than a delay, a crewmember on a rest day or a
cancellation. A cancellation will only be used in case it is cheaper than a crewmember on a
rest day. The cost of a delay for simulation 5 needs to be at least 22.5. Simulation 10 allows a
delay of 9 minutes and allocates an assistant to the train path. No stand-by crewmember is
available at the time of the train path, making the only second best option a crewmember on
a rest day. A rest crewmember is already allocated to the train path, when the cost of the
delay is increased to 5. To conclude, if the cost of a delay is increased to 22.5, there will be no
delays assigned by the model for these simulations.
When all the costs are multiplied or divided by the same number, i.e. the costs keep the same
relative costs, the outcome of the model will be the same. Only if the relative relationships
between the costs change, the outcome might be different. This outcome depends on the
train paths that need to be covered and the time of the available crew set. To test this, 3
different cost scenarios are set up and these are tested in 5 different absenteeism situations.
The first 5 simulations executed for train paths that are uncovered due to a 5% absenteeism
(i.e. the first five scenarios from Table 3) serve as input.
72
The 3 different cost scenarios are given in Table 6.
Type Costs Scenario a Scenario b Scenario c
Free crewmember 10 20 20
Assistant 5 1 1
Stand-by crewmember 50 180 160
Rest crewmember 100 200 250
Cancellation 150 170 150
Delay (per minute) 1 1 1
Maximum delay / / 20
Table 6: Cost scenarios for delay
All 3 scenarios represent different relationships between the types of crewmembers,
cancellation and delay. Scenario a reduces the cost of a delay, compared to the cost set in
accordance with NMBS. Furthermore, it lowers the cost of a cancellation and increases the
cost of a stand-by crewmember and rest crewmember. Scenario b increases the cost of a free
crewmember and decreases the cost of an assistant. Additionally, It sets the cost of a
cancellation, stand-by crewmember and rest crewmember considerably higher. Scenario c
sets a maximum delay of 20 minutes, which involves an extra constraint in the model.
The results are displayed in Table 7 and Figure 28.
73
Scenario Free Assistant Stand-
by
Rest Cancel-
lation
Number
of
delays
Total
delay
(min)
Average
delay
(min)
1a 0 7 0 0 0 0 0 0
1b 2 5 0 0 0 2 27 13
1c 2 7 0 0 0 2 27 9
2a 3 10 3 0 0 2 26 13
2b 5 10 0 0 1 6 230 38
2c 3 9 0 0 4 2 18 9
3a 3 7 1 0 0 0 0 0
3b 4 7 0 0 0 1 81 81
3c 2 7 0 0 1 0 0 0
4a 2 12 3 0 0 4 48 12
4b 1 16 0 0 0 9 309 34
4c 1 13 0 0 3 6 74 12
5a 2 10 1 1 1 1 2 2
5b 2 12 0 0 1 2 78 39
5c 2 11 0 0 2 1 2 2
Table 7: Result different cost scenarios person-specific disruptions
1a stands for the first scenario of absenteeism that is solved with the costs from scenario a.
Accordingly, the other scenarios are defined as 1b, 1c, 2a, etc.
74
Figure 28: Results delay different cost scenarios
From Table 7 it is clear that delays are more often used in cost scenarios b and c. this is the
result of assigning much higher costs to crewmembers that are not free, assistants and
cancellation. When constraining the maximum delay to 20 minutes, the results differ. For
scenario 1, this has no consequences, as the delays in scenario b were already less than 20
minutes. In the other scenarios however, this has a considerable impact. In scenario 2, 3 and
4, the total and average delay decreases considerably. This is also displayed in Figure 28,
where the values of 2b, 3b and 4c are noticeably higher than those of 2c, 3c and 4c.
The allocation of free crewmembers does not decline much, even when assistants are cheaper
in cost scenario c. Furthermore, stand-by crewmembers are only allocated in cost scenario a.
This is the result of the fact that cancellation is cheaper in cost scenario b and c. Therefore,
cost scenario b and c, use more cancellations, except for scenario 1, where stand-by or rest
crewmember are allocated in cost scenario a. The number of delays that are used always
increases for cost scenario b. However, this stays the same or decreases for cost scenario c, as
an extra constraint is added to limit the maximum amount of delay.
To conclude, many different costs can be assigned to the different crewmember types,
cancellation and delay. Not considering delay, the program will always choose the cheapest
resource that is available. When considering delay, the outcome heavily depends on the cost
0
50
100
150
200
250
300
350
Total delay Average delay
Min
ute
s
Resource
S1a
S1b
S1c
S2a
S2b
S2c
S3a
S3b
S3c
S4a
S4b
S4c
S5a
S5b
S5c
75
of the delay and the relationship between the different costs of the crewmembers and
cancellation. The higher the difference between these costs and the lower the cost of a delay,
the more the model will use delays. Furthermore, limiting delay can also have a considerable
impact on the outcome of the model. Finally, the costs assigned to the different resources
influence the solution space to deal with train-specific disruptions.
5.3.2.2. Train-specific disruptions
This part of the thesis examines the results of the model for train-specific disruptions. The
input for these disruptions, consist of Table A (appendix), excluding the crewmembers that
are already allocated to a person-specific disruption. These crewmembers do no longer belong
to the available set of crewmembers. Stand-by crewmembers are not always completely
removed. They remain in the available set, for the hours they are not allocated to a train path.
NMBS adapts 16% of the duties, as a result of a train-specific disruption. The assumption is
made that 8% of these duties are adapted because of an incident and the other 8% of the
duties are changed, because those crewmembers are used to deal with the disruption.
Therefore, 8% of the duties are considered to result in an uncovered train path. As a
consequence, a subset of 8% of the duties is determined, using the Bernoulli distribution. The
first train path is assumed to be uncovered for the first duty, the second train path for the
second duty, etc. As a result, a set of train paths that are uncovered is obtained due to a train-
specific reason.
To solve the model, we will first consider costs that project the sequence NMBS pursues
(Section 5.4.2.2.1). Next, these costs are changed and the impact on the results will be
discussed (Section 5.4.2.2.2).
5.3.2.2.1. Cost in accordance with NMBS
In this section the costs are allocated with respect to the NMBS order, which we discussed in
Section 4.3.4. These costs are set to:
76
5 for crewmembers that are free between two train paths
10 for crewmembers that are scheduled as assistant
30 for stand-by crewmembers
50 for crewmembers on a rest day
4 for every minute delay
250 for a cancelled train path/ duty
These costs are equal to the costs used in Section 5.4.2.1.1. The model is applied to the
available crewmembers, after excluding personnel that is absent and personnel that is used
to cover the uncovered train paths of absent crewmembers. 5 scenarios are created, where
different crewmembers are considered to be absent. These 5 scenarios correspond to the first
5 scenarios in Section 5.3.2.1.1, considering an absenteeism rate of 5% and covering train
paths, and represented by the numbers 1, 2, 3, 4 and 5. For each scenario, 5 different scenarios
of train paths that are uncovered due to train-specific disruptions are solved, represented by
a letter. This gives us a total of 25 scenarios. The results are given in Table 8.
77
Scenario Free Assistant Stand-by Rest Cancel-
lation
Total
uncovered
train paths
Number
of delays
A1 1 4 2 1 0 8 0
A2 1 3 2 1 1 8 1
A3 0 6 0 1 1 8 0
A4 1 3 1 2 1 8 0
A5 1 6 1 0 0 8 0
B1 1 3 1 1 0 6 0
B2 2 3 0 1 0 6 1
B3 2 2 1 1 0 6 0
B4 2 2 1 1 0 6 0
B5 2 2 1 1 0 6 1
C1 2 5 1 0 0 8 0
C2 2 5 0 1 0 8 0
C3 2 5 0 1 0 8 0
C4 1 5 1 1 0 8 1
C5 2 4 1 1 0 8 0
D1 1 1 3 0 0 5 0
D2 1 1 1 2 0 5 0
D3 1 2 1 1 0 5 0
D4 1 2 1 1 0 5 0
D5 1 2 0 2 0 5 0
E1 1 3 0 1 0 5 0
E2 2 3 0 0 0 5 0
E3 1 3 0 1 0 5 0
E4 5 0 0 0 0 5 0
E5 2 1 0 2 0 5 0
Total 38 76 19 24 3 160
Percentage 24% 48% 12% 15% 2% 100%
Table 8: Coverage train-specific disruptions
78
The first column states the scenario for which the results are represented. The letters stand
for the scenario of train-specific disruptions. Thus A, B, C, D and E have other train paths that
need to be covered by the model, due to train-specific reasons. The numbers stands for the
different available crew set. Number 1 stands for scenario 1 in Section 5.4.2.1.1 and excludes
personnel that is allocated by the model to cover the personnel-specific disruptions. As a
result 1, 2, 3, 4 and 5 present different solution spaces.
For scenario A, a train path is cancelled in A2, A3 and A4. This is due to the fact that this train
path lasts until 23h50. No crewmembers that are free, assistant or on a rest day, are available
at that time. Only one stand-by crewmember is provided at that time. However, in scenario
A2, A3 and A4, this stand-by crewmember is no longer available, as he/she is allocated to cover
a person-specific disruption. Therefore, it would be better so reserve all stand-by
crewmembers to solve train-specific disruptions. Furthermore, many assistants are used to
cover the train paths. These change according to the solution space, i.e. 1, 2, 3, 4 and 5. There
are no solutions, i.e. A1, A2, A3, A4 and A5 render the exact same result. The best solution is
however obtained by A5, where no rest crewmembers and cancellations occur.
Scenario B renders similar results in all 5 solution spaces. Only B1 and B2 differ. B1 allocates
one assistant more, in return for a free crewmember, that is not available. B2 allocates an
assistant with delay as a cheaper substitute for a stand-by crewmember. B5 is different, as a
delay is used. The scenario has to delay a train path to assign a free crewmember to it, as the
free crewmember the other solutions use, is not available in B5. Therefore, the costs will
slightly increase, depending on the amount of delay.
Most of the scenarios in C have a comparable result. C2 and C3 render the same result and C1
a similar one. C2 and C3 do not have a stand-by crewmember available and thus assign the
train path to a rest crewmember, whereas C1 assigns this train path to a stand-by
crewmember. C5 is not able to assign two train paths to an assistant and thus assigns one of
these train paths to a stand-by crewmember. Similarly, C4 cannot assign a train path to a free
crewmember, while the other scenarios can, and thus assigns it to a crewmember on a rest
day.
In scenario D, it is always possible to assign one and the same train path to a free crewmember.
At least one train path is also covered by an assistant. The other train paths differ according
79
to the solution space. D1 is able to cover three train paths to a stand-by crewmember. As a
result no crewmember on a rest day is scheduled. All the other scenarios, i.e. D2, D3, D4 and
D5 however, do not have that many stand-by crewmembers available or at least not at the
same time slots, and thus need to allocate crewmembers on a rest day. D3 and D4 deliver the
same result. The other scenarios differ slightly.
Scenario E renders very different results over the different solution space possibilities. Only
E1 and E3 provide the same result. E4 is able to allocate all the train paths to crewmembers
who are free between two train paths. E1, E2 and E3 use three assistants, but E2 is able to use
two crewmembers that are free, whereas E1 and E2 need to allocate a crewmember on a rest
day.
Although many solutions of the same train-specific disruption scenarios (1, 2, 3, 4, 5) are
similar, many do change slightly due to the solution space (A, B, C, D, E). It is therefore very
difficult to provide a general conclusion. When investigating the occurrence of the different
types of crewmembers, cancellations and delays, a difference is observed for the results of
person-specific disruptions. 66% of the person-specific disruptions are allocated to assistants,
whereas for the train-specific disruptions this only amounts to 48%. This is due to the fact that
many assistants are already used to deal with person-specific disruptions. Therefore, less
assistants are available to cover for train-specific disruption. Furthermore, the number of free
crewmembers is noticeably higher, 24% compared to 14%. Additionally, rest crewmembers
account for a much bigger share for train-specific disruptions, 15% in comparison with 4%.
Stand-by crewmembers slightly decrease from 16% to 12%. Finally, the number of
cancellations is 3, i.e. 2%, whereas this is 0 for person-specific disruptions.
The costs in compliance with these results are displayed in Figure 29.
80
Figure 29: Cost train-specific disruptions
The orange bars present the total cost of a scenario. The green bars show the average cost of
a train path for every scenario. Finally, the blue line indicates the average of the objective
function over all the simulations and the grey line of the average cost of an uncovered train
path.
The average of the total cost is equal to 141.36. This high average is caused by the fact that
simulation A includes some cancellations. This is clearly observable on the graph, where the
average of the objective function of simulation A is higher than the average of the objective
function. All the other yellow lines are situated under the blue line. This average of 141.36 is
lower than the average for covering a person-specific disruption, i.e. 203.5. However, the
number of train paths that need to be covered for a simulation of a person-specific disruption
is substantially higher, on average 12.9 compared to 6.4.
The average cost of covering a train path over all the simulations is equal to 21.42. This average
is highly influenced by the results of simulation A. 15.73 is the average cost obtained for
person-specific disruptions. The average cost has increased with 5.69 or 36.92%.
0
50
100
150
200
250
300
350
400
450
A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 C1 C2 C3 C4 C5 D1 D2 D3 D4 D5 E1 E2 E3 E4 E5
Co
st
Scenario
Total objective function persimulationAverage cost of uncoveredtrain path per simulationAverage of objectivefunctionAverage cost of uncoveredtrain path
81
To conclude, the result of solving uncovered train paths due to train-specific disruptions
renders a slightly different result than person-specific disruptions. This is due to the fact that
the solution space is different, as the person-specific disruptions are covered first – resulting
in more allocations for rest and stand-by crewmembers and a bigger chance of a cancellation
of a train path. The impact on the costs is clearly observable. The average cost of covering a
train path augments to 36.92%.
5.3.2.2.2. Cost simulation
Similar to the person-specific disruptions, the costs assigned to the different crewmembers,
cancellation and delay, will be changed in order to check the impact on the result. To cover as
many different situations as possible, different combinations of scenarios will be solved. In
particular, scenario A1, B2, C3, D4 and E5 will be tested. These are combinations of scenarios
in which the input and the solution space is never similar.
As stated in Section 5.4.1.2., the costs can be divided into two groups. The first group contains
the costs of the different types of crewmembers and the cost of a cancellation. The second
group comprises the costs of a delay together with the first group. The results of different
costs of crewmembers and cancellation will be discussed first. Next, the relationship between
a delay and costs will be examined.
1. Crewmember and cancellation cost
The results of changing the costs of the different crewmember types and cancellation renders
similar results as for person-specific disruptions. The model will always allocate the cheapest
resource, when available. The main difference is that the available set is smaller. When
assigning the lowest cost to cancellation and rest crewmember, the model will not use free
crewmembers, assistant and stand-by crewmembers. Because there are sufficient rest
crewmembers available and cancellation is always possible. However, giving the lowest cost
to stand-by crewmembers, does not assure that stand-by crewmembers will always be
assigned to a train path. Stand-by crewmembers are less available as they are frequently used
to solve person-specific disruptions. Appointing the lowest cost to a free crewmember or
assistant, renders different results for different simulations, i.e. Table 8. This highly depends
on the train paths that need to be covered and on the available set of crewmembers.
82
2. Cost of a delay
Similar to the person-specific disruptions, three scenarios with different costs assigned to the
crewmembers, cancellation and delay are executed. These scenarios are given in Table 6. The
results are displayed in Table 9 and Figure 30. The number of the scenario, i.e. 1, 2, 3, 4 and 5,
represent the scenario 1A, 2B, 3C, 4D and 5E of Section 5.4.2.1. The letters indicate which
costs are assigned to the different resources.
Scenario Free Assistant Stand-
by
Rest Cancel-
lation
Number
of
delays
Total
delay
(min)
Average
delay
(min)
1a 0 6 0 2 0 1 20 20
1b 0 7 0 1 0 2 97 48
1c 0 6 0 0 2 1 20 20
2a 0 6 0 0 0 2 17 8
2b 0 6 0 0 0 2 17 8
2c 0 6 0 0 0 2 17 8
3a 0 8 0 0 0 1 6 6
3b 0 8 0 0 0 1 6 6
3c 0 8 0 0 0 1 6 6
4a 0 5 0 0 0 2 68 34
4b 0 5 0 0 0 2 68 34
4c 0 3 0 0 2 0 0 0
5a 0 3 1 1 0 0 0 0
5b 0 3 0 0 2 0 0 0
5c 0 3 0 0 2 0 0 0
Table 9: Result train-specific disruptions with different cost scenarios
83
Figure 30: Result delay with different cost scenarios for train-specific disruptions
Free crewmembers are never assigned to a train path in these scenarios. This is due to the fact
that assistants have a lower cost and are assigned to most train paths. As there are more
assistants in the available crew set than free crewmembers and as they are available for a
longer time span, it is unlikely that a train path will be covered by a free crewmember, when
no assistant can be found. Assistants are in all three scenarios the cheapest and are always
used. Furthermore, cancellations are only used in scenario c, where there is a limit on the
amount of delay. Finally, stand-by and rest crewmembers are only scheduled in scenario a and
b, as it is more optimal to incur a cancellation in scenario c.
When a delay is assigned in one solution space scenario, it is very often also used in the other
cost scenarios (Figure 30). This is only different for 4c, where the delays are not used anymore,
when a limit of 20 minutes is incurred. This is due to the fact that the delays incurred in
scenarios 4a and 4b equal more than 20 minutes. For scenario 1, 1b also includes a delay of
more than 20 minutes. This delay is, however, no longer in place in scenario 1c, due to the
delay limit.
To conclude, the model will always choose the cheapest resource if a delay is not considered
by the model. However, if delay is possible, the result depends on the solution space and cost
scenario. Similar to persons-specific disruptions, it holds true that, the higher the difference
between these costs and the lower the cost of a delay, the more the model will use delays.
Limiting a delay also has a considerable impact on the outcome of the model.
0
20
40
60
80
100
120
Total delay (min) Average delay (min)
Min
ute
s
Scenario
1a
1b
1c
2a
2b
2c
3a
3b
3c
4a
4b
4c
5a
5b
5c
84
5.3.3. Solving person-specific and train-specific disruptions
simultaneously
This section analyses the results of solving person-specific and train specific disruptions in
chronological order of appearance. The person-specific disrupted duties are split up in
uncovered train paths. This methodology will be applied with both a 5% and 8% absenteeism
rate. The costs, however, will not be changed because it is expected that the results of a cost
simulation will be the same as in Section 5.4.2. Therefore the costs are set to (in accordance
with NMBS):
5 for crewmembers that are free between two train paths
10 for crewmembers that are scheduled as assistant
30 for stand-by crewmembers
50 for crewmembers on a rest day
4 for every minute delay
250 for a cancelled train path
The first step to solve the disruptions is to simulate them. The person-specific and train-
specific disrupted train paths are both determined in advance. Next, these train paths are
sorted in chronological order of the start time. Thereafter, each disruption is solved
individually, with the appropriate solution space. Finally, after solving a disruption, the
available time of the allocated crewmember is adapted accordingly in order to solve the next
disruption.
For both a 5% and a 8% absenteeism rate, 25 simulations are executed. 5 different person-
specific situations are simulated, i.e. the first 5 scenarios in Table 3 and indicated by a number,
and 5 different train-specific disruption situations are created, indicated by a letter. Combining
these situations results in 25 different scenarios.
1. 5% absenteeism rate
The results of solving both person-specific and train-specific disruptions in chronological order
with an absenteeism rate of 5% are given in Table 10.
85
Scenario Free Assistant Stand-by Rest Cancel-
lation
Total
number of
uncovered
train paths
Number
of delays
A1 1 13 1 0 0 15 0
B1 2 10 1 0 0 13 1
C1 1 13 1 0 0 15 0
D1 1 11 0 0 0 12 2
E1 2 10 0 0 0 12 0
A2 2 16 6 0 0 24 2
B2 2 16 3 1 0 22 0
C2 3 17 3 1 0 24 0
D2 3 15 3 0 0 21 0
E2 3 16 2 0 0 21 0
A3 2 16 1 0 0 19 0
B3 4 12 1 0 0 17 0
C3 4 14 1 0 0 19 0
D3 3 12 1 0 0 16 0
E3 2 14 0 0 0 16 0
A4 2 17 4 2 0 25 1
B4 3 18 2 0 0 23 0
C4 2 21 2 0 0 25 0
D4 2 18 2 0 0 22 0
E4 1 19 2 0 0 22 0
A5 2 19 1 0 1 23 0
B5 2 17 2 0 0 21 1
C5 3 18 2 0 0 23 0
D5 2 15 3 0 0 20 0
E5 3 15 2 0 0 20 0
Total 57 382 46 4 1 490 7
Percentage 12% 78% 9% 1% 0%
Table 10: Result solving person and train-specific disruptions simultaneously (5% absenteeism)
86
The number of the scenario reflects the situation of person-specific disruptions. As more train
paths are uncovered due to person-specific disruptions, the total number of uncovered train
paths remains close, i.e. for all scenario’s 1, 2, 3, 4 and 5.
The Table clearly shows that most of the train paths are covered by assistants, i.e. 78%.
Furthermore, crewmembers that are free are allocated to 12% of the train paths. Only 1% of
crewmembers on a rest day are used, whereas 9% of the times a stand-by crewmember is
allocated. Only one cancellation is used for the 493 train paths. This is due to the fact that this
train path is scheduled late in the evening, and the stand-by crewmember is already allocated
to a train path. Furthermore, crewmembers on a rest day are only available until 23h, which
causes the model to cancel the train path. Finally, only 7 delays are used, none of which
exceeded 6 minutes.
The resulting costs are displayed in Figure 31.
Figure 31: Cost solving person-specific and train-specific disruptions simultaneously (5% absenteeism)
0
100
200
300
400
500
600
700
A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A4 B4 C4 D4 E4 A5 B5 C5 D5 E5
Co
st
Scenario
Total objective functionper scenario
Average cost ofuncovered train path perscenario
Average of objectivefunction
Average cost ofuncovered train path
87
The orange bars represent the value of the objective function per scenario. The green bars
display the average cost of covering a train path for every scenario. The blue line shows the
average of the objective function, which amounts to 242. Accordingly, the grey line displays
the average cost of an uncovered train path over all the scenarios and is equal to 12.06.
The objective function of A5 is considerably higher than all the other scenarios. This is due to
the fact that scenario A5 encounters a cancellation. The average cost of covering a train path
is also the highest for scenario A5. Furthermore, the objective function is, in general, higher
for the scenario’s with the most train paths to cover. The average cost of covering a train path
is very similar in all scenarios and fluctuates between 9.17 (scenario E1) and 16.48 (scenario
A4), not considering scenario A5.
2. 8% absenteeism rate
The results of solving both person-specific and train-specific disruptions in chronological order
with an absenteeism rate of 8% are given in Table 11.
88
Scenario Free Assistant Stand-
by
Rest Cancel-
lation
Total number
of uncovered
train paths
Number of
delays
A1 1 24 2 0 0 27 2
B1 4 18 1 2 0 25 3
C1 3 20 3 1 0 27 0
D1 2 20 1 1 0 24 2
E1 4 18 2 0 0 24 2
A2 2 16 6 0 0 24 2
B2 2 16 3 1 0 22 0
C2 3 17 3 1 0 24 0
D2 3 18 3 0 0 21 0
E2 3 16 2 0 0 21 0
A3 2 16 5 0 0 23 2
B3 4 17 4 1 0 26 3
C3 4 19 4 1 0 28 2
D3 3 15 6 1 0 25 2
E3 4 19 2 0 0 25 3
A4 2 17 4 3 0 26 0
B4 3 18 4 0 0 25 3
C4 2 21 4 0 0 27 2
D4 2 17 5 0 0 24 1
E4 3 17 4 0 0 24 1
A5 4 31 4 0 1 40 0
B5 6 28 4 0 0 38 2
C5 5 32 3 0 0 40 2
D5 4 27 4 2 0 37 1
E5 6 27 3 1 0 37 2
Total 81 504 86 15 1 684 37
Percentage 12% 74% 13% 2% 0%
Table 11: Result solving person and train-specific disruptions simultaneously (8% absenteeism)
89
Comparing Table 10 to Table 11 (5% to 8% absenteeism rate), 3 main conclusions can be
drawn. First, the total number of uncovered train paths augments from 493 to 684, which is
an increase of 72.08%. Second, the same distribution of crewmembers allocated to the
uncovered duties can be found as with a 5% absenteeism rate. Finally, more often delays are
used. In 5% of the cases a delay is encountered. However, the longest delay encountered by
the model is 9 minutes.
The cost of these scenarios is displayed in Figure 32.
Figure 32: Cost solving person and train- specific disruptions simultaneously (8% absenteeism)
The average of the objective function, i.e. the blue line, is equal to 381, which is an increase
of 58% compared to an absenteeism rate of 5%. The average cost of covering a disrupted train
path, i.e. green line, is 14. This is an augmentation of 15.7%. This is the result of the fact that
less assistants are allocated and more stand-by crewmembers and crewmembers on a rest
day.
0
100
200
300
400
500
600
700
A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A4 B4 C4 D4 E4 A5 B5 C5 D5 E5
Co
st
Simulation
Total objective functionper scenario
Average cost ofuncovered train path perscenario
Average of objectivefunction
Average cost ofuncovered train path
90
5.3.4. Comparison between solving person and train-specific disruptions
sequentially versus simultaneously
This section compares the results of solving person and train-specific disruptions sequentially
with the results of solving these disruptions in chronological order, i.e. simultaneously. To
compare the result of the different approaches, the same scenarios need to be compared.
Table 10 represents the results for solving the person-specific and train-specific disruptions
simultaneously. Solving the same disruptions, but sequentially, results in Table 12. The
number in the scenarios 1, 2, 3, 4 and 5 represent different crewmembers that are considered
ill with a 5% absenteeism rate. The letters A, B, C, D and E represent the different train paths
that are considered uncovered due to a train-specific disruption. Both person and train-
specific disruptions are solved per train path.
91
Scenario Free Assistant Stand-by
Rest Cancel-lation
Total number of uncovered train
paths
Number of delays
A1 2 8 2 2 0 15 0
B1 2 7 1 2 0 13 0
C1 3 9 1 1 0 15 0
D1 2 5 3 1 0 12 0
E1 2 7 0 2 0 12 0
A2 3 14 5 1 1 24 1
B2 4 14 3 1 0 22 1
C2 4 16 3 1 0 24 0
D2 3 12 4 2 0 21 0
E2 4 14 3 0 0 21 0
A3 3 14 0 1 1 19 0
B3 5 10 1 1 0 17 0
C3 5 13 0 1 0 19 0
D3 4 10 1 1 0 16 0
E3 4 11 0 1 0 16 0
A4 2 16 4 2 1 25 0
B4 3 15 4 1 0 23 0
C4 2 18 4 1 0 25 1
D4 2 15 4 1 0 22 0
E4 6 13 3 0 0 22 0
A5 3 17 3 0 0 23 1
B5 4 13 3 1 0 21 2
C5 4 15 3 1 0 23 1
D5 3 13 2 2 0 20 1
E5 4 12 2 2 0 20 1
Total 83 311 59 29 3 490 9
Percentage 17% 63% 12% 6% 1%
Table 12: Result solving person and train-specific disruptions sequentially (5% absenteeism)
Comparing Table 12, for solving disruptions sequentially, with Table 10, for solving disruptions
simultaneously, it is noticeable that there are 15 percentage points less assistants allocated to
train paths for solving disruptions sequentially. Indeed, more stand-by crewmembers and
crewmembers on a rest day are allocated to train paths. However, the number of free
crewmembers assigned to a train path is higher, 5 percentage points, for solving disruptions
sequentially instead of simultaneously. Finally, the number of cancellations increases from 1,
when solving disruptions simultaneously, to 3 when solved sequentially.
The reason that more stand-by and rest crewmembers are assigned to train paths, when
solved sequentially, is because multiple train paths are solved together in one run. Section
5.2.1. explained that the Microsoft Excel solver is limited and therefore not all disruptions can
92
be solved at once. However, the maximum amount of possible train paths to solve together,
are solved collectively. The available time of all the crewmembers is adapted after each run.
However, as multiple train paths are solved together, this can only be done after all the train
paths of that run are allocated. Therefore, the model will not allocate the same crewmember
to two or more train paths in the same run.
However, when the disrupted train paths are solved one by one, i.e. solving disruptions
simultaneously, two train paths can be allocated to the same person, if these disrupted train
paths do not occur at the exact same time span. For example, two train paths are disrupted:
one train path from 8h-8h53 and a second train path from 9h30-10h30. When these train
paths are solved together, then these train paths have to be allocated to different
crewmembers. However, when these train paths are solved one by one, then an assistant, for
example, who is available between 4h15-12h can be allocated to both train paths.
Furthermore, disruptions that are solved sequentially are grouped with the disrupted train
paths that occur around the same time span. This sometimes results in train paths that are
grouped in a time span of more than two hours. In this case an assistant that is available for
those two hours will only be allocated to one train path. Whereas if the disruptions are solved
one by one, this assistant can be allocated to more than one train path. As a result, more
crewmembers on a rest day and stand-by crewmembers are allocated to train paths, in case
the person-specific and train-specific train paths are solved sequentially.
More cancellations are encountered when person-specific and train-specific disruptions are
solved sequentially. As mentioned before, this is due to the fact that stand-by crewmembers
are already allocated to deal with person-specific disruptions. No assistants, free
crewmembers or crewmembers on a rest day are available anymore, as these disrupted train
paths are scheduled to start before 4h or end after 23h. When solving disruptions in a
chronological order, i.e. simultaneously, a cancellation is only incurred once. This is also due
to the fact that a stand-by crewmember was already allocated to a train path that started
earlier and thus no crewmember was available at the time of the train path.
To conclude, solving person and train-specific disruptions in chronological order, i.e.
simultaneously, results in less cancellations, allocated stand-by crewmembers and
93
crewmembers on a rest day. Furthermore, more assistants are assigned to the disrupted train
paths, due to the fact that disrupted train paths are solved one by one.
These results have a significant impact on the costs. The results for solving person and train-
specific disruptions sequentially are given in Figure 33. The result for solving the disruptions
simultaneously is shown in Figure 31.
Figure 33: Result solving person and train-specific disruptions sequentially (5% absenteeism)
The average objective function is equal to 304.56 when solving disruptions sequentially. This
is an increase of 62.56 or 25.85% compared to solving disruptions simultaneously. The average
cost of uncovered train paths amounts to 15.39, while this is only 12.06 for covering
disruptions simultaneously.
The higher costs for covering person and train-specific disruption are mainly caused by the
fact that there are more stand-by crewmembers and crewmembers on a rest day allocated to
the train paths. Furthermore, the higher number of cancellation has a significant impact on
the objective function.
0
100
200
300
400
500
600
700
A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A4 B4 C4 D4 E4 A5 B5 C5 D5 E5
Co
st
Simulation run
Total objectivefunction persimulation
Average cost ofuncovered duty persimulation
Average of objectivefunction
Average cost ofuncovered train path
94
5.4. Conclusion
This part of the thesis has developed a model for allocating uncovered duties or train paths to
crewmembers. The model is also able to cancel the train path or delay it. The goal of the model
is to assign the cheapest resource and does not take labor cost per hour into account.
The model is applied to the train conductor’s schedule of NMBS. The possible crewmembers
that might be assigned to an uncovered train path are crewmembers who are free between
two train paths, crewmembers scheduled as an assistant, stand-by crewmembers and
crewmembers on a rest day. Different approaches for solving the disrupted duties or train
paths are investigated. The best result is obtained when the person and train-specific
disruptions are solved simultaneously, i.e. in chronological order. Furthermore, the person-
specific disrupted duties are divided into the specific train paths that need to be covered. This
approach renders the best result in terms of cost. Considering a 5% absenteeism rate, 78% of
the train paths are covered by assistants and 12% by free crewmembers. Free crewmembers
and assistants are considered the cheapest resources to cover a train path. Furthermore, 9%
of the train paths are covered by stand-by crewmembers and only 1% by crewmembers on a
rest day. Finally, only 1 train path of the 490 train paths that need to be covered is cancelled.
5.5. Further research
Different approaches and assumptions are implied when using the model. This section
discusses different sensitivity analyses that can be tested in further research. Three
suggestions are made. However, this does not cover all the possible analyses that can be
performed.
First, it is considered that all crewmembers on a rest day are available between 04h-23h.
Section 5.3.2.1.1. even assumed that crewmembers on a rest day are available from 0h to
23h59. However, some crewmembers on a rest day might have been scheduled to guide a
train path the day before until 23h or are scheduled to guide a train path the next day at 4h.
Therefore, assuming that such a crewmember is available from 4h to 23h might result in a
duty limit violation. Adapting the available hours of crewmembers on a rest day appropriately
might render a different result in some scenarios.
Second, a cost is allocated to a minute delay. However, NMBS only considers a train to be late
if it has a delay of more than 6 minutes. Therefore, it would be interesting to only assign a cost
95
to a delay from the moment the delay is higher than 6 minutes. Additionally, the cost related
to a delay might be considered increasing with every additional minute of delay instead of a
fixed cost per minute. As a result, the marginal cost of a minute delay will increase with every
minute.
Finally, the model does not consider labor cost per hour. However, it can be assumed that the
labor cost per hour for a crewmember on a rest day might be higher than the labor cost per
hour for an assistant or free crewmember. Therefore adding the labor cost per hour, which
will be different for every type of crewmember, to the objective function might result in
different allocations.
96
6. Conclusion
This thesis researches how a train company can cope with disruptions in the personnel
schedule. Section 2 illustrates what is written in the literature about personnel scheduling.
The personnel schedule of train companies is characterized by a fixed demand, determined by
the train timetable and the scheduled rolling stock. Furthermore, crew scheduling is very often
solved by a decomposition approach that consists of three aspects: crew pairing generation,
crew pairing optimization and crew rostering (Ernst et al., 2004a).
Section 3 discusses the literature review of disruptions. Disruptions are caused by uncertainty.
Three main categories of uncertainty exist in personnel scheduling: uncertainty of demand,
uncertainty of arrival and uncertainty of capacity (Van den Bergh et al., 2013). These
uncertainties result in crew operation disruptions. Abdelghany et al. (2008) describe four crew
operation disruptions in the airline industry: a misconnect violation, a rest violation, a duty
limit violation and an open position. A misconnect violation occurs when a crewmember does
not arrive on time and is unable to connect on time to the next flight. A rest violation occurs
when the legal rest time (layover) would be less because of late arrival at the end of the
preceding duty. A duty limit violation occurs when the actual duty period exceeds the duty
period limit due to delay of one or more flights in the duty period. In an open position a
crewmember did not show up or the up-line flight is canceled, resulting in the fact that the
crewmember is not available to execute her/his next assignment. Multiple actions can be
taken to deal with disruptions and to make the schedule more robust. One example is to add
slack time in the schedule. Furthermore, an effective disruption management needs to be in
place to deal with disruptions. Jespersen-Groth et al. (2009) developed a general framework
that consists of two institutions: the infrastructure manager and the operator, that need to
work closely together to handle disruptions on the operational level.
Section 4 discusses the personnel planning process at NMBS and how they deal with
disruptions. The personnel schedule is performed after the train schedule is executed. The
personnel schedule of train drivers and conductors are accomplished separately, as different
conditions need to be met. Dealing with disruptions on an operational level is executed at two
levels: on a national level and on a local level. The local instances deal with person-specific
disruptions, i.e. personnel that is ill, while the national level deals with train-specific
disruptions. NMBS schedules stand-by crewmembers to solve disruptions. Furthermore, train
97
conductors that are scheduled as assistant can also be rescheduled in order to be able to deal
with a disruption. Finally, if these two options are not possible, NMBS schedules a
crewmember on a rest day to cope with the disruption.
Section 5 develops a model that to deal with disrupted train paths or a disrupted duty. The
goal of the model is to assign the cheapest type of crewmember or to include a cancellation.
The model is tested on the conductors schedule of NMBS. The best result is obtained by
solving the person and train-specific disruptions simultaneously, i.e. in chronological order,
when the costs assigned to the different types of crewmembers are in accordance with the
protocol NMBS uses. Considering a 5% absenteeism rate, 78% of the train paths are covered
by assistants and 12% by free crewmembers. Furthermore, 9% of the train paths are covered
by stand-by crewmembers and only 1% by crewmembers on a rest day.
To conclude, dealing with disruptions is a time-consuming and expensive task, but needs to
be done in order to provide the desired service.
98
7. References
Abdelghany, K.F. Abdelghany, A.F. Ekollu G. (2008). An integrated decision support tool for
airlines schedule recovery during irregular operations. European Journal of operational
research, 185:825-848.
Abernathy, W. J., Baloff, N., Hershey, J. C., and Wandel, S. (1973). A three-stage manpower
planning and scheduling model—a service-sector example. Operations Research, 21(3), 693-
711.
Bard, J. F. (2004). Staff scheduling in high volume service facilities with downgrading. Iie
Transactions, 36(10), 985-997.
Burke, E. K., De Causmaecker, P., Berghe, G. V., and Van Landeghem, H. (2004). The state of the art of nurse rostering. Journal of scheduling, 7(6), 441-499.
Cacchiani, V., Huisman, D., Kidd, M., Kroon, L., Toth, P., Veelenturf, L., & Wagenaar, J. (2014).
An overview of recovery models and algorithms for real-time railway rescheduling.
Transportation Research Part B: Methodological, 63, 15-37.
Caprara, A. Monaci, M. Toth, P. (2001). A global method for crew planning in railway.
computer-aided scheduling of public transport, 505:17-36.
Clausen, J., Larsen, J., Larsen, A., & Hansen, J. (2001). Disruption management-operations
research between planning and execution.
Clausen, J., Larsen, A., Larsen, J., and Rezanov, N. (2010). Disruption management in the airline
industry: Concepts, models and methods. Computers & Operations Research, 37:809–821.
Ericsson, J. and Dahlen, P. (1997). A conceptual model for disruption causes: A personnel and
organization perspective. International journal of production economics, 52:47–53.
Ernst, A., 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:3–27.
Ernst, A.T. Jiang, H. Krishnamoorthy, M. Owens, B. and Sier, D. (2004b). An annotated
bibliogrpahy of personnel scheduling and rostering. Annals of Operations Research, 127:21-
144.
99
Guns, J. personal communication, November 9, 2015.
Huisman, D. (2007). A column generation approach for the rail crew re-scheduling problem.
European Journal of Operational Research, 180:163–173.
Jespersen-Groth, J. Potthoff, D. Clausen, J. Huisman, D. Kroon, L. Maróti, G. (2009). Disruption
management in passenger railway transportation, Robust and online large-scale optimization,
399-421.
Kohl, N. Larsen, A. Larsen, J. Ross, A. Tiourine, S. (2007). Airline disruption management-
perspectives, experiences and outlook. Journal of Air Transport Management, 13:149-162.
Laumanns, M. (2011). Robust planning and optimization. Lecture notes. Zurich: institute for
operations research. Retrieved from: http://www.google.com/url?sa=t&rct=j&q=&
esrc=s&source=web&cd=1&ved=0CCMQFjAA&url=http%3A%2F%2Fwww.researchgate.net%
2Fpublictopics.PublicPostFileLoader.html%3Fid%3D544dabd5d5a3f20c0b8b45c7%26key%3D
55015188-e0ee-413e-999d-0bd010bc2e6a&ei=jsJEVa3uA9Xeau_mgKAC&usg=AFQjCNGdI2
p6CzWAaYXOKZx8bd80xQmApw&sig2=pumWXGE6Q--wojyWiiG9xw&bvm=bv.92291466,d.
d2s.
Maenhout, B. and Vanhoucke, M. (2011). An evolutionary approach for the nurse rerostering
problem. Computer & Operations Research, 38:1400–1411.
Maenhout, B. and Vanhoucke, M. (2013). Reconstructing nurse schedules: Computational
insights in the problem size parameters. Omega, 41:903-918.
Meyn, S.P. ,& Tweedie, R.L. (2009). Markov chains and stochastic stability. Cambridge
university press.
Nielsen, L. K. (2011). Rolling Stock Rescheduling in Passenger Railways: Applications in short-
term planning and in disruption management (No. EPS-2011-224-LIS).
NMBS. (2015). Stiptheidscijfers., Consulted on January 20, Retrieved from
www.belgianrail.be/nl/corporate/onderneming/Stiptheid/Archieven.aspx.
Potthoff, D., Huisman, D., & Desaulniers, G. (2010). Column generation with dynamic duty
selection for railway crew rescheduling. Transportation Science, 44(4), 493-505.
100
Van den Bergh, J., Beliën, J., De Bruecker, P., Demeulemeester, E., and De Boeck, L.
(2013). Personnel scheduling: A literature review. European Journal of Operational
Research, 226:367-385.
Veelenturf, L. P., Potthoff, D., Huisman, D., & Kroon, L. G. (2012). Railway crew rescheduling
with retiming. Transportation research part C: emerging technologies, 20(1), 95-110.
Veelenturf, L. P., Potthoff, D., Huisman, D., Kroon, L. G., Maróti, G., & Wagelmans, A. P. (2014).
A Quasi-Robust Optimization Approach for Crew Rescheduling. Transportation Science.
Yang, J. Xiantong, Q. Gang, Y. (2003). Disruption management in production planning. DOI
10.1002/nav.20087.
Yan, S., Chen, C.H., and Chen, M. (2008). Stochastic models for air cargo terminal manpower
supply planning in long-term operations. Applied stochastic models in business and industry,
24:261–27.
101
8. Appendix
Set Person
ID
Assigned
duty
(Monday)
Start
time
End
time
Type
Set A 3 603 4:15 12:05 Assistant
Set A 4 107 6:50 7:10 Free
Set A 4 107 9:25 9:50 Free
Set A 5 cx 4:00 23:00 Rest day
Set A 6 113 8:38 8:58 Free
Set A 9 cx 4:00 23:00 Rest day
Set A 10 114 8:29 9:04 Assistant
Set A 10 114 11:29 11:51 Assistant
Set A 11 106 5:10 5:45 Assistant
Set A 11 106 8:27 8:51 Free
Set A 13 102 7:43 9:30 Assistant
Set A 13 102 4:39 4:52 Assistant
Set A 14 121 5:43 10:17 Assistant
Set A 16 101 6:26 6:48 Free
Set A 16 101 8:23 10:15 Assistant
Set A 18 501 3:45 12:00 Stand-by
Set A 20 123 7:28 8:00 Free
Set A 20 123 9:37 11:20 Assistant
Set A 21 111 7:56 8:14 Free
Set A 21 111 9:28 10:21 Assistant
Set A 24 cx 4:00 23:00 Rest day
Set A 26 119 6:00 6:34 Assistant
Set A 26 119 9:05 9:25 Free
Set A 33 125 6:00 6:21 Assistant
Set A 33 125 7:43 9:35 Assistant
102
Set A 33 125 13:28 13:36 Assistant
Set A 34 110 8:50 10:40 Assistant
Set B 37 197 18:47 21:15 Assistant
Set B 37 197 22:20 22:59 Free
Set B 38 cx 4:00 23:00 Rest day
Set B 40 654 15:56 23:09 Assistant
Set B 42 660 17:12 0:09 Assistant
Set B 43 192 19:13 21:46 Assistant
Set B 46 cx 4:00 23:00 Rest day
Set B 47 rx 4:00 23:00 Rest day
Set B 48 167 15:26 20:17 Assistant
Set B 49 rx 4:00 23:00 Rest day
Set B 50 504 17:15 1:30 Stand-by
Set B 51 199 15:33 20:19 Assistant
Set B 52 165 14:03 14:54 Assistant
Set B 53 198 17:10 17:37 Free
Set B 53 198 17:59 18:35 Free
Set B 53 198 20:50 22:40 Assistant
Set B 54 176 16:18 17:44 Assistant
Set B 54 176 21:46 22:14 Free
Set B 54 176 23:38 0:09 Assistant
Set B 55 188 17:53 21:12 Assistant
Set B 56 cx 4:00 23:00 Rest day
Set B 57 rx 4:00 23:00 Rest day
Set B 58 rx 4:00 23:00 Rest day
Set B 59 182 19:31 21:21 Assistant
Set B 60 186 16:27 17:11 Assistant
Set B 60 186 18:07 21:11 Assistant
Set B 61 191 18:37 19:52 Assistant
Set B 63 rx 4:00 23:00 Rest day
Set B 65 rx 4:00 23:00 Rest day
103
Set B 66 172 18:10 19:55 Free
Set C 68 rx 4:00 23:00 Rest day
Set C 70 cx 4:00 23:00 Rest day
Set C 71 133 7:33 8:47 Assistant
Set C 71 133 11:12 15:02 Assistant
Set C 72 502 5:30 13:45 Stand-by
Set C 73 cx 4:00 23:00 Rest day
Set C 74 cx 4:00 23:00 Rest day
Set C 75 153 12:14 12:46 Free
Set C 77 168 15:58 16:32 Free
Set C 78 112 8:49 10:12 Free
Set C 79 rx 4:00 23:00 Rest day
Set C 80 116 9:11 11:56 Assistant
Set C 84 196 10:33 11:01 Assistant
Set C 84 196 14:05 14:43 Assistant
Set C 84 196 16:37 16:57 Assistant
Set C 85 cx 4:00 23:00 Rest day
Set C 86 118 10:30 10:55 Free
Set C 87 103 6:15 6:45 Free
Set C 88 131 7:00 7:41 Assistant
Set C 88 131 8:51 10:38 Assistant
Set C 90 117 9:02 10:06 Assistant
Set C 91 124 5:10 5:44 Assistant
Set C 91 124 10:14 10:57 Assistant
Set C 92 132 5:51 8:47 Assistant
Set C 92 132 9:39 10:27 Assistant
Set C 94 108 6:05 6:25 Free
Set C 95 rx 4:00 23:00 Rest day
Set C 96 cx 4:00 23:00 Rest day
Set C 97 cx 4:00 23:00 Rest day
Set C 98 130 5:33 6:04 Assistant
104
Set C 98 130 9:55 10:31 Assistant
Set D 99 190 17:03 21:18 Assistant
Set D 99 190 22:44 23:21 Assistant
Set D 100 rx 4:00 23:00 Rest day
Set D 101 181 15:30 16:35 Assistant
Set D 101 181 17:26 17:41 Free
Set D 101 181 18:50 19:12 Free
Set D 103 187 16:30 17:26 Assistant
Set D 103 187 18:23 19:07 Free
Set D 103 187 20:23 20:41 Free
Set D 103 187 21:50 22:12 Free
Set D 106 rx 4:00 23:00 Rest day
Set D 107 rx 4:00 23:00 Rest day
Set D 108 185 16:00 17:06 Assistant
Set D 108 185 19:00 20:14 Free
Set D 109 136 14:50 15:10 Free
Set D 109 136 18:23 20:10 Assistant
Set D 111 cx 4:00 23:00 Rest day
Set D 112 170 15:00 16:00 Assistant
Set D 112 170 16:44 17:41 Free
Set D 112 170 19:40 20:07 Free
Set D 113 177 15:03 15:50 Assistant
Set D 113 177 17:31 18:53 Assistant
Set D 113 177 21:23 21:59 Free
Set D 114 174 15:03 15:35 Free
Set D 114 174 18:33 19:10 Free
Set D 115 189 16:40 20:36 Assistant
Set D 116 rx 4:00 23:00 Rest day
Set D 117 163 17:09 19:04 Assistant
Set D 118 179 18:02 19:47 Assistant
Set D 119 656 15:40 22:47 Assistant
105
Set D 121 cx 4:00 23:00 Rest day
Set D 122 175 17:48 20:39 Assistant
Set D 124 162 14:53 15:28 Assistant
Set D 124 162 20:35 21:09 Assistant
Set D 125 rx 4:00 23:00 Rest day
Set D 126 183 16:20 17:57 Assistant
Set D 126 183 19:42 21:11 Assistant
Set D 127 166 13:50 16:05 Assistant
Set D 127 166 19:52 20:12 Assistant
Set E 130 cx 4:00 23:00 Rest day
Set E 131 cx 4:00 23:00 Rest day
Set E 132 155 13:14 13:46 Free
Set E 134 cx 4:00 23:00 Rest day
Set E 136 159 18:18 18:42 Free
Set E 137 135 15:16 15:44 Free
Set E 137 135 17:00 17:21 Free
Set E 137 135 20:04 20:32 Assistant
Set E 143 134 14:00 15:30 Free
Set E 143 134 19:30 19:55 Free
Set E 146 503 10:30 20:45 Stand-by
Set E 147 rx 4:00 23:00 Rest day
Set E 148 cx 4:00 23:00 Rest day
Set E 157 cx 4:00 23:00 Rest day
Set E 174 rx 4:00 23:00 Rest day
Table A: Solution matrix
106
Simulation nr. 1 2 3 4 5 6 7 8 9 10 Total Percentage
Total number of
uncovered duties
3 4 2 4 4 6 4 2 4 4 37 100%
Number of free
crewmembers
0 0 0 0 0 0 0 0 0 0 0 0%
Number of
assistants
1 0 0 1 1 0 1 0 1 0 5 14%
Number of stand-by
crewmembers
1 1 0 1 0 1 0 0 1 1 6 16%
Number of rest
crewmembers
1 3 2 2 3 5 3 2 1 3 25 68%
Number of
cancellations
0 0 0 0 0 0 0 0 0 0 0 0%
Number of delays 0 0 0 0 0 0 0 0 0 0 0
Table B: Result person-specific disruptions (5% absenteeism, without cancellation)
Type/Cost
Scenario
1 2 3 4 5 6 7 8 9 10 11
Free
crewmember
5 0 20 5 10 10 5 5 5 5 50
Assistant 6 0 25 10 5 5 10 10 10 10 60
Stand-by
crewmember
7 20 0 15 15 15 25 25 25 25 80
Rest
crewmember
8 25 0 20 20 20 20 20 20 20 70
Cancellation 250 250 250 150 25 18 20 26 23 18 250
Table C: Tested cost scenario’s