University of Southampton Research Repository ePrints Soton

242
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

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

To my husband and my parents for their endless love,support and encouragement.

xvii

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.

Appendix A

Train Scheduling and

Rescheduling: Experimental

Results

181

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%

Appendix B

Train Routing and Rerouting:

Experimental Results

195

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.