Professional Documents
Culture Documents
A permutation-based algorithm to
optimally reschedule trains in a railway
traffic network
Ton J.J. van den Boom Nicol
as Weiss Wilko Leune
Abstract: In this paper we discuss dynamic traffic management of railway traffic networks at an
operational level. We design a model predictive controller based on measurements of the actual
train positions. The core of the model predictive control approach is the railway traffic model,
for which a switching max-plus linear system is proposed. If the model is affine in the controls,
the optimisation problem can be recast as a mixed-integer linear programming problem. To this
end we present a permutation-based algorithm to model the rescheduling of trains running on
the same track. We apply the algorithm to a simple railway traffic network simulation model
and show a significant reduction of delays compared to the uncontrolled case.
Keywords: Switching max-plus linear models, model predictive control, mixed-integer linear
programming, railway traffic management.
1. INTRODUCTION
Current practice in the operational-level management of
railway traffic networks is mostly based on predefined
rules and on the ability of traffic controllers and train
dispatchers to detect and avoid conflicting situations. Delays caused by technical failures, fluctuation of passenger
volumes, and/or weather conditions can be partly absorbed by a stable and robust timetable (Goverde, 2007).
In the case of large delays, network managers might be
forced to re-route or to change the order of trains, break
connections, or even cancel a scheduled service to prevent
the accumulation of delays in the network. In this paper
we design a predictive feedback controller that computes
the most effective actions, based on measurements of the
actual train positions. The control measures are restricted
to changing the order of trains running on the same track.
A railway network with rigid connection constraints and
a fixed routing schedule can be modeled using max-pluslinear (MPL) models (Heidergott and de Vries, 2001). An
MPL model is linear in the max-plus algebra (Baccelli
et al., 1992), which has maximisation and addition as its
basic operations. Max-plus-linear systems can be characterised as discrete event systems in which only synchronisation and no concurrency or choice occurs (Baccelli et al.,
1992). In the railway context, synchronisation means that
some trains should give predefined connections to other
trains, and a fixed routing schedule means that the order
of departure is fixed. In this paper we model a controlled
railway system using the switching max-plus-linear system
Research funded by the Dutch Technology Foundation STW
project Model-Predictive Railway Traffic Management (11025).
Copyright by the
International Federation of Automatic Control (IFAC)
2. MODEL
Consider a periodic railway operations system that follows
a schedule with period T . In nominal operation mode, we
assume that all the trains follow a pre-scheduled route,
with a fixed train order and predefined connections. If for
any of the reasons mentioned before delays are introduced
in the network, it might be advantageous to change the
train order so as to minimise delays. In this case we
will operate in a perturbed mode with an associated new
schedule. First we discuss the nominal operation mode.
9537
station j
station i
i
track i
track j
where ri (k) = ri (0) + kT with ri (0) the initial scheduled departure time, and with a similar definition for
the arrivals.
Running time constraint:
ai (k) > di (k ii ) + ti (k),
(3)
where ii = 0 if train i is scheduled to arrive at its
destination in the same cycle as its departure, and
ii = m if it arrives m cycles after its departure.
Continuity constraints:
(4)
di (k) > api (k ipi ) + spi (k),
where ipi = m if the (k m)th train pi arriving at
the physical station corresponding to virtual station
i continues as the kth train i.
Connection constraints:
di (k) > aj (k ij ) + cij (k), j Ci (k),
(5)
where ij = m if the (k m)th train j gives a
connection to the kth train i.
Headway constraints:
di (k) > dj (k ij ) + hij (k), j Fi (k), (6)
ai (k) > aj (k ij ) + hij (k), j Fi (k), (7)
where ij is defined similarly as above.
Meeting constraints:
di (k) > aj (k ij ) + wij (k), j Wi (k),
(8)
where again ij is defined similarly as above.
jCi (k)
jFi (k)
max (aj (k ij ) + wij (k)) ,
ai (k) = max ri+n (k), di (k ii ) + ti (k),
jCi (k)
max (aj (k ij ) + hij (k)) .
jWi (k)
jFi (k)
(9b)
(1)
(2)
(9a)
9538
k=1,...,n
k=1
for A, B Rmn
, C Rnp . In regards to the order of
is defined as:
m2
2n M
M
xj (k m) [Am ]ij ,
j=1 m=m1
(11)
m=m1
Due to the fact that time does not explicitly enter the
max-plus recurrence in (12) it could happen that if an
event is delayed by a precedence constraint and if due to a
rescheduling action this hindering constraint in removed,
then the delayed event could, in theory, be rescheduled in
the past. To avoid this issue it should be considered that a
departure event cannot be rescheduled before the current
decision time t.
3.2 Control problem
Let Np be the prediction horizon and define the set U(k +
j|t) {0, 1}nu for j = 0, 1, ..., Np with nu the dimension
of the control space, as the set of possible future control
actions for the k + jth cycle at time instant t with the
relation between k and t as defined in Section 3.1. Note
that this includes the fact that certain control actions may
no longer be feasible, as at time instant t some trains might
have already departed and therefore their order can no
longer be changed. So, a mode (k) will be encoded as a
binary array with nu bits (see Section 4 for details).
To select the optimal set of possible future control actions,
we define the following optimal control problem at time
instant t:
min
J(k|t)
u(k|t),u(k+1|t),...,u(k+Np |t)
m2
x
(k + j|t) =
Am ((k + j|t))
(13)
m=m1
(k
+
j
m|t)
r(k
+
j)
x
(k i) = x(k i) for i = 1, . . . , m2
J(k|t) =
Np
2n
X
X
j=0
i=1
i ei (k + j|t) +
nu
X
l=1
l ul (k + j|t) .
(14)
Here e(k + j|t) is the vector with the expected delays
(
ei (k + j|t) = x
i (k + j|t) ri (k + j) 0), and i , l are
positive weighting scalars. The first term of (14) is related
to the sum of all predicted delays, and the second term
9539
( )
( )
nt X
(k)
X
)
( )
A(
m,v (k) uv (k),
(16)
=1 v=1
9540
which
can be transformed into
xi (k) ri (k),
nu
u
(k) = [u (k), ..., u (k + Np )] ,
z(k) = [xT (k 1), ..., xT (k m2 )]T ,
= [(k), ..., (k + Np )]T ,
(k)
r(k) = [rT (k), ..., rT (k + Np )]T ,
where x
(k) represents the partially known or completely
unknown states and z(k) represents the completely known
states at cycle k as introduced in Section 3.1. Note that
by defining the matrices
(k))
A(
=
A0 ((k))
A1 ((k + 1))
..
ANp ((k))
A1Np ((k + 1))
..
..
.
.
A1 ((k))
A0 ((k + 1))
..
.
A0 ((k + Np ))
(k))
B(
=
A1 ((k))
Am2 1 ((k)) Am2 ((k))
A2 ((k + 1))
Am2 ((k + 1))
..
.
.
.
.
.
.
,
Am2 ((k + m2 1))
..
..
..
..
.
.
.
.
we can write
(k))
(k))
x(k) = A(
x
(k) B(
z(k) r(k). (17)
Note that x
(k) appears in both sides of (17). This is
(k))
not a major problem if the matrix A(
has a strictly
lower triangular structure, which can always be achieved
by a renumbering of the departures and arrivals (Goverde,
(k))
2010). Furthermore, due to (16) the matrices A(
and
(k))
Av uv (k),
A(
= A0 +
(k))
0 +
B(
=B
v=1
nu
X
v u
B
v (k).
v=1
is a function of u
Note that (k)
(k), which can be expressed
as (k) = L(
u(k)). The objective function J(k) is linear in
u
(k) and x
(k), and can be written as:
J(k) = cT
(k) + cT
(k),
e x
u u
(18)
cT
e
(k))]
xi (k) = max(
ri (k), max(
xj (k) + [A(
ij ),
j
(k))]
max(
zj (k) + [B(
ij )),
j
(19)
(20)
v=1
xi (k)
0 ]il +
zl (k) + [B
nu
X
v ]il uv (k)
[B
l.
v=1
9541
Line 2: Intercity
Train number
101
102
103
104
201
202
203
204
Station A
00
15
30
45
09
24
39
54
Station B
Station C
15
30
45
00
18
33
48
03
23
38
53
08
20
35
50
05
35
50
05
20
27
42
57
12
101
201
102
202
104
204
105
201
101
202
102 201
204
C
8 : 10
201
102
103
203
104
8 : 30
8 : 40
8 : 50
9 : 00
9 : 10
101
8 : 20
204
REFERENCES
B
201
101
203
103
C
8 : 10
8 : 20
8 : 30
8 : 40
8 : 50
9 : 00
9542