Railway Track Allocation:
Models and Methods
Report 3.2009
DTU Management Engineering
Jesper Larsen
Richard Lusby
Matthias Ehrgott
David Ryan
April 2009
Railway Track Allocation: Models and Methods
Richard Lusby‡∗, Jesper Larsen‡, Matthias Ehrgott §, David Ryan
‡
§
Department of Management Engineering, Technical University of Denmark,
DK-2800 Kgs. Lyngby, Denmark
§
Department of Engineering Science, The University of Auckland,
Auckland, New Zealand
March 2, 2009
Abstract
Efficiently coordinating the movement of trains on a railway network is a central part of the
planning process for a railway company. This paper reviews models and methods that have
been proposed in the literature to assist planners in finding train routes. Since the problem of
routing trains on a railway network entails allocating the track capacity of the network (or part
thereof) over time in a conflict-free manner, all studies that model railway track allocation in
some capacity are considered relevant. We hence survey work on the train timetabling, train
dispatching, train platforming, and train routing problems, group them by railway network
type, and discuss track allocation from a strategic, tactical, and operational level.
1
Introduction
The railway industry possesses a variety of rolling stock routing problems that can be modelled
and solved using Operations Research techniques. Such problems exist in several forms, depend
on the underlying railway network, and arise at different levels in the planning process for a
railway company. Allocating the track capacity of a railway network over time in a conflictfree manner can be considered, roughly speaking, the fundamental objective of any rolling stock
routing/scheduling problem. The aim of this paper is to provide a broad overview of the models and
methods proposed in the literature to solve all variants of rolling stock routing problems. Special
emphasis is given to the more recent work on the difficult problem of routing trains through complex
junctions/stations. Within this field of research several approaches exist; however, a survey that
collectively summarizes all contributions is noticeably absent in the literature. While work on
single track networks is included, this is by no means exhaustive. We attempt to highlight the
variety of approaches that exist and a much more comprehensive survey on optimization methods
for such problems can be found in Cordeau et al. [1998].
To set the context we begin by providing an overview of the planning process commonly adopted
by most railway companies. Railway companies typically adopt a hierarchical decision making
approach when planning their operations [see Bussieck et al., 1997]. This decomposition results in
tractable problems at each level and circumvents the need to deal directly with the entire, highly
complicated planning process. Figure 1 indicates the main subtasks involved as well as the order
in which they typically occur. In general, the optimal solution at a particular level is required as
input to the subsequent level. The ordering of the subtasks is also consistent with the classification
of the problems as they appear at each of the strategic, tactical, and operational levels commonly
found in large industries (see Assad [1980]).
Problems at the strategic level are characterized by lengthy time horizons and typically involve
resource acquisition. Central to the network planning phase of this planning level are problems
which concern the construction, and/or modification of existing infrastructure. In planning for the
∗ Corresponding
author. E-mail address:
[email protected]
1
Network Planning
Strategic Level
Line Planning
Timetable Generation
Rolling Stock Schedules
Tactical Level
Crew Schedules
Real Time Management
Operational Level
Figure 1: The Railway Planning Process.
future, railway companies must evaluate possible changes to the network and assess their impact,
particularly from a capacity perspective. A railway network in its simplest form can be viewed as
a graph of nodes and edges. Each node is associated with a point of the railway network where
significant train interaction occurs and usually represents a station or a junction. The major
difference between stations and junctions is that the former contain so-called platforms where
trains can stop to allow passengers to board and alight. An edge between any two nodes indicates
the section of track interlinking them. This typically consists of parallel stretches of one-way track
designated to rail traffic in each direction; however, it is not uncommon for multiple edges (or even
just a single edge) to exist between a pair of nodes. A line in a railway network refers to a route
that starts and ends at a terminal station, connects several intermediate stations, and is operated
by a particular train type. The frequency of a given line is the number of trains serving it over
a certain time period. The line planning problem for a railway company entails selecting a set of
lines (together with their frequencies). The selection of train lines is driven by forecast passenger
demand between pairs of origin and destination stations, and typical objectives for this problem
include minimizing operational cost or maximizing passenger satisfaction.
Tactical level problems focus more on allocating resources over an infrastructure that is assumed
to be fixed. The first of three such tasks identified in Figure 1 is timetable generation. Given the
proposed line plan together with the desired frequencies, one must determine for each train line the
arrival and departure time at each of the stations the line visits. The chosen times must satisfy both
track capacity constraints (i.e. two trains cannot be on the same piece of track at the same time)
as well as several railway company specific operational requirements. It is somewhat customary in
the passenger railway industry for railway companies to operate a cyclic (or periodic) timetable.
That is, a timetable that repeats itself at regular time intervals (e.g. every 30 minutes or every 60
minutes). To prevent trains from occupying the same piece of track at the same time one usually
specifies a so-called headway. The headway refers to the shortest time interval permitted between
consecutive train movements on any given piece of track. This is understandably dependent on the
speed capabilities of the trains under consideration. The operational requirements vary depending
on the type of timetable under construction. If one is determining a timetable for passenger trains,
then it is highly likely several requirements from a service perspective must be considered. For
instance, one may wish to enforce certain train connections. In most, if not all, railway networks
it is unlikely that direct connections between every pair of stations exist, and quite typically
passengers are asked to transfer between lines at particular stations. To provide effective transfer
possibilities, ideally the two train lines providing the connection should arrive at and depart from
the same station during an overlapping time interval. Dwell time constraints are also likely to be
enforced, i.e. how long trains may spend in the station. The time required by passengers to board
and alight dictates the minimum amount of dwell time required. Placing a maximum tolerance on
dwell time is usually an attempt to increase the utilization of the station’s capacity by restricting
the amount of time trains may remain in the station. For two trains that have a considerable
portion of their respective lines in common, one may also wish to include the requirement that
the two trains be coupled into one train at a given station (or similarly decoupled). For a detailed
discussion of timetable requirements in passenger railways, we refer the reader to Peeters [2003,
Chapter 3]. Freight train timetables, on the other hand, typically have many fewer restrictions.
2
The requirement that all train movements with a section of track in common satisfy a minimum
specified headway is, however, shared. Quite typically the sequencing of trains (i.e. the order of
the trains on the track) can only be altered at stations or junctions. This is definitely true if the
track connecting such nodes of the network consists of two stretches of parallel track, each of which
is dedicated to rail traffic in a particular direction.
There are several, often conflicting, objectives one can consider when constructing a timetable.
For timetables in passenger railways, common objectives include minimizing the operational cost of
the timetable or maximizing passenger satisfaction by providing many direct connections between
stations. One might also look at maximizing timetable robustness. Maximizing robustness entails
finding a timetable in which delays to trains are less likely to propagate and impact the scheduled
times of other trains. In some cases, however, simply finding a feasible timetable might suffice.
As Peeters [2003] explains, the first two objectives mentioned are conflicting in that the timetable
with greatest passenger satisfaction usually incurs the highest operational cost. Other objectives
involve minimizing the deviation from some ideal (i.e. most preferred) timetable, or minimizing
the total time it takes the trains to complete their respective itineraries (known as the transit
time). The latter objective typically defines the objective for the real-time version of the train
timetabling problem in which the arrival and departure times of trains are adjusted so that the
total accumulated delay is minimized.
The problem of determining the arrival and departure times for a set of trains at a sequence of
stations is commonly referred to as the train timetabling problem. Depending on the nature of the
underlying network, this problem does present itself in several different forms. In countries with
extensive railway networks, such as those commonly found in Europe, nodes are highly interconnected networks of track where multiple railway lines meet, intersect and split. In the majority
of cases, it is computationally prohibitive to consider the often large number of possible routings
within a node when assigning arrival and departure times to each of the trains. In such situations
one usually considers an aggregated rail topology in which the detailed layout of track within the
node is ignored. A feasible timetable is then constructed with respect to this network. In a second
step, one considers the detailed layout of the node and checks if the times obtained for the aggregated network allow for a feasible routing within the node to be obtained. If the node is a station,
this second step involves the detailed allocation of trains to platforms. An iterative procedure may
be required if the timetable is infeasible with respect to the node. Iterative timetabling and routing
procedures are described in Zwaneveld et al. [1996], Zwaneveld et al. [2001], and Burkolter [2005].
If, on the contrary, the network of track being considered is predominantly a long single stretch
of track connecting multiple stations, where each of the stations has one (possibly two) sidings to
facilitate train overtaking and stopping, timetabling trains quite often implicitly defines the routes.
The term siding refers to a section of track parallel to the main track. In this context, the problem
is termed the train pathing problem, or the train scheduling problem, and not without confusion,
the train dispatching problem. In such problems a routing of the trains is equated with a feasible
so-called meet/pass plan in which trains are scheduled to stop at stations to allow trains to share
the infrastructure or even overtake one another. This problem typically arises in the freight rail
industry. Here one can observe the main difference between train timetabling and train routing.
To clarify, the train timetabling problem must ensure that trains are separated by the minimum
required headway in determining optimal arrival and departure times. This problem, however,
usually considers limited routing possibilities for trains. The train routing problem, on the other
hand, arises at complex nodes of the network and attempts to find an optimal routing given feasible
arrival and departure times. For this reason the two problems are considered complementary. Other
problems at the tactical level include the construction of rolling stock and crew schedules. Each
itinerary in the chosen timetable must receive a train of a certain length as well as the necessary
crew to operate it. In the allocation of rolling stock to particular itineraries one may wish to
include decisions on maintenance requirements for the trains.
Operational problems are defined to be those that occur on a day-to-day basis when operating
policies determined at the tactical level need to be adjusted due to unforeseen disturbances. For
instance, late train arrival, track maintenance, or even accidents are likely to propagate through
a timetable with varying degrees of severity, and quite possibly result in the planned schedules
becoming infeasible. The dynamic environment in which these problems occur necessitates almost
instantaneous resolution. One must quickly and efficiently adjust the planned schedules in such a
3
way so as to return to a feasible schedule with minimal total disruption. Hence, the role of the
real-time management level in Figure 1 is to monitor the planned schedules and correct for any
disruptions that occur on a daily basis.
Although Figure 1 indicates that the problems are solved in a top-down manner, this may not
necessarily be true. Bussieck et al. [1997] and Lindner [2000] point out that it may be necessary
to cycle back and alter former decisions, or even consider subsequent levels when at a particular
planning level in the process. For instance, it is unlikely that one would consider modifications to
railway infrastructure at the network planning level without at least taking into consideration the
level of rail traffic the proposed infrastructure would cater for, i.e. the line planning problem and
the train timetabling problem.
In what follows we consider the train timetabling and train routing problems in more detail.
Both problems share the fundamental objective of finding a set of mutually disjoint train movements
that satisfy a variety of operational constraints. In particular, a minimum required headway must
separate any pair of trains. We begin with a discussion on single track networks in Section 2
before more general networks are considered in Section 3. Although Section 3 reviews work on
more general railway networks, this is restricted to those studies that ignore the routing of trains
through stations and junctions. This is the topic of Section 4 where we compare and contrast the
work that has been completed in this area. We conclude the paper with some final remarks in
Section 5.
2
Single Track Railway Networks
The purpose of this section is to review the models and methods that have been employed to
allocate track capacity in determining an operational timetable for single track railways. Hence,
this work mainly pertains to the train timetabling/scheduling problem. However, as will become
apparent, some of the techniques are naturally applicable to more complicated routing situations.
One of the earliest published works on the application of optimization in the field of train
scheduling is Szpigel [1973]. The motivation for the work is a long single track railroad in eastern
Brazil catering for trains which are used to transport iron ore in both directions. The track is
divided into a number of track sections, with each track section linking two stations. Additional
track is assumed to be available at the stations for trains to stop or overtake one another. The
author is perhaps the first to identify strong similarities between the train scheduling problem and
the well known job shop scheduling problem. With job shop scheduling problems one is given a
set of jobs and a set of machines. Associated with each job is a chain of operations, where each
operation requires a given amount of uninterrupted processing time on one of the machines. The
operations for a particular job must be performed in sequence, and no machine can host more than
one job at a time. The aim is to schedule jobs in such a way that the completion time (referred to
as the makespan) for all jobs is minimized.
In the train scheduling context we have the following. Trains (jobs) require the use of several
track sections (machines) to complete their designated itineraries. An operation is associated with
the traversal of a track section, with the processing time of a track section being the minimum
amount of time the train requires to traverse the track section. Operations are constrained from
both a temporal and a spatial perspective. Temporal constraints are required to ensure that a train
cannot traverse any given track section without having traversed the track section immediately
preceding it, whereas spatial constraints stipulate that no track section can host more than one
train at any given time. Szpigel [1973] thus defines, for each train, decision variables pertaining
to the entrance time to each track section of its route. The constraints of the model enforce the
requirement that the time difference between the entrance times of consecutive track sections is at
least the time required to traverse the first track section of the two. The departure time of a train
at its station of origin is assumed to be known.
To prevent track sections from hosting more than one operation at any given time, Szpigel
[1973] identifies so-called ordering constraints. An ordering constraint ensures that, for trains
sharing a common track section, the entrance time of each train to the track section is separated
by the minimum specified headway. The model is solved using a branch-and-bound algorithm. The
initial linear programming (LP) problem excludes any ordering constraints. Branching is required
4
if the solution contains two trains in conflict; in other words, two trains are on the same track
section at the same time. Two branches are enforced by imposing each of the respective ordering
constraints. Imposition of an ordering constraint forces one of the trains to wait until there is
sufficient headway between the trains, and thus incur a delay. The resulting linear programs are
solved until a feasible meet/pass plan has been constructed with the objective being to minimize
a weighted sum of train transit times. With the limited computing power available at the time,
Szpigel [1973] considered instances involving five track sections and ten trains.
Constructing feasible meet/pass plans is also the topic of Sauder and Westerman [1983] and
Jovanović and Harker [1991]. Both approaches consider a similar network to that of Szpigel [1973]
and present enumeration based methods. Given a proposed timetable for the trains, the method by
Sauder and Westerman [1983] first identifies all potential conflicts as well as all stations (referred
to as sidings in the paper) where such conflicts can be resolved. A complete enumeration of feasible
meet/pass plans is constructed in the form of a tree structure. Each level of the tree represents
the resolution of one conflict, whereas the nodes on any particular level identify the train that
must wait and the siding where the conflict is to be resolved. Trains incur a delay cost in waiting
at sidings, and hence the cost on any node defines the accumulated cost of the partial resolution
strategy. Leaf nodes define feasible meet/pass plans. The objective minimizes the total delay
weighted by train priority.
Jovanović and Harker [1991] propose a similar enumeration strategy to that of Sauder and
Westerman [1983]. Unlike Sauder and Westerman [1983], however, the model has no explicit
objective function as it is primarily concerned with showing feasibility of a proposed schedule and
providing the user with a number of feasible meet/pass plans. A mixed integer programming
formulation (MIP), which the authors state is similar in structure to that of a flow shop scheduling
problem commonly found in manufacturing, is presented. Binary variables dictate the ordering
of pairs of trains on track sections, whereas continuous variables govern the selection of arrival
and departure times for the trains. The constraints of the model enforce a number of temporal
restrictions on the trains, restrict the number of trains that can be at any siding simultaneously
to one, and also ensure that a siding can only be used to resolve a conflict if it is at least as long
as the train that must use it. The SCAN I system the authors developed can consider single or
double track sections between sidings and includes a simulation module to model train movements.
Computational experiments reported in the paper deal with instances involving 24 train lines and
schedules for 100 freight and passenger trains.
Kraay et al. [1991] consider a slightly different version of the problem, which they term the
train pacing problem. The authors argue that in determining a feasible meet/pass plan the speed
of the train should be determined endogenously. That is, one should determine a speed profile for
each train (i.e. pace the train) that minimizes some criterion (fuel consumption, delay, etc.) when
determining a meet/pass plan. For this reason, the traversal time of a track section is considered
variable, and the objective aims to minimize the fuel costs, which are obviously dependent on
the speed of the train. The authors present a mixed integer nonlinear program for the problem.
A branch-and-bound procedure combined with cutting planes is proposed to construct a feasible
meet/pass plan. The model can, however, take as input any feasible meet/pass plan. Given a
feasible meet/pass plan the objective is to optimize the train velocities. Hence the problem is
typically solved for a set of feasible meet/pass plans. The paper discusses results for a 102 mile
stretch of track interlinking 13 sidings. The corridor is traversed by 22 trains that have potentially
34 meet/pass conflicts.
A completely different approach is presented by Carey and Lockwood [1995]. Carey and Lockwood [1995] consider an almost identical network to that of Szpigel [1973]. However, the track
section between any two stations (referred to as a link in the paper) is designated to rail traffic in
the same direction. The authors present are large 0-1 MIP formulation similar to that of Jovanović
and Harker [1991]. Each binary variable governs the order of a pair of trains on a given track
section. Temporal constraints identical to those of Szpigel’s model preserve the time-space continuum of train motion. Unlike Szpigel [1973], however, the model includes all ordering constraints.
The inclusion of the binary variables as well as a large positive number in such constraints governs
which ones are activated and deactivated. Other constraints enforce the consistency of the binary
variables. The objective minimizes the deviation from some ideal arrival and departure times for
each of the trains. Given the size of the formulation, the authors adopt a heuristic approach which
5
sequentially schedules trains. The order in which the trains are considered typically follows the
chronological order of departure times or train priority. To schedule trains sequentially the authors
suggest constructing a subproblem from the initial formulation by holding fixed the sequence of
already scheduled trains, but still permitting arrival and departure times to vary. Each subproblem
is then solved using a branch-and-bound technique. The approach also allows for the possibility
of rescheduling trains once a feasible solution has been obtained in an attempt to improve the
solution. Subsequent work by Carey [1994a,b] shows that this approach not only extends to the
case where there are multiple lines between stations that have multiple platforms, but also the case
in which the single stretch of track is bidirectional.
Other heuristic approaches for the train scheduling problem have also been proposed by Cai
and Goh [1994], Higgins et al. [1996], Higgins et al. [1997], and Cai et al. [1998]. The focus is
slightly different in that the authors consider developing tools for real-time decision support of the
problem. That is, allocating track capacity in a real-time environment possibly as a disruption
recovery measure. However, as Higgins et al. [1996] point out, the methods are equally applicable
in an evaluative capacity when considering potential timetables for the trains.
Higgins et al. [1996] consider a single stretch of bidirectional track that is commonly found in
the freight rail industry in Australia. To construct a feasible meet/pass plan, the authors present
a 0-1 MIP formulation that is very similar in structure to that of Carey and Lockwood [1995].
Binary variables define the order of two trains on a track section, whereas continuous variables
model the arrival and departure times at the sidings on the track. Higgins et al. [1996] include
extra flexibility in terms of train dynamics in that each train has a minimum as well as a maximum
achievable velocity on any given track section. Hence, the model also includes some variability in
the amount of time it takes a train to traverse any track section. The constraints of the model, as
is customary with this problem, stipulate the temporal restrictions trains must respect. A large
proportion of the constraint set consists of the train ordering constraints (identical to those of the
model proposed by Carey and Lockwood [1995]) which prevent train conflicts. The objective is to
minimize the total train delay weighted by train priority.
Higgins et al. [1996] present a branch-and-bound framework that is quite similar to that of
Szpigel [1973]. The initial problem considered is a relaxed version of the problem in which none
of the constraints on train interaction are included. Hence only a subset of constraints is included
in the original problem. Conflicts are identified and resolved by creating two branch-and-bound
nodes with the respective train interaction constraints enforced. At each node one calculates not
only the immediate cost incurred as a result of delaying the train that prompted the branch, but
also a lower bound on the expected total delay remaining due to the unresolved conflicts. This
sum defines the cost of a node. The algorithm iteratively proceeds in this manner, adopting a
depth first search of the tree by picking the node of the last resolved conflict with lower total cost.
Instances involving up to 30 trains and 12 sidings are reported in the paper. In a subsequent paper,
Higgins et al. [1997] develop and compare several heuristic techniques. In particular, a local search
heuristic applied to the first solution found in the branch-and-bound tree method of Higgins et al.
[1996] is compared with a genetic algorithm approach, a Tabu search heuristic, and two hybrid
approaches. Instances of up to 50 trains with between 103 and 113 conflicts are considered in the
paper.
Cai and Goh [1994] propose a simple greedy heuristic for the same problem. The authors make
the assumption that all trains travelling in the same direction have not only the same speed, but
also the same terminating siding. The heuristic considers trains in chronological order and assumes
that the start time and initial siding location of each train are known. Given an incumbent train,
an iteration first determines two sets of conflicting trains and then updates the current time and
siding location of each set of trains. To determine the two sets of conflicting trains, the algorithm
does not only consider all conflicts the incumbent train will encounter on travelling to the next
siding, but also any conflicts between opposing trains travelling on the same track section as the
incumbent train within a certain time interval. The algorithm determines the cost associated
with delaying each group of trains (or each of the two trains if they only conflict is between the
incumbent train and one other train) at the respective sidings and selects the allocation that results
in lowest delay cost. Hence, it iteratively proceeds and resolves conflicts at the local level only and
attempts to minimize total delay. A discussion on how to extend the model to incorporate train
passing is also provided. The paper presents two examples. Both of which had 12 sidings and
6
considered 12 and 20 trains, respectively.
Cai et al. [1998] extend the work of Cai and Goh [1994]. In particular, the authors relax the
requirement that the initial location for a train be at a siding. In a real-time environment trains
can be positioned anywhere on the network. Cai et al. [1998] present a two-phase approach with
the first phase updating the current time and position (which the authors refer to as position time
pair ) so that all trains are positioned at a siding. The second phase then implements a refined
version of the greedy heuristic in Cai and Goh [1994]. A successful implementation of the algorithm
is reported for an Asian railway company, where up to 400 trains run per day with as many as 60
trains in the system at any given time.
Şahin [1999] similarly considers the real-time scheduling of trains on a single track railway. The
author presents a heuristic which considers conflicts in the order that they appear and sequentially
resolves them. For both of the trains involved in a conflict, the algorithm considers the delay
necessary in order to resolve the conflict. A look ahead feature, which determines the expected
arrival of all other trains at their respective destinations as a consequence of delaying one of the
trains, is also included. The train resulting in least expected delay to the rest of the trains is
delayed. Computational results for between 6 and 20 trains on a 163 kilometre stretch of track in
Turkey are given.
More recently, Oliveira and Smith [2000] have proposed a job shop scheduling formulation for
the problem of scheduling trains along a single track railway in a disruption recovery environment. The formulation is fundamentally the same as that of Szpigel [1973] excluding any ordering
constraints. It is solved using constraint programming techniques. Conflicts are resolved in chronological order, and the objective minimizes the total delay. The model also incorporates several extra
constraints representing practical restrictions. In particular, it possesses the capability to force two
trains to reside at the same station for a certain amount of dwell time and also allows the same
train to perform multiple itineraries.
Adenso-Diaź et al. [1999] propose a MIP model for the problem of online optimization of
train rescheduling in a regional railway network. Although no explicit reference is given to the
nature of the network, it would appear that the authors consider a single track railway. The MIP
model presented is considered to be too complicated to solve in real-time, and the authors adopt
a more practical heuristic approach. The disruption which produces the conflict is assumed to
affect services over a certain time horizon. A train service corresponds to the movement of a train
between two stations. Given the number of train services affected, the aim of the heuristic is to
reassign trains to services in such a way that total delay is minimized. This is somewhat different
to the other approaches in that the authors reallocate the trains to the itineraries to minimize
the delay. The heuristic method is built on a tree enumeration approach. Each level of the tree
represents a service with the nodes on any level corresponding to the trains that can operate the
service. Based on its priority, number of passengers, and delay, each node is assigned a cumulative
score to reflect its attractiveness. The authors describe a pruning strategy to prevent complete
enumeration of such a tree.
Brännlund et al. [1998] introduce the notion of packing constraints to restrict the number of
trains using any track section (which is termed block section in the paper) at any given time to
at most one. A bidirectional single stretch of track connecting 17 stations in Sweden provides the
motivation for the work. The authors propose a large set packing integer programming formulation.
The model discretizes the scheduling horizon into one minute intervals, and a constraint is then
identified for every track section in every minute. A unique acyclic time-space network consisting of
6 different arc types is used to model each train’s movement, with paths in the time-space network
reflecting different strategies for the associated train to complete its itinerary. The variables of
the model are hence associated with possible train paths, with each variable contributing to the
constraints that reflect its movement on the rail network. The objective attempts to minimize
unnecessary waiting along the track. The authors suggest solving the model with Lagrangian
relaxation techniques. Brännlund et al. [1998] relax all constraints of the model, and hence separate
the problem into n independent subproblems, where n is the number of trains. The authors test
and compare several dual variable update schemes and combine this with a train priority based
heuristic to solve the problem. Computational results reported indicate that instances involving up
to 30 trains (both freight and passenger) could be quickly solved within a few percent of optimality.
7
3
General Railway Networks
So far we have considered models and solution techniques for allocating the capacity of long single
track railways where the aim is to construct a feasible meet/pass plan that typically minimizes
the deviation from some ideal schedule. We now turn our attention to more complicated railway
networks, particularly those in the passenger railway industry.
Caprara et al. [2002] consider the problem of timetabling trains along main corridors within
the Italian railway network. A corridor typically connects two main stations, interlinks several
intermediate stations, and consists of parallel stretches of one way track in either direction. By
reduction from the maximum independent set problem, the authors prove the problem they consider
is NP -hard. Caprara et al. [2002] model the problem using an acyclic directed multigraph G =
(V, A), with the node set V consisting of arrival and departure nodes as well as artificial source
and sink nodes. Each arrival and departure node corresponds to a possible station as well as a time
instant at which the respective action can occur. There may be many nodes representing the same
station depending on the number of possible time instants during which a train may arrive at (or
depart from) the particular station. Each arc a ∈ A is associated with the duration between two
events, i.e. the travel time between stations or the dwell time at stations. Given both the origin
station and terminal station for each of the trains, it is trivial to see that any path connecting the
two defines a feasible schedule for the respective train.
Based on this network, Caprara et al. [2002] present an arc based multicommodity flow formulation with additional packing constraints. Binary decision variables govern the inclusion of any arc
a in the solution. Flow constraints are required to ensure that the selected arcs for a train define
one of its feasible paths. Two additional sets of binary variables are used to define constraints
that prevent the simultaneous selection of conflicting arcs. The first set yi (for all i ∈ V ) indicates
whether some train path visits node i, whereas the second set zji (for all j ∈ T , i ∈ V ) indicates
whether or not train j visits node i. Two arcs are said to be in conflict if they represent the same
physical piece of track, and the headway time between the arrival (or departure) of the two train
movements is not satisfied. For example, two arcs that define the same physical section of track
and indicate that one of the two trains overtakes the other are in conflict. The objective attempts
to minimize the difference from each train’s ideal timetable.
One could omit the last two sets of binary variables and simply have packing constraints directly
preventing the selection of incompatible arcs, i.e. each packing constraint is of the form
X
xa ≤ 1,
a∈C
where C is a maximal subset of pairwise incompatible arcs. If C denotes the set of all such subsets,
this is equivalent to saying each C ∈
C corresponds to a maximal clique in the undirected conflict
graph GC = (A, AC ), where AC = {a, b} ∈ A2 : a 6= b and in conflict .
The authors propose a Lagrangian relaxation solution approach and state that relaxing the large
number of constraints in C would be impractical due to the overhead associated with keeping track
of all Lagrangian multipliers. Caprara et al. [2002] thus adopt the alternative approach of relaxing
all constraints (defined using the additional binary variables) which prevent the simultaneous
selection of conflicting arcs. The approach is tested on a number of real life instances arising in
Italy. The problems considered have as many as 73 stations and 500 trains over 24 hours divided
into 1 minute intervals. In the majority of cases all problems could be solved to within 2% of
optimality. However, on other instances, particularly highly congested cases characterized by many
trains, the optimality gap was shown to be as high as 20%. In a follow up paper, Caprara et al.
[2006] extend the formulation to include additional constraints representing practical restrictions.
In particular, station capacities, maintenance operations, and fixed timetables for certain trains
are included. Problem instances concerning up to 49 stations and 221 trains are considered.
In more recent work, Cacchiani et al. [2008] describe a column generation approach to train
timetabling on a corridor. The underlying integer linear program formulation is a natural variant of
those proposed by Caprara et al. [2002] and Caprara et al. [2006]. An identical time-space network
is used to model the problem. Cacchiani et al. [2008], however, present a path based formulation as
opposed to the arc based multicommodity flow formulations described in both Caprara et al. [2002]
and Caprara et al. [2006]. Binary decision variables are associated with the inclusion of a path (a
8
feasible sequence of arcs connecting the source node with the sink node). This is in comparison to
the arc based multicommodity flow formulations that have binary decision variables governing the
inclusion of a particular arc. The constraints of the model simply prevent the selection of conflicting
paths. To solve the resulting set packing model the authors describe an exact branch-and-cut-andprice algorithm as well as two heuristic approaches. Both heuristics initially iteratively construct
feasible solutions by fixing paths at the solution to the LP relaxation. Several local search strategies
then improve this solution. The local search strategies attempt to improve the solution by finding
the optimal path for a train given a fixed set of paths for the other trains. The authors show that
the column generation subproblem entails computing an optimal path in an acyclic graph and that
the addition of violated constraints does not destroy the subproblem’s structure. Computational
experiments considered 11 real life instances arising at the Italian railway company and contained
up to 102 stations and 221 trains. The three methods are compared with the Lagrangian method
of Caprara et al. [2006]. Results show that the LP relaxation of the path based formulation yields
a better upper bound than that of the Lagrangian approach and, more importantly, in a much
shorter time. The solutions obtained using the first heuristic (which implements an additional local
search strategy as well as a different path fixing routine in constructing an initial solution to that
of the second) almost always obtains a better solution than that of the Lagrangian approach. The
solution time is, however, significantly longer. The second heuristic obtains solutions of similar
quality to that of the Lagrangian approach in a similar time frame. However, one observes more
variation in the solution times. The exact approach was able to solve 3 of the 11 instances to
proven optimality (for the first time) in less than 100,000 seconds.
Borndörfer et al. [2005] present a formulation that is very similar to that of Caprara et al.
[2002]. Unlike Caprara et al. [2002], however, the authors do not just consider corridors linking
main stations. Borndörfer et al. [2005] propose an auction based approach to optimally allocate the
track capacity of a railway network. The authors present a framework which allows train operating
companies (TOCs) to bid for so-called slots. Roughly speaking, a slot refers to a sequence of track
over time. In requesting a slot, a TOC must specify the monetary amount they are prepared to pay
for the slot, the type of train they wish to operate, the sequence of stations the train will visit, and
time-value specifications. Time-value specifications express, in monetary terms, the preference for
particular arrival and departure times. As Borndörfer et al. [2005] explain, an auction approach
allows one to consider multiple interdependent slots simultaneously without having to resort to
the somewhat customary approach of allocating slots based on train priority.
In modelling a railway network Borndörfer et al. [2005] adopt a macroscopic view. The rail
network is hence modelled as a digraph. The nodes of this digraph correspond to junctions,
whereas the arcs represent the sequence of track interlinking the junctions. Each node has an
assigned capacity, reflecting the number of trains that can pass and/or stop at the node at any
given time. To model the temporal nature of train movements, the authors construct a time
expanded model by making multiple copies of the node set. The time horizon is discretized into
one minute intervals, and a copy of the node set is constructed for every minute. An arc in this
time expanded network connects two nodes if the time duration of the arc is consistent with train
driving times. A slot is simply a directed path in the time expanded network. Depending on its
kinematic capabilities, a train is able to use a subset of the arcs in the network.
With this underlying time-space network, the optimal track allocation problem (referred to as
OPTRA in the paper) is formulated as an arc-based multicommodity flow problem with additional
packing constraints. The formulation is equivalent to that of Caprara et al. [2002] with binary
variables dictating the allocation of arcs to bids. The flow constraints enforce the requirement
that the arcs selected for a particular bid define a slot in the time-space network connecting the
departure and arrival station associated with the bid. The additional packing constraints restrict
the selection of arcs that do not satisfy headway requirements for trains to be less than one and
also enforce node capacities by restricting the number of trains arriving at any node in a particular
time interval to be less than the respective capacity of the node. Such constraints are of the form
as that given in equation (3). The objective maximizes the total monetary value of the bids.
Borndörfer et al. [2005] also present an extension of this initial formulation which includes several constraints representing practical restrictions. In particular, time windows as well as penalties
on deviations from desired arrival and departure times are included. The model is also extended
to include the capability of accepting combinatorial AND bids and XOR bids. An AND bid states
9
that either a subset of individual bids must be accepted if one bid from the subset is chosen or
none of them. An XOR bid, on the other hand, states that at most one bid from a subset of bids
can be selected.
The authors test the extended model on a subnetwork of the long distance rail network in
Germany, encompassing Hannover, Kassel and Fulda. The base case considers 946 train requests
with all trains having a known origin station and known terminal station. Extra test cases are
generated by allowing flexibility (in the form of time windows) on train departure times. Five
extra test cases are constructed by allowing longer time windows (increments of one minute up to
a maximum of five) on all departure times for trains. Computation times reported in the paper
increased from 6 seconds without time windows to 3 days when a 5 minute time window was
permitted. The second test considers an iterative combinatorial auction procedure in which a bid
generator attempts to anticipate the bids of future players in the railway auction. Each round
of the auction involves solving an OPTRA problem. At the end of each auction, train operating
companies have the opportunity to increase any non-assigned bids, with the auction continuing
until no bids change. The impact of synchronized bids through AND bids is also studied. The
authors conclude that competition is much more pertinent for individual bids, with synchronized
bids remaining quite stable.
In subsequent work, Borndörfer and Schlechte [2007b] view the optimal track allocation problem
from a slightly different perspective. The authors recognize that models which attempt to rule out
train conflicts through an enormous number of packing constraints, such as the multicommodity
flow formulation proposed by Borndörfer et al. [2005], typically have weak LP relaxations, and
thus make the resulting integer programs extremely difficult to solve. The model proposed by
Borndörfer and Schlechte [2007b] hence attempts to rule out conflicts through the addition of
extra variables rather than constraints. The formulation is shown to have a constant number of
rows and be amenable to column generation techniques.
In a similar vein to Borndörfer et al. [2005], Borndörfer and Schlechte [2007b] formulate the
optimal track allocation problem in terms of a digraph G = (V, A). Every node v ∈ V represents
the arrival (or the departure) of a train at (from) one of the stations at a certain time. Once again
the arc set A defines the track interlinking stations. Given the temporal nature of the network,
several arcs may correspond to the same physical section of track; however, the time interval for
which it is said to be blocked can be different. Paths through the digraph correspond to train
routes on the railway network (again only at the macroscopic level), and two routes are said to
be in conflict if there is an arc conflict, i.e. the respective blocking times for the arcs overlap,
and the arcs represent the same physical piece of track. Furthermore, Borndörfer and Schlechte
[2007b] introduce the concept of an arc configuration. An arc configuration refers to a subset of arcs
representing the same physical piece of track that are conflict free. Given a set of train requests,
one attempts allocate the track capacity of the network such that each train receives at most one
non-conflicting path.
Borndörfer and Schlechte [2007b] define binary variables to govern the selection of train paths
as well as binary variables that dictate which arc configuration each segment of track is assigned.
Packing constraints enforce the requirement that at most one path can be chosen for any train
as well as the requirement that at most one arc configuration can be selected for any segment of
track. Linking constraints then relate train paths with each track configuration to ensure a conflict
free solution. The authors present a column generation framework in which the pricing problems
for both train paths and configuration variables entails computing longest paths in appropriate
acyclic networks. Computational results for three problems containing 146, 250 and 570 trains on
a subnetwork of the German long distance rail network are provided. Empirical evidence suggests
these problems can be solved close to optimality with this approach.
In a comparative study, Borndörfer and Schlechte [2007a] consider the track configuration based
formulation of Borndörfer and Schlechte [2007b] and packing based formulations in more detail.
Packing based formulations are those that do not include arc configuration variables and typically
prevent train conflicts through the inclusion of packing constraints.
Given the same digraph model G = (V, A) as that proposed in Borndörfer and Schlechte
[2007b] the authors describe two possible packing formulations. The first one is an arc based
mulitcommodity flow formulation (APP), similar to those proposed by Borndörfer et al. [2005] and
Caprara et al. [2002], whereas the second is a path based set packing formulation (PPP) similar
10
to that of Brännlund et al. [1998]. The majority of the packing constraints for each formulation
rule out conflicting movements on railway infrastructure. As we have established earlier, such
constraints are clique inequalities and define the set of all maximal cliques in an undirected conflict
graph GC = (A, AC ). These two formulations are compared with an arc based track configuration
formulation (ACP) and a path based track configuration formulation (PCP). The authors provide
a proof showing that the LP relaxation of each of the formulations yields the same objective value.
Computational experiments reported in the paper focus on a portion of the German railway
network consisting of 37 stations connected via 120 sections of track and compare the performance
of the APP, ACP and PCP methods. The APP method used in the comparison is a somewhat
weakened version (which the authors refer to as APP′ ) as the packing constraints only prevent arc
conflicts between pairs of arcs as opposed to the much stronger aforementioned clique inequalities.
The authors elect not to test the PPP method as they claim the majority of work in this field is
based on the APP approach. Three test scenarios containing 146, 285, and 570 trains consisting
of 6 different train types form the basis of 48 test instances. The additional test instances are
constructed by incorporating an increasing amount of flexibility in the arrival and departure times
for the trains. The primary objective of the problems was to schedule as many of the trains as
possible. The authors conclude that the APP′ approach produced noticeably weaker LP bounds
than both the ACP and PCP methods. The PCP method is considered the method with the most
potential as it is the only method that is able to solve some of the larger problem instances.
All of the work reviewed so far considers allocating the track capacity of a railway network over
time when a proposed timetable is provided. Furthermore, the preceding discussion has largely
ignored the notion of periodicity of timetables. All of the reviewed work assumes the timetable
repeats on a daily basis. In what follows we discuss techniques that have been proposed to construct
timetables with much shorter periods (i.e. 30 or 60 minutes). Where relevant we discuss how these
methods ensure train movements within the network are conflict free.
The Periodic Event Scheduling Problem, or PESP as it is commonly referred to, has been the
model of choice for the construction of periodic timetables in the railway industry. First introduced
by Serafini and Ukovich [1989], the PESP entails scheduling a set of periodic events E given a set
of periodic time window constraints C. By definition, a periodic event is one that repeats itself
at recurring intervals of time λ. For instance, if an event i ∈ E is scheduled to occur at time
πi ∈ [0, λ), then this event will also occur at all times πi + kλ, k ∈ Z. All constraints of the PESP
model relate pairs of events and restrict the duration between the occurrence of each event to be
within some specified time interval. Hence, any constraint c ∈ C is of the form
Lc ≤ πj − πi + zc λ ≤ Uc ,
(1)
where Lc and Uc define the lower and upper limits on the time interval permitted between the
occurrence of events i, j ∈ E, and zc is an integer decision variable needed to model the periodic
nature of the problem. The basic version of PESP is purely a feasibility problem. That is, either
one finds vectors π ∈ [0, T )|E| and z ∈ Z|C| such that all periodic constraints are satisfied or shows
that the problem is infeasible. Any PESP instance may be viewed as a graph theoretic problem.
A so-called constraint graph is modelled as a digraph D = (E, C, L, U ) in which there is a node
i ∈ E for each event and an arc (i, j) ∈ C for every constraint of the form (1).
In the context of train timetabling each event is associated with the arrival or departure of a
train at a particular station, with the constraints of the model suitably enforcing restrictions on the
time intervals between (arrival, arrival), (arrival, departure), (departure, arrival), and (departure,
departure) event pairs. We refer the reader to Peeters [2003, Chapter 3] for a detailed discussion
of typical constraints appearing in PESP formulations. In particular, examples of constraints
enforcing certain train connections, trip times between stations, and those that enforce a required
headway are provided. Liebchen and Möhring [2004] describe how the constraints of the PESP
formulation can be used to model more sophisticated features of railway timetabling such as train
line bundling.
PESP models adopt a macroscopic view of the railway network. Furthermore, they assume that
the section of track a train will use in travelling between stations has been determined a priori;
they do not possess the capability to consider alternative routes for trains. A PESP model ensures
a conflict free timetable between nodes of the network through headway constraints on pairs of
events. The ability to enforce the required headway is dependent on knowledge of the respective
11
trip times for each train type between stations. However, a variable trip time model based on
PESP has been proposed by Kroon and Peeters [2003].
A variety of solution techniques for the PESP model have been proposed in the literature.
Serafini and Ukovich [1989], in their pioneering work, present a branch-and-bound based approach
which essentially constructs a timetable by sequentially satisfying the constraints. Odijk [1996]
uses a constraint generation approach to construct a set of feasible timetables in an attempt to
evaluate the infrastructural capacity of a station and its surrounding area. Cutting planes for the
PESP model are also presented in Nachtigall [1996], while Nachtigall and Voget [1996] describe a
genetic algorithm based methodology. In addition to this, a constraint programming approach that
also incorporates a local search heuristic to improve the quality of a timetable has been proposed
by Schrijver and Steenbeek [1994]. This particular algorithm, known has CADANS, is one of the
core modules of the decision support system DONS (Designer of Network Schedules) currently
used by the Dutch railway company to develop operational timetables [see Hooghiemstra et al.,
1999].
An alternative formulation of the PESP model, known as the Cycle Periodicity Formulation
(CPF), has also been widely studied (see, for example, Nachtigall [1998], Lindner [2000], Liebchen
and Peeters [2002], Liebchen [2003], Peeters [2003] and Liebchen [2006]). Unlike the classical PESP
formulation, which has a decision variable for each event time, the CPF defines periodic tension
decision variables xc for all c ∈ C. The periodic tension xc can be interpreted as the time difference
between events i and j of constraint c. That is,
xc = πj − πi + zc λ.
To ensure that the chosen tension times do produce periodic event times, the CPF formulation
requires that for any cycle in D the sum of the tension values along the arcs is an integer multiple
of λ. This alternative formulation yields a better LP relaxation than the classical PESP approach
and appears to be easier to solve.
One can see from the preceding discussion that the routing of trains plays an indispensable role
in determining an operational timetable for a railway company. Although the methods described
in Section 3 ensure mutually disjoint train movements between nodes of a railway network, the
aggregated topology considered means that the detailed assignment of trains to particular routes
through the disaggregated infrastructure is still undetermined. Indeed, in the case of the PESP
approach, the macroscopic solution may be infeasible with respect to particular junctions. The
work of Borndörfer et al. [2005], Borndörfer and Schlechte [2007a,b], and Caprara et al. [2006]
ensures that the provisional macroscopic timetable is feasible with respect to junctions through
the inclusion of capacity constraints. However, the subsequent step of route assignment (including
platform allocation within stations) must still be performed.
4
Junction Train Routing
We begin this section by introducing the problem of routing trains through railway junctions in
more detail. In particular, we introduce some essential terminology and discuss variants of the
problem. This description is from a German railway perspective; however, parallels can be drawn
with most European railway companies.
Figure 2 illustrates the main components of a railway network. In Germany, track is classified
as either tracks of the open line or station track. The former define the arcs of the aforementioned
aggregated topology, while the latter refer to track within the station boundary and includes
platforms. This boundary is indicated by home signals. In a similar way, the entry to non-station
junctions is controlled by block sections. Depending on their complexity, a junction may contain
just station tracks, just tracks of the open line, or both. For instance, although the network in
Figure 2 contains both a station and a junction on the open line, one could refer to this entire
network as a junction.
Train movements are controlled by a signalling system. This ensures, among other things, that
trains do not get too close to one another by enforcing the minimum required headway between
trains. To implement a signalling system, the tracks of the open line are divided into several block
sections. Such blocks are delimited by block signals and ensure that there is at most one train on
12
Open line
Home signal limits
Block
section
Block section
Block
section
Open line
Block section
Junction
Station
Block section
Block section
Block section
Figure 2: Home Signal Limits and Block Sections (from Pachl [2004])
any block at any given time. Note that the track leading from a home signal to a platform is not
referred to as a block section. However, trains use it in much the same way. We will refer to this
as an interlocking section. Both block and interlocking sections may contain a number of smaller
track sections. Interlocking (block) sections may have track in common with other interlocking
(block) sections. For instance, they may share a switch or an intersection. In general, a switch is a
track device that allows a train to change railway lines, whereas an intersection indicates that one
set of railway lines crosses another set. In some cases, however, an intersection can also be used
to change railway lines. Track sections denote the boundary of the infrastructure that is common
to multiple blocks.
On entering a block section, the respective entrance times of all track sections within the
block are synchronized with that of the first section of the block. For this reason trains are
said to claim track sections. In other words, trains will request the use of several track sections
before actually occupying them. On traversing a sequence of claimed track sections, trains will
successively release each one once the tail of the train has exited, and a small amount of buffer
time has elapsed. Released track sections may then be claimed by other trains. Conflicts occur if
trains simultaneously attempt to claim the same track sections. For a more detailed explanation
of the operational processes within the German rail network we refer the reader to Pachl [2004].
The perimeter of a junction consists of a number of entering and leaving points. These indicate
the points at which a train may enter and/or leave the junction. They also identify the scope
of infrastructure concerned. A route defines a sequence of track sections connecting a possible
entering point with a possible leaving point. If the junction coincides with a station, this may
involve the train stopping at an available platform. Depending on the number of switches within
a junction, there may be many possible routes between pairs of entering and leaving points. A
path, on the other hand, refers to the traversal of a given route over time. For any given route,
there may be a number of alternative paths representing different acceleration and deceleration
strategies for the traversal of the underlying route. The problem of routing trains through railway
junctions (henceforth referred to as the train routing problem) entails assigning each of the trains in
a proposed timetable a conflict-free path through the junction while adhering to several operational
constraints.
The importance of this problem to railway planning is emphasized by the fact that one can
identify a variant of the problem at each of the strategic, tactical, and operational planning levels.
On a strategic level it answers questions concerning the capacity of a junction, while on a tactical
level it is required to validate the feasibility of a proposed timetable. It also appears at the
operational level where one is forced to reroute trains when a disruption has made the planned
routings infeasible. In what follows, we group contributions in this field by the model proposed
and where relevant discuss what variant of the problem is being dealt with.
4.1
Conflict Graph Approaches
The most common approach when modelling the train routing problem is to use conflict graph
methodology. Since this forms the basis of the majority of work in this field we begin our review
here. Within this methodology, two quite different approaches have been used to model variants of
13
the train routing problem. These are known as the node packing problem and the graph colouring
problem, respectively. We discuss each in turn.
The structure of the node packing problem means it is perhaps the most intuitive formulation
for the train routing problem. The aim is to find a conflict free set of paths for a set of trains and by
representing each train path as a node and connecting any two nodes for which the corresponding
train paths are in conflict by an edge, the problem can be explicitly modelled as a node packing
problem. Figure 3 illustrates an example conflict graph with ten train paths.
Figure 3: An Example Conflict Graph.
4.1.1
Node Packing Formulation
A generic integer programming formulation of the node packing problem in the context of the
train routing problem is given next. Assume that there are n variables in total, that x denotes
the vector of binary decision variables governing the selection of the particular train paths, and
that ρ denotes a vector of weights. Each element of ρ reflects the benefit received in assigning the
corresponding train path. The solution to the problem is a node packing of maximum weight. For
example, in Figure 3 the set {v2 , v4 , v9 } gives a feasible solution to the routing problem.
max
ρT x
subject to xi + xj
x
≤ 1 for conflicting train paths i and j
∈ {0, 1}n .
(2)
The constraints of the model enforce the requirement that one can pick at most one of any two train
paths in conflict. In what is perhaps the first attempt to model and solve the train routing problem
via Operations Research techniques, Zwaneveld et al. [1996], in the development of the decision
support system DONS for the Dutch railway company NS, propose a node packing formulation.
DONS was developed to assist strategic planners evaluate infrastructural capacity requirements
given different possible scenarios of expected future demand for rail transportation. It consists of
the two separate modules CADANS and STATIONS, the first of which was introduced in Section
3. Zwaneveld et al. [1996] develop the STATIONS module. This receives as input a provisional
cyclic timetable from CADANS (at the macroscopic level) and then determines whether or not this
is feasible with respect to each of the stations in the network. A node packing formulation is the
underlying model of STATIONS. Note that previous literature terms the traversal of a sequence
of track a “route” where we use “path”. In order to keep descriptions consistent, we will use our
terminology when describing previous work.
Zwaneveld et al. [1996] argue that in order to handle the operational requirements imposed by
NS, one should adopt a modelling approach in which the paths are dealt with explicitly as opposed
to dealing directly with the track sections of a station. This particular line of reasoning naturally
gives rise to a node packing formulation. In order to determine whether any two paths are in conflict, one must calculate the exact claim and release times of the track sections comprising the two
paths. Although, as the authors explain, the node packing formulation can be used to incorporate
more general pairwise incompatibilities between paths. Indeed, without any fundamental change
to the formulation, one may prevent the simultaneous selection of any two paths, regardless of
the reason, simply through the inclusion of additional edges in the conflict graph. This flexibility
14
is particularly beneficial if one wishes to enforce train connections at adjacent platforms or the
coupling/decoupling of two trains.
The particular node packing formulation Zwaneveld et al. [1996] consider is a unicost instance.
In other words, all train paths are uniformly assigned a benefit of one in the objective function.
The authors do permit time deviations on the provisional arrival and departure times for the
trains. For instance, deviations of one minute on either side of a train’s provisional arrival and
departure time are allowed. Such deviations are considered in the form of additional variables and
are merely duplicates of their undeviated counterparts shifted forward (or back) in time by one
minute. The inclusion of these extra variables is an attempt to increase the likelihood of finding
a feasible solution. The authors describe two types of conflict. Firstly, paths for the same train
are conflicting as at most one path for any train is required in a solution, and, secondly, any pair
of paths for two different trains that are pairwise incompatible are conflicting. The latter form of
conflict is most likely to arise from the two train paths simultaneously claiming some part of the
station infrastructure.
The authors do acknowledge that there are several limitations in formulating the train routing
problem this way. From a computational point of view, the resulting formulation is typically
very large. Computational experiments reported in Zwaneveld et al. [1996] suggest that instances
involving up to 27 trains can have in excess of 3000 nodes and as many as 1.5 million packing
constraints. Furthermore, node packing formulations have a notoriously weak LP relaxation. It is
trivial to see that the authors’ formulation will always fractionally achieve an objective of routing
all trains even if it is not possible to route all trains. Each constraint of (2) only restricts pairs of
paths for different trains. Hence, if each train has at least two paths, selecting any two at value 21
will always be feasible.
To overcome both the formulation’s intractable nature as well as its weak LP relaxation Zwaneveld et al. [1996] show that the model can be strengthened through the addition of valid inequalities
and reduced in size through the removal of dominated train paths. A path for a particular train
is considered dominated if the train has an alternative path that leaves at least the same routing
options open for all other trains. Valid inequalities for the node packing problem are the well
known clique inequalities. The search for cliques in a conflict graph is exponential in the problem
size, and the authors suggest adding only a subset of the clique inequalities prior to solving the
problem. For example, one may add the following constraint for any train i ∈ T :
X
xj ≤ 1,
(3)
j∈Pi
where Pi ⊆ V , and each node j ∈ Pi defines a possible path for train i. All nodes corresponding
to paths for the same train define a complete subgraph in G, and hence only one can be selected.
In addition to these constraints, the authors also suggest looking for cliques in the subgraph of
the conflict graph defined by the nodes corresponding to two trains. The addition of the clique
inequalities results in a reduction in problem size as such constraints naturally dominate a number
of the much weaker pairwise constraints. Computational experiments conducted suggest that these
reduction techniques had a dramatic effect on problem size.
Zwaneveld et al. [1996] present a branch-and-cut approach to solve the reduced node packing
formulation. The cut part of the procedure attempts to identify violated clique inequalities at
each node of the branch-and-bound tree. Two heuristics for the train routing problem are also
described. The first randomly selects a train and assigns it a path, where the path selected attempts
to maximize the routing possibilities left for the remaining trains. The second also sequentially
assigns paths to trains. However, trains with the least number of routing possibilities are given
priority. As the solutions obtained using these heuristics always coincided with the truncated value
of the objective function, the branch-and-cut routine was not needed. It was concluded that the
most time consuming part of the solution approach was in the generation of the sets of compatible
train paths for each pair of trains (required for the conflict graph generation). Zwaneveld et al.
[2001], in a follow up paper, however, stated that this approach was unable to solve the train
routing problem for two of the larger problems in The Netherlands.
Zwaneveld et al. [2001] can be considered an extension of Zwaneveld et al. [1996]. The authors
adopt the same modelling approach; however, they attempt to improve the performance of the
solution method. By making the reasonable assumption that trains will prefer certain paths to
15
others, the problem is formulated as a weighted node packing problem and is hence more aligned
at the tactical level than Zwaneveld et al. [1996]. The authors also elect to partition a train path
into three components: namely, inbound path, platform path, and outbound path. An inbound path
defines a sequence of track sections from an entering point to a platform, whereas an outbound
path defines a sequence of track sections connecting a platform with a leaving point. The platform
path refers to the track sections corresponding to a platform. As Zwaneveld et al. [1996] explain,
such a partitioning allows the shunting of trains to be considered. Shunting refers to the movement
of a train to a holding/waiting track if its dwell time at the station exceeds some threshold value.
Unlike Zwaneveld et al. [1996], the decision variables of the problem do not pertain to train
paths, but rather the partitions of the paths. To be assigned a path through the junction a train
can receive at most one inbound path, one outbound path, and one platform path. Constraints of
the form in (2) can still enforce the possible connections between path partitions. Zwaneveld et al.
[1997] show that such a partitioning can lead to a reduction in the number of variables.
The calculation of the preference coefficient for a particular inbound/outbound or platform
path is discussed in detail in Zwaneveld [1997]. Essentially it consists of three elements. The
first is the train’s preference for the inbound/outbound or platform path. This is typically a
reflection of the number of switches in the preferred position as well as the speed limits on the
track sections. The second reflects the preference for a time deviation from the train’s provisional
arrival and departure times, whereas the third reflects the importance of the inbound/outbound or
platform path. Zwaneveld [1997] shows how by selecting suitable integer values for each element,
a hierarchical list of objectives can be considered. The first aims to route the maximum number of
trains, whereas the second looks at maximizing the preferences associated with the assigned paths.
The third objective seeks to minimize the total number of shunting movements.
Zwaneveld et al. [2001] include more sophisticated preprocessing and reduction techniques in the
branch-and-cut solution approach. In particular, the techniques of node-dominance, set-dominance
and iterating set-dominance are developed for the weighted node packing problem. All approaches
attempt to show that a certain node can be replaced by another node in all feasible solutions without
a reduction in the objective function value and hence reduce the size of the problem instance. We
refer the reader to Zwaneveld [1997] for a more detailed discussion of each preprocessing technique.
The authors conclude that the refined solution approach is sufficient for solving the train routing
problem arising at any Dutch railway station. The implementation of the improved preprocessing
techniques were very successful in reducing problem size. The largest instance considered had 79
trains. The initial 9,328 variables were reduced to just 706, whereas the a priori addition of clique
inequalities reduced the number of constraints from 11,629 to 1,231. The authors also showed
that in determining whether two train paths were in conflict one only needed to consider a subset
of track sections that they termed “relevant track sections”. By considering only relevant track
sections the set of compatible train paths for each pair of trains could be generated faster.
A node packing formulation is also the basis of the model in Delorme [2003]. The author’s
PhD thesis considers the problem of evaluating the capacity of railway junctions. Delorme [2003]
presents a formulation that is essentially equivalent to that of Zwaneveld et al. [2001]. An entire
train path through a junction is assumed to consist of a number of smaller subpaths through socalled partitions of the junction, where each partition consists of a number of zones (synonymous
with track section). Constraints of the form in (2) are used to enforce a range of incompatibilities
between pairs of subpaths. The binary variables of the model govern the inclusion of particular
subpaths in the solution. All train paths are predetermined, and trains have a set of possible
entering times. Hence, associated with each binary variable is a time stamp reflecting the time the
train enters the respective partition.
In contrast to Zwaneveld et al. [1996], Delorme [2003] defines multiple objective functions, which
are considered lexicographically in the following order. The problem is primarily concerned with
capacity assessment, and hence determining the maximum number of trains that can be routed
through the junction is given the highest priority. The author also suggests that one should consider
introducing additional so called saturating trains as well as maximizing the preferences associated
with the assigned train paths. The last two objectives are considered of equal importance. In
addition to this, Delorme [2003] introduces the notion of stability for a train routing. The stability
measure is calculated as the maximum propagated delay resulting from some initial delay. This
is solved via several shortest path problems, where the network considered reflects the direct or
16
indirect impact of a late train on all other trains. The nodes of the network correspond to the
trains, whereas the edges represent the immediate delay one train causes another. For example, if
the late arrival of train t causes a delay of 45 seconds to train t′ , then there is an edge between the
respective nodes with weight 45.
In the capacity related work of Delorme [2003], two solution methods are proposed. The first is
noticeably similar to that of Zwaneveld et al. [2001] and involves extensive preprocessing through
variable dominance as well as the a priori addition of several classes of clique inequalities. The
reduced formulation is then solved using Cplex 8.0. The author tests this approach on both railway
specific instances as well as several randomly generated data sets. The random instances had up
to 2,000 variables and 10,000 constraints. The railway instances, on the other hand, had up to
3,720 variables (from 200 trains) and 482,887 constraints. The application of the preprocessing
techniques appears to be very successful in reducing problem size, particularly for the railway
specific instances for which it is reported that on average 16% of the variables and 90% of the
constraints are removed. However, this exact solution approach appears quite inefficient. The gap
between the best known integer solution and the LP bound can be as bad as 400% for the random
instances and up to 25% for railway instances after 50,000 seconds of computation time.
A second, more promising, approach using the GRASP (Greedy Randomized Adaptive Search
Procedure) metaheuristic is presented. GRASP methods typically consist of two phases. The
first is the implementation of a greedy heuristic to yield an initial feasible solution. The second
phase then attempts to improve the solution through a local search heuristic. The neighbourhood
often considered for the local search heuristic is based on the k-p exchange. The k-p exchange
neighbourhood for a solution x is the set of solutions obtained from x by changing the value of k
of the variables from 1 to 0, and changing p variables form 0 to 1. One usually considers the 0-1,
1-1, 1-2, or 2-1 exchange due to the combinatorial nature of the exchange possibilities. Empirical
evidence shows that the GRASP metaheuristic is able to solve the problems close to optimality in
a much more reasonable time frame. Results reported show that the GRASP metaheuristic finds
solutions within 3% of optimality and requires, on average, less than 800 seconds of computing
time. The particular GRASP method implemented by the author includes both reactive GRASP
and path relinking, among other features. We omit an explanation of the details here and refer the
interested reader to Delorme et al. [2004]. This paper not only provides an overview of GRASP, but
also compares various types of GRASP on a number of routing problems arising at the PierrefitteGonesse junction north of Paris. The algorithmic work of Delorme [2003] forms the basis of the
RECIFE decision support system used by the French national railway company SNCF to evaluate
railway infrastructure capacity.
Gandibleux et al. [2004] and Gandibleux et al. [2005] propose Ant Colony Optimization (ACO)
metaheuristics as an alternative to GRASP. One major difference between ACO and GRASP is
that at each iteration ACO will produce many feasible solutions, whereas GRASP will produce
just one. With the ACO approaches, initially one defines a pheromone matrix φ with φi reflecting
the probability that variable xi is in a good solution. At each iteration, starting from the trivial
solution xi = 0 for all variables, each ant constructs a feasible solution by sequentially adding
variables. The selection of which variable to add is usually random or determined by the highest
pheromone value. Typically a local search heuristic is applied to each feasible solution at each
iteration, and the pheromone matrix is updated so that ants remember what constitutes a good
solution.
The algorithm described in Gandibleux et al. [2005] is an evolution of that described in
Gandibleux et al. [2004]. In particular, new data structures, a new stopping criterion, and an
improved local search heuristic are implemented. The ACO algorithms were tested on a number
of railway instances arising at the Pierrefitte-Gonesse railway junction. Results in Gandibleux
et al. [2004] suggest that ACO is competitive with GRASP procedures despite the fact that it is a
much simpler algorithm. The authors identified the numerical instability as a possible drawback
of the method, since ACO could return solutions with a wide range of quality for multiple runs on
the same test case. Results reported in Gandibleux et al. [2005] suggest that the improved ACO
algorithm can deal with larger problem instances and find better quality solutions quicker than
the earlier version.
The problem of finding a robust routing for the train routing problem is the topic of Caimi
et al. [2005]. The node packing formulation used is identical to that of Zwaneveld et al. [1996].
17
The authors state, however, that the station of Bern in Switzerland, which formed the test case of
the study, was too large to allow for the successful application of the branch-and-cut algorithm and
propose a fixed-point iteration heuristic to yield an initial feasible solution. The authors adopted
the fixed-point iteration heuristic for its ability to exploit the clique structure of the underlying
conflict graph.
The fixed-point iteration heuristic involves first assigning each train path a probability, where
the probability reflects the likelihood of finding a feasible routing if the train path is selected. In
a second step, the probabilities are iteratively updated until they have converged (i.e. successive
updates yield the same probabilities and are termed fixed ). Updated probabilities are obtained by
first calculating the probability of selecting no conflicting train path for another train, and then
adjusting this by the probability of not picking an alternative path for the same train. Attractive
fixed points are those that correspond to a conflict free routing. It is, however, also possible for
the algorithm to terminate at a fixed point that contains conflicts.
If a conflict free solution is obtained using the fixed point heuristic, the authors attempt to
improve its robustness through the implementation of a local search heuristic. The improvement
heuristic attempts to maximize the total weighted sum of time slots. A time slot is defined to be
the time interval during which a train may arrive and find its designated path open. Time slots are
weighted to reflect the importance of increasing the length of shorter time slots. The local search
heuristic looks to reroute one or two trains in an attempt to improve the objective value.
By using random initial probabilities, this fixed-point heuristic allows a variety of solutions to
be found. Results reported suggest that this approach yields feasible solutions to the train routing
problem quickly. However, since unattractive fixed points, (i.e. the heuristic terminates with an
infeasible solution) exist, there were occasions when the heuristic needed to be restarted (as many
as 50 times in some cases). Increasing the length of the time slots proved more time consuming;
however, evidence suggests one can improve the length of the time slots dramatically in some cases.
Computational tests involved between 11 and 19 trains with up to 6,800 paths.
Herrman [2006] uses the same fixed point heuristic to obtain an initial feasible solution and
considers both deterministic as well as probabilistic robustness measures for train timetables. The
time slot concept can be considered a deterministic robustness measure as it is independent of
any probability distribution. Herrman [2006] discusses probability distributions of delays for train
timetables and introduces four different robustness measures. The author’s work forms a component of a larger model developed by Burkolter [2005] to generate dense timetables within station
areas. Burkolter [2005] considers an aggregated topology of the station infrastructure and models train movement with Petri Nets. Simulated annealing is used to determine a timetable with
minimum cycle time. This timetable is then tested for feasibility with the fixed point heuristic of
Herrman [2006] by considering the detailed infrastructure of the station.
Caprara et al. [2007] study a version of the problem which they term The Train Platforming
Problem (TPP). The TPP entails assigning the arriving trains at a station to an available platform.
Note that this problem is implicitly dealt with in the studies of Zwaneveld et al. [1996], Zwaneveld
et al. [2001] and Caimi et al. [2005] since with these methods one assigns trains to a complete
path through a station, the platform allocated being one component of this. The TPP has been
studied by De Luca Cardillo and Mione [1998], Billionnet [2003], Carey and Carville [2003] and
Cornelsen and Di Stefano [2007], and each will be discussed in detail later. The difference in
terminology arises from the characteristics of the junctions that were considered in the respective
studies. If the nature of the station is such that each platform can be reached via a number
of alternative paths, the routing of the trains will play a more influential role. However, in the
studies of De Luca Cardillo and Mione [1998], Billionnet [2003], Carey and Carville [2003], and
Cornelsen and Di Stefano [2007], the allocation of the platform uniquely determined a train’s path
into and out of the station, meaning the emphasis was less on the routing and more on the platform
assignment.
We believe the study by Caprara et al. [2007] is more closely related to the train routing
problem as the selection of a platform may not uniquely determine a train’s path into and out of
the station. Each train to be assigned a platform is assumed to have a number of possible patterns,
where each pattern consists of an inbound path, an outbound path, a platform, and both an arrival
and departure time at the platform. In a similar way to Zwaneveld et al. [2001], deviations from
the arrival and departure times are considered in the form of alternative patterns. The authors
18
make the rather restrictive assumption that a train takes a constant amount of time to traverse
any inbound path, regardless of the platform it visits.
Caprara et al. [2007] present an integer programming formulation based on a pattern incompatibility graph, the nodes of which correspond to patterns, whereas the edges connect any two
patterns that are pairwise incompatible (i.e. they occupy the same platform during an overlapping
time interval). The constraints of the model enforce the requirement that one pattern must be
selected for each train, and that conflicting patterns cannot be chosen. To achieve the latter, two
sets of constraints are identified. The first set defines cliques in the pattern incompatibility graph
associated with sets of patterns that use the same platform, whereas the second set defines all the
cliques in the pattern incompatibility graph.
Given the exponential nature of the defined constraint system, the authors present alternative
versions of the clique inequalities. Each clique inequality relating to platform occupation corresponds to a set of time intervals, any pair of which is overlapping. The authors hence elect to
replace the clique inequalities with an enumerated set of time interval constraints for each platform.
Caprara et al. [2007] also suggest considering only those clique inequalities defining incompatible
patterns for pairs of trains, rather than determining all cliques in the pattern incompatibility graph.
The objective of the model is to minimize the sum of costs associated with platform use, pattern
allocation, and a quadratic function indicating the costs incurred from the pairwise assignment of
patterns to any two trains. Through the introduction of additional variables and linear constraints,
the authors show how the quadratic term in the objective function can be linearized. Due to the
large number of constraints and variables of the model, the authors propose a branch-and-cut-andprice solution approach. In particular, the initial LP contains only a subset of the pattern variables.
Separation routines are defined for the clique inequalities (corresponding to incompatible paths for
pairs of trains) as well as the additional constraints that are required to linearize the objective.
The authors consider several case studies from the Italian railway involving up to 237 trains over
a 24 hour period. Although some instances show a significant gap between the best known integer
solution and the LP relaxation, the approach yielded significantly better results than the heuristic
currently in use at the railway company.
4.1.2
Graph Colouring Approaches
De Luca Cardillo and Mione [1998], Billionnet [2003], and Cornelsen and Di Stefano [2007] propose
graph colouring approaches for the train platforming problem. The respective studies consider
stations that have limited routing options to and from platforms. They are, however, particularly
relevant as one must still ensure that the allocation of platforms to trains is conflict free. A
conflict graph forms the basis of graph colouring approaches. Unlike the node packing formulations,
however, the aim is not to select nodes of the conflict graph, but rather assign each a colour such
that no two adjacent nodes have the same colour. A formal definition is given below.
Definition 1. (Graph Colouring Problem) Let G = (V, E) be an undirected conflict graph,
and let C = {1, 2, . . . , k} be a set of colours. A colouring of G with at most k colours is a function
f : V → C, where f (v1 ) 6= f (v2 ) for all edges e = {v1 , v2 } ∈ E.
Several extensions of the basic definition above also exist. In particular, a k L-list colouring of
G is a colouring γ of G with k colours such that γ(v) ∈ L(v) for all v ∈ V , where L(v) ⊆ C. In
other words, each node v ∈ G has a list of colours L(v) that it may receive. De Luca Cardillo and
Mione [1998] subsequently introduced the k L-list τ colouring problem. A k L-list τ colouring is
a k L-list colouring with a set of extra restrictions τ . Each element of τ specifies an incompatible
assignment of two colours to adjacent vertices. That is, each element of τ is of the form {v1 , v2 , i, j},
where {v1 , v2 } ∈ E, i ∈ L(v1 ), and j ∈ L(v2 ). It specifies that one cannot assign L(v1 ) = i and
L(v2 ) = j simultaneously.
As De Luca Cardillo and Mione [1998] explain, the TPP is a natural application of a k L-list τ
graph colouring problem. One can represent every train in the timetable as a node in the conflict
graph, and then connect any two nodes for which the respective trains cannot be assigned the
same platform. Each platform represents a possible colour. The set τ is used to identify the
incompatibilities between different platforms for two trains due to conflicting paths for the trains
to each of the platforms. De Luca Cardillo and Mione [1998] propose a heuristic algorithm with
backtracking to colour the resulting conflict graph.
19
Computational experiments for relatively simplified problems involving up to 242 trains and 16
platforms over a 24 hour period are reported with the authors acknowledging that as the problem
size grew their algorithm was unable to find solutions in reasonable time. Problem reduction
techniques were required to decrease the computation time.
The work of Billionnet [2003] builds on that of De Luca Cardillo and Mione [1998] by showing
that the k L-list τ colouring problem has two integer programming formulations. Both formulations
are based on node packing formulations, where the binary decision variables govern the selection
of a particular platform for a given train, and are hence conflict graph approaches. No explicit
objective function is defined. The constraints of the first model are the customary node packing
constraints on pairs of variables and enforce the requirement that two trains cannot be assigned
the same platform if the trains are in conflict. The second model strengthens the constraints of the
first by realizing that if any train involved in a conflict is assigned the conflicting platform, then
the train it is conflicting with cannot be assigned the same platform or any other platform that
is incompatible with the platform assigned to the first train. Given the definition of the decision
variables, any objective would seek to maximize (or minimize) the use of a certain station platform.
Billionnet [2003] demonstrates how these TPP models can be strengthened through the addition
of clique inequalities. The models are tested on a number of randomly generated timetables using
a custom integer programming solver and consider daily instances involving 200 trains and 14
platforms. The work of both De Luca Cardillo and Mione [1998] and Billionnet [2003] can be
considered fairly simplified as no deviations to train arrival or departure times are permitted.
A graph colouring approach is also the basis of the study by Cornelsen and Di Stefano [2007].
The authors similarly assume trains have fixed arrival and departure times. However, the network
considered is perhaps even more simplified; the station has only one inbound path leading to a
number of parallel platforms and one outbound path (although these are both bi-directional). The
aim is to assign trains to platforms in such a way that they can arrive and depart on time without
being blocked by other trains. Cornelsen and Di Stefano [2007] propose an identical conflict graph
formulation. The authors look at various timetables (linear and cyclic) as well as consider minor
variations of the problem and report on the complexity of solving the resulting graph colouring
problem.
Although node packing approaches and graph colouring approaches are both built on conflict
graphs, graph colouring methods are not suited to complex junctions where trains have a number
of alternative paths to and from platforms. For instance, there is no possibility of including path
preference for a train if it has more than one path through a junction that uses the same platform.
4.2
Constraint Programming Approach
Constraint programming has also been used to model the train routing problem. The models
presented in Delorme et al. [2001] and Rodriguez et al. [2002] are directed towards the strategic
level problem of capacity assessment, whereas those presented in Rodriguez and Kermad [1998]
and Rodriguez [2007] are an attempt to model the operational variant of the problem. There is,
however, only a subtle difference between the two respective constraint programming formulations.
Constraint programming approaches view the movement of a train through the junction as a
job. The similarities between job shop scheduling and train scheduling have been discussed in
Section 2. Similarly in the junction setting, each track section is considered a machine, and an
operation is associated with the traversal of a track section by a train. A sequence of operations
thus results in an entire train path through a junction.
In contrast to node packing formulations, allocating a train path entails determining start times
for a set of operations. Precedence constraints are required to ensure that the scheduled times
define a physically possible train path, whereas disjunctive constraints are required to prevent two
conflicting operations being scheduled during an overlapping time interval. If two operations are
scheduled at the same time, they must use different track sections. In determining entrance times
to track sections, one must calculate the exact claim and release times of the track section. In this
regard, constraint programming methods must explicitly take into account the role of the signalling
system. Typically simulation is used to determine the amount of time a given train requires to
traverse a given track section (this also includes some buffer time).
The operational level variant of the problem permits trains to wait on track sections if the
20
subsequent track section is unavailable. This is precisely the difference between the constraint programming formulations of Delorme et al. [2001] and Rodriguez et al. [2002] and those of Rodriguez
and Kermad [1998] and Rodriguez [2007]. The latter two papers incorporate a possible waiting
time (or delay) on the traversal time of each track section. The release time of a track section is
adjusted to be the train’s earliest possible exit time plus the accumulated delays to that point.
No such waiting is permitted in the capacity assessment related work of Delorme et al. [2001] and
Rodriguez et al. [2002].
Rodriguez [2007] defines the waiting time on a track section to consist of two types of delay:
the time spent decelerating and the time spent waiting. A third possible delay, the wasted time
during acceleration (since the train must start from a stationary position on entering the next track
section), is associated with the delay of the subsequent section. The objective of the constraint
programming formulation is to minimize the sum of delays.
The author tests and compares two variants of the constraint programming formulation. The
first considers all three possible causes of delay, whereas the second ignores the time wasted in the
acceleration phase (i.e. it assumes a train can reach maximum speed instantaneously if starting
from rest). Both formulations are solved using a labelling and consistency procedure for constraint
programs. Not surprisingly the method that ignores the time spent accelerating underestimates
the actual total delay. However, the authors show that this approach required much less computing
time and still produced good solutions. Test instances had between 6 and 24 trains and were based
on the Pierrefitte-Gonesse railway junction in Paris.
Delorme et al. [2001] compares the constraint programming approach for capacity assessment
with the GRASP procedure by applying each to a number of railway instances at the PierrefitteGonnese junction. The variant of GRASP used was applied to a formulation not dissimilar to that
of Delorme [2003], whereas the constraint programming formulation was similar to that of Rodriguez et al. [2002] and solved using constraint propagation. The authors cannot conclusively say
one approach is superior to the other as both have positive aspects. The constraint programming
formulation has limitations in the number of paths it can consider due the huge number of variables
and constraints of the model. Despite this, it does appear to perform better on the instances where
choosing a suitable start time was more influential than path selection. Contrastingly, the node
packing formulation with the GRASP solution approach was able to consider alternative train
paths effectively. It did, however, struggle on the instances where the selection of suitable start
times was required in achieving a good routing. The authors suggest that future research should
be directed toward a hybrid model.
4.3
Heuristic Approaches
Carey and Carville [2003] consider the problem of platforming trains at busy stations. In contrast
to De Luca Cardillo and Mione [1998], Billionnet [2003], and Cornelsen and Di Stefano [2007], the
authors permit deviations on the arrival and departure times of trains. The considered station,
however, is such that the selection of a platform still uniquely determines a train’s inbound and
outbound path. The authors propose a greedy heuristic that aims to emulate what is done in
practice by experienced planners for platforming a set of trains.
The algorithm is noticeably similar to that of Carey and Lockwood [1995], in that trains are
considered sequentially. The order is usually determined by train priority. For each train the cost
of assigning it to each of its possible platforms is calculated. The cost incurred in assigning a train
to a platform is a function of the time adjustments that need to be made to obtain a conflict free
slot at the platform for the train. Obtaining a conflict free slot at a platform involves ensuring
the respective headways are satisfied. The time adjustments pertain to the incumbent train and
measure the deviation from the train’s desired arrival, dwell, and departure times. Each train
is assigned the platform that yields the lowest cost. Computational experiments reported in the
paper focus on the Leeds railway station in England and consider a daily timetable with 491 trains.
More recently, this work has been extended by Carey and Crawford [2007] to look at scheduling
trains on a network of stations connected by multiple one-way lines in each direction. In particular,
the headway for trains departing from the same station onto the same line is modified to ensure
that if there is disparity in the speeds of the trains, then a faster train will not catch up to and
be delayed behind a slower one. Essentially this amounts to including extra buffer time in setting
21
the departure time of a train in such situations. The aim of Carey and Carville [2003] was simply
to resolve conflicts within a particular station regardless of the ramifications the sequencing of the
trains would have on the lines between stations.
The underlying heuristic of Carey and Crawford [2007] is identical to that described in Carey
and Carville [2003], apart from the inclusion of the modified headway restriction described above.
Trains are still assigned one after the other and receive a platform that results in the lowest cost.
However, Carey and Crawford [2007] do modify the algorithm of Carey and Carville [2003] slightly
to include some extra flexibility when resolving conflicts. When determining the cost of a particular
platform for a train, if either departure headway or platform occupation conflicts exist (i.e. the
dwell time at the platform of the train overlaps with an already scheduled train), time adjustments
for both trains are considered depending on which results in the lower, immediate cost. Carey and
Carville [2003] assess the impact of each modification by running and comparing three versions of
the heuristic on a synthetic example which contains 25 linked stations.
4.4
Multicommodity Flow Formulation
One noticeable limitation with the node packing formulation of the train routing problem is that,
for conflicts arising from conflicting movements within the junction for different trains, there is
no indication in the constraint set where (in both space and time) the conflicts occur. To achieve
this, each train path must by unpacked into a sequence of topology points. Fuchsberger [2007]
introduces the notion of a resource tree conflict graph for the train routing problem. This approach
attempts to find a conflict free routing for a set of trains by tying the path conflicts to particular
track sections within the junction.
A resource tree graph is a tree structure which contains an enumerated list of all routes between
an entering point and a leaving point. The root node of such a tree structure defines the entering
point, whereas the leaf nodes each correspond to the leaving point (reached via an alternative
route). Every other node corresponds to an intermediate topology point. A branch is defined if
the topology point represented by the node provides the train with two alternatives (i.e. it indicates
a switch). Two topology points delimit track sections. Each train thus has its own resource tree
graph. By adding a dummy source node that precedes the first topology point as well as a dummy
sink node that succeeds all leaf nodes for each tree structure, the problem can be converted into a
multicommodity network flow problem. Binary variables govern the inclusion of a particular track
section, and flow constraints are required to ensure that each train receives a feasible path in its
tree structure.
Additional constraints are required to ensure that the train paths selected are conflict free. In
determining resources (track sections) where a conflict occurs, one must calculate the time each
resource is claimed. Overlapping time intervals for train paths on a particular track section indicate
that the train paths are in conflict. Fuchsberger [2007] defines conflict cliques pertaining to each
resource. Multiple cliques may exist for the same track section if there is more than one time
instant in which a conflict occurs. The resource tree conflict graph has a node for each resource
and includes all resource tree graphs (i.e. the resource tree graph for each train). Conflict cliques
are identified by edges between the resource nodes and nodes of the resource tree graphs. The
multicommodity flow formulation is modified to include the following constraints:
X
xij ≤ 1 for all C ∈ Ck , for all track sections k,
(i,j)∈C
where xij denotes the binary decision variable governing the inclusion of the track section delimited
by topology points i and j, and Ck , the set of all conflict cliques arising on track section k.
Fuchsberger [2007] also introduces the concept of pulsed train times. This extends the resource
tree graph structure described above to include variation in the train’s arrival time at the junction.
The author suggests duplicating the resource tree graphs for the trains. Each resource tree graph
for a particular train uniquely corresponds to a possible entering time at the junction.
Computational experiments reported in the author’s thesis focus on the Bern railway station in
Switzerland and show that the tree conflict graph requires significantly fewer constraints than an
equivalent node packing formulation. By binding the conflicts to track sections one obtains fewer
yet stronger constraints. Computational experiments are also performed for the pulsed train case.
22
Although the solution times are still acceptable, the author acknowledges that the approach of
duplicating trees to model arrival time variation requires significant amounts of computer memory.
All tests are solved using Cplex 9.1.
4.5
Alternative Graph Formulation
D’Ariano et al. [2007] propose an alternative graph formulation for the operational variant of the
train routing problem. The concept of an alternative graph was first introduced by Mascis and
Pacciarelli [2000], and has been further studied by Mascis and Pacciarelli [2002]. An alternative
graph is a generalization of the disjunctive graph introduced by Roy and Sussman [1964] and is
used to model job shop scheduling problems.
An alternative graph GA is characterized by the triple (V, F, A). The node set V corresponds to
the set of operations and includes two dummy nodes, 0 and n. The source node 0 is equivalent to
a dummy operation that precedes the first operation of every job, whereas node n is a dummy task
that succeeds the last operation of every job. The set F corresponds to a set of conjunctive arcs.
A conjunctive arc links a pair of consecutive operations for the same job and defines a precedence
relation. The weight of such an arc reflects the processing time of the operation it emanates from.
Set A defines a set of so called alternative arcs. Alternative arcs are defined in pairs and are used
to model the situation in which there is a potential conflict between pairs of operations (typically
because they require the use of the same machine simultaneously). Such arcs are equivalent to
the ordering constraints defined in the model by Szpigel [1973]. By selecting either one of the two
arcs, a processing order is specified for the two conflicting operations.
Figure 4 highlights the main characteristics of an alternative graph. Let i and k be two conflicting operations. Conjunctive arcs link these operations with their respective successor operations
j and l, whereas dashed arcs indicate the pair of alternative arcs required to enforce a processing
order. The weight of each alternative arc can be interpreted as the setup time. This is the time
that must elapse before the subsequent job can be performed on the same machine.
Figure 4: The Characteristics of an Alternative Graph.
D’Ariano et al. [2007] equate the traversal of a block section with an operation. Hence a chain
of nodes connecting node 0 with node n via conjunctive arcs denotes a train path. The setup time
in this situation reflects the necessary headway that must exist between two trains that require
the use of the same block section. One should note that an alternative graph explicitly models the
priority decisions associated with sequencing trains that share block sections. As the work is aimed
at the operational level, in an attempt to deviate as little as possible from the planned schedule,
all trains are assumed to remain on their allocated paths. The alternative graph formulation tries
to determine the best sequencing order of trains at block sections where potential conflicts occur.
D’Ariano et al. [2007] define a complete selection S to be the set of arcs obtained by fixing
exactly one arc from each pair of alternative arcs. The selection is said to be consistent if the
graph (V, F ∪ S) has no positive length cycles. The authors show that the length of the longest
path in a complete consistent selection (i.e. the path from the dummy start node to the end
node) represents the maximum propagated delay of the corresponding train sequencing. The
authors present a truncated branch-and-bound algorithm to minimize the length of the longest
path. Given an initial selection (which may be empty), the procedure chooses an unselected
alternative arc pair at each step and creates two extensions of the selection by considering the
two sequencing possibilities. To keep the branch-and-bound tree within a tractable size, both
static and dynamic implication rules are implemented. Essentially these just reduce the number
of unselected alternative arc pairs by automatically setting an arc based on implications from
previously set arcs. For each partial selection a lower bound on the extension of the selection is
23
obtained via the Jackson preemptive schedule, and if this is greater than the best current upper
bound on the maximum propagated delay, the node is fathomed.
The model is tested on a section of the Dutch railway and compared with three heuristic
methods. The test instances had a time horizon of 1 or 2 hours and had 54 or 108 trains. Based
on 300 test instances the branch-and-bound algorithm proved to be far superior in that it could
produce optimal or near optimal solutions quickly.
4.6
Set Packing Problem
First proposed in Velásquez et al. [2005] and further studied by Lusby [2008] is a set packing
inspired model for the train routing problem. This model is very similar in definition to that
which is proposed in Brännlund et al. [1998], and like Fuchsberger [2007] ties conflicts to particular
resources (in both space and time) within the junction. While the node packing formulations
discussed in Section 4.1.1 are, by definition, set packing problems, there are fundamental differences
from a modelling perspective between such models and the methodology discussed in this section.
For this reason they have been classified differently.
Unlike conflict graph approaches, the approach presented in Velásquez et al. [2005] and Lusby
[2008] does not require the a priori generation of all conflicting train paths. The models have a
resource based constraint system identical to that of Brännlund et al. [1998]; however, a much
shorter time interval is observed. Each constraint corresponds to the use of a particular track
section during a given 15 second time interval. Such constraints are termed time interval track
section (tints) constraints and allow one to explicitly represent the movement of trains on the
junction. The variables, like those of Fuchsberger [2007], are simply the node packing formulation’s
variables unpacked into topological points over time. The nature of the constraint system is such
that it inherently guarantees a conflict free routing for the trains. Furthermore, greater flexibility
is provided as the structure of the model allows one to dynamically add train paths. This is
primarily because the row dimension of the model is independent of the number of conflicting
train movements.
From a modelling perspective one can also identify similarities with the aforementioned constraint programming approaches. In particular, in calculating the exact claim and release times
(to the nearest time interval) of the track sections on any of the possible routes for a train the
role of the signalling system must be explicitly modelled. Lusby [2008] models the movement of
a train over a given route using an acyclic time-space network. Such a tree structure is similar
to that proposed in Fuchsberger [2007]; however, one noticeable difference exists – the route tree
structure proposed by Fuchsberger [2007] contains all the possible routes through the junction for
a train, whereas Lusby [2008] defines a tree structure for each of train’s possible routes. This difference comes from the fact that the traversal time of a track section is not assumed to be constant
in Lusby [2008]. The route tree structure contains all the different acceleration and deceleration
strategies (i.e. paths) for the train on the particular route. Lusby [2008] shows that the track
section discretization of a junction is not trivial to model; the same physical piece of track can
be defined by more than one track section and for this reason one cannot use a strict set packing
model for the problem.
To overcome the models large row dimension Lusby [2008] presents a branch-and-price based
solution methodology that utilizes the dual representation of any basic feasible solution. The
model is first applied to the strategic level variant of the train routing problem. Instances of up
to 45 trains are considered and results suggest that the improvement in the bound obtained from
the LP relaxation over an equivalent, unpreprocessed node packing formulation can be as high as
66.7%. The author exploits the flexibility of the model and shows that it can be used to solve
the operational level variant of the train routing problem. Here the objective is to minimize the
total delay incurred in recovering feasibility of a timetable. A real-life instance in Germany, and
supplied by Deutsche Bahn, is the focus of the operational work. Instances of up to 66 trains are
considered and results show that near optimal solutions can be found quickly with this approach.
To conclude our discussion on junction train routing, Table 1 summarizes all the reviewed
contributions. In particular, the planning level the study focuses on is given ( i.e. strategic,
tactical, or operational), the underlying model, and the solution method are reported.
24
Table 1: Junction Routing Literature Review
Author
Zwaneveld et al. [1996]
De Luca Cardillo and Mione [1998]
Zwaneveld et al. [2001]
Delorme et al. [2001]
Billionnet [2003]
Carey and Carville [2003]
Delorme [2003]
Caimi et al. [2005]
Gandibleux et al. [2005]
Velásquez et al. [2005]
Herrman [2006]
Caprara et al. [2007]
Carey and Crawford [2007]
Cornelsen and Di Stefano [2007]
D’Ariano et al. [2007]
Fuchsberger [2007]
Rodriguez [2007]
Lusby [2008]
5
Level
S
T
T
S
T
T
S
T
S
T
T
T
T
T
O
T
O
S,O
Model
Conflict Graph
Conflict Graph
Conflict Graph
Constraint Program
Conflict Graph
Conflict Graph
Conflict Graph
Conflict Graph
Set Packing
Conflict Graph
Conflict Graph
Conflict Graph
Alternative Graph
Multicommodity Flow
Constraint Program
Generalized Set Packing
Solution Approach
Branch-&-cut
Backtracking Heuristic
Branch-&-cut
Constraint Propagation
Branch-&-bound
Greedy Heuristic
GRASP Metaheuristic
Fixed Point + Local Search
ACO Metaheuristic
Branch-&-bound
Fixed Point + Local Search
Branch-&-price-&-cut
Greedy Heuristic
Graph Colouring Algorithms
Branch-&-bound
Branch-&-bound
Constraint Propagation
Branch-&-price
Conclusions and Future Work
In this paper we have considered the important problem of routing rolling stock in the railway
industry and discussed the various techniques that have been proposed to determine how the track
capacity of a railway network should be allocated to trains. We have identified and reviewed several
variants of the problem, and where possible tried to group the contributions according to certain
characteristics. An exhaustive survey on contributions in the field of junction train routing has
been included to compare and contrast the work that has been done in this area. Table 1 as well
as the discussion in Section 4 highlight the fact that conflict graph approaches are the most widely
used models for this problem. Contributions in this area suggest that the such approaches typically
lead to large formulations that require significant amounts of preprocessing and are inflexible in
the sense that additional train paths cannot be included easily. Hence, making them impractical
in a real-time environment. More recent studies have shown that there is potential in adopting
resource based constraint systems, and furthermore, that such models provide more flexibility in
a dynamic environment.
For complex junctions currently the timetabling and routing phases are performed separately.
Possible future work might look at integrating these two problems to see if additional benefits can
be had. In addition to this, a natural extension to such routing problems would be to consider
more than one junction in the routing phase. This is particularly true in a dynamic setting where
delays at one junction will undoubtedly affect the routings at subsequent stations on the line.
References
B. Adenso-Diaź, M. Olivia González, and P. González-Torre. On–line timetable re–scheduling in
regional train services. Transportation Research B, 33:387 – 398, 1999.
A. A. Assad. Modelling of rail networks: Toward a routing/makeup model. Transportation Science
Part B, 14B:101 – 114, 1980.
A. Billionnet. Using integer programming to solve the train–platforming problem. Transportation
Science, 37(2):213 – 222, 2003.
R. Borndörfer and T. Schlechte. Models for railway track allocation. Technical Report 07–02,
Konrad–Zuse–Zentrum für Informationstechnik Berlin, 2007a.
R. Borndörfer and T. Schlechte. Solving railway track allocation problems. Technical Report
07–20, Konrad–Zuse–Zentrum für Informationstechnik Berlin, 2007b.
25
R. Borndörfer, M. Grötschel, S. Lukac, M. Mitusch, T. Schlechte, S. Schultz, and A. Tanner. An
auctioning approach to railway slot allocation. Technical Report 05–45, Konrad–Zuse–Zentrum
für Informationstechnik Berlin, 2005.
U. Brännlund, P. O. Lindberg, A. Nõu, and J. E. Nilsson. Railway timetabling using lagrangian
relaxation. Transportation Science, 32(4):358 – 369, 1998.
D. Burkolter. Capacity of Railways in Station Areas Using Petri Nets. PhD thesis, Swiss Federal
Institute of Technology Zurich, 2005.
M. R. Bussieck, T. Winter, and U. T. Zimmerman. Discrete optimization in public rail trainsport.
Mathematical Programming, 79:415 – 444, 1997.
V. Cacchiani, A. Caprara, and P. Toth. A column generation approach to train timetabling on a
corridor. 4OR, 6:125 – 142, 2008.
X. Cai and C. J. Goh. A fast heuristic for the train scheduling problem. Computers and Operations
Research, 21(5):499 – 510, 1994.
X. Cai, C. J. Goh, and A. I. Mees. Greedy heuristics for rapid scheduling of trains on a single
track. IIE Transactions, 30:481 – 493, 1998.
G. Caimi, D. Burkolter, and T. Herrmann. Finding delay–tolerant train routings through stations.
In H. Fleuren, editor, Operations Research Proceedings 2004: Selected Papers of the Annual
International Conference of the German Operations Research Society (GOR) Jointly Organized
with the Netherlands Society, pages 136–143. Springer Verlag, 2005.
A. Caprara, M. Fischetti, and P. Toth. Modeling and solving the train timetabling problem.
Operations Research, 50(5):851 – 861, 2002.
A. Caprara, M. Monaci, P. Toth, and P. L. Guida. A lagrangian heuristic alogorithn for a real–world
train timetabling problem. Discrete Applied Mathematics, 154:738 – 753, 2006.
A. Caprara, L. Galli, and P. Toth. 04. solution of the train platforming problem. In C. Liebchen,
R. K. Ahuja, and J. A. Mesa, editors, ATMOS 2007 – 7th Workshop on Algorithmic Approaches
for Transportation Modeling, Optimization, and Systems, Dagstuhl, Germany, 2007. Internationales Begegnungs und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany.
M. Carey. A model and strategy for train pathing with choice of lines, platforms, and routes.
Transportation Research Part B, 28B:333 – 353, 1994a.
M. Carey. Extending a train pathing model from one–way to two–way track. Transportation
Research Part B, 28B(5):395 – 400, 1994b.
M. Carey and S. Carville. Scheduling and platforming trains at busy complex stations. Transportation Research Part A, 37:195 – 224, 2003.
M. Carey and I. Crawford. Scheduling trains on a network of busy complex stations. Transportation
Science Part B, 41:159 – 178, 2007.
M. Carey and D. Lockwood. A model, algorithms and strategy for train pathing. The Journal of
the Operational Research Society, 46(8):988 – 1005, 1995.
J. Cordeau, P. Toth, and D. Vigo. A survey of optimization models for train routing and scheduling.
Transportation Science, 32(4):380 – 400, 1998.
S. Cornelsen and G. Di Stefano. Track assignment. Journal of Discrete Algorithms, 5(2):250 – 261,
2007.
İ. Şahin. Railway traffic control and train scheduling based on inter–train conflict management.
Transportation Research Part B, 33:511 – 534, 1999.
26
A. D’Ariano, D. Pacciarelli, and M. Pranzo. A branch–and–bound algorithm for scheduling trains
in a railway network. European Journal of Operational Research, 183:643 – 657, 2007.
D. De Luca Cardillo and N. Mione. k l–list τ colouring of graphs. European Journal of Operational
Research, 106:160 – 164, 1998.
X. Delorme. Modélisation et résolution de problèmes liés à l’exploitation d’infrastructures ferroviaires. PhD thesis, Université de Valenciennes et du Hainaut Cambrésis, 2003.
X. Delorme, J. Rodriguez, and X. Gandibleux. Heuristics for railway infrastructure saturation.
Electronic Notes in Theoretical Computer Science, 50(1):39 – 53, 2001.
X. Delorme, X. Gandibleux, and J. Rodriguez. GRASP for set packing problems. European Journal
of Operational Research, 153(3):564 – 580, 2004.
M. Fuchsberger. Solving the train scheduling problem in a main station area via a resource constrained space–time integer multi–commodity flow. Master’s thesis, Institute for Operations
Research ETH Zurich, 2007.
X. Gandibleux, X. Delorme, and V. T’Kindt. Ant colony optimisation algorithm for the set packing
problem. In ANTS Workshop, pages 49 – 60, 2004.
X. Gandibleux, J. Jorge, S. Angibaud, X. Delorme, and J. Rodriguez. An ant colony optimization
inspired algorithm for the set packing problem with application to railway infrastructure. In
Proceedings of the Sixth Metaheuristics International Conference (MIC2005), pages 390–396,
2005.
T. M. Herrman. Stability of Timetables and Train Routings the Station Regions. PhD thesis, Swiss
Federal Insitute of Technology Zurich, 2006.
A. Higgins, E. Kozan, and L. Ferreira. Optimal scheduling of trains on a single line track. Transportation Research Part B, 30B(2):147 – 161, 1996.
A. Higgins, E. Kozan, and L. Ferreira. Heuristic techniques for single line train scheduling. Journal
of Heuristics, 3:43 – 62, 1997.
J. S. Hooghiemstra, L. G. Kroon, M. A. Odijk, M. Salomon, and P. J. Zwaneveld. Decision support
systems support the search for win–win solutions in railway network design. Interfaces, 29(2):
15 – 32, 1999.
D. Jovanović and P. T. Harker. Tactical scheduling of rail operations: The scan i system. Transportation Science, 25(1):46 – 64, 1991.
D. Kraay, P.T. Harker, and B. Chen. Optimal pacing of trains in freight railroads: Model formulation and solution. Operations Research, 39(1):82 – 99, 1991.
L. Kroon and L. Peeters. A variable trip time model for cyclic railway timetabling. Transportation
Science, 37:198–212, 2003.
C. Liebchen. Finding short integral cycle bases for cyclic timetabling. Technical Report 12,
Technische Universität Berlin, Institut fur Mathematik, 2003.
C. Liebchen. Periodic TimeTable Optimization in Public Transportation. PhD thesis, Technische
Universität Berlin, 2006.
C. Liebchen and R. Möhring. The modelling power of the periodic event scheduling problem:
Railway timetables – and beyond. Technical Report 2004/20, Technische Universität Berlin,
Institut fur Mathematik, 2004.
C. Liebchen and L. Peeters. On cyclic timetabling and cycles in graphs. Technical Report 761/2002,
Technische Universität Berlin, Institut fur Mathematik, 2002.
27
T. Lindner. Train Schedule Optimization in Public Rail Transportation. PhD thesis, Technical
University of Braunschweig, 2000.
R. M. Lusby. Optimization Methods for Routing Trains Through Railway Junctions. PhD thesis,
The University of Auckland, 2008.
A. Mascis and D. Pacciarelli. Machine scheduling via alternative graphs. Technical Report DIA–
46–2000, Dipartimento di Informatica e Automazione, Universitá Roma Tre, Roma, Italy, 2000.
A. Mascis and D. Pacciarelli. Job shop scheduling with blocking and no–wait constraints. European
Journal of Operational Research, 143(3):498 – 517, 2002.
K. Nachtigall. Cutting planes for a polyhedron associated with a periodic network. Technical
Report IB 112-96/17, Deutsche Forschungsanstalt für Luft- und Raumfahrt e.V, 1996.
K. Nachtigall. Periodic network optimization and fixed interval timetables. Habilitation Thesis,
1998.
K. Nachtigall and S. Voget. A genetic algorithm approach to periodic railway synchronization.
Computers and Operations Research, 23(5):453 – 463, 1996.
M. A. Odijk. A constraint generation algorithm for the construction of periodic timetables. Transportation Research B, 30(6):455 – 464, 1996.
O. Oliveira and B. M. Smith. A job shop scheduling model for for the single track–railway
timetabling problem. Technical Report 2000.21, University of Leeds, 2000.
J. Pachl. Systemtechnik des Schienenverkehrs. B.G. Teubner, 2004. In German.
L. Peeters. Cyclic Railway Timetable Optimization. PhD thesis, Erasmus Research Institute of
Management, 2003.
J. Rodriguez. A constraint programming model for real–time trains scheduling at junctions. Transportation Research Part B, 41(2):231 – 245, 2007.
J. Rodriguez and L. Kermad. Constraint programming for real–time train circulation management
problems in railway nodes. In Proceedings of the International Conference on Computer Aided
Design, Manufacture and Operation in The Railway and Other Advanced Mass Transit Systems,
pages pp. 597–606, 1998.
J. Rodriguez, X. Delorme, and X. Gandibleux. Railway infrastructure saturation using constraint
programming approach. In Computers in Railways VIII, pages 807–816. WIT Press, Lemmos,
Greece, 2002.
B. Roy and B. Sussman. Les problèm d’ordonnancement avec contraintes disjonctives. Note ds
no. 9 bis, SEMA, Paris, 1964.
R. Sauder and W. M. Westerman. Computer aided train dispatching: Decision support through
optimization. Interfaces, 6:24 – 37, 1983.
A. Schrijver and A. Steenbeek. Timetable construction for railned. Technical report, C.W.I. Center
for Mathematics and Computer Science, Amsterdam, 1994. In Dutch.
P. Serafini and W. Ukovich. A mathematical model for periodic scheduling problems. Society for
Industrial and Applied Mathematics Journal on Discrete Mathematics, 2(4):550 – 581, 1989.
B. Szpigel. Optimal train scheduling on a single line railway. Operations Research, 72:344 – 351,
1973.
R. Velásquez, M. Ehrgott, D. Ryan, and A. Schöbel. A set packing approach to routing trains
through railway stations. In Proceedings of the 40th Annual Conference of the Operational
Research Society of New Zealand, pages 305 – 314, 2005.
28
P. J. Zwaneveld. Routing of Trains and Allocation of Passenger Lines. PhD thesis, Rotterdam
School of Management, TRAIL Research School, 1997.
P. J. Zwaneveld, L. G. Kroon, H. E. Romeijn, M. Salomon, S. Dauzere-Peres, S. P. M. van Hoesel, and H. W. Ambergen. Routing trains through railway stations: Model formulation and
algorithms. Transportation Science, 30(3):181 – 194, 1996.
P. J. Zwaneveld, L. G. Kroon, and H. E. Romeijn. Routing trains through railway stations:
complexity issues. European Journal of Operational Research, 98:485 – 498, 1997.
P. J. Zwaneveld, L. G. Kroon, and S. P. M. van Hoesel. Routing trains through a railway station
based on a node packing model. European Journal of Operational Research, 128:14 – 33, 2001.
29
Efficiently coordinating the movement of trains on a railway network is a central part of the planning
process for a railway company. This paper reviews models and methods that have been proposed
in the literature to assist planners in finding train routes. Since the problem of routing trains on a
railway network entails allocating the track capacity of the network (or part thereof) over time in a
con ict-free manner, all studies that model railway track allocation in some capacity are considered
relevant. We hence survey work on the train timetabling, train dispatching, train platforming, and
train routing problems, group them by railway network type, and discuss track allocation from a
strategic, tactical, and operational level.
ISBN 978-87-90855-38-3
DTU Management Engineering
Department of Management Engineering
Technical University of Denmark
Produktionstorvet
Building 424
2800 Kongens Lyngby
Tel. 45 25 48 00
Fax 45 93 34 35
www.man.dtu.dk