Train Route Algo
Train Route Algo
STEPHANE DAUZERE-PERES
Department of Automatic Control and Production Engineering, Ecole des Mines de Nantes, Nantes, France
HARRIE W. AMBERGEN
In this paper we consider the problem of routing trains through railway stations. This problem
occurs as a subproblem in a project which the authors are carrying out in cooperation with the
Dutch railways. The project involves the analysis of future infrastructural capacity require-
ments in the Dutch railway network. Part of this project is the automatic generation and
evaluation of timetables. To generate a timetable a hierarchical approach is followed: at the
upper level in the hierarchy a tentative timetable is generated, taking into account the specific
scheduling problems of the trains at the railway stations at an aggregate level. At the lower level
in the hierarchy it is checked whether the tentative timetable is feasible with respect to the safety
rules and the connection requirements at the stations. To carry out this consistency check,
detailed schedules for the trains at the railway yards have to be generated. In this paper we
present a mathematical model formulation for this detailed scheduling problem, based on the
Node Packing Problem (NPP). Furthermore, we describe a solution procedure for the problem,
based on a branch-and-cut approach. The approach is tested in an empirical study with data
from the station ofZwolle in The Netherlands.
M«pp«l
Kjimpan
that enables the strategic planners at the railway ists. In order to carry out this consistency check, a
company to evaluate the infrastructural capacity second subsystem called STATIONS (see KROON
requirements related to different scenarios with re- and ZWANEVELD, 1995) is currently under develop-
spect to the expected future demand for railway ment. Output of STATIONS is a detailed schedule
transportation. In order to carry out this evaluation for the trains at the station yards, including an
at an appropriate level of detail, complete timetables assignment of trains to routes and platforms at the
have to he generated within DONS. However, the stations. In generating the detailed schedule, safety
analysis hy CAREY (1994) indicates that the genera- rules, as well as connection requirements hetween
tion of complete timetahles is computationally fea- trains and customer service considerations are
sible for small instances only. Therefore it was de- taken into account. Furthermore, if not all trains
cided to follow a two-level hierarchical approach for can be scheduled according to the arrival and depar-
the Dutch railway network. At the upper level in the ture times suggested by CADANS, then STATIONS
hierarchy, tentative timetables are generated by a should try to find a schedule which is feasible within
sub-system called CADANS (see SCHRIJVER and small deviations from the given arrival and depar-
STEENBEEK, 1994; SERAFINI and UKOVICH, 1989). ture times.
The input of CADANS is the railway network In this paper we discuss the procedures that are
(part of which is shown in Fig. 1), with estimated currently used within STATIONS to automatically
travel times between the stations, the lines and cor- generate the detailed schedules for the trains at the
responding frequencies, and the connections be- station yards. In Section 2 we describe the schedul-
tween lines which have to he offered at the stations. ing problem in more detail: we introduce the termi-
Output of CADANS is a timetable (for one hour), nology, the notation, and the computational com-
which includes the arrival and departure times of plexity of the problem. In Section 3 we show that the
the trains at the stations. However, since the tenta- scheduling prohlem can be formulated as a Node
tive timetable does not take into account the de- Packing Problem (NPP), and we discuss the proce-
tailed layout of the railway stations, but simply dure to generate valid inequalities that are used
treats stations as nodes in the network, it is impor- within a hranch-and-cut procedure. The branch-
tant to check whether a detailed schedule for the and-cut procedure itself is further outlined in Sec-
trains through the stations with the arrival and tion 4. To show the effectiveness of the branch-and-
departure times generated by CADANS actually ex- cut procedure, the paper is concluded in Section 5
ROUTING TRAINS THROUGH RAILWAY STATIONS / 183
with an empirical study based on the station of safety rules of the Dutch railways dictate the follow-
Zwolle, one of the largest stations in The Nether- ing procedure. As soon as a train arrives at its en-
lands. tering point of the station, it claims an inbound
route to a platform. Since any track section can only
be claimed by one train at a time, an inbound route
1. PROBLEM DESCRIPTION, NOTATION AND is not feasible for a particular train if any section of
COMPLEXITY
the route is already claimed by another train. As a
1.1. Problem Description train traverses its chosen route, it sequentially re-
THE PROBLEM OF ROUTING trains through railway leases each of the track sections comprising the
stations can be stated as follows: given the layout of route. In particular, each section will be released
a railway station and the global timetable for a set of after a certain minimum time interval (called the
trains, is it possible to route these trains through the buffer time) has elapsed since a train lefl that sec-
station such that no pair of trains is conflicting, and tion. This buffer time is included to improve the
such that a number of service considerations is sat- robustness of the timetable and corresponding rout-
isfied? We will call this the feasibility problem. The ings with respect to disruptions in the daily opera-
reason that we are primarily interested in the fea- tion of the railway system. A similar procedure is
sibility issue is that, as stated before, we consider followed for the outbound route, and for the com-
the problem at the strategic, as opposed to the tac- plete route if a train does not stop at a platform.
tical or the operational, level. Important for the modeling of the safety system is
The characteristics of the problem that we de- the exact calculation of the time at which a route is
scribe in this paper pertain to the railway system in reserved and the time at which a section is released.
The Netherlands, which is very similar to most Eu- Therefore the (inbound, outbound or complete) route
ropean systems. has to be known for the calculation of all relevant
time instants. These time instants are calculated
A railway station can be entered by a train from a
using well-known formulas from the theory of dy-
number of entering points, and it can be left through
namics, taking into account (i) the lengths of the
a number ot leaving points. In general, each entering
routes, and Hi) the assumption that trains have
point can also serve as a leaving point, and vice
either a constant velocity, or a constant acceleration
versa. Furthermore, each of these points corre-
or deceleration.
sponds to a direction of travel. For example, the
directions of travel of the Dutch railway station of Although these are the current safety rules of the
Zwolle are Almelo, Amersfoort, Deventer, Kampen, Dutch railway company, the model and solution
and Meppel (see Fig. 1). The railway network out- method we will propose do not depend on this par-
side the entering and leaving points is not taken into ticular safety system. In fact, as we will see later, a
account in the problem addressed in this paper. very broad class of safety systems can be handled by
A railway station consists of platforms and of a our algorithm. Other constraints that have to be
large number of track sections. An inbound route is taken into account concern the coupling or uncou-
a sequence of sections linking an entering point to a pling of trains at a platform, the requirement that
platform. Similarly, an outbound route is a sequence certain trains use the same platform, and service
of sections linking a platform to a leaving point. A considerations, like the possibility for passengers to
complete route is either a combination of an inbound transfer between certain pairs of trains.
and an outbound route using the same platform, or
a sequence of sections connecting an entering point 1.2. Notation
to a leaving point, bypassing the platforms. There To formulate our model for the feasibility problem,
will often be many different routes between a given we denote the set of trains by T, the set of routes
pair of entering and leaving points, and even several (complete, inbound, and outbound) by R, and the set
different routes that use the same platform. of all platforms by P. The routes are made up of
The arrival time of a train is the time at which the track sections, the set of which will be denoted by S.
train stops at a platform, after traveling along an Furthermore, let Rf C R denote the set of routes
inbound route. Similarly, the departure time of a that can be used by train t G T. The arrival and
train is the time at which the train leaves the plat- departure times of train t are denoted by a^ and d^,
form along an outbound route. The arrival and de- usually in minutes. The latter is required by the
parture times of the trains are generated by Dutch railway company for reasons of convenience
CADANS, and can thus be assumed given. towards passengers, train drivers, and planners. We
Clearly, the routing of each train will depend on can deal with both sequential and cyclical timeta-
the routings of other trains. Most importantly. bles. A sequential timetable is simply a timetable
184 / P, J. ZWANEVELD ET AL,
over some fixed planning horizon. A cyclical timeta- station. One of the trains is called the leading train,
ble is a timetable for, say, 1 hour, which is then while the other train, called the following train, has
repeated. The only adjustment that needs to be to be coupled onto the leading train. In this case, the
made for cyclical timetables is that we need to use leading train has to be assigned to a complete route,
arithmetic modulo 1 hour for all time computations. while the following train has to be assigned to an
If it is impossible to schedule all trains with the inbound route only (that is compatible with the
original arrival and departure times, we can allow route of the leading train). A similar situation occurs
for small deviations from these times. A deviation is if a train has to be uncoupled into two parts. It is
a combination of a deviation from the arrival time clear that these (un-)coupling constraints can be
and a deviation from the departure time. A deviation modelled using the sets F^,- introduced above. In
is denoted by 6 = {8", 6''), where 5" is the deviation this case, (r, 6; r', S') is an element ofF^- only if a
from the arrival time, and S*^ is the deviation from necessary coupling or uncoupling procedure involv-
the departure time. To reflect these deviations, let ing trains ( and t' can be performed when using
a, 5 = a I + 5" be the arrival time of the train these route-deviation combinations.
adjusted for the deviation. Similarly, letdtg = d^ + Finally, consider the following service consider-
8^ denote the adjusted departure time. Since the ations. Firstly, convenience considerations towards
arrival and departure times are required to be inte- the passengers may dictate that certain groups of
gers, the deviations should also be integers. There- trains all leave from the same platform. For in-
fore, the set of deviations, which we will denote by ^, stance, such a group of trains may consist of all
is finite for cyclical timetables. For sequential time- trains leaving into the same direction. Secondly, one
tables we will make the additional assumption that may wish to incorporate certain transfer possibili-
only a finite number of deviations will be allowed. ties between trains into the schedule. That is, pairs
Note that the original arrival and departure times of trains need to use platforms that are close to each
correspond to a zero deviation vector S - (0, 0) for all other. Moreover, there needs to be a certain mini-
trains. In principle, the set of allowable deviations mum overlap in the time intervals spent at their
can even be train-dependent (due to circumstances respective platforms, in order to ensure that passen-
outside the station). gers can indeed transfer. Once again, these con-
For every train t we will introduce a set Fj of straints can be modelled by appropriately adjusting
allowable route-deviation combinations. In this way the sets Fn- introduced above.
we can, for instance, exclude certain routes or plat- In the remainder of this paper we will only con-
forms for a particular train, and ensure that the sider constraints that can be modelled using the sets
time at the platform (i.e., d^^ - a^g) will exceed some
prespecified (and possibly train-dependent) value.
The safety rules described in the previous section 1.3. Complexity
can be represented by defining, for each pair of The size of the feasibility problem can be mea-
trains t, t' G T, a set F^,.. These sets contain pairs sured in terms of the number of trains | r | , tbe layout
of allowable route-deviation combinations (r, 5; r', of the railway station as measured by the number of
8'). That is. (r, S; r', S') E F,,. implies that the track sections |S|, and the number of possible route-
routing of train t on route r with deviation 8 is deviation combinations available for each train. The
compatible with the routing of train t' on route r' layout of the railway station will be characterized by
with deviation S'. It is clear that this is a very the set of track sections S that make up the routes.
flexible way of modeling the safety rules. Therefore,
as was noted above, this modeling can accommodate The feasibility problem
a large variety of safety rules (including the current Given a railway station, with a corresponding set
Dutch ones). In fact, the necessity of being able to of track sections S, a set of trains T with corre-
handle such safety rules implies that routes should sponding default arrival and departure times a,
be taken into account explicitly, as opposed to, for and di (for t G T), a set of route-deviation combi-
instance, dealing directly with the sections of the nations Ft C R X A, and sets i^^. C F, x F,.
railway station. It has already been noted that deal- containing all pairs of compatible route-deviation
ing with complete routes is necessary for the exact combinations for all pairs of trains t, t' E T,
calculation of the reservation times of routes and the determine whether all trains can be routed
release times of sections. through the station.
Actually, many other constraints can be modelled
in the same way. For instance, consider the situa- In this section we will show that this problem is
tion where two trains have to be coupled at a railway NP-complete.
ROUTING TRAINS THROUGH RAILWAY STATIONS / 185
THEOREM l. The feasibility problem is NP-complete. the optimization form of the feasibility problem:
"what is the maximum number of trains that can be
Proof. It is easy to see that the problem is in the scheduled?". Obviously, solving the optimization
class NP (see GAREY and JOHNSON (1979) for the form of the problem also solves the decision form of
definition). Now consider the problem of scheduling the problem, by simply checking whether the num-
jobs with fixed start and end times on non-identical ber of trains that are scheduled in the optimal solu-
parallel machines, where each job can only be pro- tion is equal to the total number of trains. In fact, in
cessed on a specified subset of the machines. ARKIN the remainder of this paper we will address both the
and SiLVERBERG (1987) prove that this scheduhng decision problem and the optimization problem as
problem is NP-complete by a reduction from 3SAT.
the feasibility problem, where the correct interpre-
We will reduce this problem (which is described in
tation should be clear from the context.
more detail below) to the feasibility problem, thus
proving that the latter is NP-complete as well. We will show that the feasibility problem can be
formulated as a Node Packing Problem (NPP). For-
The scheduling problem of Arkin and Silverberg
can be described as follows: mally, the Node Packing Problem (NPP) reads as
follows:
Given a set J = {J^, . . . , JJ of n jobs, the start Let G = (V, E) be an undirected graph, where V
and end times (a,, d,) of each job J,, and a job- is the set of nodes, and E is the set of edges. Then,
machine mapping between J and a set of k non- a node packing {or stable set) is a set S C V such
identical machines, determine whether all jobs
that no edge joins two members of S. Then the
can be processed.
NPP is the problem of finding a node packing of
For each job J^, introduce a train i with arrival time maximum cardinality.
a, and departure time d^. Let every machine Mj
correspond to a route. If M^ denotes the set of ma- The general NPP is thus characterized by an undi-
chines on which job J, can be processed, then let rected graph. For the feasibility problem, we define
F, = M,, where F^ is the set of allowable routes for a vertex of the graph for each allowable train-route-
train i. Now a route combination (Mj, Mj-) is in the deviation combination (t, r, 8). The identification of
setF,,- a + i') if(a)j ^j'\ (b) d,. ^ a^; or (c) d^ < each individual combination is necessary because of
a, . This instance of the feasibility problem (without the calculation of the traveling times of the trains.
deviations!) can be constructed in polynomial time. The exact calculation of the traveling times is of
It is easy to see that a feasible schedule for the crucial importance in practice. The following edges
scheduling problem is equivalent to a feasible rout- are added to the graph;
ing of all trains. D
(i) Connect a vertex (t, r, 5) to all other vertices
The complexity of the feasibility problem is stud- associated with the same train t.
ied in more detail in KROON, ROMEUN and ZWAN- Hi) Connect a pair of vertices {t, r, 8) and(^', r', 8')
EVELD (1995). In particular, it turns out that the if{r, a ; r ' , 8') ^ F,,..
feasibility problem is solvable in polynomial time if
each train has at most two available route-deviation Here (i) ensures that each train is assigned to at
combinations, and it is NP-complete if each train most one route-deviation combination, and {ii) ex-
can have three available route-deviation combina- cludes conflicting train-route-deviation combina-
tions. On the other hand, if the layout of the station
tions for pairs of trains.
is considered fixed and only minor deviations are
Obviously, a node packing represents a feasible
allowed, then the problem is solvable in an amount
of time that is polynomial in the number of trains to routing of a number of trains through the railway
be routed. The involved algorithm is based on dy- station. A node packing of maximum cardinality
namic programming. represents a feasible routing of as many trains as
possible through the railway station. Note that a
reasonable upper-bound on the maximum cardinal-
2. MODEL FORMULATION ity node packing is known, namely the total number
of trains.
2.1. Node Packing Formulation
IN THE PREVIOUS SECTION, the feasibility problem
was stated in its decision form. That is, the question 2.2. Valid Inequalities
was: "is it possible to route all trains through the The feasibility problem, when regarded as a Node
railway station?". In this section, we will switch to Packing Problem, can be formulated as an integer
186 / p. J. ZWANEVELD ET AL.
linear program as follows. G Ff). Then the model will contain the following
constraints:
max 2
tsT (r,
+
subject to ^ 1.
+
,,, + X,,.,. < 1 for all t e T; (r, S), ( r ' , S') E F , However, since only one route-deviation combina-
(1) tion can be chosen for train f', we also haveX,,. s- +
X('^..g" :^ 1. We can now replace the first two con-
,ra + X,r-s' ^ 1 for all t =^ t' e T; (r, 5) G F,;
straints by the single constraint
"•" X,'r'6' + 1.
(2) Continuing this line of reasoning to all feasible
{0, 1} for all t G T; (r, S) route-deviation combinations for train t' tbat are
incompatible with (r, 5) for train t, we obtain
This formulation is, in general, not very tight. That
is, the optimal solution to the LP-relaxation is not
close to the optimal IP-solution (see NEMHAUSER
and WOLSEY, 1988). However, it is possible to where F^'^^ denotes the set of route-deviation combi-
tighten tbe formulation as follows. nations for train t' that are compatible with route-
First, note that the subgraph in the Node Packing deviation comhination (r, S) for train t, i.e.
graph of all nodes corresponding to a single train is
a complete graph, i.e. a clique. Since every pair of F[^'={{r', 8 ' ) E F , : { r , S; r', 6 ' ) G F , , } .
nodes corresponding to a single train is connected,
and only one of each pair of variables corresponding Repeating this process for each pair of trains, the set
to a pair of connected nodes can be set to one, we of constraints (2) can be replaced by
know that only one out of all variables correspond-
ing to one train may be set to one—which yields the X,r, + 1 X,.,-s' ^ 1 for all t, f E T; (r, 5) G F,.
following valid inequalities:
Adding these new constraints does not only improve
^ 1 for all t G T. (3) the upper bound obtained by LP-relaxation, but also
(r.5)GF,
strongly reduces the number of constraints in the
These inequalities can then replace equations (1) in problem since the corresponding constraints (2) are
the above integer linear programming problem, removed.
thereby hoth tightening the formulation, and Taking this process one step further, let (r^, 5j)
strongly reducing the number of constraints. and (r2, 82) be two feasible route-deviation combi-
It is clear that this line of reasoning can be ex- nations for train t, tbat is, (r^, S^), (r^, Sg) G F,.
tended to arbitrary cliques in the graph (see e.g. Suppose that the set of route-deviation combina-
PADBERG, 1973). These valid inequahties are called tions of train t' that are not compatible with train t
clique inequalities. However, the number of clique and (rj, Sj) (given by the setF^. \ Fj^'*') intersects
inequalities is exponential in the problem size. An the set of route-deviation combinations of train t'
efficient choice must therefore be made, based upon that are not compatible witb train t and (rg, 62)
the characteristics of the problem. In this section we (given by the set F,- \ Fp^'), i.e., (F,- \ F'p^') f\
present the general idea behind our selection proce- {Fr \ F'p^^) = F,, \ (F'p^^ U F'p^^) i= 0. Then it
dure. The implementation is discussed in detail in is clear that we can add the following valid inequal-
section 3.2. ity
The valid inequalities (3) represent cliques con-
taining nodes corresponding to a single train. A + 2J ^ 1.
straightforward extension of this is to consider all
nodes corresponding to two trains, and to find a Generalizing this to a set A C F^ of route-deviation
clique in that subgraph. combinations for train t, we can add:
Indeed, consider two trains t ^^ t\ and route-
deviation combinations satisfying(r, 5; r', S'), (r, S; (4)
r", 6") ^ F,,. (where (r, S) E F, and (r', S'), (r", 5")
ROUTING TRAINS THROUGH RAILWAY STATIONS / 187
The same idea could obviously be extended to com- all other trains, i.e. if there exists some (r, S) such
binations of three or more trains. that
Valid inequality procedure Step 1. Choose routing possibility (r, S) G F,. that
maximizes the number of trains for which
Step 0. Set A = 0. at least one routing possibility is left, i.e.
Step 1. Select a routing [r, S) from F, that has not choose (r, S) to maximize
been considered yet. If all routings have
been considered, go to Step 4. Set S = 0, \{t'eT: 3{r, 8; r', S')eF,,,.l|.
and rank the sets R' {i = 1, . . . ,k) in order
of non-decreasing cardinality. Out of all possibilities ir, S) attaining this
Step 2. For i = 1, .. . , k, compare FJ^* to R'\ maximum, randomly choose a routing pos-
• UR'C Fjr«, then S'^ = S'c U {{r, 8)1. sibility (r*, 6*) that also maximizes the
• If R* = Flr\ then SL = SL U {(r, S)|, total number of remaining routing possibil-
and return to Step 1. ities:
• If Fj:^ C R', then S - S U SL.
Step 3. Increment k, let R* = .FJ^^ S l = {(r, 5)}, X |{{r',S'):(r, 5;r', S')GF,.,}|.
S j = S, and return to Step 1.
Step 4, For i ^ 1, . . . , k, create the following Step 2. If r = 0, stop. Otherwise, update the sets
constraint: Ff and F^f to reflect the route choice for t*.
Randomly select and remove a new train f *
from the set T, and return to Step 1.
The first heuristic does not take into account how
This constraint is lifted hy sequentially ex- the number of routes that will be available for the
tending the corresponding clique to a max- remaining trains after a certain train is routed is
imal clique. The sequence in which the con- balanced over the remaining trains. The second heu-
nected variables are investigated is chosen ristic tries to choose, for the train that is under
randomly, based on a uniform distribution consideration, a routing that balances, as much as
over the remaining variables. possible, the number of routes available for all re-
In Step 1 the sets R' are ranked in order to decrease maining trains over all remaining trains. The next
the time required for the comparisons if/?' = Fjr^, train to be routed will be the train that has the least
since in that case no set R-^, with j' ^ i, can satisfy number of routing possibilities left. Through this
if C Fjr^. In the actual implementation, this rank- selection this heuristic aims at scheduling the "most
ing step is avoided by adding the new set at the right critical" train.
position in the list, and renumbering the sets, in
Heuristic 2
Step 3.
Step 0. Select and remove a train, say t*, from the
3.3. Heuristics setr.
A heuristic yielding a good initial solution is es- Step 1. For all routing possibilities (r, 5) E F,*,
sential for obtaining an efficient branch-and-cut al- determine how many routing possibilities
gorithm. We propose two (randomized) heuristics, can still be selected for the remaining
that can be used to generate several feasible solu- trains in T, i.e. determine, for aWt E T and
tions for the optimization problem. all ir, 5) e F,*,
The first heuristic is based on the idea that, for
each train, a routing possibility should be chosen N,{r, d)
that leaves room for as many trains as possible. In
other words, a routing is chosen such that the num- = max{€,\{{r\B'):{r,8-r',8')eF,,,}\}-
ber of trains that will have at least one routing Then choose a routing possibility (r*, S*)
possibility left is maximized. Given this, a routing for train t* such that
possibility is chosen that maximizes the total num-
ber of routing possibilities left. The next train to be , S)
routed will be selected randomly from the remaining ter
trains.
for all (r, 5) G F , . .
Heuristic 1
Step 2, If T = 0, stop. Otherwise, update the sets F^
Step 0. Select and remove a train, say t*, from the and Fti' to reflect the route choice for t*.
setT. Select and remove a new train t* from T
ROUTING TRAINS THROUGH RAILWAY STATIONS / 189
3,4. Branch-and-Cut
3.4.3. Step 3
Within the branch-and-cut procedure a number of
subproblems is solved sequentially. A stack contain- Since we search for violated clique inequalities,
ing the so-called active subproblems is maintained we may restrict ourselves to a search over the frac-
during the procedure. tional variables only. The reason for this is that
variables having the value one can never form a
Branch-and-cut procedure clique of cardinality two (or more) with a variable
Step 0. Initialize the stack by the overall problem. having a nonzero value. A variable having the value
zero is not interesting, since it does not contribute to
Step 1. Choose the subproblem from the top of the
the value of the clique. Therefore such variables can
stack. If the stack is empty, then stop—the
be added later to turn a clique into a maximal clique.
best solution found so far is optimal.
Step 2. Solve the LP-relaxation of the subproblem The fractional variables are ordered in order of
in process. Use a rounding heuristic to ob- non-increasing value. Starting with the first vari-
tain a feasible solution. Compare this solu- able, we try to find a clique containing that variable,
tion with the best solution found so far. adding the variables in the given order. If a maximal
Determine whether the best solution found clique containing only fractional variables is found
so far dominates the subproblem in process. in this way, and if the sum of the values of the
If so, stop and return to Step 1. variables in the clique is larger than one (i.e., we
Step 3, Decide whether it may be useful to tighten have found a violated clique inequality), we are
the LP-relaxation. If this is the case, then done. If not, we start the procedure again with the
search (for a limited time) for new valid next variable in the list.
inequalities. If new vahd inequalities are If we have found a violated clique inequality, then
found, add them to the subproblem and re- it is lifted by extending the corresponding clique to a
turn to Step 2. maximal clique. Note that in this step of the algo-
Step 4. Split the subproblem in process into two rithm we search for any violated clique: not just the
disjoint subproblems according to some ones discussed in Section 2.2. The corresponding
branching rule, and put them onto the valid inequality is added to the problem formulation
stack. Return to Step 1. for all problems at the current node of the branch-
and-bound tree and their offspring, even though the
We will now explain the steps of the branch-and-cut vahd inequalities are valid for the original problem
procedure in more detail. (and thus for all its subproblems). We repeat the
above procedure, after removing the variables con-
3.4.1, Step 1 tained in the maximal clique, until no more cliques
The subproblems will be taken from the stack in exist. Now the LP-relaxation can be solved again. If
LIFO order, corresponding to a depth-first search of no violated cliques are found, we split the current
the branch-and-bound tree. subproblems into new subproblems in Step 4.
190 / P. J. ZWANEVELD ET AL.
ZwoHe (ZL)
A /—\ Meppel
Deventer
Fig. 2. Infrastructure of the railway station of Zwolle.
TABLE I
Characteristics of the Problems
Timetable Deviations n m n* m* ni[, *0
Current no 1,054 110,889 324 10,842 834 893 13,870
Random 18 no 1,036 123,050 304 9,905 714 485 10,563
Current yes 3,162 1,493,532 1,331 283,456 3,407 581 281,088
Randoml8 yes 3,108 1,108,000 1,085 143,250 2,705 565 124,450
4.2. Timetables on each other (see also KROON, ROMEIJN and ZWAN-
We use both the current timetable and a number EVELD, 1995).
of randomly generated timetables, which are all cy- We also consider the following two scenarios with
clical with a period of one hour. The current timeta- respect to the allowable deviations from the arrival
ble has been in effect (with only minor changes) for and departure times.
many years, and will remain in effect in the near
future. This timetable is (almost) equal to past time- 1. No deviations are allowed, i.e. A = {(0, 0)1.
tables since it is very hard to generate new timeta- 2. Three deviations are allowed, i.e. A = {(-1, -1),
bles by hand. Therefore, only slight adjustments (0, 0), (1, 1)1, i.e. the arrival and departure times
have been made from one year to the other. can be shifted by one minute either backward or
forward in time.
We use random timetables to simulate the future
(and at this point unknown) situation where the If, in the remainder of this section, we refer to the
(initial) timetable is provided by CADANS. The problem with deviations, we will mean the problem
characteristics of these randomly generated timeta- with the 3 deviations from scenario 2.
bles are as follows (all time references are in min-
utes): 4.3. Performance of the Algorithm
• Nine different combinations of entering and In this section we focus on the performance of our
leaving directions for trains that are currently algorithm. In Section 4.3.1 the detailed performance
used, are identified. is reported for problem instances from base case
• No, one, two or three trains are generated for a scenarios. The results for other problem instances
combination of an entering and a leaving direc- are reported in Section 4.3.2.
tion.
• The arrival time of one train for a combination 4.3.1. Base Case Scenarios
of an entering and a leaving direction is drawn We report the detailed results of our computa-
uniformly from the set 10,. . . , 59), if at least one tional experiments for the base case instances.
train is generated for that combination. The These experiments are conducted both on the cur-
difference between the arrival time and the de- rent timetable and on 20 randomly generated time-
parture time of the train is drawn uniformly tables. This yields 21 timetables for each of the 2
from the set 15, . . . , 10|. If two trains are gen- scenarios with respect to the deviations, or 42 base
erated for a combination of an entering and a case problems to be solved. All results concerning
leaving direction, the arrival time and depar- random timetables are averages over the 20 in-
ture time of the second train is 30 minutes later. stances. In Tables I-III the results concerning the
If three trains are generated for a combination, randomly generated base case timetables are indi-
the arrival and departure times are respectively cated by 'randoml8'. In Table I we can see that the
20 and 40 minutes later (modulo 60). problems we obtain for Zwolle have about 1,100
variables {n) and 120,000 node packing constraints
We will use as a basis two trains per combination of (m; as in equations (1) and (2)) if we do not allow for
an entering and a leaving direction. Thus as base deviations from the original arrival and departure
case a total of 18 trains are generated, which is the times. If we do allow for deviations, we obtain a
expected usage of railway station Zwolle in the fu- problem with roughly 3,200 variables and 1,300,000
ture. As an additional constraint, we require that node packing constraints. The density of the node
trains using the same combination of entering and packing graph is thus about 10%. The dominance
leaving directions use the same platform. This will rule reduces the number of variables by about 65%,
complicate the routing of trains since the routing and the number of constraints by 70-90%. In Table
possibilities of trains will become more dependent I the number of variables and constraints after ap-
192 / P. J, ZWANEVELD ET AL.
TABLE II
Resulti ! of the Heuristics
MaxCHl,
Timetable BufFer Deviations HI H2 H2} LP LLPj Opt
Current
Random 18 no 16,0 16.1 16.3 16,3 16.3 16.3
Random 18 yes 17.5 17.7 17.8 17.8 17,8 17.8
plying the dominance rule is denoted by n* and m* without having to resort to the branch-and-cut pro-
respectively. cedure (illustrating the strength of the preprocess-
The performance of the valid inequality procedure ing step, the valid inequality procedure, and the
is satisfactory. It performs well with respect to the heuristics). Note that for the current timetahle all
reduction of the number of constraints. Without de- trains can be routed without allowing deviations.
viations the number of constraints is reduced from Therefore the corresponding prohlem with devia-
about 10,000 (in the form of equation (1) and (2)) to tions does not have to be solved.
less than 1,000 (see the column labeled m,, in Table The computing times (in CPU seconds on a SUN
I). With deviations, the reduction was even more LX workstation, using ANSI C for programming,
dramatic, namely from about 150,000 to about 2,700 and CPLEX 2.1 for solving the LP-relaxations) of the
in the case of randomly generated timetahles and various steps of the algorithm are summarized in
from about 280,000 to about 3,500 for the current Table III. All problem instances without deviations
timetable. Because of the lifting procedure and the were solved within 85 CPU seconds, whereas all
fact that the valid inequahty procedure is started for problem instances with deviations were solved
each combination of two trains twice, it may happen within 400 CPU seconds. The most time consuming
that some clique inequalities are found more than part of the solution procedure is the initialization
once. The number of times that this occurs is de- step (the determination of the sets Fn-), as can be
noted in Table I by ml. Without deviations this observed from Table III.
occurred in about 40% of cases, while the corre-
sponding number with deviations is about 15%. This 4.3.2. Analysis of Other Scenarios
difference can be explained by the fact that in the Apart from the computational experiments with
latter case the number of maximal cliques in the the base case scenarios, we also investigated a num-
^ a p h is much larger than in the first case, and ber of other problem instances, all based on ran-
therefore the randomized lifting procedure will find domly generated timetables:
more distinct maximal cliques. The number of non-
zero coefficients (see the column labeled '^ 0' in 1. Different layouts of the railway station are con-
Table I) in the constraint matrix of the IP formula- sidered. We represent the different layouts by the
tion remains roughly the same. number of platforms of the railway station. The
number of platforms is varied between 1 and 17.
Both heuristics are started with each train chosen We used the randomly generated timetables with
as the initial train once. No clear conclusion can be 18 trains and without deviations.
drawn on which heuristic performs best. The aver- 2. Different numbers of trains are considered. The
age solution of both heuristics is about 3% worse number of trains is varied between 3 and 27. The
than the optimal solution. The results are summa- latter represents a frequency of three for each of
rized in Table II. In all cases, the (truncated) opti- the directions of the timetables of Section 4.2
mal solution value of the LP-relaxation of the initial Railway station ZwoUe was used for this analysis.
problem (after applying the valid inequality proce-
dure) is equal to the value of the best found beuristic The total number of problem instances generated
solution, so that the optimal solution is reached was 360. The aggregated results of these variants
TABLE III
Computation Times (in CPU Seconds) of the Steps of the Algorithm
Deviations StepO Step 1 Step 2 Step 3 Step 4 Totsl
Timetable BufFer
Current
no 33.0 2.4 2.2 1.4 0.6 39.5
Random 18
yes 150.6 56.0 36.9 14,8 7.7 266.3
Random 18
ROUTING TRAINS THROUGH RAILWAY STATIONS / 193
0 — steps \-4
CPU seconds
20
10
5 7 9 11 13
# platforms
Fig. 3. Average CPU time for different layout designs.
are summarized in, respectively, Figures 3 and 4. problem instances (Step 0) and the time required for
We were able to solve each of the problem instances solving the problem instances (Steps 1-4). The re-
to optimality within 85 CPU seconds. This repre- ported computing times are averages over 20 ran-
sents the total computation time for Steps 0-4. For domly generated problem instances.
any of the instances, no more than 61 subproblems
had to be investigated and no more than 2 useful 4.4. Buffer Times
violated clique inequalities were found during the The capacity of a railway station depends, apart
branch-and-cut phase. from the infrastructure and the safety system, on
The CPU times reported in both figures are di- the buffer time that is required. Increasing this
vided into the time required for formulating the buffer time improves the robustness of the resulting
0 sttps
CPU seconds
# trains
Fig. 4. Average CPU time for different numbers of trains.
194 / P. J. ZWANEVELD ET AL.
TABLE IV
Maximum Number of Trains that Can Be Routed
BufFer Time
Timetable Deviations 0.0 0.3 0.5 1.0 1.5 2.0 2.6 3.0 3.5 5.0
Current no 18 18 17 15 15 14 12 11 11 10
Random 18 no 16.3 15.9 15.1 14.6 14.2 13.9 13.4 13.0 12.6 11.5
Current yes 18 18 18 18 17 16 15 14 13 11
Random 18 yes 17.8 17.8 17.6 17.1 16.5 15.9 14.9 14.2 13.9 12.7
timetable with respect to operational disruptions. (which generates arrival and departure times for
However, increasing the buffer time also decreases each train at each station) and STATIONS requires
the capacity of the railway station, since each sec- further investigation.
tion on the route of a train is reserved longer by that
train. As an illustration we investigated the impact
of varying the huffer time on the number of trains REFERENCES
that can be routed. The result of this analysis is Arkin, E. M. and E. B. Silverberg, "Scheduling Jobs with
summarized in Table FV. Railway station Zwolle was Fixed Start and End Times," Discrete Applied Mathe-
used for this analysis. The decrease in capacity can matics, 18, 1-8 (1987).
clearly be observed in the results. Carey, M., "A Model for Train Pathing with Choice of
As far as the performance of the algorithm is Lines, Platforms and Routes," Transportation Re-
concerned, in about 1% ofthe 420 prohlem instances search 28B, 333-353 (1994).
we need to resort to the branch-and-cut procedure. Garey, M. R. and D. S. Johnson, Computers and intracta-
In none of those cases more than 13 subproblems bility: A guide to the theory of NP-completeness. Free-
man, San Francisco (1979).
(corresponding to nodes in the branch-and-cut tree)
Hoffman, K. L. and M. Padberg, "Solving Airline Crew
need to be considered. The maximum number of Scheduling Problems by Branch-and-Cut," Manage-
violated clique inequalities, which were generated ment Science, 39, 657-682 (1993).
during the branch-and-cut procedure, is 5. Kroon, L. G., H. E. Romeijn, and P. J. Zwaneveld, "Routing
Trains Through Railway Stations: Complexity Issues,"
S. SUMMARY AND CONCLUSIONS Working paper 209, Erasmus University Rotterdam,
Rotterdam School of Management (1995).
IN THIS PAPER we considered the problem of con- Kroon, L. G. and P. J. Zwaneveld, "STATIONS: Final
structing feasible routings of trains through station Report of Phase 1," Working paper 201, Erasmus Uni-
yards. We presented a comprehensive description of versity Rotterdam, Rotterdam School of Management
the problem, and a formulation of the problem as a (1995).
Node Packing Problem. Next, a branch-and-cut al- Nemhauser, G. L. and L. A. Wolsey, Integer and Combi-
gorithm was outlined and implemented to solve the natorial Optimization, John Wiley & Sons, New York
problem to optimality. The procedure proved effec- (1988).
tive in solving the routing problem for one of the Padberg, M. and G. Rinaldi, "An Efficient Algorithm for
largest stations in the Dutch railway network. the Minimum Capacity Cut Problem," Mathematical
Programming, 47, 19-36 (1990).
The numerical experiments showed that the ini- Padberg, M. W., "On the Facial Structure of Set Packing
tialization step (i.e., the step of actually formulating Polyhedra," Mathematical Programming 5, 199-215
the problem instance) forms the major computa- (1973).
tional burden. Future research should be directed Schrijver, A. and A. Steenheek, "Dienstregeling
towards improving this initialization step. Another Ontwikkeling voor Railned (Timetahle Development
direction for future research involves the inclusion for Railned," Report Cadans 1.0, C.W.l. Amsterdam,
of shunting movements of trains, more complicated The Netherlands (1994).
service aspects, and other performance indicators Serafini, P. and W. Ukovich. "Mathematical Model for
into the problem. Periodic Scheduling Problems," SIAM Journal on Dis-
Finally, the incorporation of our solution proce- crete Mathematics 2, 550-581 (1989).
dure into the system STATIONS, and the interac- (Received; April 1995; revision received: August 1995; accepted:
tion mechanism, within DONS, between CADANS September 1995)