The present invention provides a method and system for calculating a plan for moving trains on a network that reduces the cost of delays or late running. The invention is useful for timetable development, for real-time dynamic rescheduling of the trains on a network, and for assessing proposed changes to network infrastructure.
Any discussion of the prior art throughout the specification should in no way be considered as an admission that such prior art is widely known or forms part of common general knowledge in the field.
In order for a scheduling tool to be useful as a realistic model of railway operations it should have the following features:
It is an object of the present invention to provide a method and system for calculating a plan for moving trains on a network to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative.
The invention provides a method and system for determining the efficient movement of trains on a network and in particular the development of an efficient strategy for controlling a flight of trains travelling in the same direction along a rail corridor.
A further aspect of the invention provides methods for infrastructure planning, timetable planning and dynamic rescheduling.
One aspect of the present invention provides a method of moving a given set of trains from their respective origins to their respective destinations, said method comprising the steps of:
Typically the invention is implemented in the form of computer software operable to provide an operator of a train network with data for reducing the cost of delays or late running.
Modelling a Rail Network
Consider a railway system with the rail tracks modelled as a set of junctions and sections of rail joining them. The basic network unit of track is called a segment, defined below, and illustrated in
Track Segment: A track segment is a length of track which cannot be occupied by opposing trains. It is eliminated by either track junctions or signal points. A diamond crossing is a segment. Track segments have a length and a default direction. By assigning a default direction to segments, this model of a rail track system is a directed graph. In the present invention, an aggregated model of this directed graph is employed where these basic segments are partitioned into functional stations and links between them. The station definition includes physical stations but extends to any segment where a train may be scheduled to stop in our scheduling procedure. For example a crossing loop becomes a functional station for our purposes, because we may hold a train on the loop to enable another train to pass. Trains are moved strictly from station to station in our scheduling procedure.
Station: A station is a subset of track segments, at one geographical location, where trains may make scheduled stops and whence despatch decisions are made.
Stations are connected to each other by sequences of track segments with each feasible alternative sequence defining a path. A feasible path joining two stations is referred to as a link.
Link: A link is a sequence of track segments joining two stations in the track graph. The first and last segment in a link between stations si and sj must be a track segment in station si and sj respectively.
Although the track graph is a directed graph, by virtue of the assigned default directions, any (undirected) path is admitted as a link. It is possible and sometimes desirable, to route a train on a link traversing some segments in reverse direction.
Trains are superimposed onto the track digraph to model an operating railway system as a train network.
Train Network: A train network is a track digraph, a set of trains and a set of mappings relating to train dynamics through the network. A train is an object with attributes such as direction of travel, length, station of origin and destination station.
The state of the network is a representation of the location of each train in the system. The scheduling process is represented by the changing state of the system at a sequence of discrete timepoints or stages when decisions are made.
Trains may leave and enter the system during the scheduling planning horizon. Trains yet to be introduced into the system are located at a virtual source station and transfer trains exiting the network are allocated to a virtual sink station.
The normal scheduling task is to move each train through the network from its origin to destination. A train moves from station to station on a sequence of links joining intermediate stations on its selected path. The goal is to develop a scheduling procedure which optimises some objective measure of system performance. One aspect of the present invention provides a procedure aimed at minimising aggregate train lateness or a class of similar performance measures.
Train Movements
While a track segment can only accommodate one train at a time for trains travelling in opposite directions, if a track segment has internal signalling then it may be able to accommodate more than one train moving in the same direction. These following trains must be kept separated from each other by some minimum distance. This is achieved by having a following clearance time which governs the minimum separation between the front of following trains at entry and exit from a segment. This following clearance time will be a function of such things as train speed, the signalling system used, safety margins required and train length. An opposing clearance time is also needed to govern the minimum time separation between the front of one train leaving a segment and a train travelling in the reverse direction seeking to gain access to the same segment.
The issue of potential deadlock complicates the dispatch of trains particularly along single line corridors with passing loops. A feasible schedule requires that all trains can reach their destination without any train backing up.
Deadlock: A rail network is defined to be deadlocked if at least one train cannot reach its destination without one or more trains backing up.
Trains A and C will not fit on segment 4. This system will deadlock if train C is moved onto 6. Consequently the authors have investigated a more general theory of deadlock avoidance but it is computationally demanding. In the present invention only a limited deadlock avoidance protocol is implemented. The first advantage is that it is possible to retain a rich set of potential schedules only discarding them at deadlock or near certain deadlock states. The second advantage is that the avoidance procedure is computationally efficient and speed of schedule generation is a requirement of the system. The problem space search method used to construct the schedules randomly perturbates segment running times of individual trains to influence the order in which trains are dispatched. With this randomised search procedure it is good enough to reduce the occurrence of deadlock and simply throw away schedules that terminate in deadlock. The only small disadvantage is the loss of some computational efficiency because some potential schedules are pursued further than necessary.
Optimisation
One aim of the present invention is to provide a method and system for constructing a timetable that minimises the operating costs of the rail network. These costs could include costs associated with:
In the present invention, the modelling of the problem as a mathematical program was inspired by the observation that this scheduling problem could (almost) be formulated as a job-shop problem, with track segments corresponding to machines and train journeys corresponding to sequences of job operations. A key difference between the scheduling problem for trains on a track network and the standard job-shop problem is that whereas jobs can be removed from one machine and put into a queue for the next machine, trains cannot be removed from the track after completing one track segment but before starting the next.
The track is assumed to be a sequence of track segments, numbered 1 . . . n in the outbound direction. Stations between adjacent segments are assumed to have unlimited capacity.
We define the function
The following precedence constraints ensure that the trains remain on each section of track for their minimum traversal time and are then allowed to proceed onto the next segment of track on their journey:
tik−tih≧Pih
tjh−tjk≧Pjk
The following interference constraints ensure that no two trains occupy a single section of track at the same time:
tlk−tmk+Mdlmk≧Pmk∀l,mεT,l≠m
tmk−tlk+M[1−dlmk]≧Plk∀l,m εT,l≠m
M is a large number.
We minimise the sum of the arrival times of individual trains. Minimising the make span allows non-critical trains to run slowly.
This mixed integer formulation has been implemented in GAMS and can solve larger problems than our initial formulation, described below. It has been used to solve problems with 14 trains and 10 track segments. The main problem with this formulation is that it is for a single line track only, and assumes infinite capacity at stations. However, for such problems it generates optimal solutions that can be used to check the results of other timetabling methods.
The second mixed integer program models a single line railway corridor with stations connected by sections of track. Both the stations and the track sections are considered as machines and the trains as jobs. Each machine has a given maximum capacity. The stations are considered as a single unit with capacity equal to the sum of the number of crossing loops and mainline track segments at each station. It is assumed that each train can use any track segment in a station.
Indicator to determine to location of train i at time time t.
The location indicator δijt is produced by the following five equations:
t−Aij≧MδijtA
t−Aij≧−M(1−δijtA)
t−Dij≦MδijtB
t−Dij≧−M(1−δijtB)
δijt=δijtAδijtB
Capacity Constraints
Minimum Processing Time Constraints
Dij−Aij≧Pij∀i
The objective used is to minimise the makespan of the scheduling tasks. This second formulation is a non-linear program with discontinuous constraints.
Langrangean Relaxation
Langrangean relaxation has long been recognised as an effective solution method for constrained optimisation. Many computationally hard problems complicated by a set of difficult constraints can be decomposed into problems with a simpler structure. In our railway scheduling model the track capacity constraints are removed from the constraint set and placed in the objective function by the use of lagrange multipliers. These multipliers can be interpreted as the cost for using the track at a particular time. The higher the price on a track segment at a particular time the less likely it is to be used by trains at that time. This relaxed for of the scheduling problem allows us to reduce the problem to a series of shortest path problems for individual trains on the network. Trains are scheduled through the rail network one at a time through the matrix of prices (Lagrange multipliers) along their least cost path irrespective of other trains in the network. The solution of the relaxed problem with section capacity constraints removed may result in an infeasible schedule. A heuristic method must then be employed to remove the infeasible train movements and produce a feasible schedule.
The Lagrangian relaxation method is a common approach for solving large scale integer programs and is based on computing the solution to the dual problem. The optimal value for the dual problem provides a lower bound to the optimal value to the original problem. The upper bound together with the solution to the dual can be used to provide a good approximate solution to the original problem.
This method is successful for solving large problems provided the difference between the optimal values of the primal and dual is small and the method for solving the dual provides sufficient information for generating a nearly optimal feasible solution to the primal problem.
The main advantage of the lagrangean relaxation approach is that it produces both upper and lower bounds on the value of the objective function.
Using this Lagrangian relaxation method on several test problems it was found that the Lagrange multipliers oscillated and hence the primal and dual solutions did not converge or become sufficiently close at any iteration.
Problem Space Search
A heuristic is a technique which seeks good (near optimal) solutions to a problem at a reasonable computational cost without being able to guarantee optimality or state how close to optimally a feasible solution is. A heuristic can be thought of as a set of rules defining decision priorities. The dispatch procedure used is a greedy heuristic which builds a schedule by selecting which train to move next based only on local information.
Our solution method here uses the technique of problem space search. The problem space search technique is effective in a range of combinatorial optimisation problems including job shop scheduling and resource constrained project scheduling. The Problem Space Search method takes a fast problem specific heuristic and embeds it within a local search procedure. The definition of a search neighborhood is based on a heuristic problem pair (h, p) where h is the fast heuristic and p represents the problem data upon which decisions are made. Since a heuristic h is a mapping from a problem to a solution the pair (h, p) is an encoding of a particular solution. By perturbing the problem data p the dispatch procedure will generate alternative solutions within a neighbourhood governed by the size of the perturbations made to the problem data. In the construction of solutions built by the base heuristic from perturbed data we must use the original problem data. That is the perturbed data is used only to alter the decision process made by the dispatch procedure.
Below is described the dispatch procedure which moves a given set of trains from origin to destination minimising an objective function that is related to the delays experienced by the trains in the network.
1. Form a schedulable set of trains consisting of all trains not at their destination that have at least one unoccupied link.
2. From this schedulable set pick the train with the earliest start time from its current location. Assume this selected train is travelling from station Si to station
3. From a contender set of trains consisting of all trains that have as their next move a dispatch from station Si to Sj and vice-versa.
4. From this contender set select the train with the earliest arrival time at its successor station (either station Si to Sj).
5. For the selected train invoke the deadlock avoidance procedure. If this procedure accepts the train then go on to step 6. If the train is rejected then remove it from the schedulable set. If the schedulable set is not empty then return to step 2 otherwise go to 7.
6. Schedule the selected train over its chosen link to its successor station.
7. Return to step 1 until all trains are at their destination or the schedulable set is empty.
In the search for the optimal schedule we use a two phase approach. We first implement a simple problem space search by making perturbations on the variables start time, sti, and finish time, fti. A train's start time sti is the time at which it is able to be scheduled from its current location in the schedule. Like the start time the finish time is a dynamic variable associated with each train. It is equal to the time that train i may arrive at its next station if dispatched next over its preferred available link. This value is a lower bound on a set of possible finish times for train i with the system in its current state.
In the second phase we use a population of the best solutions from the first phase to help direct the search towards refining low cost solutions found in the first phase.
The start time is used by the dispatch procedure to determine which two stations we schedule between. The finish time is then used to determine which train will be dispatched next between these chosen stations. In phase I of the solution process we perturb these two variables enabling the dispatch procedure to generate many different sequences of dispatch decisions. The size of ε of the perturbations added to the start and finish times is governed by the parameter α and is given by
ε=αU(0,1)
where U(0,1) is a uniformly distributed random variable on the interval [0,1]. At each decision point it is possible for any train with a start time within the interval [stmin, stmin+α], where stmin is the minimum of the start times of all trains not a there destination, to be selected as the next dispatch. Thus by increasing the size of the parameter a we also increase the size of the set of possible next moves. By using a large value for a less importance is placed on the locally optimal decision and the size of the solution space the procedure is able to explore in increased. On the other hand using a too small value for a restricts the alternative solutions that the procedure is capable of generating. Small values for α are not likely to alter the decision making data sufficiently to generate a different solution sequence. Through experimentation we have found an appropriate value for α to be half the average inter station running time for all trains on the network.
In the second phase of the search process we take the best n schedules and examine them in sufficient detail to identify the good decisions in each. We have determined that a key aspect of the performance of good schedules is whether they incorporate the best passing rules at each station. We therefore bias the search towards pairwise passing strategies at each station which yield schedules with good global performance.
Long-Haul Examples
The problem space search dispatcher has been tested on two Australian railway networks. The objective function is that is used to evaluate each schedule is the sum of the lateness of each train. The lateness of each train is given by the function
where αid is the actual arrival time of train i at is destination while αi* is the desired arrival time. The problem space search dispatcher was coded in Pascal and run on a Unix workstation.
The first of the test problems is the Australian North Coast Railway which runs from Maitland to Murwillumbah. This track consists of a single line corridor which 68 crossing loops and covers a distance of some 750 km. Forty two trains are to be schedules over the corridor—twenty one north bound and twenty one south bound. Some trains traverse the entire length of the railway corridor while others use varying portions of it.
A histogram of the results from both phase I and phase II of the problem space search can be found in
The second test problem is the Sydney to Melbourne corridor running between Campbelltown Sydney and Spencer Street Melbourne. The track from Campbelltown to Junee is double line track with crossing loops to allow overtaking while the section from Junee to Spencer Street is single line track with crossing loops. The track covers a distance of 750 km and has 59 crossing loops. Daily 118 trains are to be schedules through variations lengths of the railway corridor.
The results from both phases of the problem space search are presented in
In both of the above examples solutions within 10% of the best one found were generated in under 2 minutes.
Suburban Networks
The problem of optimisation of suburban train schedules is significantly different from scheduling long-haul systems. While there is a common theme of minimising resources employed to achieve a desired level of performance, suburban systems are driven by the need to provide regular, repeatable service to passengers.
In order to understand the basic problem and develop solution methods we first consider a very simple prototype of the suburban systems commonly operated in Australia—a hub and spokes system operating on an hourly timetable with each route having a given service time. The service time for each route is the time to travel the route and return to the hub including station stopping times and change-over times at the hub or termini.
It is desirable for suburban rail systems to operate on a regular, cyclic timetable. Suppose we are given the required service level for each route in terms of headways e.g for each route there is a market determined headway of a train every 10 or 12 or 15 or 20 . . . minutes down to one every 60 minutes. The aim is to develop a schedule which has trains departing at fixed times within the hour each hour of normal service. (We concentrate on the base or normal service and assume peak hour services are superimposed on this timetable.) Assume, in this first model, there are no capacity constraints at the hub, any train can service any route, the routes are non-intersecting and there are no side conditions on train operations other than route service times and route headways.
The optimisation objective is to minimise resource use in the operating system. We model resource use as the sum of the trains servicing the system multiplied by the time each train is not operating, ie. whenever a train is waiting at a terminus or hub other than for considerations of service time. It is measure of when any train and its crew are in the system but not delivering a service to customers because of time-table constraints. The best solution minimizes this not-in-service penalty.
Since headways and route service times are given, the only controls (variables) in the optimisation are the relative departure times of the services to the various routes.
A solution is defined by the departure times of each service (in minutes past the hour). It was shown that this problem could be posed as a problem of cyclic groups.
Whilst the invention has been described with reference to a number of specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.
Number | Date | Country | Kind |
---|---|---|---|
PS 2410 | May 2002 | AU | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/AU03/00605 | 5/20/2003 | WO | 6/24/2005 |