You are on page 1of 13

Vol. 45, No. 2, May 2011, pp.

199211
issn0041-1655[ eissn1526-5447[ 11[ 4502[ 0199
informs

doi 10.1287/trsc.1100.0365
2011 INFORMS
Scheduling Freight Trains in Rail-Rail
Transshipment Yards
Nils Boysen
Lehrstuhl fr Allgemeine Betriebswirtschaftslehre/Operations Management, Friedrich-Schiller-Universitt Jena,
D-07743 Jena, Germany, nils.boysen@uni-jena.de
Florian Jaehn, Erwin Pesch
Institut fr Wirtschaftsinformatik, Universitt Siegen, D-57068 Siegen, Germany
{orian.jaehn@uni-siegen.de, erwin.pesch@uni-siegen.de}
T
ransshipment yards, where gantry cranes enable the efcient transfer of containers between freight trains,
are important entities in modern railway systems. They facilitate a general shift from point-to-point transport
to hub-and-spoke railway systems, a shift being driven by concerted efforts within the European Union (EU) to
transfer goods trafc from road to rail. Modern rail-rail transshipment yards accelerate container handling so
that multiple smaller trains, with identical destinations, can be consolidated onto a reduced number of trains.
An important problem attendant upon the daily operations of a transshipment yard is the train-scheduling
problem, which involves determining the processing order of trains at parallel railway tracks. The present
paper investigates this problem, with a special focus on resolving deadlocks and avoiding multiple crane picks
per container move. A mathematical program along with a complexity proof is provided, and two different
procedures are described: exact (dynamic programming) and heuristic (beam search).
Key words: railway systems; transshipment yard; train scheduling; dynamic programming; beam search
History: Received: May 2008; revisions received: March 2009, October 2009, May 2010, September 2010;
accepted: October 2010.
1. Introduction
The last two decades have seen an unprecedented
increase in global freight transport volumes, a trend
which is predicted to continue at high growth rates
in the foreseeable future (for a detailed analysis
of the associated impacts, see Azar, Lindgren, and
Andersson 2003). In the European Union (EU), most
of the recent increase of surface transport is attributed
to road freight, so that currently, road transport holds
a dominant market share in comparison to other
modes of transportation (see Gonzlez et al. 2008).
As a response to this development, there have been
several EU initiatives for strengthening the position
of the rail transport market, especially because of
the considerably smaller environmental impact of rail
freight.
In this context, modern rail-rail transshipment
yards are a faster alternative to traditional classi-
cation (or marshalling) yards. Although both yard
types allow the consolidation of different freight
trains with identical destinations, rail-rail transship-
ment yards and their more efcient container oper-
ations enable the implementation of hub-and-spoke
systems for rail, in a similar fashion to their tradi-
tional use in road and air transportation. Whereas tra-
ditional classication yards require time-consuming
reshufing of railway cars via a system of track
switches, in a modern transshipment yard the han-
dling of containers (or other standardized transport
units) is conducted by huge gantry cranes spanning
the railway. In these modern yards, the composition
of railcars remains unaltered and only containers are
transshipped. Such an alternative transshipment pro-
cess enables a rapid consolidation of trains, which is
a basic condition for an efcient hub-and-spoke sys-
tem. Figure 1 depicts a schematic representation of a
transshipment yard.
A modern transshipment yard consists of a num-
ber of parallel tracks on which different freight trains
carrying multiple containers are processed. Gantry
cranes are equipped with a cantilever on both sides
and are arranged alongside the tracks for a par-
allel processing of container moves. The number
of tracks and gantry cranes mainly determine the
transshipment capacity of a yard and vary accord-
ing to the expected amount of loading units. The
largest German transshipment yard in Kln-Eifeltor,
for example, consists of nine parallel tracks and six
successively arranged gantry cranes. Whereas parallel
railway tracks and cranes are the dening elements of
a transshipment yard, truck lanes, and a storage area
are possible additional components:
(a) In a pure rail-rail system, which is exclu-
sively dedicated to container transshipment between
199
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
200 Transportation Science 45(2), pp. 199211, 2011 INFORMS
Gantry cranes
Track
Freight train
Parking lane
Driving lane
Storage area
Figure 1 Schematic Representation of a Transshipment Yard
different freight trains, the railway tracks are sup-
plemented by a storage area for intermediate storing
of containers. The storage area might also be used
to implement a fully automated sorting process in
which automated guided vehicles (Bostel and Dejax
1998) or some rail-mounted vehicles (Alicke 2002)
are used to pre-position containers. Such a pure rail-
rail system, known as Mega-Hub, is under construc-
tion in Hannover-Lehrte (Germany) and is described
in detail by Rotter (2004). Another example is Port
Bou on the border between France and Spain (see
Martinez et al. 2004).
(b) A transshipment yard without a storage area,
which is directly accessible by portal cranes, primar-
ily serves as an interface between rail and road in
a rail-truck intermodal system. These transshipment
yards only consist of additional truck lanes (typi-
cally one lane for parking and another one for driv-
ing; see Ballis and Golias 2002). A storage yard often
resides near the yard, and is therefore only accessi-
ble via additional truck moves. Consequently, time-
consuming rail-rail transshipments of containers are
very rarely performed in such a setting. An exam-
ple of such a system can be found in Ludwigshafen
(Germany).
(c) Usually, transshipment yards have both a stor-
age area and truck lanes so that the yard serves as
both a rail-rail transshipment yard and an interface
for combined transport (see Ballis and Golias 2002).
In what follows, we will consider yard type (a) in
particular, and concentrate on rail-rail container trans-
shipment. However, the proposed procedures are also
applicable to the rail-rail transshipment operations of
type (c) yards. To enable the sophisticated operation
of such complex systems, assuring an efcient usage
of resources, elaborate, and computerized scheduling
procedures seem indispensable. However, the over-
all scheduling task appears to be far too complex to
ensure a simultaneous solution. Instead, a hierarchical
decomposition of the overall problem is suggested, as
follows:
(i) Schedule the service slots of trains.
(ii) Assign each train to a railway track.
(iii) Decide on positions of the containers on trains.
(iv) Assign container moves to portal cranes.
(v) Decide on the sequence of container moves per
crane.
This paper exclusively examines problem (i), pro-
viding scheduling procedures to assign trains to
service slots. The problem can be characterized as
follows: There are G tracks and a given set of trains,
each of which has a predened number of wagons
and a certain load factor, dening the number of
containers carried by this train. Each train is then
assigned to a service slot | = 1, . . . , T of G simulta-
neously served trains. This assignment is restricted to
the earliest available slot c
i
of train i (earliest arrival
time) and the latest available slot l
i
(latest departure
time). A transshipment yard is typically operated
in distinct pulses (Bostel and Dejax 1998) or bundles
(Alicke 2002; Rotter 2004) of trains. It means that
G trains (one per track) are simultaneously served
and jointly leave the system once all container moves
required for that bundle of trains have been pro-
cessed. Then another bundle of G trains enters the
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
Transportation Science 45(2), pp. 199211, 2011 INFORMS 201
yard. Each train can only be a member of a single bun-
dle. Thus, for each train it must be decided in which
of the successive | = 1, . . . , T service slots of size G
it is to be served. This assignment decision needs to
address two important characteristics.
1.1. Revisits
Each train carries a given set of containers, the exact
amount of which depends on the number of wagons
and on the load factor of the train. A given subset of
these containers is already dedicated to the nal desti-
nation of the train and, therefore, remains untouched.
The remaining containers are unloaded at the yard to
be either stacked on other trains or to leave the rail
system, e.g., by truck. Afterwards, vacant railway cars
can be lled with other containers (for the destination
of the train) delivered either from the storage yard or
directly by another freight train. Thus, when decid-
ing on the service slot of a train, it must be ensured
that all containers to be loaded on this train have
already been delivered by trains in a preceding or the
same slot.
The properties of a train as an inbound and out-
bound vehicle, i.e., delivering and receiving contain-
ers, allow for the occurrence of deadlocks. A deadlock
happens when all G tracks of a service slot are occu-
pied by trains awaiting additional containers loaded
on a train that has not yet been processed. Such
a deadlock can only be resolved by a subset of
trains leaving the yard incomplete, waiting on hold-
ing tracks until the relevant train is processed, and
revisiting the yard in a later slot. Revisits delay ship-
ment completion and are to be reduced to a mini-
mum. Whenever a train has to revisit the yard, we
assume that such a revisit happens only after all
containers assigned to the revisiting train have been
unloaded. This is meaningful since it makes sure that
any train has to revisit the yard at most once. Specif-
ically we adopt the common practice that revisiting
trains must not re-enter the transshipment yard until
all other trains have visited the transshipment yard
once, which ensures that all of their containers are
available.
1.2. Split Moves
Picking and dropping of containers by gantry cranes
is precision work and, thus, is very time-consuming
(typically only 2025 moves per crane an hour can be
processed; see Rotter 2004). If train i carries a con-
tainer dedicated to another train and is served in
the same slot as train , then the required container
handling can be conducted by a single crane move
directly from train i to . On the other hand, an assign-
ment of train i to a slot prior to train requires that
the container be temporarily stocked in the storage
yard. The container movement is interrupted and two
separated and time-consuming crane picks and drops
are required. We call it a split move. Train scheduling
aims to avoid split moves in an effort to accelerate
container handling.
This paper provides a train scheduling procedure
that covers both the above aspects. It answers the
research question as to how to bundle trains and how to
sequence these bundles at a rail-rail transshipment yard in
order to minimize the number of revisits and split moves.
The main part of the paper is structured as follows.
Section 2 summarizes existing literature on transship-
ment yards. Section 3 describes the train scheduling
problem in detail, formalizes the problem as a math-
ematical program and states complexity. Section 4
presents exact (dynamic programming) and heuris-
tic (myopic start procedure and beam search) solu-
tion procedures that are evaluated in a comprehensive
computational study (5). Finally, 6 summarizes the
ndings and suggests directions for future research.
2. Literature Review
Although much attention has been given to rail-
way optimization (see, e.g., Cordeau, Toth, and Vigo
1998) and intermodal transportation (see Crainic and
Kim 2007) in general, literature on rail-rail transship-
ment yards is scarce. Current research on transship-
ment in rail systems focuses on traditional shunting
yards. In these conventional yards, ways of schedul-
ing trains and rearranging freight trains via shunting
hills and a system of track switches are covered, e.g.,
by Blasum et al. (1999), Dahlhaus et al. (2000), He,
Song, and Chaudhry (2000), Winter and Zimmermann
(2000) and Freling et al. (2005). However, modern
rail-rail transshipment yards, where container trans-
shipment is conducted by gantry cranes without rear-
ranging the railway cars themselves (see 1), are an
emerging technology in rail systems (see the surveys
by Bontekoning, Macharis, and Trip 2004 as well as
Macharis and Bontekoning 2004) and promise a more
efcient transshipment.
In-depth descriptions of structural properties and
different operational policies employed in rail-rail
transshipment yards are provided by Ballis and
Golias (2002) as well as Rotter (2004). Meyer (1999)
and Wiegmans et al. (2007) specically address the
design process of an optimal terminal layout. How-
ever, very few studies deal with the scheduling prob-
lems perpetually arising during the daily operations
at a transshipment yard. Regarding the hierarchi-
cal decomposition scheme of the overall schedul-
ing problem (see 1), Bostel and Dejax (1998) and
Corry and Kozan (2008) address problem (iii) and
provide scheduling procedures to determine the opti-
mal positions of containers on inbound and outbound
trains so that crane moves at the yard are mini-
mized. Alicke (2002) provides a scheduling procedure
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
202 Transportation Science 45(2), pp. 199211, 2011 INFORMS
to jointly cover the problem of assigning container
moves to portal cranes (iv) and sequencing the moves
of each portal crane (v). His approach is based on
constraint programming. Related problems also occur
within container terminals (see, e.g., Zhu and Lim
2006; Moccia et al. 2006; Lim, Rodrigues, and Xu 2007;
Sammarra et al. 2007). Finally, problem (ii), the assign-
ment of trains to tracks, can be solved as a quadratic
assignment problem, as demonstrated by Alicke and
Arnold (1998), if the scheduling of trains (problem (i))
has already been solved.
No literature currently exists in relation to the
scheduling of trains to service slots (i), which is the
focus of this paper. Next, we present a detailed prob-
lem statement of how to schedule the arrival and pro-
cessing of trains within the available service slots.
3. Problem Statement
3.1. Mathematical Program
The core decision of the transshipment yard schedul-
ing problem (TYSP) involves assigning each train i of
a given train set to a service slot | = 1, . . . , T . At
most G trains can be assigned to each slot |, because
G is the number of parallel railway tracks of the
transshipment yard. Note that an assignment of trains
to dedicated tracks is not part of the TYSP (see 1)
so that the assignment decision can be recorded by
binary variables x
i|
receiving the value one when-
ever train i is assigned to slot | (0, otherwise). The
overall number T of slots required to process the
given set of trains amounts to: T = [ [,G. How-
ever, to simplify the description without any loss
of generality, we assume that [ [ = G T , which
can easily be ensured for any problem instance by
inserting empty trains carrying no containers. Fur-
thermore, there might be additional restrictions for
feasible train-slot assignments. Every train i has
an earliest arrival time slot c
i
, 1 c
i
T restricting
an assignment of i to a period | c
i
. A latest depar-
ture time slot l
i
, c
i
l
i
T , prohibits any assignments
of i after period l
i
. In real-world implementations, it is
more likely that there will be exact arrival and depar-
ture time restrictions rather than time slot restric-
tions. However, as the length of each service slot is
predictable to some extent, exact arrival (departure)
times can easily be transformed to earliest arrival
(departure) time slots. The discussion assumes that
the service slots are executed without interruption.
This is a reasonable assumption, because otherwise
the problem could be decomposed.
The assignment decision aims to achieve two objec-
tives: The number of revisits of trains (objective 1)
and the number of split moves of containers (objec-
tive 2) are to be minimized. Although these objec-
tives are partially complementary, for example, every
revisit implies a split move, they might also be con-
icting so that a reduction of one objective value is
only possible if the other one is increased. To achieve
a simultaneous optimization of both objectives, we
assume that a linear combination of the single objec-
tives is to be minimized and weights o
1
and o
2
can
be assigned to the objective. For instance, whenever
a revisit of a train delays an overall transshipment
schedule more than a few additional split moves, it
might be a reasonable choice to bring both objectives
in lexicographic order by choosing the weights as fol-
lows: o
1
=

|
i

i
and o
2
=1, where |
i
is the set
of trains |
i
that carry a number
i
of containers
to be received by a train i. Another possibility is to
derive a set of Pareto optimal solutions using repre-
sentative data. Based on the obtained Pareto frontier
and the experience of yard managers, weights can be
chosen in the most suitable way. In what follows, we
suppose that suited weights already exist.
Using the notation summarized in Table 1 the TYSP
consists of objective function (1) and constraints (2)
to (6):
(TYSP) Minimize o
1
_
i
j
i
o
2
_
i
_
|
i
z
i

i
(1)
subject to
l
i
_
|=c
i
x
i|
=1 i , (2)
_
i
x
i|
G | =1, . . . , T , (3)
T
_
|=1
x
i|
| j
i
A
T
_
|=1
x
|
| i , |
i
, (4)

T
_
|=1
x
i|
|
T
_
|=1
x
|
|

z
i
A i , |
i
, (5)
x
i|
, j
i
, z
i
{0, 1] i , | =1, . . . , T , |
i
. (6)
Objective function (1) minimizes a linear combina-
tion of objectives 1 (number of revisits) and 2 (number
Table 1 Notation
l Set of trains (indices i and j)
l
i
Set of trains carrying containers dedicated to train i
! Number of time slots for (un-)loading trains (index t)
0 Number of parallel tracks within transshipment yard
A
ij
Number of containers train i receives from train j
a
i
Earliest time slot train i may be assigned to
l
i
Latest time slot train i may be assigned to
M Big integer (e.g., M =! 1)
u
1
, u
2
Given weights for objectives 1 and 2 with u
1
, u
2
0
x
it
Binary variable: 1, if train i is assigned to slot t; 0, otherwise
y
i
Binary variable: 1, if train i has to revisit the yard; 0, otherwise
z
ij
Binary variable: 1, if trains i and j are served during different slots;
0, otherwise
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
Transportation Science 45(2), pp. 199211, 2011 INFORMS 203
of split moves) weighted by o
1
and o
2
, respectively.
The number of revisits is calculated by summing
binary variables j
i
, which record whether train i has
to revisit the yard (j
i
=1) or not (j
i
=0). The calcula-
tion of split moves relies on the observation that once
a train carries a number
i
of containers dedicated
to train i, all of these
i
containers must be picked
and dropped twice and, therefore, require split moves
whenever trains i and are not assigned to the same
slot (z
i
= 1). Equalities (2) ensure that each train is
assigned to exactly one slot in the range of its feasi-
ble slots. Constraints (3) force the number of trains
per slot not to exceed the given number G of tracks.
Constraints (4) force binary variable j
i
to receive the
value 1 whenever a train , which carries containers
dedicated to train i, is assigned to a later slot than
train i. In a similar fashion, constraints (5) ensure
that binary variables z
i
receive the value 1 whenever
trains i and are assigned to different slots (0, other-
wise). Big integer A, applied in both constraints (4)
and (5), can be set to T 1. Note that constraints (5)
can be easily linearized. However, for conciseness we
abstain from a detailed description.
An instance of the TYSP can also be represented as
a directed graph D =( , |, ). Each train i repre-
sents a vertex of D, and for any two vertices i,
there is an arc (, i) | iff
i
>0. Matrix describes
the edge weights and |
i
indicates the predecessors
of vertex i. Furthermore, each vertex i is assigned an
interval |c
i
, l
i
] with the earliest arrival time slot c
i
and
the latest departure time slot l
i
. Partition the set of
vertices into T disjoint, ordered subsets each of which
contains G vertices. A subset C
|
assigned to the |th
slot must ensure that the restriction max
iC
|
{c
i
] |
min
iC
|
{l
i
] is fullled. The objective of this partition
is to minimize the number of vertices i for which
there is a |
i
: i C
|
, C
|
/ , |
/
> | (revisits) and to
minimize the sum of the weights of all arcs whose
endpoints are in different subsets (split moves).
Example. Let ={1,2,3,4], (c
1
,...,c
4
) =(1,1,1,1),
(l
1
, . . . , l
4
) =(2, 1, 2, 2), and
=
_
_
_
_
_
_
_
0 0 3 0
0 0 0 6
0 0 0 1
1 0 5 0
_
_
_
_
_
_
_
.
Figure 2 displays the directed graph with four
trains that are to be assigned to T =2 slots at a trans-
shipment yard with G=2 tracks.
Consider a solution where trains 2 and 3 are
assigned to the rst slot and trains 1 and 4 to the
second slot. Then train 3 has to revisit the yard,
because three containers from train 1 and ve con-
tainers from train 4 have not yet arrived. Moreover, 15
1
1
5
3
6
[1, 2]
1
[1, 1]
2
[1, 2]
3
[1, 2]
4
Figure 2 Example Data
split moves have to be processed, because out of the
overall 16 container moves required, only the single
container transshipped from train 4 to train 1 can be
directly processed. Consequently, the overall solution
value amounts to o
1
15o
2
.
3.2. Scheduling Revisiting Trains
Revisiting trains have to re-enter the transshipment
yard after all trains have visited the yard once. If the
number of revisiting trains does not exceed the num-
ber of tracks G (or, in a favorable case, the number of
tracks not needed in the last slot), all revisiting trains
can use the same time slot for re-entering. However,
if the number of revisiting trains exceeds G, the ques-
tion of how to bundle the revisiting trains is raised, as
a sophisticated schedule can reduce split moves. For
any solution of a TYSP instance, we can interpret the
scheduling of revisiting trains as just another instance
of the TYSP with o
1
= 0, because each train has to
revisit at most once. This allows for a decomposition
of the problem to two instances of the TYSP, which
can be solved successively.
For a given solution of a TYSP instance, a corre-
sponding instance of the TYSP for scheduling revisit-
ing trains (which we call TYSP-r to distinguish it from
the main TYSP) can be derived as follows. In TYSP-r,
all parameters are the same as in the TYSP, except
o
1
:=0, a substantially smaller number of trains, and
l
i
= ~ as a revisiting train i is no longer required to
observe its latest time slot. The number of trains in
TYSP-r will tend to be considerably smaller than in
the original instance, but may again be assumed to
be a multiple of G w.l.o.g. by adding dummy trains
(see 3.1). Let
i
=0, if i or is a dummy train i. The
remaining
i
can be taken from the TYSP.
3.3. Complexity
In what follows, we will prove NP-completeness for
TYSP by reduction from acyclic partition, which is well
known to be NP-complete in the strong sense (see
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
204 Transportation Science 45(2), pp. 199211, 2011 INFORMS
Garey and Johnson 1979) and can be summarized as
follows:
3.3.1. Acyclic Partition. An instance of the acyclic
partition problem consists of a directed graph ! =
(V, ) with vertex set V and arc set . There are pos-
itive integers 8 and K and for each vertex . V there
is a weight .(.) , and for each arc u there is a
cost c(u) .
Is there a partition of V into disjoint sets
V
1
, V
2
, . . . , V
m
, such that the directed graph !
/
=
(V
/
,
/
), where V
/
=V
1
, . . . , V
m
and (V
i
, V

) represents
an arc of
/
if and only if there is an arc (.
i
, .

)
for some .
i
V
i
and some .

, is acyclic, such that


the sum of weights of the vertices in each V
i
does not
exceed 8, and such that the sum of the costs of all
those arcs having their dening vertices in different
sets does not exceed K?
Comment. The problem remains NP-complete
even if all vertex weights and all arc weights of ! are
equal to 1.
Proof. The TYSP is in NP. Furthermore, we can
polynomially transform the acyclic partition to TYSP,
which is shown in what follows. For a given instance
(P) of the acyclic partition problem with .(.) =1
. V, we construct an instance (T ) of TYSP: Dene
G := 8, o
1
:= K 1, o
2
:= 1 and T := m. The set of
trains corresponds to the vertex set V of graph !
and for each arc u connecting vertex .

and .
i
the number
i
of containers (delivered from train
to train i) corresponds to the arc cost; i.e.,
i
:=c(u).
Furthermore, let c
i
= 1, l
i
= T for all i . We will
show that (P) has a solution if and only if there
exists a train schedule for (T ) with an objective value
not exceeding K.
If (P) has a solution, vertex set V can be parti-
tioned into disjoint subsets V
/
=V
1
, . . . , V
m
such that
[ V
i
[ 8 = G for each i = 1, . . . , m, and !
/
= (V
/
,
/
)
is acyclic. !
/
may be topologically ordered where all
trains represented by vertices in V
i
are assigned to
time slot | = i and any arc connecting V

to V
i
in !
/
implies i >. Thus, there are no revisits and j
i
=0 for
all i . Let (V

, V
i
) be an arc in !
/
; then z
i
= 1 for
every arc (.

, .
i
) where .
i
V
i
and .

. Hence
the objective function value of (T ) is 0

z
i

i
=

{u[u=(.

,.
i
), .
i
V
i
, .

: i,=]
c(u) K.
Consider a train schedule for (T ) with an objective
value of at most K. As an immediate consequence,
all variables j
i
= 0 and

i

|
i
z
i

i
K. Let
V
1
, . . . , V
m
be the number of vertices corresponding to
trains assigned to time slots | =1, . . . , T =m. Every V
i
contains at most 8 elements and the total number of
containers carried between trains assigned to different
time slots equals the total weight of arcs connecting
vertices from different sets V
i
, which is at most K. As
there are no revisits, (P) has a solution.
Note that the special case of the TYSP for an acyclic
directed input graph with o
2
= 0 can be solved in
polynomial time. Under these prerequisites, the prob-
lem reduces to a topological ordering of vertices and
is therefore solvable in O([ [
2
) time (see Lawler 1976,
p. 30). The slots can simply be lled in chronologi-
cal order according to the obtained numbering of the
vertices.
4. Algorithms
In this section, three solution procedures for the
TYSP are presented; an exact dynamic programming
approach (4.1), a myopic start procedure (4.2), and
a beam search procedure (4.3).
4.1. An Exact Dynamic Programming Approach
The dynamic programming (DP) approach is based
on an acyclic digraph H =(V, |, r) with a node set V
divided into T 1 subsets or stages, a set | of arcs con-
necting nodes of adjacent stages, and an arc weighting
function r: | (see Boysen, Fliedner, and Scholl
2008 for a related approach to sequencing mixed-
model assembly lines). Each service slot | represents
a stage containing a subset V
|
V of nodes represent-
ing states of the partial train schedule up to slot |. The
rst stage, | =0, represents the empty set. Each node
V
|
identies a state (|, ) dened by a set
|
, which
contains all freight trains i already scheduled up
to service slot |. It is sufcient to store which trains
are scheduled instead of their exact partial slot assign-
ment, because the contribution to the overall objective
value of a train set actually served at service slot | 1
only depends on the trains scheduled before (stored
in
|
) irrespective of their exact order.
The following conditions dene all feasible states
that are represented as nodes of the graph:
[
|
[ | G | =0, . . . , T , V
|
, (7)

|
| =0, . . . , T , V
|
, (8)
c

| l

| =1, . . . , T , V
|
. (9)
The node set V
0
contains only a single node (ini-
tial state (0, 1)) corresponding to the train set
01
=2.
Similarly, node set V
T
contains a single node (nal
state (T , 1)) with
T 1
= . The remaining stages have
a variable number of nodes depending on the num-
ber of different train sets
|
generated and on the
arrival and departure time restrictions. We get an
upper bound for the number of nodes in each
stage, if we omit the arrival and departures time
restrictions. Then, V
|
, | {0, . . . , T ], contains
_
T G
|G
_
=
(T G)',|(| G)' (T G| G)'] nodes.
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
Transportation Science 45(2), pp. 199211, 2011 INFORMS 205
{1,2} {1,3} {2,3} {1,4} {2,4} {3,4}
{1,2,3,4}
9
2
2
1
+
6
2
2

1+
9

1 +

1
+
8

1
+
7

2
1
+
2
7
2 6
2

Figure 3 Example Graph for Dynamic Programming


Two nodes (|, ) and (| 1, |) of two consecutive
stages | and | 1 are connected by an arc if the asso-
ciated train sets
|
and
|1|
differ only in G elements,
i.e., if exactly G freight trains are additionally sched-
uled in position | 1. This is true if
|

|1|
holds,
because both states are feasible according to (7), (8),
and (9). Let
tjk
denote the set of trains associated with
the arc between a node pair (|, ) and (| 1, |). The
overall arc set is dened as follows:
| = {((|, ), (| 1, |)) [ | =0, . . . , T 1,
V
|
, | V
|1
:
|

|1|
]. (10)
Finally, arc weights r
((|, ), (|1, |))
assign the contribu-
tion to the overall objective value to each arc (and
the scheduling decision represented by the arc). This
weight is a linear combination of minimizing the
number of revisits (rst term) and of minimizing the
number of split moves (second term) and is calculated
as follows:
r
((|, ), (|1, |))
= o
1

_
i
||
min{1, [|
i

|1|
[]
o
2

_
i
||
_
t{|
i

||
]

it
. (11)
Any train i
tjk
processed during slots | 1 (and,
therefore, associated with the respective arc) has to
revisit, if any of its predecessors |
i
has not been
assigned up to actual slot | 1 (and is not in set
|1|
)
so that the relative complement of
|1|
in |
i
is not the
empty set. The minimum function ensures that only a
single revisit is required, even if more than one prede-
cessor train has not yet been scheduled. Furthermore,
all containers
it
dedicated to a currently scheduled
train i
tjk
to be delivered by predecessor train t |
i
are to be processed by a split move if these two trains
are not jointly served in the actual slot | 1.
With the graph in question, the optimal solution of
our train scheduling problem is reduced to nding the
shortest path from the unique source node at level 0
to the unique sink node at level T , where the length
of the path is given by the sum of its arc weights. The
minimum objective value corresponds to the length of
the shortest path. The G freight trains to be assigned
to service slot | 1 equal those contained in train set

||
associated with any arc ((|, ), (| 1, |)) for | =
0, . . . , T 1 on the shortest path SP.
Example (Continued). The resulting DP graph for
our example is depicted in Figure 3. Those nodes
denoted by a square instead of a circle cannot be
extended to a feasible state, because arrival or depar-
ture time restrictions are not met. The optimal solu-
tion is to assign trains 2 and 4 to the rst slot and
trains 1 and 3 to the second. Note that in this example
the optimal solution does not depend on the choice
of objective weights o
1
and o
2
. The resulting objective
value is o
1
7o
2
.
Instead of constructing the complete graph before
computing the shortest path, the more efcient DP
approach consists of determining the shortest path
from the initial state to each node stage-by-stage (| =
0, . . . , T 1). In order to do so, only two stages of
the graph have to be stored simultaneously, because
the shortest path to a node (| 1, ) in stage | 1 is
composed of a shortest path to a node (|, i) in stage |
(already determined and stored) and the connecting
arc ((|, i), (| 1, )). Among all such paths to (| 1, ),
one with a minimal sum of arc weights (length of the
path to (|, i) plus r
((|, i), (|1, ))
) is to be selected. The
length-minimizing node (|, i) is stored as the prede-
cessor in the shortest path to (| 1, ) together with
the length of this path. After reaching the nal state
(T , 1) in stage T , the optimal path can be retrieved in
a backward direction stage-by-stage using the stored
predecessor nodes.
Although the shortest path can be determined in
polynomial time concerning the number of stages,
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
206 Transportation Science 45(2), pp. 199211, 2011 INFORMS
the number of stages increases exponentially with
increasing number of trains, and the dynamic pro-
gramming algorithm solves the TYSP only in non-
polynomial time.
4.2. A Myopic Start Procedure
The computational intractability of the TYSP requires
heuristic solution approaches to solve instances of
real-world size. First, a simple myopic start procedure
(MSP) is presented, which simply lls available time
slots | =1, . . . , T and g =1, . . . , G tracks in increasing
order until all trains are scheduled. The actual choice
at a decision point is the train i POS (where POS is
the set of trains not yet scheduled) that increases the
objective value the least and still leads to a feasible
solution, which is tested with a simple feasibility test.
A formal description of MSP is as follows:
(0) Initialize the following data: POS := ; | :=1.
(1) Initialize train set N
|
of trains already sched-
uled within time slot |: N
|
:= 2 and track counter:
g :=1.
(2) Determine the actual train scl to be assigned at
the actual decision point:
(a) Mark all i POS as nontabu.
(b)
sel := argmin
iPOS, i nontabu
_
o
1
min{1, [|
i
POS[]
o
2

_
t{|
i
N
|
]

it
_
. (12)
(c) Check whether an assignment of sel to period
| still bears a feasible solution (see below). If not, mark
sel as tabu and go to (2b).
(3) Update the train sets: N
|
:= N
|
{sel] and
POS :=POS{sel].
(4) Increase track counter: g :=g 1 and decide on
the advancement of the procedure: If all tracks of the
actual time slot are lled with trains (g > G), then
increase the time slot: | := | 1 and proceed with
step (1) (or go to nal step (5) if all time slots are lled
with trains (| >T )); else go to step (2).
(5) Determine the objective value C of the solution
stored in sets N
|
.
The feasibility check of partial solutions, in which
some trains already have been assigned to some slots
as required in step (2c), can be described as follows.
The current partial solution is duplicated and the
copy is populated in order to try to nd a feasible
solution. In detail, the periods are successively popu-
lated with trains that have the lowest latest departure
time slot among those trains that are not yet assigned
and that may be assigned to the period being pro-
cessed. If the resulting assignment is feasible, the test
is positive; otherwise it is not.
Table 2 Solution Process of MSP
POS(t =1; =1) POS(t =1; =2) POS(t =2; =1) POS(t =2; =2)
1 u
1
u
2
1 u
1
u
2
3 u
1
5u
2
3 0
2 0 3 u
1
8u
2
4 u
1
u
2
3 u
1
8u
2
4 u
1
u
2
4 u
1
7u
2
Example (Continued). Table 2 displays the suc-
cessive train assignment of ASP for our example,
resulting in a train schedule where trains 1 and 2 are
served in time slot 1 and trains 3 and 4 in slot 2. Note
that the minimum train number is applied to break
ties. Feasibility is always provided. In this example,
the solution process is independent of the objective
weights o
1
and o
2
and the overall objective value
amounts to o
1
10o
2
.
4.3. A Heuristic Beam Search Approach
4.3.1. General Description. Beam search is a trun-
cated breadth-rst search heuristic and was rst
applied to speech recognition systems by Lowerre
(1976). Ow and Morton (1988) were the rst to sys-
tematically study the performance of beam search
compared to other well-known heuristics for two
scheduling problems. Since then, beam search has
successfully been used in multiple applications and
many extensions have been developed, e.g., stochas-
tic node choice (Wang and Lim 2007) or hybridization
with other meta-heuristics (Blum 2005). Beam search
turns out to be a powerful meta-heuristic applicable
to many real-world optimization problems. A review
of these developments is provided by Sabuncuoglu,
Gocgun, and Erel (2008).
Like other breadth-rst search procedures, beam
search is based on a tree representation of the solution
process. However, unlike a breadth-rst version of
branch-and-bound, beam search also excludes nodes
that might contain optimal solutions and restricts the
number of nodes per stage to be further branched to a
promising subset. This subset of nodes is determined
by heuristic choice in a ltering process. A schematic
representation of beam search is depicted in Figure 4.
Starting with the root node of stage 0, all nodes
(set V
1
) of stage 1 are constructed and form the set 8
1
of branched nodes. Then, the ltering process of beam
search starts to identify promising nodes of stage 1.
Measures for ltering promising nodes are a simple
priority value, a lower or upper bound, or the objec-
tive value of a solution constructed by completing a
partial solution using a simple myopic priority rule-
based heuristic (see Ow and Morton 1988), etc. More-
over, a multistage approach can be used, whereby l-
tering procedures are ordered from coarse to detailed
ltering (see Sabuncuoglu, Gocgun, and Erel 2008).
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
Transportation Science 45(2), pp. 199211, 2011 INFORMS 207
Root
node
E
1
B
1
=V
1
E
2
B
2
E
0
=V
0
Stage 0 Stage 1 Stage 2
B
T
Stage T
Best
solution
Nodes selected to be expanded
Nodes excluded by filtering
Nodes pruned
V
2
V
T
E
t
Set of selected nodes in stage t
B
t
Set of branched nodes in stage t
V
t
Set of all nodes in stage t
Figure 4 Schematic Representation of Beam Search
By applying one of these alternatives, a priority value
is assigned to each node within set 8
1
. According to
these priority values, the rst 8W nodes are chosen
to form the set |
1
of size [|
1
[ = 8W, where 8W is a
control parameter called beam width. Only the selected
nodes contained in set |
1
are expanded and branched
to build the set 8
2
of branched nodes in stage 2, which
is only a subset of all possible nodes V
2
. These steps
are repeated until the nal stage T is reached, where
the best solution of the set 8
T
of constructed nodes is
returned as the result of the beam search procedure.
4.3.2. A Beam Search Procedure for the TYSP.
To apply the general procedure of beam search in a
specic domain, the following two components must
be specied with respect to the specic problem:
(i) graph structure and (ii) ltering. In what follows,
we describe these specications for the TYSP:
Graph structure: The acyclic digraph H =(V, |, r)
already specied for the dynamic programming pro-
cedure (4.1) can be used as is in a beam search
approach to the TYSP.
Filtering: To select a number of 8W (beam width)
nodes out of the set 8
|
for node set |
|
per stage |,
we apply the most simple ltering process and sim-
ply calculate the objective value of the current par-
tial solution. This value amounts to the sum of arc
weights along the shortest path leading to the cur-
rent node. Note that beam search does not construct
the complete graph as specied in 4.1, but only a
subgraph and hence only the shortest path within
the resulting subgraph is employed. We abstain from
more sophisticated ltering procedures, as these pro-
cedures require additional computational effort and
our computational study in 5 reveals a promising
level of quality in the solutions found using this basic
beam search.
With these domain-specic choices in hand, our
beam search approach stage-wise identies a subset
of promising nodes. Finally, when the last stage is
reached, the best solution value is returned as the
solution of the beam search approach.
5. Computational Study
So far there has been no established test-bed available
for the train scheduling problem treated in this paper.
We therefore begin by elaborating on the instances
used in our computational study before discussing
numerical results on the performance of the proposed
algorithms.
5.1. Instance Generation
To derive test instances, the input parameters listed in
Table 3 are used to produce the sets |
i
of trains car-
rying containers dedicated to train i, the number
i
of containers to be moved between trains and i,
the earliest arrival time c
i
, and the latest departure
time l
i
, altogether dening a TYSP instance. Using
these data, matrix
i
is generated as follows. The
number of wagons multiplied by the load factor deliv-
ers the maximum number of containers a train can
pass to other trains. For each train we randomly
draw another train i that receives a randomly drawn
number of containers from the interval |1, MaxTr]
(with uniform distribution), where MaxTr describes a
given upper bound for transport units between two
trains. Afterwards, i is marked as tabu. This proce-
dure is continued until the maximum number of con-
tainers of is reached or until all trains are tabu
(i.e., all trains receive containers from ).
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
208 Transportation Science 45(2), pp. 199211, 2011 INFORMS
Table 3 Parameters for Instance Generation
Symbol Description
0 Number of tracks 2, 4 6 8
[l[ Number of trains
, .. ,
12, 24, 36, 48
, .. ,
12, 24, 36
, .. ,
16, 24, 32
h Number of wagons per train 20, 30, 40
ll Load factor 1.0, 1.4, 1.8
MaxTr Upper bound for transport 24, 20, 16, 12
units between two trains
Time Time restrictions None, arrival, arrival and departure
Let us consider the generation of time restrictions. If
there are none, we set c
i
=1 and l
i
=T for all i. If there
are only arrival time restrictions, all l
i
=T and c
i
are
randomly determined from the interval |1, T ] where 1
has probability 0.5 and the remaining numbers are
uniformly distributed. Each instance is tested for the
existence of at least one feasible solution and if such a
solution is not found, the instance is neglected and a
new one is generated. In case of arrival and departure
times restrictions, c
i
is chosen from |1, T ,2] and l
i
from |T ,2, T ], where in the rst case, 1 has prob-
ability 0.5 and in the second case T is drawn with
probability 0.5.
The presented parameters are combined in a full-
factorial design and for each parameter constellation
20 instances are generated so that (2 4 3 3) 3 3
4 3 20 =30,240 different instances are obtained. The
objective weights are set to o
1
=24 and o
2
=1. This is
based on the observation that a revisit takes, on aver-
age, 60 minutes, whereas, a split move, on average,
causes 2.5 minutes extra operational time, leading to
a ratio of 24:1.
5.2. Computational Results
All methods have been implemented in Java 2 and
run on a Pentium M, 1.99 GHz PC, with 1,024 MB
of memory. First, the performance of beam search
(BS) (depending on the control parameter 8W) has
been evaluated. Figure 5 displays solution quality
and solution time, where solution quality is repre-
sented by the relative deviation from optimum aver-
aged over exactly solvable instances (labeled avg
0.0
1.0
2.0
3.0
4.0
5.0
5 10 15 20 25 30 35 40 45 50
BW
A
v
g

g
a
p

(
%
)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
5 10 15 20 25 30 35 40 45 50
BW
A
v
g

c
p
u
Figure 5 Solution Time and Solution Quality of Beam Search with Varying Beam Width h
gap and measured by (C(8S) C(DP)),C(DP), where
C(8S) and C(DP) are the objective values of heuris-
tic beam search and exact dynamic programming,
respectively). Solution time is measured by the aver-
age CPU-seconds per instance (labeled avg cpu).
Figure 5 depicts a linear increase of solution time
with increasing beam width 8W. This result is not
surprising as the number of nodes to be inspected
in the graph increases linearly with 8W. On the
other hand, solution quality increases (indicated by a
decrease of avg gap) subproportionally with increas-
ing 8W. This result is also plausible, because the prob-
ability that nodes belong to a good overall solution
decreases with increasing deviation of the shortest
path from the best value of the respective stage.
In a second experiment, performance of all proce-
dures is compared for instances with at most 16 trains.
All of these instances can be solved to optimality with
the dynamic programming (DP) approach so that the
solution performance of our myopic start procedure
(MSP) and beam search (BS) can be compared in rela-
tion to optimal solutions. BS is executed with a given
control parameter of 8W =30. Table 4 lists the results
of this comparison. The number of revisits (Rev), the
number of split moves (Split), the objective function
value (Obj.), the CPU in seconds, and the number of
split moves of TYSP-r (Sp-r) are listed. Each entry cor-
responds to the sum of 720 instances. Furthermore,
the relative deviation to the optimal solutions (Gap)
is reported. The CPU of TYSP-r turned out to be far
below a second for each instance and is therefore not
listed.
With regard to the DP approach it can be stated
that solution time increases exponentially so that no
instance with [ [ 24 trains could be solved to opti-
mality within a given timeframe of 300 CPU-seconds.
On the other hand, MSP requires negligible solution
time of less than 0.001 CPU-seconds per instance, but
produces a considerable gap of 15.10% compared to
optimal solutions. BS results in an average gap of
merely 1.06% with an average solution time of only
0.012 CPU-seconds so that near optimal solutions can
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
Transportation Science 45(2), pp. 199211, 2011 INFORMS 209
T
a
b
l
e
4
E
x
a
c
t
S
o
l
u
t
i
o
n
s
w
i
t
h
a
t
M
o
s
t
1
6
T
r
a
i
n
s
o
n
8
,
6
4
0
I
n
s
t
a
n
c
e
s
D
y
n
a
m
i
c
p
r
o
g
r
a
m
m
i
n
g
B
e
a
m
S
e
a
r
c
h
(

h
=
3
0
)
M
y
o
p
i
c
S
t
a
r
t
P
r
o
c
e
d
u
r
e
T
i
m
e
G
R
e
v
S
p
l
i
t
O
b
j
.
C
P
U
S
p
-
r
R
e
v
S
p
l
i
t
O
b
j
.
C
P
U
S
p
-
r
R
e
v
S
p
l
i
t
O
b
j
.
C
P
U
S
p
-
r
N
o
n
e
2
4
,
2
2
4
2
8
5
,
1
1
5
3
8
6
,
4
9
1
5
1
.
0
9
6
8
,
8
0
6
4
,
8
0
8
2
8
6
,
5
0
6
4
0
1
,
8
9
8
5
.
5
4
8
3
,
1
4
0
6
,
6
8
0
3
0
5
,
1
2
8
4
6
5
,
4
4
8
0
.
0
2
1
7
4
,
6
2
4
4
3
,
9
1
8
2
0
0
,
0
0
1
2
9
4
,
0
3
3
3
4
.
5
7
3
2
,
5
7
6
4
,
1
0
6
2
0
0
,
6
0
6
2
9
9
,
1
5
0
5
.
1
1
3
3
,
1
2
9
5
,
3
0
1
2
2
9
,
1
9
0
3
5
6
,
4
1
4
0
.
0
1
6
1
,
4
3
7
6
3
,
2
6
6
1
3
9
,
1
4
4
2
1
7
,
5
2
8
1
.
5
6
0
3
,
2
5
8
1
3
9
,
5
8
9
2
1
7
,
7
8
1
2
.
5
8
0
3
,
9
0
9
1
6
4
,
8
0
1
2
5
8
,
6
1
7
0
.
0
1
0
8
4
,
0
4
7
1
7
0
,
6
8
2
2
6
7
,
8
1
0
3
1
.
4
6
0
4
,
0
1
5
1
7
2
,
4
3
8
2
6
8
,
7
9
8
2
6
.
2
7
0
5
,
0
9
1
2
1
0
,
0
8
5
3
3
2
,
2
6
9
0
.
0
4
0
A
r
r
.
2
5
,
2
2
4
2
9
2
,
7
6
9
4
1
8
,
1
4
5
1
5
.
4
2
1
0
4
,
2
7
0
5
,
3
8
5
2
9
3
,
4
4
7
4
2
2
,
6
8
7
4
.
2
1
1
0
8
,
5
7
2
6
,
5
9
9
3
1
4
,
9
3
5
4
7
3
,
3
1
1
0
.
0
5
1
7
1
,
3
9
6
4
4
,
8
1
2
2
2
4
,
8
8
2
3
4
0
,
3
7
0
3
.
9
1
4
6
,
2
0
0
4
,
8
2
5
2
2
5
,
0
4
9
3
4
0
,
8
4
9
5
.
2
0
4
5
,
8
1
5
5
,
3
2
8
2
4
6
,
4
9
5
3
7
4
,
3
6
7
0
.
0
6
6
3
,
4
9
8
6
3
,
9
4
8
1
7
6
,
2
8
3
2
7
1
,
0
3
5
0
.
3
7
0
3
,
9
4
8
1
7
6
,
3
0
3
2
7
1
,
0
5
5
0
.
7
1
0
4
,
0
6
0
1
8
6
,
7
0
1
2
8
4
,
1
4
1
0
.
0
6
0
8
5
,
1
6
6
2
2
9
,
0
1
8
3
5
3
,
0
0
2
6
.
5
5
0
5
,
1
6
3
2
2
9
,
1
6
0
3
5
3
,
0
7
2
7
.
9
8
0
5
,
3
4
3
2
4
2
,
9
5
4
3
7
1
,
1
8
6
0
.
1
2
0
A
r
r
.
a
n
d
2
4
,
8
7
0
2
9
0
,
6
5
9
4
0
7
,
5
3
9
3
3
.
9
2
9
2
,
3
9
8
5
,
3
1
0
2
9
1
,
7
3
4
4
1
9
,
1
7
4
5
.
3
1
1
0
5
,
2
5
0
6
,
6
3
2
3
1
7
,
4
3
5
4
7
6
,
6
0
3
0
.
0
7
1
6
9
,
7
6
0
d
e
p
.
4
4
,
9
1
7
2
3
4
,
7
5
4
3
5
2
,
7
6
2
4
.
2
6
4
7
,
7
6
5
4
,
9
2
4
2
3
4
,
8
7
0
3
5
3
,
0
4
6
1
0
.
2
7
4
7
,
7
9
2
5
,
3
3
6
2
5
5
,
6
0
0
3
8
3
,
6
6
4
0
.
0
5
6
1
,
3
3
6
6
3
,
2
6
6
1
3
9
,
1
4
4
2
1
7
,
5
2
8
1
.
7
3
0
3
,
2
5
8
1
3
9
,
5
8
9
2
1
7
,
7
8
1
2
.
7
1
0
3
,
9
0
9
1
6
4
,
8
0
1
2
5
8
,
6
1
7
0
.
0
9
0
8
4
,
0
4
7
1
7
0
,
6
8
2
2
6
7
,
8
1
0
3
3
.
2
2
0
4
,
0
1
5
1
7
2
,
4
3
8
2
6
8
,
7
9
8
2
8
.
1
7
0
5
,
0
9
1
2
1
0
,
0
8
5
3
3
2
,
2
6
9
0
.
2
2
0
S
u
m
5
1
,
7
0
5
2
,
5
5
3
,
1
3
3
3
,
7
9
4
,
0
5
3
3
:
3
8
.
0
6
3
9
2
,
0
1
5
5
3
,
0
1
5
2
,
5
6
1
,
7
2
9
3
,
8
3
4
,
0
8
9
1
:
4
5
.
4
5
4
2
3
,
6
9
8
6
3
,
2
7
9
2
,
8
4
8
,
2
1
0
4
,
3
6
6
,
9
0
6
0
.
0
0
7
0
2
,
0
5
1
M
e
a
n
5
.
9
8
2
9
5
.
5
0
4
3
9
.
1
3
0
.
0
2
5
4
5
.
3
7
6
.
1
4
2
9
6
.
5
0
4
4
3
.
7
6
0
.
0
1
2
4
9
.
0
4
7
.
3
2
3
2
9
.
2
5
5
0
5
.
4
3
0
.
0
0
8
1
.
2
6
G
a
p
0
1
.
0
6
1
5
.
1
0
be obtained in a very short timeframe. It is noticeable
that for the same number of trains (which is the case
for two, four, and six tracks in Table 4), the number
of tracks negatively correlates with the CPU-time of
the DP approach. We cannot observe this effect on
BS due to the fact that the number of possible sub-
sequent nodes at some stage is highest for instances
with four tracks and three periods.
In a further experiment, the heuristic procedures
are compared for all generated instances. As optimal
solutions cannot be obtained, we compare BS, which
is executed with a control parameter 8W = 5, and
MSP with a rst-come-rst-serve procedure (FCFS),
which is often applied in real-world transshipment
yards to solve the train scheduling problem. If there
are no time restrictions, the results of FCFS are emu-
lated for our test instances by assigning trains to
tracks and slots according to increasing train num-
ber. In the case of time restrictions, the slots are con-
secutively lled in historic order. In each slot, only
trains are considered that fulll the earliest arrival
time. Among these, the one with the earliest latest
departure time is chosen (which guarantees feasibility
if there is a feasible solution). Ties are broken accord-
ing to the train number.
Consequently, the gaps reported in Table 5 are
based on the FCFS results. With regard to solution
quality, BS clearly outperforms the MSP and FCFS
procedures. BS decreases the objective function value
of FCFS solutions by 16.13% on average and results
in a superior objective value for each single instance.
However, solution time increases considerably, com-
pared to FCFS up to 80 CPU-seconds per instance.
MSP might, therefore, be a reasonable choice for
larger instances. Here, solution time never exceeds
0.1 CPU-seconds for an instance and FCFS-results are
still improved by 5.45% on average or up to a maxi-
mum of 60%.
Let us point out the efciency of BS in terms of
operation time on a transshipment yard. BS reduces
the number of revisits by 3.52 and the number of split
moves by 150.33 on average. If we assume a revisit
wastes 60 minutes extra time and a split move wastes
2.5 minutes of extra time, the BS procedure allows
over 9 hours and 47 minutes of extra operational time
for all cranes. Assuming that there are six cranes,
the transshipment yard on average saves more than
1.5 operating hours per day.
Finally, let us examine the impact of the number of
wagons, the load factor, and the maximal number of
transport units between two trains MaxTr on the com-
putational results. As an example, instances with no
time restrictions, two tracks, 12 trains, solved with DP
are shown in Table 6. Each entry corresponds to 20 ran-
domly generated instances. The sum of the results of
Table 6 corresponds to the rst entry of Table 4. It can be
seenthat anincrease inthe number of wagons as well as
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
210 Transportation Science 45(2), pp. 199211, 2011 INFORMS
T
a
b
l
e
5
C
o
m
p
a
r
i
s
o
n
o
f
t
h
e
H
e
u
r
i
s
t
i
c
s
o
n
3
0
,
2
4
0
I
n
s
t
a
n
c
e
s
B
e
a
m
S
e
a
r
c
h
(

h
=
5
)
M
y
o
p
i
c
S
t
a
r
t
P
r
o
c
e
d
u
r
e
F
i
r
s
t
C
o
m
e
F
i
r
s
t
S
e
r
v
e
T
i
m
e
R
e
v
S
p
l
i
t
O
b
j
.
C
P
U
S
p
-
r
R
e
v
S
p
l
i
t
O
b
j
.
C
P
U
S
p
-
r
R
e
v
S
p
l
i
t
O
b
j
.
C
P
U
S
p
-
r
N
o
n
e
1
4
5
,
0
2
5
8
,
0
8
2
,
9
3
2
1
1
,
5
6
3
,
5
3
2
2
2
:
0
7
:
4
2
.
1
4
2
,
0
4
0
,
1
2
2
1
9
9
,
6
8
2
8
,
6
8
8
,
4
3
7
1
3
,
4
8
0
,
8
0
5
2
.
1
8
4
,
7
0
4
,
4
8
5
1
9
6
,
0
7
9
9
,
9
6
6
,
6
4
8
1
4
,
6
7
2
,
5
4
4
0
.
1
7
5
,
2
7
5
,
9
7
4
A
r
r
i
v
a
l
1
7
2
,
7
5
2
8
,
6
4
8
,
2
8
2
1
2
,
7
9
4
,
3
3
0
7
:
0
7
:
0
0
.
0
0
2
,
9
8
2
,
7
0
9
2
0
0
,
4
7
0
9
,
2
2
9
,
0
3
9
1
4
,
0
4
0
,
3
1
9
2
2
.
2
7
4
,
7
0
0
,
9
8
2
1
9
5
,
8
7
1
9
,
9
5
7
,
0
8
1
1
4
,
6
5
7
,
9
8
5
0
.
2
9
5
,
2
6
1
,
1
4
3
A
r
r
.
a
n
d
1
6
4
,
0
7
5
8
,
6
0
6
,
5
8
8
1
2
,
5
4
4
,
3
8
8
1
0
:
3
7
:
2
1
.
3
3
2
,
6
8
5
,
2
5
7
1
9
7
,
6
9
1
9
,
3
3
5
,
9
4
5
1
4
,
0
8
0
,
5
2
9
3
0
.
7
3
4
,
4
6
6
,
0
5
3
1
9
6
,
1
4
8
9
,
9
6
0
,
1
6
5
1
4
,
6
6
7
,
7
1
7
0
.
3
8
5
,
2
8
3
,
2
2
9
d
e
p
.
S
u
m
4
8
1
,
8
5
2
2
5
,
3
3
7
,
8
0
2
3
6
,
9
0
2
,
2
5
0
3
8
:
5
2
:
0
3
.
4
7
7
,
7
0
8
,
0
8
8
5
9
7
,
8
4
3
2
7
,
2
5
3
,
4
2
1
4
1
,
6
0
1
,
6
5
3
5
5
.
7
9
1
3
,
8
7
1
,
5
2
0
5
8
8
,
0
9
8
2
9
,
8
8
3
,
8
9
4
4
3
,
9
9
8
,
2
4
6
0
.
2
4
1
5
,
8
2
0
,
3
4
6
M
e
a
n
1
5
.
9
3
8
3
7
.
2
9
1
,
2
2
0
.
3
1
4
.
2
3
2
5
4
.
9
0
1
9
.
7
7
9
0
1
.
2
4
1
,
3
7
5
.
7
2
0
.
0
0
4
5
8
.
7
1
1
9
.
4
5
9
8
8
.
2
2
1
,
4
5
4
.
9
7
0
.
0
0
5
2
3
.
1
6
G
a
p

1
6
.
1
3

5
.
4
5
0
.
0
0
Table 6 The Inuence of Wg, LF, and MaxTr on the Results
Dynamic programming
h ll MaxTr Rev Split Obj. CPU Sp-r
20 1 24 52 3,163 4,411 1.282 44
20 1 20 60 3,200 4,640 1.282 40
20 1 16 75 3,446 5,246 1.352 93
20 1 12 96 3,619 5,923 1.392 322
20 1.4 24 80 4,670 6,590 1.332 208
20 1.4 20 87 4,902 6,990 1.382 345
20 1.4 16 97 5,071 7,399 1.432 514
20 1.4 12 112 5,280 7,968 1.452 758
20 1.8 24 91 6,510 8,694 1.402 586
20 1.8 20 109 6,558 9,174 1.422 732
20 1.8 16 115 6,731 9,491 1.452 1,149
20 1.8 12 135 7,036 10,276 1.462 1,814
30 1 24 77 4,950 6,798 1.352 242
30 1 20 94 5,217 7,473 1.402 403
30 1 16 102 5,529 7,977 1.422 654
30 1 12 122 5,715 8,643 1.442 1,088
30 1.4 24 104 7,499 9,995 1.412 843
30 1.4 20 111 7,819 10,483 1.432 1,242
30 1.4 16 128 7,964 11,036 1.433 1,673
30 1.4 12 141 8,300 11,684 1.452 2,458
30 1.8 24 116 10,108 12,892 1.432 1,654
30 1.8 20 127 10,370 13,418 1.442 2,296
30 1.8 16 145 10,657 14,137 1.452 3,248
30 1.8 12 164 10,924 14,860 1.452 4,608
40 1 24 98 7,203 9,555 1.402 722
40 1 20 109 7,276 9,892 1.422 1,037
40 1 16 127 7,537 10,585 1.432 1,681
40 1 12 137 7,868 11,156 1.452 2,110
40 1.4 24 119 10,532 13,388 1.432 1,839
40 1.4 20 131 10,786 13,930 1.442 2,497
40 1.4 16 148 11,048 14,600 1.452 3,419
40 1.4 12 162 11,319 15,207 1.462 4,647
40 1.8 24 143 13,762 17,194 1.443 4,142
40 1.8 20 155 14,259 17,979 1.452 5,288
40 1.8 16 164 14,523 18,459 1.462 6,097
40 1.8 12 191 13,764 18,348 1.472 8,313
Sum 4,224 285,115 386,491 51.094 68,806
Mean 5.27 395.99 536.79 0.071 95.56
Note. Test on 720 instances.
anincreaseinloadfactor leads tomorerevisits andmore
split moves. The same holds true for decreasing MaxTr
but to a far more moderate extent.
6. Conclusions
This paper has investigated a novel train schedul-
ing problem, which arises during container transship-
ment at modern rail-rail transshipment yards. Trains
need to be tied into jointly processed bundles of
G trains (each track receives a single train) that are
to be assigned to service slots. This assignment deci-
sion is subject to arrival and departure time restric-
tions. It aims at avoiding revisits of trains, which
are inevitable whenever a train is processed in a slot
prior to the arrival of containers dedicated to this
train, and at minimizing split moves, which require
multiple time-consuming crane picks and drops for a
Boysen, Jaehn, and Pesch: Scheduling Freight Trains in Rail-Rail Transshipment Yards
Transportation Science 45(2), pp. 199211, 2011 INFORMS 211
single container move between two trains. Different
exact (dynamic programming) and heuristic (myopic
start procedure and beam search) solution procedures
have been presented. The computational tests indi-
cate the suitability of the developed procedures to
considerably improve a rst-come, rst-served policy,
which is a traditional choice in real-world transship-
ment yards. However, some future research remains
to be done.
Time-tables might also be bound to changes due to
canceled or additional trains. In this case, the TYSP
becomes an online problem, where the set of trains
to be scheduled continuously changes and forces
updates to an active plan. If an already-scheduled
train fails to appear or additional unplanned trains
arrive, these changes need to be considered appro-
priately in a rolling planning horizon. However, in
the real world the TYSP is often treated as a static
problem. Because of their lower speed in many Euro-
pean countries, freight trains are only allowed to
travel overnight. As a result of this policy, commercial
trains usually arrive at a transshipment yard in the
early morning, are served during the day and leave
the yard for their nal destinations during the follow-
ing night (see Ballis and Golias 2002). Thus, the TYSP
predominantly faces a static set of trains, which is to
be processed during the day.
Finally, related scheduling problems (see 1), such
as track assignment and crane scheduling that are
highly interdependent with train scheduling, need to
be appropriately integrated into a hierarchical plan-
ning approach. This represents another challenging
task for future research.
Acknowledgments
This work has been supported by the German Science Foun-
dation (DFG) through the grant Optimierung der Contain-
erabfertigung in Umschlagbahnhfen (BO 3148/1-1 and
PE 514/16-1).
References
Alicke, K. 2002. Modeling and optimization of the intermodal ter-
minal mega hub. OR Spectrum 24 117.
Alicke, K., D. Arnold. 1998. Modellierung und optimierung von
mehrstugen umschlagsystemen. Frdern und Heben 8 769772.
Azar, C., K. Lindgren, B. A. Andersson. 2003. Global energy sce-
narios meeting stringent CO2 constraintsCost-effective fuel
choices in the transportation sector. Energy Policy 31 961976.
Ballis, A., J. Golias. 2002. Comparative evaluation of existing and
innovative rail-road freight transport terminals. Transportation
Res. Part A: Policy and Practice 36 593611.
Blasum, U., M. R. Bussieck, W. Hochstttler, C. Moll, H.-H. Scheel,
T. Winter. 1999. Scheduling trams in the morning. Math. Meth-
ods Oper. Res. 49 137148.
Blum, C. 2005. Beam-ACOHybridizing ant colony optimization
with beam search: An application to open shop scheduling.
Comput. Oper. Res. 32 15651591.
Bontekoning, Y. M., C. Macharis, J. J. Trip. 2004. Is a new applied
transportation research eld emerging? A review of intermodal
rail-truck freight transport literature. Transportation Res. Part A:
Policy and Practice 38 124.
Bostel, N., P. Dejax. 1998. Models and algorithms for container allo-
cation problems on trains in a rapid transshipment shunting
yard. Transportation Sci. 32 370379.
Boysen, N., M. Fliedner, A. Scholl. 2008. Sequencing mixed-model
assembly lines to minimize part inventory cost. OR Spectrum
30 611633.
Cordeau, J.-F., P. Toth, D. Vigo. 1998. A survey of optimization
models for train routing and scheduling. Transportation Sci. 32
380404.
Corry, P., E. Kozan. 2008. Optimised loading patterns for inter-
modal trains. OR Spectrum 30 721750.
Crainic, T. G., K. H. Kim. 2007. Intermodal transport. C. Barnhart,
G. Laporte, eds. Transportation, Handbooks in Operations Research
and Management Science, Vol. 14. North-Holland, Amsterdam,
467538.
Dahlhaus, E., P. Horak, M. Miller, J. F. Ryan. 2000. The train mar-
shalling problem. Discrete Appl. Math. 103 4154.
Freling, R., R. M. Lentink, L. G. Kroon, D. Huisman. 2005. Shunting
of passenger train units in a railway station. Transportation Sci.
39 261272.
Garey, M. R., D. S. Johnson. 1979. Computers and Intractability: A
Guide to the Theory of NP-Completeness. W. H. Freeman and
Company, New York.
Gonzlez, J. A., E. Ponce, C. Mataix, J. Carrasco. 2008. The auto-
matic generation of transhipment plans for a train-train termi-
nal: Application to the Spanish-French border. Transportation
Planning Tech. 31 545567.
He, S., R. Song, S. S. Chaudhry. 2000. Fuzzy dispatching model and
genetic algorithms for railyards operations. Eur. J. Oper. Res.
124 307331.
Lawler, E. 1976. Combinatorial Optimization: Networks and Matroids.
Holt, Rinehart and Winston, New York.
Lim, A., B. Rodrigues, Z. Xu. 2007. A m-parallel crane scheduling
problem with a noncrossing constraint. Naval Res. Logist. 54
115127.
Lowerre, B. T. 1976. The HARPY Speech Recognition System. Carnegie
Mellon University, Pittsburgh.
Macharis, C., Y. M. Bontekoning. 2004. Opportunities for or in inter-
modal freight transport research: A review. Eur. J. Oper. Res.
153 400416.
Martinez, M. F., I. G. Gutierrez, A. O. Oliveira, L. M. Arreche Bedia.
2004. Gantry crane operations to transfer containers between
trains: A simulation study of a Spanish terminal. Transportation
Planning Tech. 27 261284.
Meyer, P. 1999. Entwicklung eines Simulationsprogramms fr
Umschlagterminals des Kombinierten Verkehrs. Shaker Verlag,
Aachen.
Moccia, L., J. F. Cordeau, M. Gaudioso, G. Laporte. 2006. A branch-
and-cut algorithm for the quay crane scheduling problem in a
container terminal. Naval Res. Logist. 53 4559.
Ow, P. S., T. E. Morton. 1988. Filtered beam search in scheduling.
Internat. J. Production Res. 26 3562.
Rotter, H. 2004. New operating concepts for intermodal transport:
The mega hub in Hanover/Lehrte in Germany. Transportation
Planning Tech. 27 347365.
Sabuncuoglu, I., Y. Gocgun, E. Erel. 2008. Backtracking and
exchange of information: Methods to enhance a beam search
algorithm for assembly line scheduling. Eur. J. Oper. Res. 186
915930.
Sammarra, M., J. F. Cordeau, G. Laporte, M. F. Monaco. 2007.
A tabu search heuristic for the quay crane scheduling problem.
J. Scheduling 10 327336.
Wang, F., A. Lim. 2007. A stochastic beam search for the berth allo-
cation problem. Decision Support Systems 42 21862196.
Wiegmans, B. W., D. T. Stekelenburg, C. Versteegt, Y. M.
Bontekoning. 2007. Modeling rail-rail exchange operations: An
analysis of conventional and new-generation terminals. Trans-
portation J. 46 520.
Winter, T., U. T. Zimmermann. 2000. Real-time dispatch of trams in
storage yards. Ann. Oper. Res. 96 287315.
Zhu, Y., A. Lim. 2006. Crane scheduling with noncrossing con-
straints. J. Oper. Res. Soc. 57 14641471.

You might also like