Academia.eduAcademia.edu

Railway track allocation: models and methods

2011, OR Spectrum

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.

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