University of Southampton Research Repository ePrints Soton
-
Upload
khangminh22 -
Category
Documents
-
view
0 -
download
0
Transcript of University of Southampton Research Repository ePrints Soton
University of Southampton Research Repository
ePrints Soton
Copyright © and Moral Rights for this thesis are retained by the author and/or other copyright owners. A copy can be downloaded for personal non-commercial research or study, without prior permission or charge. This thesis cannot be reproduced or quoted extensively from without first obtaining permission in writing from the copyright holder/s. The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the copyright holders.
When referring to this work, full bibliographic details including the author, title, awarding institution and date of the thesis must be given e.g.
AUTHOR (year of submission) "Full thesis title", University of Southampton, name of the University School or Department, PhD Thesis, pagination
http://eprints.soton.ac.uk
UNIVERSITY OF SOUTHAMPTON
FACULTY OF BUSINESS AND LAW
School of Management
Train Scheduling with
Application to the UK Rail
Network
by
Banafsheh Khosravi
Thesis for the Degree of Doctor of Philosophy
May 2013
UNIVERSITY OF SOUTHAMPTON
ABSTRACT
FACULTY OF BUSINESS AND LAW
SCHOOL OF MANAGEMENT
Doctor of Philosophy
Train Scheduling with Application to the UK Rail Networkby Banafsheh Khosravi
Nowadays, transforming the railway industry for better performance and makingthe best usage of the current capacity are the key issues in many countries. Opera-tional research methods and in particular scheduling techniques have a substantialpotential to offer algorithmic solutions to improve railway operation and control.This thesis looks at train scheduling and rescheduling problems in a microscopiclevel with regard to the track topology. All of the timetable components are fixedand we aim to minimize delay by considering a tardiness objective function andonly allowing changes to the order and to the starting times of trains on blocks.Various operational and safety constraints should be considered. We have achievedfurther developments in the field including generalizations to the existing modelsin order to obtain a generic model that includes important additional constraints.We make use of the analogy between the train scheduling problem and job shopscheduling problem. The model is customized to the UK railway network andsignaling system. Introduced solution methods are inspired by the successful re-sults of the shifting bottleneck to solve the job shop scheduling problems. Severalsolution methods such as mathematical programming and different variants of theshifting bottleneck are investigated. The proposed methods are implemented ona real-world case study based on London Bridge area in the South East of theUK. It is a dense network of interconnected lines and complicated with regard tostations and junctions structure. Computational experiments show the efficiencyand limitations of the mathematical programming model and one variant of theproposed shifting bottleneck algorithms.
This study also addresses train routing and rerouting problems in a mesoscopiclevel regarding relaxing some of the detailed constraints. The aim is to make thebest usage of routing options in the network to minimize delay propagation. Inaddition to train routes, train entry times and orders on track segment are defined.Hence, the routing and scheduling decisions are combined in the solutions arisingfrom this problem. Train routing and rerouting problems are formulated as mod-ified job shop problems to include the main safety and operational constraints.Novel shifting bottleneck algorithms are provided to solve the problem. Com-putational results are reported on the same case study based on London Bridgearea and the results show the efficiency of one variant of the developed shiftingbottleneck algorithms in terms of solution quality and runtime.
Contents
Acknowledgements xv
List of Abbreviations xix
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Research objective . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 General combinatorial optimization approaches 9
2.1 Problem Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Mathematical programming . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Linear programming . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Integer programming and mixed integer linear programming 15
2.3 Exact algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.1 Branch and bound . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Dynamic programming . . . . . . . . . . . . . . . . . . . . . 22
2.4 Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5 Local search heuristics . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6 Metaheuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.6.1 Simulated annealing . . . . . . . . . . . . . . . . . . . . . . 27
2.6.2 Tabu Search . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.3 Genetic algorithm . . . . . . . . . . . . . . . . . . . . . . . . 31
3 Problem definition 35
3.1 Train planning and control terminology and concepts . . . . . . . . 36
3.1.1 Network topology and traffic . . . . . . . . . . . . . . . . . . 36
3.1.2 Blocks and signals . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.3 Blocking time theory . . . . . . . . . . . . . . . . . . . . . . 40
3.1.4 Timetable components . . . . . . . . . . . . . . . . . . . . . 41
3.2 Train scheduling and rescheduling purpose and scope . . . . . . . . 42
3.3 Train routing and rerouting purpose and scope . . . . . . . . . . . . 44
3.4 Formal problem definition . . . . . . . . . . . . . . . . . . . . . . . 45
3.5 Our case study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
v
vi CONTENTS
3.6 Data collection and refinement . . . . . . . . . . . . . . . . . . . . . 51
4 Literature Review and Background 57
4.1 Railway planning process . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1.1 Network planning . . . . . . . . . . . . . . . . . . . . . . . . 60
4.1.2 Line planning . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.3 Train scheduling on single track networks . . . . . . . . . . . 61
4.1.4 Train timetabling and periodicity on general railway networks 62
4.1.5 Train scheduling and routing . . . . . . . . . . . . . . . . . . 65
4.1.6 Train rescheduling . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 Job shops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Machine scheduling . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Job shop models and methodologies in general . . . . . . . . 69
4.2.2.1 Job shop problems with shifting bottleneck proce-dures . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2.2 Job shop problems with alternative arcs . . . . . . 74
4.2.2.3 Job shop problems with parallel machines . . . . . 78
4.2.3 Job shop models in railway . . . . . . . . . . . . . . . . . . . 80
4.3 Complexity of scheduling problems . . . . . . . . . . . . . . . . . . 83
5 Train scheduling and disruption management 87
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2 Mathematical formulation . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.1 MILP model . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.2 Modified disjunctive graph formulation . . . . . . . . . . . . 95
5.2.3 Alternative arcs . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.3 Solution methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.1 FCFS dispatching rule . . . . . . . . . . . . . . . . . . . . . 102
5.3.2 Earliest Arc heuristic . . . . . . . . . . . . . . . . . . . . . . 103
5.3.3 Static implication rules and static implications . . . . . . . . 105
5.3.4 EA heuristic algorithm . . . . . . . . . . . . . . . . . . . . . 108
5.3.5 Modified Shifting Bottleneck procedure . . . . . . . . . . . . 108
5.3.5.1 SB Algorithm . . . . . . . . . . . . . . . . . . . . . 112
5.3.5.2 Modified SB algorithm . . . . . . . . . . . . . . . . 114
5.4 Computational results . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.4.1 Test instances . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.4.2 Analysis and comparison of the methods . . . . . . . . . . . 128
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6 Train routing and disruption management 137
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.2 Mathematical formulation . . . . . . . . . . . . . . . . . . . . . . . 140
6.2.1 MILP model . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.2.2 Extended disjunctive graph formulation . . . . . . . . . . . 147
6.3 Solution methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
CONTENTS vii
6.3.1 FCFS dispatching rule . . . . . . . . . . . . . . . . . . . . . 154
6.3.2 Modified Shifting Bottleneck procedure . . . . . . . . . . . . 154
6.3.2.1 Adapted topological-sequence algorithm . . . . . . 158
6.3.2.2 SM and PM subproblems . . . . . . . . . . . . . . 160
6.4 Computational results . . . . . . . . . . . . . . . . . . . . . . . . . 164
6.4.1 Test instances . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.4.2 Analysis and comparison of the methods . . . . . . . . . . . 168
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7 Concluding Remarks 175
7.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
7.2 Extensions and future work . . . . . . . . . . . . . . . . . . . . . . 178
A Train Scheduling and Rescheduling: Experimental Results 181
B Train Routing and Rerouting: Experimental Results 195
Bibliography 205
List of Figures
3.1 Four-aspect signaling system . . . . . . . . . . . . . . . . . . . . . . 40
3.2 Map of the Kent area. Adapted from NetworkRail (2010) . . . . . 50
3.3 London Bridge diagram developed for scheduling problem . . . . . . 54
3.4 London Bridge diagram developed for routing problem . . . . . . . 55
4.1 The railway planning process . . . . . . . . . . . . . . . . . . . . . 58
5.1 (a) Situation with no deadlock (b) Situation with deadlock . . . . . 93
5.2 Disjunctive graph for J ||Cmax . . . . . . . . . . . . . . . . . . . . . 96
5.3 Modified disjunctive graph for J |rj|∑wjTj . . . . . . . . . . . . . 98
5.4 MB-JSS graph: Modified disjunctive graph with alternative arcs forJ |rj|
∑wjTj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.5 (a) alternative arcs for two-aspect signaling (b) Modified alternativearcs for four-aspect signaling . . . . . . . . . . . . . . . . . . . . . . 101
5.6 Illustration of implication rules for following trains on a rail networkwith two-aspect signaling . . . . . . . . . . . . . . . . . . . . . . . . 106
5.7 Illustration of implication rules for opposite trains on a rail networkwith two-aspect signaling . . . . . . . . . . . . . . . . . . . . . . . . 106
5.8 Illustration of modified implication rules for following trains on arail network with four-aspect signaling . . . . . . . . . . . . . . . . 107
5.9 Illustration of modified implication rules for opposite trains on arail network with four-aspect signaling . . . . . . . . . . . . . . . . 108
5.10 Shifiting Bottleneck (SB) flowchart. Adapted from Pinedo andSinger (1999) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.1 A simple network with single and multiple parallel tracks . . . . . . 140
6.2 (a) Situation with a deadlock (b) Situation with no deadlock . . . . 142
6.3 MPM-JSS graph: modified parallel machine job shop schedulingproblem for Pm|rj|
∑wjTj . . . . . . . . . . . . . . . . . . . . . . . 150
ix
List of Tables
3.1 Analogy between train scheduling and job shop scheduling problems 46
3.2 Train scheduling inputs . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3 Train scheduling outputs . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 Analogy between train routing and job shop scheduling problems . 48
3.5 Train routing inputs . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.6 Train routing outputs . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1 Longer running/dwell times - minor and general disruption . . . . . 127
5.2 Late departures - minor and general disruption . . . . . . . . . . . . 127
5.3 Longer running/dwell times - major disruption . . . . . . . . . . . . 127
5.4 Longer running/dwell times and Late departures - major disruption 128
5.5 Longer running/dwell times - minor and general disruption: Aver-age Delay and RD’s . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.6 Late departures - minor and general disruption: Average Delay andRD’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.7 Longer running/dwell times - major disruption: Average Delay andRD’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.8 Longer running/dwell times and Late departures - major disruption:Average Delay and RD’s . . . . . . . . . . . . . . . . . . . . . . . . 133
6.1 Blocked tracks on a single track section . . . . . . . . . . . . . . . 166
6.2 Blocked tarcks on multiple track sections . . . . . . . . . . . . . . 167
6.3 Longer running/dwell times . . . . . . . . . . . . . . . . . . . . . . 167
6.4 Late departures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
6.5 Blocked tracks on a single track section . . . . . . . . . . . . . . . . 170
6.6 Blocked tracks on multiple track sections . . . . . . . . . . . . . . 170
6.7 Longer running/dwell times . . . . . . . . . . . . . . . . . . . . . . 171
6.8 Late departures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.9 Late and On-time Trains . . . . . . . . . . . . . . . . . . . . . . . . 172
A.1 Longer Running/Dwell Time - minor and general disruption: Delayand Average Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
A.2 Longer Running/Dwell Time - minor and general disruption: Av-erage RD wrt EA Heuristic . . . . . . . . . . . . . . . . . . . . . . 183
A.3 Longer Running/Dwell Time - minor and general disruption: Av-erage RD wrt Xpress . . . . . . . . . . . . . . . . . . . . . . . . . . 184
xi
xii LIST OF TABLES
A.4 Late Departure - minor and general disruption: Delay and AverageDelay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
A.5 Late Departure - minor and general disruption: Average RD wrtEA Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
A.6 Late Departure - minor and general disruption: Average RD wrtXpress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
A.7 Longer Running/Dwell Time - major disruption: Delay and Aver-age Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
A.8 Longer Running/Dwell Time - major disruption: Average RD wrtEA Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
A.9 Longer Running/Dwell Time - major disruption: Average RD wrtXpress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
A.10 Longer Running/Dwell Time and Late departure - major disrup-tion: Delay and Average Delay . . . . . . . . . . . . . . . . . . . . 191
A.11 Longer Running/Dwell Time and Late departure - major disrup-tion: Average RD wrt EA Heuristic . . . . . . . . . . . . . . . . . . 192
A.12 Longer Running/Dwell Time and Late departure - major disrup-tion: Average RD wrt Xpress . . . . . . . . . . . . . . . . . . . . . 193
B.1 Blocked Tracks on a Single Track Section: Delay and Average Delay 196
B.2 Blocked Tracks on a Single Track Section: Average RD wrt FCFS . 197
B.3 Blocked Tracks on Multiple Track Sections: Delay and Average Delay198
B.4 Blocked Tracks on Multiple Track Sections: Average RD wrt FCFS 199
B.5 Longer Running/Dwell times: Delay and Average Delay . . . . . . . 200
B.6 Longer Running/Dwell times: Average RD wrt FCFS . . . . . . . . 201
B.7 Late Departure: Delay and Average Delay . . . . . . . . . . . . . . 202
B.8 Late Departure: Average RD wrt FCFS . . . . . . . . . . . . . . . 203
B.9 Late and On-time Trains: Delay and Relative Delay . . . . . . . . . 204
DECLARATION OF AUTHORSHIP
I, Banafsheh Khosravi, declare that the thesis entitled Train Scheduling with Ap-plication to the UK Rail Network and the work presented in the thesis are bothmy own, and have been generated by me as the result of my own original research.I confirm that:
� this work was done wholly or mainly while in candidature for a researchdegree at this University;
� where any part of this thesis has previously been submitted for a degree orany other qualification at this University or any other institution, this hasbeen clearly stated;
� where I have consulted the published work of others, this is always clearlyattributed;
� where I have quoted from the work of others, the source is always given.With the exception of such quotations, this thesis is entirely my own work;
� I have acknowledged all main sources of help;
� where the thesis is based on work done by myself jointly with others, I havemade clear exactly what was done by others and what I have contributedmyself;
� parts of this work have been published as:
1. Khosravi, B., Bennell, J. A., and Potts, C. N. (2011). Train Scheduling in theUK using a Job Shop Scheduling Approach. In Proceedings of the 5th Multi-disciplinary International Scheduling Conference: Theory and Applications(MISTA 2011), Phoenix, Arizona, USA.
2. Khosravi, B., Bennell, J. A., and Potts, C. N. (2011). A Modified Shift-ing Bottleneck Procedure for Train Scheduling in the UK. In Workshopon Mathematical Optimization of Railway-Systems (CPAIOR2011), Berlin,Germany.
3. Khosravi, B., Bennell, J. A., and Potts, C. N. (2012). Train Schedulingand Rescheduling in the UK with a Modified Shifting Bottleneck Procedure.In Proceedings of the 12th Workshop on Algorithmic Approaches for Trans-portation Modeling, Optimization, and Systems (ATMOS 2012), Ljubljana,Slovenia.
4. Khosravi, B., Bennell, J. A., and Potts, C. N. (2012). Modified ShiftingBottleneck Algorithms for Train Scheduling and Rescheduling in the UK.In Proceedings of the Vehicle Routing and Logistics Optimization (VeRoLog2012), Bologna, Italy.
Signed: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Date: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
Acknowledgements
I would like to thank a number of people who helped me throughout my PhD
studies. First of all, I am extremely grateful to my supervisors Professor Julia
A. Bennell and Professor Chris N. Potts for firstly giving me the opportunity to
study at the University of Southampton and then for their valuable guidance and
encouraging support. I greatly appreciate numerous fruitful discussions and the
trust and the freedom during the past few years. They gave me fundamental
technical advice and the general insight on the workings of academic research.
I would like to thank my academic advisor Professor Tolga Bektas for brilliant
suggestions and help in the first couple years of my studies.
I am also grateful to my examiners Doctor Patrick Beullens and Doctor Natasha
Shakhlevich for all the detailed constructive comments and feedbacks that helped
to improve this thesis.
I am also indebted to Professor John Preston and Doctor John Armstrong from
Transportation Research Group (TRG) at the University of Southampton. This
thesis would not have been the same without their inputs on rail transport. I had
the great pleasure of collaborating with them on a railway project in initial steps.
I would further like to thank School of Management and former Faculty of Law,
Arts and Social Sciences (LASS) of the University of Southampton and the LANCS
Initiative which partially funded and supported this research.
I owe my gratitude to Ms. Rosalind Van Dyke and Mr. Kevin Goodman of
Southeastern train operating company in the UK for their technical advice in our
visits to the company and providing the data for Kent area which is used in the
computational experiments.
I am grateful to all my friends who were supportive and made my time as a PhD
student enjoyable. Last but not least, I would like to thank my husband Moham-
mad and my family for their patience, encouragement and persistent support.
xv
List of Abbreviations
ASG Active Schedule Generation
ATC Apparent Tardiness Cost
ECT Earliest Completion Time
EST Earliest Starting Time
FCFS First-Come First-Served
FIFO First In First
GA Genetic Algorithm
MILP Mixed Integer Linear Programming
MJSS Modified Job Shop Scheduling
MBJSS Modified Blocking Job Shop Scheduling
MBPM-JSS Modified Blocking Parallel Machine Job Shop Scheduling
PM Parallel Machine
SA Simulated Annealing
SB Shifting Bottelneck
SM Single Machine
TS Tabu Search
xix
Chapter 1
Introduction
Continuous improvement of reliability, capacity utilization and resilience is a key
issue across all transportation systems and many countries invest in technology
and processes to improve the current railway system. Effective transportation
of passengers and freight is critical to the economic prosperity of a country. In
addition, there are several aspects involved in the railway system which adds to its
importance. Nowadays, there is an increasing demand for train traffic although the
level of congestion is already high in several parts of the rail networks. Moreover,
railway transport is a matter of public concern and customer experience is a major
aspect of the system. There are also concerns about energy use and environmental
issues. Moreover, construction of new railway infrastructure is very expensive.
Acquisition and maintenance of the rolling stock are also very costly.
Although the railway system is very complex and capital-intensive, there are huge
opportunities to improve the system performance for ensuring the best usage of the
available resources. The capacity can be utilized more efficiently to improve cus-
tomer satisfaction and increase the revenue through effective routing and schedul-
ing, which is the focus of this thesis.
1
2 Chapter 1 Introduction
1.1 Motivation
In a railway network, train movements are confined to the tracks and the in-
frastructure is shared by several trains over long distances. Although railway
transportation has been around for more than two centuries, operating trains on
a railway network has become more challenging than before. Large investments
are required to improve the railway network infrastructure, equipment and staff
to satisfy the ever-increasing demand of the traffic for both passenger and freight.
However, utilisation of the railway network can be improved hugely by generating
better plans for railway operations.
Meeting the ever-increasing demand for additional rail capacity is a key issue for
many train companies. There are two ways of providing the additional capacity
for passengers and freight users. One way is to construct new sections of track and
another is through the release of capacity on the current rail network. Whereas
first option is very costly, the latter is linked to train scheduling and routing which
reduces the loss of capacity of the network through better scheduling and routing
decisions.
Management of train operations in real-time is also very important. The issue
becomes more crucial when the network is highly congested and trains are highly
interconnected. A disturbance in this case can easily propagate through the net-
work and affect several services. Train rescheduling and rerouting can help with
real-time decisions in response to disruptions. The aim is to minimize delay prop-
agation through the network with fast and effective scheduling and routing capa-
bility.
The railway industry has a major role in the UK’s transport system. Network Rail
is the train infrastructure manager in the UK who is the owner and operator of
most of the rail infrastructure in the UK. Network rail calculates a measure called
Public Performance Measure (PPM) to show the percentage of train which arrive
at their destination on-time (NetworkRail, 2013). A train is defined on-time in the
UK if it arrives at the destination within five minutes of the planned arrival time for
London and South East or regional service, or within 10 minutes for long distance
services. Therefore, PPM is a measure to calculate the percentage of trains which
Chapter 1 Introduction 3
are neither cancelled nor late. So a criticism is that PPM can underestimate the
importance of cancellations as a 6-minute late train and a cancelled train score
the same. Network Rail announces the national PPM, which includes all train
operating companies as 93% for the first period of 2013-14 from 1 April to 27
April 2013. Compared to the other countries, the measure of punctuality in the
UK can be improved further by unlocking sufficient capacity to provide better
services.
Another issue which can be pointed out in relation to the capacity in the UK
network is about train operating companies (TOC’s). After the privatisation of
British Railways and railway deregulation in the UK, there are several TOC’s
who operate on the same part of the network. TOC’s work under the supervision
of the Network Rail and have different penalties for service delays according to
their contracts with Network Rail. Minimizing the effect of disturbances in such
a complicated situation becomes more critical.
The application of operational research methodologies, in particular scheduling,
along with advances in technology, can provide better services for customers and
increased revenue for the rail industry.
1.2 Research objective
This thesis aims to build on existing models for train scheduling and reschedul-
ing problems with the goal of obtaining a generic model that includes important
operational and safety constraints. Also, the model needs to present special char-
acteristics of the UK railway network. In order to make the best usage of the
existing capacity in the tactical level planning, train scheduling defines train or-
ders and timing on track segments in order to minimize delay propagation in the
network. Train rescheduling is defined in the same context, but its aim is to
respond to a disruption in an operational level. Due to the complexity of the
train scheduling and rescheduling problems, it is usually hard to find optimal so-
lutions for these problems. This study intends to formulate train scheduling and
rescheduling problems as modified job shop scheduling problems in order to make
use of the algorithmic advances found in the literature to solve the problem. The
4 Chapter 1 Introduction
performance of the proposed solution methods is evaluated through a case study
from the UK rail network.
This thesis also addresses the train routing and rerouting problem which focuses
on offering better routing decisions in order to minimize delay propagation. In
addition to train routes, their order and timing on track segments are defined.
Train routing can be preformed at both tactical and operational levels to suggest
routes in an advance plan and in the case of a disruption, respectively. We aim
to offer a generic model with main operational and safety constraints which can
be customised to the UK railway network. We make use of the analogy between
the train routing problem and job shop scheduling problem to formulate the prob-
lem. Algorithms are proposed based on job shop approaches to offer near optimal
solutions in a short period of time.
1.3 Contribution
In recent years, many railway projects have emerged as a result of collaborations
between the rail industry and academia which address a high level of details in
optimization models. However, many studies in the literature simplify the network
details and model the train scheduling problems such that less detail about the
topology of the network is included. There is a pitfall of oversimplification and
losing critical details which affects the precision of the decisions.
Modeling train scheduling and routing problems leads to large formulations. Some
studies in the literature need a significant amount of preprocessing and sometimes
they are not flexible with regard to a change in the network such as adding a
new link. Therefore, an adaptable problem formulation can have major benefits
particularly for real-time planning.
Another shortcoming in the literature is about formulating and solving train
scheduling and routing problems in separate phases. Integrating scheduling and
routing can have additional benefits in terms of solution quality and computa-
tional time. Moreover, the literature mostly looks at one junction at a time in the
Chapter 1 Introduction 5
routing phase. Looking at more than one subsequent junctions can have obvious
benefits on routing decisions.
There are many optimization approaches for train scheduling and routing problem
which are proposed for railway networks in Europe and America. However, less
work has been done in terms of optimization algorithms in the UK network.
Although there is currently an increasing trend towards realism in railway opti-
mization problems, more work is still needed to fill the gap between theory and
application.
In view of the above discussions, the main contributions of this thesis with regard
to train scheduling can be given as below.
� A flexible formulation is proposed for train scheduling as a modified job shop
problem in order to minimize delay. It looks at the detailed layout of the
tracks. Schedules arising from solving this model offer precise timing and
order of the trains on track sections which conforms to a microscopic planing
level in terms of network topology.
� A generic mathematical programming model is suggested for train schedul-
ing and rescheduling which formulates the main operational and safety con-
straints and it can represent particular characteristics of the UK rail network.
Experimental results on our case study show the computational advantage of
the proposed model for tackling smaller disruptions in terms of the solution
quality and runtime.
� A novel algorithm using job shop scheduling concepts is proposed and tested
on our case study. The efficiency of the method appears during bigger dis-
ruptions where the other approaches struggle even to offer feasible solutions
in some cases.
� A novel heuristic is suggested to avoid infeasibility of the solution in order
to serve as a baseline for our comparisons. It appears that simply finding
a feasible solution is nontrivial as the developed FCFS algorithm frequently
runs into infeasibility.
6 Chapter 1 Introduction
Here, we list the main contributions of the train routing in the following.
� The train routing and scheduling problem is formulated with a flexible model
based on modified job shop problem to minimize delay propagation. It looks
at the mesoscopic planning level. Hence, the model can be used for the
tactical and operational planning.
� A generic mathematical programming problem which can be also adapted
to the UK network is offered. It incorporates main operational and safety
constraints.
� A novel algorithm based on job shop scheduling approaches has been devel-
oped. Computational results show the efficiency of the algorithm in handling
different types of disruption. Results are reported for our case study in the
UK network.
� A combined approach for train scheduling and routing is offered in this
study which has substantial advantages over solving the problems in sep-
arate phases both in terms of solution quality and computational time.
� A real-world case study is developed for a complicated network in the UK.
It provides a detailed representation of particular characteristics of the UK
rail network. Development of the case study includes challenging steps for
data collection, refinement and implementation with regard to both train
scheduling and routing problems.
1.4 Thesis Overview
The remainder of this thesis is organized as follows. Some well-known solution
methods for combinatorial optimization are introduced in Chapter 2. In Chapter 3,
the terminology and concepts of train planning and control are explained. The
purpose and scope of the train scheduling and routing problems are also defined in
this chapter. Then, a real-world case study in the UK rail network is introduced.
Chapter 4 gives an overview of the railway planning studies. We also offer a
literature review of job shop scheduling in general and in railway studies. The train
Chapter 1 Introduction 7
scheduling and rescheduling problems are addressed in Chapter 5 which contains
the development of our proposed model. We adapt the shifting bottleneck solution
approach for the particular job shop problems that arise in train scheduling and
rescheduling. The performance of the proposed methods on a real-world case
study based on London and South East area of the UK is also reported in this
chapter. Chapter 6 offers the study on train routing and rerouting problems. After
formulating the problems as a modified job shop problem, we suggest a modified
shifting bottleneck to solve it. Then, computational experiments for the proposed
methods are provided for the same case study. Finally, Chapter 7 presents some
concluding remarks and suggestions for future work.
Chapter 2
General combinatorial
optimization approaches
Operational Research or Operations Research (OR) was initiated during World
War II in Britain. After the war, the ideas in military operations were expanded to
civilian sectors and helped with advances in efficiency and productivity in industry
and commerce. Management Science (MS) is another term which is interchange-
able with OR. Nowadays, OR and MS are widespread in the world and they are
dominant and indispensable tools in decision making and management.
In this context, optimization tries to find the best possible solution through a
mathematical model. The mathematical models are the cornerstones of OR and
solving a model provides a foundation to reach a decision. A mathematical op-
timization model consists of an objective function and some constraints. There
are different techniques in the literature in order to minimize or maximize some
evaluation functions.
Broadly speaking, a Combinatorial Optimization Problem (COP) is any optimiza-
tion problem with a finite number of feasible solutions. If we have a discrete search
space X and a function f : X 7→ R, the COP problem is to find x∗ = argmaxfx∈X
,
where x is a vector of decision variables and f is the objective function for a
maximization problem. Same argument stands for a minimization problem with
9
10 Chapter 2 General combinatorial optimization approaches
relevant changes. Thus, COP can be defined more specifically as an optimiza-
tion problem which has a discrete search space and an objective function of dis-
crete variables. Combinatorial optimization is about studying effective search
algorithms to solve COPs by examining the solution space effectively. In com-
binatorial optimization problems, we are usually concerned with finding the best
selection, arrangement, sequence, etc with regard to a specific objective function
(Papadimitriou and Steiglitz, 1982).
Some of the well-known COPs can be listed as travelling salesman problem (TSP),
minimum spanning tree problem, shortest path problem, facility location, knap-
sack problem, assignment problem, vehicle routing, matching, set covering, net-
work flow and machine scheduling. There are different methods to solve COPs such
as integer programming, branch-and-bound, dynamic programming, local search
and metaheuristics which are discussed in the following sections.
2.1 Problem Complexity
Complexity theory is developed by logicians and computer scientists based on a
mathematical framework. Complexity theory addresses the computational com-
plexity of the algorithms with regard to required resources such as time and storage
to solve the problem. Assume that a computational problem can be presented as
a function h which maps an input x in a given domain to h(x) in a given range.
We are interested in an algorithm h(x) for an input x to solve the computational
problem.
Measuring the performance of an algorithm is one of the main issues of complexity
theory. As it is commonly assumed in any text on computational complexity, in
order to define a computational step, a Turing machine is used as a standard
mathematical model of a problem. If we define the input length |x| as the length
of the an encoding of x, the efficiency of an algorithm for a given problem is
measured by an upper bound T (n) on the number of steps that the algorithm
takes on an input x with |x| = n (Brucker, 2007). As it is hard to calculate the
precise form of T , the asymptotic order is used. If there exist constants c > 0 and
Chapter 2 General combinatorial optimization approaches 11
a nonnegative integer n0 such that T (n) ≤ cg(n) for all integers n ≥ n0, we say
that T (n) ∈ O(g(n)).
A search problem can be defined as a problem with a solution which can be
checked effectively for correctness. It means if there is an instance Ins with a
proposed solution Sol, we can find a Polynomial algorithm to determine whether
the solution Sol is an actual solution for instance Ins.
According to complexity theory, problems can be classified to main classes of P
and NP . NP stands for Nondeterministic Polynomial which determines that
there is an idealised algorithm to find and verify a solution and the algorithm
can guess correctly at each stage. As the problem is nondeterministic, there are
different choices for computation. Actually, the computation becomes like a search
tree. Therefore, not all paths result in an actual solution. If a correct choice is
made in each stage, we can reach a correct solution in polynomial time. NP is the
so-called class of all search problems. According to the discussion above, if in all
cases we can find a path deterministically to a solution, the problem is in class P
which denotes polynomial. Thus, P is the class of the problems that are solved in
Polynomial time.
In complexity theory, there is a distinction between optimization problems and
decision problems. A problem is a decision problem when the output range is
{yes, no}; Therefore, the decision problems are also called as yes-no problems
(Pinedo, 2008). More formal definitions of classes of P and NP are given in the
following. If there is a polynomial p such that T (|x|) ∈ O(p|x|) for all inputs x of a
problem, the problem is polynomially solvable. The class of all decision problems
which are polynomially solvable is shown by P (Brucker, 2007). A problem is
called pseudopolynomially solvable if there is a pseudopolynomial algorithm which
solves the problem (Brucker, 2007).
For a problem to be in class NP , it is not required that every instance can be
solved by a polynomial algorithm. We simply require that ,if |x| is a “yes” input
in the decision problem in class NP , it has a certificate y such that |y| is bounded
by a polynomial in |x| and a polynomial time algorithm exists which verifies that
y is a valid certificate for x (Papadimitriou and Steiglitz, 1982; Brucker, 2007).
12 Chapter 2 General combinatorial optimization approaches
It should be noticed that P is a subset of NP . If we have a decision problem
solvable in polynomial time which calculates the answer h(x) ∈ {yes, no} for each
input x, the answer h(x) can be used as a certificate and this certificate can be
verified by the algorithm. Therefore, we can conclude that P ⊆ NP which means
that P is also in NP (Papadimitriou and Steiglitz, 1982; Brucker, 2007). It is
generally speculated that P 6= NP , but there is no proof known for it. It is one
of the major open problems of the modern mathematics and a $1, 000, 000 prize
is offered to solve it.
Another fundamental concept in complexity theory is the problem reduction. It is
often the case that one combinatorial problem is a special case of another problem
or more general than the other one. When an algorithm works well for one, it can
often work well for the other one with some modifications. If we have two decision
problems Q and Q′, it is said that Q reduces to Q′, denoted as Q ∝ Q′, if there is
a polynomial time computable function g that convert input of Q to Q′ such that
x is a yes input of Q if and only if g(x) is a yes input of Q′ (Papadimitriou and
Steiglitz, 1982; Brucker, 2007).
In a renowned theorem, Cook (1971) introduced a proof for a class of hardest
search problems which are called NP -complete. NP -complete problems are a very
important subset of class NP and if all other search problems are reduced to it,
the search problem is NP -complete. More formally, we call a decision problem Q′,
NP -complete if Q′ ∈ NP and all the other decision problems Q ∈ NP , transform
to our problem, that is Q ∝ Q′. To highlight the importance of the NP -complete
problems in complexity theory, it should be mentioned that if any NP -complete
problem Q can be solved in polynomial time, all problems in NP are also solved in
polynomial time and we can conclude P = NP . This is one of the most important
theoretical questions in mathematical logic and combinatorial optimization.
A problem is NP-hard if the entire class of NP problems are polynomially reduced
to it (Garey and Johnson, 1979). We call an optimization problem NP -hard if
the corresponding decision problem is NP -complete (Brucker, 2007). It should
be noted that when a scheduling problem is solved, we deal with optimization
problems instead of decision problems.
Chapter 2 General combinatorial optimization approaches 13
Finding the solution to the NP-hard problems in polynomial time is an issue. So
we may need to settle for approximation methods or implement search methods
to find the best possible solution. Also, it becomes very demanding in terms of
time and computational effort to find an optimal or near-optimal solution. This
is specially the case when real-world optimizations are involved. Therefore, it is
important that the search method can find a sufficiently good solution in many
applications.
2.2 Mathematical programming
Nowadays with the advances in technology and faster computers, solution based
on mathematical programming for practical problems are more prevalent. Math-
ematical programming has a wide range of applications in different areas such as
scheduling and resource allocation.
The mathematical model includes an objective function, decision variables and
some constraints and the aim is to find values of the decision variables in order to
minimize or maximize an objective function among all the values of the decision
variables that satisfy the constraints. In the following, three classes of mathemat-
ical programming are presented as linear programming in Subsection 2.2.1, and
integer programming and mixed integer linear programming in Subsection 2.2.2.
2.2.1 Linear programming
Linear programming is a mathematical programming approach and it is one of
the widely used OR techniques. In a linear program, the objective function and
constraints are strictly linear. More precisely, an instance of Linear Program (LP)
can be defined as a maximization (or minimization) of a linear function over a
polyhedron:
Maximize (Minimize) CX
subject to
AX ≤ b
14 Chapter 2 General combinatorial optimization approaches
where A ∈ Rm×n, b ∈ Rm and the variables X ∈ Rn. It should be noted that the
feasible region in an LP is a convex space and the objective function is a convex
function. Thus, according to the optimization theory, the optimal solution can be
found at an extreme point of the feasible region as long as the variables are of any
real non-negative values and probably bounded above (Burke and Kendall, 2005).
Duality is an important concept of the linear programming. For a maximization
problem of the form
Maximize CX
subject to
AX ≤ b
X ≥ 0
which is called the primal problem, where all constraints are ≤ constraints and
all variables are non-negative, there is a dual problem defined as
Maximize bTY
subject to
ATY ≤ CT
Y ≥ 0
The optimal solution value of the primal and dual problems are the same. If
both primal and dual problems are formulated in standard form with s1, s2, ..., sm
and e1, e2, ..., en as the slack variables of primal and dual problems respectively,
according to the theorem of complementary slackness, if X = x1, x2, ..., xn is a
feasible primal solution and Y = y1, y2..., yn is a feasible dual solution, X is primal
optimal and Y dual optimal if and only if siyi = 0,∀i = 1, 2, ...,m and ejxj =
0,∀j = 1, 2, ..., n. This important property is quite useful in developing LP-based
solution approaches.
In general, solution approaches for LP problems can be categorized in two classes
of simplex-based and interior point methods. These techniques are developed
based on the concept of searching the extreme points of the feasible region of the
primal or dual problems until the optimality conditions are satisfied. Variants
Chapter 2 General combinatorial optimization approaches 15
of the simplex-based methods have emerged after the seminal work of Dantzig
(1951) and used in optimization software packages. The only disadvantage of
these methods is that they have poor worst-case time performance.
Due to this deficiency, the interior point methods are developed where they search
for solutions through a path in the interior points of the feasible region and the
optimal solution is found when they reach the boundary. The study of interior
point methods trace back to Karmarkar’s algorithm by Karmarkar (1984) which
shows that it is possible to create an algorithm with polynomial complexity for
linear programming problems. Although the ellipsoid method by Kachiyan (1979)
was already developed as the first polynomial time algorithm, it was too slow to
be interesting in terms of practical use.
Linear programming can model real situations and find optimal solutions to very
huge problems with thousands of variables and constraints, and millions of vari-
ables and constraints with the new computers. However, there is often a level of
approximation involved in the modeling phase which helps with solving the model.
Compared to the other approaches, linear programming is quite a strong tool in
terms of the modeling and solvability (Taha, 2002). Linear programming is the
foundation of other analytical OR models such as integer, nonlinear and stochas-
tic programming. Linear programming has a wide range of practical interest in
different disciplines such as industry, transportation, health care and military.
2.2.2 Integer programming and mixed integer linear pro-
gramming
Integer programming is another mathematical programming approach where vari-
ables are assumed to be integer. In other words, integer programming is similar to
linear programming with more restrictions. At first, this requirement may seem
very straightforward, but it can extensively add to the difficulty of the problem to
solve. Wolsey and Nemhauser (1998) and Schrijver (1998) are excellent references
addressing theoretical concepts of integer programming.
16 Chapter 2 General combinatorial optimization approaches
However, integer programming is a powerful optimization tool to model many
problems. A key issue in modeling problems as an integer programming is how
the formulation is done. Similar formulations can lead to different computational
results. While one model may lead to a fast or even optimal solution, the other one
may take a long time to be solved. There are some key issues to model and solve
better integer programming. Generally, finding formulations with strong linear
relaxations, considering more variables and constraints and avoiding symmetry
results in more successful integer programming models (Burke and Kendall, 2005).
By dropping the integrality constraints of an integer program (IP), an associated
linear program is created which is called the linear relaxation of the problem. The
linear relaxation of the IP has several properties in relation to the associated IP.
These properties can be quite useful to solve the IP as it provides a bound on
the optimal solution of the IP. The optimal value of the linear relaxation is less
(greater) than or equal to the optimal value of the IP if IP is a minimization
(maximization) problem. If the linear relaxation is infeasible, IP is also infeasible.
If all the variables in an optimal solution of a linear relaxation are integer, that
solution is optimal for the IP.
One of the most common approaches to solve integer programming problems is
branch-and-bound which is discussed in detail in Subsection 2.3.1. It is not always
the case that branch-and-bound can solve the problem quickly and there are a
number of techniques to improve the computation time. One of the techniques is
to find a good formulation with strong relaxation. In an empirical viewpoint, a
good formulation is the one for which branch-and-bound or another integer pro-
gramming technique can find the optimal solution quickly (Burke and Kendall,
2005). The most important aspect for a successful formulation is to find a for-
mulations with a linear relaxation which does not differ a lot from its associated
IP.
As noted before, a strong linear relaxation improves the strength of the formula-
tion. By adding certain types of constraints, we can cut off the optimal solution x∗
which can generate improved relaxations around the linear relaxation optimum.
Chapter 2 General combinatorial optimization approaches 17
For instance, consider an IP which has constraints of form
∑j
ajxj ≤ b
where all xj are required to be binary and aj are nonnegative. Consider a subset
C of the variables such that
∑j∈C
aj > b.
We can deduce the following cover constraint
∑j∈C
xj ≤ |C| − 1
which is not violated by any feasible integer solution and cuts off a fractional
solutions if C is minimal. Although we like to add such constraints to our model,
the number of these constraints can be exponential in n which makes it impractical
to include all of them. We select and generate only the constraints which are
needed so that we can benefit from the strength of the improved relaxation without
huge number of constraints.
One of the most well-known constraints that can be applied to any IP is the
Gomory Cut (Gomory, 1958). Cutting planes offer the possibility of improving
relaxation values and have been exploited to make branch-and-bound more ef-
fective. Crowder et al. (1983) showed that cutting planes can greatly strengthen
relaxations and improve the branch-and-bound method.
Similar to the constraints, we can improve the IP formulation by adding many
variables. Just as we can handle an exponential number of constraints by gener-
ating them as needed, we can create variables as they are needed through variable
generation. If we consider a formulation with a huge number of variables, we can
start solving this problem by a smaller number of variables at first. Thus, we solve
the linear relaxation to get the dual values associated with each constraints. Then,
we can determine if adding one or more variables to the formulation can result in
a better solution. If the inclusion of the variable(s) does not improve the solution,
we solve the linear relaxation and repeat the same process.
18 Chapter 2 General combinatorial optimization approaches
Generally, models with a large number of variables provide tight formulations. It
would be very time consuming to check all variables if the number of variables is
high. It is necessary to develop a variable generation routine to find improving
variables. Using appropriate branching rules with variable generation for solving
the subproblem at each node in a branch-and-bound method is called branch and
price. Barnhart et al. (1998) offers an excellent survey of this approach.
Another cause for the failure of the integer programming models is symmetry and
branch-and-bound can become very inefficient for solving models with symmetries.
Depending on the problem, there are different ways to remove the symmetries in
a formulation. We can break the symmetry through adding constraints, fixing
variables or modifying the formulation.
A pure integer program is a formulation in which all variables are integer, otherwise
the problem is mixed integer program (MIP) or Mixed Integer Linear Program
(MILP) (Papadimitriou and Steiglitz, 1982). A formulation is called a MIP or
MILP problem when it involves some variables which are constrained to be integer
and some which are not integer.
According to Wolsey and Nemhauser (1998), a MILP problem can be written
generically as
Maximize CX +HY
subject to
AX +GY ≤ b
where X ∈ Zn+ and Y ∈ Rp
+. C, H, A, G and b are matrices which has integral
coefficients with dimensions mentioned in the following. C is 1× n, H is 1× p, Ais m× n, G is m× p and b is m× 1, where p and n are any nonnegative integers
with p+ n ≥ 1 and m is any positive integer.
According to the above formulation, pure integer programming is a special case of
MILP problem when p = 0 and linear programming is the special case of MILP
problem when n = 0. An instance of a linear or pure integer program is also an
instance of a MILP. Therefore, an algorithm which can solve all instances of MILP,
can solve all instances of special cases of pure integer and linear programming.
Chapter 2 General combinatorial optimization approaches 19
Thus, it can be obviously concluded that MIP is at least as hard as pure integer
and linear programming (Wolsey and Nemhauser, 1998).
Although most of the books on operations research and combinatorial optimization
deal with MILP models, there are a few references like Plastria (2002), Williams
(1990) and Paschos (2010a) which cover a systematic approach for MILP mod-
eling. Some basic MILP formulations for well-known combinatorial optimization
can be listed as the knapsack problem, the set covering/set partitioning problem,
the minimum cost flow problem, the maximum flow problem, the transportation
problem, the assignment problem and the shortest path problem.
There are some general techniques to enable us to develop linear models when
there are nonlinear expressions or there are logic conditions between real/integer
variables and/or between binary variables. We refer the reader to Paschos (2010a)
for more details about modeling tricks to deal with the following situations.
� Min-max, max-min, min-abs models
� logic conditions such as one-to many conditions, fixed charge constraints,
big-M constraints, either-or constraints
For an insightful study on how to define tight representations of logical conditions
by using linear constraints, we refer to Yan and Hooker (1999).
According to Paschos (2010a), a MILP model has a good formulation if its linear
programming relaxation is sufficiently tight. This means that optimal solution
of the linear programming relaxation is sufficiently close to the optimal solution
of the MILP. It is also advised that in order to develop a good MILP model, all
structural properties of the problem should be taken into account.
2.3 Exact algorithms
Exact algorithms are methods which guarantee to compute optimal solutions. In-
teger programming has already been described in Section 2.2. We discuss two
main classical exact algorithms, branch-and-bound in Subsection 2.3.1 and dy-
namic programming Subsection 2.3.2.
20 Chapter 2 General combinatorial optimization approaches
2.3.1 Branch and bound
Branch-and-bound algorithm, which was proposed first by Land and Doig (1960),
is an algorithm to find optimal solution for a problem. Branch and bound algo-
rithm is based on a systematic enumeration of all feasible points of a combinatorial
optimization problem which solution has a tree structure (Papadimitriou and Stei-
glitz, 1982). Compared to a complete enumeration, the branch-and-bound search
is more effective as it discards unattractive alternatives by evaluating them with
local information.
Branch-and-bound tries to construct a proof that a solution is optimal through
successive partitioning of the solution space. We assume that the combinatorial
problem to be solved is a minimization problem. Two components of the branch-
and-bound algorithm in a general context to develop a tree are as below.
� Branching : A set of solutions shown by a node is partitioned into mutually
exclusive subsets, where each subset is shown as a child of the parent node.
� Lower bounding : An algorithm is implemented for calculating a lower bound
for each solution of a given subset.
Assume X to be a set of feasible solutions and f : X → R to be a criterion
function. Define X∗ as the set of optimal solutions such that
X∗ = {x∗|x∗ ∈ X, f(x∗) = min{f(x)|x ∈ X}} (2.1)
Lenstra (1977) suggests a branch-and-bound procedure to find an element of X∗
in the following.
� The best solution x∗ found so far, during the execution of the procedure,
provides an upper bound f(x∗) on the optimal solution value.
� Let Y ⊂ X. A branching rule b is defined which associates a family b(Y ) of
subsets to Y such that⋃
Y ′∈b(Y )
Y ′ ∩X∗ = Y ∩X∗, where subsets Y ′ are the
children of the parent subset Y . The branching rule is defined on a class X
with x ∈ X and b(Y ) ⊂ X for any Y ∈ X.
Chapter 2 General combinatorial optimization approaches 21
� A bounding lb : X → R is to offer a lower bound lb(Y ) ≤ f(x) for all
x ∈ Y ∈ X. Eliminate Y if lb(Y ) ≥ f(x∗).
� The logical variable ξ : X → true, false determines if during the evalua-
tion of Y (for instance while calculating lb(Y )) a feasible solution x(Y ) is
produced which has to be examined. x∗ is improved if f(x∗) > f(x(Y )).
� A search strategy selects a subsets from the generated subsets which have
not been neither eliminated nor resulted in branching so far.
In summary, the branch-and-bound prunes some branches of the tree which seem
to result in sub-optimal results. The evaluation of a partial solution is through the
use of upper and lower bounds. A problem is repeatedly partitioned into a set of
smaller subproblems where the nodes at each level correspond to partial solutions.
In a minimization problem, search starts from a root node and when the lower
bound of a node is worse than the upper bound which is found so far, the node is
pruned.
There are different choices in how to implement a branch-and-bound algorithm for
a given problem. Lenstra (1977) determines three general search procedures given
as below
� Frontier search: A breadth-first search is implemented where a subset with
minimal lower bound is chosen for evaluation.
� Newest active node search: A depth-first search is employed where children
of a parent subset are evaluated in an arbitrary order.
� Restricted flooding: A depth-first search is carried out when the children are
selected in nondecreasing order of lower bounds.
In general, many problem-dependent adjustments may be included in a branch-
and-bound algorithm. For instance, Y can be eliminated during the calculation of
lb(Y ) or by using some elimination criteria based on dominance rules or feasibility
considerations (Lenstra, 1977).
22 Chapter 2 General combinatorial optimization approaches
With regard to many possibilities to organize the branching, Brucker (2007) de-
scribes firstly the possible trade-offs between choosing a relatively tight lower
bound with higher computation time, and calculating not so tight lower bounds
which requires less computation time. Secondly, he mentions about the same trade-
off which exists in selecting the dominance relation. Thirdly, he explains about
the choice of which node to branch from at each branching step. Brucker (2007)
and Papadimitriou and Steiglitz (1982) determine usual alternatives for branching
at each node as least-lower-bound-next, last-in-first-out or first-in-first-out.
Brucker (2007) and Papadimitriou and Steiglitz (1982) mention that most of the
time the branch-and-bound algorithm is stopped before optimality is reached due
to the design or necessity. Therefore, we end up with a complete solution with cost
U and the lowest lower bound LB of any live node providing a lower bound on the
optimal cost. Thus, we are in the ratio of (U − LB)/LB of optimal solution. Let
OPT determine the optimal solution, then (U − OPT )/OPT ≤ (U − LB)/LB,
that is (U −LB)/LB is an upper bound for the performance ratio of the heuristic
that is obtained by terminating the branch-and-bound algorithm before it reaches
the optimal solution.
It should be clear now that the branch-and-bound algorithm is not a specific al-
gorithm, but a wide class and its performance hugely depends on the branching
strategies and the quality of the bounds. Design of a branch-and-bound algo-
rithm depends on the problem and the data. In order to develop a good branch-
and-bound, some computational experiments are needed. The main drawback of
branch-and-bound algorithm is the long computational time and in a large size
problem, the computation time may become prohibitive. Therefore, it is necessary
to develop heuristics which lead to reasonable results in a reasonably short time
(Pinedo, 2008). Lawler (1966) offer a good review of branch-and-bound studies
up to 1966.
2.3.2 Dynamic programming
Dynamic programming is similar to branch-and-bound in the sense that it is an
implicit enumeration of all the feasible points of a problem. Dynamic programming
Chapter 2 General combinatorial optimization approaches 23
(DP) was firstly developed by Richard Bellman in the 1940’s (Bellman, 2003).
DP is a technique where the solution process is decomposed into solving smaller
subproblems. This break down makes it easier to solve the smaller problems.
Actually DP looks at all the possibilities at each stage of the solution. In each
stage, we need to decide how to get to the next stage through a number of states.
Defining stages and states are the main tasks to solve a problem by DP. Although
determining stages and states depends on the problem, but generally stages are
associated with time periods such as planning horizons and years, and states cor-
respond to the attributes of an entity like the amount of production or capacity
of a resource.
DP solves a problem recursively and the optimal solution of a subproblem is the
input for the next subproblem. Thus, a recursive function needs to be formulated
to connect the current stage with its states to the previous stages and its states.
Paschos (2010a) introduces a formal framework of the dynamic programming in
the following. Assume that the combinatorial optimization problem we need to
solve, can be broken down into n+ 1 periods 0, ..., n where n is an integer n ∈ N.
Let Si, defined for each period i, be a set of all states at the end of a period i.
Suppose S =n⋃
i=0
Si denotes the set of all states. Further assumptions are defined
as below.
� Si∩Sj = ∅ if i 6= j. It is not a restrictive assumption because if this is not the
case, the states can be redefined by adding the index of the corresponding
period.
� There is a unique initial state s0 and a unique final state sn. It is not a
restrictive assumption as we can add dummy initial and/or a final state.
DP aims to take a decision at each period such that the decisions are optimal
for certain criteria at the end of the process. Let X denote a set of all possible
decisions. Considering that not all decisions can be taken in each state, there is a
corresponding subset (which is included in set X) representing possible decisions
in each state. Therefore, we define a set A ⊂ S ×X : (s, x) ∈ A to show that the
decision x can be taken in state s.
24 Chapter 2 General combinatorial optimization approaches
A decision taken at the period i gets us from one state to another one. A transition
function t : A → S is considered, where t(s, x) denotes the state that we are in
after taking decision x in state s. This means a decision (s, x) ∈ A from a state
s ∈ Si at the end of period i takes us to a state t(s, x) ∈ Si+1 at the end of period
i+ 1.
If final stage of the problem is analyzed in the first stage of the approach, the
algorithm represents a backward DP. Similarly, a forward DP solves the the first
stages of the problem in the first stage of the approach.
The main characteristic of dynamic programming is called principle of optimality
and it means that for a given state, an optimal decision for the remaining stages
should not depend on previously chosen stages. Papadimitriou and Steiglitz (1982)
offer a formal definition of the principle of optimality in the following. Suppose
we need to make a sequence of n decisions D1, D2,...,Dn, in order to solve a
combinatorial optimization problem. If the sequence of decisions is optimal, the
last k decisions Dn−k+1, Dn−k+2,...,Dn should be optimal. This means that the
completion of an optimal sequence of decisions should be optimal.
It can be seen from the discussions above, DP is a general idea that can be ap-
plied to different problems in different ways as there are various ways of breaking
the problem into stages and formulating a recurrence relation. Some of the NP-
hard problems in the literature have been solved pseudopolynomially using DP
(Brucker, 2007). Denardo (1982), Ross (1983) and Bertsekas (1987) are some of
the books that have been written on dynamic programming.
This approach can provide satisfactory results if the problem is not too large. The
main disadvantage of the DP is due to the fact that the number of subproblems
depends not only on stages, but also on the states, which may result in running
out of memory.
2.4 Heuristics
A heuristic is a method to obtain high quality solutions at a reasonable com-
putation cost which does not guarantee the optimality and possibly feasibility
Chapter 2 General combinatorial optimization approaches 25
(Rayward-Smith et al., 1996). According to (Brucker, 2007), we can consider any
approach without formal guarantee of performance as a heuristic which is use-
ful in practice when there is no better method. They are the method of choice
for NP-hard problems as they provide robust solution approaches for problems of
practical interest in a controllable time.
There are two main classes of constructive and perturbative heuristics. Whereas
constructive heuristics build a solution from scratch, perturbative heuristics start
with an initial complete solution and afterwards try to iteratively improve it.
Different variations of the heuristics include local search, simulated annealing,
tabu search and genetic algorithm (Burke and Kendall, 2005). In the following
sections, we will address some of the mentioned heuristics.
2.5 Local search heuristics
In general, local search methods provide only feasible solutions which are not
guaranteed to be optimal (Brucker, 2007). So the result and performance of a local
search algorithm cannot be assured. However, local search method is widely used
to solve many NP-hard optimization problems approximately (Paschos, 2010b).
Local search methods can solve a wide range of hard combinatorial problems. Local
search can be a very effective heuristic for computationally complex problems and
it is often in fact, the best available Papadimitriou and Steiglitz (1982).
Brucker (2007) and Papadimitriou and Steiglitz (1982) summarize the general local
search algorithm in the following. If an instance (F, c) of an optimization problem
is given, where F is the feasible set and c is the cost mapping, a neighborhood
N : F → 2F is chosen such that it is searched at point t ∈ F for improvement
according to the following subroutine
improve(t) =
any s ∈ N(t) with c(s) ≤ c(t), if such an s exists
′no′, otherwise(2.2)
A local search starts from an initial solution t ∈ F and explores the solution space
in order to improve the solution by searching the neighborhood of the current
26 Chapter 2 General combinatorial optimization approaches
solution for a better solution. If the new solution is accepted, we move to that
solution by applying some transformations by using subroutine improve(t). Then,
we need to consider the neighbors of this solution and the process is repeated until
no better solution can be found. Thus, the algorithm stops when it reaches a
solution which is not strictly better than itself. Such a solution is called local
optima Paschos (2010b).
Papadimitriou and Steiglitz (1982) represent the local search algorithm framework
in the following.
Algorithm 1 Local Search
t := some initial starting point in F ;while improve(t) 6= ′no′ dot := improve(t);
end whilereturn t
To obtain a an initial solution, it is sometimes practical to run local search algo-
rithm from different starting points and select the best result. The definition of
the neighborhood and the moves (transformations) are dependent on the problem
structure. According to Papadimitriou and Steiglitz (1982), very little theory is
available as a guide for defining the neighborhood and a search method for it.
Therefore, choices are mostly based on intuition. A larger neighborhood can pro-
vide better local optima, but it will take longer computation time to search it.
Designing an effective local search is an art and questions about it are usually
answered empirically.
The simplest form of the local search is the descent which performs a series of
moves as discussed above. The main drawback of descent local search is that it
can be trapped at a local optimum.
Iterated descent local search is capable of finding near-optimal solutions for a wide
range of complex combinatorial problems and it is more applicable in comparison
with descent search. Iterated descent search has a perturbation operator in ad-
dition to the descent search which helps the solution not to get stuck in a local
optimum. This operator which is called a kick move changes the local optimum
to a new starting point for the descent search.
Chapter 2 General combinatorial optimization approaches 27
The complexity of a problem which includes finding a locally optimal solution
is an open problem which means that we do not know if it is possible to find a
solution in polynomial time. Johnson et al. (1988) introduce the complexity class
Polynomial-time Local Search (PLS). Paschos (2010b) have mentioned that many
local search problems are proved to be complete for the class PLS with regard to
an appropriate reduction. Therefore, the class PLS represents the complexity of
local search problems in a similar way to class NP which shows the complexity of
combinatorial optimization problems.
Aarts et al. (1994) offer a detailed computational study for local search algorithms
applied on job shop scheduling problems. Books by Aarts and Lenstra (1997) and
Hoos and Stutzle (2005) offer a general overview of local search. Local search is
the basis for many metaheuristics such as Simulated Annealing and Tabu Search
(Paschos, 2010b). In addition, it can be used jointly with other metaheuristics like
Genetic Algorithm. In the next section, metaheuristic methods such as Simulated
Annealing, Tabu Search and Genetic Algorithm are discussed.
2.6 Metaheuristics
Metaheuristics is a term employed for a special class of the heuristic methods which
are beyond the heuristics in terms of the strategy and procedure and they can guide
and modify underlying heuristics. They are also called modern heuristics and they
have received a lot of interest among search methodologies. Metaheuristics are
more complicated than heuristics and some of the well-known metaheuristics in
the literature are simulated annealing, genetic algorithm and tabu search.
2.6.1 Simulated annealing
Simulated annealing (SA) is a stochastic heuristic which is developed based on the
analogy between annealing process and solving COPs. It is a method which tries
to avoid being trapped in a local minimum by allowing moves to inferior solutions
with the help of a randomized scheme (Rayward-Smith et al., 1996).
28 Chapter 2 General combinatorial optimization approaches
Annealing is a thermal process in physics to reach an stable state with low level of
energy for solid crystallisation which was introduced by Metropolis et al. (1953).
SA is formally proposed by Kirkpatrick et al. (1983) who showed the analogy
between the Metropolis algorithm and solving an optimization problem.
In order to accomplish the annealing process, the material is heated to a tem-
perature that all its molecules can move freely. Then it is cooled so slowly that
material freezes to a completely ordered crystal. Thus, the system is in the state
of minimum energy. The same logic is used to solve optimization problems.
Let c be the cost function defined on the solution space X. Assume N(x) to be
a neighborhood function for x ∈ X. Glover and Kochenberger (2003) state the
common steps during the conventional SA algorithm for a minimization problem
as follows. SA starts with an initial solution x ∈ X and a neighboring solution
x′ ∈ N(x) is then generated which leads to a change in the cost function which is
denoted by c(x′)− c(x). If the move decreases the cost and therefore improves the
solution (improving step), the move is accepted and the decision variables are mod-
ified accordingly. If the move increases the cost and thus makes the solution worse
(non-improving step), a random number R is generated by a uniform distribution
on the interval [0, 1]. The random number R is compared with the probability of
accepting the move and the move to x′ is accepted if exp(−(c(x′)− c(x))/tk) < R,
where tk is a control parameter at iteration k such that tk > 0 for all k and
limk→+∞ tk = 0. If the move is accepted, variable values are updated; otherwise,
it is rejected. This procedure is repeated until an equilibrium state is obtained.
Now the temperature is reduced and the same process is repeated until a stopping
criteria is met. Eglese (1990) outlines the SA algorithm in Algorithm 2.
We can conclude that the SA algorithm has M0 + M1 + ... + Mk total iterations,
where k is associated with the value of tk at which the stopping criteria is met.
Also, if Mk = 1 for all k, the temperature changes in each iteration.
van Laarhoven and Aarts (1987) determine in their study how to define function
repetition schedule Mk and the stopping criteria for practical applications. A brief
review and discussion of the theory is given in (Dowsland, 1993).
Chapter 2 General combinatorial optimization approaches 29
Algorithm 2 Simulated Annealing
Choose an initial solution x ∈ XChoose the temperature change counter k = 0Choose a temperature cooling schedule, tkChoose an initial temperature T = t0 ≥ 0Choose a repetition schedule Mk which determines the number of iterations ateach temperature tkrepeat
Set repetition counter m = 0repeat
Generate a solution x′ ∈ N(x)if c(x′)− c(x) ≤ 0 thenw := w′
end ifif c(x′)− c(x) > 0 thenw := w′ with probability exp(−(c(x′)− c(x))/tk)m := m+ 1
end ifuntil m = Mk
k := k + 1until Stopping criterion is met
A principal characteristic of SA should be pointed out here. The moves which
decrease the cost or improve the cost function are called downhill moves whereas
the moves resulting to an increase in the cost or a worse cost function are named
as uphill moves. As it is indicated before, SA algorithm not only permits downhill
moves but also allows uphill moves according to a probability function calculation.
Therefore, it is unlikely that SA algorithm becomes trapped in a local optimum.
It can be concluded that SA is an appropriate technique to solve optimization
problems with a hidden optimal solution among many local optimum points.
2.6.2 Tabu Search
Tabu search (TS) is a deterministic search procedure introduced by Glover (1989)
for solving COPs. TS is designed to guide the neighborhood search to escape the
trap of local optimality. TS is an extension of classical local search and the basic
idea of TS is to continue the local search when it reaches a local optimum by
allowing non-improving moves (Glover and Kochenberger, 2003).
30 Chapter 2 General combinatorial optimization approaches
It uses a flexible short-term memory which allows the thorough exploitation of
the search information and prevents reversing the current moves. In addition,
it uses a longer-term memory to allow interesting moves that direct the search
to diversify the search towards less explored areas. Generally, tabu search has
strategic constraining and freeing conditions which are substantiated in form of a
tabu list and aspiration criteria (Glover and Kochenberger, 2003).
One of the distinctive elements of TS is to create a subset which is called tabu
list that contains elements which are called tabu moves. These moves contain
historical information of the search process and they are used to create the tabu
list. A move becomes a member of the tabu list if it has been made in the recent
past and proved either to be unproductive by a historical list of moves or by a set
of tabu conditions (e.g. constraints that need to be satisfied).
Aspiration criteria is a tool to cancel some tabus in order to permit attractive
moves which have been prohibited by the tabu list. The simple and most commonly
used form of aspiration criteria is to allow a tabu move if it leads to a solution
which is better than the best solution currently found (Rayward-Smith et al.,
1996).
Let x be the current solution and x∗ be the best-known solution. Assume c(x)
to be the cost function of x, and N(x) to be the neighborhood of x. We define
N(x) as the admissible subset of N(x) that is not tabu or satisfies the aspiration
criterion. A general framework of the TS algorithm is offered by (Brucker, 2007)
in Algorithm 3.
Algorithm 3 Tabu Search
Choose an initial solution x ∈ Xbest := c(x)x∗ := xTabuList = ∅repeat
Generate a solution x ∈ N(x)Update the tabu listx := xif c(x) < best thenx∗ := x and best := c(x)
end ifuntil Stopping criterion is met
Chapter 2 General combinatorial optimization approaches 31
Various stopping criteria can be employed such as stopping after a fixed number
of iterations, or after some number of iterations without an improvement in the
objective function value, or when objective function reaches a pre-defined threshold
value. In addition, there are different methods to update the tabu list and to
generate a solution x ∈ N(x). Therefore, the tabu list and aspiration criteria can
constrain and free the search, and make tabu search more sophisticated than a
descent algorithm.
Tabu search has been applied on various problems. We refer the reader to Nowicki
and Smutnicki (1996) and DellAmico and Trubian (1993) for application of tabu
search to the job shop scheduling problem.
Simple TS can sometimes solve difficult problems successfully, but often additional
elements are required in order to make the search strategy more effective. Tabu
search can use additional memory functions with varying time spans for intensify-
ing and diversifying the search. In each iteration of the algorithm, we choose the
best move defined in terms of the objective function. Finally, it should be noted
that tabu search is more aggressive compared to the gradual descent of simulated
annealing.
2.6.3 Genetic algorithm
Genetic algorithm (GA) is a stochastic metaheuristic which is developed based
on the natural evolution concept. GA is first developed by Holland (1975). The
algorithm starts with a set of solutions which is called population. A population
is composed of individuals represented by chromosomes. In order to get better
solutions, the current population is exploited to create a new generation including
survivors from the previous generation and the children or offsprings. To form a
new generation, individuals are evaluated and selected according to their fitness
(Rayward-Smith et al., 1996).
Therefore, GA requires a representation of the solution which is usually consisted
of binary strings of 0 and 1. Moreover, a fitness function is needed to evaluate the
quality of the solutions. Fitness function is usually defined based on the problem.
After the problem is represented and the relevant fitness function is developed, GA
32 Chapter 2 General combinatorial optimization approaches
initializes the population and iteratively selects suitable individuals and improves
them through GA operators called mutation and crossover.
Initialization is usually done by randomly generating initial solutions, or gener-
ating solutions in sequence in a way that diversity is maximized, or generating
high quality solutions by another heuristic. Selection is carried out based on the
filtering solutions with regard to the fitness function. There are certain selection
methods to rate the fitness of each solution such as Roulette Wheel selection, Rank
selection, Elitism, etc.
Crossover is a GA operator that takes certain number of parents and combines
their genes in order to create a new offspring. There are different ways to do a
crossover. the simplest form is to randomly choose a crossover point and copy
the genes before and after this point from the parents’ chromosomes. Mutation
is another GA operator which is performed after crossover. Mutation modifies an
individual by changing their genes. In a binary coding, we can simply change a
few random genes from 0 to 1 and 1 to 0. The whole process is repeated until a
termination condition is satisfied.
(Glover and Kochenberger, 2003) offer a simple template for a genetic algorithm
in Algorithm 4.
Algorithm 4 Genetic algorithm
Choose an initial population of chromosomeswhile termination condition is not satisfied do
repeatif crossover condition is satisfied then
Select parent chromosomesChoose crossover parametersPerform crossover
end ifif mutation condition is satisfied then
Select parent chromosomesChoose mutation pointsPerform mutation
end ifEvaluate fitness of offspring
until sufficient offspring is createdSelect new population
end while
Chapter 2 General combinatorial optimization approaches 33
According to (Rayward-Smith et al., 1996), GA can be efficiently applied on a
problem if certain criteria are satisfied. Firstly, an appropriate fitness function
should be developed to evaluate the the quality of the conceivable solution. The
fitness function should provide a fine-grained set of fitness value to enable us to
choose the partially correct solutions compared to less desirable ones . Another
criterion for efficient search is that a suitable encoding of the solution should be
available. If encoding is such that the valuable portion of the string is always or
frequently lost, the progress of the GA can be severely hampered.
Having been applied in a wide range of problems, genetic algorithm has proved its
value. Goldberg (1989) and Davis (1991) are the standard texts on the operation
of the algorithm. We also refer the reader to Fogarty et al. (1995), Reeves (1995)
and Cartwright and Cattell (1995) for application of the GA on different problems.
Chapter 3
Problem definition
Railway system consists of the four main components: (1) infrastructure, (2)
rolling stock, (3) schedule and (4) the operating rules and safety regulations,
which are linked together to provide the railway services to passengers and to
perform freight transportation. Infrastructure includes tracks, stations, power
supply, safety and signaling equipments and telecommunication systems. Rolling
stock includes cars and locomotive. Pachl (2009) categorizes infrastructure and
rolling stock as hardware part of the railway system and there is a software part
which consists of schedule and operating rules and safety regulations.
Operating trains on the rail network has a major difference from railroad transport
in that the driver cannot steer the train and train movement is limited to the
tracks. This simple rule affects the management of train movements. Trains can
only pass each other or change route where the infrastructure allows them to do
it. Moreover, trains cannot pass the maintenance activities on tracks. So it can be
seen how train movement is dependent on the track layout and signaling system.
This unique characteristic of railway transportation make the railway operation
management more difficult.
Given that the train movements are dependent on the tracks and signaling system,
there should be some means to define this relation. Railway traffic management
links the traffic flow and the infrastructure together in order to produce a schedule
which determines not only how long a process takes but also what resources it
uses. The notion of producing a schedule by linking traffic flow and infrastructure
35
36 Chapter 3 Problem definition
provides the basis for the next sections which start with some discussions on
terminology and concepts of train planning and control in Section 3.1. Then,
we explain the purpose and scope of the train scheduling and rescheduling in
Section 3.2. Later, what train routing and rerouting problems address with regard
to their aim and scope is clarified in Section 3.3. Finally, we show a real-world
case study that we use in this thesis in Section 3.6.
3.1 Train planning and control terminology and
concepts
Different terminologies are used in different countries, or even in different regions
of a country, which can lead to misunderstanding between international researchers
and practitioners. In particular, there is a big difference between British and North
American terms used for railway network and operations. In order to illustrate
how the railway system works, we need to define some basic terms and concepts.
This will help us to lay a common ground to explain train scheduling and routing
processes in this study.
3.1.1 Network topology and traffic
Railway scheduling decisions are made complicated by two main factors; size of the
problem which depends on the complexity of the track topology and infrastructure,
and trains traffic. Firstly, we compare different approaches towards modeling
network topology and their influence on the problem complexity, and then we
discuss how train traffic can affect the problem complexity.
Depending on the level of detail about the track topology and train dynamics, train
scheduling and routing problems can be classified as microscopic, mesoscopic or
macroscopic problems (Caimi, 2009). Each approach has some advantages over
the other one and selecting an approach depends on the characteristics and goals
of the planning problem. The macroscopic approach is to handle globally an
aggregated topology with a simplified safety model while the microscopic solves a
Chapter 3 Problem definition 37
scheduling problem on an infrastructure with more local details about the topology
and operations. The mesoscopic models are useful when all microscopic details
are not available and some standard assumptions are made for the missing data.
Obviously, the microscopic planning produces reliable results with high quality.
On the other hand, macroscopic planning models an aggregated structure more
roughly.
When dealing with a long term plan, it makes much more sense to consider less
details and use a macroscopic model. On the contrary, high accuracy is more
meaningful and manageable for a short term planning. Most of the mathemati-
cal programming models consider macroscopic models as the size of the problem
becomes very huge when the level of details are high. Conversely, the simulation
tools which are usually used in railway companies consider microscopic models.
Many studies in the literature try to create a macro timetable without considering
the feasibility at the micro level. A fewer number of studies has been carried out
to generate a micro timetable on a complete or partial network (Caimi, 2009).
There are a few approaches in the literature which consider a top-down approach
and solve a macroscopic model of the general railway system and then consider
the details of the railway system in a microscopic model (See Klemenz and Schultz
(2007), Caimi (2009) and Schlechte (2012)). It should be mentioned that generat-
ing the timetable manually is still the most prevalent planning method in practice
in railway system in the world (Schlechte, 2012). In our experience, the manual
construction of the timetable also happens in the UK. The feasibility of the man-
ually generated schedule is then checked by using microscopic models developed
in the railway network simulation tools such as OpenTrack and RailSys which are
nowadays available in most of the train companies.
In summary, it seems to be more reasonable to deal with operational schedul-
ing and rescheduling in micro level. Micro scheduling can consider details of the
incident precisely and exploit several properties of different areas of the infrastruc-
ture. This study investigates train scheduling and rescheduling problems at the
micro level including detailed information about the tracks and train movements
in Chapter 5. However, less details are desirable in tactical level planning as it
only adds to the problem complexity. Thus, we consider the train routing and
38 Chapter 3 Problem definition
rerouting problems in macroscopic level in Chapter 6 (See Section 4.1 for more
information about different levels of railway planning process).
Train traffic is heterogenous in many countries including passenger and freight
trains. Passenger trains may have different priorities with regular commuters,
long-distance passengers with connections and freight trains may carry different
cargo such as express freight, bulk goods. So different types of trains have dif-
ferent preferences, speeds and destinations. On the other hand, trains are highly
interdependent and interlinked and any disturbance can jeopardise the whole plan
compromising of trains, crew and rolling stock. It is obvious that a more utilised
network, or a more complicated infrastructure, can be effected to a bigger ex-
tent by a disruption. Therefore, planning in a congested area with a complicated
infrastructure and mixed traffic is a challenging task.
3.1.2 Blocks and signals
Tracks are defined as the roadways of the railway. Tracks are also referred to as
lines in railway operations. Tracks are categorized to three classes. The first one is
main tracks or running lines which are used for regular train movements. When
the track passes through the station, it is called platform. The second class is
called loop where trains pass and overtake on the tracks. The last term is a siding
which is used for train shunting.
A locomotive moving with cars on a track has a running movement whereas shunt-
ing movements are for coupling and decoupling cars and locomotives. A junction
is a node where a train can change from one line to another. A yard is the ar-
rangement of sidings for assembling, classifying and storing cars. An assembly of
facilities including lines and signaling system at a terminus or on a intermediate
line is called Terminal, where there are track groups for the train arrival and de-
parture, yard facilities for cars to be sorted or stored and sometimes maintenance
facilities for rolling stock.
The movement of a train on the network is controlled for safety reasons by lineside
signals which divide the network into track sections called blocks. In this study,
we also introduce a new concept called track section which is a set of aggregated
Chapter 3 Problem definition 39
blocks. More formal definition of track section is given in Section 6.2. Under a
fixed block system, there are fixed block sections protected by signals. Until the
previous train clears the signal, the train cannot enter the block. Passage of a train
on fixed blocks from its origin to its destination follows a so-called blocking time
theory and can be illustrated in a time-over-distance diagram called blocking time
stairway. The blocking time stairway is used in fixed block systems to define the
minimum time interval between two following trains in each block section. More
details about blocking time theory railway operation planning on the fixed block
system is given in Subsections 3.1.3 and 3.1.4
On the contrary, in a moving block system, a safe zone is calculated by computers
around each moving train and the other trains are not allowed to enter this zone.
For this, knowing the precise location and speed of the train is required. Infor-
mation are directly sent to and received from the trains, and no lineside signal
is necessary. As a result, trains can follow each other at exact braking distance.
Comparing it with the fixed block system, the length of the block is reduced to
zero so there is no blocking time, but all the other components of the blocking
time theory exist. So the stair-way shape of the blocking time diagram is trans-
formed to a continuous time channel. This system can increase the capacity of
the line if trains have the same speed so the capacity improvement is quite limited
on lines with mixed traffic. For this reason, the technology is not mature enough
to be applied to a wide extent and signaling operations with fixed block system
which is the most common signaling system. For a more comprehensive and ex-
tensive study of signaling systems and principles of railway operations, the reader
is referred to Pachl (2009).
Various signaling systems are used in different countries. These systems can be
categorized in two main classes of speed signaling and route signaling. The signal in
route signaling indicates the train route to follow while speed signaling defines the
speed limit that the train can run. In route signaling, the driver knows the speed
not to be exceeded in a route. Speed signaling is applied in most of the modern
signaling systems. Modern European signaling systems use additional speed or
route indicators and the signal itself lets the driver know about the occupation of
the following blocks.
40 Chapter 3 Problem definition
Block section
T1 T2
Green Double Yellow Yellow Red
Figure 3.1: Four-aspect signaling system
In general, there are two blocking principles named as one-block signaling and
multiple-block signaling. If the signal can only show the state of the one block sec-
tion ahead, the signaling system is a one-block signaling. Therefore, the system
has only two aspects including red for stop (danger) and green for clear. Accord-
ingly, a train can enter a block if the signal is green; otherwise, it should stop.
In contrast, more than one block state is identified in multiple-blocking system.
Two-block signaling is very common and it comprises of three aspects of red for
stop, yellow for approach (caution) and green for clear. Similarly, there is three-
block signaling with four signal aspects of red, yellow, double yellow and green
which is more common in British signaling.
In this study, we consider four-aspect signaling which is common for the main
lines of the UK network, as shown in Figure 3.1: red for stop (danger), yellow for
approach (caution), double yellow for advance approach (preliminary caution) and
green for clear. Each aspect gives information for four blocks ahead, thus enabling
the train driver to adjust the speed and to keep sufficient separation between trains
to allow safe braking. It should be noted that we have assumed that trains run
with a fixed speed to exactly keep them three blocks away from each other.
3.1.3 Blocking time theory
The blocking time theory is about the concept of authorising the train movement
in a way that a block exclusively assigned to a train at a time. So the blocking
time is the time interval that a block is occupied by a train and therefore blocked
for the other trains. This time does not only include the time the train travels
between the block signals, but also the following time intervals including the time
to clear a signal, a certain time for the driver to view the clear aspect, the approach
time between signal with approach aspect and the clear signal at the entrance of
Chapter 3 Problem definition 41
the block, the clearing time to clear the block, and the release time to unlock the
block. There is no approach time if the train has a scheduled stop at the signal at
the entrance of the block section (Pachl, 2009).
The blocking time stairway includes consecutive blocking times of a train over
fixed blocks. So it is the time-over-distance diagram of the blocking times of a
train which passes several blocks on its route. Thus, operational use of a line by
a train is shown by a blocking time. This diagram is also helpful to define the
minimum headway of two trains. Therefore, the train movements on blocks which
are safeguarded by signals can be formally interpreted by a blocking time stairway
which helps us to determine the minimum safety interval between following trains
(Pachl, 2009).
3.1.4 Timetable components
The timetable should determine several parameters for each train including the
day on which train runs, train route, arrival and departure times at each station
and the maximum speed. The main components of a timetable are the scheduled
running time, dwell time, headway and their buffer times which are explained in
the following.
Scheduled running times : Each train needs a minimum specified time to travel
between two points which can be two signals, two stations or two timing points. A
Timing point refers to a location which can be a station or junction which is used to
break up the whole journey into series of passing times. It is also used as a reference
point in the route to schedule the train to reach there as planned. The first way
to calculate the running time is to analyze train dynamics and track topology
with some simulation tools and solve corresponding differential equations. The
other way is to determine minimum running time by some test runs. Pachl (2009)
classifies two types of recovery time to be added to the shortest possible running
time. A running buffer time is added to the pure running time to absorb the
running time variations due to changes in train dynamics and weather conditions.
The first type of the buffer called regular recovery time, is added as a percentage
of the pure running time. Regular recovery time is about 3 to 7% on European
42 Chapter 3 Problem definition
railway and 6 to 8% for north American passenger trains. The other type of buffer
is special recovery time to compensate for maintenance or construction work.
Dwell time: If there is a scheduled stop at a station, the train needs a minimum
time for the passengers or freight to board/load and alight/unload. There are
various models to calculate the dwell time precisely considering several factors such
as passenger demand pattern, capacity and layout of the rolling stock, entrance
design, and accessing points in the station. However, planners generally do not
take boarding and alighting times into consideration and simply use pre-defined
values to calculate it with regard to the station and train classification (Luethi,
2009). The dwell time buffer is used to reduce the effect of changing demand and
changing dwell time. It is calculated based on principles and variations according
to the historical data. Connection times as well as dwell time constraints affect the
train departure time in bigger stations. Dwell time buffer reduces the possibility
of delay propagation similar to running time buffer.
Headway : Safety considerations impose a separation time which is the minimum
time between two consecutive trains travelling on the same block. Headway is
dictated by signals and it is helpful to reduce the effect of a train delay on the
other ones which generally minimizes the delay propagation in the network. On a
fixed block system, the minimum headway depends on blocking time. Nowadays,
planners still use fixed headway between two trains and the blocking time theory
is rarely employed (Luethi, 2009). The fixed headway includes the buffer time, but
it means that the scheduling decisions are dependent on the planner’s experience
and historical data which may not necessarily result in the maximum utilisation
of the infrastructure.
3.2 Train scheduling and rescheduling purpose
and scope
Train scheduling or timetabling is the process of creating a plan from scratch which
makes the optimum use of the infrastructure by coordinating the train paths and
it provides the timetable for the passenger information. The schedule also makes
Chapter 3 Problem definition 43
the train traffic predictable and it is the essential input for scheduling rolling
stock and crew and traffic control. Scheduling can be done in tactical level and
operational level. Train scheduling can be performed at a tactical level, which
can take up to a year. Tactical scheduling is usually performed in Europe where
a master schedule is created to determine the train timetable and routes ahead
of time to be executed in real-time (D’Ariano, 2008). Passenger trains should be
scheduled in tactical level. As the freight operators are facing changing demands
they schedule trains in operational level and a few hours before train departure.
Operational scheduling is usually applied in the North America. In the Europe,
extra trains are added to the timetable in the operational level when it is required
to run more freight trains. In summary, the aim of train scheduling is to make
the best usage of the existing capacity by allocating trains to the blocks (See
Section 4.1 for different levels of railway planning process).
The Time-distance diagram or traffic diagram, which is a common language of
the railway transportation, is an essential tool for traffic planning and the basis of
control of current operations . The North American diagram is called stringline
graph and it is only used for capacity analysis in the early stages of the planning
(Hansen and Pachl, 2008). It consists of a time axis and a station axis which
can be either horizontal or vertical. Train movements are shown as train paths
with the train names indicated on them. The intersection of the train path and
a parallel line to the time axis at each station represents the time period spent in
that station.
When trains are operated according to a plan, disruptions can cause deviations
to that plan due to various causes such as train delays, accidents, track mainte-
nance, no-shows for crew, and weather conditions. Train rescheduling responds to
disruptions in an operational level, where a new schedule is required in a matter
of minutes or seconds. Rescheduling is to respond to disturbances which arise
during actual operation in order to identify and resolve conflicts. The new sched-
ule should take into account all the factors and circumstances around the event
that has happened and produce a conflict-free timetable with a provision of traffic
control (Hansen and Pachl, 2008).
44 Chapter 3 Problem definition
When trains are delayed, they generate a knock-on effect due to the their high
interdependency. Therefore, the main purpose of the train rescheduling is to min-
imize the consequences of the disruption on other trains. In order to have an
efficient rescheduling goal, one can minimize the overall delays of trains, minimize
the delay of trains based on their priorities or minimize the time to return to the
original timetable as close as possible. Therefore, the objective function in our
model is to minimize the delay propagation.
In real-life operations, a dispatcher resolves the conflict and reschedules trains in
different ways. Some of possible modifications are using different routes, extending
dwell or running times, introducing additional stops and cancelling trains in a com-
plete or partial route. Still, many dispatcher perform the disruption management
process manually, maybe with the support of some tools which differ in various
countries. The dispatcher gets the information about the actual train movement
from the equipments such as track circuits. Then, he makes rescheduling decisions
with an attempt to keep the effect of the disturbance to a minimum using his
experience and some representation tools such as time-distance diagrams. Finally,
the decisions should be relayed to the signallers if a train order or route is changed.
In summary, according to the safety principles, only one train can travel on a
block at a time and a conflict occurs when more than one train are assigned to
a block. Another issue is the deadlock that arises when certain trains are cur-
rently positioned in a way that none can move further without causing a collision.
A deadlock happens usually in complicated networks with bidirectional tracks.
Thus, being conflict-free and deadlock-free are essential characteristics of a fea-
sible schedule. The above-mentioned operational and safety issues are crucial to
determine a schedule and they are treated as constraints in our model as it is
discussed in Chapter 5.
3.3 Train routing and rerouting purpose and scope
Similar to train scheduling and rescheduling, train routing and rerouting can be
performed in different levels of railway planning process. Routing problem aims
at deciding a feasible route for each train. Other planning decisions can also be
Chapter 3 Problem definition 45
made at the same time such as determining the type or frequency of the train route,
arrival and departure time of the trains at specific points of the route. Generally,
a train route defines the usage of the infrastructure for a train movement in the
network in time.
Lusby et al. (2011) define routing as a planning phase following timetabling process
for an aggregated network. Checking the compatibility of the timetable to the
detailed topology of the tracks and finding a feasible route through nodes is called
a train routing problem. If a node is a station, the problem is called a train
platforming problem. In this special case, selection of a route leads to choosing
a platform. In general, this process is performed in tactical planning. However,
one may apply train routing at a strategic level to explore several questions about
construction or modifications of the infrastructure and resources with regard to
the routing decisions.
During day to day operations, disruptions can block some routes and can cause
conflicts among train routes or even deadlocks in the network. Dispatchers need
to be able to recover the plan by defining new routes in order to restore the fea-
sibility of the plan and to minimize the knock-on effect of the delay. Responding
to disruptions and redefining the routes to recover the plan in the operational
level is known as the train rerouting problem. In Chapter 6, we look at the rout-
ing problem and devise methods which are applicable in tactical and operational
routing.
3.4 Formal problem definition
Train scheduling problem can be formulated as a job shop scheduling problem.
According to safety rule, only one train can traverse on a block at a time. This is
similar to job shop scheduling problem where each machine can process one job at
a time. Using this analogy, trains are considered as jobs and blocks are known as
machines. In addition, a train traversing a block or dwelling on a block is similar
to a job being processed on a machine operations. So an operation is analogous
to a train running or dwelling on a block. The analogy between train scheduling
problem and job shop scheduling problem is summarised in Table 3.1.
46 Chapter 3 Problem definition
Table 3.1: Analogy between train scheduling and job shop schedul-ing problems
Train scheduling Job shop scheduling
Train Job
Block Machine
Train traversal or stop on a block Operation
The classical job shop scheduling problem should be modified in order to consider
safety and operational constraints of the train scheduling problem. The objective
function is to minimize the total delay of trains with priorities which is equivalent
to minimize the total weighted tardiness. It should be noted that it is unlikely
to get a solution with early trains due to tight due dates. Thus, earliness is not
considered in the objective function. Also, if a train is early, it is kept at a station
to reach its departure time in the timetable. So it is reasonable to consider only
train tardiness in the objective function formulation.
Furthermore, one should notice that tardiness is considered only for destinations
although there are intermediate stops in the case study for which the tardiness
is not taken into account. Calculating tardiness only at the destination seems to
be a reasonable approximation as the tardiness on intermediate stops are small.
We look at a partial network in our case study which is about 15 km long and
stations are close to each other. Therefore, it is more practical to reflect delays at
the destinations.
There are three constraints in the train scheduling problem which are called
running/dwell time constraints, headway constraints and signaling constraints.
Whereas all mentioned constraints are formulated for both following and opposite
trains, signaling constraints are only considered for following trains. Signaling
constraints help with maintaining the necessary separation between two following
train according to the network signaling system. In our case study, it is assumed
that following trains need to be three blocks away all the time so that they can run
on the green signal all the time with a fixed speed. One can easily see that in case
of a disruption, this is not possible by only considering the headway constraints.
Because trains can get closer than three blocks during a disruption if the signaling
constraints are omitted. More about how signaling constraints are formulated can
be found in Subsection 5.2.3.
Chapter 3 Problem definition 47
These modifications are elaborated in Section 5.2. Given predetermined routes for
each train, a schedule defines the entry times and the order of the trains on each
block. A summary of inputs and outputs for the train scheduling problem is given
in Table 3.2 and Table 3.3 .
Table 3.2: Train scheduling inputs
Train scheduling Job shop scheduling
Set of trains Set of jobs (27 jobs)
Set of blocks Set of machines (135 machines)
Departure of a train from its origin Release time of a job
Arrival time of a train at its destination Due date of a job
Priority of a train Weight of a job (=1, equal weights)
Train running or dwell time Operation of a job
Train headway Delay between starting time of two
consecutive operations of a job
Following trains signaling separation time Sum of operation time of a job on a machine and
its immediate (and second) successor operation
in two-aspect signaling (four-aspect signaling)
for following jobs
Table 3.3: Train scheduling outputs
Train scheduling Job shop scheduling
Starting time of a train on a block Starting time of a job on a machine
Train delay Tardiness of a job
Train routing problem is similar to train scheduling problem in terms of operational
characteristics. Therefore, we can use the analogy between train routing problem
and job shop scheduling to formulate the problem. As mentioned before, trains
are analogous to jobs and the traversal or stopping of a train on a track section
is considered as an operation. However, there are a few differences between train
scheduling and train routing problem formulation. The main dissimilarity is in
the definition of the machine. A block is considered as a machine in the job
shop scheduling problem, whereas a track section is considered as a stage in train
routing problem. A stage includes single or multiple tracks which are analogous
to single or parallel machines, respectively. Train routing problem and job shop
scheduling problem have the following analogy which is shown in Table 3.4.
In order to formulate safety and operational constraints of the train routing prob-
lem, the classical job shop scheduling problem should be modified. Similar to train
48 Chapter 3 Problem definition
Table 3.4: Analogy between train routing and job shop schedulingproblems
Train routing Job shop scheduling
Train Job
Track section Stage
Single track Single machine
Multiple tracks Multiple machines
Train traversal or stop on a track section Operation
scheduling problem, we aim to minimize total delay of trains with priorities which
is translated to the total weighted tardiness. It should be noted that earliness is
not considered in the objective function and delays are calculated at the desti-
nations according to the same reasons mentioned before for the train scheduling
problem. The new constraints which are added for train routing problem include
running/dwell time constraints and headway constraints. It should be noted that
signaling constraints are not required to be considered in train routing problem as
aggregated blocks are considered in the train routing problem. Necessary modifica-
tions are discussed in detail in Section 6.2. Train routing problem aims to improve
the schedule by defining more efficient train routes and sequences on track sec-
tions. Inputs and outputs for the train routing problem are given in Table 3.5 and
Table 3.6.
Table 3.5: Train routing inputs
Train routing Job shop scheduling
Set of trains Set of jobs (27 jobs)
Set of track sections Set of stages (18 stages)
Set of of single and parallel tracks Set of single and parallel machines
Departure of a train from its origin Release time of a job
Arrival time of a train at its destination Due date of a job
Priority of a train Weight of a job (=1, equal weights)
Train running or dwell time Operation of a job
Train headway Delay between starting time of two
consecutive operations of a job
Table 3.6: Train routing outputs
Train routing Job shop scheduling
Starting time of a train on a track of a track section Starting time of a job on a machine of a stage
Train delay Tardiness of a job
Chapter 3 Problem definition 49
In general, the running or dwell time is similar for all trains in both train scheduling
and routing problems. This special property holds for the case study which is
used in this research. This means that all operations on the same machine have
equal length. However, we deviate from this assumption when we have disruptions.
Thus, the algorithms that we exploit to solve train scheduling and routing problems
consider the general problem formulation for the case that operation times are
different for the same machine. More specifications about the case study for the
train scheduling and routing problems are mentioned in the following section.
3.5 Our case study
The experimental evaluation of the suggested scheduling and routing techniques
is based on a real-world case study. We report the effectiveness of scheduling and
routing methods on a bottleneck area in the South East of the UK where the
network has a complicated structure including several junctions and stations. The
so-called Kent area was chosen due to the complexity of infrastructure and the
dense traffic on interconnected lines for passengers in and out of London, East
Sussex and the Channel Tunnel. Figure 3.2 shows a map of the Kent area.
NetworkRail (2010), the train infrastructure managing organisation in the UK,
discusses significant issues of the Kent route. NetworkRail has forecasted a growth
of 30 percent in demand from 2008 to 2022. There is strong growth in the number
of off-peak commuters as well as the peak period commuters. A provisional growth
is also expected in freight based on the potential new terminals planned in the
area. According to NetworkRail’s report, critical sections mainly in the London
area operate near capacity for several hours in a day. Many of the capacity and
performance issues are due to the constraints in the London Bridge area.
The London Bridge area is a critical corridor with known capacity and perfor-
mance issues, which are made more complex by the addition of a new high speed
line HS1. Therefore, we focus on the partial network of the London bridge area
which is about 15 km long and it includes busy stations like London Charing Cross,
London Waterloo, London Cannon Street, New Cross and Deptford, and a total
50 Chapter 3 Problem definition
Rou
te P
lan
A
Kent
Key
Prim
ary
Lond
on &
SE
Com
mut
erR
ural
Frei
ght o
nly
The
line
shad
ing
indi
cate
sst
rate
gic
rout
e se
ctio
nsw
hich
are
num
bere
d on
the
map
Hig
h S
peed
One
Hig
hS
peed
One
Hig
h S
peed
One
Metrop
olitan
JnBor
ough
Marke
t Jn
Spa
Roa
dJn
Nor
thK
ent
Eas
tJn
Ang
erst
ein
Jn
Ang
erst
ein
Wha
rf
Con
tinen
tal
Jn
DU
NG
EN
ES
S
NU
CLE
AR
PO
WE
R S
TATI
ON
Rou
te B
Rou
te B
Bo
Pee
pJn
Rou
te B
Rou
te B
Rou
te I
Rou
te E
Rou
te F
Rou
te G
Rou
te B
Factor
y Jns
Nin
e E
lms
JnR
oute
C
CH
AN
NE
L TU
NN
EL
Faw
kham
Jn
Cou
rthill
Loop
Jns
Cra
yfor
d C
reek
Jn
Hig
h S
peed
One
THA
ME
SP
OR
TIS
LE O
F G
RA
IN
Hig
h S
peed
One
LON
DO
N W
ATE
RLO
O
Wan
dsw
orth
Roa
dC
laph
am
Hig
h S
treet
New
Cro
ssG
ate
LON
DO
NB
LAC
KFR
IAR
S
LON
DO
N S
T PA
NC
RA
SIN
TER
NAT
ION
AL
KIN
GS
CR
OS
S
STR
ATFO
RD
INTE
RN
ATIO
NA
L
LON
DO
N B
RID
GE
EA
STB
OU
RN
E
Par
ksB
ridge Jn
Linfor
d St. J
n
Buc
klan
d Jn
She
pher
ds
Lane
Jn
Cro
fton
Roa
d Jn
Rou
te B
Rou
te B
Mai
dsto
ne W
est
RA
MS
GAT
E
MARGATE
FAVERSHAM
CA
NTE
RB
UR
YE
AS
T
SITTINGBOURNE
She
erne
ss-o
n-se
a
MA
IDS
TON
E
EA
ST
Stro
od
CHATHAM
SE
VE
NO
AK
S
Otfo
rd
LON
DO
N C
HA
RIN
GC
RO
SS
HE
RN
E H
ILL
HAY
ES
OR
PIN
GTO
N
TON
BRID
GE
HA
STI
NG
S
AS
HFO
RD
IN
TER
NAT
ION
AL
FOLK
ES
TON
E
CE
NTR
AL Fo
lkes
tone
H
arbo
ur
DO
VE
R
PR
IOR
Y
CA
NN
ON
S
TRE
ET
New
Cro
ss
LEW
ISH
AM
GR
EE
NW
ICH
HIT
HE
R
GR
EE
N
BE
CK
EN
HA
M
JUN
CTI
ON
BR
OM
LEY
SO
UTH
Bro
mle
yN
orth
Sw
anle
y
WAT
ER
LOO
EA
ST
DAR
TFO
RD
TUN
BR
IDG
E W
ELL
S
Pad
dock
W
ood
PE
CK
HA
M
RY
ED
EN
MA
RK
H
ILL
LON
DO
N V
ICTO
RIA
EB
BS
FLE
ET
INTE
RN
ATIO
NA
L
Mai
dsto
ne
Bar
rack
s
Bea
rste
d
Hol
lingb
ourn
e
Har
riets
ham
Lenh
am Cha
ring
Low
er
Syd
enha
m
Sho
rtlan
ds
Bel
lingh
am
Bec
kenh
am
Hill R
aven
sbou
rne
Cat
ford
Brid
geLa
dyw
ell
Bic
kley
Sun
drid
geP
ark
New
Bec
kenh
am
St J
ohns
Bla
ckhe
athK
idbr
ooke
LeeM
ottin
gham New
Elth
amSID
CU
P Alb
any
Par
kBex
ley C
rayf
ord
Elth
am
Falc
onw
ood
Wel
lingBE
XLE
YH
EAT
H
Bar
nehu
rst
Dep
tford
Nun
head
Cro
fton
Par
k
Cat
ford
Brix
ton W
est D
ulw
ich
Syd
enha
m H
ill
Pen
ge E
ast
Ken
t Hou
se
Clo
ckH
ouse
Elm
ers
End
Ede
n P
ark
Hig
h B
room
s
Fran
tW
adhu
rst
Sto
nega
teE
tchi
ngha
mR
ober
tsbr
idge B
attle
Bel
tring
Hild
enbo
roug
h
Bat
& B
all
Kem
sing
Wes
t M
allin
g
Eas
t M
allin
gB
arm
ing
Bor
ough
Gre
en
& W
roth
am
Yald
ing
Wat
erin
gbur
yE
ast F
arle
igh
Mar
den
Cux
ton
Newing
ton
Rainha
m
Gillingh
am
Meo
phamS
ole
Stre
et
Roche
ster
Hal
ling
Higham
GRAVESEND
Northfl
eet
Sno
dlan
d
New
Hyt
heAy
lesf
ord
Swansc
ombe
Greenh
ithe
Sta
pleh
urst
Hea
dcor
n
Plu
ckle
y
Wes
tenh
ange
rSan
dlin
g
Kea
rnse
yM
artin
Mill
Wal
mer
Dea
l
San
dwic
h
She
pher
ds W
ell
Sno
wdo
wn
Ayle
sham
Adi
sham
Sel
ling
Bek
esbo
urne
Folk
esto
ne W
est
Cro
whu
rst
W
est S
t Leo
nard
s
St L
eona
rds
War
rior S
quar
e
OreTh
ree
Oak
sD
oleh
amW
inch
else
aR
ye
App
ledo
re
Ham
Stre
et
Pet
ts W
ood
Che
lsfie
ld
Eyn
sfor
d
Gro
ve P
ark
Elm
stea
d W
oods
Chi
sleh
urst
St M
ary
Cra
y
Farn
ingh
am
Roa
d
Long
field
Sho
reha
m
Kno
ckho
lt Dun
ton
Gre
en
Chi
lham
WyeCha
rtham
Bro
adst
airs
Dum
pton
Par
k
Westga
te-on
-Sea
Birchin
gton-o
n-Sea
Herne B
ay
Chestf
ield &
Swale
cliffe
Whit
stable
Teyn
ham
Kem
sley
Sw
ale
Que
ensb
orou
gh
CA
NTE
RB
UR
Y W
ES
TStu
rry
Min
ster
Wes
t Wic
khamMaz
eH
ill
Wes
tcom
beP
ark
Cha
rlton
Woo
lwic
hD
ocky
ard
WO
OLW
ICH
AR
SE
NA
L Plu
mst
ead
AB
BE
Y W
OO
D
Bel
vede
re
Erit
h
Sla
de G
reen
Stone
Crossin
g
Spr
ingh
ead
Jn
B
10
09
07
99
01
08
0805
99
14
13
12
06
11
04
03
99
2
3
4
02
1
2
2
2
2
A
B
C
D
E
F
G
H
J
A
C
C
C
D
E
F
G
H
IJ
K
L
M
N
O
P
Q
R
C
C
B
C
Figure 3.2: Map of the Kent area. Adapted fromNetworkRail (2010)
Chapter 3 Problem definition 51
of 28 platforms. The network includes 135 blocks with unidirectional and bidirec-
tional traffic. Passenger trains start their journey from either Charing Cross or
Cannon Street and travel through 75 blocks down the network in order to leave the
network, or they enter the network and travel through 76 blocks up the network
and terminate at one of the mentioned stations.
Our experimental data focus on the off-peak services because there is an on-going
strong growth in off-peak period commuters. The timetable cycles every 30 min-
utes for the passenger trains and it includes 27 trains. The train timetables,
running times and track diagrams are provided by the primary train operator for
this region of the UK, the Southeastern train operating company.
3.6 Data collection and refinement
This section describes the procedure to collect, refine and implement the train
operation and control data in this case study. There are several challenges in each
step which are addressed in the following.
Confidentiality of data
Accessing rail data is one of the major challenges as it is strict confidentiality rules.
Information is not easily shared cross industry and rarely shared outside of industry
circle. Although NetworkRail supervises TOC’s (Train Operating Companies) and
they work closely to offer the best service with high performance, TOC’s need to
compete with each other to run their services on the shared network. Under these
circumstances, information is highly valuable.
Locating the data
Due to privatization of the British Railways and deregulation in the UK, train
operation and control are decentralized. Due to this fact, further knowledge of the
rail industry in the UK was necessary to locate proper data. The organizational
structure is directly involved in train operation and control. Hence, some general
background about the rail industry was required. This requirement is addressed by
some studies about railway engineering in general. It should be noted that railway
engineering is a multi-faceted discipline and it includes a wide range of disciplines
52 Chapter 3 Problem definition
such as civil engineering, electrical engineering and mechanical engineering. In
order to gain enough knowledge about railway operation and control in the UK,
extensive official documents from NetworkRail and TOC’s were studied to learn
more about the industries structure, the actors, and rules and regulations.
Initiating contacts with industry and railway experts
Some contacts were initiated with Southeastern train operating company and the
Transport Research Group (TRG) in the School of Civil Engineering, University
of Southampton. We made visits to the company to become familiar with train
planning process and disruption management. After some negotiation with both
groups, the data about train dynamics and signaling information were received.
Finally, data from Southeastern was selected as the case study with a more com-
plete set of data. Meetings with TRG members was also beneficial.
Data cleaning
One of the objectives of the study is to provide a precise representation of the
train operations and network topology in the UK network. In order to achieve
the required details in scheduling and routing, planning in the microscopic and
mesoscopic level is desirable. As the amount of detailed data in the microscopic
level is very extensive, data cleaning and refinement became a long and time-
consuming process. Another factor which added to the difficulty of the process
was that we had to extract the corresponding data for the partial network from
massive data for the whole network.
Terminology and technicalities
In order to extract relevant data, some knowledge of technicalities and abbrevia-
tions in the UK rail industry was necessary. Train operation and control data are
coded and classified so that the huge amount of data can be used and maintained
efficiently. To extract the relevant data for the case study, we had to decode them
in order to refine the relevant data for the case study.
Timetable components
Running time and headway values are extracted from huge databases of the com-
pany. Network topology is modelled based on the track diagrams. Track diagrams
represent the detailed layout of the tracks and signaling system which are very
useful in the train planning process. However, the amount of technical details
Chapter 3 Problem definition 53
make them hard to read. Some knowledge of the signs and abbreviations is re-
quired to assist the reader in searching the maps and refining the relevant data
as not all data is of interest in this case study. It took some time to shape up
a refined diagram of the London bridge area. Figure 3.3 shows the configuration
of the London Bridge area which is used in the train scheduling and disruption
management in microscopic level.
In order to apply train routing and disruption management in mesoscopic level,
blocks are integrated according to timing points on the network which are called
TIPLOCs (See Section 6.2 for more details about TIPLOCs and integration of
blocks). The configuration of the London Bridge area with regard to possible
routing options is represented in Figure 3.4.
After developing the track diagrams, we need to adjust running time and headway
values with regard to the track diagrams. In addition, information of train services
and their frequencies are extracted from public passenger timetables. No detail
is available about the exact routes to define fixed routes for train scheduling and
rescheduling. Therefore, information about platforms on National Rail Enquiries
(2013) website is used to define routes. The platform information which are in
line with the track diagrams are used in order to define the most reasonable train
routes. It should be noted that National Rail Enquiry is owned by the Association
of Train Operating Companies (ATOC) and their webpage provides online journey
planning, timetable and ticketing service.
54 Chapter 3 Problem definition
Ch
arin
g C
ross
D
C A
B
Wa
terlo
o E
ast
Lo
nd
on
Brid
ge
Ca
nn
on
Str
eet
Metr
op
oli
tan
Ju
ncti
on
Boro
ug
h M
ark
et
Ju
ncti
on
New
Cro
ss
Dep
tford
N
orth
Ken
t E
ast
Ju
ncti
on
Blu
e A
nch
or
Ju
ncti
on
Sp
a R
oa
d
Ju
ncti
on
6 5
4
3 2
1
1
2 3
4
5
6
A
B
C
D
1
2
3
4
5
6
7
Figure 3.3: London Bridge diagram developed for scheduling problem
Chapter 3 Problem definition 55
17 16
9
11 15
10
7
8
14
13
12
18
2 3 4
5
6
Cannon Street
Waterloo East Charing Cross
Deptford
New Cross
London Bridge
1
Figure 3.4: London Bridge diagram developed for routing problem
Chapter 4
Literature Review and
Background
The railway is an important mode of transportation in many countries with ever
increasing demand in passenger and freight services. Being a capital intensive
industry, railway management should make the best usage of the existing capacity.
Providing additional capacity for passenger and freight is a key issue for many train
companies. To fulfill the increasing demand for additional capacity, there are two
solutions; one is to construct new tracks and another is to release capacity through
better planning decisions. While former solution is very expensive, the latter is
through better scheduling decisions to avoid loss of capacity on the current tracks.
So train scheduling in the offline mode and rescheduling in online mode help with
railway traffic management to fully utilise the current railway capacity.
4.1 Railway planning process
The railway planning is a complex process which is made tractable for railway com-
panies by implementing hierarchical decision-making approach (Lusby et al., 2011;
Bussieck, 1997). It also conforms to a strategic/tactical/operational classification
of Assad (1980) as shown in Figure 4.1. Huisman et al. (2005) categorize railway
resource planning into strategic, tactical, operational and short-term. Based on
the organization of the passenger operator NS Reizigers in the Netherlands, they
57
58 Chapter 4 Literature Review and Background
use a new convention of dividing the operational level into two horizons. First one
is two-month scheduling which is the called operational and the second is daily
modifications referred to as short-term.
Network Planning
Line Planning
Timetable Generation
Railway Track Allocation / Train Routing
Rolling Stock Schedules
Crew Schedules
Real Time Management
Strategic Level
Tactical Level
Operational Level
Figure 4.1: The railway planning process
Strategic level is about resource acquisition and it is a lengthy process which
may take 5 to 15 years. Strategic decisions are usually related to the planning
the desired service level and providing the required capacity considering resources
including infrastructure, rolling stock and crew. The main issues addressed in
the strategic level are network planning and line planning which are discussed in
Sections 4.1.1 and 4.1.2, respectively.
Tactical level concerns resource allocation and it may take 1 to 5 years. One of the
main tactical stages is generating the basic timetable given that the infrastructure
is fixed which is discussed in Section 4.1.3. Usually the timetable needs some
adjustments to be compatible with the detailed layout of the network. Thus, train
routing or railway track allocation is the next stage in the tactical planning (See
Section 4.1.5). Afterwards, certain number and type of the rolling stock should be
assigned to have trains with a certain length. It is a big investment as the rolling
stock is very expensive and its maintenance and power supply is also involved
in the planning. A balance should be found between the costs and satisfying
passengers’ seat demand. Shunting problem arises when scheduling the rolling
stock to move the train units to a shunting or parking yard to wait until they are
needed for operation according to the timetable. To cover the timetable, proper
Chapter 4 Literature Review and Background 59
crew should also be assigned to the train services. Crew Planning is a complicated
problem due to the size and the operational constraints of the problem. Rolling
stock scheduling and crew scheduling are not discussed in this thesis as each of
them are an entire research direction by themselves.
Whereas the first two levels of planning include planning horizons up to a few
years, the operational level is of specific interest with planning decisions from 24
hours up to a year. Resource consumption is the main focus in operational plan-
ning. On daily basis, disruption management is necessary to avoid disruptions
due to weather conditions, crew no shows, maintenance and etc. So real-time
management role is to monitor the planned timetable and respond to the dis-
ruptions in order to get back to the original plan. Train rescheduling which is
discussed in Section 4.1.6 is a typical problem to solve in real-time management.
The other common problems are rolling stock and crew rescheduling which are in
the scope of this thesis. The major subproblems of timetable adjustment, rolling
stock rescheduling and crew rescheduling are conventionally solved as sequential
separate tasks.
As it can be seen in Figure 4.1 the planning task is divided into separate tasks.
According to Bussieck (1997), the tasks are not only solved in a top-down manner,
but also it may be required to go back to the preceding tasks or look at succeeding
tasks when solving the current task. Although this approach has the advantage
of providing manageable problems, it may not result in an overall optimal plan.
Since optimal plan of a task is the input of a subsequent plan.
We refer the reader to Assad (1980), Bussieck (1997), Cordeau et al. (1998),
Crainic (2003), Huisman et al. (2005), Ahuja et al. (2005), Caprara et al. (2007),
Lusby (2010) and Cacchiani and Toth (2012) for reviews on railway optimization.
Bussieck (1997) offers a hierarchical classification of railway planning with a va-
riety of examples from line planning and scheduling to rolling stock circulation.
Assad (1980), Cordeau et al. (1998) and Crainic (2003) provide surveys on freight
transportation looking at rail yard models and locomotive and car management.
Whereas Ahuja et al. (2005) focus on planning and scheduling in the US railroad
freight industry, Huisman et al. (2005), and Caprara et al. (2007) give an overview
60 Chapter 4 Literature Review and Background
of passenger transportation planning problems in the Europe. Lusby (2010) sum-
marizes more recent works on train timetabling and routing and Cacchiani and
Toth (2012) survey is suggested for more recent works on train timetabling.
In this chapter, we classify the railway traffic studies with respect to the time
perspective of the track allocation problem which can be online or offline planning
and the network complexity of the railway infrastructure which can be a single
track or a general railway network. Hence, main contributions in strategic level
including network planning are discussed in Section 4.1.1 and line planning in
Section 4.1.2. Then, there is tactical decisions where we survey train timetabling
or scheduling on single track networks in Section 4.1.3 and proceed to cover studies
on more general networks in Section 4.1.4. Section 4.1.5 reviews work on train
scheduling where routing decisions are also involved. The topic of Section 4.1.6
is train rescheduling during disturbances in operational level.
4.1.1 Network planning
Network planning is a strategic planning phase which is about construction, and/or
modification of the infrastructure. Newton et al. (1998) model the railroad block-
ing problem as a mixed integer programming problem. Yards are presented by
nodes whereas blocks are shown by arcs. They solve the problem with solution
methods such as branch and bound and column generations embedded in a strate-
gic decision support system. The same formulation is implemented in the study
by Barnhart et al. (2000). A decomposition approach based on Lagrangian relax-
ation methods is developed which is not suitable for larger problems in application
because of the computational time.
Ahuja et al. (2004) formulate the railroad blocking problem as an integer program-
ming problem which is large to be solved by the current software packages. Thus,
they develop a dedicated algorithm to solve commercial environment problems
to near optimality in few hours. The algorithm makes use of a novel large-scale
neighborhood search approach introduced by them. Gorman (1998) solves a train
routing and sequencing problem with a novel decomposition approach. The prob-
lem is formulated as mathematical programming with binary variables for each
Chapter 4 Literature Review and Background 61
train service. Computational tests report on freight railroad in the US to analyse
strategic scenarios for operations by the operators.
4.1.2 Line planning
Bussieck (1997) has done a significant work on line planning. They consider the use
of mathematical programming methods in public rail transport in view point of an
integrated decision making process with three different levels of strategic, tactical
and operational planning. Albrecht (2009) consider solving line planning and
timetabling problem simultaneously in a two-level approach for suburban railways.
4.1.3 Train scheduling on single track networks
Train scheduling which is also called train pathing, or train dispatching problem or
train timetabling is to determine the timing and ordering plan based on the fixed
routes for trains by taking into account optimization objectives. The pioneering
publication of Szpigel (1973) exploits the job shop scheduling problem to formulate
a train scheduling on a single track network in Brazil and solves it by using a
branch and bound algorithm. He reports computational experiments for five track
sections and ten trains. An enumeration strategy for all potential conflicts to
create an optimal meet-pass plan is presented by Sauder and Westerman (1983).
The objective is to minimize total weighted tardiness for a single track railway.
Jovanovic and Harker (1991) develop a decision support model called SCAN
(Schedule Analysis) system for the tactical scheduling of freight trains. The study
considers both combinatorial optimization and simulation approaches for a single
track network. They consider instances including 24 train lines and about 100
trains. Kraay et al. (1991) present a mixed integer nonlinear program for train
pacing problem. To minimize fuel consumption and delay, the train speed profile
is determined. A branch and bound procedure with cutting planes is employed to
determine a meet-pass plan.
Carey and Lockwood (1995) propose a mixed integer program for a single line with
traffic in one direction. A heuristic approach is developed train pathing problem
62 Chapter 4 Literature Review and Background
on a network similar to Szpigel (1973). Carey (1994a,b) extends the work to more
complicated networks with multiple lines and platforms and bidirectional traffic on
single lines. A set packing integer programming model is introduced by Brannlund
et al. (1998) for a bidirectional single track connecting 17 stations in Sweden. They
solve the model with Lagrangian relation techniques successfully for 30 trains.
The studies by Oliveira and Smith (2000) and Oliveira (2001) are based on mod-
eling the train scheduling problem as job shop scheduling problem with extra
constraints. They suggest constraint programming techniques to minimize total
delay along a single track network. Dorfman and Medanic (2004) develop a greedy
travel advance strategy using a discrete event model for scheduling trains on a sin-
gle line which can avoid deadlocks and handle perturbations well. They extend it
for double track networks and train variable priorities.
Zhou and Zhong (2007) propose a generalized resource-constrained project schedul-
ing formulation for a single track train timetabling problem. To minimize the total
travel time considering a set of operational and safety constraints, a branch and
bound algorithm is developed which sequentially adds precedence relation con-
strains to resolve conflicts between trains. The longest path algorithm solves each
subproblem solution for earliest start time of each train on each segment.
4.1.4 Train timetabling and periodicity on general railway
networks
As stated by Caprara et al. (2007), after the line planning problem determining the
train routes, and types and frequency of trains on each route, the actual timetable
of the each train on a certain part of the network is defined which is referred to as
train timetabling problem (TTP). TTP can be categorized as cyclic and noncyclic
timetables. When the network traffic has a high density, noncyclic timetables help
with the capacity pressure to allocate optimally the required train paths requested
by train operators.
In practice, the train operating companies propose their preferred timetables to
the infrastructure manager and bid for the tracks. Then, the infrastructure man-
ager modifies the collected timetables to consider operational constraints such as
Chapter 4 Literature Review and Background 63
safety margins between trains operated on the same track. Infrastructure man-
ager returns back to the operating companies with a modified timetable. These
modifications should be kept as few as possible. The process is repeated if the
train operating company does not accept the proposal and consequently puts a
new proposal.
Based on a graph theory representation, Caprara et al. (2002) solve a timetabling
problem with arc-based multicommodity flow formulation with track capacity and
operational constraints. Heuristics based on Lagrangian relaxation is developed for
a network including one direction single tracks which connect two major stations
called as corridors. Real life instances in Italy with 73 stations and 500 trains are
tested.
In a follow-up study, Caprara et al. (2006) add more practical constraints like
station capacities, maintenances and fixed timetables for certain trains. Compu-
tational tests are performed on a railway network including up to 49 stations and
221 trains. Train timetabling on a corridor is considered by Cacchiani et al. (2008)
with similar time-space network in Caprara et al. (2002) and Caprara et al. (2006).
Path based formulation, which is a variation of the model in previous studies, is
proposed and solved by a column generation approach. The test instances as many
as 102 station and 221 trains from Italian railways are considered.
Borndorfer et al. (2005) consider an auction based approach for a similar formu-
lation to Caprara et al. (2002). An arc-based multicommodity flow formulation
with additional packing constraints formulates the optimal track allocation prob-
lem, named OPRTRA. CPLEX is employed to run the computational test on
a subnetwork of long-distance railway in Germany for the Hanover-Kassel-Fulda
area with 946 train requests of known origin and destination stations. Extra cases
were also tested on the generated variations of the original case.
The optimal track allocation problem is followed up with a new viewpoint by
Borndorfer and Schlechte (2007b). Instead of packing constraints for resolving the
conflicts, they use additional configuration variables to develop a new integer pro-
gramming formulation. Their LP-relaxation provides the basis for a column gen-
eration algorithm. They report computational results on the same instance from
the Hanover-Kassel-Fulda area in Germany including up to 570 trains. Borndorfer
64 Chapter 4 Literature Review and Background
and Schlechte (2007a) compare the same formulation of Borndorfer and Schlechte
(2007b) with the standard formulation that rules out conflicts with packing con-
straints in more detail. Producing the same LP-bound, the LP-relaxation of the
new formulation based on additional configuration variables is proved to be solved
in polynomial time. Mesoscopic data on the same long distance railway area in
the Germany with up to 570 trains are tested.
In a noncyclic timetabling problem, cyclic timetables are optimally assigned to the
train routes where the timetable periods are similar. Serafini and Ukovich (1989)
introduce Periodic Event Scheduling Problem (PESP) which includes defining the
schedule for periodic events and therefore represents a macroscopic view of the
railway network. In their study, they propose a branch and bound approach which
sequentially satisfies the constraints to create a timetable.
Typical constraints in PESP, as mentioned in a study by Peeters (2003), refer to
train connections, trip time between stations and headway between consecutive
trains. Peeters (2003) formulates PESP by an integer programming model and
shows the effectiveness of modeling cyclic railway timetabling by several practical
situations in the Dutch railway network. Schrijver and Steenbeek (1994) employ a
constraint programming approach with a local search heuristic to compute feasible
timetables for Dutch railways.
Odijk (1996) describe a mathematical model for constructing periodic railway
timetables. His cutting plane algorithm is based on constraint generation which
is tested by a real-life instance considering 6 platforms and 12 stopping trains.
Liebchen and Mohring (2008) suggest the potential power of the PESP to com-
bine decisions of network planning, line planning and vehicle scheduling with the
periodic timetabling. They show that one can model the extensions due to the
mentioned integration as mixed integer programming and additionally extensions
do not change the constraint types.
Wong et al. (2008) try to minimize the interchange waiting times of all passengers
using a mixed integer programming model. They construct accurate timetables
by precise adjustment of the timetable components like run times, dwell times,
turnaround times and headways. Their heuristic has shown improvements on
Chapter 4 Literature Review and Background 65
current practice of Mass Transit Railway (MTR) system in Hong Kong running
six railway lines with many platform interchanges at stations.
4.1.5 Train scheduling and routing
Train routing is the problem of routing trains through railway junctions which
includes assigning each train in a proposed timetable a conflict free path through
the junction considering operational constraints. When routing is carried out in a
station to assign the platforms to trains, the problem is called train platforming.
The computational complexity of different variations of train routing through sta-
tions is studied by Kroon et al. (1997). They prove that the train routing problem
is NP-complete if there are at least three routing options for each train. Carey
and Carville (2003) model the routing and scheduling trains through stations as
a mathematical programming problem to minimize weighted combination of the
costs and schedule deviations. Heuristic techniques are proposed to consider train
operator’s interest.
Caimi et al. (2005) formulate the problem as node packing model. A local search
is developed to increase the time slot that a delayed train finds its assigned route
still available. Carey and Crawford (2007) extend the original problem of Carey
(1994) for routing and scheduling on multiple lines in opposite directions and
several stations. They introduce a mixed integer programming model (MILP) to
consider coast evaluation of different routes. The developed heuristic is flexible in
such a way that it can be customised to help the train planner with finding and
resolving conflicts.
Lusby et al. (2006) introduce a set packing model to formulate the train routing in a
complex network with multiple lines. A branch and bound problem is suggested to
be implemented to a small and simple example of a railway junction for illustration.
Caimi et al. (2007) define compensation and condensation zones to decompose the
railway network in order to create better timetables. Condensation zones are close
to the stations and compensation zones connect them. Their focus is mostly on
condensation zones where the traffic is dense. The problem is formulated as a
conflict graph model which is solved by a fixed-point iteration heuristic.
66 Chapter 4 Literature Review and Background
4.1.6 Train rescheduling
Cai and Goh (1994) formulate the train scheduling problem on a single track net-
work as an integer programming model. The approach is to respond to real-time
scheduling in practice with a quick good feasible solution. They show that pre-
sented greedy heuristic finds a feasible solution very quickly, but optimal solution
is unlikely to be found in polynomial time because the problem is NP-complete.
Cai et al. (1998) study an extension of the previous work by Cai and Goh (1994)
with regard to rapid greedy heuristic for train scheduling for a major Asian railway.
The new algorithm can take in real-world constraints easily whereas it may not
be straightforward to define their mathematical formulation.
Sahin (1999) considers the conflict resolution among trains on a single track rail-
way. He formulates the problem as a job shop scheduling problem with an objective
to minimize knock on effect of the delays. A look-ahead algorithm is developed to
detect and resolve conflicts in merging or crossing points.
Tornquist and Persson (2005) look at different scenarios of rescheduling to min-
imize the total delay due to disturbances. They introduce a two-level algorithm
which is solved iteratively with the upper level solving the train meeting and
overtaking by simulated annealing and tabu search and lower level defining the
start and end times for each train on each section. They perform computational
experiments for real-world problems in Swedish railway.
Mascis and Pacciarelli (2002) formulate the problem as a job shop scheduling
problem with blocking constraints and use alternative graph for problem repre-
sentation. Priority rules are used to evaluate rerouting trains and ordering is
handled by a greedy heuristic to minimize maximum delay.
Tornquist and Persson (2007) propose a MILP model for dispatching trains in a
railway network with several crossing and merging points. They solve the model
with a commercial software package. They suggest different dispatching strategies
to reduce the search space which is shown in computational tests to be fruitful to
improve the quality of the solutions.
Chapter 4 Literature Review and Background 67
Rodriguez (2007) proposes a computerised system to solve the real-time conflict
resolution problem by a constraint programming approach. The focus of the study
is on the routing and scheduling train in junctions. He shows that a truncated
branch and bound algorithm is capable of finding good solutions in a reasonable
computation time for real-time disruptions.
4.2 Job shops
Various types of machine scheduling problems have been studied in the literature
and job shop problems are one of the most difficult scheduling problems (Le-
ung, 2004). In this section, we discuss machine scheduling, job shop models and
methodologies in general, and job shop models in railway.
4.2.1 Machine scheduling
A rich variety of COPs with different combinatorial characteristics is offered in
machine scheduling. Scheduling is a decision making process to allocate limited
resources to tasks over time in order to optimize a given objective function. One
could define resources and tasks in different ways in an organization. The resources
can be a machine in a workshop or railway tracks in a rail network. Also, tasks
can be defined as an operation in a workshop and traversal of a train on tracks
in a rail network. Moreover, the objective function can be customised to the
system’s feature. Minimizing completion time of the last task in the workshop
and minimizing the total delay of all trains in the rail network are two examples
of adapted objective functions for a system.
With respect to uncertainty, scheduling problems are categorised into determin-
istic and stochastic scheduling problems. Deterministic scheduling assumes that
problem parameters are fixed and each value is exactly known. Deterministic
machine scheduling has received a lot of attention in the literature.
Since mid-1950s, thousands of scheduling problems and models have emerged and
studied (Potts and Strusevich, 2009). Scheduling is a mature field with various
68 Chapter 4 Literature Review and Background
theories and techniques which can be applied in different problem contexts. Ob-
viously, there is still a wide scope to tackle interesting and challenging problems
in the field.
Single machine scheduling is a scheduling model which is of great importance.
Although it represents a special case and seems to be very simple, it can give
us a good insight about the other environments with more complex configura-
tions (Pinedo, 2008). Various single machine models are analyzed in the past five
decades. Problems differ from each other in number of jobs, job characteristics
and objective function(s). A wide variety of approaches are applied to solve single
machine problems.
In parallel machine scheduling problems, there is a bank of parallel machines
and a special case is when there are M identical machines in parallel. In this
case, a job needs to be processed once and it can be processed on any of parallel
machines. In more specific problems, a job can only be processed on a subset of
the parallel machines. Parallel machine scheduling is the generalisation of single
machine problem and it can be employed in decomposition of multi-stage systems.
Pinedo (2008) considers scheduling of parallel machines as a process with two steps.
Firstly, it should be determined which job is assigned to which machine. Then,
the sequence of the jobs allocated to each machine is defined. Various solution
methods have been employed in the literature for different variants of the parallel
scheduling problems.
Job shop scheduling models deal with multiple operations. There are M machines
and each job has to be processed according to its predetermined route on these
machines. If a job visits specific machines more than once, the job is said to have
recirculation. The classical job shop problem minimizes makespan and it has no re-
circulation. Different solution methods such as branch-and-bound and constraint
programming have been used to solve the job shop scheduling problem. Shifting
bottleneck (SB) is an elaborated heuristic specially designed for job shop schedul-
ing which is an adaptable approach to different constraints. (Pinedo, 2008, p.189)
states “One of the most successful heuristic procedures developed for J ||Cmax is
the Shifting Bottleneck heuristic.”
Chapter 4 Literature Review and Background 69
Over the last 5 decades, different variations of the scheduling problems have
emerged and a significant amount of research studies has been addressed. A three-
field notation α|β|γ has been introduced by Graham et al. (1979) to classify and
illustrate scheduling problems according to their structure. Under this notation,
α defines the machine environment, β specifies job characteristics and γ indicates
the optimality criterion. Assuming that we have I jobs and M machines, we list
some of the notation which is used in this thesis in the following.
Job characteristics
pjm: Processing time of job j on machine m.
rj: Release date of job j.
dj: Due date of job j.
wj: Weight of job j.
prec: Precedence constraints.
Machine environment
1: Single machine.
P : Identical machines in parallel.
J : Job shop.
Optimality criteria
Cj: completion time of job j.
Tj: tardiness, where Ti = max{0, Cj − dj}.Cmax: Makespan.∑wjTj: Total weighted tardiness.
In the following section, an overview of job shop models and approaches is given.
4.2.2 Job shop models and methodologies in general
In a job shop with M machines, a job visits machines in a specified order. Some
machines can be visited more than once by a job whereas some machines may
70 Chapter 4 Literature Review and Background
not be visited by a job at all. The classical job shop scheduling problem has an
objective function to minimize makespan. Job shop scheduling has received a lot
of attention in the literature. A few job shop scheduling problems can be solved
in polynomial time. The job scheduling problem with two machine and at most
two operations for each job can be solved polynomially by Jackson (1955) and
Johnson (1954). Also, Brucker (1988) solves job shop problem with two jobs in
polynomial time. Roy and Sussman (1964) suggest the so-called disjunctive graph
for minimizing makespan in a job shop problem which is a useful presentation and
has been used in many studies in the literature.
Branch-and-bound techniques have been widely used for minimizing the makespan
in a job shop. There are two main branching rule disjunctive arc branching pro-
posed by Nemeti (1964) and active schedule generation branching introduced by
Brooks and White (1965). We refer the reader to Pinson (1995) for an overview
of branch-and-bound problems applied to job shop problems. The well-known 10
jobs 10 machines 10 operations by Fisher and Thompson (1963) remained un-
solved for 25 years and led to many sophisticated branch-and-bound techniques in
attempts to solve the problem. McMahon and Florian (1975) introduce one of the
first successful branch-and-bound methods based on one-machine decomposition
application and it was the best exact method for a long time. Finally, Carlier
and Pinson (1989) solve the famous 10 jobs 10 machines problem. Schrage (1970),
Charlton and Death (1970) and Bratley et al. (1973) are the other early studies
focused on branch-and-bound. More recent successful exact methods are listed as
Applegate and Cook (1991), Carlier and Pinson (1994) and Brucker et al. (1994b).
Many heuristic methods such as simulated annealing, tabu search, genetic algo-
rithm have been also suggested in the literature. Yamada et al. (1994) use back-
tracking in a simulated annealing algorithm. Studies by Laguna and Glover (1993),
Taillard (1994), and Nowicki and Smutnicki (1996) are some studies on tabu search
methods. Dorndorf and Pesch (1995) and Smith (1992) and Della Croce et al.
(1995) have developed genetic algorithms.
A few studies look at job shop scheduling problem with total weighted tardiness
as their objective functions. Heuristics based on priority rules are implemented
by Vepsalainen and Morton (1987). Pinedo and Singer (1999) propose a shifting
Chapter 4 Literature Review and Background 71
bottleneck heuristic for a job shop problem to minimize total weighted tardiness.
Later, Kreipl (2000) suggests a large step random walk to minimize total weighted
tardiness in a job shop problem. De Bontridder (2005) develops a tabu search
to minimize total weighted tardiness in a job shop with generalized precedence
relationships. A genetic algorithm is presented by Essafi et al. (2008) which uses
an iterated local search to improve the quality of chromosomes. Bulbul (2011)
applies a hybrid shifting bottleneck heuristic which replaces the re-optimization
step by a tabu search. A broader overview of the scheduling problems is provided
by Potts and Strusevich (2009) which discuss the main topics of scheduling research
in the past fifty years and highlight the main contributions to shape the field.
4.2.2.1 Job shop problems with shifting bottleneck procedures
One of the most well-known heuristics is shifting bottleneck procedure by Adams
et al. (1988). It is regarded as a decomposition approach due to the fact that
it decomposes a multiple machine problem to single machine problems and uses
Calier’s algorithm (Carlier, 1982) to solve its optimally. More refined version of
the Carlier algorithm is introduced in studies by Dauzre-Prs and Lasserre (1993),
Dauzre-Prs and Lasserre (1994) and Balas et al. (1995) who also embed it into a
modified version of the shifting bottleneck.
Balas et al. (1995) introduce delayed precedence constraints in the single machine
problem arising in the shifting bottleneck procedure. Balas and Vazacopoulos
(1998) have improved the shifting bottleneck procedure by embedding a guided
local search into it. Although the developed shifting bottleneck is computationally
more expensive, it can improve the quality of the solutions significantly. Balas
et al. (2008) deal with the a variant of job shop problem in the presence of release
dates, deadlines and sequence-dependent setup times. They modify the shifting
bottleneck to solve the single machine problem as a Travelling Salesman Problem
with time windows. The variant of the job shop problem which is discussed in
Balas et al. (2008) study is very common in semiconductor industry (Ovacik and
Uzsoy, 1997).
72 Chapter 4 Literature Review and Background
Ovacik and Uzsoy (1997) present the application of shifting bottleneck and the
other decomposition methods to large scale job shop problems with various ob-
jective functions such as the makespan and the maximum lateness. Ivens and
Lambrecht (1996) extend the disjunctive graph formulation and the shifting bot-
tleneck procedure to deal with real-life applications by introducing due dates,
release dates, assembly structures, split structures, overlapping operations, setup
times, transportation times, parallel machines and beginning inventory in the job
shop scheduling problem. Schutten (1998) also extends the shifting bottleneck
procedure to accommodate practical features such as transportation times, simul-
taneous resource requirements, setup times, and other important characteristics.
Pinedo and Singer (1999) develop a disjunctive graph formulation and employ
shifting bottleneck for minimizing the total weighted tardiness in a job shop. The
study by Pinedo and Singer (1999) has been later extended by Mason et al. (2002)
in order to formulate a disjunctive graph and propose a modified shifting bottle-
neck heuristic for a semiconductor wafer fabrication facility. The problem is a
flexible job shop with sequence-dependent setups, different arrival times of jobs,
and re-entrant or re-circulating product flow through a number of different tool
groups consisting of multiple identical machines in a given work center.
Mason et al. (2005) offer a complex scheduling problem for the semiconductor wafer
fabrication facility which is compromised of batching machines, parallel machines,
machines with sequence dependent set ups and recirculating product flow. A
mixed integer program to minimize total weighted tardiness and a modified shifting
bottleneck heuristic are developed.
Pfund et al. (2008) also formulate a complex job shop model for semiconductor
wafer fabrication process. They employ a desirability function for a multi-criteria
optimization problem of makespan, cycle time and total weighted tardiness which
is implemented in two different levels of subproblem solution procedure and the
machine criticality measure level. They build on study by Mason et al. (2002)
which considers minimization of the total weighted tardiness and offer a mod-
ified shifting bottleneck procedure for the multi-criteria optimization using the
mentioned desirability function.
Chapter 4 Literature Review and Background 73
Monch and Drieel (2005) develop a modified shifting bottleneck for a complex job
shop problem for semiconductor wafer facilities which contains parallel batching
machines, machines with sequence-dependent set up times and reentrant process
flows. Their proposed shifting bottleneck heuristic minimizes total weighted tardi-
ness in a two-layer hierarchical approach which decomposes the overall scheduling
problem. The upper layer considers the aggregated model which determines start
dates and due dates for the jobs in each work area defined as a set of parallel
machine groups. The lower layer employs determined start dates and due dates in
the shifting bottleneck heuristics applied on jobs in each single work area. They
assess the performance of the heuristic in comparison with a simulation model of
a dynamic job shop environment.
Similar to Monch and Drieel (2005), Monch et al. (2007) minimize the total
weighted tardiness, but they extend the previous study where shifting bottleneck
decomposes the overall scheduling into scheduling problems for single tool groups.
In the study by Monch and Drieel (2005), only subproblem solution procedures
have been developed based on dispatching rules but in the extended study, Monch
et al. (2007) apply more sophisticated subproblem solution procedures like ge-
netic algorithms for parallel machine scheduling. In comparisons with the shifting
bottleneck procedure, simulation experiments in a dynamic job shop environment
indicate that using genetic algorithm result in improved results compared to sub-
problem solution procedures based on dispatching rules.
Bulbul (2011) minimizes total weighted tardiness in a job shop scheduling prob-
lem. He suggests a hybrid shifting bottleneck-tabu search algorithm to solve the
problem. A tabu search algorithm is embedded into shifting bottleneck heuristic
which replaces the re-optimization step. Therefore, the shifting bottleneck heuris-
tic has a long-term memory which is helpful in diversifying the local search. The
tabu search is applied to both feasible full schedules and to partial schedules where
some machines are assumed to have infinite capacity. Computational performance
of the algorithm is tested on benchmark instances from the literature.
Liu and Kozan (2009) formulate train scheduling problem as a blocking parallel
machine job shop scheduling problem. In order to model the problem, they adapt
the alternative graph by Mascis and Pacciarelli (2002) which is an extension of the
74 Chapter 4 Literature Review and Background
classical disjunctive graph. The problem is solved by an extended shifting bottle-
neck procedure without considering blocking conditions. A constructive heuristic
algorithm called Feasibility satisfaction procedure (FSP) algorithm is developed to
find feasible solutions for the blocking parallel machine job shop scheduling prob-
lem. Suggested algorithm is implemented on real-world data from Queensland
Rail for freight trains. Some sensitivity analysis are performed to consider train
length, upgrading track sections, increasing train speed and changing the bottle-
neck sections which shows the proposed method is promising for solving real-life
train scheduling problems.
Liu and Kozan (2012) develop a hybrid shifting bottleneck procedure combined
with Tabu search to solve the parallel machine job shop scheduling problem. The
conventional shifting bottleneck has been improved with respect to four novel fea-
tures which are given in the following. Firstly, a new algorithm called topological-
sequence algorithm is developed to decompose the parallel machine job shop prob-
lem into a set of single and parallel machine scheduling subproblems. Secondly, a
modified Carlier algorithm is developed to solve the single machine subproblem.
Thirdly, to solve the parallel machine subproblems, the Jackson rule is extended.
Finally, a Tabu search algorithm is embedded into the shifting bottleneck heuristic
in order to optimize the single and parallel machine subproblems.
4.2.2.2 Job shop problems with alternative arcs
The concept of an alternative graph was first introduced by Mascis and Pacciarelli
(2000). Mascis and Pacciarelli (2000) and Mascis and Pacciarelli (2002) look
at different types of job shop problems such as the ideal (classical) job shop,
the blocking job shop with and without swaps, and the no-wait job shop. They
formulated these problems with an alternative graph which is a generalization of
disjunctive graph. They develop three fast dispatching heuristics for the mentioned
job shop problems. Computational experiments are reported for a large number
of benchmark problems. They also develop a branch and bound algorithm and
tested the performance of it on eighteen smaller (10× 10) instances.
Meloni et al. (2004) deal with ideal, blocking and no-wait job shop which is for-
mulated as an alternative graph. They present a rollout metaheuristic to solve
Chapter 4 Literature Review and Background 75
this problem through a constructive procedure which extends iteratively a partial
schedule shown by a partial selection of alternative arcs to a complete schedule.
At each extension step, a scoring function candidate evaluates all candidate arcs
and the arc with the best score is added to the partial selection. Numerical re-
sults show promising results for the eighteen (10×10) benchmark instances which
were solved optimally by Mascis and Pacciarelli (2002), representing improvements
compared to dispatching methods in Mascis and Pacciarelli (2002).
A recent stream of research on train scheduling and routing studies focused on the
alternative graph formulation of Mascis and Pacciarelli (2002). Flamini and Pac-
ciarelli (2008) address a train scheduling problem in real-time looking at routing
trains through an underground rail terminus. They model a bicriteria job shop
scheduling problem in which punctuality and regularity of train service are opti-
mized. Optimizing earliness/tardiness and train headways are the two objective
functions in the lexicographical order. A heuristic is developed which solves the
problem in two steps. Firstly, a feasible solution with regard to the first objective
function is built. Then, second objective function is optimized by deteriorating
the first objective function.
Another study which formulates the train scheduling problem by using alternative
graph is D’Ariano et al. (2007). They model real-time train traffic control which
is faced by railway infrastructure managers when train operations are perturbed.
A new conflict-free timetable of recomputed arrival and departure times should be
produced so that the deviation form the original plan is minimized. The problem
is modeled as a huge job shop scheduling problem for trains with fixed routes. A
branch and bound algorithm is proposed which uses implications rules to speed up
the computation. Computational experiments report on the Dutch railway around
Schipol International airport and show optimal or near-optimal solutions can be
found in a short computation time.
In a followup paper by D’Ariano et al. (2008), the implementation of a real-
time traffic management system, called ROMA (Railway traffic Optimization by
Means of Alternative graphs) is described which supports controllers in managing
disturbances in daily basis. The branch and bound algorithm is implemented for
sequencing train movements and a local search optimizes train rerouting. The
76 Chapter 4 Literature Review and Background
compound approach of the branch and bound and local search algorithm is imple-
mented iteratively to compute optimal sequences for given train route and then
improving this solution by rerouting some trains. Computational experiments are
carried on practical size instances of the Dutch dispatching area between Utrecht
and Den Bosch. Instances include different types of disturbances with multi-
ple delayed trains and different blocked tracks in the network. The results show
promising potential of ROMA that can significantly reduce delays by rerouting
and rescheduling train movements.
Another study based on the alternative graph formulation is the research by Cor-
man et al. (2009) to analyze a policy, called green wave (GW), which is a one of
the several new traffic policies in the management of complex railway networks
in respond to the expected growth of transport demand in the next years. Ac-
cording to this policy, trains wait at the stations in order to avoid speed profile
modifications in open corridors which is expected to be very effective when corri-
dors are the bottlenecks of the network. Two models are introduced to formulate
the train scheduling problem with the GW policy and with an alternative policy
which is letting trains change their speed profile in open corridors. Computational
experiment is carried out for two practical dispatching areas of the Dutch railway
network, one is the line from Utrecht to Den Bosch and the other is Dutch railway
around Schipol International airport.
Corman et al. (2010) improve on the study by D’Ariano et al. (2008) by including
effective rescheduling algorithms and a tabu search for local rerouting strategies.
Problem formulation is based on the alternative graph by Mascis and Pacciarelli
(2002). A fast heuristic and a truncated branch and bound are implemented
alternatively to produce train schedules in a short computation time. In addition,
they develop new routing neighborhood structures for more effective routings.
The computational experiments are reported on the same Dutch dispatching area
between Utrecht and Den Bosch including complex disturbances with multiple
delayed trains and blocked tracks. Tabu Search results are compared with branch
and bound of D’Ariano et al. (2007) and local search algorithm of D’Ariano et al.
(2008). The new tabu search algorithms find optimal solutions for small instances.
For large instances, the new algorithm achieves significantly better results within
a shorter computation time compared to previous version of ROMA.
Chapter 4 Literature Review and Background 77
Liu and Kozan (2009) use also the alternative graph for the formulation of the train
scheduling problem. They model the problem as a blocking parallel machine job
shop scheduling (BPMJSS) problem. An improved shifting bottleneck procedure
is developed to solve the proposed BPMJSS problem (See Subsection 4.2.2.1 for
more details of their study).
Liu and Kozan (2011) investigate train scheduling problem with priorities and
model it as a No-Wait Blocking Parallel-Machine Job-Shop Scheduling (NWBP-
MJSS) problem. They formulate the NWBPMJSS problem by integer program-
ming and analyse it based on an alternative graph model. A novel construc-
tive algorithm is suggested to create train timetables by defining the order of
trains. The constructive algorithm includes several recursively implemented sub-
algorithms called Best-Starting-Time-Determination Procedure, Blocking-Time-
Determination Procedure, Conflict-Checking Procedure, Conflict-Eliminating Pro-
cedure, Tune-Up Procedure, and Fine-Tune Procedure. Solving these subalgo-
rithms recursively can guarantee feasibility by satisfying the blocking, no-wait,
deadlock-free, and conflict-free constraints. In order to find the good train sched-
ule efficiently, a two-stage hybrid heuristic algorithm is developed by combining
the constructive algorithm and a local-search heuristic called the Best Insertion
Heuristic. The computational experiments represent that the proposed approach
is promising because it can serve as a generic and fundamental toolbox for identi-
fying, analysing, modeling, and solving real-life scheduling problems.
Groeflin and Klinkert (2009) propose a generalization of the blocking job shop,
called Generalized Blocking Job Shop, which considers transfer operations between
machines and sequence-dependent setup times. The developed disjunctive graph
is transformed into a more compact formulation via alternative graphs by Mascis
and Pacciarelli (2000). As there is no easy mechanism to generate feasible neighbor
solutions like classical job shop problems, they develop a neighborhood for local
search by defining concept of closure and a key result on short cycles. A tabu
search is devised based on this neighborhood. Computational experiments show
that the tabu search algorithm improves most of the benchmark results in the
literature.
78 Chapter 4 Literature Review and Background
4.2.2.3 Job shop problems with parallel machines
Job shop problems with parallel machines have been studied in the literature with
different names such as parallel machine job shop scheduling, generalized, flexible
or complex job shop scheduling problem.
Sadeh et al. (1995) address a job shop scheduling problem where some operations
have to be scheduled within time windows such as earliest/latest possible start time
windows. In order to solve this well-known NP -complete Constraint Satisfaction
Problem (CSP), they combine a new look-back scheme with consistency enforcing
techniques and variable/value ordering heuristics which helps the search procedure
recover from so-called dead-end search states.
Dauzre-Prs and Paulli (1997) investigate an important extension of the classical
job-shop scheduling (JSS) problem where the same operation can be performed
on more than one machine such that the makespan of a set of jobs is minimized.
By defining an extended version of the disjunctive graph model, they can define a
neighborhood structure for the problem. An integrated tabu search (TS) algorithm
where there is no distinction between re-assigning or re-sequencing an operation
is devised and computational experiments are provided.
Chen and Luh (2003) introduce a new Lagrangian relaxation approach for the
parallel-machine job shop scheduling problem where operation precedence con-
straints rather than machine capacity constraints are relaxed. Then, they decom-
pose the relaxed problem into single or parallel machine scheduling subproblems
which are NP -complete in general. The so-called surrogate subgradient method is
used to solve the dual subproblems which allows approximate optimisation of the
subproblems. Computational experiments show that the machine decomposition-
based LR approach is efficient, particularly for large problems with long time
horizons.
Alvarez-Valdes et al. (2005) address the design and implementation of a scheduling
system in a glass factory. They model the problem as a flexible JSS problem with
additional special characteristics. They minimize a non-regular criterion defined
by the user and based on due dates. It can be devised to determine delivery dates
for new customer orders by taking into account current machine workloads, or to
Chapter 4 Literature Review and Background 79
schedule a set of orders by trying to meet given customer due dates. The method
can produce approximate solutions in very short computation times.
Xia and Wu (2005) consider a multi-objective flexible job shop scheduling prob-
lem. As it is quite difficult to achieve an optimal solution to this problem with
traditional optimization approaches, they propose a particle swarm optimization
algorithm which is an evolutionary computation technique. Their approach has
high search efficiency by combining local search (by self experience) and global
search (by neighbouring experience). They develop a hybrid approach consisting
of a Simulated Annealing (SA) algorithm and the particle swarm optimisation
algorithm. The computational results show the viability and effectiveness of the
proposed hybrid approach for the multi-objective flexible job shop scheduling prob-
lem.
Fattahi et al. (2007) propose a mathematical model and heuristic approaches for
flexible job shop scheduling problems. A mathematical model is used to obtain
optimal solution for small size problems. In order to solve the real size problems
with more than two jobs, two types of heuristic approaches are developed, hier-
archical approaches and integrated approaches. Hierarchical approaches consider
the assignment of operations to machines and sequencing of operations on ma-
chines separately; Whereas, assignment and sequencing are not differentiated in
integrated approaches. The numerical results validate the quality of the suggested
algorithms and show that the hierarchical algorithms have better performance
than the integrated ones.
Gao et al. (2008) consider the flexible job shop scheduling problem with three
objectives; min makespan, min maximal machine workload and min total work-
load. A hybrid genetic algorithm (GA) for the problem is suggested which uses
two vectors to represent solutions. To adapt to the special chromosome structure
and the characteristics of the problem, advanced crossover and mutation opera-
tors are used. Individuals of GA are first improved by a variable neighborhood
descent (VND) which includes two local search procedures. The performance of
the proposed GA approach is tested by extensive computational experiments on
181 benchmark problems.
80 Chapter 4 Literature Review and Background
Job shop problems with parallel machines are also implemented in the railway
studies. We refer the reader to 4.2.2.1 for more details on the studies by Ivens and
Lambrecht (1996), Mason et al. (2002), Mason et al. (2005), Pfund et al. (2008),
Monch and Drieel (2005), Monch et al. (2007), Liu and Kozan (2009) and Liu and
Kozan (2012). The study by Liu and Kozan (2011) is also a relevant study which
is mentioned in Subsection 4.2.2.2.
4.2.3 Job shop models in railway
After the pioneering publication of Szpigel (1973), formulating the train schedul-
ing problem as a job shop scheduling problem offered a promising new research
direction. However, there have been several job shop scheduling approaches such
as mathematical programming techniques by Szpigel (1973) and Sahin (1999),
constraint programming approaches by Oliveira and Smith (2000), Oliveira (2001)
and Rodriguez (2007), and the alternative graph formulation by D’Ariano et al.
(2007), D’Ariano et al. (2008), Corman et al. (2009), Corman et al. (2010) Liu
and Kozan (2009) and Liu and Kozan (2011).
Szpigel (1973) formulates a train scheduling problem on a single track network in
eastern Brazil. The problem is formulated as a job shop scheduling problem with
additional constraints. He defines the the best crossing and overtaking locations
for given routes and departure times of the trains on the mentioned network. A
branch and bound algorithm is introduced and computational experiments are
reported on for five track sections and ten trains.
Sahin (1999) considers the inter-train conflict resolutions on a single track rail-
way. A job shop scheduling formulation is developed for rescheduling trains by
modifying the current meet/pass plans in conflicting situations. The objective
function is to minimize the knock-on effect of the delays. A heuristic is developed
to resolve the conflicts in the order that they appear. The look-ahead property of
the algorithm helps to compute the arrival time of all the other trains if a train
is delayed. Thus, the algorithm chooses the train resulting in the least amount of
delay.
Chapter 4 Literature Review and Background 81
Oliveira and Smith (2000) and Oliveira (2001) study train scheduling problem
along a single track network for a disruption recovery purpose. They use the same
formulation as Szpigel (1973) excluding ordering constraints in order to minimize
delay. Delays are only introduced at the beginning of the train trip. Conflicts
are resolved in chronological order through a constraint programming approach.
Some practical constraints are included such as forcing two trains residing in the
same station for a certain amount of dwell time, and allowing the same train to
do multiple itineraries. They solve real-life problems gathered form literature to
carry out computational experiments.
Rodriguez (2007) uses also the similarities between job shop scheduling and the
problem of scheduling and routing trains through a junction. They propose that
the model can be integrated to a decision support system which is used by opera-
tors in order to help them with rerouting and reordering trains to avoid conflicts.
Test instances are based on the Pierrefitte-Gonesse railway junction in Paris and
include between 6 and 24 trains. Experimental results show a significant improve-
ment in performance in a reasonable amount of time.
D’Ariano et al. (2007) study the train scheduling in real-time as a huge job shop
scheduling problem with no-store constraints. In case of a disruption, a new
conflict-free timetable should be created such that the deviation from the orig-
inal plan is minimized. The alternative graph formulation is used to model the
problem. A branch and bound algorithm is developed which uses some implication
rules to make the computation faster. The experimental results are based on the
Dutch railway around Schipol International airport and the truncated version of
the algorithm can find optimal or near-optimal solutions in a short computation
time.
D’Ariano et al. (2008) is a followup study which focuses on the implementation of a
real-time traffic management system, called ROMA (Railway traffic Optimization
by Means of Alternative graphs) to help controllers in handling disruptions. The
problem is modeled as a job shop scheduling with additional constraints. A com-
pound problem of sequencing and routing trains are solved iteratively. The branch
and bound is utilized to find the optimal sequence of the trains for given routes
and a heuristic is implemented to improve the solution by locally rerouting some
82 Chapter 4 Literature Review and Background
trains. Computational experiments based on the Dutch dispatching area between
Utrecht and Den Bosch includes instances with different types of disturbances in
terms of train delays and blocked tracks. The system shows high potential to be
viable as a support tool to effectively improve punctuality.
Corman et al. (2009) is another study based on the job shop scheduling formulation
and the alternative graph formulation of it. This study analyses the concept
of the green wave (GW) policy which is a traffic policy in the management of
complex railway networks. It allows trains to wait at the stations so that they do
not change their running times in open corridors. GW policy is compared with
an alternate policy which allows speed profile changes in open corridors through
some computational experiments on two dispatching areas of the Dutch railway
network, the line from Utrecht to Den Bosch and Dutch railway around Schipol
International airport. The GW policy is shown to be the most effective in instances
with short corridors, small differences in train speeds and spare capacity available
at the stations.
Corman et al. (2010) offer some improvements on the study by D’Ariano et al.
(2008) through advanced strategies to solve the compound train rerouting and
rescheduling problem as a job shop problem. A novel tabu search with effective
neighborhood structures and search strategies is devised to minimize consecutive
delays. The new tabu search algorithm shows promising performance improve-
ments compared to previous version of the ROMA in terms of solution quality
and computation time. Test instances are from the same dispatching area be-
tween Utrecht and Den Bosch considering complex disturbances with multiple
delayed trains and blocked tracks.
The train scheduling problem is formulated as a blocking parallel machine job
shop scheduling problem in the study by Liu and Kozan (2009). They propose an
extended shifting bottleneck procedure which does not consider blocking condi-
tions. The feasible solutions for the blocking parallel machine job shop scheduling
problem are found by a constructive heuristic algorithm called Feasibility Satis-
faction Procedure (FSP) algorithm. The suggested method is promising to be
implemented on real-life train scheduling problems. computational experiments
are represented for freight trains in Queensland Rail. Sensitivity analysis are also
Chapter 4 Literature Review and Background 83
performed to consider train length, upgrading track sections, increasing train speed
and changing the bottleneck sections.
Train scheduling problem with priorities is modeled as a No-Wait Blocking Parallel-
Machine Job-Shop Scheduling (NWBPMJSS) problem by Liu and Kozan (2011).
An integer programming model and an alternative graph formulation are offered
for the NWBPMJSS problem. They propose an innovative generic constructive
algorithm to create the feasible train timetable by recursively implementing sev-
eral subalgorithms called Best-Starting-Time-Determination Procedure, Blocking-
Time-Determination Procedure, Conflict-Checking Procedure, Conflict-Eliminating
Procedure, Tune-Up Procedure, and Fine-Tune Procedure. Applying these subal-
gorithms can guarantee feasibility by satisfying the blocking, no-wait, deadlock-
free, and conflict-free constraints. A two-stage hybrid heuristic algorithm is devel-
oped by combining the constructive algorithm and a local-search heuristic called
the Best Insertion Heuristic helps to find good train schedule efficiently. Exten-
sive computational experiments show that the proposed method is promising as
it can be viable as a generic and fundamental toolbox for identifying, analysing,
modeling, and solving real-life scheduling problems.
In summary, there are two main lines of research with regard to the complexity
of the railway infrastructure. In the first category, Szpigel (1973), Sahin (1999),
Oliveira and Smith (2000) and Oliveira (2001) address a single line railway with
single and multiple track segments. More realistic networks are considered in the
second category of studies. Rodriguez (2007) schedules trains in a terminal station,
whereas D’Ariano et al. (2007), D’Ariano et al. (2008), Corman et al. (2009) and
Corman et al. (2010) provide solutions for a dispatching area of a railway network
with passengers and freight. Further, Liu and Kozan (2009) and Liu and Kozan
(2011) investigate a case study of a railway network for the transport of coal.
4.3 Complexity of scheduling problems
In this section, the complexity aspects of the problems and subproblems which
appear in this study is discussed. The train scheduling and rescheduling problem
84 Chapter 4 Literature Review and Background
which appears in Chapter 5 is formulated as a modified blocking job shop schedul-
ing problem with additional constraints. In the case study, the processing times
of jobs are the same on the same machine if there is no disruption. Otherwise,
processing time of jobs associated to disrupted trains differ form the other jobs
operated on the same machine (the other trains running on the same block). Each
job has a non-negative release time and due date. The objective function is to
minimize the total weighted tardiness for the proposed generic problem; However,
weights of jobs are considered to be equal to one in the case study.
According to Garey and Johnson (1979) and Ullman (1975) job shop problem
is known to be NP -hard. Thus, the train scheduling problem suggested in this
study is NP -hard. Timkovsky (1985) proves that J2|rj, pij = 1|∑Cj is NP -hard
if all operations are no-wait. Therefore, the proposed train scheduling problem is
NP -hard, even if there are equal-length operations on each machine.
More results about the particular cases of job-shop problems with blocking and no-
wait are listed in the following. If all operations are ideal, Kubiak et al. (1996) show
that the problem is polynomially solvable. The three machine flow shop problem
where all operations to be operated on the second machine have zero processing
time, is strongly NP -hard in the blocking case according to Papadimitriou and
Kanellakis (1980). French (1982) proves the same three machine flow shop problem
is polynomially solvable in the ideal case.
The train scheduling and rescheduling problem is solved by a novel modified
shifting bottleneck procedure in Subsection 5.3.5. The shifting bottleneck de-
composes the problem into subproblems. Generically, a single machine problem
1|prec; rj|∑wjTj can be formulated and then solved. If arbitrary processing times
are assumed, there is no hope to find an algorithm to solve the problem in poly-
nomial time. Because it is a generalization of 1||∑Tj which is shown by Du and
Leung (1990) to be NP-hard.
In the case study, operation time of the jobs on a machines is the same when
there is no disruption; This means that we have equal processing times pjm = pm
in the problem. Moreover, we have assumed that all jobs have equal weights.
Therefore, the objective function can be defined as∑Tj with all weights equal
to one. 1|rj; pj = p|∑Tj can be solved in polynomial time according to Baptiste
Chapter 4 Literature Review and Background 85
(2000). The presence of alternative constraints in the proposed problem, makes
the problem 1|prec; pj = p; rj|∑Tj very difficult to solve. According to Brucker
and Knust (1994), this problem is a generalization of 1|chains; pj = 1|∑Tj which
is proved to be strongly NP-hard by Leung and Young (1990).
Therefore, the subproblem 1|prec; pj = p; rj|∑Tj in our case study is strongly NP-
hard. It should be noted that the proposed modified shifting bottleneck procedure
in Subsection 5.3.5, is developed for the generic subproblem 1|prec; rj|∑wjTj
which is strongly NP-hard according to the discussion mentioned above.
It is worthwhile to note that precedence constraints appear in the 1|prec; pj =
p; rj|∑Tj subproblem. It may seem at first that in the case that headways are
large, alternative arcs can be redundant and there is no precednece constraints
in the graph. Alternative arcs only exist for following trains and they become
active when there is a disruption to keep following trains 3 blocks far from each
other. This is due to the fact that during the disruption running times are longer
and it takes longer to traverse a block. In this case, headway is smaller than
the sum of the operations times of three consecutive blocks. Alternative arcs
are only redundant when there is no disruption. There are another set of arcs
which are called static implications which are only fixed for the following trains
running on common blocks. After fixing the static implication arcs, the precedence
constraints are imposed among the operations which are performed on the same
machine. We fix the arcs among the operations corresponding to both following
and opposite trains running on common blocks and call these arcs simple implied
arcs. Reader is referred to Chapter 5 for more information about alternative arcs,
static implication arcs and simple implied arcs.
Train routing and rerouting problem is formulated as a modified parallel machine
job shop scheduling problem which is presented in Chapter 6. An novel extended
shifting bottleneck is proposed to solve the train routing and rerotuing problem
in Subsection 6.3.2. The shifting bottleneck decomposes the train routing and
rerotuing problem into several single machine (SM) and parallel machine (PM)
subproblems.
The arising SM problem is minimizing total weighted tardiness on a single machine
with release times 1|rj|∑wjTj. This problem is NP-hard as it is the generalization
86 Chapter 4 Literature Review and Background
of 1||∑wjTj which is proven to be strongly NP-hard by Lawler (1977). However,
in the case study, we have assumed similar priority for all trains. That is, the
weights are all set equal to 1. Moreover, the processing times are the same on a
single machine. Therefore, the arising model in our case study is 1|pj = p; rj|∑Tj
which can be solved in polynomial time (Baptiste, 2000). It should be noted
that in what follows, the solution method is represented for the generic problem
1|rj|∑wjTj.
The PM subproblem is an instance of P |rj|∑wjTj which is a generalization of
1||∑wjTj. Lawler (1977) has shown that 1||
∑wjTj is strongly NP -hard. Hence,
P |rj|∑wjTj is NP -hard. In the case study, trains have equal priorities and equal
running times on track sections. So the model in the case study is minimizing
total tardiness on identical parallel machines with common processing times and
release times P |pj = p; rj|∑Tj. This problem can be solved in polynomial time
(Brucker and Kravchenko, 2005). However, we propose a solution method for
the generic problem P |rj|∑wjTj in our study due to main two reasons. Firstly,
in our case study, we look at disruptions and develop a suitable method to deal
with disruptions. In all test instances other than the timetable, we solve the
problem where the processing times are not equal for the jobs processed on the
same machine. Therefore, we generally solve the problem P |rj|∑Tj which is NP -
hard; Because, it is the generalization of the 1|rj|Lmax which is shown by Lenstra
(1977) to be NP -hard. Secondly, a solution for the generic problem is developed
so that it can be viable to solve more general problems.
Chapter 5
Train scheduling and disruption
management
Today, the railway network system is a major part of the transportation infras-
tructure in many countries. Due to the increasing volume of railway traffic and
the high expense of construction or modification of infrastructure, train scheduling
is employed to ensure the best usage of the existing capacity. There has been in-
creasing interest in the train scheduling problem recently and job shop scheduling
has been exploited in some studies after the seminal publication of Szpigel (1973).
This chapter addresses scheduling and disruption management which is intended
to optimize train traffic on a rail network with a detailed topology. Our novel
approach to model and solve the problem makes use of job shop scheduling con-
cepts. This chapter is organized as follows. We introduce the train scheduling
and rescheduling in the case of delays briefly in Section 5.1. A mathematical for-
mulation for the problem is suggested in Section 5.2, which shows computational
advantages for real-world instances. We also extend a graph representation of job
shop scheduling problem to formulate additional operational and safety constraints
for train scheduling problem. Consequently, a sophisticated algorithm is offered in
Section 5.3 to solve train scheduling problem based on a special heuristic for job
shop scheduling problem. Different variations of the heuristic are developed and
analyzed through computational results in Section 5.4 which shows their strength
87
88 Chapter 5 Train scheduling and disruption management
and viability for practical use. Finally, we conclude the chapter with a summary
and final remarks in Section 5.5.
This chapter summarizes the study and it is an edited version of the papers which
has been partially presented in the following conferences Khosravi et al. (2010),
Khosravi et al. (2011a), Khosravi et al. (2011b), Khosravi et al. (2012a), Khosravi
et al. (2012b).
5.1 Introduction
This study is focused on train scheduling problem at the micro level including de-
tailed information about the tracks and train movements. As it is already discussed
in Chapter 3, we base our experiments on a bottleneck area in the South East of
the UK where the network is very congested and has a complicated structure with
regard to junctions and stations.
The aim is to define entry times and the order of trains on blocks for predetermined
routes to get from origin to destination. Hence, a schedule is created by timing
and ordering trains at junctions and stations in order to improve the utilization
of the existing infrastructure and capacity. In order to do this we use the analogy
between train scheduling and job shop scheduling.
In the case of disruptions, which cannot be avoided in operational level, the same
scheduling technique can be applied for real-time traffic management when the
solution method is fast enough. The produced schedule must be conflict-free,
where a conflict is defined as two or more trains assigned to the same block.
It is also important to consider the potential for delay propagation in a rail net-
work, which results from the high interdependency of the trains. Thus, the objec-
tive is to minimize the total weighted tardiness to avoid delay propagation subject
to a set of operational and safety constraints. More details about the train schedul-
ing formulation and modeling the objective function and constraints are given in
Section 5.2.
Chapter 5 Train scheduling and disruption management 89
5.2 Mathematical formulation
In this study, we make use of similarity between train scheduling problem and
the well-known job shop scheduling problem. Job shop scheduling assigns jobs to
machines in a way that a machine can process only one job at a time. Likewise, a
block can be occupied by only one train at a time according to the line blocking
which is a safety principle for train movement. Thus, a train traversing a block is
analogous to a job being processed on a machine, and is referred to as an operation.
The objective function is to minimize the total delay of train with priorities which
is translated to minimizing the total weighted tardiness of the jobs. This differs
from the classical job shop problem with makespan as the objective function. Thus,
the conventional job shop model needs to be modified in terms of the objective
function.
The conventional job shop model is also extended with regard to the constraints
in order to consider railway operational and safety constraints. In this section, we
firstly consider two main railway constraints including running time constraints
and headway constraints. Then, a new set of constraints is added to make the
model more realistic regarding the characteristics of the network signaling system.
In the following, it is shown how the model can be formulated by some configura-
tions and incorporating new constraints in the conventional job shop scheduling
model. In Subsection 5.2.1, we develop a mathematical programming model of the
problem and Subsection 5.2.2 focuses on a graph representation and formulation
of the modified job shop scheduling problem.
5.2.1 MILP model
Several programming formulations for the classical job shop scheduling problem
J ||Cmax are introduced in the literature. There is a couple of integer programming
formulations for the job shop problem. However, the well-known disjunctive pro-
gramming formulation is the most commonly used formulation. In the classical
job shop scheduling problem, a set I of jobs i for i = 1, . . . , I should be processed
on a set of machines denoted by M for machines m = 1, . . . ,M . Each job i has
90 Chapter 5 Train scheduling and disruption management
a sequence of machines (mi1, . . . ,mi,li) that needs to be visited in a special order.
No preemption is allowed so each job needs to be finished without interruption.
Each job i becomes available at time zero and requires a fixed processing time pim
to finish. The objective is to find a sequence of jobs on each machine in order to
minimize the makespan Cmax = maxi=1,...,I
{Ci}, where Ci denotes the completion time
of the last operation of i (i = 1, . . . , I).
A schedule is a set of starting times tim to satisfy the conjunctive constraints :
ti,mi,k− ti,mi,k−1
≥ pi,mi,k−1i ∈ I, k = 2, . . . , li (5.1)
and the pairs of disjunctive constraints :
tjm − tim ≥ pim or tim − tjm ≥ pjm (i,m), (j,m) ∈ O (5.2)
where O is the set of operations defined by indices (i,m), for i ∈ I and m ∈M.
Thus, a mixed integer programming formulation can be presented by introducing
a binary variable xijm for each disjunction which determines whether operation i
can start before j on machine m, and a very large positive number M .
Minimize Cmax (5.3)
subject to
Cmax − ti,mi,li≥ pi,mi,li
i ∈ I (5.4)
ti,mi,k− ti,mi,k−1
≥ pi,mi,k−1i ∈ I, k = 2, . . . , li (5.5)
tjm − tim + M(1− xijm) ≥ pim (i,m), (j,m) ∈ O (5.6)
tim − tjm + M(1− xjim) ≥ pjm (i,m), (j,m) ∈ O (5.7)
xijm + xjim = 1 (i,m), (j,m) ∈ O (5.8)
xijm ∈ {0, 1} (i,m), (j,m) ∈ O (5.9)
ti,mi,1≥ 0 i ∈ I (5.10)
Constraints (5.4) is to define the makespan in terms of the jobs starting times and
processing times. The so-called conjunctive constraints (5.5) make sure that the
starting time of the operation (i,mi,k) is not before the completion of the operation
Chapter 5 Train scheduling and disruption management 91
(i,mi,k−1). Constraints (5.6) and (5.7) are known as disjunctive constraints and
they guarantee that there is an order between different jobs to be processed on
a machine. Therefore, this formulation is referred to as disjunctive programming
formulation.
We use this formulation to define train scheduling problem. The fixed block sig-
naling is the technology used for safety in the main lines in the UK network. So
it is the basic principle that a block is protected by the signals. According to
safety principles, only one train can enter and run on a block at a time. The
model should include the running times and dwell times of the train which can be
defined by conjunctive constraints.
Trains need to be away from each other as much as the headway value. Thus,
headway constraints are very similar to disjunctive constraints, but they need
to be slightly modified to be more realistic for both scheduling and rescheduling
purposes. Therefore, the headway value is defined to be equal to the maximum
value between scheduled headway in the timetable and a longer running time of a
train on a block in case of a perturbation.
Another set of constraints is added to consider network signaling which can be
customized for different types of signaling systems. These constraints are called
blocking constraints in the flow shop scheduling literature as a job blocks a machine
due to no buffer capacity between consecutive machines until the next machine
becomes available for it to move further in its sequence. In another word, blocking
forces jobs to remain on a machine after their completion until the next machine
becomes available. This assumption is very beneficial as it is an important issue
in many real-life scheduling problems (See Hall and Sriskandarajah (1996) for a
survey of machine scheduling problems with blocking).
Mascis and Pacciarelli (2002) define the so-called alternative constraints in a gen-
eralization of the job shop scheduling formulation. The alternative constraints are
a modification of the disjunctive constraints to incorporate blocking characteristic
in the job shop model. In this study, we modify alternative constraints to define
the restrictions imposed by the signaling system. We consider four-aspect signal-
ing which means a signal is red for stop (danger), yellow for approach (caution),
double yellow for advance approach (preliminary caution) and green for clear.
92 Chapter 5 Train scheduling and disruption management
However, we define generic alternative constraints and they can be adapted to the
other fixed block systems.
Given predetermined routes from a given origin to a given destination, a schedule
determines starting times of trains entering each block and the order of trains on
each block. We employ the approach to the currently operating timetable and we
optimize the train sequence on each block in off-line and on-line traffic manage-
ment. Considering the analogy between train scheduling and job shop schedul-
ing, the following notation is used for parameters and decision variables in the
mathematical programming formulation for the train scheduling and rescheduling
problem.
I: set of jobs/trains
M: set of machines/blocks
i,j: indices for jobs (i = 1, . . . , I and j = 1, . . . , J)
ri: non-negative release time of job i/departure time oftrain i from its origin
di: non-negative due date of job i/scheduled arrival time oftrain i at its destination
wi: non-negative importance weight of job i/train i
li: number of machines to be visited by job i/number ofblocks to be traversed by train i
(mi1, . . . ,mi,li): sequence of machines to be visited by job i/sequence ofblocks to be traversed by train i
(i,m): job, machine indices/train, block indices, for i ∈ I andm ∈M
O: set of operations defined by indices (i,m), for i ∈ I andm ∈M
pim: operation time for job i on machine m/running or dwelltime for train i on block m
si(m): the immediate successor machine (the third successormachine) of (i,m) for two-aspect signaling (four-aspectsignaling)
Si(m): a set containing job, machine indices (i,m) for two-aspect signaling, and additionally containing the indicesof its immediate and second successor operations forfour-aspect signaling
hijm: required time delay (headway) between the start of op-erations (i,m) and (j,m) when job i precedes job j onmachine m
tim: starting time of job i on machine m
Ti: tardiness of job i
Chapter 5 Train scheduling and disruption management 93
It should be noted that there are three main differences in this model. Not all
jobs can start at time zero, but they have a release time ri which means trains can
enter the network at a pre-defined time. There is a due date for each job which is
used to calculate the tardiness of a job with Tj = max(Lj, 0), where the lateness
of a job Lj is defined as Lj = Cj−dj . This is similar to the pre-defined times that
the train should reach its destination and it can be used to calculate how tardy is
each train.
The objective function in train scheduling problem is minimizing total weighted
tardiness J |rj|∑wjTj. It helps to consider the potential for delay propagation in
a rail network, which results from the high interdependency of the trains. If some
trains have priority over the others, it can be reflected in their weights; otherwise,
weights can be defined as one. The generated schedule needs to be conflict-free
and deadlock-free. Figure 5.1(a) presents a deadlock-free case and Figure 5.1(b)
illustrates a deadlock situation.
T1
A
T2
T3 (a)
B C F G H I J K
D E
T1
A
T2
T3 (b)
B C F G H I J K
D E
Figure 5.1: (a) Situation with no deadlock (b) Situation with deadlock
Thus, the train scheduling problem can be formulated as a job shop scheduling
problem with additional constraints, and a corresponding Mixed Integer Linear
Programming (MILP) model is specified in the following. As the model is similar
to a job shop scheduling model with extra constraints to formulate train scheduling,
we call this model Modified Blocking Job Shop Scheduling (MB-JSS) model.
94 Chapter 5 Train scheduling and disruption management
Minimize z =∑i∈I
wiTi (5.11)
subject to
Ti ≥ ti,mi,li+ pi,mi,li
− di i ∈ I (5.12)
ti,mi,1≥ ri i ∈ I (5.13)
ti,mi,k− ti,mi,k−1
≥ pi,mi,k−1i ∈ I, k = 2, . . . , li (5.14)
tjm − tim + M(1− xijm) ≥ max{pim, hijm} (i,m), (j,m) ∈ O (5.15)
tim − tjm + M(1− xjim) ≥ max{pjm, hjim} (i,m), (j,m) ∈ O (5.16)
tjm − tisi(m) + M(1− xijm) ≥∑
(i,k)∈Si(m)
pik (i,m), (j,m) ∈ O (5.17)
tim − tjsj(m) + M(1− xjim) ≥∑
(j,k)∈Sj(m)
pjk (i,m), (j,m) ∈ O (5.18)
xijm + xjim = 1 (i,m), (j,m) ∈ O (5.19)
xijm ∈ {0, 1} (i,m), (j,m) ∈ O (5.20)
Ti ≥ 0 i ∈ I (5.21)
In this formulation, the total weighted tardiness objective function is defined in
(5.11). The tardiness of a job is defined in constraint (5.12) by considering its
starting time on the last machine of its sequence, its processing time on that
machine and the due date of the job; this is equivalent to defining a train’s delay.
Ensuring that the starting time of a job on the first machine of its sequence is no
earlier than its release time is achieved through constraint (5.13), which means a
train can start only after it is ready on the first block.
Constraints (5.14) are the set of conjunctive constraints to ensure the processing
order of a job on consecutive machines. It determines the running and dwell time
constraints for trains. Modified disjunctive constraints (5.15) and (5.16) specify
the ordering of different jobs on the same machine, and they are adapted to define
the minimum headway between consecutive trains.
Alternative constraints (5.17) and (5.18) force a job to remain on a machine after
completing its process until the next machine(s) becomes available. This pair of
Chapter 5 Train scheduling and disruption management 95
constraints can represent the signaling system of the network. The proposed MILP
model is developed by Xpress-MP and the results are reported in Section 5.4. In
the next Subsection 5.2.2, a graph representation is used to formulate the problem.
5.2.2 Modified disjunctive graph formulation
Modeling the conventional job shop scheduling problem for minimizing the makespan
with a disjunctive graph is quite popular in the literature. This representation for
J ||Cmax was firstly introduced by Roy and Sussman (1964). The conventional dis-
junctive graph is considered as a directed graph G = (N,A,B) where N is the
set of nodes and A and B are two sets of arcs to represent the conjunctions and
disjunctions.
As it can be seen in Figure 5.2, an operation is shown by a node (i,m) in set N .
There are also two dummy nodes in set N including a source U and a sink V. Solid
arcs in set A refer to conjunctive arcs for jobs routes. If there is a conjunctive arc
(i,m)→ (i, n), it means that job i should be processed on m and then on n. The
dotted pair of arcs in opposite direction are disjunctive arcs and belong to set B.
They connect different jobs on a machine. For the sake of clarity, disjunctive arcs
are only depicted for one machine in Figure 5.2. The length of the conjunctive
and the disjunctive arcs are equal to the processing time of the operations from
which they stem. There are arcs emanating from the source with the length zero
and there are also arcs coming into the sink with the length of the last operation
of each job.
Let L(v, v′) show the length of the critical (longest path from node v to v′ in the
graph. Using the following formulation one can calculate the heads and tails of
the operations. The head of an operation rim is the earliest time that an operation
can start and it is defined by the length of the longest path from node U to the
specific node (i,m) for job i and it is shown by
rim = L(U, (i,m)), (5.22)
96 Chapter 5 Train scheduling and disruption management
2 , 1
1 , 2 1 , 3
U
5 10
4
2 , 3
1 , 1
3
0
2 , 2 V 4 5 6
3 , 3 3 , 2 3 , 1 5
7
0
0
i , m : Job i, machine m
: Conjunctive arc
: Pair of disjunctive arcs
Figure 5.2: Disjunctive graph for J ||Cmax
Similarly, length of the longest path from node (i,m) to the sink is called tail qi,m
and shown by
qim = L((i,m), V ). (5.23)
It should be noted that we use this convention that if there is no path from node
(i,m) to another node (j, n), then L((i,m), (j, n)) = −∞ which means that the
length of the longest path between two nodes is either positive or −∞.
Assume that the set of disjunctive arcs B is decomposed into cliques Bm for each
machines such that
B =⋃
(Bm : m ∈M). (5.24)
A selection Sm in Bm contains only one member of each disjunctive arc pair of set
Bm (Adams et al., 1988). A selection by choosing disjunctive arcs on a machine
such that the graph is acyclic determines the order of the jobs to be processed on a
machine. A selection is called acyclic if it contains no directed cycle and an acyclic
selection Sm is associated with a unique sequence of the operations for machine
m and vice versa. It should be noted that there is no negative cycle in the graph;
Because, according to the definition of the longest path (See formula 6.24), there
are either positive longest paths between nodes or there is no path between them.
A complete selection S includes the union of the selections Sm, one in each Bm,
m ∈ M). Thus, a complete selection of one disjunctive arc from each pair such
that there is no cycle in the graph indicates a feasible schedule. Similarly, a partial
Chapter 5 Train scheduling and disruption management 97
selection is defined with the union taken over some subset M0 of M. A partial
selection corresponds to a partial schedule for the problem.
The longest path from source U to sink V defines the makespan. According to the
definitions above, the problem is to find an acyclic complete selection S ∈ B that
minimizes the length of the longest path in directed graph G. So minimizing the
makespan or finding the critical path is reduced to selecting the disjunctive arcs
such that the length of the longest path is minimum.
Problem J |rj|∑wjTj can also be represented by a disjunctive graph as shown
by Pinedo and Singer (1999). The disjunctive graph can be slightly modified to
be adapted to minimize total weighted tardiness in a job shop problem with jobs
that have different release times. Similar to the conventional disjunctive graph,
the graph G = (N,A,B) can be defined with set N representing the nodes for
each operation (i,m). The dummy source node U is the same, but there are I
different sinks Vi for each job i. As before, the conjunctive arcs (i,m)→ (i, n) in
set A show pairs of consecutive operations (i,m) and (i, n) of job i. The length of
the mentioned arc is pim and the arc from (i, q) to Vi has the length piq. The arc
from U to (i, 1) has the length of ri. Set B includes the pair of disjunctive arcs
(i,m)→ (j,m) and (j,m)→ (i,m) with the lengths pim and pjm respectively. The
disjunctive arcs come in pairs, and selecting one arc from a pair fixes the order of
the corresponding two operations on a machine.
Figure 5.3 represents an example of a job shop with three jobs and three machines
for J |rj|∑wjTj. To have a clearer picture, pairs of disjunctive arcs are only
drawn for one machine. Associated with Vi nodes are the di values 10, 15 and 6
as the due dates of jobs 1, 2 and 3 respectively. di values are used to calculate the
total weighted tardiness for the job shop problem. The dummy nodes Vi for each
job i are introduced in the disjunctive graph formulation to define the lateness
of the jobs. Consequently, the tardiness of each operation is determined with the
help of the longest path calculations. More details of the computation is given in
Subsection 5.3.5.2.
Using the analogy between the job shop scheduling and train scheduling, each
operation is a train running on a block with a pre-determined time ri to enter the
network and a pre-determined time di to reach its destination. The conjunctive
98 Chapter 5 Train scheduling and disruption management
2 , 1
1, 2 1 , 3
U
V 1 5 10 4
2 , 3
1 , 1
3
5
2 , 2 V 2 4 5 6
3 , 3 3 , 2 3 , 1 V 3 5 7
0
0
i , m : Job i, Machine m
: Conjunctive arc
: Pair of disjunctive arcs
24
18
16
Figure 5.3: Modified disjunctive graph for J |rj |∑
wjTj
arcs correspond to running and dwell time constraints. Likewise, the disjunctive
arcs are associated with headway constraints and their weights need to be modified
slightly to represent headway values as it is explained below.
However, modeling a job shop scheduling problem with a disjunctive graph does
not take into account the buffer capacity between consecutive machines, which
seems to be an important issue in many real-life scheduling problems. As a mod-
ification of the disjunctive graph, the alternative graph by Mascis and Pacciarelli
(2002) addresses this restriction and it can be adapted to formulate different types
of constraints. We adapt the modified disjunctive graph of Pinedo and Singer
(1999) which minimizes total weighted tardiness, to the train scheduling problem
with realistic operational and safety constraints. The alternative arcs are added
to the disjunctive graph to define the signaling system.
Consequently, we introduce a modified disjunctive graph G = (N,A,B,C) for
train scheduling and rescheduling where set N contains a node for each operation
(i,m), a dummy source U and I dummy sinks Vi for each job i. A is the set
of conjunctive arcs that connects the pair of consecutive operations of the same
job in order to take into account running and dwell time constraints. Set B is
the set of modified disjunctive arcs that are represented by two arcs in opposite
directions for every pair of operations (i,m) and (j,m). To represent headway
for both following and opposite trains, the length of a disjunctive arc is simply
modified as max{pim, hijm} to consider the higher value between the running time
and the headway.
Chapter 5 Train scheduling and disruption management 99
2 , 4
1 , 2 1 , 3
U
1 , 4
2 , 1
1 , 1
5
2 , 2 2 , 3
3 , 3 3 , 2 3 , 1 3 , 4
V 1
V 2
V 3
i , m : Job (Train) i, Machine (Block) m
: Conjunctive arc (Running
Time) : Pair of disjunctive arcs
(Headway) : Pair of alternative arcs (Signalling)
0
5 1 4 8
2 6 5
0
5
4
3 7 9
32
25
23
Figure 5.4: MB-JSS graph: Modified disjunctive graph with alternative arcsfor J |rj |
∑wjTj
The limitation of the disjunctive graph to be able to model the buffer capacity
between consecutive machines properly is addressed in the new graph. In our
problem, a job needs to stay on a machine after its processing time until the next
machine becomes free. So set C includes the pairs of alternative arcs (i, si(m)) and
(j,m) which are added according to the alternative graph of Mascis and Pacciarelli
(2002). As shown in Figure 5.4, these arcs are adapted to have alternative arcs to
keep following trains moving on green signals with a fixed speed under four-aspect
signaling. For more clarity disjunctive arcs for only one machine and one pair of
alternative arcs are drawn in Figure 5.4. More details about alternative arcs are
given in the next Subsection 5.2.3.
5.2.3 Alternative arcs
The alternative arcs in this study are adapted from the study by Mascis and Pac-
ciarelli (2002). D’Ariano et al. (2007) employ the alternative arcs for modeling the
train scheduling in a two-aspect signaling system. Figure 5.5(a) shows alternative
arcs for a two-aspect signaling system. There is potential for a conflict when a
block is required by two trains at the same time. Thus, an order needs to be
determined for the conflicting operations corresponding to conflicting trains which
need to run on the same block. A pair of alternative arcs is introduced to model
this situation. If (i,m) and (j,m) are two conflicting operations, we let (i, si(m))
and (j, sj(m)) to be their immediate successor operations (their third successor
100 Chapter 5 Train scheduling and disruption management
operation) for two-aspect signaling (four-aspect signaling) of (i,m) and (j,m) re-
spectively. © notation is to identify the pair of alternative arcs and a decision
is made by choosing either the arc from node (j, sj(m)) to (i,m) or the arc from
node (i, si(m)) to (j,m).
In the model suggested by Mascis and Pacciarelli (2002), if (i,m) is scheduled be-
fore (j,m) on machine m and the length of the alternative arc from node (i, si(m))
to (j,m) is shown by asi(m),j, (j,m) starts only asi(m),j time units after the start
of operation (i,m). Similarly, if j is scheduled before i on machine m and the
length of the alternative arc from node (j, sj(m)) to (i,m) is denoted by asj(m),i,
(i,m) starts only asj(m),i time units after the start of operation (j,m). D’Ariano
et al. (2007) define the length of the alternative arc as the setup time for the block
section in the train scheduling problem with two-aspect signaling system.
Figure 5.5(b) represents the adapted alternative arcs in the current research for
a four-aspect signaling railway network. Similar to two-aspect signaling system,
there is a potential conflict for two trains which need to run on the same block. In
addition, in a four-aspect signaling network, trains need to be kept three blocks
away from each other. To resolve the conflict and keep the trains three blocks
away, we introduce a pair of alternative arcs to define the order of the conflicting
trains and keep them far enough. We let (i,m) and (j,m) to be two conflicting
operations with (i, si(m)) and (j, sj(m)) to be their third successor operations
respectively.
If operation (i,m) is scheduled before operation (j,m) and the sum of operation
time of operation (i,m) and its immediate and second successor operations are
defined as∑
(i,k)∈Si(m) pik, (j,m) starts only∑
(i,k)∈Si(m) pik time units after the
start of operation (i,m). It means that (j,m) can only start after (i,m) and its
immediate and second successor operations finished their operations. In other
words, the modified alternative arc from node (i, si(m)) to (j,m) is selected and
its length is assumed to be equal to zero. Similarly, if (j,m) is scheduled before
(i,m) on machine m and the sum of operation time of operation (j,m) and its
immediate and second successor operations are defined as∑
(j,k)∈Sj(m) pjk, (i,m)
starts only∑
(j,k)∈Sj(m) pjk time units after the start of operation (j,m). In this
Chapter 5 Train scheduling and disruption management 101
case, the alternative arc from node (j, sj(m)) to (i,m) is selected and its length is
equal to zero.
(a) (b)
i,m
j,sj(m)
T1
T2
i,si(m)
T2
T1
j,m
i,m i,si(m)
j,m
m
j,sj(m)
Figure 5.5: (a) alternative arcs for two-aspect signaling (b) Modified alterna-tive arcs for four-aspect signaling
The role of the alternative constraints in modeling train separation and signaling
should be emphasized here. The alternative arcs help to maintain enough sepa-
ration between two following trains with regard to the network signaling system.
For instance, in our case study with the four-aspect signaling, following trains are
required to be three blocks away all the time. It can be clearly seen that alterna-
tive arcs do not allow following trains to get closer than three blocks even during
disruptions. It is also obvious that headway constraints cannot singly take into
account the signaling characteristics.
Any feasible schedule corresponds to an acyclic complete selection of disjunctive
and alternative arcs such that one arc is chosen from each pair of disjunctive and
alternative arcs. Conversely, a complete selection of the disjunctive and alternative
arcs by choosing exactly one arc from each pair which result in a graph with no
cycle, leads to a feasible schedule. In the following Section 5.3, some algorithms are
suggested to solve this problem based on a special heuristic for job shop scheduling
problem.
It should be noted that both disjunctive and alternative arcs are important in
this study. As it is mentioned before, modified disjunctive arcs are added for
both following and opposite trains whereas alternative arcs are added only for
following trains. In the complete set of modified disjunctive graph formulation, the
disjunctive arcs may be redundant for following trains when a disruption occurs. It
is due to the longer running and dwell times compared to the headway value during
102 Chapter 5 Train scheduling and disruption management
disturbances. However, the disjunctive arcs are needed when a single machine
is formulated for the solution method as it is discussed in Subsection 5.3.5.2.
Alternative arcs are needed so that the following trains are kept three blocks far
from each other even during a disruption. On the other hand, alternative arcs
can be redundant for following trains when there is no disruption as the headway
value in our case study is bigger than running and dwell time values.
5.3 Solution methods
This section deals with solution methods to solve the scheduling problem that we
formulated in the previous section. We develop three types of algorithms: A FCFS
simple dispatching heuristic, a greedy heuristic and a specific job shop scheduling
heuristic called Shifting Bottleneck procedure (SB). The aim is to suggest an algo-
rithm that finds the order and timing of the trains on the network blocks so that
the delay is minimized. This approach can be used in an offline decision making
process and online planning if the algorithm is fast enough. Thus, the develop-
ment of several algorithms which are based on SB heuristic is the main focus in
this section.
In Subsection 5.3.1, the First Come First Served (FCFS) algorithm for this problem
is represented. The FCFS algorithm is a heuristic based on a FCFS dispatching
rule which simulates the real-world application. Since the problem can easily lead
to infeasibility when FCFS is employed, we suggest an alternative heuristic in
Subsection 5.3.2 in order to produce a baseline for comparisons. Finally, the novel
SB algorithm and its variations are discussed in Subsection 5.3.5.
5.3.1 FCFS dispatching rule
First Come First Served (FCFS) also called First In First Out (FIFO) algorithm
is the one of the simplest scheduling algorithm where operations are dispatched
based on their arrival time on the ready machine. It seems to be fair according
to common sense but applying it may make urgent jobs wait for non-urgent jobs
and maybe important jobs wait for unimportant jobs. FCFS algorithm is easy to
Chapter 5 Train scheduling and disruption management 103
implement and understand although the major drawback is that it may increase
the total weighted tardiness which is the objective function in the our problem.
Also the average waiting time is long when FCFS is applied. In general, when
FCFS is implemented as a solution method, no attention is made to the objective
function of the problem under study whether it is total weighted tardiness or other
criteria for optimization.
According to (D’Ariano, 2008), the practice is common among train dispatchers
who permit the train which arrives in advance to enter a block. Furthermore,
most of the rescheduling decisions taken by dispatching systems operate on the
spot and may implement simple dispatching rules like FCFS. This means when a
conflict arises the dispatcher resolves it by assigning the block to the first train
that requires it. This rule does not have any special order and the dispatching
decision lets the traffic flow with the actual order.
When developing the FCFS algorithm, one should make sure to comply with the
train operational rule in this chapter. First rule is to allow a train to enter a block
if it is clear. A train traversal time on a block is equal to its running time on
that block. The time difference between two consecutive train is at least equal to
maximum value between the headway and the running time of the preceding train
which makes the second rule. Last rule is about allowing a following train to enter
a block if the preceding train is far away enough according to the signaling system.
For example in our case study, we only let a following train start its movement on
a block when the preceding train is three blocks away.
5.3.2 Earliest Arc heuristic
A heuristic algorithm is provided in order to find feasible solutions for the train
scheduling and rescheduling problem. As the problem is formulated as a modified
blocking job shop scheduling problem, we need to find an acyclic selection of
disjunctive and alternative arcs in the MB-JSS graph in order to have a feasible
schedule.
It is reported in the literature that solving a blocking job shop scheduling problem
seems to be much harder than the classical job shop scheduling and there is a
104 Chapter 5 Train scheduling and disruption management
concern for running into infeasibility when developing algorithms for this type of
problems (Groeflin and Klinkert, 2009). A structural property of the blocking job
shop scheduling problem is that in contrast to the job shop scheduling problem, a
feasible partial schedule cannot be always extended to a complete schedule. There-
fore, a heuristic which builds a solution incrementally has a high risk of resulting
in infeasibility (Groeflin and Klinkert, 2009; Mascis and Pacciarelli, 2002). Algo-
rithms based on priority rules are an example of repeatedly enlarging a selection.
As we have observed in computational tests, the FCFS dispatching algorithm fails
to find a feasible solution in many cases. Therefore, we need to develop a solution
method which can serve as a baseline for our comparisons and does not easily
result in infeasible solutions. Mascis and Pacciarelli (2002) offer four variations
of a greedy heuristic to find an acyclic selection in the alternative graph which
has been later employed for train scheduling in a study by D’Ariano et al. (2007).
Generally, it is an iterative algorithm which chooses a pair of alternative arcs based
on a criterion which is different for each variation of the heuristic. Then, one of
the arcs which is compatible with the current solution is selected.
We employ the general framework of the mentioned algorithms and modify it in
terms of the selection criterion for the pair of arcs. In addition, we select one arc at
a time in a pair of disjunctive arcs in the MB-JSS graph instead of alternative arcs
in the greedy heuristic suggested by Mascis and Pacciarelli (2002). After adding
the disjunctive arc, corresponding alternative arc is added. Then, alternative arcs
are used to add implied alternative arcs for following trains which share common
blocks. The implied alternative arcs are derived by employing some rules which
are defined in the following. Further, we fix the implied disjunctive arcs among
the jobs on a machine. This should be done for all the nodes which correspond to
both following and opposite trains running on common blocks.
The basic idea of the algorithm is to incrementally extend a partial selection S
which is initially equal to ∅. In order to illustrate some concepts with more clarity
in this section, an operation (a,m) is denoted by a and subsequently an arc from
node a to node b is defined as (a, b). The algorithm selects a pair of unselected
disjunctive arcs (i, j) and (j, i) between operations i and j processed on machine
m such that both operations have the smallest release date among all the other
Chapter 5 Train scheduling and disruption management 105
nodes. Only in this section, the release date for operation i is shown by ri which
is calculated similar to rim by formula (5.22).
As the algorithm chooses the arcs with the earliest release dates, it is called an
Earliest Arc (EA) heuristic. The EA heuristic enlarges a partial schedule repeat-
edly. So it risks the chance of ending up with an infeasible solution. We have
incorporated a mechanism of fixing implied arcs in the MB-JSS graph which can
be helpful to avoid infeasibility in many cases, but it cannot guarantee a feasible
solution. The idea is inspired by the concept of immediate selection in a disjunc-
tive graph by Brucker et al. (1994a) and static implication rules in an alternative
graph by D’Ariano et al. (2007). The main idea in both studies is to fix some
implied arcs in the corresponding graphs which reduces the amount of computa-
tional effort for the introduced branch-and-bound methods for the corresponding
job shop problem.
5.3.3 Static implication rules and static implications
D’Ariano et al. (2007) offer two propositions quoted as below, where fab denotes
the length of the alternative arc (a, b) and LS(b, i) shows the longest path from
node b to i according to the current selection of arcs denoted by S. Assume that
L∅(b, i) is the longest path from node b to i according to an empty selection S = ∅.S = ∅ holds when MB-JSS graph G is decomposed of only conjunctive arcs which
are associated with the train routes.
� “Consider a selection S and two unselected alternative pairs ((a, b), (c, d))
and ((i, j), (h, k)). If fab + LS(b, i) + fij + LS(j, a) ≥ 0, arc (h, k) is implied
by selection S ∪ (a, b) and arc (c, d) is implied by selection S ∪ (i, j).”
� “Consider two alternative pairs ((a, b), (c, d)) and ((i, j), (h, k)). Then fab +
L∅(b, i) + fij + L∅(j, a) ≥ 0 if the following conditions hold.
1. Nodes b and i are associated with train T1 and are connected by a
directed path of fixed arcs, i.e., T1 executes b before i.
2. Nodes j and a are associated with train T2 and are connected by a
directed path of fixed arcs, i.e., T2 executes j before a.
106 Chapter 5 Train scheduling and disruption management
3. T1 and T2 pass through two block sections ((a, b), (c, d)) and ((i, j), (h, k)).”
The above mentioned propositions lead to the static implication rules by D’Ariano
et al. (2007) which are effective for the train scheduling problem. D’Ariano et al.
(2007) define static implications as implied alternative arcs that are selected ac-
cording to the static implication rules among different alternative pairs as below.
� T1 and T2 are following trains running on adjacent blocks m1 and m2. Ac-
cording to Figure 5.6, nodes a and j as well as nodes c and k coincide. Thus,
arcs (a, b) and (h, k) imply each other as well as (c, d) and (i, j).
� T1 and T2 are opposite trains running on blocks m1 and m2. According to
Figure 5.7, arcs (a, b) implies arc (h, k) imply as well as arc (i, j) implies
(c, d). It should be noted that arc (h, k) does not imply arc (a, b) and arc
(c, d) does not imply arc (i, j).
Block m1 Block m2
b
d
c=k
a=j
T1
T2
i
h
T2
T1
T1
Block m1 Block m2
T2
Figure 5.6: Illustration of implication rules for following trains on a rail net-work with two-aspect signaling
T1
T2
Block m1 Block m2
Block m1 Block m2
b
d
c k
j h
T1
T2
i
T2
T1
a
Figure 5.7: Illustration of implication rules for opposite trains on a rail net-work with two-aspect signaling
We need to modify the implication rules slightly to be compatible with four-
aspect signaling system in our case study. So modified static implications are
defined as implied alternative arcs which are added according to the modified
static implication rules given in the following.
Chapter 5 Train scheduling and disruption management 107
� T1 and T2 are following trains running on adjacent blocks m1, m2, m3 and
m4. According to Figure 5.8, nodes a and j as well as nodes c and k are
connected through fixed arcs. Thus, arcs (a, b) and (h, k) imply each other
as well as (c, d) and (i, j).
� T1 and T2 are opposite trains running on blocks m1, m2, m3, m4 and m5.
According to Figure 5.9, arc (a, b) implies arc (h, k) as well as arc (i, j)
implies (c, d). It should be noted that arc (h, k) does not imply arc (a, b)
and arc (c, d) does not imply arc (i, j).
It should be noted that modified static implications are used in our study only
for the following trains running on common blocks. The main difference to static
implications is that these arcs aim to keep the following trains three blocks away.
We have observed that the modified static implications help us to avoid an acyclic
selection of arcs in many cases; otherwise, we may easily end up in having a cycle in
the MB-JSS graph which is equivalent to a deadlock situation in train scheduling
or rescheduling problem. From now on, we will simply refer to modified static
implications as static implications.
However, it should be noted that in this study we only make use of implication
rules for following trains as disjunctive arcs can ensure enough separation between
opposite trains (see Subsection 5.2.2 for more details about the role of disjunctive
and alternative arcs). Figure 5.8 presents the implications modified rules for two
following trains on a network with four-aspect signaling.
i
h
Block m1 Block m2 Block m3 Block m4
b
d
k
j
c
a
T1
T2
T2
T1
Block m1 Block m2 Block m3 Block m4
Figure 5.8: Illustration of modified implication rules for following trains on arail network with four-aspect signaling
Figure 5.9 shows the modified implications rules for two opposite trains on a
network with four-aspect signaling.
After fixing static implications, the precedence constraints are imposed among
the nodes corresponding to the jobs operated on the same machine. We fix the
108 Chapter 5 Train scheduling and disruption management
T1
T2
Block m1 Block m2 Block m3 Block m4 Block m5
Block m5
Block m1 Block m2 Block m3 Block m4
b
d
h
c
T1
T2
k
j
i
a
T2
T1
Figure 5.9: Illustration of modified implication rules for opposite trains on arail network with four-aspect signaling
implied arcs among operations which are performed on the same machine and call
them simple implied arcs. We fix these simple implied arcs which correspond to
both following and opposite trains running on common blocks, after the static
implications are fixed.
5.3.4 EA heuristic algorithm
Now, the proposed EA heuristic for the MB-JSS graph G = (N,A,B) can be
described formally in Algorithm 5.
Let i and j be two operations which are processed on machine m. After selection
of a disjunctive arc (i, j), the corresponding alternative arc from operation i on
machine si(m) to operation j on machine m is added. Subsequently, static impli-
cations are added according to static implication rules by D’Ariano et al. (2007).
Then, we add simple implied arcs for both following and opposite trains which
share common blocks.
The EA heuristic is helpful in the comparison of the scheduling solution meth-
ods. The SB algorithms proposed in Subsection 5.3.5 are examined against this
algorithm.
5.3.5 Modified Shifting Bottleneck procedure
The train scheduling problem is formulated as a job shop problem and the job
shop problem is known to be NP -hard (see Garey and Johnson (1979) and Ullman
(1975)). A train scheduling problem of a practical size can easily result in a huge
job shop problem with numerous nodes and arcs. As we cannot solve the proposed
Chapter 5 Train scheduling and disruption management 109
Algorithm 5 EA heuristic
S ← ∅while B 6= ∅ do
select arc (i, j) out of a pair of modified disjunctive arcs such that ri is thefirst smallest value among the other operations and rj is the second smallestvalue among the other operations on machine m.
select corresponding alternative arcs, static implications and the simple im-plied arcs among i and j and all the previously scheduled jobs on machinem.
update G = (N,A,B) with the newly selected modified disjunctive arc,alternative arcs, static implications and simple implied arcs.
if there is a cycle in the graph or any of the alternative arcs or static impli-cations or simple implied arcs is forbidden then
select arc (j, i) and unselect (i, j) and all the corresponding alternativearcs, static implications and simple implied arcs.
select corresponding alternative arcs, static implications and the simpleimplied arcs among j and i and all the previously scheduled jobs on machinem.
update G = (N,A,B) with the newly selected modified disjunctive arc,alternative arcs, static implications and the simple implied arcs.
if there is a cycle or any of the alternative arcs or static implications orsimple implied arcs is forbidden then
The procedure failed to find a feasible solution, exit.end if
end ifend while
MILP model optimally in a reasonable amount of time, it is preferable to employ
local search methods for which computational time is more predictable.
The Shifting Bottleneck (SB) procedure of Adams et al. (1988) is a well-known
heuristic for solving a classical job shop scheduling problem J ||Cmax that is for-
mulated as a disjunctive graph. The success in applying the SB procedure on
benchmark instances in the job shop scheduling literature has led to a number
of studies that employ the SB approach. It can be also used as a framework for
other heuristics such as tabu search, simulated annealing and genetic algorithms.
Although there is no theoretical performance guarantee for SB, its empirical per-
formance has a good track record.
Shifting bottleneck procedure is selected as the most appropriate method to solve
the scheduling problem as it can offer a good balance between computational
110 Chapter 5 Train scheduling and disruption management
complexity and the quality of generated schedules which is one of the reasons
that shifting bottleneck procedure has attracted attention of researchers after its
introduction (Liu and Kozan, 2012).
Another advantage of the SB algorithm is that it can be modified to solve various
types of scheduling problems including real-life job shop scheduling applications.
Thus, SB heuristic is chosen as it can consider special characteristics of the Train
scheduling problem formulated as a modified job shop scheduling problem. In ad-
dition, the Shifting bottleneck heuristic can be improved to find feasible solutions
as it is not trivial to find a feasible complete schedule for Modified Blocking Job
Shop Scheduling (MB-JSS) model.
Moreover, we realize that while approaches other than shifting bottleneck such as
branch and bound algorithm and metaheuristics have been applied on classical
job shop shop problems, they can be difficult to implement on the additional
complicating features of the modified job shop scheduling problem.
Furthermore, the proposed method is very promising because it can be imple-
mented as a fundamental tool to model and solve many real-world scheduling
problems that should consider the capacity of resources (machines) and different
inter-resource buffer conditions. To the best of our knowledge, very few researchers
have addressed the application of the SB heuristic to the train scheduling problem.
It is worthwhile to note that Groeflin and Klinkert (2009) is among the best
algorithms for the blocking job shop problems compared to Mascis and Pacciarelli
(2002), Mascis and Pacciarelli (2000) and Brizuela et al. (2001). The problem
formulation with the Generalized Blocking Job Shop (GBJS) model by Groeflin
and Klinkert (2009) includes additional features such as transfer times for moving
a job from one machine to the next machine and sequence-dependent setup times
between consecutive operations on a machine. In GBJS, four consecutive steps
are associated with each operation of a job (i) a take-over step where the job is
taken over from the machine that carried out the job’s previous operation; (ii) a
processing step where some work is done on the job; (iii) a waiting period during
which the job waits on the machine and blocks it till it is transferred; (iv) a hand-
over step where the job is handed over to the machine which does the job’s next
operation.
Chapter 5 Train scheduling and disruption management 111
In GBJS graph, the node set includes two nodes for each operation, a take-over
node and a hand-over node. It should be also noted that the generalized disjunctive
graph differs from classical disjunctive graph in that a disjunctive set may have
two arbitrary arcs, whereas in the classical disjunctive graph, there are two reverse
arcs. For any two operations on a machine, the set of disjunctive arcs includes
two arcs joining the hand-over node to the take-over node and vice versa. There
is also the set of processing arcs which join the take-over node to the hand-over
node of each operation (See Groeflin and Klinkert (2009) for more details about
the generalized disjunctive graph).
As it is mentioned in Subsection 4.2.2.2, Groeflin and Klinkert (2009) construct
feasible neighbors by exchanging critical arcs together with some other arcs based
on two structural properties of the underlying disjunctive graph which are called
the concept of closures and a key result on short cycles. Their tabu search algo-
rithm is developed based on this neighborhood definition.
It can be clearly seen that the number of nodes and arcs in GBJS graph are not
only more than the classical job shop, but also much more than our proposed
MB-JSS problem. It should be noted that our modified disjunctive graph of a
practical size instance may include hundreds of machines (blocks) and tens of
jobs (trains), resulting in a complex job shop problem with blocking and other
additional constraints to be solved within the strict time limits which is imposed
by the real-time nature of the problem.
Formulating the train scheduling problem according to generalized disjunctive
graph of Groeflin and Klinkert (2009) can result in much bigger number of nodes
and arcs which can affect computational time. In addition, associating four con-
secutive steps with each operation of a job is not helpful with modeling the char-
acteristics of the train scheduling problem and it can make the graph more com-
plicated. Sequence-dependent setup times and transfer times, considered in the
GBJS graph, are also not relevant in the train scheduling problem. Consequently,
the neighbors structure suggested for the tabu search is not viable for solving the
train scheduling problem.
Thus, we choose to formulate the problem according to modified disjunctive graph
in Subsection 5.2.2 which is inspired by alternative graph of Mascis and Pacciarelli
112 Chapter 5 Train scheduling and disruption management
(2002). We also select SB algorithm as the most appropriate method to solve the
formulated train scheduling problem.
In the following, firstly we talk about the conventional SB algorithm in Subsec-
tion 5.3.5.1. Then, we propose a modified SB algorithm for the train scheduling
problem in Subsection 5.3.5.2. In particular, a general framework for the modified
SB algorithm with several variants is introduced for MB-JSS problem.
5.3.5.1 SB Algorithm
In this subsection, the conventional SB algorithm is presented and the main steps
of the algorithm are discussed. Adams et al. (1988) introduce the SB procedure
which sequences the jobs on machines consecutively. According to the study by
Adams et al. (1988), an acyclic selection Sm is associated with a unique sequence
of jobs on machine m and vice-versa. So sequencing machine m means choosing
an acyclic selection in Bm, where Bm is a subset of cliques in set of disjunctive
arcs as mentioned in equation (5.24). At each step, the machines which are not
sequenced yet are sequenced by solving a one-machine scheduling problem. The
machine with the maximum makespan is selected as the bottleneck. The same
process is repeated until all machines are sequenced.
To be more specific, an iteration of the algorithm is described in the following.
Let M denote a set of M machines and M0 show a subset of all machines Mwhich have already been sequenced. Thus, M0 includes a selection of disjunctive
arcs which has been fixed in the corresponding disjunctive graph G in the previous
iterations. It should be noted thatM0 = ∅ at the start. The aim in each iteration
is to determine which machine in setM\M0 should be included in setM0 . This
is made possible by sequencing the operations on the M \M0 and evaluating
which machine can be selected as the bottleneck.
Assuming that machines in setM0 are already sequenced, we keep the disjunctive
arcs of the M0 and delete all disjunctive arcs of the machines which are still
remained to be sequenced M \M0 . This graph is called G′ and it has one or
more critical paths that determine the makespan called Cmax(M0 ). When the
disjunctive arcs of the machines are deleted, it implies that the operations in this
Chapter 5 Train scheduling and disruption management 113
graph are now carried out in parallel instead of one after another as if the machines
have infinite capacity or each operation has the machine for itself.
There are different ways to decide that a machine is a bottleneck. We can express
the bottleneck quality in terms of solving a one-machine scheduling problem to
minimize the maximum lateness in a single machine problem with due dates. Thus,
we consider each machine in M\M0 as a 1|rj|Lmax. This problem is proven to
be strongly NP-hard Lenstra (1977). However, it has received a lot of attention
in the literature which has resulted in approaches with reasonable performances
Pinedo (2008).
The operation (i,m), m ∈M \M0 has to be processed in a time window defined
by head and tail of the node (i,m). The release date or head of the node (i,m)
is equal to L(U, (i,m)) in G′. The due date is calculated as Cmax(M0 ) minus
L((i,m), V ) (the tail of the node) plus pim.
Solving single machine problems, the minimum Lmax denoted by Lmax(m) is found
for each machine m. The machine with the largest maximum lateness is the most
critical machine among the others and it is the bottleneck. This machine is labeled
as k and the maximum lateness is shown by Lmax(k). Then, we need to fix all the
corresponding disjunctive arcs for machine k in graph G′. When the disjunctive
arcs are fixed, a sequence of the operations is defined for machine k.
Another step before starting the next iteration should be carried out which is re-
sequencing all machines sequenced earlier. In this step which completes all steps
in the current iteration, we re-sequence all the machines in set M0 . It has to be
done to see if the makespan can be reduced by an alternative sequence of jobs
on machine m′. Machine m′ is taken out from set M0 by deleting its disjunctive
arcs. A single machine problem 1|rj|Lmax is formulated for machine l by defining
the release dates and due dates of the operation as mentioned before. Then,
the sequence that minimizes Lmax(l) is found. This should be repeated for all
machine in set M0 and this completes the iteration. This step is also known as
re-optimization (Adams et al., 1988).
An outline of the SB heuristic can be defined as below.
Classical SB algorithm
114 Chapter 5 Train scheduling and disruption management
Step 1 : Set the initial conditionM0 = ∅. Graph G should include all conjunctive
arc and no disjunctive arcs with Cmax(M0 ) equal to longest path in graph
G.
Step 2 : Identify and solve a subproblem 1|rj|Lmax for each un-sequenced machine
m ∈M \M0 .
Step 3 : Determine the bottleneck machine m′,m′ ∈ M \M0 with the largest
maximum lateness Lmax(m′) and sequence the jobs on it according to the
sequence obtained in step 2. Set M0 =M0 ∪{m′}.
Step 4 : Stop if M0 =M, otherwise go to Step 2.
There is a re-optimization step that is often used in the classical version of the SB
algorithm. It is implemented after Step 3 and before starting a new iteration and
it can be summarized as below
Re-optimize each machine l ∈ M0 \{m′} by solving its subproblem taking into
account the sequences on machines M0 \{l} .
In Subsection 5.3.5.2 we propose a modified SB algorithm and explain the modi-
fications of the algorithm with regard to each step.
5.3.5.2 Modified SB algorithm
In this subsection, we develop a novel modified SB algorithm for the train schedul-
ing problem which is formulated as a MB-JSS problem. This algorithm is inspired
by a SB algorithm reported by Pinedo and Singer (1999). The novelty of our SB
algorithm compared to Pinedo and Singer (1999) study is in its ability to address
the train scheduling problem which require special characteristics. Most of these
special characteristics arise from the formulation of the train scheduling problem
which has additional operational and safety constraints. Whereas Pinedo and
Singer (1999) solve the problem for a job shop scheduling problem to minimize to-
tal weighted tardiness, suggested SB algorithm is employed to handle two special
constraints with regard to headway and signaling of the network.
Chapter 5 Train scheduling and disruption management 115
In order to solve the problem, Pinedo and Singer (1999) use a partial enumeration
algorithm which creates partial schedules in each step by using two elimination
methods. However, the use of a partial enumeration algorithm for solving the
single machine subproblems for the MB-JSS problem can result in cycles in the
graph. In our novel approach, we handle this problem by employing alternative
arcs and static implications which are described in Subsection 5.3.2 to create a
deadlock-free schedule.
The proposed SB algorithm is also unique in that it can be adapted to consider
different heuristics to solve the single machine subproblems. Therefore, we pro-
pose different variants of the SB algorithm which may or may not include the
re-optimization step. However, Pinedo and Singer (1999) do not look at different
variations of their SB algorithm.
D’Ariano et al. (2007) implement a branch-and-bound approach for an alternative
graph formulation to optimize the railway traffic flow during disruptions. We offer
a novel SB heuristic for an extended formulation of the train scheduling problem
by employing alternative arcs in our MB-JSS problem. While branch-and-bound
approach in D’Ariano et al. (2007) study fixes a precedence constraint between
two trains to define their order at a conflict point such as a crossing or merging
section, our SB algorithm solves the model for four-aspect signaling system in the
UK network to keep following trains three blocks away.
Moreover, we extend and use the static implication rules suggested by D’Ariano
et al. (2007) in our SB algorithm. D’Ariano et al. (2007) employ them in a
pre-processing step mainly for speeding up their branch-and-bound algorithm;
whereas, we use them dynamically in each iteration of our SB algorithm as a
mechanism to avoid cycles in the graph and therefore to obtain infeasible solu-
tions. It should be noted that D’Ariano et al. (2007) add alternative and static
implications between all trains, but we make use of them only for following trains
to conform to signaling system in the UK network.
Another special feature in our SB algorithm is to minimize total weighted tar-
diness of the jobs in the MB-JSS problem whereas branch-and-bound approach
in D’Ariano et al. (2007) study addresses the makespan. More details of our
116 Chapter 5 Train scheduling and disruption management
algorithm novelties and modifications are indicated as we explain particular com-
ponents and steps of the algorithm in the following.
In Section 5.2.2, we have discussed how the conventional disjunctive graph for
J ||Cmax can be adapted to J |rj|∑wjTj. Using the modified disjunctive graph,
Pinedo and Singer (1999) suggest an SB heuristic to solve J |rj|∑wjTj. An outline
of the SB algorithm is shown in Figure 5.10.
In the subproblem formulation step, a subproblem is created for each machine
that has not been sequenced. Solving the subproblem results in a sequence that
estimates the increase in total weighted tardiness. The optimization subproblem
heuristically solves the single machine problem to minimize the estimated increase.
The machine with the maximum among these increases is selected in bottleneck
selection step and its corresponding disjunctive arcs are added to the graph G.
The problem iterates until all machines are sequenced.
The local release date for operation (j,m) is shown by rjm which is similar to
the release time that we have defined in equation (5.22). However, the due date
is slightly different from the SB for classical job shop. The local due date for
operation (j,m) with respect to each job k is defined as
dkjm =
max{Ck, dk} − L((j,m), Vk) + pjm if L((j,m), Vk) exists,
∞ otherwise.(5.25)
where Ck is the completion time of job k and L((j,m), Vk) is the longest path from
operation (j,m) to Vk, where Vk is the sink corresponding to job k. Basically, dkjm
is defined in terms of the longest path calculations for operation (j,m) and it
translates the due date of operation (j,m) for each node Vk.
Yes
No
Sub-problem
Formulation
Sub-problem
Optimization
All Machines
Scheduled?
Bottleneck
Selection Start End
Figure 5.10: Shifiting Bottleneck (SB) flowchart. Adaptedfrom Pinedo and Singer (1999)
Chapter 5 Train scheduling and disruption management 117
In order to calculate the mentioned values for the single machine subproblem,
we firstly apply the well-known topological sort algorithm or topological ordering
algorithm in computer science (Cormen et al., 2001). This algorithm finds a linear
order of the vertices of a directed graph so that for an arc (a, b) from node a to
b, a comes before b in the presented order. In our study, the selected arc can be
a conjunctive arc, a selected arc from the set of disjunctive arcs or a selected arc
from the set of alternative arcs. Then, longest path calculations are carried out
based on the modified disjunctive graph.
A partial enumeration heuristic is developed to solve the 1|prec; pj = p; rj|∑Tj
approximately based on a well-known priority rule developed by Vepsalainen and
Morton (1987) for minimizing total weighted tardiness on a single machine. The
so-called the Apparent Tardiness Cost (ATC) rule has shown to produce good
quality solutions and it is superior to the other dispatching rules for minimizing
total weighted tardiness in single machine problems. The ATC index can be
defined as
Ij(t) =wj
pjexp
(− max(dj − pj − t, 0)
Kp
)(5.26)
where t is the earliest time that the machine becomes available, p is the average
processing time of jobs assigned to the machine, and K is a scaling parameter
whose value can be determined through computational tests.
Later, Pinedo and Singer (1999) adapt the ATC index to take into account jobs
release time and local due dates for 1|rj|∑wjTj. We use the precise ATC index
formula from Pinedo and Singer (1999) and just slightly modify the indices for
more clarity as below
Ijm(tm) =n∑
k=1
wk
pjmexp
(−
max(dkjm − pjm + (rjm − tm), 0)
Kpm
)(5.27)
where tm denotes the earliest time that the machine can start processing and pm
averages processing time of jobs assigned to machine m.
It should be noted that if there is no path from operation (j,m) to the sink Vk,
local due date is dkjm = ∞. So it is obvious that the corresponding term in
the summation is equal to zero. Using the modified ATC index, operations are
sequenced on the un-sequenced machines. The operation with the highest priority
118 Chapter 5 Train scheduling and disruption management
is sequenced in the first position. Then, the remaining indices are recalculated to
find the operation in second position. This should be repeated till all operations
are sequenced.
Let Cjm be the completion time of operation (j,m). The tardiness of job k is
increased by at least Cjm − dkjm if the operation finishes after its local due date
dkjm. Thus, we have the tardiness of operation (j,m) with respect to the due date
of job k defined as
T kjm = max{Cjm − dkjm, 0}. (5.28)
Scheduling all operations on machine m increases the tardiness of job k by at least
max(j,m)∈Nm
T kjm (5.29)
where Nm is the set of nodes corresponding to the operations processed on machine
m. Therefore, we can expect an overall increase of
n∑k=1
wk
(max
(j,m)∈Nm
T kjm
), (5.30)
in the objective function if operations on machine m are sequenced. The aim is to
find the bottleneck machine with a sequence of operations which corresponds to
the subproblem with the highest value.
In general, the SB procedure is a decomposition approach to solve multiple ma-
chine problems by selecting a machine and defining its corresponding arcs in turn.
The proposed SB algorithms differ from the conventional SB in solving the single
machine problem and finding the bottleneck. While the original SB considers an
exact method to solve the single machine problem of minimizing the maximum
lateness of jobs with release dates on a single machine (problem 1|rj|Lmax), the
new SB employs a heuristic to solve the single machine problem of minimizing the
total weighted tardiness of jobs with release dates on a single machine (problem
1|prec; rj|∑wjTj). Bottleneck selection is based on maximum lateness calcula-
tions in original SB, whereas the proposed SB makes use of total weighted tardiness
evaluations.
Chapter 5 Train scheduling and disruption management 119
All variations of the SB algorithm are developed based on the MB-JSS graph
which is a modified disjunctive graph for minimizing total weighted tardiness (see
Subsection 5.2.2 for more details). The framework of the SB algorithms that
we propose is inspired by Pinedo and Singer (1999). However, there are major
differences which are mentioned here. The main difference is based on the problem
formulation and constraints which affect the solution method.
We solve a problem for MB-JSS graph which includes conjunctive, modified dis-
junctive and alternative arcs; whereas, Pinedo and Singer (1999) solve a problem
for a modified disjunctive graph with conventional conjunctive, disjunctive and de-
layed precedence arcs. They use elimination rules to improve the heuristic search
on an enumeration tree while we employ implication rules described in Subsec-
tion 5.3.2 in order to fix arcs which help to avoid cycles and solve the problem
more effectively. Re-optimization and a backtracking technique are used in the
study of Pinedo and Singer (1999) as control structure of the heuristic. In contrast,
we try several variations of the SB algorithm with and without re-optimization,
where re-optimization uses different schemes with regard to adding and deleting
arcs and the number of re-optimization cycles.
It should be highlighted that the main feature of the train scheduling problem un-
der study is the presence of the alternative arcs in the modified disjunctive graph.
Alternative arcs help us to formulate the train separation according to network
signaling system. Alternative arcs are chosen and fixed in the graph after adding
modified disjunctive arcs resulted by the solution of the single machine problem.
Subsequently, the other arcs are added as mentioned in the following. Inclusion of
the alternative arcs in the problem formulation results in new features in the job
shop scheduling problem which necessitates modifications in the SB algorithm pro-
posed by Pinedo and Singer (1999). The required changes in the graph formulation
and the suggested solution method are discussed in the following.
In what follows, we propose different variations of the SB algorithm which are
different in solving the single machine problem. The first SB heuristic solves the
single machine based on ATC rule. Because of this, we call it SB-ATC heuristic.
Due to the similarity of the SB heuristics, we illustrate the general framework of
the SB-ATC algorithm and employ it to define the other SB algorithms as below.
120 Chapter 5 Train scheduling and disruption management
SB-ATC algorithm
� Step 1 : Set the initial conditionM0 = ∅. Graph G includes only conjunctive
arcs.
� Step 2 : For each m ∈M \M0 ,
Generate an instance of 1|prec; rj|∑wjTj and for each operation calculate
Calculate rjm by using equation (5.22) Calculate dkjm using equation (5.25)
Select operation (j,m) with the highest index according to equation (5.27)
to be processed as the next operation on machine m and add the disjunctive
arcs corresponding to the operations sequence on machine m. tm is the time
that the machine becomes available, pm is the average processing time of
jobs assigned to machine m, and K is a scaling parameter whose value can
be determined through computational tests.
Compute
Tm =n∑
k=1
wk
(max
(j,m)∈Nm
T kjm
), T k
jm = max{Cjm − dkjm, 0} (5.31)
where Nm is the set of nodes corresponding to the operations processed on
machine m.
� Step 3 : Let
Tmax(m′) = max
m∈M\M0
(T (m)) (5.32)
If Tmax(m′) ≥ 0, determine machine m′ as the bottleneck machine.
If Tmax(m′) = 0, find j′, k′, and m′′ such that
d′k′
j′,m′′ = minj,k,m
dkjm (5.33)
for all m ∈ M, k ∈ I and j ∈ I for the jobs processed on machine m.
Determine machine m′′ as the bottleneck machine.
Solve the single machine subproblem for the bottleneck machine according
to the sequence obtained in Step 2 for that machine and add corresponding
disjunctive arcs, alternative arcs, static implications and simple implied arcs
in Graph G.
Chapter 5 Train scheduling and disruption management 121
Ifm′ is the bottleneck machine, setM0 =M0 ∪{m′}. Ifm′′ is the bottleneck
machine, set M0 =M0 ∪{m′′}.
� Step 4 : Stop if M0 =M, otherwise go to Step 2.
Within the SB solution process, arcs are added gradually to the problem through
subproblem optimization step. We need to ensure that the added disjunctive and
alternative arcs do not lead to infeasible solutions. Assume that machine m′ is
selected in the bottleneck selection step. The disjunctive arcs can be added based
on the sequence of the jobs on machine m′. Consequently, we add an alternative
arc from (i, si(m′)) to (j,m′) if there is a disjunctive arc from (i,m′) to (j,m′).
The precedence constraints which are imposed by adding alternative arcs are used
to derive implications. So the next step is to use the static implication rules to
add implied alternative arcs for the following trains running on common blocks.
Adding static implications is effective in making acyclic selection in the MB-JSS
graph. A cycle in the graph is analogous to deadlock in the rail network and should
be avoided in order to have a feasible schedule (see Subsection 5.3.2 for more
discussions about static implications). The simple implied arcs are also added for
all the following and opposite trains which correspond to the jobs processed on
the same machines. Through this process, the main characteristics of a timetable
to be conflict-free and deadlock-free can be achieved.
There may be cases that the proposed solution approach results in a infeasible
solution. We try to avoid deadlocks in the network with the help of static implica-
tions which are added in the MB-JSS graph for only following trains after selecting
alternative arcs. To the best of our knowledge, there is no approach in the liter-
ature to guarantee a deadlock-free solution. There are some discussions around
this issue mentioned in Subsection 5.3.2 where two propositions by D’Ariano et al.
(2007) are given. These propositions are used to add static implications.
We set K equal to 4 based on empirical results which is also compatible with the
results that Vepsalainen and Morton (1987) report in their study for a suitable
range of the look-ahead parameter K.
122 Chapter 5 Train scheduling and disruption management
More variants of the modified SB algorithm are developed which sequence jobs
in subproblem optimization step by using one of the suggested single machine
heuristics in the following.
More variants of the modified SB algorithm
The other variants of the modified SB algorithm are similar to the SB-ATC al-
gorithm and Step 2 is modified by a new criterion to solve the single machine
subproblems. The first two variants of the SB algorithm are developed based on
two well-known scheduling heuristics called Active Schedule Generation (ASG)
and Schrage scheduling heuristic. Active schedule generation chooses the job with
the smallest local due date d∗jm = minkdkjm among the potential candidates with
rjm < ECT (5.34)
where ECT stands for the Earliest Completion Time of the jobs to be scheduled
next. SB-ASG algorithm employs this heuristic to solve the single machine prob-
lems.
The third SB algorithm is developed on the basis of the Schrage scheduling heuris-
tic and is therefore named SB-SCH. SB-SCH solves the single machine problem
by choosing the job with d∗jm = minkdkjm, among the potential candidates with
rjm ≤ EST (5.35)
where EST is the Earliest Starting Time of the jobs to be scheduled next.
Then, we try mixing ASG and ATC index rules for solving the single machine
problem in another algorithm called SB-ASG&ATC. In order to solve the sin-
gle machine problem, SB-ASG&ATC creates a subset J of jobs such that J=
{j|rjm < ECT} and sequences the job j ∈ J with the biggest ATC index.
The other algorithm is SB-ASG-II which is a modification of SB-ASG algorithm
that selects the job with the smallest local due date d∗jm = minkdkjm among the
potential candidates with
rjm < (ECT+EST)/2 (5.36)
Chapter 5 Train scheduling and disruption management 123
SB-ASG&ATC-II algorithm modifies SB-ASG&ATC to choose the job j ∈ J with
the biggest ATC index, where J= {j|rjm < ECT + EST )/2}.
In this subsection, the main algorithms for the SB algorithm are shown which differ
from each other in terms of the solution method for the single machine problem.
More variants of the main SB algorithms based on different re-optimization steps
are suggested below.
Re-optimization procedure
The next variations of SB algorithm incorporate a re-optimization step to the
proposed SB algorithms based on the discussions above in this subsection. It
should be noted that re-optimization in these versions is performed according to
the same criteria that optimization is performed; e.g. the algorithm which se-
quences jobs according to ASG, performs re-sequencing according to ASG as well.
The only exception is SB-ASG-ReOpt which does sequencing based on ASG and
re-sequencing based on ATC index. This version is different from the other vari-
ants with re-optimization as it employs two different criteria, ASG for sequencing
and ATC index for re-sequencing. Whereas, the other versions of SB algorithm
with re-optimization use the same criteria for sequencing and re-sequencing steps.
Assuming that machine m′ is sequenced, in order to re-optimize machine l ∈M0
\{m′}, all corresponding disjunctive, alternative, static implications and simple
implied arcs of machine l should be deleted from the MB-JSS graph. The order
of re-optimizing machines of M0 \{m′} is given by l(1), . . . , 1(p), p = |M0 | − 1,
where l(i), i = 1, . . . , p is ordered according to the decreasing solution value of the
sequencing problem.
It is observed that after some iterations, no bottleneck machine is selected based
on the equation (6.24) as Tmax(m′) = 0 and the bottleneck machine is selected
according to the equation (5.33). In this case, no re-optimization is performed
after selecting such a machine.
It should be noted that we explore modified SB algorithm versions where worse
solutions are not rejected. It is due to our observation that there are SB algorithm
variants with better final solutions although worse partial solutions, obtained after
re-optimization, are not rejected. While solving the algorithm, in the intermediate
124 Chapter 5 Train scheduling and disruption management
steps, we often need to let the solution go worse before it gets better. Therefore,
we keep the SB algorithm variants where in the re-optimization process worse
solutions are not rejected.
Another variant of re-optimization process is tried on the mentioned SB algorithms
based on rejecting bad solutions. Assume f0 to be the objective function value
(calculated as∑wjTj) after sequencing machine m′ and fl to be the objective
function after re-sequencing machine l where l ∈ M0 \{m′}. If fl > f0, machine
l is not re-sequenced. An example for naming this version of the algorithm is
SB-ATC-ReOpt-Rej which includes re-optimization with rejecting worse solutions
to the main SB-ATC Algorithm.
The next family of SB algorithms is proposed for a re-optimization scheme inspired
by Adams et al. (1988) and applied on all mentioned varaints of SB algorithms.
AssumingM0 to be the set of machines already sequenced in the current iteration,
we go through three re-optimization cycles as long as a tardy machine is found
as mentioned above. A re-optimization cycle is defined in the following. For
i = 1, . . . , p, re-sequence the corresponding single machine problem for machine
l ∈ M0 \{m′} where m′ is the newly sequenced machine . In other word, re-
optimization is repeated two additional times compared to previous variants of
SB algorithm.
5.4 Computational results
In this section, we discuss a real-world implementation of the proposed EA heuris-
tic, MILP and SB algorithms. The experiments are based on the London Bridge
area in Kent, South East of the UK, which is chosen because of its dense and com-
plicated network of interconnected lines for passengers in and out of London, East
Sussex and the Channel Tunnel. We consider a partial network including London
Bridge area which is a bottleneck in Kent (See Section 3.6 for more details and
maps of the area). The partial network is about 15 km long and it includes busy
stations such as London Charing Cross, London Waterloo, London Cannon Street,
New Cross and Deptford with a total of 28 platforms.
Chapter 5 Train scheduling and disruption management 125
Using this data we simulate real-life traffic conditions under different types of
disruptions in the network by perturbing the known running times on certain
blocks and late departure of the trains from their origin.All SB algorithms are
developed in MS Visual C++ 2010 and run on a PC with a dual core, 3.00GHz
and 4GB RAM. The Xpress-IVE (FICO, 2013) optimization package has been
used for solving the MILP model and executed on the same PC.
As the developed MILP involves big M, the performance of the Xpress depends
on the choice of M. Large values of M can cause the solver to make slow progress
solving the MILP model. If a very big value is considered for M without any
thought, the constraint works in theory, but it can result in models which can
feature very bad numerical behaviour. The linear relaxations which are used in
solving the MILP can be very weak leading to excessive branching and increased
computation time. Therefore, smaller value of big M is more desirable as it can
make the computation time shorter. Camm et al. (1990) provide computational
results which focuses on the use of M in an example of lot sizing model and they
show the dramatic effect of reducing big M.
In order to find the value of big M in our MILP model, we have performed some
initial experiments to reduce the value of big M. The value of big M has been
selected so that the computation time is reduced. Initial experiments has shown
that the computational time is not sensitive to the value of the chosen big M. It
also seems to be difficult to find a specific value of big M such that it can be used
in each of the constraints.
5.4.1 Test instances
We consider passenger timetable and timetable components information for 2010
on the Kent area where Southeastern is the main operator. General characteristics
of the test instances such as the number of jobs and machines are mentioned in
Section 3.4 for the train scheduling problem. Our experimental data focus on off-
peak period commuters. The timetable cycles every 30 minutes for the passenger
trains and includes 27 trains.
126 Chapter 5 Train scheduling and disruption management
According to Southeastern Service Disruption Procedure (SDP), disruptions are
classified into three types as follows. A minor disruption is where no individual
delay is more than 15 minutes. A general disruption is where multiple services
are running with delays between 15 to 30 minutes. A major disruption is where
the majority of train services are delayed by over 30 minutes. It should be noted
that SDP is a property of Southeastern company and subject to a non-disclosure
agreement.
There is no exact number for disrupted trains in this classification. The only spec-
ifications that can be derived for the number of trains are that general disruption
affects multiple services and a major disruption is when the majority of services are
affected. Therefore, we try to introduce appropriate ranges according to the given
definitions for each class. As we have 27 trains in a cycle in total, it is reasonable
to generate minor disruption by perturbing 1 to 5 trains, general disruption by
perturbing 6 to 12 trains and major disruption by perturbing 13 to 27 trains.
In the experiments, we generate 4 data sets randomly where each data set in-
cludes several instances for different scenarios of disruptions in terms of extended
running/dwell times on blocks and late departures of the trains from their origin.
For each data set, instances differ from each other in terms of the set of disrupted
blocks, disrupted trains and amount of disruption. Block delays and departure
delays are shown in minutes for extended running/dwell times on blocks and late
departures of the trains respectively. Computational experiments compare the to-
tal delay of the schedule resulting from the Xpress, EA heuristic and SB algorithms
listed as SB-ATC, SB-ATC-ReOpt, SB-ATC-ReOpt-Rej and SB-ASG-ReOpt.
Table 5.1 describes the first set of experiments for longer running/dwell times
where the running/dwell time of a number of trains are extended by a specific
amount. This set of data is made up of instances with smaller delays including 6
minor and 6 general disruption instances. Minor disruption delays are chosen in
the set {5, 10, 15} and general disruption delays are chosen in the set {20, 25, 30}.The values for mentioned block delays for minor and general disruption are shown
in minutes and they are defined in the relevant range for each type of disruption.
We look at extended running/dwell times on one and two different blocks. Number
Chapter 5 Train scheduling and disruption management 127
of affected trains in minor disruption instances is 3 or 5 and this number is 9 or
12 for general disruptions. There are 6 instances in each category of disruption.
Table 5.1: Longer running/dwell times - minor and general dis-ruption
Disruption # ofBlock Delay # of Block(s) # of Train(s)
Type Instance(s)
Minor 6 5, 10, 15 1, 2 3, 5
General 6 20, 25, 30 1, 2 9, 12
Second set of experiments in Table 5.2 defines instances for late departure time
of a specific number of trains from their origin. Similar to the first set, smaller
amounts of delay are introduced in 9 minor and 9 general disruption instances.
Minor disruption affects trains for a delay value chosen in the set {5, 10, 15} and
general disruption create delays in the set {20, 25}. The values in each set for
delayed departure are defined in minutes. Number of delayed trains is selected
from {1, 3, 5} for minor disruption and {6, 9, 12} for general disruptions.
Table 5.2: Late departures - minor and general disruption
Disruption # of Departure# of Train(s)
Type Instance(s) Delay
Minor 9 5, 10, 15 1, 3, 5
General 6 20, 25 6, 9, 12
In Table 5.3, we consider longer running/dwell times with larger values of delay
on different number of blocks which perturbs all 27 trains in a cycle. There are 15
instances of major disruption which are created for different amounts of delay in
set {40, 50, 60, 70, 80}. Block delay are defined in minutes. Set {4, 5, 6} show the
different number of blocks that are affected by delays.
Table 5.3: Longer running/dwell times - major disruption
Disruption # ofBlock Delay # of Block(s) # of Train(s)
Type Instance(s)
Major 15 40, 50, 60, 70, 80 4, 5, 6 27
Last Table 5.4 summarizes 16 major disruptions instances with both longer run-
ning/dwell times and late departures. They are categorized as major disruptions
as block delays are 40 or 50 minutes occurring on 4 or 6 blocks, which affects the
128 Chapter 5 Train scheduling and disruption management
majority of services although departure delays are less than 25 minutes. It should
be emphasized that introducing departure delays bigger than 25 minutes results
in shifting trains to run mostly out of the original cycle. This means that the
train has no conflicting trains to compete for resources and the instance is not
interesting anymore. Thus, we avoid generating any departure delay bigger than
20 minutes. So delayed departures of 10 and 20 minutes are tried for different
number of trains in set {3, 5, 9, 12}.
Table 5.4: Longer running/dwell times and Late departures - ma-jor disruption
Disruption # of Block # of Departure# of Train(s)
Type Instance(s) Delay Block(s) Delay
Major8 40 4, 6 10, 20 3, 5, 9, 12
8 50 4, 6 10, 20 3, 5, 9, 12
In the Subsection 5.4.2, the performance of different solution methods are evalu-
ated for the generated instances.
5.4.2 Analysis and comparison of the methods
According to some initial computational experiments, we have identified SB algo-
rithms with better performances among the others; SB-ATC, SB-ATC-ReOpt, SB-
ATC-ReOpt-Rej and SB-ASG-ReOpt. It should be noted that the re-optimization
in SB-ATC-ReOpt is performed based on ATC index as well as the re-optimization
in SB-ASG-ReOpt. SB-ATC-ReOpt-Rej algorithm follows the re-optimization
scheme which rejects worse solutions. In the following, computational results for
the proposed SB algorithms are discussed.
The following tables detail the total delay of the scheduling arising from the ap-
proaches described in Subsection 5.3.5, where SB algorithms SB-ATC, SB-ATC-
ReOpt, SB-ATC-ReOpt-Rej and SB-ASG-ReOpt has been chosen among several
SB variants based on some initial experiments.
Chapter 5 Train scheduling and disruption management 129
Tables 5.5, 5.6, 5.7 and 5.8 summarize the result of our experiments for Xpress,
EA heuristic and SB algorithms separately for each data set mentioned in Subsec-
tion 5.4.1. The first column in each table shows the solution methods. The second,
third and fourth columns in each table show the performances of all instances.
For some instances, the value of delay is not available due to the SB algorihms or
EA heuristic resulting in deadlock or Xpress giving no answer in the determined
time limit. If there is any instance resulting in deadlock or no answer, we exclude
its results across all solution methods in the performance calculations in columns
five, six and seven which are all under heading all instances excluding unsolved
instances.
In table 5.6, all instances are solved successfully and there is no unsolved instances
due to either deadlock or no answer. Last two columns in all tables show average
runtime and percentage of feasible solutions for each solution method across all
instances of the corresponding data set respectively. The percentage of feasible
solutions corresponds to the instances which does not result in either deadlock by
the heuristics or no answer by Xpress.
In each table, all instance results list the average delay (Avg Delay) for each solu-
tion method across all instances of the corresponding data set per train, average
Relative Deviation (RD) across all instances firstly with respect to the EA heuris-
tic (Avg RD wrt EA Heauristic) and secondly with respect to Xpress results (Avg
RD wrt Xpress). Dalay is equal to tardiness and total delay is analogous to total
weighted tardiness as it is mentioned in Section 3.4. In the case study, we have
unit weights. So total delay is equal to total tardiness. Let an instance be de-
noted by a, its delay for instance a be denoted by Ta and the number of trains for
instance a be denoted by na, then average delay is computed as below
∑a
(Ta/na)/A (5.37)
where A shows the total number of instances. Average delay is shown in minutes.
130 Chapter 5 Train scheduling and disruption management
It should be noted that the relative deviation is calculated with the following
formula
RD =baseline solution− algorithm solution
baseline solution× 100 (5.38)
where the baseline solution is considered as EA heuristic and Xpress. A large
value of RD reflects a good performance with respect to EA Heuristic or Xpress.
Table 5.5, 5.6,5.7 and 5.8 show an improvement in the average total delay of
SB algorithms and Xpress relative to the EA heuristic provided result for all
instances and results that exclude unsolved instances. This is expected since there
is no attempt by the EA heuristic to reduce total weighted tardiness. When
considering RD with respect to the EA heuristic for each data set, it seems that
the EA heuristic has the worst performance compared to all the other methods
for data set 5.1.
Table 5.5 and 5.6 show that the MILP model outperforms both the EA heuristic
and SB algorithms other than one exception (726.65 ¡ 747.64). Xpress performs
better considering the results for data sets for longer running/dwell times described
in Table 5.1 in comparison to late departures in Table 5.2, because the average
RD with respect to Xpress has bigger values for the former compared to the latter
group of data. In both data sets 5.1 and 5.2 for longer running/dwell times and
late departures respectively, where smaller perturbations are involved and only
minor and general disruptions incur, Xpress can find feasible solutions in 100% of
instances and produce schedules with less average delays.
Table 5.5: Longer running/dwell times - minor and general dis-ruption: Average Delay and RD’s
All InstancesExcluding the Avg % of
Solution Unsolved Instances Runtime Feasible
Method Avg Delay Avg RD wrt Avg RD wrt Avg Delay Avg RD wrt Avg RD wrt (secs) Solutions
per Train EA Heuristic Xpress per Train EA Heuristic Xpress
Xpress 27.69 42.29% - 10.41 42.63% - 400 100%
EA heuristic 33.52 - −85.17% 18.07 - −86.10% 2352 77%
SB-ATC 33.79 29.29% −26.78% 12.03 29.90% −25.52% 349 100%
SB-ATC-ReOpt 30.66 34.03% −16.37% 11.71 32.64% −20.71% 411 100%
SB-ATC-ReOpt-Rej 26.91 33.81% −20.90% 11.74 32.12% −21.80% 402 92%
SB-ASG-ReOpt 31.51 21.17% −33.53% 13.31 21.87% −41.77% 416 77%
Chapter 5 Train scheduling and disruption management 131
Considering the average delay column of Table 5.5 for all instances, SB-ATC-
ReOpt-Rej seems to have the smallest average delay, it is obvious that Xpress has
a better result when considering average delay values for all instances excluding
unsolved instances. It is due to the fact that Xpress solves the problem for 100%
of instances and SB-ATC-ReOpt-Rej gives an answer only for 92% of instances.
It is compatible with the average RD values with respect to Xpress that show the
superiority of Xpress by considering either all instances or all instances excluding
unsolved instances.
Table 5.6: Late departures - minor and general disruption: Aver-age Delay and RD’s
All InstancesAvg % of
Solution Runtime Feasible
Method Avg Delay Avg RD wrt Avg RD wrt (secs) Solutions
per Train EA Heuristic Xpress
Xpress 5.92 17.66% - 400 100%
EA Heuristic 7.00 - −22.83% 2442 100%
SB-ATC 6.63 6.23% −14.27% 346 100%
SB-ATC-ReOpt 6.28 11.25% −7.92% 410 100%
SB-ATC-ReOpt-Rej 6.28 10.96% −8.43% 409 100%
SB-ASG-ReOpt 6.43 10.02% −9.50% 402 100%
As expected, Xpress outperforms the other algorithms in terms of average delay.
Improvements in the schedule suggested by Xpress confirm the advantage of MILP
model within the strict time limit imposed by real-time application. It should be
noted that Xpress is restricted to 400 seconds which is within the time frame of
15 minutes determined in SDP for the incident/service update.
It should be noted that SB-ATC-ReOpt algorithm has relatively the best per-
formance among the SB algorithms in both 5.5 and 5.6 with respect to Xpress
results when unsolved instances are excluded. Both SB-ATC-ReOpt and SB-ATC
consistently result in feasible solutions in 100% of instances.
The complete results for longer running/dwell times - minor and general disruption
are shown in Tables A.1, A.2 and A.3 in Appendix A. Results for individual
instances in Tables A.1 indicates that Xpress performs better for smaller delays,
in particular for minor disruptions it can find optimal solutions in 3 cases. As
disruption becomes bigger, it seems that instances become harder to solve; more
132 Chapter 5 Train scheduling and disruption management
specifically for EA heuristic as it results in deadlocks for 3 instances. Moreover,
Tables A.4, A.5 and A.6 in Appendix A provide the comprehensive results for late
departures - minor and general disruption.
We design another group of data sets where bigger delays are involved and in-
stances can be categorized as major disruption. The MILP model does not perform
as well for major disruptions in data sets in Tables 5.3 and 5.4 where there are only
longer running/dwell times or both Longer running/dwell times and Late depar-
tures. The percentage of feasible solutions found by the MILP model reduces to
69% and 88% in the given time limit; whereas, SB-ATC and SB-ATC-ReOpt algo-
rithms can still find feasible solutions for 100% of instances. SB-ATC-ReOpt-Rej
algorithm still performs better than Xpress with regard to finding more feasible
solutions although its 100% performance for the data set in Table 5.4 decreases to
81% for the data set in Table 5.3.
Table 5.7: Longer running/dwell times - major disruption: Aver-age Delay and RD’s
All InstancesExcluding the Avg % of
Solution Unsolved Instances Runtime Feasible
Method Avg Delay Avg RD wrt Avg RD wrt Avg Delay Avg RD wrt Avg RD wrt (secs) Solutions
per Train EA Heuristic Xpress per Train EA Heuristic Xpress
Xpress 383.35 13.11% - 295.41 13.11% - 400 69%
EA heuristic 367.86 - −15.17% 335.34 - −15.17% 2403 31%
SB-ATC 453.53 6.58% −6.73% 292.76 11.41% −2.07% 352 100%
SB-ATC-ReOpt 407.12 13.20% 1.47% 292.42 12.85% −0.37% 413 100%
SB-ATC-ReOpt-Rej 417.92 10.99% −0.24% 293.27 12.61% −0.65% 426 81%
SB-ASG-ReOpt 384.12 14.61% −0.03% 289.72 13.19% −0.02% 415 56%
The most significant result is the quality of the solutions provided by SB-ATC-
ReOpt which shows an improvement with regard to Xpress. All RD values of SB-
ATC-ReOpt algorithm with respect to Xpress for data sets in Tables 5.3 and 5.4
are positive considering the results for all instances and results excluding unsolved
instances. There is an exception with a negative RD for SB-ATC-ReOpt with
respect to Xpress. We have a negative value of −0.37% when unsolved values are
taken out of the calculation performances for average delay with respect to Xpress.
This is due to the fact that many better solutions of SB-ATC-ReOpt are excluded
because the other algorithms do not have a solution. This can be easily observed
in Table A.7 in Appendix A by checking the results for the individual instances.
Chapter 5 Train scheduling and disruption management 133
In addition, RD values with respect to Xpress for major disruptions instances in
Tables 5.3 and 5.4 are smaller than these values for instances of minor and general
disruptions in Tables 5.2 and 5.1. It indicates that the quality of the MILP model
solution reduces as the disruption becomes bigger.
Generally the percentage of feasible solutions for Xpress and EA heuristic in two
former tables are also less compared to the two later tables. It appears that EA
heuristic has the weakest performance compared to the other algorithms as dead-
locks arise in many instances and the percentage of feasible solutions reduces dra-
matically in major disruptions. In contrast, SB algorithms seem to have relatively
very high percentage of feasible solutions in comparison with both EA heuristic
and Xpress when major disruptions in Tables 5.3 and 5.4 are considered. Hence,
the reliability of the SB algorithms and specifically SB-ATC-ReOpt is substantial
in dealing with bigger disruptions.
Table 5.8: Longer running/dwell times and Late departures - ma-jor disruption: Average Delay and RD’s
All InstancesExcluding the Avg % of
Solution Unsolved Instances Runtime Feasible
Method Avg Delay Avg RD wrt Avg RD wrt Avg Delay Avg RD wrt Avg RD wrt (secs) Solutions
per Train EA Heuristic Xpress per Train EA Heuristic Xpress
Xpress 311.63 11.61% - 265.44 11.61% - 400 88%
EA heuristic 306.74 - −13.64% 298.92 - −13.64% 2501 41%
SB-ATC 346.62 7.45% −10.89% 280.40 6.90% −5.25% 367 100%
SB-ATC-ReOpt 304.95 11.72% 1.85% 263.67 11.82% 0.25% 415 100%
SB-ATC-ReOpt-Rej 316.92 10.93% −1.65% 267.22 11.05% −0.61% 417 100%
SB-ASG-ReOpt 313.15 11.69% −3.18% 265.81 11.28% −0.46% 419 71%
The complete results for longer running/dwell times - major disruption are rep-
resented in Tables A.7, A.8 and A.9 in Appendix A. Also, Tables A.10, A.11 and
A.12 in Appendix A offer the comprehensive results for longer running/dwell times
and late departures.
Comparing across different approaches, SB algorithms show a consistent average
runtime of about 400 seconds. Hence, a time limit of 400 seconds is set for solving
the MILP model. As mentioned earlier, this time limit is well within the SDP
time frame of 15 minutes for incident/service update. EA heuristic has an average
runtime of about 2400 seconds which makes it less attractive. The long runtime
of the EA heuristic is due to the fact that we look at only one pair of modified
134 Chapter 5 Train scheduling and disruption management
disjunctive arcs in an iteration and consequently the corresponding longest path
calculations are carried out in each iteration.
The ability of the MILP model to obtain better solutions for minor and general
disruptions makes it a useful tool for small disruptions. Nevertheless, the quality
of the schedules reduces as disruptions become bigger. The results for major
disruptions in Tables 5.7 and 5.8 show that SB-ATC-ReOpt provides schedules
that improve over Xpress, EA heuristic and the other SB algorithms for average
delay and provides in feasible solutions 100% for all instances. Therefore, SB-
ATC-ReOpt can serve as a good approach to not only provide better solution
quality in the operational framework, but also to provide more feasible solutions
compared to the other methods.
5.5 Summary
In this chapter, the train scheduling and rescheduling problems are modelled in
a microscopic level. The problem is formulated as a job shop scheduling problem
with additional constraints which adapts the disjunctive graph to represent train
safety and operational constraints in a so-called MB-JSS graph. A generic MILP
model is formulated that extends existing models by considering more realistic and
detailed constraints from the UK railway industry. The proposed mathematical
formulation for train scheduling and rescheduling has significant computational
advantages that shows the model’s ability to solve real-world problems. A special
feature of our formulation is its flexibility in modeling a different rail network with
a fixed block signaling systems.
Moreover, we describe a novel optimization framework based on the SB procedure
which decomposes the job shop scheduling problem to single machine scheduling
subproblems. Several variants of the SB algorithm are suggested that employ
different characteristics with respect to solving this problem. The most efficient
SB algorithms are identified through initial experiments.
Our computational experiments focus on a section of the UK rail network that is
dense, complicated and congested. It provides a problem instance that is among
Chapter 5 Train scheduling and disruption management 135
the most computationally difficult job shop problems where the graph is extremely
large. It is clear that simply finding a feasible solution is nontrivial, since FCFS
frequently results in a deadlock. It should be noted that EA heuristic which is
an algorithm developed to avoid acyclic sections in the MB-JSS graph can easily
run into infeasibility and hence deadlocks when bigger disruptions are considered.
Also, EA heuristic has a long runtime. Therefore, the proposed optimization
framework for SB algorithms, which can usually find feasible solutions for all
instances, is very promising to model and solve this large and complex problem
with all the practical constraints.
Computational experiments looks at different scenarios for delays by extending
running/dwell times and departure delays for train in the case study. More specif-
ically, computational results show that the MILP model finds better solutions in
comparison to the SB algorithms and EA heuristic when network delays are small.
When delay becomes bigger, the ability of MILP model and EA heuristic deteri-
orates in terms of feasibility and solution quality. For larger disruption, a special
version of SB called SB-ATC-ReOpt provides significantly better schedules than
other approaches. It is also shown to be more reliable in terms of finding feasi-
ble solutions for restricted real-time decisions which makes it viable for real-world
applications. Generally, it appears that when trains are disrupted more severely,
the MILP model and EA heuristic are prone to infeasibility and hence deadlock;
whereas, SB algorithms result in more feasible solutions and its quality increases
relative to the other methods.
Further research to improve the solution time and quality of the algorithm includes
investigating more efficient heuristics that can be embedded in the current SB
framework and exploiting potential computational speedups. Further research
should be addressed to design of the SB algorithm in order to produce better
solutions even for smaller amounts of delay. Developing faster algorithms can be
fruitful in integrating the scheduling process with other steps in train planning.
Chapter 6
Train routing and disruption
management
In order to achieve higher level of efficiency and providing better service and safety,
planning the proper time slot and the proper tracks for trains becomes critical.
Allocating time slots to trains is the concern of timetabling problem and assigning
tracks to trains is dealt with in train routing problem. To increase the performance
of the railway system, timetables are developed and routes are defined in advance
and they are modified in real time to handle disruptions.
It is clear from the above discussion that train routing problem is very important
for efficient railway planning and different variants of it is applicable in strategic,
tactical and operational levels (Lusby et al., 2011). In strategic planning, train
routing problem answers questions about the capacity of the network whereas
in tactical level train routing problem checks the compatibility of the timetable
with the infrastructure layout. Finally in operational level, it deals with rerouting
trains while some routes are infeasible or other routes are more desirable due to
disruption.
In this chapter train routing problem is addressed in tactical and operational
level. We try to minimize delay propagation in the network by proposing alter-
native routes for trains in advance planning and reroute the trains in respond to
disruptions. The train routing and rerouting problem is formulated as a parallel
137
138 Chapter 6 Train routing and disruption management
machine job shop scheduling problem in Section 6.2. A generic mixed integer pro-
gramming model of the problem is proposed for the train routing and rerouting
problem in Section 6.2.1 which can be adapted for different rail networks. Then,
a modified disjunctive graph is presented for the suggested parallel machine job
shop scheduling problem in Subsection 6.2.2.
Furthermore, a novel algorithm is developed and implemented based on the parallel
machine job shop scheduling to solve the train routing and rerouting problem in
Section 6.3. We explore the performance of the suggested algorithm with a real-life
case study of the Kent area which is discussed earlier in Section 3.6. Analyses of
the mentioned critical corridor with a complex infrastructure and congested traffic
indicates the computational advantage and viability of the method in Section 6.4.
The instances are of a practical size for London Bridge area including single and
parallel tracks and trains travelling in one and opposite directions. We conclude
the chapter with a summary of our observations and further studies to improve
the problem formulation and enhance the algorithm in Section 6.5.
6.1 Introduction
Train routing is an indispensable component of planning process as no time table
can be effective without considering train routes. In particular, train routing deci-
sions becomes more critical in dense networks. As railway stations and junctions
are the most important part of the network with regards to capacity and delay,
addressing robust routing in these bottleneck areas can increase both capacity and
punctuality. In this context, robustness is regarded as railway system insensitivity
to small disturbances during daily operations (Hansen and Pachl, 2008).
After a plan is created in the timetabling phase for an aggregated network, the
detailed layout of the network is considered in order to have a feasible routing
through the nodes defined in the aggregated level. It is called train routing problem
and it is necessary to adjust the timetable with the detailed topology as the nodes
are usually consisted of many interconnected tracks that merge and split. Thus,
the aim of the train routing problem is to assign conflict-free paths over time
Chapter 6 Train routing and disruption management 139
for the traversal of the trains in a timetable while satisfying several operational
constraints and rules.
If a node is an station, this problem is referred to as train platforming because
routing allocates trains to the platforms. A route can be defined as consecutive
block sections that a train enters, traverses and leaves. If the route goes through
a station, it may include stopping at an available platform. If the selection of
a platform uniquely defines the route into and out of the station the problem
is a platforming problem. Whereas, routing problem is about selecting between
available alternative routes which can reach a special platform (Lusby et al., 2011).
This study is directed towards routing trains in a partial network with a given
timetable in tactical and operational level. The benefit of formulating and solving
the train routing problem by the proposed approach is two fold. One is to give
the planner the opportunity to choose between alternative routes and select the
combination of routes for trains so that it results in the minimum delay. The
other advantage is that the same model can be used to reroute the trains in case
of disturbances and replace the blocked or time-consuming routes with better ones
in order to minimize the knock-on effect of delay on the partial network. A novelty
of the model is that train routing and scheduling are integrated and a route plan
gives train orders and timing on the suggested route. This feature of the model is
quite desirable in real-life application.
It should be mentioned that delay is permitted for late trains and train can wait
on a track section until the subsequent one becomes available. So the problem can
be used in operational level. Whereas no wait is allowed in the models that are
focused on the capacity assessments which are related to strategic level planning.
There may not be many routing options to and from the platforms; however, the
platforming is also relevant in this problem as it is still required to make sure that
the allocation of the platforms does not have any conflict.
140 Chapter 6 Train routing and disruption management
6.2 Mathematical formulation
As it is discussed in Chapter 5, we consider a railway network including stations
linked together by tracks which are divided into block sections. We use a new
concept in this chapter which is called track section. A track section is a division
of a track which is determined from a TIPLOC to a consecutive TIPLOC.
TIPLOC is an abbreviation used in the UK railway network and stands for Timing
Information Point LOCation. Train planners use TIPLOCs in train schedules to
define what time trains should arrive, depart or pass a particular point in the
network. A TIPLOC is a timing point and it may be but not necessarily a station,
part of a station, siding, signal, depot, junction, etc. This means that there may
be a TIPLOC at a station, part of a station, siding, signal, depot, junction, etc,
but it is not always the case. The railway network in this study uses this concept
and it includes several single and multiple track sections similar to the simple
network shown in Figure 6.1.
A B1
B2
B3
F2 F1
C D
E
G
Single-Track
Section A
Triple-Track
Section B1, B2, B3
Double-Track
Section F1, F2
Figure 6.1: A simple network with single and multiple parallel tracks
Operational characteristics of the train routing is similar to train scheduling prob-
lem discussed in Chapter 5. However, essential terminology differs slightly and
needs to be clarified particularly in perspective of this chapter for train routing
problem. It should be emphasised that the track section between two consecutive
TIPLOCs is shortly referred to as a track section.
In this chapter, the following operational characteristics are considered. The run-
ning time on a track section corresponds to the minimum time required for the
Chapter 6 Train routing and disruption management 141
traversal of the train on a track section and for the sake of simplicity it is short-
ened as running time in this chapter. Headway is the minimum time between two
consecutive trains to keep them far enough for safety reasons. The minimum time
that a train needs to stop at a platform is called dwell time.
Dividing tracks according to TIPLOCs is helpful for defining the problem. Firstly,
data is accurate and in line with how timetable components are defined in the
UK. Secondly, it is an efficient way of aggregating information which results in
a reduction in the number of variables and constraints. Thirdly, the single and
multiple track sections arising from this partitioning help in problem formulation
which is discussed in the following.
Although this aggregation is very convenient in terms of reducing the problem
size, it does not oversimplify the problem such that main operational data is lost.
For instance, if the whole path of a train on a single track is considered as a single
track section, the capacity of the line is incorrectly restricted to one train at a
time.
The railway network in this study is such that dividing the tracks according to the
TIPLOCs is compatible with the characteristics of the physical layout. That is,
TIPLOCs in our partial network are located at the points that the infrastructure
changes the track layout. Moreover, splitting tracks with regard to TIPLOCs is
in line with the operational rules. The running time of train on the track sections
between two consecutive TIPLOCs is smaller than or equal to the headway value.
Thus, it can be claimed that only one train can travel on a track section at a time
as two consecutive trains are separated by the headway.
Considering the above argument, we can find similarities between the train routing
problem and job shop scheduling problem. We can consider a stage consisting of
single or parallel machines as a track section including single or parallel tracks
between two consecutive TIPLOCs and a job is analogous to a train. Traversal of
a train on a track section is similar to the operation of a job on a stage of single
or parallel machines. Moreover, only one train can travel on a track section at a
time which is similar to the job shop principle where a machine can process only
one job at a time.
142 Chapter 6 Train routing and disruption management
In the partial network which is concerned in this research, multiple tracks of a
track section have similar running times. This is analogous to parallel machines
in the job shop. The train moves from one track section to the next and the
track section should keep the train until it moves to the proceeding track section.
Consequently, the train routing problem is modelled as a parallel machine job shop
scheduling problem.
Similar to the scheduling problem in Chapter 5, a cyclic timetable is considered
with a cycle length of 30 minutes which means that the frequency of the same
service to be repeated is half an hour. In this problem information is aggregated
and a track section consists of a couple of blocks. On the other hand, network
information is not aggregated in the form of a compact macro topology of stations
and parallel tracks between stations. Hence, the problem can be categorised as a
mesoscopic level planning.
The aim is to explore the use of alternative routes so that the delay is minimized.
Thus, the objective function is to minimize the total weighted tardiness of jobs in
the parallel machine job shop scheduling problem. Operational constraints consist
of running time, dwell time, headway and blocking constraints as discussed earlier.
Therefore, we call this problem as Modified Parallel Machine Job Shop Scheduling
problem abbreviated as MPM-JSS.
The suggested routing plan should have two essential characteristics including
conflict-freeness and deadlock-freeness. A conflict happens in this routing prob-
lem when more than two train claim the same track section. A deadlock happens
for a set of trains when each train claims a track section ahead which is not
available as it is either occupied by another train or blocked due to a disrup-
tion. Figure 6.2(a) shows a deadlock in the network and Figure 6.2(b) presents a
deadlock-free situation.
T1 T2
(a) (b)
T1 T2
Figure 6.2: (a) Situation with a deadlock (b) Situation with no deadlock
Chapter 6 Train routing and disruption management 143
6.2.1 MILP model
We have shown the disjunctive programming formulation for the classical job shop
scheduling problem in Chapter 5. In this section, we extend the disjunctive pro-
gramming formulation to incorporate particular properties of the the train routing
problem. Hence, train routing problem is modeled as a parallel-machine job shop
scheduling problem which is inspired by Liu and Kozan (2009).
Liu and Kozan (2009) propose a Mixed Integer Programming (MIP) model with
nonlinear objective function and constraints in order to minimize maximum com-
pletion time of the jobs or makespan. Minimizing makespan can be useful when a
schedule is developed. However, in this study, we are concerned with delay mea-
surement which is more important in the tactical and operational level. A schedule
is more robust when delay propagation is taken into account. In addition, we are
interested in a linear model. Hence, we suggest a MILP model to minimize total
weighted tardiness.
Introducing buffer time in the timetable can help in absorbing the delays when
a disruption happens. However, in this study we look at a working timetable
with fixed components as enough buffer times in the timetable has already been
incorporated by the train operating company. We need to explore if there is any
room for improvement through more efficient ordering and routing of the trains.
Therefore, we propose minimizing the total weighted tardiness as the objective
function in order to minimize delay propagation. The operational and safety
constraints are also modeled such that the problem can be solved with job shop
scheduling techniques. We have called this problem earlier as modified parallel
machine job shop scheduling problem (MPM-JSS) in Section 6.2.
Hence, the objective function of MPM-JSS is different from the classical job shop
scheduling problem with the makespan. There are also additional constraints in
the MPM-JSS problem to represent operational and safety constraints for the train
routing problem. For a comparison, we refer the reader to Subsection 5.2.1 for the
classical job shop scheduling problem J ||Cmax and its mathematical programming
formulation.
144 Chapter 6 Train routing and disruption management
It has been observed in the Chapter 5 that one can minimize delay in the railway
network by adjusting the order and timing of the trains in a timetable with fixed
routes in both offline and online planning mode. Another approach to manage
delay is changing train routes in addition to adjusting train time and order. This
process can be carried out when the routes in a timetable are created in advance
or in real-time. This section offers a mathematical programming formulation for
the train routing problem which can be modeled as a MPM-JSS problem.
Given an input timetable with alternative routes defined as different stages of
single and parallel machines, a schedule determines selected track sections with the
starting times of trains entering them and the order of trains on them. Therefore, it
can be observed that this approach is applicable to solve a combined train routing
and scheduling problem at the same time in a tactical and operational level. We
use the following notation for the parameters in the MILP model for the train
routing and scheduling problem.
I: set of jobs/trains
i,j: indices for jobs (i = 1, . . . , I and j = 1, . . . , J)
ri: non-negative release time of job i/departure time oftrain i from its origin
di: non-negative due date of job i/scheduled arrival time oftrain i at its destination
wi: non-negative importance weight of job i/train i
li: number of stages to be visited by job i/number of tracksections to be traversed by train i
(si1, . . . , si,li): sequence of stages to be visited by job i/sequence oftrack sections to be traversed by train i
S: set of stages/track sections
Ms: set of machines for stage s/set of tracks for track sections
O: set of operations defined by indices (i,m, s), for i ∈ I,s ∈ S and m ∈Ms
pims: operation time for job i on machine m of stage s/runningtime for train i on track m of track section s
hijms: required time delay (headway) between the start of op-erations (i,m, s) and (j,m, s) when job i precedes job jon machine m of stage s
M : a very large positive number
The following notation is used for the variables in the MILP model for train routing
and scheduling problem.
Chapter 6 Train routing and disruption management 145
yims:
{1, if job i is assigned to machine m of stage s
0, otherwise
xijms:
{1, if job i precedes job j on machine m of stage s
0, otherwise
tims: starting time of job i on machine m of stage s if job i isassigned to machine m of stage s
Ti: tardiness of job i
In this problem, jobs i needs to wait for a release time ri to start its process on
some machine m of some stage s. It is analogous to the time that a train enters
the network to start its service. Similarly, the due date di of train i is the time
that we expect the train to leave the network. The due date helps us to determine
the tardiness of a job Tj = max(Lj, 0) which is equivalent to the train delay.
Tardiness calculation helps to determine the objective function of the train routing
and scheduling problem. The aim is to minimize delay propagation which can be
translated as the total weighted tardiness∑wjTj. Weights are defined with regard
to the train priorities and they can be set equal to 1 to deal with similar trains.
The train routing problem (MPM-JSS) has several similarities with the train
scheduling problem (MB-JSS) in Chapter 5. However, there are several differ-
ences which are mainly resulted by considering single and parallel machines in
this chapter instead of only single machines. In what follows, it becomes more
clear how this special characteristic can thoroughly affect the problem formula-
tion and solution method.
It is obvious how this formulation on one hand can aggregate the information to
have less number of variables for the same partial network addressed in Chapter 5
which can offer an advantage in terms of the problem size and computational
effort. On the other hand, it adds to the problem complexity as there is another
degree of freedom which is about selecting among alternative routes. Finally, the
main characteristic of the problem is to combine two decisions of scheduling and
routing together which makes the problem more challenging and interesting for
the real-world applications.
146 Chapter 6 Train routing and disruption management
The MILP model for formulating the train routing and scheduling problem as a
MPM-JSS problem is presented as below.
Minimize z =∑i∈I
wiTi (6.1)
subject to
ti,m,si,li+ pi,m,si,li
− di − M(1− yi,m,si,li) ≤ Ti (i,m, si,li) ∈ O (6.2)
(ti,m,si,1 − riyi,m,si,1) ≥ 0 (i,m, si,1) ∈ O (6.3)
(ti,m,si,k−1+ pi,m,si,k−1
)− M(1− yi,m,si,k−1) ≤ ti,m′,si,k + M(1− yi,m′,si,k)
(i,m, si,k−1), (i,m′, si,k) ∈ O, k = 2, . . . , li (6.4)
tims + max{pims, hijms}+ M(xijms − 1) ≤ tjms (i,m, s), (j,m, s) ∈ O (6.5)
tjms + max{pjms, hjims}+ M(xjims − 1) ≤ tims (i,m, s), (j,m, s) ∈ O (6.6)
xijms ≤ yims (i,m, s), (j,m, s) ∈ O (6.7)
xjims ≤ yjms (i,m, s), (j,m, s) ∈ O (6.8)
xijms + xjims ≤ 1 (i,m, s), (j,m, s) ∈ O (6.9)
yims + yjms − xijms − xjims ≤ 1 (i,m, s), (j,m, s) ∈ O (6.10)∑m∈Ms
yims = 1 i ∈ I, s ∈ (si1, . . . , si,li) (6.11)
xijms, yims ∈ {0, 1} (i,m, s), (j,m, s) ∈ O (6.12)
Ti ≥ 0 i ∈ I (6.13)
The objective function to avoid delay propagation is defined with the total weighted
tardiness in (6.1). Constraints (6.2) determines the tardiness of a job which defines
a train’s delay. To do so, jobs starting time on the last machine of its sequence,
its processing time on that machine and the due date of the job is considered if
the job is processed on machine m of stage si,li.
Constraints (6.3) are to make sure that the starting time of a job on the first
machine of its sequence is no earlier than its release time if it is processed on
machine m of stage si,1. It means that a train is restricted to start its service after
it has entered the railway network.
The starting time of succeeding operation of job i of stage sk should be no earlier
Chapter 6 Train routing and disruption management 147
than its finish time on the proceeding operation on stage sk−1 considering the
machine on which it is processed. This is achieved through constraints (6.4) which
are called the set of conjunctive constraints. They enforce the running and dwell
time constraints for trains.
The pair of constraints (6.5) and (6.6) restrict the order of jobs i and j if both
jobs are processed on machine m of stage s. They are a modification of disjunctive
constraints. These constraints are adapted to represent that there should be a
minimum headway hijms (hjims) between two consecutive trains i and j running
on the same track m of track section s if train i precedes train j (train j precedes
train i).
Constraints (6.7) and (6.8) and the binary constraints (6.9) and (6.10) force the
condition that either job i precedes job j or vice versa only if they are both
assigned to the same machine m of stage s. More specifically, if both job i and j
are allocated to the same machine of a stage (yism = yjsm = 1), then considering
(6.9) and (6.10) together results in constraint xijms +xjims = 1. This is equivalent
to deciding the precedence order of two trains traversing on the same track of a
track section.
Constraint (6.11) determines that each job i has to be allocated to one machine
of stage s. This is similar to the safety rule of only one train running on a track
of a track section at a time. Finally, constraint 6.12 ensures the nonnegativity
of the tardiness of jobs. Now that the mathematical programming model of the
combined train routing and scheduling problem is shown, we move on to next
Subsection 6.2.2 for the graph representation of the problem.
6.2.2 Extended disjunctive graph formulation
The extended disjunctive programming model introduced in the previous section
is illustrated with a directed graph for analysing the train scheduling and routing
problem. Most of the research studies in job shop scheduling are based on the
disjunctive graph formulation (See Chapter 5 for more discussions on disjunctive
graph).
148 Chapter 6 Train routing and disruption management
The proposed parallel machine job shop scheduling is also modelled with an ex-
tended disjunctive graph in this section to be implemented in an efficient solution
algorithm. We adapt the disjunctive graph by Liu and Kozan (2012) which models
a parallel machine job shop scheduling. With some modifications we modify the
graph slightly in order to solve a parallel machine job shop scheduling with release
times. Moreover, the graph is transformed to represent a job shop problem for
minimizing total weighted tardiness. It should be noted we set out an activity-on-
edge while Liu and Kozan (2012) has an activity-on-node graph. In the following,
the other changes are mentioned in detail where appropriate, while we elaborate
on graph specifications.
The extended graph G = (N,A,B) is described with a set of nodes shown by N ,
set of conjunctive arcs A and a set of disjunctive arcs B. There are two types of
nodes in set N , namely actual and virtual nodes. Assume that we have a node
for the operation of a job i, i ∈ I on either a single machine stage s or on each
machine m of parallel machine stage s.
As not all jobs are processed on all stages and only one machine of a parallel
machine stage is assigned to a job at a time, there are some nodes for a job i with
no process. That is why we have some actual nodes with a corresponding process
on a stage with a single or parallel machines and some nodes are virtual with no
associated process.
A dummy node U is needed as a source node of the graph and there are dummy
sink nodes Vi, i ∈ I for each job. The sink nodes for each job help us to calculate
the tardiness of each job and the total weighted tardiness consecutively. Whereas
in Liu and Kozan (2012) the objective function is to minimize makespan and a
single sink node would suffice for makespan calculations.
Set A of conjunctive arcs includes fixed arcs that represent the precedence relation
between two consecutive operations corresponding to the same job. Conjunctive
arcs also connect the source node to the first operation of each job and the last
operation of each job is connected to the sink of the corresponding job.
Length of the conjunctive arcs are equal to the processing time of the operations
from which they branch. However, the length of the conjunctive arcs which stem
Chapter 6 Train routing and disruption management 149
from the source node to the first operation of each job is equal to the release time
ri of job i. Here, we can point out the second difference to Liu and Kozan (2012)
where release time is not an issue of interest.
B is the set of modified disjunctive arcs which are not fixed. They represent the
undetermined precedence between two jobs which are operated on the same ma-
chine. The precedence relation is presented as a pair of arcs in opposite directions
between two actual operations on the same machine. The length of the modi-
fied disjunctive arcs are equal to max{pims, hijms} or in other words it reflects the
bigger value between the processing time (train running time) and the time sepa-
ration between two consecutive jobs on the same machine (headway between two
consecutive trains).
Assuming that we have S number of stages, the set of disjunctive arcs can be
divided into S subsets shown by B1, B2, . . . , BS, where Bk, (k = 1, 2, . . . , S) de-
notes the disjunctive arcs among actual operations that are processed on single or
parallel machines of a stage s.
The characteristics of the disjunctive arcs on the single machine stages are very
much similar to the disjunctive graph shown in Chapter 5. For each actual oper-
ation on a single machine stage, there is a pair of disjunctive arcs with the other
operation on the same stage.
However, modified disjunctive arcs on the multiple machine stages are more com-
plicated. Every actual operation of a job can only be paired with each actual
operation of the other jobs which are processed on the same machine. The follow-
ing figure helps us to illustrate the mentioned concepts.
Figure 6.3 is an example of a parallel machine job shop with 6 jobs and 7 stages.
An operation of job i on machine m of stage s is represented as a node denoted
by (i,m, s). A rectangle embracing some nodes in the graph shows that the cor-
responding operations are processed on the same-type machine.
150C
hap
ter6
Train
routin
gan
ddisru
ption
man
agemen
t
U
3, msA,1
, sA
4, msA,1
, sA
1, msB,1
, sB
1, msB,2 , sB
1, msB,3 , sB
3, msB,1 , sB
3, msB,2 , sB
3, msB,3
, sB
4, msB,1
, sB
4, msB,2
, sB
4, msB,3
, sB
1, msC,1 , sC
3, msC,1
, sC
4, msC,1
, sC
1, msD,1
, sD
2, msD,1
, sD
3, msD,1
, sD
4, msD,1
, sD
2, msE,1
, sE
2, msF,1
, sF
2, msF,2
, sF
2, msG,1
, sG
1, msA,1
, sA
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Job 1
Job 2
Job 3
Job 4
Job 5
Job 6
sA sB sC sD sE sF sG
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
Virtual
6, msA,1 , sA
6, msB,1 , sB
6, msB,2
, sB
6, msB,3
, sB
6, msC,1
, sC
5, msD,1
, sD
6, msD,1
, sD
5, msE,1
, sE
5, msF,1
, sF
5, msF,2
, sF
5, msG,1
, sG
V6
V1
V2
V3
V4
V5
Figure 6.3: MPM-JSS graph: modified parallel machine job shop scheduling problem for Pm|rj |∑
wjTj
Chapter 6 Train routing and disruption management 151
In addition, conjunctive arcs are drawn in this graph. For instance, we have the
following set of conjunctive arcs for job i = 1
(1,msA,1, sA)→ (1,msB ,1, sB)→ (1,msC ,1, sC)→ (1,msD,1, sD) (6.14)
where (i,m, s) denotes the set of operations, for i = 1, s = sA, . . . , sG and
m = ms1, . . . ,ms,ls .
For more clarity, disjunctive arcs are not illustrated in the graph. Instead, they are
listed separately in the following for a single machine stage and a double machine
stage. For each node in the single machine stage A with 4 jobs, we have
(1,msA,1, sA) : (1,msA,1, sA)→ (3,msA,1, sA); (1,msA,1, sA)→ (4,msA,1, sA);
(1,msA,1, sA)→ (6,msA,1, sA)
(6.15)
(3,msA,1, sA) : (3,msA,1, sA)→ (1,msA,1, sA); (3,msA,1, sA)→ (4,msA,1, sA);
(3,msA,1, sA)→ (6,msA,1, sA)
(6.16)
(4,msA,1, sA) : (4,msA,1, sA)→ (1,msA,1, sA); (4,msA,1, sA)→ (3,msA,1, sA);
(4,msA,1, sA)→ (6,msA,1, sA)
(6.17)
(6,msA,1, sA) : (6,msA,1, sA)→ (1,msA,1, sA); (6,msA,1, sA)→ (3,msA,1, sA);
(6,msA,1, sA)→ (4,msA,1, sA)
(6.18)
Choosing disjunctive arcs on a single machines is similar to Chapter 5. For a
pair of nodes (i,m, s) and (j,m, s) on a single machine stage, there are only two
options; either processing (i,m, s) before (j,m, s) or vice versa. When a schedule
is determined, only one of disjunctive arcs are selected.
152 Chapter 6 Train routing and disruption management
The disjunctive arcs for the double machine stage F with 2 jobs are summarized
for each node as below
(2,msF ,1, sF ) : (2,msF ,1, sF )→ (5,msF ,1, sF ); (2,msF ,1, sF )→ (5,msF ,2, sF )
(6.19)
(2,msF ,2, sF ) : (2,msF ,2, sF )→ (5,msF ,1, sF ); (2,msF ,2, sF )→ (5,msF ,2, sF )
(6.20)
(5,msF ,1, sF ) : (5,msF ,1, sF )→ (2,msF ,1, sF ); (5,msF ,1, sF )→ (2,msF ,2, sF )
(6.21)
(5,msF ,2, sF ) : (5,msF ,2, sF )→ (2,msF ,1, sF ); (5,msF ,2, sF )→ (2,msF ,2, sF )
(6.22)
Choosing among disjunctive arcs in a parallel machines needs more attention.
Because there are obviously more possibilities for the order of the jobs which are
processed on the same machine due to identical parallel machines. In this case,
not all of the nodes that share the same stage can have a selected disjunctive arc.
Disjunctive arcs are selected only for the jobs which are scheduled on the same
machine within a stage. For example, initially we have all the above arcs among
nodes on machine F . Later, when a schedule is found, only one arc in the pair of
(2,msF ,1, sF ) → (5,msF ,1, sF ) or (5,msF ,1, sF ) → (2,msF ,1, sF ); and only one arc
in the pair of (2,msF ,2, sF ) → (5,msF ,2, sF ) or (5,msF ,2, sF ) → (2,msF ,2, sF ) can
be selected. However, each of job 2 and 5 have two options to do the same process
on machine 1 or 2 of stage F .
We have discussed how the relevant disjunctive arcs are selected in single and
parallel machines stages. A selection of one direction of the relevant disjunctive
arcs determines the order of the jobs to be processed on the same machine for
both single and parallel machine stages. At the same time, it defines the chosen
machine in a stage to carry out the process on a parallel machine stage. A feasible
schedule for the MPM-JSS problem corresponds to a selection of one direction
for the relevant pair of disjunctive arcs such that there is no cycle in the graph.
Conversely, an acyclic selection of the disjunctive arcs by choosing exactly one
Chapter 6 Train routing and disruption management 153
arc from the relevant pair of disjunctive arcs results in a feasible solution for the
MPM-JSS problem.
The longest path from source U to one of the sinks Vi, i ∈ I helps to determine
the tardiness of a job and calculate the total tardiness consecutively. We elaborate
more on this calculation in Section 6.3.
In this section, we have extended the classical disjunctive graph to formulate the
train routing and scheduling problem. The extended graph is used in order to
analyse the problem and develop a novel heuristic approach in Section 6.3.
6.3 Solution methods
This section addresses solution methods for the routing and scheduling problem
formulated in Section 6.2 as a MILP model and the so-called MPM-JSS graph. A
novel approach is suggested based on the well-known SB heuristic which is intro-
duced in Chapter 5. This approach is configured around the single and multiple
machine formulation discussed earlier
The SB heuristic aims to propose train routes among alternative options so that the
delay propagation in the network is minimized. Simultaneously, train timing and
ordering on the corresponding routes are determined. This problem can obviously
be solved in both levels of tactical and operational level with concerns on feasibility
of the timetable with the infrastructure and rerouting in real-time respectively.
In Subsection 6.3.1 an algorithm for train routing and scheduling based on FCFS
dispatching rule is presented which is close to real application. A modified SB
algorithm is provided in Subsection 6.3.2 which improves classical features of the
SB algorithm with substantial novelties. We report on the computational results
for London bridge area case study firstly introduced in Chapter 3. It shows effi-
ciency and viability of the SB algorithm to be employed in real-life train routing
problem.
154 Chapter 6 Train routing and disruption management
6.3.1 FCFS dispatching rule
FCFS is developed based on a well-known FCFS dispatching rule which sequences
trains in non-decreasing order of their release times on each track section. In
this case, the FCFS algorithm for train routing and scheduling problem is imple-
mented with respect to the operational and safety rules which are described in the
following.
The train traversal on a track section takes as long as its running time. A train can
only enter a track of a track section if the track section is free. Enough separation
between two consecutive trains which consecutively use the same track is ensured
by taking into account the maximum value between running time of the preceding
train on the track section and the headway value. It should be highlighted that
trains can consecutively use the same track which is the case when one train enters
the same track after the other one has left that track. Therefore, there is no more
than one train per track section at a time.
This algorithm simulates real-life dispatching decisions and therefore, it can rea-
sonably serve as a baseline for the comparisons in computational experiments. In
the following a sophisticated SB algorithm is suggested for the train routing and
scheduling problem.
6.3.2 Modified Shifting Bottleneck procedure
The idea of using Shifting Bottleneck procedure to solve the classical job shop
scheduling problem has been extensively explored in Chapter 5. Based on the
analysis that has been performed in the in Section 6.2, we need to develop a
variation of SB algorithm to deal with both single and parallel machines to solve
the MPM-JSS problem. It is due to the fact that the introduced train routing and
scheduling problem consists of single and parallel tracks modelled as stages.
In order to calculate the total weighted tardiness, we introduce a novel approach
inspired by Liu and Kozan (2012). As it has been mentioned in the problem
formulation in Section 6.2, our problem differs from theirs in two main aspects
which are the objective function and the job properties.
Chapter 6 Train routing and disruption management 155
Although both studies consider the parallel machine job shop scheduling problem,
they can be considered as two completely different variation of the problem. We
consider the objective function of minimizing total weighted tardiness whereas
Liu and Kozan (2012) minimize the makespan. Moreover, the release time and
tardiness of jobs are incorporated in our model and solution method while Liu and
Kozan (2012) assume that all jobs are available at time zero and tardiness is not
a concern in their study.
The SB algorithm proposed for the train routing and scheduling problem is simi-
lar in framework to the approach in Chapter 5. Here, we need to mention about
the novelty of the suggested algorithm compared to Pinedo and Singer (1999) and
D’Ariano (2008) studies which are the main inspiration for our SB algorithm sug-
gested in Chapter 5. The same arguments stands for novelty of our SB algorithm
for the train routing and scheduling problem as discussed in Subsection 5.3.5.2.
In the following, we mention the main distinctive features of our proposed our SB
algorithm.
A special characteristic of our SB algorithm in comparison with Pinedo and Singer
(1999) algorithm is the presence of both single and parallel machine subproblems.
Our novel algorithm extends the ATC index to be viable for the parallel machine
subproblems.
Our novel approach addresses scheduling and routing simultaneously in each it-
eration of the SB algorithm; whereas, D’Ariano (2008) solve the scheduling and
routing problems iteratively in separate steps that is to compute an optimal train
sequence for given train routes and then improve it by locally rerouting some
trains.
Other novelties and modifications suggested in the introduced SB algorithm is
discussed in more detail as we explain each step of the algorithm.
In general, SB is known as a decomposition approach for J ||Cmax problem. In each
iteration, SB decomposes the problem into multiple instances of single-machine
1|rj|Lmax which are called subproblems. Then, the so-called subproblems are
solved by a subproblem solution procedure which is a branch-and-bound tech-
nique by Carlier (1982) in the original version of SB.
156 Chapter 6 Train routing and disruption management
Then, they are evaluated in terms of the machine criticality. Finally, the most
critical machine is chosen and sequenced and the whole process is repeated until
all machines are scheduled. For a comprehensive discussion of the SB procedure
and the original approach we refer the reader to Subsection 5.3.5.
In this section, the major steps of the SB are maintained and we adapt and improve
the SB algorithm to solve the MPM-JSS problem efficiently. Assuming a given
MPM-JSS graph, it consists of several single machine (SM) and parallel machine
(PM) subproblems. Hence, in this case, the SB approach needs to decompose and
solve an SM or PM problem in each iteration.
In the following, we summarize the novel improvements in the suggested SB. A
topological-sequence algorithm of Liu and Ong (2002) is modified with regard to
the decomposition step. Liu and Ong (2002) employ the topological-sequence
algorithm originally for critical path calculations in flow shop problems. The
outcome of applying the modified topological-sequence algorithm to the MPM-
JSS problem is a set of PM and SM problems with different heads ri’s and tails
qi’s.
If the subproblem is an SM, a modified ATC index by Pinedo and Singer (1999)
is implemented. This index solves the 1|rj|∑wjTj and we call it ATC-SM index.
For a PM subproblem, we adapt an ATC index to include release times of jobs
inspired by Lee and Pinedo (1997) who apply ATC index on parallel machines with
setup times. The adapted variant of the ATC index in our study is customised for
the Pm|rj|∑wjTj and it is named as ATC-PM index.
We need to highlight that the presence of parallel machines in the train schedul-
ing problem is the main feature of the train routing problem. The proposed SB
algorithm decomposes the problem into single and parallel machine subproblems.
This distinctive feature is addressed by an extending ATC index, which is origi-
nally developed for single machine problem, to be viable for the parallel machine
problems. The parallel machine characteristic requires certain changes in the clas-
sical SB algorithm which is discussed in the following.
Given mentioned improvements, following framework is offered for an EXTended
SB (EXT-SB) algorithm.
Chapter 6 Train routing and disruption management 157
EXT-SB algorithm
Step 1 : Set initial conditions S0 = ∅. Graph G should include all conjunctive
arcs and no disjunctive arcs.
Step 2 : Do the following to identify and solve each unscheduled stage s ∈ S \ S0 .
Step 2-1: Decompose the problem into SM and PM problems using the
topological-sequence algorithm.
Step 2-2: Solve the SM subproblems by ATC-SM index for 1|rj|∑wjTj and
solve the PM problems by ATC-PM index for Pm|rj|∑wjTj.
Compute
Ts =n∑
k=1
wk
(max
(j,m,s)∈Ns
T kjms
), T k
jms = max{Cjms − dkjms, 0} (6.23)
where T kjms is the tardiness of job j processed on machine m of stage s
calculated with respect to each sink Vk for job k, and Ns is the set of nodes
corresponding to the operations processed on stage s.
Step 3 : Determine the bottleneck stage s′, where
Tmax(s′) = max
s∈S\S0(T (s)) (6.24)
Sequence the jobs on stage s′ according to the sequence obtained in the
previous step. Set S0 = S0 ∪{s′}.
Step 4 : Stop if S0 = S, otherwise go to Step 2.
A re-optimization step is usually carried out in the classical version of the SB algo-
rithm. We also implement it in the EXT-SB algorithm version with re-optimization
after Step 3 which is explained in the following
Re-optimize each stage l ∈ S0 \{s′} by solving its subproblem taking into account
the sequences on stages S0 \{l}.
158 Chapter 6 Train routing and disruption management
Based on our observations earlier in Chapter 5, SB algorithm based on the ATC in-
dex with and without re-optimization, namely SB-ATC and SB-ATC-ReOpt, show
better performance compared to the other variants of the SB algorithm. Hence,
two variants of the EXT-SB algorithm are developed; The SB algorithm without
re-optimization and the SB algorithm with re-optimization are called RSB-ATC
and RSB-ATC-ReOpt, respectively. It should be noted that R in RSB-ATC and
RSB-ATC-ReOpt corresponds to the Routing algorithm. Given that machine s′ is
sequenced, in order to re-optimize stage l ∈ S0 \{s′}, all corresponding disjunctive
arcs of stage l are deleted from the MPM-JSS graph. We assume that the order
of re-optimizing stages l ∈ S0 \{s′} is given by l(1), . . . , 1(p), p = |S0 |− 1. Conse-
quently, l(i), i = 1, . . . , p is ordered according to the decreasing solution value of
the sequencing problem. It is observed that sometimes no tardy stage is selected
based on the bottleneck selection. Hence, stage s′ ∈ S is selected such that for
all j and k, d′j′m′ = mindkjm. In this case, no re-optimization is performed after
selecting such a machine.
More details for each step of the EXT-SB are given in the rest of this chapter. We
begin with a discussion on topological-sequence algorithm in Subsection 6.3.2.1.
Then, single and parallel machine subproblems are solved in Subsection 6.3.2.2.
6.3.2.1 Adapted topological-sequence algorithm
Adapted topological-sequence algorithm is implemented in each step of the EXT-
SB to analyse a partial MPM-JSS graph consisting of all conjunctive arcs for
operations of the same job and the disjunctive arcs belonging to the stages which
are already sequenced s ∈ S0 . This algorithm aims at decomposing the multiple
machine stages in MPM-JSS problem into SM and PM subproblems so that they
can be solved in Step 3 of EXT-SB algorithm in order to determine the bottleneck
machine in each iteration.
The topological-sequence algorithm was initially introduced by Liu and Ong (2002)
to calculate head ri (the length of the longest path from the source to the node
associated with job i) and tail qi (the length of the longest path from the node
associated to job i to the sink) of each node based on critical path calculations in
a disjunctive graph. The algorithm is used to solve two variants of the flow shop
Chapter 6 Train routing and disruption management 159
problems. Later, Liu and Kozan (2012) implement the same algorithm in a study
for parallel-machine job shop scheduling problem. The first steps of the algorithm
are similar to the well-known topological sort algorithm or topological ordering
algorithm which is mentioned firstly in Subsection 5.3.5.2.
In the extended disjunctive graph for MPM-JSS problem, we have a sink Vi, i ∈ Ifor each job. Thus, it is necessary to change the original topological-sequence
procedure for MPM-JSS graph with several dummy sinks for each job. In the
following, the modified topological-sequence algorithm is described.
Modified topological-sequence algorithm
Step 1 : Count the in-degree (the predecessors) of the nodes.
Step 2 : Find a topological order of the nodes as below.
Step 2.1: Select and put the source node in the list as it is the only node
that it has the in-degree of zero at the beginning.
Step 2.2: Decrease the in-degree of the immediate successors of the selected
node by 1.
Step 2.3: Choose a node with an in-degree of zero from unselected nodes
and add it to the list.
Step 2.4: Repeat step 2.2 and 2.3 until all nodes are ordered.
Step 3 : Set the head of the source node equal to zero. Compute the head of the
rest of the nodes (other than the first operation of a job) in the topological
order according to the following equation
ri = max{rPMi+ pPMi
, rPJi + pPJi} (6.25)
where ri is the head of the operation i (A single index i is used to show
the operation in this algorithm), PMi is the operation on the same stage
processed just before operation i if it exists and PJi is the operation of the
same job processed just before operation i if it exists. For the first operation
of a job, ri is equal to the release time of the job associated with operation
i.
160 Chapter 6 Train routing and disruption management
Step 4 : Do the following for each sink Vk, k ∈ I. Set the tail of the sink Vk
equal to zero. Compute the tail of the rest of the nodes (other than the last
operation of a job) with respect to sink k denoted as L(i, Vk) in the reverse
order of the topological order according to the following equation
L(i, Vk) = max{L(SMi, Vk) + pSMi, L(SJi, Vk) + pSJi} (6.26)
where SMi is the operation on the same stage processed immediately after
operation i if it exists and SJi is the operation of the same job processed
immediately after operation i if it exists. For the last operation of a job,
L(i, Vk) is equal to the processing time of the job associated with operation
i.
In Subsection 6.3.2.2, we show how SM and PM problems arising from the Modified
topological-sequence algorithm are solved.
6.3.2.2 SM and PM subproblems
When the modified topological-sequence algorithm is implemented in an iteration
of the EXT-SB algorithm, the SM and PM subproblems are generated. In Step
2.2 of the EXT-SB algorithm, we need to formulate and solve these subproblems.
The SM and PM subproblems with different heads and tails have the objective
functions of minimizing total weighted tardiness∑wjTj. In what follows, we
discuss the formulation and solution methods for the SM and PM subproblems.
SM subproblem
It can be clearly seen that arising SM problem is minimizing total weighted tar-
diness on a single machine with release times 1|rj|∑wjTj.
In the SM problem arising from the modified topological-sequence algorithm, a set
of jobs j ∈ I has to be processed on a stage with a single machine m. Each job
has a fixed processing time pjm, a head rjm and a tail L((j,m), Vk) with respect
to job k.
Chapter 6 Train routing and disruption management 161
Now that an instance of 1|rj|∑wjTj is generated, we can also define the local due
date of operation (j,m) according to equation (5.25).
Thus, the local tardiness of the operation (j,m) with respect to job k can be
computed by equation (5.28).
Assuming that S0 is the set of currently sequenced stages, there is a SM subprob-
lem corresponding to stage s ∈ S\ S0 which is resulted from the decomposition
by the modified topological-sequence algorithm. We assume a notation similar to
train scheduling and rescheduling problem in Section 5.2 for ti,mi,li, pi,mi,li
, tim, pim,
hijm, xijm. Thus, the mathematical programming of the decomposed SM problem
for stage s ∈ S\ S0 is given in the following.
Minimize z =∑k∈I
wk(maxi,m
T kim) (6.27)
subject to
T kim ≥ ti,mi,li
+ pi,mi,li− di (i,m) ∈ O,k ∈ I (6.28)
ti,mi,1≥ ri i ∈ I (6.29)
tjm − tim + M(1− xijm) ≥ max{pim, hijm} (i,m), (j,m) ∈ O (6.30)
tim − tjm + M(1− xjim) ≥ max{pjm, hjim} (i,m), (j,m) ∈ O (6.31)
xijm + xjim = 1 (i,m), (j,m) ∈ O (6.32)
xijm ∈ {0, 1} (i,m), (j,m) ∈ O (6.33)
T kim ≥ 0 (i,m) ∈ O,k ∈ I (6.34)
After modeling the problem, we need a mechanism to solve the SM subprob-
lem. We implement an enumeration heuristic based on the modified ATC-SM
index. Pinedo and Singer (1999) adapt a priority rule called ATC index to solve
1|rj|∑wjTj. The ATC index is initially developed by Vepsalainen and Morton
(1987) and it is well-known for solving 1||∑wjTj. We have mentioned earlier
in Subsection 5.3.5 that we use the ATC index proposed by Pinedo and Singer
(1999) to minimize total weighted tardiness in a single machine problem with re-
lease times. We employ the same ranking index which is called ATC-SM index
in this chapter and has been defined in equation (5.27) (See Subsection 5.3.5 for
more details about the ATC index for the single machine problems).
162 Chapter 6 Train routing and disruption management
After calculating the ATC-SM index for all the operations, we select the operation
(j,m) with the highest index and put it in the first position on machine m. In
order to define which operation should be scheduled next, indices are recalculated
for the remaining operations and the job with the highest value is selected. This
process is repeated until all operations are scheduled.
PM subproblem
Similarly, we can define the PM problem which is generated after the decompo-
sition step in SB-EXT. In each iteration of SB-EXT, only one stage is sequenced
which consist of some parallel machines. So instead of a single machines problem,
we need to formulate and solve a parallel machine problem.
In the PM problem arising from the modified topological-sequence algorithm, there
is a set of jobs j ∈ I which need to be processed on machine m in stage s. Each
job j ∈ I has a processing time pjs, a head rjms and a tail L((j,m, s), Vk)) which
is defined with respect to job k.
In order to solve the parallel machine problem we need to firstly define which
jobs have to be assigned to which units of the parallel machine and secondly to
determine the sequence of the jobs assigned to each unit of the parallel machine.
The local due date of each operation (j,m, s) is defined in the following.
dkjms =
max{Ck, dk} − L((j,m, s), Vk) + pjs if L((j,m, s), Vk) exists,
∞ otherwise.(6.35)
Consequently, we can compute the local tardiness of the operation (j,m, s) with
respect to job k by using the formula
T kjms = max{Cjms − dkjms, 0}. (6.36)
Chapter 6 Train routing and disruption management 163
The mathematical programming formulation of the PM sub-problem is determined
as below.
Minimize z =∑k∈I
wk(maxi,m,s
T kims) (6.37)
subject to
T kims ≥
∑s∈S
(ti,m,si,li+ pimsi,li
− di − M(1− yi,m,si,li))
(i,m, s) ∈ O,k ∈ I (6.38)
ti,m,si,1 ≥ ri i ∈ I (6.39)
tjms − tims + M(1− xijms) ≥ max{pims, hijms} (i,m, s), (j,m, s) ∈ O (6.40)
tims − tjms + M(1− xjims) ≥ max{pjms, hjims} (i,m, s), (j,m, s) ∈ O (6.41)
xijms + xjims ≤ 1 (i,m, s), (j,m, s) ∈ O (6.42)
yims + yjms − xijms − xjims ≤ 1 (i,m, s), (j,m, s) ∈ O (6.43)∑m∈Ms
yims = 1 (i,m, s) ∈ O (6.44)
xijms, yims ∈ {0, 1} (i,m, s), (j,m, s) ∈ O (6.45)
T kims ≥ 0 (i,m, s) ∈ O, k ∈ I (6.46)
In order to determine the bottleneck machine in Step 3 of the SB-EXT algorithm,
the PM subproblem should be solved. The ATC-PM index is introduced to develop
an enumeration heuristic. ATC-PM index is an extension of ATC index by Pinedo
and Singer (1999) which is extensively discussed in Subsection 5.3.5. Whereas ATC
index is suitable for single machine problems, ATC-PM needs certain modifications
to be applicable to parallel machine problems. ATC-PM index is adapted to solve
Pm|rj|∑wjTj as below.
Ijms(ts) =n∑
k=1
wk
pjms
exp
(−
max(dkjms − pjms + (rjms − ts), 0)
Kpms
), (6.47)
where ts is the earliest time at one of the parallel machines of stage s can be used
which is the earliest time that the last job on the machine is completed or if more
than one machine is freed at a time, one can be chosen arbitrarily. Moreover,
¯pms is the average processing time of jobs assigned to machine m of stage s that
164 Chapter 6 Train routing and disruption management
are calculated by averaging the processing time of the operations which are still
to be sequenced on machine m of stage s. K is a scaling parameter whose value
has been determined to be equal to 4 empirically with computational tests (See
Subsection 5.3.5 for more details about the ATC index for the single machine
problems).
We compute the ATC-PM index for all the operations and choose the operation
(j,m, s) with the highest index. The operation with the highest index should be
processed at time ts. At each time ts, the same process is repeated to determine
the next operation to be scheduled until all operations are sequenced. It means
indices for the un-sequenced operations are computed and the job with the largest
ATC-PM is chosen to be processed on the next position.
Computational results are provided for the suggested SB algorithms RSB-ATC
and RSB-ATC-ReOpt in Subsection 6.4.
6.4 Computational results
The computational result of this chapter is based on London Bridge area based
on Kent which is mentioned earlier in Section 3.6. We investigate possible effect
of different routing decisions in this area. There are many parallel tracks in the
area which gives us the opportunity to propose new routes for trains. London
Bridge area has a complicated infrastructure and it includes several junctions and
stations. The parallel tracks in this area are indicated according to Track Diagrams
of the Kent area which is a property of the Southeastern company and subject
to a non-disclosure agreement. Track Diagrams show the detailed topology of
the tracks with possible directions for train journeys. Hence, we can define the
potential routes for the trains according to these diagram.
Given the above information for the routes, we simulate different traffic conditions
on the network. We look into different scenarios for blocked routes and perturbed
timetables. We investigate the impact of possible routing options on the quality
of the suggested routes and schedules. The proposed EXT-SB algorithm tries to
offer routes and schedules for trains so that the delay propagation is minimized
Chapter 6 Train routing and disruption management 165
in the network. All variants of EXT-SB algorithm have been coded in MS Visual
C++ 2010 and run on a PC with a dual core, 3.00 GHz and 4GB RAM.
6.4.1 Test instances
We consider the 2010 timetable and timetable components which have been used in
Chapter 5. Similarly, we address off-peak services for passenger trains which cycles
every 30 minutes. For General characteristics of the test instances for the train
routing problem such as the number of jobs and machines, the reader is referred
to Section 3.4. We study the impact of different types of route blockages on single
and multiple track segments and disturbances namely minor, general and major
disruption. This classification of disruptions is based on SDP, a document for
handling disruptions (See Subsection 5.4.1 for more details about SDP document
and different types of disruptions) provided by the major train operator in the
the Kent area. In summary, delays less than 15 minutes correspond to a minor
disruption. When delay is between 15 and 30, we have a general disruption and
delays more than 30 minutes are categorized as a major disruption.
We have clear measures for the length of delay for each category of disruption, but
the number of disrupted trains are not clearly stated in SDP. We try to introduce
reasonable ranges with regard to the definition of each disruption category as it is
discussed earlier in Subsection 5.4.1. We generate minor disruption by delaying 1
to 5 trains, general disruption by perturbing 6 to 12 trains, and major disruption
by disrupting 13 to 27 trains.
We generate 4 data sets randomly for various scenarios of disruption: blocked
routes on a single track section, blocked routes on multiple track sections, longer
running/dwell times on tracks sections, late departures of the trains from their
origins. Generated instances in each data set differ from each other in terms of
number of blocked tracks, set of disrupted tracks, set of delayed trains and amount
of delay. Computational experiments compare the total delay of the schedules
arising from FCFS, RSB-ATC and RSB-ATC-ReOpt algorithms.
First set of data in Table 6.1 represent blocked routes on a single track section
where different number of tracks are blocked on a single track segment so the
166 Chapter 6 Train routing and disruption management
number of disrupted track segments in all instances is equal to 1. Number of
blocked segments in a track segment is chosen from the set {1, 2, 3, 4}. This number
clearly depends on how many parallel tracks exist on a particular track segment.
Number of parallel tracks on a track segment is 2,3 or 5; That is, in the partial
network of our case study, we have track segments which have 2, 3 or 5 parallel
tracks.
When a track segment is chosen to have blocked tracks, one should be careful not
to block all tracks of the track segment as the problem is not valid anymore. For
example, when the number of parallel tracks is equal to 2, only 1 track can be
blocked. The percentage of unavailable tracks is a relative measure of number of
blocked tracks to the total number of tracks. Hence, by blocking 1 track on a track
segment with 2 parallel tracks, %50 of the tracks are unavailable. In summary,
instances are generated by differing the track segments and number of blocked
tracks and last two columns only show the characteristics of blockages. Totally,
19 instances are generated in this set.
Table 6.1: Blocked tracks on a single track section
# of Disrupted # of Blocked # of Parallel % of Unavailable
Track Segment(s) Track(s) Tracks Tracks
1 1 2 50
1 1,2 3 33,67
1 1,2,3,4 5 20,40,60,80
Table 6.2 describes the second set of experiments for blocked routes on multi-
ple track sections and the number of disrupted track segments is selected from
{2, 3, 4, 5}. We combine different track segments with different number of parallel
tracks, hence the number of blocked tracks can be a value in {2, 3, 4, 5, 6, 7, 8}.Last two columns of the table only show the characteristics of the blockages. For
example, blockages are tried on track segments with different number of parallel
tracks which is 2,3 or 5 and it create different percentages of unavailable tracks
which is given in the last column of the table. In total, 16 instances are generated.
Instances generated for longer running/dwell times are shown in Table 6.3. In-
stances are generated across different types of disruptions; minor, general and
major disruptions. Totally 6 instances are in each category of disruption by dif-
fering block delays in a range which is relevant to a particular disruption. For
Chapter 6 Train routing and disruption management 167
Table 6.2: Blocked tarcks on multiple track sections
# of Disrupted # of Blocked # of Parallel % of Unavailable
Track Segment(s) Track(s) Tracks Tracks
2 2,3,4,5 2,3,5 20,40,60,80
3 3,4,5,6 2,3,5 20,40,60,80
4 4,5,6,7 2,3,5 20,40,60,80
5 5,6,7,8 2,3,5 20,40,60,80
example, block delay is chosen from {5, 10, 15} for a certain number of trains se-
lected from {3, 5}. Number of blocks in the last second column indicates how
many blocks are delayed in each instance. For example, 1 or 2 blocks are delayed
in instances for minor disruption.
Table 6.3: Longer running/dwell times
Disruption # of Block # of # of
Type Instances Delay Block(s) Trains
Minor 6 5,10,15 1,2 3,5
General 6 20,25,30 2,3 9,12
Major 6 40,50,60 4,6 18,23
Table 6.4 defines instances for late departure for only minor and general disruption.
In minor disruption category, there are 9 instances with departure delay chosen
from {5, 10, 15} on a particular number of trains selected from {1, 3, 5}. 6 instances
are generated with departure delay in set {20, 25} which affects a certain number
trains in set {6, 9, 12}. As we have discussed earlier in Subsection 5.4.1, a train
which is affected by a delay of more than 25 minutes is shifted outside the cycle
and it is not an interesting instance as it has little conflict with the other trains.
Table 6.4: Late departures
Disruption # of Departure # of
Type Instances Delay Trains
Minor 9 5,10,15 1,3,5
General 6 20,25 6,9,12
In Subsection 6.4.2, we compare the solution quality of RSB-ATC and RSB-ATC-
ReOpt algorithms in comparison with FCFS.
168 Chapter 6 Train routing and disruption management
6.4.2 Analysis and comparison of the methods
Tables 6.5, 6.6, 6.7 and 6.8 summarize the performance of the routes and schedules
obtained from RSB-ATC and RSB-ATC-ReOpt algorithms for each data set de-
scribed in Subsection 6.4.1. The first column in each table represents the solution
methods. The performance of solution methods for all instances are shown in the
second and third columns.
Not all instances have a feasible solution as either the FCFS algorithm or SB
algorithms result in deadlock and therefore infeasible solutions. Such instances
are taken out of the performance calculations. Tables 6.5, 6.6, 6.7 report on the
results obtained for all instances excluding unsolved instances in the fourth and
fifth columns. Table 6.8 does not include these columns as data set 6.4 has no
infeasible result.
The results of both all instances and all instances excluding unsolved instances
across all Tables 6.5, 6.6, 6.7 and 6.8 list the average delay in minutes. Average
Relative Delay (RD) is also calculated with respect to FCFS across all instances for
each solution method. Average RD is calculated for all instances and all instances
excluding unsolved instances as below
RD =FCFS solution− algorithm solution
FCFS solution× 100 (6.48)
where the algorithm solution is the result of the RSB-ATC and RSB-ATC-ReOpt
algorithms. Recall the definitions for average delay in formula 5.37 and RD in
formula 5.38 in Subsection 5.4.2.
The last two columns in all Tables 6.5, 6.6, 6.7 and 6.8 refer to the average runtime
of each solution method in seconds and the percentage of feasible solutions of each
solution method respectively. It should be noted that the runtime of the RSB-
ATC and RSB-ATC-ReOpt algorithms are very short (about 8 seconds). In terms
of reliability of the algorithm to find feasible solutions, RSB-ATC has the best
performance with 100% feasible solutions. FCFS has a poor outcome regarding
feasibility with 100% feasible solutions only for late departure instance in Table 6.8.
RSB-ATC-ReOpt algorithms performs close to RSB-ATC in terms of feasibility of
the solution and feasibility drops to 95% only in Table 6.5.
Chapter 6 Train routing and disruption management 169
All four tables show an improvement in the average total delay of RSB-ATC
algorithm relative to FCFS in average RD calculations for all instances and all
instances excluding unsolved instances. It conforms to what we expected, as FCFS
algorithm does not have any mechanism to reduce the total delay. Given the results
for RSB-ATC-ReOpt, there is usually no improvement in the suggested route and
schedule. RSB-ATC-ReOpt has better results in comparison to FCFS only in
instances for blocked routes on a single track section which is shown in Table 6.5.
The re-optimization process worked very well for scheduling in Chapter 5 and SB-
ATC-ReOpt have had the best performance among the suggested SB algorithms.
However, it seems that re-optimization cannot provide good solutions for routing
and scheduling in this chapter as the sequence suggested by RSB-ATC has already
a high quality and re-sequencing generally has a diminishing effect.
RSB-ATC algorithm has the minimum average delay almost in all cases for all
instances and all instances excluding unsolved instances across all tables. However,
there are two exceptions in Tables 6.6 and 6.7 where average delay for all instances
are minimum for FCFS algorithm. It is due to the fact that FCFS can only find
feasible solutions in 76% and 74% of the cases.
Tables B.1 and B.2 in Appendix B represent the complete results for blocked
routes on a single track section. They clearly show which track sections are more
important when they are blocked. Individual results also show the level of blockage
for each track segment that the delay becomes more significant. The critical track
segments can be listed as 8, 9 and 10 which are shown in Figure 3.4. The track
segments 1 and 7 have 5 parallel tracks and they are critical in terms of amount
of delay when 4 out of 5 tracks are blocked.
An interesting observation is about track segment 9 which is the track segment
including London Bridge and it has 3 parallel tracks in total. Any blockage on
this track segment, whether it is only one or two tracks, results in high delays
relative to the other blocks. It is the only case that FCFS results in deadlock
for blocked routes on a single track section. It is very well in line with the Route
Plans 2012 by NetworkRail (2010) which states that services operate near capacity
in London Bridge. Therefore any blocked route results in big total delays in the
170 Chapter 6 Train routing and disruption management
network. A summary of experiments of the individual instances experiments is
given in Table 6.5.
Table 6.5: Blocked tracks on a single track section
All InstancesExcluding the Avg % of
Solution Unsolved Instances Runtime Feasible
Method Avg Delay Avg RD wrt Avg Delay Avg RD wrt (secs) Solutions
per Train FCFS per Train FCFS
FCFS 0.36 - 0.36 - 0.06 95
RSB-ATC 0.25 66.97% 0.19 66.97% 7.19 100
RSB-ATC-ReOpt 0.51 17.05% 0.41 17.05% 7.51 100
According to complete results in Tables B.3 and B.4 in Appendix B, the results
of multiple blocked tracks conform to the result of single blocked tracks in terms
of criticality of some track segments. In general, blockage of important track
segments can cause bigger delays and sometimes deadlocks arising by FCFS. In
other words, which track section is blocked has greater impact on delay compared
to how many tracks are blocked. Table 6.6 shows a summary of blocked routes on
multiple track sections results.
Table 6.6: Blocked tracks on multiple track sections
All InstancesExcluding the Avg % of
Solution Unsolved Instances Runtime Feasible
Method Avg Delay Avg RD wrt Avg Delay Avg RD wrt (secs) Solutions
per Train FCFS per Train FCFS
FCFS 0.55 - 0.55 - 0.01 76
RSB-ATC 0.58 32.41% 0.44 32.41% 7.16 100
RSB-ATC-ReOpt 1.12 −17.38% 0.73 −17.38% 8.19 100
Tables B.5 and B.6 in Appendix B represent complete results for longer run-
ning/dwell times which are created for 3 types of disruptions. It seems that FCFS
performs better in smaller delays as sometime it gives even better results compared
to RSB-ATC and RSB-ATC-ReOpt in minor disruption instances. When delay
becomes bigger, FCFS runs into infeasibility and deadlock more often. It can be
clearly seen that RD of RSB-ATC algorithm with respect to FCFS becomes bigger
which indicates RSB-ATC has more computational advantages in bigger disrup-
tions. RSB-ATC outperforms FCFS not only in terms of quality of the solution,
but also in terms of number of feasible solutions. Table 6.7 summarizes the results
of the instances with longer running/dwell times.
Chapter 6 Train routing and disruption management 171
Table 6.7: Longer running/dwell times
All InstancesExcluding the Avg % of
Solution Unsolved Instances Runtime Feasible
Method Avg Delay Avg RD wrt Avg Delay Avg RD wrt (secs) Solutions
per Train FCFS per Train FCFS
FCFS 27.29 - 27.29 - 0.01 74
RSB-ATC 41.88 3.39% 26.07 3.39% 7.21 100
RSB-ATC-ReOpt 37.78 −28.09% 28.69 −28.09% 9.90 95
Tables B.7 and B.8 in Appendix B provide the complete results for late departure
instances where we have minor and general disruptions. The results show RD
values of RSB-ReOpt with respect to FCFS are bigger when train departure is
less delayed which is compatible with what we expected. When a train departure
is delayed more it shares less amount of the cycle time with the other train during
its journey on the partial network. Thus, it is less probable for it to have conflicts
with the other trains. Hence, a bigger departure can result in an easier instance.
Consequently, no instance is generated for delayed departure of more than 25
minutes. As the train is moved out of the cycle. Table 6.8 is a summary of the
results of the late departures.
Table 6.8: Late departures
Solution All Instances Avg % of
Method Avg Delay Avg RD wrt Runtime Feasible
per Train FCFS (secs) Solutions
FCFS 4.23 - 0.01 100
RSB-ATC 4.03 17.00% 7.19 100
RSB-ATC-ReOpt 5.64 −9.45% 8.36 100
Another set of statistics are summarized for FCFS and RSB-ATC algorithms in
Table 6.9 for late departure instances described in Table 6.4. The results of average
delay and average relative delay with respect to total delay is separately calculated
for late trains and on-time trains. The results arising from RSB-ATC clearly show
that more delays occur for late train compared to on-time train. Whereas, FCFS
spreads the delay more to on-time trains. The results are compatible with the
intended objective of the algorithm as RSB-ATC is developed to minimize total
delay in order to minimize delay propagation in the network. Complete results of
this test is given in Table B.9 in Appendix B.
172 Chapter 6 Train routing and disruption management
Table 6.9: Late and On-time Trains
FCFS RSB-ATC
Late On-time Late On-time
Trains Trains Trains Trains
Avg Delay per Train 3.40 0.25 3.32 0.12
Avg Relative Delay 77.45% 22.61% 85.78% 14.22%
In order to test the quality of the suggested routes by RSB-ATC, we input the
route plan arising from RSB-ATC into scheduling algorithm SB-ATC-ReOpt which
is shown in Section 5.4.2 to have the best performance among SB algorithms
proposed for train scheduling problem. The instance considered for this test is the
original train timetable for 27 trains and the cycle length of 30 minutes. The total
delay of timetable arising from scheduling algorithm is 48.17 minutes which can be
reduced to 41.17 minutes by employing the suggested route by routing algorithm.
In general, RSB-ATC outperforms FCFS and RSB-ATC-ReOpt in terms of solu-
tion quality. Moreover, it has a record of %100 feasibility of the solutions across
all instances. Although runtime of the FCFS algorithm is less than 0.1 second,
the results are not superior regarding neither quality nor feasibility. In addition,
RSB-ATC has a very short runtime about 7 seconds which makes it suitable for
implementation in practice. Considering RSB-ATC performance, its viability in
both tactical and operational planning decisions can be ensured.
It should be mentioned that no experiments were carried out for the MILP model
in Subsection 6.2.1. The main limitation is the presence of M in the constraints 6.2
and 6.4 which does not produce a strong formulation. Consequently, this issue re-
sults in long computational time for the MILP solution. Another issue is about
the additional details of the model with regard to parallel machines which can add
to the difficulty of the formulation. The capability of the model is in reducing the
size of the problem which is due to aggregation of the railway network information.
There are less number of the variables and constraints without losing the accu-
racy of the operational data. In addition, special formulation of the MPM-JSS
model helps with developing EXT-SB algorithm for a parallel machine job shop
scheduling problem. This explains why we have smaller computational time and
higher quality of the SB solution for the train routing and scheduling problem in
comparison with the train scheduling problem. Another advantage of the proposed
Chapter 6 Train routing and disruption management 173
MILP model for smaller size instances is that routing and routing decisions are
made simultaneously by solving a parallel machine job shop scheduling problem.
More details for the benefits of the proposed MILP are given in Section 6.2.
6.5 Summary
This chapter addresses train routing and rerouting problem and models the prob-
lem with details about train movements and network topology in a mesoscopic
level. A generic mathematical programming model is suggested to incorporate
main safety and operational constraints with regard to the relevant level of details
for trains and tracks. In addition, an extended disjunctive graph (MPM-JSS) is
represented which modifies the classic disjunctive graph to formulate a parallel ma-
chine job shop scheduling problem with release times to minimize total weighted
tardiness.
Planning in mesoscopic level with MPM-JSS formulation, reduces the number of
variables and constraints and consequently gives us the opportunity to explore
bigger networks. Another special feature of this formulation is that it can com-
bine scheduling and routing decisions. Hence, this formulation has a significant
advantage for integrating different levels of planning process in railway industry.
Employing the MPM-JSS formulation, we propose a novel framework of the SB
algorithm framework for parallel machine job shop scheduling problem with release
times in order to minimize total weighted tardiness. Two variants of the so-called
EXT-SB algorithm are suggested where one version incorporates re-optimization
process (RSB-ATC-ReOpt) and the other one does not include it (RSB-ATC).
Computational experiments are performed for different scenarios of disruption in-
cluding blocked tracks on single and multiple track segments, longer running/dwell
times and late departure of trains from their origin. Different categories of minor,
general and major disruptions are also examined. Instances are generated based
on a case study in London Bridge area. The complexity of the infrastructure and
congestion of the network has been discussed earlier in Section 3.6.
174 Chapter 6 Train routing and disruption management
Our experimental results show a strong performance of the RSB-ATC algorithm.
The average run time of the algorithm is about 7 seconds and the percentage of
feasible solutions is 100% across all instances. Short runtime of the RSB-ATC
algorithm and and its ability to find high quality solutions makes it suitable for
implementation in practice.
Test results also represent that in the route plans and schedules arising from RSB-
ATC algorithm, the delay is focused more on the late trains compared to the
on-time trains. Whereas, FCFS spreads the effect of delay relatively more to on-
time trains. Thus, RSB-ATC algorithm can efficiently prevent delays to propagate
throughout the network. Benefit of the suggested routes by routing algorithm is
also presented through a test on the original timetable. Delay can be significantly
reduced if trains are operated according to the new routes.
Further research can be addressed to integrate our routing algorithm in mesoscopic
level into our scheduling approach in microscopic level. This would allow to im-
prove the quality of the micro schedules with efficient routing. Another direction
is to explore the performance of the routing algorithm in bigger networks. Further
study can incorporate more realistic constraints such as lost connections when a
route is partially blocked in a big rail network. One can also investigate the pos-
sibility of suggesting efficient routes by prioritizing different types of train traffic.
Assigning weights to various operators who share the same part of the network
and its effect on routing decisions can be also of interest.
Chapter 7
Concluding Remarks
Nowadays, there are various ongoing projects and future plans in many countries
to transform the railway transportation. Because it is one of the major transport
systems for both passenger and freight and there are huge opportunities to unlock
capacity of the existing railway system for improving customer satisfaction and
reducing cost. One of the major challenges for the industry is optimizing system
performance through decision making tools which work based on functions and
algorithms in order to optimize railway operation and control. Operational re-
search and in particular scheduling and routing has significant potential to offer
algorithmic solution approaches to improve railway operation and control.
7.1 Conclusion
This thesis focuses on providing models and algorithms for train scheduling and
routing problems. The aim is to design algorithms to obtain good solutions in
a reasonable amount of time so that they can be implemented in practice. The
suggested models and algorithms for train scheduling are presented in Chapter 5.
Chapter 6 offers models and algorithms for train routing problem.
We introduce generic models and several algorithms for train scheduling and dis-
ruption management in a microscopic level including detailed information about
175
176 Chapter 7 Concluding Remarks
train movements and topology of the network. We aim to address the train schedul-
ing and rescheduling in order to minimize delay propagation in the tactical and
operational levels, respectively.
Train scheduling and rescheduling is modeled as a modified job shop schedul-
ing problem with additional operational and safety constraints to minimize total
weighted tardiness. A MILP model and a modified disjunctive graph are repre-
sented to formulate the modified job shop problem. The novelty of the suggested
models are firstly in their ability to formulate special operational and safety rules
and in particular signaling system of the UK rail network and secondly in their
flexibility to model the other railway networks.
A mathematical programming approach, a simple heuristic and several variants of
a modified Shifting Bottleneck heuristic are proposed for solving train scheduling
and rescheduling problems. The mathematical programming approach is imple-
mented with a commercial optimization package. The developed heuristic has a
mechanism to avoid infeasibility of the solution as simply finding a feasible solu-
tion is nontrivial and dispatching rules such as FCFS result in infeasible solutions
and consequently deadlock in the rail network.
Modified Shifting Bottleneck heuristic is an approach which decomposes job shop
problems into single machine subproblems in order to solve them. Hence, the qual-
ity of the algorithm depends on the subproblem solutions. Classic SB is modified
to solve subproblems by minimizing total weighted tardiness in a single machine
problem with release times. Special modifications are required to avoid infeasibil-
ity in the solution method.
Computational experiments are performed on a case study of a complicated and
congested partial network in Kent area. A timetable of 27 trains is considered
which cycles every 30 minutes. Several scenarios of disruptions in terms of late
departure of trains from their origin, extended running/dwell times of trains are
assessed in three categories of minor, general and major disruptions. Results
show that the mathematical programming approach and SB algorithm variants
outperform the simple heuristic in terms of solution quality and runtime.
Chapter 7 Concluding Remarks 177
In addition, the mathematical programming approach is quite effective for smaller
delays categorized as minor and general disruptions. However, when delays be-
come bigger, the ability of the mathematical program and the simple heuristic
diminishes in terms of feasibility and quality of the solution. The so-called SB-
ATC-ReOpt algorithm, a particular version of the SB algorithms which considers
ATC index and re-optimization step, provides significant improvements relative
to the mathematical programming approach and the EA heuristic when trains are
severely delayed. With 100% feasible solutions across all instances for different
disruption scenarios, this variant of the SB algorithm seems to be highly reliable
with regard to avoiding infeasibility and therefore avoiding deadlock in the rail
network.
It should be noted that both the mathematical programming approach and SB
algorithms have runtimes about 400 seconds which is within the operators time
limit for incident/service update. Thus, both approaches can be implemented in
rail operations when strict real-time limits apply.
In the second part of the research, the train routing problem and disruption man-
agement are studied. We investigate the impact of alternative routes for mini-
mizing delay propagation in the network in a mesoscopic level of detail for trains
movements and track topology. This thesis addresses the train routing problem in
the tactical level to suggest routes in advance or in the operational level to reroute
trains in response to a disruption.
The train routing and rerouting problem is formulated as a modified parallel ma-
chine job shop scheduling problem. A MILP model and a modified disjunctive
graph represent the modified parallel machine job shop problem. Although mod-
els can formulate the UK railway specifications, they are quite generic and can be
adapted to the other railway networks. A special characteristic of these models
is that train routing decisions include order and timing of the trains. Thus, train
routing and scheduling are integrated which is an interesting feature for railway
industry.
Two variants of a modified SB algorithm are proposed and their performance is
examined relative to a FCFS algorithm. Computational experiments report on
the same case study in Kent area with a timetable with 27 trains and cycle length
178 Chapter 7 Concluding Remarks
of 30 minutes. We examine the proposed solution methods for different types
of disruption including blocked tracks on single and multiple tracks segments,
extended running/dwell time and delayed departure.
Test results show substantial improvements of the route and schedules obtained by
RSB-ATC, one of the SB algorithm variants. With a runtime of about 7 seconds
and 100% feasible solutions found across all instances, this SB algorithm variant
seems to be viable for practical use. Because it performs much better than the
other SB algorithm and FCFS both in terms of solution quality and possibility of
obtaining feasible solutions.
Moreover, the superior SB algorithm is shown to minimize delay propagation in
a test for comparing relative delay of late and on-time trains. Benefits of routing
with this algorithm is also tested by solving the scheduling algorithm, suggested in
the first part of this thesis, for the original timetable with suggested new routes.
7.2 Extensions and future work
In this thesis, we have studied train scheduling and routing problems. Both prob-
lems are applicable in tactical and operational level planning. In order to model
train scheduling and routing problems, we make use of the job shop scheduling
formulation with additional operational and safety constraints.
Various algorithms based on the Shifting Bottleneck procedure, which is a well-
known heuristic for job shop problems, are developed in order to minimize delay
propagation in the rail network. Various SB algorithms have been developed to
provide optimal or near-optimal solutions in a very short time. Experimental tests
show promising results for solving these problems both in terms of solution quality
and run-time. The chance of running into infeasibility appears to be low based on
the experiments.
There are special features in the current research on train scheduling and train
routing and scheduling problems which can be addressed in the future in depth.
Problems studied in this thesis can be extended in terms of theoretical aspects of
the study as mentioned in the following.
Chapter 7 Concluding Remarks 179
� The structural properties of the two problems can be explored. For instance,
special features of the routes in the associated job shop problems can be
addressed as there are some jobs with the same route as there are usually
many following trains running on same tracks. There are also routes that
the machine order of one job corresponds to a reverse machine order for the
other one. This is the case when we have opposite trains which share the
same tracks of the railway network partially or completely in their routes.
� The issue of equal processing times or almost equal processing times of the
jobs can be considered. This is due to the fact that trains have equal running
times on the same tracks when they all run according to the timetable. When
a disruption happens, the running time of the train differs from the other
trains running on the same disrupted tracks.
� The redundancy of the alternative arcs or disjunctive arcs can be incorpo-
rated in the the solution method. In our case study, the headway is nearly
four times larger than the running times. So the disjunctive arcs which
are associated with headway are redundant for the following trains when a
disruption happens. Moreover, alternative arcs which are corresponding to
the signaling system of the railway network are redundant for the following
trains when there is no disruption.
� The theoretical aspects of the two formulated extended job shop scheduling
problems can lead to development of better algorithms.
� A simple heuristic can be developed to ensure deadlock does not happen
as it is not trivial to find feasible solutions for both scheduling and routing
problems. This simple heuristic can be helpful for the comparison with the
SB algorithms as the current suggested FCFS algorithms suggested for both
problems do not always obtain feasible solutions.
With regard to practical aspects of the research, we suggest some directions to
address future work based on this thesis as below.
180 Chapter 7 Concluding Remarks
� Integration of scheduling problem in microscopic level with routing and
scheduling in mesoscopic level can be studied. Developing a laboratory de-
cision making system to incorporate these algorithms as its main optimizing
components can provide interesting pilot tools for rail industry.
� Further improvements in solution time and quality can be investigated by
embedding more efficient heuristics in the current SB framework.
� Further enhancements of the two extended job shop problems in order to
reflect the railway context can be addressed. Introducing more realistic fea-
tures to both scheduling and routing problems can be considered. Some
suggestions are listed as introducing mixed traffic of passengers and train
with various priorities for services, considering lost train connections as an
undesirable factor in planning, and incorporating train length as an impor-
tant restriction to schedule and route trains into some platforms.
� Applying proposed algorithms on the other rail networks can provide a com-
parative assessment of performance of the algorithms which is quite rare in
the literature mainly due to confidentiality issues.
182 Appendix A Train Scheduling and Rescheduling: Experimental Results
TableA.1:
Lon
gerR
un
nin
g/Dw
ellT
ime
-m
inor
and
general
dis-
rup
tion:
Delay
and
Average
Delay
Blo
ck#
of#
ofIn
stance
Xp
ressE
AH
euristic
SB
-AT
CS
B-A
TC
-ReO
pt-R
ejS
B-A
TC
-ReO
pt
SB
-AS
G-R
eOp
t
Delay
LR
Avg
Delay
Statu
sD
elayA
vg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Blo
ck(s)
Train
(s)p
erT
rainp
erT
rainp
erT
rainp
erT
rainp
erT
rainp
erT
rain
Tim
etable
T01
47.0
00.00
1.74-
55.672.06
51.171.90
48.171.78
48.171.78
48.171.78
51
3P
0194.5
013.00
3.50-
181.676.73
111.504.13
108.504.02
108.504.02
151.835.62
25
P02
126.6
722.00
4.69O
ptim
al270.00
10.00249.50
9.24234.67
8.69223.83
8.29278.00
10.30
101
3P
03155.1
724.50
5.75O
ptim
al328.50
12.17208.00
7.70208.00
7.70208.00
7.70248.33
9.20
25
P04
286.3
347.50
10.60-
624.0023.11
328.3312.16
315.1711.67
315.1711.67
Dead
lock
NA
151
3P
05246.8
342.50
9.14-
410.3315.20
252.009.33
249.009.22
249.009.22
282.8310.48
25
P06
307.3
368.00
11.38O
ptim
al810.67
30.02343.67
12.37341.33
12.64343.67
12.73370.00
13.70
201
9P
071032.0
0170.50
38.22-
2153.0079.74
1722.1763.78
1508.0055.85
117.6743.51
Dead
lock
NA
212
P08
989.8
3230.50
36.66-
1357.7550.29
1057.3339.16
1030.0838.15
1031.5838.21
1136.0042.07
251
9P
091283.8
3214.00
47.55-
Dead
lock
NA
1814.5067.20
1711.3363.38
1711.3363.38
1796.8366.55
212
P10
1793.1
7286.50
66.41-
Dead
lock
NA
1942.0071.93
1942.0071.93
1947.3372.12
11800.8366.70
301
9P
111019.5
0203.50
37.76-
Dead
lock
NA
1384.5051.28
1023.5037.91
1023.5037.91
Dead
lock
NA
212
P12
2337.1
7354.50
86.56-
2860.33105.94
2395.9288.74
Dead
lock
NA
2376.4288.02
2395.7588.73
Avg
Delay
All
Instan
ces747.64
905.19912.35
726.6
5827.78
850.86
All
Instan
cesE
xcl.
Un
solvedIn
stances
281.0
5487.80
324.74317.11
316.11359.31
Avg
Delay
All
Instan
ces27.69
33.5233.79
26.9
130.66
31.51
per
Train
All
Instan
cesE
xcl.
Un
solvedIn
stances
10.4
118.07
12.0311.74
11.7113.31
Avg
Ru
ntim
e(secs)
4002352
349
402411
416
Appendix A Train Scheduling and Rescheduling: Experimental Results 183
TableA.2:
Lon
ger
Ru
nn
ing/
Dw
ell
Tim
e-
min
oran
dge
ner
aldis
-ru
pti
on:
Ave
rage
RD
wrt
EA
Heu
rist
ic
Blo
ck#
of#
ofIn
stan
ceE
AH
euri
stic
Xp
ress
SB
-AT
CS
B-A
TC
-ReO
pt-
Rej
SB
-AT
C-R
eOp
tS
B-A
SG
-ReO
pt
Del
ayB
lock
(s)
Tra
in(s
)D
elay
Del
ayR
DD
elay
RD
Del
ayR
DD
elay
RD
Del
ayR
D
Tim
etab
leT
0155
.67
47.0
015.5
7%
51.1
78.
08%
48.1
713
.47%
48.1
713
.47%
48.1
713
.47%
51
3P
0118
1.67
94.5
047.9
8%
111.
5038
.62%
108.
5040
.28%
108.
5040
.28%
151.
8316
.42%
25
P02
270.
0012
6.67
53.0
9%
249.
507.
59%
234.
6713
.09%
223.
8317
.10%
278.
00-2
.96%
101
3P
0332
8.50
155.
1752.7
6%
208.
0036
.68%
208.
0036
.68%
208.
0036
.68%
248.
3324
.40%
25
P04
624.
0028
6.33
54.1
1%
328.
3347
.38%
315.
1749
.49%
315.
1749
.49%
Dea
dlo
ckN
A
151
3P
0541
0.33
246.
8339.8
5%
252.
0038
.59%
249.
0039
.32%
249.
0039
.32%
282.
8331
.07%
25
P06
810.
6730
7.33
62.0
9%
343.
6757
.61%
341.
3357
.89%
343.
6757
.61%
370.
0054
.36%
201
9P
0721
53.0
010
32.0
052.0
7%
1722
.17
20.0
1%15
08.0
029
.96%
1174
.67
45.4
4%D
ead
lock
NA
212
P08
135.
7598
9.83
27.1
0%
1057
.33
22.1
3%10
30.0
824
.13%
1031
.58
24.0
2%11
36.0
016
.33%
251
9P
09D
ead
lock
1283
.83
NA
1814
.50
NA
1711
.33
NA
1711
.33
NA
1796
.83
NA
212
P10
Dea
dlo
ck17
93.1
7N
A19
42.0
0N
A19
42.0
0N
A19
47.3
3N
A18
00.8
3N
A
301
9P
11D
ead
lock
1019
.50
NA
1384
.50
NA
1023
.50
NA
1023
.50
NA
Dea
dlo
ckN
A
212
P12
2860
.33
2337
.17
18.2
9%
2395
.92
16.2
4%D
ead
lock
NA
2376
.42
16.9
2%23
95.7
516
.24%
Avg
Dev
iati
onA
llIn
stan
ces
42.2
9%
29.2
9%33
.81%
34.0
3%21
.17%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
42.6
3%
29.9
0%32
.12%
32.6
4%21
.87%
184 Appendix A Train Scheduling and Rescheduling: Experimental Results
TableA.3:
Lon
gerR
un
nin
g/Dw
ellT
ime
-m
inor
and
general
dis-
rup
tion:
Average
RD
wrt
Xpress
Blo
ck#
of#
ofIn
stance
Xp
ressE
AH
euristic
SB
-AT
CS
B-A
TC
-ReO
pt-R
ejS
B-A
TC
-ReO
pt
SB
-AS
G-R
eOp
t
Delay
Blo
ck(s)
Train
(s)D
elayD
elayR
DD
elayR
DD
elayR
DD
elayR
DD
elayR
D
Tim
etable
T01
47.0055.67
-18.44%51.17
−8.87%
48.17−
2.4
8%
48.17−
2.4
8%
48.17−
2.4
8%
51
3P
0194.50
181.67−
92.24%111.50
−17.99%
108.50−
14.8
1%
151.83−
14.8
1%
151.83−
60.67%
25
P02
126.67270.00
−113.16%
249.50−
96.97%234.67
−85.26%
223.83−
76.7
1%
278.00−
119.47%
101
3P
03155.17
328.50−
111.17%208.00
−34.0
5%
208.00−
34.0
5%
208.00−
34.0
5%
248.33−
60.04%
25
P04
286.33624.00
−117.93%
328.33−
14.67%315.17
−10.0
7%
315.17−
10.0
7%
Dead
lock
NA
151
3P
05246.83
410.33−
66.24%252.00
−2.09%
249.00−
0.8
8%
249.00−
0.8
8%
282.83−
14.58%
25
P06
307.33810.67
−163.77%
343.67−
11.82%341.33
−11.0
6%
343.67−
11.82%370.00
−20.39%
201
9P
071032.00
2153.00−
108.62%1722.17
−66.88%
1508.00−
46.12%1174.67
−13.8
2%
Dead
lock
NA
212
P08
989.831357.75
−37.17%
1057.33−
6.82%1030.08
−4.0
7%
1031.58−
4.22%1136.00
−14.77%
251
9P
091283.83
Dead
lock
NA
1814.50−
41.33%1711.33
−33.3
0%
1711.33−
33.3
0%
1796.83−
39.96%
212
P10
1793.17D
eadlo
ckN
A1942.00
−8.30%
1942.00−
8.30%1947.33
−8.60%
1800.83−
0.4
3%
301
9P
111019.50
Dead
lock
NA
1384.50−
35.80%1023.50
−0.3
9%
1023.50−
0.3
9%
Dead
lock
NA
212
P12
2337.172860.33
−22.38%
2395.92−
2.51%D
eadlo
ckN
A2376.42
−1.6
8%
2395.75−
2.51%
Avg
Dev
iationA
llIn
stances
−85.17%
−26.78%
−20.90%
−16.3
7%
−33.53%
Instan
cesE
xcl.
Un
solvedSoln
’s−
86.10%−
25.52%−
21.80%−
20.7
0%
−41.77%
Appendix A Train Scheduling and Rescheduling: Experimental Results 185
TableA.4:
Lat
eD
epar
ture
-m
inor
and
gen
eral
dis
rup
tion
:D
elay
and
Ave
rage
Del
ay
Lat
e#
ofIn
stan
ce
Xp
ress
EA
Heu
rist
icS
B-A
TC
SB
-AT
C-R
eOp
t-R
ejS
B-A
TC
-ReO
pt
SB
-AS
G-R
eOp
t
Del
ayL
RA
vg
Del
ayS
tatu
sD
elay
Avg
Del
ayD
elay
Avg
Del
ayD
elay
Avg
Del
ayD
elay
Avg
Del
ayD
elay
Avg
Del
ay
Dep
artu
reT
rain
(s)
per
Tra
inp
erT
rain
per
Tra
inp
erT
rain
per
Tra
inp
erT
rain
Tim
etab
leT
0147.0
00.
001.
74-
55.6
72.
0651
.17
1.90
48.1
71.
7848
.17
1.78
48.1
71.
78
5
1R
0166.3
35.
002.
46-
92.3
33.
4272
.00
2.67
75.8
32.
8175
.83
2.81
72.3
32.
68
3R
0260.1
713
.00
2.23
-84
.50
3.13
75.5
02.
8072
.50
2.69
70.6
72.
6267
.17
2.49
5R
0373.6
718
.00
2.73
-10
7.33
3.98
91.8
33.
4080
.33
2.98
80.3
32.
9889
.50
3.31
10
1R
0470.6
710
.00
2.62
-85
.00
3.15
97.0
03.
5994
.00
3.48
94.0
03.
4885
.17
3.15
3R
0582.1
726
.00
3.04
Op
tim
al91
.50
3.39
90.0
03.
3384
.83
3.14
84.8
33.
1485
.83
3.18
5R
06141.8
344
.50
5.25
-18
1.17
6.71
165.
676.
1414
6.00
5.41
146.
005.
4114
3.17
5.30
15
1R
0767.6
715
.00
2.51
-99
.83
3.70
77.3
32.
8674
.67
2.77
70.1
72.
6074
.17
2.75
3R
08123.0
039
.50
4.56
-13
9.50
5.17
140.
175.
1912
9.17
4.78
129.
004.
7813
0.83
4.85
5R
09171.3
369
.50
6.35
-17
3.50
6.43
182.
506.
7618
4.50
6.83
189.
337.
0118
9.33
7.01
20
6R
10182.3
311
5.00
6.75
-23
0.00
8.52
211.
837.
8519
2.50
7.13
184.
836.
8521
2.17
7.86
9R
11240.5
017
1.50
8.91
-28
6.67
10.6
226
5.17
9.82
252.
339.
3525
2.33
9.35
272.
0010
.07
12R
12347.3
322
9.00
12.8
6-
381.
8314
.14
365.
0013
.52
348.
8312
.92
353.
1713
.08
364.
6713
.51
25
6R
13230.6
714
3.50
8.54
-27
0.83
10.0
325
3.67
9.40
254.
679.
1024
0.33
8.90
252.
679.
36
9R
14275.6
721
5.50
10.2
1-
310.
8311
.51
303.
8311
.25
287.
1710
.64
298.
5011
.06
295.
5010
.94
12R
15379.3
328
7.50
14.0
5-
434.
0016
.07
420.
1715
.56
397.
0014
.70
397.
0014
.70
393.
5014
.57
Avg
Del
ayA
llIn
stan
ces
159.9
818
9.03
178.
9316
9.59
169.
6617
3.51
All
Inst
ance
sE
xcl
.U
nso
lved
Inst
ance
s159.9
818
9.03
178.
9316
9.59
169.
6617
3.51
Avg
Del
ayA
llIn
stan
ces
5.9
27.
006.
636.
286.
286.
43
per
Tra
inA
llIn
stan
ces
Excl
.U
nso
lved
Inst
ance
s5.9
27.
006.
636.
286.
286.
43
Avg
Ru
nti
me
(sec
s)40
024
42346
409
410
402
186 Appendix A Train Scheduling and Rescheduling: Experimental Results
TableA.5:
Late
Dep
arture
-m
inor
and
general
disru
ption
:A
ver-age
RD
wrt
EA
Heu
ristic
Late
#of
Instan
ceE
AH
euristic
Xp
ressS
B-A
TC
SB
-AT
C-R
eOp
t-Rej
SB
-AT
C-R
eOp
tS
B-A
SG
-ReO
pt
Dep
arture
Train
(s)D
elayD
elayR
DD
elayR
DD
elayR
DD
elayR
DD
elayR
D
Tim
etable
T01
55.6747.00
15.5
7%
51.178.08%
48.1713.47%
48.1713.47%
48.1713.47%
5
1R
0192.33
66.3328.1
6%
72.0022.02%
75.8317.87%
75.8317.87%
72.3321.66%
2R
0284.50
60.1728.8
0%
75.5010.65%
72.5014.20%
70.6716.37%
67.1720.51%
5R
03107.33
73.6731.3
7%
91.8314.44%
80.3325.16%
80.3325.16%
89.5016.61%
10
1R
0485.00
70.6716.8
6%
97.00−
14.12%94.00
−10.59%
94.00−
10.59%85.17
−0.20%
2R
0591.50
82.1710.2
0%
90.001.64%
84.837.29%
84.837.29%
85.836.19%
5R
06181.17
141.8321.7
1%
165.678.56%
146.0019.41%
146.0019.41%
143.1720.98%
15
1R
0799.83
67.6732.2
2%
77.3322.54%
74.6725.21%
70.1729.72%
74.1725.71%
2R
08139.50
123.0011.8
3%
140.17−
0.48%129.17
7.41%129.00
7.53%130.83
6.21%
5R
09173.50
171.331.2
5%
182.50−
5.19%184.50
−6.34%
189.33−
9.13%189.33
−9.13%
20
6R
10230.00
182.2320.2
7%
211.837.90%
192.5016.30%
184.8319.64%
212.177.75%
9R
11286.67
240.5016.1
0%
265.177.50%
252.3311.98%
252.3311.98%
272.005.12%
12R
12381.83
347.339.0
4%
365.004.41%
348.838.64%
353.177.51%
364.674.50%
25
6R
13270.83
230.6714.8
3%
253.676.34%
245.679.29%
240.3311.26%
252.676.71%
9R
14310.83
275.6711.3
1%
303.832.25%
287.177.61%
298.503.97%
295.504.93%
12R
15434.00
379.3312.6
0%
420.173.19%
397.008.53%
397.008.53%
393.509.33%
Avg
Dev
iationA
llIn
stances
17.6
6%
6.23%10.96%
11.25%10.02%
Instan
cesE
xcl.
Un
solvedS
oln’s
17.6
6%
6.23%10.96%
11.25%10.02%
Appendix A Train Scheduling and Rescheduling: Experimental Results 187
TableA.6:
Lat
eD
epar
ture
-m
inor
and
gen
eral
dis
rup
tion
:A
ver-
age
RD
wrt
Xp
ress
Lat
e#
ofIn
stan
ceX
pre
ssE
AH
euri
stic
SB
-AT
CS
B-A
TC
-ReO
pt-
Rej
SB
-AT
C-R
eOp
tS
B-A
SG
-ReO
pt
Dep
artu
reT
rain
(s)
Del
ayD
elay
RD
Del
ayR
DD
elay
RD
Del
ayR
DD
elay
RD
Tim
etab
leT
0147
.00
55.6
7-1
8.44
%51
.17−
8.87
%48
.17
−2.4
8%
48.1
7−
2.4
8%
48.1
7−
2.4
8%
5
1R
0166
.33
92.3
3−
39.2
0%72
.00−
8.5
4%
75.8
3−
14.3
2%75
.83−
14.3
2%72
.33
−9.
05%
3R
0260
.17
84.5
0−
40.4
4%75
.50−
25.4
8%72
.50
−20
.50%
70.6
7−
17.4
5%67
.17−
11.6
3%
5R
0373
.67
107.
33−
45.7
0%91
.83−
24.6
6%80
.33
−9.0
5%
80.3
3−
9.0
5%
89.5
0−
21.4
9%
10
1R
0470
.67
85.0
0−
20.2
8%
97.0
0−
37.2
6%94
.00
−33
.02%
94.0
0−
33.0
2%85
.17−
20.5
2%
3R
0582
.17
91.5
0−
11.3
6%90
.00−
9.53
%84
.83
−3.2
5%
84.8
3−
3.2
5%
85.8
3−
4.46
%
5R
0614
1.83
181.
17−
27.7
3%16
5.67−
16.8
0%14
6.00
−2.
94%
146.
00−
2.94
%14
3.17
−0.9
4%
15
1R
0767
.67
99.8
3−
47.5
4%77
.33−
14.2
9%74
.67
−10
.34%
70.1
7−
3.6
9%
74.1
7−
9.61
%
3R
0812
3.00
139.
50−
13.4
1%14
0.17−
13.9
6%12
9.17
−5.
01%
129.
00−
4.8
8%
130.
83−
6.37
%
5R
0917
1.33
173.
50−
1.2
6%
182.
50−
6.52
%18
4.50
−7.
69%
189.
33−
10.5
1%18
9.33
−10
.51%
20
6R
1018
2.33
230.
00−
26.1
4%21
1.83−
16.1
8%19
2.50
−5.
58%
184.
83−
1.3
7%
212.
17−
16.3
6%
9R
1124
0.50
286.
67−
19.2
0%26
5.17−
10.2
6%25
2.33
−4.9
2%
252.
33−
4.9
2%
272.
00−
13.1
0%
12R
1234
7.33
381.
83−
9.93
%36
5.00
−5.
09%
348.
83−
0.4
3%
353.
17−
1.68
%36
4.67
−4.
99%
25
6R
1323
0.67
270.
83−
17.4
1%25
3.67
−9.
97%
245.
67−
6.50
%24
0.33
−4.1
9%
252.
67−
9.54
%
9R
1427
5.67
310.
83−
12.7
6%30
3.83−
10.2
2%28
7.17
−4.1
7%
298.
50−
8.28
%29
5.50
−7.
19%
12R
1537
9.33
434.
00−
14.4
1%42
0.17−
10.7
6%39
7.00
−4.
66%
397.
00−
4.66
%39
3.50
−3.7
3%
Avg
Dev
iati
onA
llIn
stan
ces
−22
.83%
−14
.27%
−8.
43%
−7.9
2%
−9.
50%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
−22
.83%
−14
.27%
−8.
43%
−7.9
2%
−9.
50%
188 Appendix A Train Scheduling and Rescheduling: Experimental Results
TableA.7:
Lon
gerR
un
nin
g/Dw
ellT
ime
-m
ajor
disru
ption
:D
elayan
dA
verageD
elay
Blo
ck#
ofIn
stance
Xp
ressE
AH
euristic
SB
-AT
CS
B-A
TC
-ReO
pt-R
ejS
B-A
TC
-ReO
pt
SB
-AS
G-R
eOp
t
Delay
LR
Avg
Delay
Statu
sD
elayA
vg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Blo
ck(s)
per
Train
per
Train
per
Train
per
Train
per
Train
per
Train
Tim
etable
T01
47.0
00.00
1.74-
55.672.06
51.171.90
48.171.78
48.171.78
48.171.78
40
4H
P01
8954.671249.50
331.65-
Dead
lock
NA
9574.83354.62
8279.67306.65
7465.50276.5
0D
eadlo
ckN
A
5H
P02
8082.331369.50
299.35-
Dead
lock
NA
8473.50313.83
Dead
lock
NA
7913.17293.0
88230.67
304.84
6H
P03
8135.1
71609.50
301.30-
9600.33355.57
8456.83313.22
8514.33315.35
8423.33311.98
8535.17316.12
50
4H
P04
10260.7
01569.50
380.03-
Dead
lock
NA
12008.80444.77
10386.00384.67
10380.00384.44
Dead
lock
NA
5H
P05
NA
NA
NA
No
An
s13433.30
497.9015156.50
561.3512835.30
475.3811483.40
425.3110717.80
396.9
6
6H
P06
8693.501622.50
321.98-
Dead
lock
NA
18494.00314.5
98494.00
314.5
98494.00
314.5
9D
eadlo
ckN
A
60
4H
P07
NA
NA
NA
No
An
sD
eadlo
ckN
A14607.70
541.0312672.50
469.3512067.80
446.9611945.80
442.4
4
5H
P08
NA
NA
NA
No
An
sD
eadlo
ckN
A12023.80
445.33D
eadlo
ckN
A10900.30
403.7
1D
eadlo
ckN
A
6H
P09
9602.001949.50
355.63-
10839.30401.46
9542.67353.43
9542.67353.43
9542.17353.4
19558.83
354.03
70
4H
P10
14549.202209.50
538.86-
Dead
lock
NA
A16828.80
623.29D
eadlo
ckN
A14537.20
538.4
1D
eadlo
ckN
A
5H
P11
NA
NA
NA
No
An
sD
eadlo
ckN
AA
12081.10447.45
12081.10447.45
12070.60447.0
6D
eadlo
ckN
A
6H
P12
14120.302489.50
522.97-
15722.00582.30
13567.80502.51
13567.80502.51
13567.80502.51
13147.80486.9
6
80
4H
P13
16363.302769.50
606.05-
Dead
lock
NA
20469.60758.13
17953.20664.93
16984.50629.06
16344.90605.3
7
5H
P14
15047.802449.50
557.33-
Dead
lock
NA
14819.30548.86
14819.30548.86
14819.30548.86
14811.20548.5
6
6H
P15
NA
NA
NA
No
An
sD
eadlo
ckN
A19767.30
732.1217509.30
648.4917178.00
636.2
2D
eadlo
ckN
A
Avg
Delay
All
Instan
ces10350.54
9932.1
212245.23
11284.8710992.20
10371.15
All
Instan
cesE
xcl.
Un
solvedIn
stances
7976.129054.32
7904.627918.24
7895.377822.4
9
Avg
Delay
All
Instan
ces383.35
367.8
6453.53
417.96407.12
384.12
per
Train
All
Instan
cesE
xcl.
Un
solvedIn
stances
295.41335.34
292.76293.27
292.42289.7
2
Avg
Ru
ntim
e(secs)
4002352
352
426413
415
Appendix A Train Scheduling and Rescheduling: Experimental Results 189
TableA.8:
Lon
ger
Ru
nn
ing/
Dw
ell
Tim
e-
ma
jor
dis
rup
tion
:A
v-
erag
eR
Dw
rtE
AH
euri
stic
Lat
e#
ofIn
stan
ceE
AH
euri
stic
Xp
ress
SB
-AT
CS
B-A
TC
-ReO
pt-
Rej
SB
-AT
C-R
eOp
tS
B-A
SG
-ReO
pt
Dep
artu
reT
rain
(s)
Del
ayD
elay
RD
Del
ayR
DD
elay
RD
Del
ayR
DD
elay
RD
Tim
etab
leT
0155
.67
47.0
015.5
7%
51.1
78.
08%
48.1
713
.47%
48.1
713
.47%
48.1
713
.47%
40
4H
P01
Dea
dlo
ck95
74.8
3N
A95
74.8
3N
A82
79.6
7N
A74
65.5
0N
AD
ead
lock
NA
5H
P02
Dea
dlo
ck84
73.5
0N
A84
73.5
0N
AD
ead
lock
NA
7913
.17
NA
8230
.67
NA
6H
P03
9600
.33
8456
.83
15.2
6%
8456
.83
11.9
1%85
14.3
311
.31%
8423
.33
12.2
6%85
35.1
711
.10%
50
4H
P04
Dea
dlo
ck12
008.
80N
A12
008.
80N
A10
386.
00N
A10
380.
00N
AD
ead
lock
NA
5H
P05
1344
3.30
1515
6.50
NA
1515
6.60−
12.7
4%12
835.
304.
52%
1148
3.40
14.5
8%10
717.
8020.2
7%
6H
P06
Dea
dlo
ck84
94.0
0N
A84
94.0
0N
A84
94.0
0N
A84
94.0
0N
AD
ead
lock
NA
60
4H
P07
Dea
dlo
ck14
607.
70N
A14
607.
70N
A12
672.
50N
A12
067.
80N
A11
945.
80N
A
5H
P08
Dea
dlo
ck12
023.
80N
A12
023.
80N
AD
ead
lock
NA
1090
0.30
NA
Dea
dlo
ckN
A
6H
P09
1083
9.30
9542
.67
11.4
1%95
42.6
711
.96%
9542
.67
11.9
6%95
42.1
711.9
7%
9558
.83
11.8
1%
70
4H
P10
Dea
dlo
ck16
828.
80N
A16
828.
80N
AD
ead
lock
NA
1453
7.20
NA
Dea
dlo
ckN
A
5H
P11
Dea
dlo
ck12
081.
10N
A12
081.
10N
A12
081.
10N
A12
070.
60N
AD
ead
lock
NA
6H
P12
1572
2.00
1356
7.80
10.1
9%13
567.
8013
.70%
1356
7.80
13.7
0%13
567.
8013
.70%
1314
7.80
16.3
7%
80
6H
P13
Dea
dlo
ck20
469.
60N
A20
469.
60N
A17
953.
20N
A16
984.
50N
A16
344.
90N
A
9H
P14
Dea
dlo
ck14
819.
30N
A14
819.
30N
A14
819.
30N
A14
819
NA
1481
1.20
NA
12H
P15
Dea
dlo
ck19
767.
30N
A19
767.
30N
A17
509.
30N
A17
178.
00N
AD
ead
lock
NA
Avg
Dev
iati
onA
llIn
stan
ces
13.1
1%6.
58%
10.9
9%13
.20%
14.6
1%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
13.1
1%11
.41%
12.6
1%12
.85%
13.1
9%
190 Appendix A Train Scheduling and Rescheduling: Experimental Results
TableA.9:
Lon
gerR
un
nin
g/Dw
ellT
ime
-m
ajor
disru
ption
:A
v-
erageR
Dw
rtX
press
Late
#of
Instan
ceX
press
EA
Heu
risticS
B-A
TC
SB
-AT
C-R
eOp
t-Rej
SB
-AT
C-R
eOp
tS
B-A
SG
-ReO
pt
Dep
arture
Train
(s)D
elayD
elayR
DD
elayR
DD
elayR
DD
elayR
DD
elayR
D
Tim
etable
T01
47.0055.67
-18.44%51.17
−8.87%
48.17−
2.4
8%
48.17−
2.4
8%
48.17−
2.4
8%
40
4H
P01
8594.67D
eadlo
ckN
A9574.83
−6.93%
8279.677.54%
7465.5016.6
3%
Dead
lock
NA
5H
P02
8082.33D
eadlo
ckN
A8473.50
−4.84%
Dead
lock
NA
7913.172.0
9%
8230.67−
1.84%
6H
P03
8135.179600.33
−18.01%
8456.83−
3.95%8514.33
−4.66%
8423.33−
3.5
4%
8535.17−
4.92%
50
4H
P04
10260.70D
eadlo
ckN
A12008.80
−17.04%
10386.00−
1.22%10380.00
−1.1
6%
Dead
lock
NA
5H
P05
NA
13443.30N
A15156.50
NA
12835.30N
A11483.40
NA
10717.80N
A
6H
P06
8693.50D
eadlo
ckN
A8494.00
2.2
9%
8494.002.2
9%
8494.002.2
9%
Dead
lock
NA
60
4H
P07
NA
Dead
lock
NA
14607.70N
A12672.50
NA
12067.80N
A11945.80
NA
5H
P08
NA
Dead
lock
NA
12023.80N
AD
eadlo
ckN
A10900.30
NA
Dead
lock
NA
6H
P09
9602.0010839.30
−12.89%
9542.670.62%
9542.670.62%
9542.170.6
2%
9558.830.45%
70
4H
P10
14549.20D
eadlo
ckN
A16828.80
−15.67%
Dead
lock
NA
14537.200.0
8%
Dead
lock
NA
5H
P11
NA
Dead
lock
NA
12081.10N
A12081.10
NA
12070.60N
AD
eadlo
ckN
A
6H
P12
14120.3015722.00
−11.34%
13567.803.91%
13567.803.91%
13567.803.91%
13147.806.89%
80
4H
P13
16363.30D
eadlo
ckN
A20469.60
−25.09%
17953.20−
9.72%16984.50
−3.80%
16344.900.1
1%
5H
P14
15047.80D
eadlo
ckN
A14819.30
1.52%14819.30
1.52%14819.30
1.52%14811.20
1.5
7%
6H
P15
NA
Dead
lock
NA
19767.30N
A17509.30
NA
17178.00N
AD
eadlo
ckN
A
Avg
Dev
iationA
llIn
stances
−15.17%
−6.73%
−0.24%
−1.4
7%
−0.03%
Instan
cesE
xcl.
Un
solvedS
oln’s
−15.17%
−2.07%
−0.65%
−0.37%
−0.0
2%
Appendix A Train Scheduling and Rescheduling: Experimental Results 191
Table
A.10:
Lon
ger
Ru
nn
ing/
Dw
ell
Tim
ean
dL
ate
dep
artu
re-
ma
jor
dis
rup
tion
:D
elay
and
Ave
rage
Del
ay
Blo
ck#
ofD
epar
ture
#of
Inst
ance
Xp
ress
EA
Heu
rist
icSB
-AT
CS
B-A
TC
-ReO
pt-
Rej
SB
-AT
C-R
eOp
tS
B-A
SG
-ReO
pt
Del
ayL
RA
vg
Del
ayS
tatu
sD
elay
Avg
Del
ayD
elay
Avg
Del
ayD
elay
Avg
Del
ayD
elay
Avg
Del
ayD
elay
Avg
Del
ay
Del
ayB
lock
(s)
Del
ayT
rain
(s)
per
Tra
inp
erT
rain
per
Tra
inp
erT
rain
per
Tra
inp
erT
rain
Tim
etab
leT
0147.0
00.
001.
74-
55.6
72.
0651
.17
1.90
48.1
71.
7848
.17
1.78
48.1
71.
78
404
103
PR
0176
11.8
312
79.5
028
1.92
-D
eadlo
ckN
A95
74.8
335
4.62
8279
.67
306.
657465.5
027
6.50
Dea
dlo
ckN
A
5P
R02
8588
.00
1299
.50
318.
07-
Dea
dlo
ckN
A95
98.8
335
5.51
8296
.00
307.
268290.0
030
7.04
Dea
dlo
ckN
A
209
PR
03N
AN
AN
AN
oA
ns
Dea
dlo
ckN
A96
46.1
735
7.27
8432
.50
312.
3179
97.0
029
6.19
7931.6
729
3.77
12P
R04
8080.3
314
89.5
029
9.27
-D
eadlo
ckN
A10
206.
5037
8.02
8879
.17
328.
8682
48.1
730
5.49
9859
.50
365.
17
406
103
PR
0572
78.5
013
22.5
026
9.57
-D
eadlo
ckN
A6816.0
025
2.44
6816.0
025
2.44
6816.0
025
2.44
Dea
dlo
ckN
A
5P
R06
NA
NA
NA
No
Ans
9549
.33
353.
6885
19.3
331
5.53
8576
.83
317.
6684
85.8
331
4.29
8195.5
030
3.54
209
PR
0767
51.5
814
69.5
825
0.06
-76
07.0
028
1.74
6519.7
524
1.47
6519.7
524
1.47
6640
.08
245.
9366
40.0
824
5.93
12P
R08
8641
.50
1849
.50
320.
06-
1090
4.70
403.
8886
77.3
332
1.38
8570
.83
317.
448482.3
331
4.16
8959
.17
331.
82
504
103
PR
0910
245.
8015
99.5
037
9.47
-D
eadlo
ckN
A12
019.
3044
5.16
1039
6.50
385.
069414.1
734
8.67
Dea
dlo
ckN
A
5P
R10
1064
3.40
1769
.50
394.
20-
Dea
dlo
ckN
A12
789.
6047
3.69
1123
3.20
416.
0410
598.
7039
2.54
10207.8
037
8.07
209
PR
1198
13.5
017
49.5
036
3.46
-D
eadlo
ckN
A12
510.
5046
3.35
1068
9.30
395.
909574.8
335
4.62
Dea
dlo
ckN
A
12P
R12
10204.5
018
59.5
037
7.94
-11
240.
2041
6.30
1282
1.70
474.
8810
998.
7040
7.36
1039
0.70
384.
8410
251.
5037
9.69
506
103
PR
1310
070.
1017
99.5
037
2.97
-D
eadlo
ckN
A96
67.7
535
8.06
9667
.75
358.
0696
67.7
535
8.06
9467.7
535
0.66
5P
R14
1087
8.80
2119
.50
402.
92-
Dea
dlo
ckN
A12
327.
3045
6.57
1090
9.30
404.
0510702.3
039
6.38
1237
3.20
471.
75
209
PR
1587
77.0
018
02.5
032
5.07
-99
12.8
336
7.14
8595.0
031
8.33
8595.0
031
8.33
8595.0
031
8.33
8595.0
031
8.33
12P
R16
8579
.83
1859
.58
317.
77-
8704
.67
322.
4087
60.0
032
4.44
8556.6
731
6.91
8557
.83
316.
9685
68.1
731
7.34
Avg
Del
ayA
llIn
stan
ces
8414
.11
8282
.06
9358
.89
8556
.78
8233.7
984
55.1
3
All
Inst
ance
sE
xcl
.U
nso
lved
Inst
ance
s71
66.9
080
70.8
475
70.8
272
14.8
57119.0
271
77.0
1
Avg
Del
ayA
llIn
stan
ces
311.
6330
6.74
346.
6231
6.92
304.9
531
3.15
per
Tra
inA
llIn
stan
ces
Excl
.U
nso
lved
Inst
ance
s26
5.44
298.
9228
0.40
267.
22263.6
726
5.82
Avg
Runti
me
(sec
s)40
025
01367
417
415
419
192 Appendix A Train Scheduling and Rescheduling: Experimental Results
Table
A.11:
Lon
gerR
un
nin
g/Dw
ellT
ime
and
Late
dep
arture
-m
ajor
disru
ption
:A
verageR
Dw
rtE
AH
euristic
Blo
ck#
ofD
epartu
re#
ofIn
stance
EA
Heu
risticX
press
SB
-AT
CS
B-A
TC
-ReO
pt-R
ejS
B-A
TC
-ReO
pt
SB
-AS
G-R
eOp
t
Delay
Blo
ck(s)
Delay
Train
(s)D
elayD
elayR
DD
elayR
DD
elayR
DD
elayR
DD
elayR
D
Tim
etable
T01
55.6747.00
15.5
7%
51.178.08%
48.1713.47%
48.1713.47%
48.1713.47%
404
103
PR
01D
eadlo
ck7611.83
NA
9574.83N
A8279.67
NA
7465.50N
AD
eadlo
ckN
A
5P
R02
Dead
lock
8588.00N
A9598.83
NA
8296.00N
A8290.00
NA
Dead
lock
NA
209
PR
03D
eadlo
ckN
AN
A9646.17
NA
8432.50N
A7997.00
NA
7931.67N
A
12P
R04
Dead
lock
8080.33N
A10206.50
NA
8879.17N
A8248.17
NA
9859.50N
A
406
103
PR
05D
eadlo
ck7278.50
NA
6816.00N
A6816.00
NA
6816.00N
AD
eadlo
ckN
A
5P
R06
9549.33N
AN
A8519.33
10.79%8576.83
10.18%8485.83
11.14%8195.50
14.1
8%
209
PR
077607.00
6751.5811.25%
6519.7514.2
9%
6519.7514.2
9%
6640.0812.71%
6640.0812.71%
12P
R08
10904.708641.50
20.75%8677.33
20.43%8570.83
21.40%8482.33
22.2
1%
8959.1717.84%
504
103
PR
09D
eadlo
ck10245.80
NA
12019.30N
A10396.50
NA
9414.17N
AD
eadlo
ckN
A
5P
R10
Dead
lock
10643.40N
A12789.60
NA
11233.20N
A10598.70
NA
10207.80N
A
209
PR
11D
eadlo
ck9813.50
NA
12510.50N
A10689.30
NA
9574.83N
AD
eadlo
ckN
A
12P
R12
11240.2010204.50
9.2
1%
12821.70−
14.07%10998.70
2.15%10390.70
7.56%10251.50
8.80%
506
103
PR
13D
eadlo
ck10070.10
NA
9667.75N
A9667.75
NA
9667.75N
A9467.75
NA
5P
R14
Dead
lock
10878.80N
A12327.30
NA
10909.30N
A10702.30
NA
12737.20N
A
209
PR
159912.83
8777.0011.46%
8595.0013.2
9%
8595.0013.2
9%
8595.0013.2
9%
8595.0013.2
9%
12P
R16
8704.678579.83
1.43%8760.00
−0.64%
8556.671.7
0%
8557.831.69%
8568.171.57%
Avg
Dev
iationA
llIn
stances
11.61%7.45%
10.93%11.7
2%
11.69%
Instan
cesE
xcl.
Un
solvedS
oln’s
11.69%6.90%
11.05%11.8
2%
11.28%
Appendix A Train Scheduling and Rescheduling: Experimental Results 193
Table
A.12:
Lon
ger
Ru
nn
ing/
Dw
ell
Tim
ean
dL
ate
dep
artu
re-
ma
jor
dis
rup
tion
:A
vera
geR
Dw
rtX
pre
ss
Blo
ck#
ofD
epar
ture
#of
Inst
ance
Xp
ress
EA
Heu
rist
icS
B-A
TC
SB
-AT
C-R
eOp
t-R
ejS
B-A
TC
-ReO
pt
SB
-AS
G-R
eOp
t
Del
ayB
lock
(s)
Del
ayT
rain
(s)
Del
ayD
elay
RD
Del
ayR
DD
elay
RD
Del
ayR
DD
elay
RD
Tim
etab
leT
0147
.00
55.6
7-1
8.44
%51
.17−
8.87
%48
.17−
2.4
8%
48.1
7−
2.4
8%
48.1
7−
2.4
8%
404
103
PR
0176
11.8
3D
ead
lock
NA
9574
.83−
25.7
9%82
79.6
7−
8.77
%74
65.5
01.9
2%
Dea
dlo
ckN
A
5P
R02
8588
.00
Dea
dlo
ckN
A95
98.8
3−
11.7
7%82
96.0
03.
40%
8290
.00
3.4
7%
Dea
dlo
ckN
A
209
PR
03N
AD
ead
lock
NA
9646
.17
NA
8432
.50
NA
7997
.00
NA
7931
.67
NA
12P
R04
8080
.33
Dea
dlo
ckN
A10
206.
50−
26.3
1%88
79.1
7−
9.89
%82
48.1
7−
2.0
8%
9859
.50−
22.0
2%
406
103
PR
0572
78.5
0D
ead
lock
NA
6816
.00
6.3
5%
6816
.00
6.3
5%
6816
.00
6.3
5%
Dea
dlo
ckN
A
5P
R06
NA
9549
.33
NA
8519
.33
NA
8576
.83
NA
8485
.83
NA
8195
.50
NA
209
PR
0767
51.5
876
07.0
0−
12.6
7%65
19.7
53.4
3%
6519
.75
3.4
3%
6640
.08
1.65
%66
40.0
81.
65%
12P
R08
8641
.50
1090
4.70−
26.1
9%86
77.3
3−
0.41
%85
70.8
30.
82%
8482
.33
1.8
4%
8959
.17−
3.68
%
504
103
PR
0910
245.
80D
ead
lock
NA
1201
9.30−
17.3
1%10
396.
50−
1.47
%94
14.1
78.1
2%
Dea
dlo
ckN
A
5P
R10
1064
3D
ead
lock
NA
1278
9.60−
20.1
6%11
233.
20−
5.54
%10
598.
700.
42%
1020
7.80
4.0
9%
209
PR
1198
13.5
0D
ead
lock
NA
1251
0.50−
27.4
8%10
689.
30−
8.92
%95
74.8
32.4
3%
Dea
dlo
ckN
A
12P
R12
1020
4.50
1124
0.20−
10.1
5%12
821.
70−
25.6
5%10
998.
70−
7.78
%10
390.
70−
1.82
%10
251.
50−
0.4
6%
506
103
PR
1310
070.
10D
ead
lock
NA
9667
.75
4.00
%96
67.7
54.
00%
9667
.75
4.00
%94
67.7
55.9
8%
5P
R14
1087
8.80
Dea
dlo
ckN
A12
327.
30−
13.3
1%10
909.
30−
0.28
%10
702.
301.6
2%
1273
7.20−
17.0
8%
209
PR
1587
77.0
099
12.8
3−
12.9
485
95.0
02.0
7%
8595
.00
2.0
7%
8595
.00
2.0
7%
8595
.00
2.0
7%
12P
R16
8579
.83
8704
.67−
1.46
%87
60.0
0−
2.10
%85
56.6
70.2
7%
8557
.83
0.26
%85
68.1
70.
14%
Avg
Dev
iati
onA
llIn
stan
ces
−13
.64%
−10
.89%
−1.
65%
−1.8
5%
−3.
18%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
−13
.64%
−5.
25%
−0.
61%
−0.2
5%
−0.
46%
196 Appendix B Train Routing and Rerouting: Experimental Results
TableB.1:
Blo
ckedT
racks
ona
Sin
gleT
rackS
ection:
Delay
and
Average
Delay
Track
#of
#of
%of
Instan
ce
FC
FS
SB
-AT
CSB
-AT
C-R
eOpt
Blo
ckedP
arallelU
navailab
leD
elayA
vg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Segm
ent(s)
Track
(s)T
racks
Track
sp
erT
rainp
erT
rainp
erT
rain
Tim
etable
RT
016.00
0.220.5
00.02
0.5
00.02
21
250
RS01
7.000.26
2.0
00.07
2.0
00.07
41
250
RS02
7.000.26
2.0
00.07
2.0
00.07
51
250
RS03
6.000.22
0.5
00.05
0.5
00.02
81
250
RS04
19.000.70
17.0
00.63
17.0
00.63
111
250
RS05
7.500.28
3.5
00.13
40.001.48
151
250
RS06
6.500.24
0.5
00.02
0.5
00.02
171
250
RS07
6.500.24
0.5
00.02
0.5
00.02
91
333
RS08
7.000.26
4.5
00.17
4.500.17
267
RS09
Dead
lock
NA
36.5
01.35
66.502.46
101
333
RS10
6.000.22
0.5
00.02
0.5
00.02
267
RS11
18.000.67
17.5
00.65
75.002.78
1
1
5
20R
S12
6.000.22
0.5
00.02
0.5
00.02
240
RS13
6.000.22
0.5
00.02
0.5
00.02
360
RS14
7.000.26
2.0
00.07
2.0
00.07
480
RS15
39.001.44
35.0
01.30
35.0
01.30
7
1
5
20R
S16
6.000.22
0.5
00.02
0.5
00.02
240
RS17
6.000.22
0.5
00.02
0.5
00.02
360
RS14
6.500.24
0.5
00.02
0.5
00.02
480
RS19
13.000.48
9.5
00.35
28.0
01.04
Avg
Delay
All
Instan
ces9.79
6.7
313.85
Exclu
din
gth
eU
nsolved
Instan
ces9.79
5.1
611.08
Avg
Delay
All
Instan
ces0.36
0.2
50.51
per
Train
Exclu
din
gth
eU
nsolved
Instan
ces0.36
0.1
90.41
Avg
Runtim
e(secs)
0.067.19
7.51
Appendix B Train Routing and Rerouting: Experimental Results 197
TableB.2:
Blo
cked
Tra
cks
ona
Sin
gle
Tra
ckS
ecti
on:
Ave
rage
RD
wrt
FC
FS
Tra
ck#
ofB
lock
ed#
ofP
aral
lel
%of
Unav
aila
ble
Inst
ance
FC
FS
SB
-AT
CSB
-AT
C-R
eOpt
Seg
men
t(s)
Tra
ck(s
)T
rack
sT
rack
sD
elay
Del
ayR
DD
elay
RD
Tim
etab
leR
T01
6.00
0.50
91.6
7%0.
5091
.67%
21
250
RS01
7.00
2.00
71.4
3%2.
0071
.43%
41
250
RS02
7.00
2.00
71.4
3%2.
0071
.43%
51
250
RS03
6.00
0.50
91.6
7%0.
5091
.67%
81
250
RS04
19.0
017
.00
10.5
3%17
.00
10.5
3%
111
250
RB
057.
503.
5053
.33%
40.0
0−
433.
33%
151
250
RS06
6.50
0.50
92.3
1%0.
5092
.31%
171
250
RS07
6.50
0.50
92.3
1%0.
5092
.31%
91
333
RS08
7.00
4.50
35.1
7%4.
5035
.71%
267
RS09
Dea
dlo
ck36
.50
NA
66.5
0N
A
101
333
RS10
6.00
0.50
91.6
7%0.
5091
.67%
267
RS11
18.0
017
.50
2.78
%75
.00−
316.
67%
1
1
5
20R
S12
6.00
0.50
91.6
7%0.
5091
.67%
240
RS13
6.00
0.50
91.6
7%0.
5091
.67%
360
RS14
7.00
2.00
71.4
3%2.
0071
.43%
480
RS15
39.0
035
.00
10.2
6%35
.00
10.2
6%
7
1
5
20R
S16
6.00
0.50
91.6
7%0.
5091
.67%
240
RS17
6.00
0.50
91.6
7%0.
5091
.67%
360
RS14
6.50
0.50
92.3
1%0.
5092
.31%
480
RS19
13.0
09.
5026
.92%
28.0
0-1
15.3
8%
Avg
RD
All
Inst
ance
s66
.97%
17.0
5%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
66.9
7%17
.05%
198 Appendix B Train Routing and Rerouting: Experimental Results
TableB.3:
Blo
ckedT
racks
onM
ultip
leT
rackS
ections:
Delay
and
Average
Delay
#of
Disru
pted
#of
Spread
#of
%of
Instan
ce
FC
FS
SB
-AT
CSB
-AT
C-R
eOpt
Track
Blo
ckedof
Parallel
Unavailab
leD
elayA
vg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Segm
ent(s)
Track
(s)B
lockage
Track
sT
racks
per
Train
per
Train
per
Train
Tim
etable
RT
016.00
0.220.5
00.02
0.5
00.02
2
21,1
2,250,50
RB
016.50
0.240.5
00.02
0.5
00.02
31,2
2,350,67
RB
0218.00
0.6717.5
00.65
75.002.78
42,2
5,340,67
RB
03D
eadlo
ckN
A36.5
01.35
66.502.46
51,4
2,550,80
RB
0414.00
0.5211.0
00.41
29.501.09
3
31,1,1
2,2,250,50,50
RB
0520.00
0.7418.5
00.69
18.5
00.69
42,1,1
3,2,267,50,50
RB
06D
eadlo
ckN
A19.5
00.72
75.002.78
51,3,1
2,5,350,60,33
RB
078.00
0.306.0
00.22
6.0
00.22
64,1,1
5,2,280,50,50
RB
0840.00
1.4836.0
01.33
41.001.52
4
41,1,1,1
2,2,2,250,50,50,50
RB
099.00
0.335.0
00.19
7.500.28
52,1,1,1
5,2,2,240,50,50,50
RB
1019.50
0.7217.0
00.63
17.0
00.63
62,1,1,2
5,2,2,340,50,50,67
RB
11D
eadlo
ckN
A38.0
01.41
68.002.52
71,4,1,1
2,5,2,250,80,50,50
RB
1214.50
0.5411.0
00.41
29.501.09
5
51,1,1,1,1
2,2,2,2,250,50,50,50,50
RB
139.00
0.335.0
00.19
7.500.28
61,1,2,1,1
2,2,5,2,250,50,40,50,50
RB
1420.50
0.7618.5
00.69
18.5
00.69
73,1,1,1,1
5,2,2,2,260,50,50,50,50
RB
1510.00
0.376.5
00.24
6.5
00.24
81,3,2,1,1
2,5,3,2,250,60,60,50,50
RB
16D
eadlo
ckN
A21.0
00.78
49.501.83
Avg
Delay
All
Instan
ces15.0
015.76
30.38
Exclu
din
gth
eU
nsolved
Instan
ces15.00
11.7
719.81
Avg
Delay
All
Instan
ces0.5
50.58
1.12
per
Train
Exclu
din
gth
eU
nsolved
Instan
ces0.55
0.4
40.73
Avg
Runtim
e(secs)
0.017.16
8.19
Appendix B Train Routing and Rerouting: Experimental Results 199
TableB.4:
Blo
cked
Tra
cks
onM
ult
iple
Tra
ckS
ecti
ons:
Ave
rage
RD
wrt
FC
FS
#of
Dis
rupte
d#
ofSpre
ad#
of%
of
Inst
ance
FC
FS
SB
-AT
CSB
-AT
C-R
eOpt
Tra
ckB
lock
edof
Par
alle
lU
nav
aila
ble
Del
ayD
elay
RD
Del
ayR
DSeg
men
t(s)
Tra
ck(s
)B
lock
age
Tra
cks
Tra
cks
Tim
etab
leR
T01
6.00
0.50
91.6
7%0.
5091
.67%
2
21,
12,
250
,50
RB
016.
500.
5092
.31%
0.50
92.3
1%
31,
22,
350
,67
RB
0218
.00
17.5
02.
78%
75.0
0−
316.
67%
42,
25,
340
,67
RB
03D
eadlo
ck36
.50
NA
66.5
0N
A
51,
42,
550
,80
RB
0414
.00
11.0
021
.43%
29.5
0−
110.
71%
3
31,
1,1
2,2,
250
,50,
50R
B05
20.0
018
.50
7.50
%18
.50
7.50
%
42,
1,1
3,2,
267
,50,
50R
B06
Dea
dlo
ck19
.50
NA
75.0
0N
A
51,
3,1
2,5,
350
,60,
33R
B07
8.00
6.00
25.0
0%6.
0025
.00%
64,
1,1
5,2,
280
,50,
50R
B08
40.0
036
.00
10.0
0%41
.00
−2.
50%
4
41,
1,1,
12,
2,2,
250
,50,
50,5
0R
B09
9.00
5.00
44.4
4%7.
5016
.67%
52,
1,1,
15,
2,2,
240
,50,
50,5
0R
B10
19.5
017
.00
12.8
2%17
.00
12.8
2%
62,
1,1,
25,
2,2,
340
,50,
50,6
7R
B11
Dea
dlo
ck38
.00
NA
68.0
0N
A
71,
4,1,
12,
5,2,
250
,80,
50,5
0R
B12
14.5
011
.00
24.1
4%29
.50−
103.
45%
5
51,
1,1,
1,1
2,2,
2,2,
250
,50,
50,5
0,50
RB
139.
005.
0044
.44%
7.50
16.6
7%
61,
1,2,
1,1
2,2,
5,2,
250
,50,
40,5
0,50
RB
1420
.50
18.5
09.
76%
18.5
09.
76%
73,
1,1,
1,1
5,2,
2,2,
260
,50,
50,5
0,50
RB
1510
.00
6.50
35.0
0%6.
5035
.00%
81,
3,2,
1,1
2,5,
3,2,
250
,60,
60,5
0,50
RB
16D
eadlo
ck21
.00
NA
49.5
0N
A
Avg
RD
All
Inst
ance
s32
.41%
−17
.38%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
32.4
1%−
17.3
8%
200 Appendix B Train Routing and Rerouting: Experimental Results
TableB.5:
Lon
gerR
un
nin
g/Dw
elltim
es:D
elayan
dA
verageD
e-lay
Blo
ck#
of#
ofIn
stance
FC
FS
SB
-AT
CSB
-AT
C-R
eOpt
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Blo
ck(s)
Train
sp
erT
rainp
erT
rainp
erT
rain
Tim
etable
RT
016.00
0.220.5
00.02
0.5
00.02
51
3R
P01
19.5
00.72
20.000.74
85.003.15
25
RP
0228.50
1.0624.0
00.89
29.001.07
101
3R
P03
146.505.43
134.0
04.96
134.004.96
25
RP
0479.0
02.93
152.005.63
152.005.63
151
3R
P05
168.006.22
152.0
05.63
152.0
05.63
25
RP
06211.00
7.81192.0
07.11
229.508.50
202
9R
P07
274.0
010.15
340.5012.61
416.0015.41
312
RP
08637.50
23.61613.5
022.72
613.5
022.72
252
9R
P09
Dead
lock
NA
626.0
023.19
760.0028.15
312
RP
101248.50
46.241246.0
046.15
1246.0
046.15
302
9R
P11
Dead
lock
NA
889.5
032.94
1013.0037.52
312
RP
121054.00
39.041013.0
037.52
1117.0041.37
404
18R
P13
1685.5062.43
1462.5
054.17
1718.5063.65
623
RP
14D
eadlo
ckN
A2349.5
087.02
2395.5088.72
504
18R
P15
2557.0094.70
2497.5
092.50
2630.0097.41
623
RP
16D
eadlo
ckN
A2847.0
0105.44
3350.00124.07
604
18R
P17
2200.0081.48
2006.5
074.31
2321.0085.96
623
RP
18D
eadlo
ckN
A4919.5
0182.20
Dead
lock
NA
Avg
Delay
All
Instan
ces736.7
91130.82
1020.14
Exclu
din
gth
eU
nsolved
Instan
ces736.79
703.8
6774.57
Avg
Delay
All
Instan
ces27.2
941.88
37.78
per
Train
Exclu
din
gth
eU
nsolved
Instan
ces27.29
26.0
628.69
Avg
Runtim
e(secs)
0.017.21
9.90
Appendix B Train Routing and Rerouting: Experimental Results 201
TableB.6:
Lon
ger
Ru
nn
ing/
Dw
ell
tim
es:
Ave
rage
RD
wrt
FC
FS
Blo
ck#
of#
ofIn
stan
ceF
CF
SSB
-AT
CSB
-AT
C-R
eOpt
Del
ayB
lock
(s)
Tra
ins
Del
ayD
elay
RD
Del
ayR
D
Tim
etab
leR
T01
6.00
0.50
91.6
7%0.
5091
.67%
51
3R
P01
19.5
020
.00−
2.56
%85
.00
-335
.90%
25
RP
0228
.50
24.0
015
.79%
29.0
0−
1.75
%
101
3R
P03
146.
5013
4.00
8.53
%13
4.00
8.53
%
25
RP
0479
.00
152.
00−
92.4
1%15
2.00
−92
.41%
151
3R
P05
168.
0015
2.00
9.52
%15
2.00
9.52
%
25
RP
0621
1.00
192.
009.
00%
229.
50−
8.77
%
202
9R
P07
274.
0034
0.50−
24.2
7%41
6.00
−51
.82%
312
RP
0863
7.50
613.
503.
76%
613.
503.
76%
252
9R
P09
Dea
dlo
ck62
6.00
NA
760.
00N
A
312
RP
1012
48.5
012
46.0
00.
20%
1246
.00
0.20
%
302
9R
P11
Dea
dlo
ck88
9.50
NA
1013
.00
NA
312
RP
1210
54.0
010
13.0
03.
89%
1117
.00
−5.
89%
404
18R
P13
1685
.50
1462
.50
13.2
3%17
18.5
0−
1.96
%
623
RP
14D
eadlo
ck23
49.5
0N
A23
95.5
0N
A
504
18R
P15
2557
.00
2497
.50
2.33
%26
30.0
0−
2.85
%
623
RP
16D
eadlo
ck28
47.0
0N
A33
50.0
0N
A
604
18R
P17
2200
.00
2006
.50
8.80
%23
21.0
0−
5.50
%
623
RP
18D
eadlo
ck49
19.5
0N
AD
eadlo
ckN
A
Avg
RD
All
Inst
ance
s3.
39%
−28
.09%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
3.39
%−
28.0
9%
202 Appendix B Train Routing and Rerouting: Experimental Results
TableB.7:
Late
Dep
arture:
Delay
and
Average
Delay
Late
#of
Instan
ce
FC
FS
SB
-AT
CSB
-AT
C-R
eOpt
Delay
Avg
Delay
Delay
Avg
Delay
Delay
Avg
Delay
Dep
arture
Train
sp
erT
rainp
erT
rainp
erT
rain
Tim
etable
RT
016.00
0.220.5
00.02
0.5
00.02
53
RR
0118.50
0.6913.0
00.48
13.0
00.48
5R
R02
31.001.15
23.0
00.85
23.0
00.85
103
RR
0343.00
1.5935.0
01.30
35.0
01.30
5R
R04
57.0
02.11
59.202.20
92.003.41
153
RR
0555.00
2.0447.0
01.74
47.0
01.74
5R
R06
80.5
02.98
80.5
02.98
108.004.00
209
RR
07185.50
6.87182.5
06.76
445.0016.48
12R
R08
244.009.04
242.5
08.98
298.0011.04
259
RR
09231.00
8.56220.0
08.15
247.509.17
12R
R10
307.0011.37
294.5
010.91
367.0013.59
Avg
Delay
All
Instan
ces114.41
108.9
1152.36
Exclu
din
gth
eU
nsolved
Instan
ces114.41
108.9
1152.36
Avg
Delay
All
Instan
ces4.24
4.0
35.64
per
Train
Exclu
din
gth
eU
nsolved
Instan
ces4.24
4.0
35.64
Avg
Runtim
e(secs)
0.017.19
8.36
Appendix B Train Routing and Rerouting: Experimental Results 203
TableB.8:
Lat
eD
epar
ture
:A
vera
geR
Dw
rtF
CF
S
Lat
e#
ofIn
stan
ceF
CF
SSB
-AT
CSB
-AT
C-R
eOpt
Dep
artu
reT
rain
sD
elay
Del
ayR
DD
elay
RD
Tim
etab
leR
T01
6.00
0.50
91.6
7%0.
5091
.67%
53
RR
0118
.50
13.0
029
.73%
13.0
029
.73%
5R
R02
31.0
023
.00
25.8
1%23
.00
25.8
1%
103
RR
0343
.00
35.0
018
.60%
35.0
018
.60%
5R
R04
57.0
059
.50−
4.39
%92
.00−
61.4
0%
153
RR
0555
.00
47.0
014
.55%
47.0
014
.55%
5R
R06
80.5
080
.50
0.00
%10
8.00
−34
.16%
209
RR
0718
5.50
182.
501.
62%
445.
00−
139.
89%
12R
R08
244.
0024
2.50
0.61
%29
8.00
−22
.13%
259
RR
0923
1.00
220.
004.
76%
247.
50−
7.14
%
12R
R10
307.
0029
4.50
4.07
%36
7.00
−19
.54%
Avg
RD
All
Inst
ance
s17
.00%
−9.
45%
Inst
ance
sE
xcl
.U
nso
lved
Sol
n’s
17.0
0%−
9.45
%
204 Appendix B Train Routing and Rerouting: Experimental Results
TableB.9:
Late
and
On
-time
Train
s:D
elayan
dR
elativeD
elay
Instan
ces
Delay
Relative
Delay
Late
#of
FC
FS
SB
-AT
CF
CF
SSB
-AT
C
Dep
arture
Train
sT
otalL
ateO
n-tim
eT
otalL
ateO
n-tim
eL
ateO
n-tim
eL
ateO
n-tim
e
Train
sT
rains
Train
sT
rains
Train
sT
rains
Train
sT
rains
Tim
etable
RT
016.00
0.006.00
0.500.00
0.500.00%
100.00%0.00%
100.00%
5
1R
R01
11.005.00
6.006.50
5.001.50
45.45%54.55%
76.92%23.08%
3R
R02
18.5015.00
3.5013.00
13.000.00
81.08%18.92%
100.00%0.00%
5R
R03
31.0025.50
5.5023.00
18.005.00
82.26%17.74%
78.26%21.74%
10
1R
R04
14.008.00
6.008.50
8.000.50
57.14%42.86%
94.12%5.88%
3R
R05
43.0031.00
12.0035.00
29.006.00
72.09%27.91%
82.86%17.14%
5R
R06
57.0044.50
12.5059.50
45.0014.50
78.07%21.93%
75.63%24.37%
15
1R
R07
21.0014.50
6.7014.50
12.502.00
69.05%31.90%
86.21%13.79%
3R
R08
55.0044.50
10.5047.00
42.504.50
80.91%19.09%
90.43%9.57%
5R
R09
80.5070.50
10.0080.50
76.004.50
87.58%12.42%
94.41%5.59%
20
6R
R10
120.50120.00
0.50119.00
119.000.00
99.59%0.41%
100.00%0.00%
9R
R11
185.50179.50
6.00182.50
180.002.50
96.77%3.23%
98.63%1.37%
12R
R12
244.00241.00
3.00242.50
237.505.00
98.77%1.23%
97.94%2.06%
25
6R
R13
151.50144.50
7.00142.50
142.000.50
95.38%4.62%
99.65%0.35%
9R
R14
231.00224.50
6.50220.00
217.003.00
97.19%2.81%
98.64%1.36%
12R
R15
307.00300.50
6.50294.50
291.003.50
97.88%2.12%
98.81%1.19%
Avg
Delay
98.5391.78
6.7693.06
89.723.34
77.45%22.61%
85.78%14.22%
Avg
Delay
per
Train
3.653.40
0.250.45
3.320.12
Bibliography
Aarts, E. H. L. and Lenstra, J. K., editors (1997). Local Search and Combinatorial
Optimization. J. Wiley, New York.
Aarts, E. H. L., van Laarhoven, P. J. M., Lenstra, J. K., and Ulder, N. L. J. (1994).
A computational study of local search algorithms for job shop scheduling. ORSA
Journal on Computing, 6(2):118–125.
Adams, J., Balas, E., and Zawack, D. (1988). The Shifting Bottleneck Procedure
for Job Shop Scheduling. Management Science, 34(3):391–401.
Ahuja, R. K., Cunha, C. B., and Sahin, G. (2005). Network Models in Railroad
Planning and Scheduling. TutORials in Operations Research, 1:54–101.
Albrecht, T. (2009). Automated Timetable Design for Demand-Oriented Service
on Suburban Railways. Public Transport, 1(1):5–20.
Alvarez-Valdes, R., Fuertes, A., Tamarit, J. M., Gimenez, G., and Ramos, R.
(2005). A heuristic to schedule flexible job-shop in a glass factory. European
Journal of Operational Research, 165:525–534.
Applegate, D. and Cook, W. (1991). A Computational Study of the Job-shop
Scheduling Problem. ORSA Journal on Computing, 3:149–156.
Assad, A. A. (1980). Modelling of Rail Networks: Toward a Routing/Makeup
Model. Transportation Research Part B: Methodological, 14(1):101–114.
Balas, E., Lenstra, J. K., and Vazacopoulos, A. (1995). The One-Machine Prob-
lem with Delayed Precedence Constraints and Its Use in Job Shop Scheduling.
Management Science, 41(1):94–109.
205
206 BIBLIOGRAPHY
Balas, E., Simonetti, N., and Vazacopoulos, A. (2008). Job Shop Scheduling with
Setup Times, Deadlines and Precedence Constraints. Journal of Scheduling,
11(4):253–262.
Balas, E. and Vazacopoulos, A. (1998). Guided Local Search with Shifting Bot-
tleneck for Job Shop Scheduling. Management Science, 44(2):262–275.
Baptiste, P. (2000). Scheduling Equal-length Jobs on Identical Parallel Machines.
Discrete Applied Mathematics, 103(1):21–32.
Barnhart, C., Jin, H., and Vance, P. H. (2000). Railroad Blocking: A Network
Design Application. Operations Research, 48(4):603–614.
Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W. P., and
Vance, P. H. (1998). Branch-and-Price: Column Generation for Solving Huge
Integer Programs. Operations Research, 46(3):316–329.
Bellman, R. (2003). Dynamic Programming. Princeton University Press.
Bertsekas, D. P. (1987). Dynamic Programming: Deterministic and Stochastic
Models. Prentice Hall, New Jersey.
Borndorfer, R., Grtschel, M., Lukac, S., Mitusch, M., Schlechte, T., Schultz, S.,
and Tanner, A. (2005). An Auctioning Approach to Railway Slot Allocation.
Technical report, 0545, Konrad-Zuse-Zentrum fr Informationstechnik Berlin.
Borndorfer, R. and Schlechte, T. (2007a). Models for Railway Track Allocation.
Technical report, 0702, Konrad-Zuse-Zentrum fr Informationstechnik Berlin.
Borndorfer, R. and Schlechte, T. (2007b). Solving Railway Track Allocation
Problems. Technical report, 0720, Konrad-Zuse-Zentrum fr Informationstechnik
Berlin.
Brannlund, U., Lindberg, P. O., Nou, A., and Nilsson, J. E. (1998). Railway
Timetabling using Lagrangian Relaxation. Transportation Science, 32(4):358–
369.
Bratley, P., Florian, M., and Robillard, P. (1973). On Sequencing with Ear-
liest Starts and Due Dates with Application to Computing Bounds for the
(n—m—G—Fmax) Problem. Naval Research Logistics Quarterly, 20:57–67.
BIBLIOGRAPHY 207
Brizuela, C. A., Zhao, Y., and Sannomiya, N. (2001). No-wait and blocking job-
shops: Challenging problems for GA’s. In IEEE 0-7803-77-2/ 01, pages 2349 –
2354.
Brooks, G. H. and White, C. R. (1965). An Algorithm for Finding Optimal or Near
Optimal Solutions to the Production Scheduling Problem. Journal of Industrial
Engineering, 16:34–40.
Brucker, P. (1988). An Efficient Algorithm for the Job-shop Problem with Two
Jobs. Computing, 40:353–359.
Brucker, P. (2007). Scheduling Algorithms. Springer.
Brucker, P., Jurisch, B., and Kramer, A. (1994a). The Job-shop Problem and
Immediate Selection. Annals of Operations Research, 50(1):73–114.
Brucker, P., Jurisch, B., and Sievers, B. (1994b). A Branch and Bound Algorithm
for the Job-shop Scheduling Problem. Discrete Applied Mathematics, 49:107–
127.
Brucker, P. and Knust, S. (1994). Complexity results for schedul-
ing problems. Retrieved April 29, 2013, from http://www.informatik.uni-
osnabrueck.de/knust/class/.
Brucker, P. and Kravchenko, S. A. (2005). Scheduling Jobs with Release Times on
Parallel Machines to Minimize Total Tardiness. Technical report, Universitat
Osnabruck, Fachbereich Mathematik/Informatik.
Bulbul, K. (2011). A Hybrid Shifting Bottleneck-Tabu Search Heuristic for the Job
Shop Total Weighted Tardiness Problem. Computers & Operations Research,
38(6):967–983.
Burke, E. and Kendall, G., editors (2005). Search Methodologies. Introductory
Tutorials in Optimization and Decision Support Techniques. Springer.
Bussieck, M. R. (1997). Optimal Lines in Public Rail Transport. PhD thesis, TU
Braunschweig.
Cacchiani, V., Caprara, A., and Toth, P. (2008). A Column Generation Approach
to Train Timetabling on a Corridor. 4OR, 6(2):125–142.
208 BIBLIOGRAPHY
Cacchiani, V. and Toth, P. (2012). Nominal and Robust Train Timetabling Prob-
lems. European Journal of Operational Research, 219(3):727–737.
Cai, X. and Goh, C. J. (1994). A Fast Heuristic for the Train Scheduling Problem.
Computers and Operations Research, 21:499510.
Cai, X., Goh, C. J., and Mees, A. I. (1998). Greedy Heuristics for Rapid Scheduling
of Trains on a Single Track. IIE Transaction, 30:481493.
Caimi, G. (2009). Algorithmic Decision Suport for Train Scheduling in a Large
and Highly Utilised Railway Network. PhD thesis, ETH Zurich.
Caimi, G., Burkolter, D., and Herrmann, T. (2005). Operations Research Pro-
ceedings 2004, chapter Finding Delay-tolerant Train Routings through Stations,
pages 136–143. Springer Berlin Heidelberg.
Caimi, G., Burkolter, D., Herrmann, T., Chudak, F., and Laumanns, M. (2007).
Design of a New Railway Scheduling Model for Dense Services. In Proceedings of
the 2nd International Seminar on Railway Operations Modelling and Analysis.
Hannover, Germany.
Camm, J. D., Raturi, A. S., and Tsubakitani, S. (1990). Cutting Big M Down to
Size. Interfaces, 20(5):61–66.
Caprara, A., Fischetti, M., and Toth, P. (2002). Modeling and Solving the Train
Timetabling Problem. Operations Research, 50(5):851–861.
Caprara, A., Kroon, L., Monaci, M., Peeters, M., and Toth, P. (2007). Passenger
Railway Optimization, chapter 3, pages 129–187. Elsevier.
Carey, M. (1994a). A Model and Strategy for Train Pathing with Choice of
Lines, Platforms, and Routes. Transportation Research Part B: Methodologi-
cal, 28(5):333–353.
Carey, M. (1994b). Extending a Train Pathing Model from One-way to Two-way
Track. Transportation Research Part B: Methodological, 28(5):395–400.
Carey, M. and Carville, S. (2003). Scheduling and Platforming Trains at Busy
Complex Stations. Transportation Research, Part A, 37(3):194224.
BIBLIOGRAPHY 209
Carey, M. and Crawford, I. (2007). Scheduling Trains on a Network of Busy
Complex Stations. Transportation Research, Part B, 41(2):159178.
Carey, M. and Lockwood, D. (1995). A Model, Algorithms and Strategy for Train
Pathing. Journal of the Operational Research Society, 46(8):988–1005.
Carlier, J. (1982). The One-machine Sequencing Problem. European Journal of
Operational Research, 11:42–47.
Carlier, J. and Pinson, E. (1989). An Algorithm for Solving the Job-shop Problem.
Management Science, 35(2):165–176.
Carlier, J. and Pinson, E. (1994). Adjustments of Heads and Tails for the Job-shop
Problem. European Journal of Operational Research, 78:146–161.
Cartwright, H. M. and Cattell, J. R. (1995). Applications of Modern Heuristic
Methods, chapter Studies of continuous-flow chemical synthesis using genetic
algorithms, page 129144. Alfred Waller.
Charlton, J. M. and Death, C. C. (1970). A Method of Solution for General
Machine-Scheduling Problems. Operations Research, 18:689–707.
Chen, H. and Luh, P. B. (2003). An alternative framework to Lagrangian re-
laxation approach for job shop scheduling. European Journal of Operational
Research, 149(3):499–512.
Cook, S. A. (1971). The Complexity of Theorem Proving Procedures. In STOC
’71 Proceedings of the third annual ACM symposium on Theory of computing,
pages 151–158.
Cordeau, J. F., Toth, P., and Vigo, D. (1998). A Survey of Optimization Models
for Train Routing and Scheduling. Transportation science, 32(4):380–404.
Corman, F., D’Ariano, A., Pacciarelli, D., and Pranzo, M. (2009). Evaluation
of green wave policy in real-time railway traffic management. Transportation
Research Part C, 17:607–616.
Corman, F., D’Ariano, A., Pacciarelli, D., and Pranzo, M. (2010). A Tabu Search
Algorithm for Rerouting Trains During Rail Operations. Transportation Re-
search Part B-Methodological, 44:175–192.
210 BIBLIOGRAPHY
Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2001). Introduction
to Algorithms. MIT Press and McGraw-Hill.
Crainic, T. G. (2003). Handbook of Transportation Science, chapter Long-haul
Freight Transportation, pages 451–516. Springer US.
Crowder, H., Johnson, E. L., and Padberg, M. (1983). Solving Large-Scale Zero-
One Linear Programming Problems. Operations Research, 31(5):803–834.
Dantzig, G. B. (1951). Activity Analysis of Production and Allocation, chapter
Maximization of a linear function of variables subject to linear inequalities,
pages 339–347. John Wiley & Sons Inc., New York, N. Y.
D’Ariano, A. (2008). Improving Real-time Train Dispatching: Models, Algorithms
and Applications. PhD thesis, TUDelft.
D’Ariano, A., Corman, F., Pacciarelli, D., and Pranzo, M. (2008). Reordering and
local rerouting strategies to manage train traffic in real-time. Transportation
Science, 42(4):405–419.
D’Ariano, A., Pacclarelli, D., and Pranzo, M. (2007). A Branch and Bound Algo-
rithm for Scheduling Trains in a Railway Network. European Journal of Oper-
ational Research, 183(2):643–657.
Dauzre-Prs, S. and Lasserre, J. B. (1993). A Modified Shifting Bottleneck Pro-
cedure for Job Shop Scheduling. International Journal of Production Research,
31:923–932.
Dauzre-Prs, S. and Lasserre, J. B. (1994). An Integrated Approach in Produc-
tion Planning and Scheduling. Lecture Notes in Economics and Mathematical
Systems, No. 411, Springer Verlag, Berlin.
Dauzre-Prs, S. and Paulli, J. (1997). An integrated approach for modeling
and solving the general multiprocessor job-shop scheduling problem using tabu
search. Annals of Operations Research, 70:281–306.
Davis, L., editor (1991). Handbook of Genetic Algorithms. Van Nostrand Reinhold,
New York.
BIBLIOGRAPHY 211
De Bontridder, K. (2005). Minimizing Total Weighted Tardiness in a Generalized
Job Shop. Journal of Scheduling, 8(6):479–496.
Della Croce, F., Tadei, R., and Volta, G. (1995). A Genetic Algorithm for the Job
Shop Problem. Computers and Operations Research, 22:15–24.
DellAmico, M. and Trubian, M. (1993). Applying tabu search to the jobshop
scheduling problem. Annals of Operations Research, 41(1-4):231–252.
Denardo, E. V. (1982). Dynamic Programming: Models and Applications.
Prentice-Hall, New Jersey.
Dorfman, M. J. and Medanic, J. (2004). Scheduling Trains on a Railway Network
using a Discrete Event Model of Railway Traffic. Transportation Research Part
B: Methodological, 38(1):81–98.
Dorndorf, U. and Pesch, E. (1995). Evolution Based Learning in a Job Shop
Scheduling Environment. Computers and Operations Research, 22(1):25–40.
Dowsland, K. (1993). Modern Heuristic Techniques for Combinatorial Problems,
chapter Simulated annealing. Blackwell Scientific Publications, Oxford.
Du, J. and Leung, J. Y.-T. (1990). Minimizing Total Tardiness on One Machine
is NP-hard. Mathematics of Operations Research, 15(3):483–495.
Eglese, R. W. (1990). Simulated annealing: a tool for operational research. Euro-
pean Journal of Operational Research, 46:271–281.
Enquiries, N. R. (2013). National Rail Enquiries official website. Retrieved April
29, 2013, from http://www.nationalrail.co.uk/ .
Essafi, I., Mati, Y., and Dauzere-Peres, S. (2008). Agenetic Local Search Algorithm
for Minimizing Total Weighted Tardiness in the Job-shop Scheduling Problem.
Computers and Operations Research, 35(8):2599–2616.
Fattahi, P., Mehrabad, M. S., and Jolai, F. (2007). Mathematical modeling and
heuristic approaches to flexible job shop scheduling problems. Journal of Intel-
ligent Manufacturing, 18:331–342.
212 BIBLIOGRAPHY
FICO (2013). FICO Xpress Optimimization Suite’s of-
ficial website. Retrieved February 01, 2012, from
http://www.fico.com/en/Products/DMTools/Pages/FICO-Xpress-
Optimization-Suite.aspx.
Fisher, H. and Thompson, G. L. (1963). Industrial Scheduling, Probabilistic Learn-
ing Combinations of Local Job-shop Scheduling Rules. Prentice Hall.
Flamini, M. and Pacciarelli, D. (2008). Real time management of a metro rail
terminus. European Journal of Operational Research, 189(3):746–761.
Fogarty, T. C., Ireson, N. S., and Bull, L. (1995). Applications of Modern Heuristic
Methods, chapter Genetics based machine learning applications in industry and
commerce, page 91110. Alfred Waller.
French, S. (1982). Sequencing and Scheduling: An Introduction to the Mathematics
of the Job Shop. Ellis Horwood, Chichester, UK.
Gao, J., Sun, L., and Gen, M. (2008). A hybrid genetic and variable neighbor-
hood descent algorithm for flexible job shop scheduling problems. Computers &
Operations Research, 35(9):28922907.
Garey, M. R. and Johnson, D. S. (1979). Computers and Intractability, a Guide
to the Theory of NP-completeness. W. H. Freeman and Company.
Glover, F. (1989). Tabu Search - Part I. ORSA Journal of Computing, 1:190–206.
Glover, F. and Kochenberger, G. A., editors (2003). Handbook of Metaheuristics.
Springer.
Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization & Machine
Learning. Addison- Wesley, Reading, MA.
Gomory, R. E. (1958). Outline of an algorithm for integer solutions to linear
programs. Bulletin of the American Mathematical Society, 64(5):275–278.
Gorman, M. F. (1998). An Application of Genetic and Tabu Searches to the Freight
Railroad Operating Plan Problem. Annals of Operations Research, 78:51–69.
BIBLIOGRAPHY 213
Graham, R. L., Lawler, E. L., Lenstra, J. K., and Kan, A. H. G. R. (1979).
Optimization and Approximation in Deterministic Sequencing and Scheduling:
A Survey. Annals of Discrete Mathematics, 5:287–326.
Groeflin, H. and Klinkert, A. (2009). A New Neighborhood and Tabu Search for
the Blocking Job Shop. Discrete Applied Mathematics, 157(17):3643–3655.
Hall, N. G. and Sriskandarajah, C. (1996). A Survey of Machine Scheduling Prob-
lems with Blocking and No-Wait in Process. Operations Research, 44(3):510–
525.
Hansen, I. and Pachl, J. (2008). Railway Timatbale & Traffic. Eurail Press.
Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. University
of Michigan Press, Ann Arbor.
Hoos, H. and Stutzle, T. (2005). Stochastic Local Search - Foundations and Ap-
plications. Morgan Kaufmann Publishers, Elsevier, Amsterdam.
Huisman, D., Kroon, L. G., Lentink, R. M., and Vromans, M. J. (2005). Oper-
ations Research in Passenger Railway Transportation. Statistica Neerlandica,
59(4):467–497.
Ivens, P. and Lambrecht, M. (1996). Extending the Shifting Bottleneck procedure
to real-life applications. European Journal of Operational Research, 90:252–268.
Jackson, J. R. (1955). Scheduling a Production Line to Minimize Maximum Tar-
diness. Technical report, Technical Report 43, University of California, Los
Angeles.
Johnson, D. S., Papadimitriou, C. H., and Yannakakis, M. (1988). How easy is
local search? Journal of Computer and System Sciences, 37(1):79–100.
Johnson, S. M. (1954). Optimal Two- and Three-stage Production Schedules with
Setup Times Included. Naval Research Logistics Quarterly, 1:61–68.
Jovanovic, D. and Harker, P. T. (1991). Tactical Scheduling of Rail Operations:
The SCAN I System. Transportation Science, 25(1):46–64.
214 BIBLIOGRAPHY
Kachiyan, L. G. (1979). A polynomial time algorithm for linear programming.
Soviet Mathematics Dolady, 20:191–194.
Karmarkar, N. (1984). A new polynomial-time algorithm for linear programming.
Combinatorica, 4(4):373–395.
Khosravi, B., Bennell, J. A., and Potts, C. N. (2010). Robust Train Schedul-
ing based on the UK Network. In 24th European Conference on Operational
Research EURO XXIV LISBON, Lisbon, Portugal.
Khosravi, B., Bennell, J. A., and Potts, C. N. (2011a). A Modified Shifting Bottle-
neck Procedure for Train Scheduling in the UK. In Workshop on Mathematical
Optimization of Railway-Systems (CPAIOR2011), Berlin, Germany.
Khosravi, B., Bennell, J. A., and Potts, C. N. (2011b). Train Scheduling in the UK
using a Job Shop Scheduling Approach. In Proceedings of the 5th Multidisci-
plinary International Scheduling Conference: Theory and Applications (MISTA
2011), Phoenix, Arizona, USA.
Khosravi, B., Bennell, J. A., and Potts, C. N. (2012a). Modified Shifting Bot-
tleneck Algorithms for Train Scheduling and Rescheduling in the UK. In Pro-
ceedings of the Vehicle Routing and Logistics Optimization (VeRoLog 2012),
Bologna, Italy.
Khosravi, B., Bennell, J. A., and Potts, C. N. (2012b). Train Scheduling and
Rescheduling in the UK with a Modified Shifting Bottleneck Procedure. In
Proceedings of the 12th Workshop on Algorithmic Approaches for Transportation
Modelling, Optimization, and Systems (ATMOS 2012), Ljubljana, Slovenia.
Kirkpatrick, S., Gellat, C. D., and Vecchi, M. P. (1983). Optimization by Simulated
Annealing. Science, 220:671–680.
Klemenz, M. and Schultz, S. (2007). Modelling Aspects of a Railway Slot Al-
location. In 2nd International Seminar on Railway Operations Modelling and
Analysis.
Kraay, D., Harker, P. T., and Chen, B. (1991). Optimal Pacing of Trains in Freight
Railroads: Model Formulation and Solution. Operations Research, 39(1):82–99.
BIBLIOGRAPHY 215
Kreipl, S. (2000). A Large Step Random Walk for Minimizing Total Weighted
Tardiness in a Jobshop. Journal of Scheduling, 3(3):12538.
Kroon, L. G., Romeijn, H., and Zwaneweld, P. J. (1997). Routing Trains through
Railway Networks: Complexity Issues. European Journal of Operational Re-
search, 98:485–498.
Kubiak, W., Sethi, S., and Sriskandarajah, C. (1996). An efficient algorithm for a
job shop problem. Mathematical Industrial Systems, 1:203–216.
Laguna, M. and Glover, F. (1993). Integrating Target Analysis and Tabu Search
for Improved Scheduling Systems. Expert Systems with Applications, 6:287–297.
Land, A. H. and Doig, A. G. (1960). An Automatic Method for Solving Discrete
Programming Problems. Econometrica, 28:97–520.
Lawler, E. L.; Wood, D. E. (1966). Branch-And-Bound Methods: A Survey.
Operations Research, 14(4):699–719.
Lawler, E. L. (1977). A ”Pseudopolynomial” Algorithm for Sequencing Jobs to
Minimize Total Tardiness. Annals of Discrete Mathematics, 1:331–342.
Lee, Y. H. and Pinedo, M. (1997). Scheduling Jobs on Parallel Machines with
Sequence-Dependent Setup Times. European Journal of Operational Research,
100(3):464–474.
Lenstra, J. K. (1977). Sequencing by enumerative methods. Mathematisch Cen-
trum, Amsterdam.
Leung, J. Y.-T., editor (2004). Handbook of Scheduling: Algorithms, Models, and
Performance Analysis. Chapman & Hall/CRC Press.
Leung, J. Y.-T. and Young, G. H. (1990). Minimizing Total Tardiness on a Single
Machine with Precedence Constraints. ORSA Journal on Computing, 2(4):346–
352.
Liebchen, C. and Mohring, R. H. (2008). Computer-aided Systems in Public Trans-
port, chapter The Modeling Power of the Periodic Event Scheduling Problem:
Railway Timetablesand beyond, pages 117–150. Springer Berlin Heidelberg.
216 BIBLIOGRAPHY
Liu, S. Q. and Kozan, E. (2009). Scheduling Trains as a Blocking Parallel-machine
Job shop Scheduling Problem. Computers & Operations Research, 36(10):2840–
2852.
Liu, S. Q. and Kozan, E. (2011). Scheduling Trains with Priorities: A No-Wait
Blocking Parallel-Machine Job-Shop Scheduling Model. Transportation Science,
45(2):175–198.
Liu, S. Q. and Kozan, E. (2012). A Hybrid Shifting Bottleneck Procedure Algo-
rithm for the Parallel-Machine Job-shop Scheduling Problem. Journal of the
Operational Research Society, 63:168–182.
Liu, S. Q. and Ong, H. L. (2002). A Comparative Study of Algorithms for the
Flowshop Scheduling Problem. Asia - Pacific Journal of Operational Research,
19(2):205–222.
Luethi, M. (2009). Improving the Efficiency of Heavily used Railway Networks
through Integrated Real-time Rescheduling. PhD thesis, ETH Zurich.
Lusby, R., Larsen, J., Ehrgott, M., and Ryan, D. (2011). Railway Track Allocation:
Models and Methods. Or Spectrum, 33(4):843–883.
Lusby, R., Larsen, J., Ryan, D., and Ehrgott, M. (2006). Routing Trains Through
Railway Junctions: A New Set Packing Approach. Technical report, 21, Tech-
nical University of Denmark.
Mascis, A. and Pacciarelli, D. (2000). Machine scheduling via alternative graphs.
Technical report, RT-DIA-46-2000, Italy.
Mascis, A. and Pacciarelli, D. (2002). Job-shop Scheduling with Blocking and No-
wait Constraints. European Journal of Operational Research, 143(3):498–517.
Mason, S. J., Fowler, J. W., and Carlyle, W. M. (2002). A Modified Shifting
Bottleneck Heuristic for Minimizing Total Weighted Tardiness in Complex Job
Shops. Journal of Scheduling, 5(3):247–262.
Mason, S. J., Fowler, J. W., Carlyle, W. M., and Montgomery, D. C. (2005).
Heuristics for minimizing total weighted tardiness in complex job shops. Inter-
national Journal of Production Research, 43(10):1943–1963.
BIBLIOGRAPHY 217
McMahon, G. B. and Florian, M. (1975). On scheduling with Ready Times and
Due dates to Minimize Maximum Lateness. Operations Research, 23(3):475–482.
Meloni, C., Pacciarelli, D., and Pranzo, M. (2004). A Rollout Metaheuristic for
Job Shop Scheduling Problems. Annals of Operations Research, 131(1):215–235.
Metropolis, N., Rosenbluth, A. W., Teller, A. H., and Teller, E. (1953). Equation of
State Calculation by Fast Computing Machines. Journal of Chemistry Physics,
21:1087–1091.
Monch, L. and Drieel, R. (2005). A distributed shifting bottleneck heuristic for
complex job shops. Computers & Industrial Engineering, 49:363–380.
Monch, L., Schabacker, R., Pabst, D., and Fowler, J. W. (2007). Genetic
algorithm-based subproblem solution procedures for a modified shifting bottle-
neck heuristic for complex job shops. European Journal of Operational Research,
177:2100–2118.
Nemeti, L. (1964). Das Reihenfolgeproblem in der Fertigungsprogrammierung und
Linear-planung mit logischen Bedingungen. Mathematica (Cluj), 6:87–99.
NetworkRail (2010). Route Plans 2012, Route Plan A Kent, pub-
lished on NetworkRail’s official website. Retrieved April 29, 2013, from
http://www.networkrail.co.uk/RoutePlans/PDF/RouteA-Kent.pdf.
NetworkRail (2013). Performance 2013, published on Net-
workRail’s official website. Retrieved April 29, 2013, from
http://www.networkrail.co.uk/about/performance/.
Newton, H. N., Barnhart, C., and Vance, P. H. (1998). Constructing Railroad
Blocking Plans to Minimize Handling Costs. Transportation Science, 32(4):330–
345.
Nowicki, E. and Smutnicki, C. (1996). A fast tabu search algorithm for the job
shop problem. Management Science, 42(6):797–813.
Odijk, M. A. (1996). A Constraint Generation Algorithm for the Construction of
Periodic Railway Timetables. Transportation Research Part B: Methodological,
30(6):455–464.
218 BIBLIOGRAPHY
Oliveira, E. (2001). Solving Single-track Railway Scheduling Problem using Con-
straint Programming. PhD thesis, The University of Leeds.
Oliveira, E. and Smith, B. M. (2000). A Job-shop Scheduling Model for the Single-
track Railway Scheduling Problem. Technical report, Researcg Report Series -
University of Leeds School of Computer Studies LU SCS RR (21).
Ovacik, I. M. and Uzsoy, R. (1997). Decomposition Methods for Complex Factory
Scheduling Problems. Kluwer Academic Publishers, Boston.
Pachl, J. (2009). Railway Operation and Control. Mountlake Terrace: VTD Rail
Publishing.
Papadimitriou, C. and Kanellakis, P. (1980). Flowshop scheduling with limited
temporary storage. Journal of Associated Computer Machinery, 27:533–549.
Papadimitriou, C. H. and Steiglitz, K. (1982). Combinatorial Optimization: Al-
gorithms and Complexity. Upper Saddle River, NJ: Prentice-Hall, Inc.
Paschos, V. T., editor (2010a). Concepts of Combinatorial Optimization. Wiley-
ISTE.
Paschos, V. T., editor (2010b). Paradigms of Combinatorial Optimization. Wiley-
ISTE.
Peeters, L. (2003). Cyclic Railway Timetable Optimization. PhD thesis, Erasmus
Research Institute of Management.
Pfund, M. E., Balasubramanian, H., Fowler, J. W., Mason, S. J., and Rose, O.
(2008). A multi-criteria approach for scheduling semiconductor wafer fabrication
facilities. Journal of Scheduling, 11(1):29–47.
Pinedo, M. and Singer, M. (1999). A Shifting Bottleneck Heuristic for Minimizing
the Total Weighted Tardiness in a Job Shop. Naval Research Logistics, 46(1):1–
17.
Pinedo, M. L. (2008). Scheduling: Theory, Algorithms, and Systems. New York,
NY, Springer.
BIBLIOGRAPHY 219
Pinson, E. (1995). The Job Shop Scheduling Problem: A Concise Survey and Some
Recent Developments, chapter 3, Scheduling Theory and its Applications, pages
277–293. John Wiley & Sons Ltd.
Plastria, F. (2002). Formulating logical implications in combinatorial optimization.
European Journal of Operational Research, 14(2):338–353.
Potts, C. N. and Strusevich, V. A. (2009). Fifty years of scheduling: a survey of
milestones. Journal of the Operational Research Society, 60:41–68.
Rayward-Smith, V. J., Osman, I. H., Reeves, C. R., and Smith, G. D., editors
(1996). Modern Heuristic Search Methods. John Wiley & Sons.
Reeves, C. R. (1995). Applications of Modern Heuristic Methods, chapter Genetic
algorithms and combinatorial optimisation, page 111126. Alfred Waller.
Rodriguez, J. (2007). A Constraint Programming Model for Real-time Train
Scheduling at Junctions. Transportation Research Part B-Methodological,
41(2):231–245.
Ross, S. M. (1983). Introduction to Stochastic Dynamic Programming. Academic
Press, New York.
Roy, B. and Sussman, R. (1964). Les Problmes dordonnancement Avec Contraintes
Disjonctives. Technical report, , 9, SEMA, Paris.
Sadeh, N., Sycara, K., and Xiong, Y. (1995). Backtracking techniques for the job
shop scheduling constraint satisfaction problem. Artificial Intelligence, 76:455–
480.
Sahin, I. (1999). Railway Traffic Control and Train Scheduling based on Inter-
train Conflict Management. Transportation Research Part B-Methodological,
33(7):511–534.
Sauder, R. L. and Westerman, W. M. (1983). Computer Aided Train Dispatching:
Decision Support through Optimization. Interfaces, 13(6):24–37.
Schlechte, T. (2012). Railway Track Allocation: Models and Algorithms. PhD
thesis, Technical University of Berlin.
220 BIBLIOGRAPHY
Schrage, L. (1970). Solving Resource-constrained Network Problems by Implicit
Enumeration-Nonpreemptive Case. Operations Research, 18:253–278.
Schrijver, A. (1998). Theory of Linear and Integer Programming. Wiley, New
York.
Schrijver, A. and Steenbeek, A. (1994). Timetable Construction for Railned. Tech-
nical report, C.W.I. Center for Mathematics and Computer Science, Amster-
dam.
Schutten, M. (1998). Practical job shop scheduling. Annals of Operational Re-
search, 83:161–177.
Serafini, P. and Ukovich, W. (1989). A Mathematical for Periodic Scheduling
Problems. SIAM Journal on Discrete Mathematics, 2(4):550–581.
Smith, S. P. (1992). Experiment on using Genetic Algorithms to Learn Scheduling
Heuristics. In Biswas, G., editor, Proceedings of SPIE, Volume 1707, Applica-
tions of Artificial Intelligence X: Knowledge-Based Systems, The International
Society for Optical Engineering: Bellingham, WA, page 378386.
Szpigel, B. (1973). Optimal Train Scheduling on a Single Track Railway. In
Ross, M., editor, Operational Research 72, Amsterdam, The Netherlands, pages
343–352.
Taha, H. A. (2002). Operations Research: An Introduction. Prentice Hall.
Taillard, E. (1994). Parallel Taboo Search Techniques for the Job Shop Scheduling
Problem. ORSA Journal on Computing, 6(2):108–117.
Timkovsky, V. G. (1985). On the complexity of scheduling an arbitrary system.
Soviet Journal of Computer and System Sciences, 5:46–52.
Tornquist, J. and Persson, J. A. (2005). Train Traffic Deviation Handling using
Tabu Search and Simulated Annealing. In Proceedings of the 38th Annual Hawaii
International Conference on. IEEE, 2005.
Tornquist, J. and Persson, J. A. (2007). N-tracked Railway Traffic Re-
scheduling During Disturbances. Transportation Research Part B: Methodolog-
ical, 41(3):342–362.
BIBLIOGRAPHY 221
Ullman, J. (1975). NP-complete Scheduling Problems. Journal of Computer and
System Science, 10 (3):384–393.
van Laarhoven, P. and Aarts, E. (1987). Simulated annealing: theory and applica-
tions. Kluwer, Dordrecht.
Vepsalainen, A. and Morton, T. (1987). Priority Rules for Job Shops with
Weighted Tardiness Cost. Management Science, 33(8):1035–1047.
Williams, H. P. (1990). Model Building in Mathematical Programming. Wiley,
Chichester.
Wolsey, L. A. and Nemhauser, G. L. (1998). Integer and Combinatorial Optimiza-
tion. Wiley, New York.
Wong, R. C., Yuen, T. W., Fung, K. W., and Leung, J. M. (2008). Optimiz-
ing Timetable Synchronization for Rail Mass Transit. Transportation Science,
42(1):57–69.
Xia, W. and Wu, Z. (2005). An effective hybrid optimization approach for multi-
objective flexible job-shop scheduling problems. Computer & Industrail Engi-
neering, 48:409–425.
Yamada, T., Rosen, B. E., and R., N. (1994). A Simulated Annealing Approach
to job Shop Scheduling using Critical Block Transition Operators. In IEEE
International Conference on Neural Networks, ICNN94. IEEE: New York, pages
4687–4692.
Yan, H. and Hooker, J. N. (1999). Tight representation of logical constraints as
cardinality rules. Mathematical Programming, 85(2):363–378.
Zhou, X. and Zhong, M. (2007). Single-track Train Timetabling with Guaran-
teed Optimality: Branch-and-bound Algorithms with Enhanced Lower Bounds.
Transportation Research Part B: Methodological, 41(3):320–341.