Job-shop Problems with Objectives Appropriate for Train Scheduling in
a Single-track Railway
Omid Gholami
1
, Yuri N. Sotskov
2
and Frank Werner
3
1
Islamic Azad University, Mahmudabad Branch, Moalem, Mahmudabad, Iran
2
United Institute of Informatics Problems, National Academy of Sciences of Belarus, Minsk, Belarus
3
Faculty of Mathematics, Otto-von-Guericke-University, Magdeburg, Germany
Keywords:
Job-shop, Train Scheduling, Regular Criteria.
Abstract:
A train scheduling problem in a single-track railway is studied using a mixed graph model for a job-shop with
appropriate criteria. There are several performance evaluations for a train schedule. Optimizing a train sched-
ule subtends minimizing total tardiness of the trains, minimizing the sum of train transit times, minimizing the
makespan for a train schedule, etc. Since the corresponding job-shop problems with the above three criteria
are NP-hard, several heuristic algorithms have been developed using different priorities based on the release
times of the jobs, the job due-dates and the job completion times. Experiments on a computer were used for
evaluating the quality and efficiency of the heuristic algorithms developed for appropriate job-shop problems.
The release times, due-dates and completion times of the jobs have been used as input parameters (priorities)
in the computer simulation to see the effect of them on the quality of the schedules with different objective
functions. The efficiency of the developed heuristics was demonstrated via a simulation on a set of randomly
generated instances of small and medium sizes. The computational results showed that one heuristic algorithm
outperformed the other algorithms tested for two of the three objective functions under consideration.
1 INTRODUCTION
This paper addresses the problem of generating an ef-
ficient schedule of passenger and freight trains in a
single-track railway. We use the terminology from
(Lusby et al., 2011) for train scheduling and that from
(Tanaev et al., 1994) for machine scheduling.
In the world, the railway traffic is increasing from
year to year. The employment of railroads grows both
for passenger and freight transportation. When the
density of train moving is increasing, the train sched-
ule becomes more difficult both as generation and
control are concerned. During the last decades, a lot
of new algorithms and software have been developed
and published in the OR literature and in special liter-
ature in order to produce a better tool for generating
an accurate and reliable train schedule.
In this paper, it is shown how one can find a train
schedule which is close to an optimal one with three
objective functions for a single-track railway. A pos-
sible way to achieve a proper train schedule uses job-
shop scheduling (Burdett and Kozan, 2010; Mascis
and Pacciarelli, 2002; Szpigel, 1973), although job-
shop problems are fairly complicated since they be-
long to the class of NP-hard problems (Brucker et al.,
1997; Brucker et al., 2007; Tanaev et al., 1994). In
order to achieve a practical size of a job-shop prob-
lem, which can be solved within a reasonable time,
we propose and test several heuristic algorithms for
three objective functions which are appropriate for
train scheduling. In Sections 3–6, we consider a rail-
way network provided that a pair of sequential sta-
tions can be connected by at most one single-track
(a railroad section). In particular, this is the case for
most railway systems in countries of the Middle East.
2 LITERATURE REVIEW
In (Zhou and Zhong, 2007), a resource-constrained
project scheduling was used for a single-track
timetabling problem. Both the track segments and sta-
tions were modelled as limited resources. A branch-
and-bound algorithm has been developed in order to
obtain a feasible train timetable with a guaranteed
level of optimality. A lower bound based on La-
grangian relaxation was used to relax the segment and
425
Gholami O., N. Sotskov Y. and Werner F..
Job-shop Problems with Objectives Appropriate for Train Scheduling in a Single-track Railway.
DOI: 10.5220/0004054404250430
In Proceedings of the 2nd International Conference on Simulation and Modeling Methodologies, Technologies and Applications (SIMULTECH-2012),
pages 425-430
ISBN: 978-989-8565-20-4
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
station capacity constraints. A lower bound was used
to estimate the least train delay. An upper bound was
constructed via a beam search heuristic. In (Cai and
Goh, 1994), a heuristic algorithm was developed for
train scheduling in a single-track railway under the as-
sumption that all trains moving in the same direction
must have the same speed. A greedy heuristic was
proposed based on a local optimality criterion in the
event of a potential crossing conflict.
The paper (Liu and Kozan, 2011) was devoted to
train scheduling problems when prioritized trains and
non-prioritized trains are simultaneously traversed in
a single-track railway. No-wait conditions arise be-
cause the prioritized trains (e.g., an express passen-
ger train has a higher priority) should traverse contin-
uously without interruptions. Non-prioritized trains
(e.g., a freight train) are allowed to either enter the
next section immediately (if it is free) or to remain in
a section until the next section on the route becomes
available. A generic algorithm has been developed
to construct a feasible train timetable in terms of the
given train order. The proposed algorithm comprises
several recursively used procedures to guarantee the
feasibility by satisfying the no-waiting, a deadlock-
free condition, and a conflict-free constraint.
B. Szpigel (Szpigel, 1973) was the first who iden-
tified the similarities between a job-shop problem and
train scheduling in a single-track railway. The former
was solved in (Szpigel, 1973) using a branch-and-
bound algorithm, where the initial linear program-
ming problem excludes the order constraints. Branch-
ing is required if the current solution contains trains
which are in a conflict (i.e., when trains turn out to
be located on the same railroad section at the same
time). The objective was to minimize the weighted
sum of the train transit times. Computational results
for 5 single-track sections and 10 trains have been re-
ported. The same problem was considered in (Carey
and Lockwood, 1995) via binary mixed integer pro-
gramming similarly to that considered in (Jovanovic
and Harker, 1991). The temporal constraints were
identical to those used in (Szpigel, 1973). The objec-
tive was to minimize the deviation from the ideal ar-
rival times and the departure times for the trains to be
scheduled. In (Mladenovic and Cangalovic, 2007), a
job-shop problem was used to solve the train schedul-
ing problem, where a route was interpreted as follows:
The route is a sequence of the facilities the train must
cross from the origin to the destination. Assuming
that the train trips are jobs to be scheduled, which re-
quire elements of the infrastructure as restricted re-
sources, it was done by mapping the initial problem
into a special case of a job-shop problem. In order
to solve the job-shop problem, a constraint program-
ming approach has been developed. A support for
finding quickly a good schedule was offered by an
original separation and a bound-and-search heuristic.
To improve the time performance, a surrogate objec-
tive function was used which had a smaller domain
than the actual objective function.
In (Dorfman and Medanic, 2004), a discrete-event
model was used to schedule the traffic on a railway
network. This model was computationally efficient
and generated near optimal schedules with respect to
a number of time-of-travel-related criteria. In (Bur-
dett and Kozan, 2010), train scheduling was inter-
preted in terms of a job-shop problem with parallel
machines. A disjunctive graph model was used in sev-
eral algorithms with the makespan objective. It was
demonstrated that solutions with a good quality may
be obtained within a reasonable CPU-time.
3 PROBLEM SETTINGS AND
TESTING
One of the main problems in the management of a
railway network is the train scheduling (timetabling)
problem, in which it is necessary to determine a
schedule (timetable) for a set of given trains that does
not violate the railway constraints. This problem has
to be solved at the tactical level of the railway plan-
ning process (Lusby et al., 2011). For the case of a
single-track railway, train scheduling may be inter-
preted as the following job-shop problems.
There are n jobs J = {J
1
, J
2
, . . . , J
n
} to be pro-
cessed on m different machines M = {M
1
, M
2
, . . . ,
M
m
}. The time p
i j
> 0 needed for processing an
operation O
i j
of a job J
i
J on the correspond-
ing machine M
v
M is known. Operation preemp-
tions are not allowed, and the machine routes O
i
=
(O
i1
, O
i2
, . . . , O
in
i
) for the jobs J
i
J may be differ-
ent. A job J
i
J is available for processing from time-
point r
i
0. The time-point d
i
defines a due-date for
completing the job J
i
. A machine M
k
M can pro-
cess a job J
i
J at most once. So, any two operations
O
i j
and O
ik
, j 6= k, of the same job J
i
J have to
be processed by different machines of the set M , i.e.,
inequality n
i
m holds (such a problem is called a
classical job-shop).
One objective is to find a schedule minimiz-
ing the sum γ =
n
i=1
T
i
of the tardiness times T
i
=
max{0,C
i
d
i
} of the jobs J
i
J . Hereafter, C
i
de-
notes the completion time of a job J
i
J . Accord-
ing to the three-field notation α|β|γ used for machine
scheduling problems, the above job-shop problem is
denoted as J|r
i
|
T
i
. If γ =
n
i=1
C
i
, then this prob-
lem is denoted as J|r
i
|
C
i
. If γ = max
n
i=1
C
i
, then it is
SIMULTECH2012-2ndInternationalConferenceonSimulationandModelingMethodologies,Technologiesand
Applications
426
denoted as J|r
i
|C
max
.
The problems J|r
i
|
T
i
, J|r
i
|
C
i
and J|r
i
|C
max
arise in train scheduling for a single-track railway: To
determine the best train schedule among those which
do not violate the single-track capacities. For passen-
ger trains, the criteria
T
i
and
C
i
are more impor-
tant than C
max
while for freight trains, the criteria C
max
and
C
i
are more important than
T
i
.
In a job-shop approach to train scheduling, the
trains and railroad sections are synonymous with the
jobs J
i
J and the machines M
j
M , respectively.
An operation O
i j
is regarded as a movement of a train
J
i
J across a railroad section M
v
M (in the route
O
i
, machine M
v
processes operation O
i j
). The pos-
itive number p
i j
denotes the time required for train
J
i
J to travel through the railroad section M
v
M .
The non-negative number r
i
denotes the departure
time of train J
i
J , which is given in the official train
timetable. The positive number d
i
denotes the official
arrival time of train J
i
J (a due-date for the desired
completion time C
i
of a job J
i
J ) at the terminal sta-
tion in the route O
i
. Note that for train scheduling the
inequality m n usually holds.
The problems J|r
i
|
T
i
, J|r
i
|
C
i
and J|r
i
|C
max
are
complicated in the computational sense since their
special cases belong to the class of NP-hard prob-
lems (Tanaev et al., 1994). In order to achieve a
practical size of a classical job-shop problem, which
can be solved heuristically within a reasonable time,
we coded a shifting bottleneck algorithm, which was
originated in (Adams et al., 1988) for the job-shop
problem J||C
max
. However, testing the program real-
izing a shifting bottleneck algorithm for the problem
J|r
i
|
T
i
showed an unsatisfactorily large CPU-time
when the number n of trains was large and the num-
ber m of railroad sections was no less than n (Sotskov
and Gholami, 2012). A simulation showed that this
algorithm can handle 125 operations (e.g., 25 trains
on 5 railroad sections or 5 trains on 25 railroad sec-
tions) within half an hour of CPU-time. For larger
job-shops with m n, the CPU-time grows quickly.
In Sections 4 and 5, we develop heuristic algo-
rithms, which run faster than the shifting bottleneck
algorithm providing a quality of the objective function
values which is close to the quality of the schedules
constructed by the shifting bottleneck algorithm.
4 MIXED GRAPH MODEL
The problems J|r
i
|
T
i
, J|r
i
|
C
i
and J|r
i
|C
max
de-
scribed in Section 3 can be formulated using a mixed
graph model G = (Q , C , D) (Tanaev et al., 1994) or a
disjunctive graph model (Sussmann, 1972).
Let Q denote the set of operations O
i j
, J
i
J ,
j {1, 2, . . . , n
i
}, to be executed by the machines M
and a dummy operation O
00
associated with the be-
ginning of a schedule and n dummy operations O
i,n
i
+1
associated with the completion of the jobs J
i
J .
Two operations O
i j
and O
lk
, which have to be
executed by the same machine M
u
M , cannot be
simultaneously processed by this machine. This re-
striction is presented by an edge [O
i j
, O
lk
] D. Two
consecutive operations O
i j
and O
i, j+1
of the same
job J
i
J are connected by an arc (O
i j
, O
i, j+1
) C ,
where 1 j n
i
1. The arc (O
i j
, O
i, j+1
) means
that operation O
i, j+1
has to be started after the com-
pletion of operation O
i j
. The processing time p
i j
is
prescribed to the arc (O
i j
, O
i, j+1
) C , and the two
processing times p
i j
and p
lk
are prescribed to the edge
[O
i j
, O
lk
] D. For the dummy operation O
00
Q , the
arc (O
00
, O
i1
) with the weight r
i
is included into the
set C for each job J
i
J . For the dummy operation
O
i,n
i
+1
Q , the arc (O
in
i
, O
i,n
i
+1
) with the weight p
in
i
is included into the set C .
The problems J|r
i
|
T
i
, J|r
i
|
C
i
and J|r
i
|C
max
are
modelled by a mixed graph G = (Q , C , D). The due-
dates d
i
are used when calculating the objective func-
tion γ =
n
i=1
T
i
for a schedule constructed.
Since operation preemptions are not allowed, a
schedule on a mixed graph G = (O, C , D) may be de-
fined as a sequence of the starting times s
t
= (s
00
= 0,
s
1
1
, s
2
1
, . . . , s
n
1
1
, s
n
1
+1
1
, . . . , s
1
n
, s
2
n
, . . . , s
n
n
n
, s
n
n
+1
n
) of all the
operations Q such that the conjunctive constraint
s
k
l
s
j
i
p
i j
(1)
has to be satisfied for each arc (O
i j
, O
lk
) C , and the
disjunctive constraint
either s
k
l
s
j
i
p
i j
or s
j
i
s
k
l
p
lk
(2)
has to be satisfied for each edge [O
i j
, O
lk
] D.
Using the above weighted mixed graph G =
(Q , C , D), to define a feasible sequence s
t
of the start-
ing times, one has to replace each edge [O
i j
, O
lk
] D
by either the arc (O
i j
, O
lk
) with the weight p
i j
or the
arc (O
lk
, O
i j
) with the weight p
lk
respecting the dis-
junctive constraint (2) in such a way that no circuit
arises in the obtained digraph. As a result, the set of
edges D will be substituted by a chosen set D
t
, the
mixed graph G = (Q , C , D) will be transformed into
a circuit-free digraph G
t
= (Q , C
S
D
t
, ), and an op-
eration sequence for each machine of the set M will
be determined. Since the cardinality of the set Q is
equal to |Q | = 1 +
n
i=1
(n
i
+1), using the critical path
method in O(n
2
) time, one can build a unique semi-
active schedule defined by the weighted digraph G
t
.
A schedule is called semiactive if no operation O
i j
,
J
i
J , j {1, 2, . . . , n
i
}, can start earlier without de-
laying the processing of some operation from the set
Job-shopProblemswithObjectivesAppropriateforTrainSchedulinginaSingle-trackRailway
427
Q or (and) without altering the processing sequence
of the operations on any of the machines M .
The main complexity of the problem J|r
i
|γ with
a regular criterion γ is to find an optimal circuit-free
digraph G
t
= (Q , C
S
D
t
, ) generated by the mixed
graph G = (Q , C , D). In other words, it is neces-
sary to find such a set of arcs D
t
for substituting the
set of edges D in the mixed graph G that the objec-
tive function γ has the minimal value among all other
circuit-free digraphs generated by the mixed graph G
via replacing each edge [O
i j
, O
lk
] D either by the
arc (O
i j
, O
lk
) D
t
or by the arc (O
lk
, O
i j
) D
t
.
5 HEURISTIC ALGORITHMS
We developed three types of algorithms denoted as
Ordinal, Max-PT and Min-PT. The release times,
completion times and due-dates are used as priorities
in ordering the jobs J
i
J for processing on the same
machine from the set M . Nine heuristic algorithms
of three types with three priority rules are developed.
5.1 Ordinal-algorithm
The Ordinal-algorithm generates a sequence of the
operations O
i j
on different machines of the set M in
the order as they are requested for processing the jobs
J
i
J . In the first iteration, the Ordinal-algorithm
finds the first request (i.e., operation O
i1
) of a job
J
i
J for the machine M
u
M processing opera-
tion O
i1
. Then, depending on which priority rule is
used, the Ordinal-algorithm computes either the re-
lease time or the completion time or the due-date as
the priority of operation O
i1
. For example, let the
Ordinal-algorithm use the release time of operation
O
i1
as its priority. Then the algorithm compares the
release time r
i1
of operation O
i1
with the release times
of all operations O
jk
of the other jobs J
j
J , i 6= j, on
the same machine M
u
M processing operation O
jk
.
If the release time r
i1
is smaller than the release time
of the operations of the other jobs on the same ma-
chine M
u
M , then an arc starting from operation
O
i1
and ending in operation O
jk
has to be added to
the digraph (Q , C ,
/
0). Otherwise, the symmetric arc
(O
jk
, O
i1
) has to be added to the digraph (Q , C ,
/
0).
The release time r
uv
denotes the earliest start time
of operation O
uv
which can be computed due to the re-
cursion r
uv
= max{r
i j
+ p
i j
}, where the maximum is
taken over all operations O
i j
Q preceding operation
O
uv
in the digraph already constructed. The release
time of the source operation O
00
is equal to zero.
The above procedure is repeated for the second
job request (iteration 2), then for the third job request
(iteration 3) and so on until all machine requests have
been satisfied. We called this version of the algorithm
as Ordinal-SRT (from Shortest Release Time).
The other two versions of the Ordinal-algorithm
based on either the completion time priority or the
due-date priority are called Ordinal-SCT (Shortest
Completion Time) and Ordinal-SDD (Shortest Due-
Date), respectively.
5.2 MaxPT-algorithm
The MaxPT-algorithm (Maximum Processing Time)
tends to schedule first the jobs that need more pro-
cessing time on all machines M
u
M .
In the first step, the MaxPT-algorithm calculates
the sum of the processing times (total processing
time) of all operations O
i j
, j {1, 2, . . . , n
i
}, for each
job J
i
J . Before scheduling, the maximum sum of
the processing times of a job J
i
J is equal to the
length of a critical path in the digraph (Q , C ,
/
0).
The MaxPT-algorithm sorts the jobs J in non-
increasing order of their total processing times and
selects a job with the maximum total processing time
to be processed next. The MaxPT-algorithm starts to
process the first request (operation O
i1
) of the job J
i
with maximum total processing time, then the second
request of the same job and so on until the last request
of job J
i
. At each operation, the MaxPT-algorithm
computes one of the three priorities (either the release
time, the completion time or the due-date) depending
on the version of the algorithm. The chosen priority
is compared with those of all operations of the other
jobs on the same machine M
u
. Then either the arc
(O
i1
, O
jk
) or the arc (O
jk
, O
i1
) is added to the digraph
(Q , C ,
/
0)) depending on the larger priority of job J
i
or
job J
j
. The added arc defines the order of processing
the jobs J
i
and J
j
on machine M
u
.
Then the MaxPT-algorithm repeats the same pro-
cedure for the other jobs that are sorted by non-
increasing sums of their processing times. We call
this version of the algorithm which uses the release
time as priority as MaxPTRT-algorithm (Maximum
Processing Time, Release Time).
The MaxPTCT-algorithm (Maximum Processing
Time and Completion Time) is another version that
compares the job completion times as priorities,
and the MaxPTDD-algorithm (Maximum Processing
Time, Due-Date) compares the due-dates as priorities.
5.3 MinPT-algorithm
The MinPT-algorithm (Minimum Processing Time)
is basically similar to its counterpart, the MaxPT-
algorithm but in contrast to the latter one, the MinPT-
SIMULTECH2012-2ndInternationalConferenceonSimulationandModelingMethodologies,Technologiesand
Applications
428
Figure 1: Objective function values of the obtained sched-
ules for job-shop problems with the criterion C
max
.
algorithm schedules first the job J
i
J that needs the
smallest total processing time on all machines M .
The MinPT-algorithm sorts the jobs in non-
decreasing order of their total processing times and
then schedules the jobs on each machine M
u
M in
non-decreasing order of the corresponding priorities.
The three versions of the MinPT-algorithm
are the MinPTRT-algorithm (Minimum Processing
Time, Release Time), the MinPTCT-algorithm (Min-
imum Processing Time, Completion Time) and the
MinPTDD-algorithm (Minimum Processing Time,
Due-Date).
6 COMPUTATIONAL RESULTS
Three versions of the three types of algorithms (Or-
dinal, Max-PT and Min-PT) have been coded in Bor-
land Delphi. For the simulation, a laptop computer
with the following specification has been used: Intel,
coreTM 2 Duo, CPU T6400, 2.00 GHz and 2GB In-
ternal Memory, Windows 7, Ultimate 32 bit.
We were interested in investigating experimen-
tally the effect of choosing different types of algo-
rithms and different priorities for the three objective
functions. We randomly generated job-shop problems
of size n × m, where n = m {5, 6, . . . , 12} to see the
effect of these algorithms on different objective func-
tions for job-shop problems.
First, we compared the makespan objective func-
tion for randomly generated problems J|r
i
|C
max
of
different size n × m, where n = m. We compared
the makespan values obtained by the nine algo-
rithms developed for instances with the same input
data. Each series includes 10 randomly generated in-
stances. The results are presented in Fig. 1, which
shows that the quality of a schedule obtained by the
algorithms generally depends on the input data, but
both the OrdinalSCT-algorithm and the OrdinalSRT-
algorithm slightly outperform the other algorithms for
Figure 2: Objective function values of the obtained sched-
ules for job-shop problems with the criterion
C
i
.
Figure 3: Objective function values of the obtained sched-
ules for job-shop problems with the criterion
T
i
.
the makespan criterion.
In the next experiments, the nine algorithms were
used to solve heuristically the job-shop problems with
the objective function
C
i
. Figure 2 shows that the
OrdinalSCT-algorithm provides schedules with the
best quality among the algorithms tested.
In the last experiments, we evaluated the objective
function
T
i
. Figure 3 shows that the OrdinalSCT-
algorithm again provides schedules with the best
quality among the algorithms tested.
Table 1: CPU-time in seconds for randomly generated in-
stances with n jobs and m = n machines
n = m = 7 8 9 10 11 12
OrdinalSDD 2 4 9 31 145 2801
OrdinalSCT 3 5 9 66 208 6510
OrdinalSRT 2 4 5 34 212 3244
MaxPTDD 2 9 17 73 639 11452
MaxPTCT 3 9 19 58 449 4500
MaxPTRT 2 8 11 47 376 11710
MinPTDD 3 9 18 188 325 3986
MinPTCT 2 7 13 63 324 4594
MinPTRT 1 4 11 57 299 8340
In Table 1, the CPU-time taken by the nine algo-
rithms to solve heuristically different job-shop prob-
Job-shopProblemswithObjectivesAppropriateforTrainSchedulinginaSingle-trackRailway
429
lems are given. For all randomly generated problems
of size n = 5 = m and n = 6 = m tested, the CPU-time
was less than 1 s.
7 CONCLUSIONS
The problem of finding an optimal train schedule in-
cludes several criteria. We considered three of them
and developed nine heuristic algorithms to solve the
corresponding job-shop problems. We coded dif-
ferent variants of heuristic algorithms and compared
three parameters for job-shop scheduling to find suit-
able heuristic algorithms for three objective functions.
The simulation showed that the OrdinalSCT-
algorithm generates a good schedule to minimize the
makespan, the sum of job completion times and the
sum of job tardiness. It was shown that the use of
a more complicated algorithm (like the shifting bot-
tleneck one) for solving train scheduling problems
needed more CPU-time for the case when m n with
only a slight improvement of the objective function
values.
For future research, we recommend to compare
more parameters for those objective functions appro-
priate for train scheduling. Note that the OrdinalSCT-
algorithm may be generalized to the weighted objec-
tive functions
w
i
T
i
and
w
i
C
i
allowing a scheduler
to take into account different priorities of the trains.
REFERENCES
Adams, J., Balas, E., and Zawack, D. (1988). The shifting
bottleneck procedure for job-shop scheduling. Man-
agement Science, V. 34:391–401.
Brucker, P., Kravchenko, S., and Sotskov, Y. (1997). On
the complexity of two machine job shop scheduling
with regular objective functions. Operations Research
Spektrum, V. 19:5–10.
Brucker, P., Sotskov, Y., and Werner, F. (2007). Complex-
ity of shop-scheduling problems with fixed number of
jobs: a survey. Mathematical Methods of Operations
Research, V. 65:461–481.
Burdett, B. and Kozan, E. (2010). A disjunctive graph
model and framework for constructing new train
schedules. European Journal of Operational Re-
search, V. 200(5):85–98.
Cai, X. and Goh, C. (1994). A fast heuristic for the train
scheduling problem. Computers & Operations Re-
search, V. 21(5):499–510.
Carey, M. and Lockwood, D. (1995). A model, algorithms
and strategy for train pathing. Journal of the Opera-
tions Research Society, V. 46(8):988–1005.
Dorfman, M. and Medanic, J. (2004). Scheduling trains on
a railway network using a discrete event model of rail-
way traffic. Transportation Research Part B, V. 38:81–
98.
Jovanovic, D. and Harker, P. (1991). Tactical scheduling
of rail operations: the scan i system. Transportation
Science, V. 25(1):46–64.
Liu, S. and Kozan, E. (2011). Scheduling trains with
priorities: a no-wait blocking parallel-machine job-
shop scheduling model. Transportation Science,
V. 45(2):175–198.
Lusby, R., Larsen, J., Ehrgott, M., and Ryan, D. (2011).
Railway track allocation: models and methods. Oper-
ations Research Spektrum, V. 33:843–883.
Mascis, A. and Pacciarelli, D. (2002). Job shop schedul-
ing with blocking and no-wait constraints. European
Journal of Operational Research, V. 143(3):498–517.
Mladenovic, S. and Cangalovic, M. (2007). Heuristic ap-
proach to train rescheduling. Yugoslav Journal of Op-
erations Research, V. 17(1):9–29.
Sotskov, Y. and Gholami, O. (2012). Shifting bottleneck
algorithm for train scheduling in a single-track rail-
way. In Proceedings of the 14th IFAC Symposium IN-
COM’12 on Information Control Problems in Manu-
facturing, IFAC’14, Bucharest, Romania (accepted).
Sussmann, B. (1972). Scheduling problems with interval
disjunctions. Mathematical Methods of Operations
Research, V. 16:165–178.
Szpigel, B. (1973). Optimal train scheduling on a single
line railway. Operations Research, V. 72(3):344–351.
Tanaev, V., Sotskov, Y., and Strusevich, V. (1994). Schedul-
ing Theory: Multi-Stage Systems. Kluwer Academic
Publishers, Dordrecht, The Netherlands.
Zhou, X. and Zhong, M. (2007). Single-track train
timetabling with guaranteed optimality: branch-
and-bound algorithms with enhanced lower bounds.
Transportation Research Part B, V. 21:320–341.
SIMULTECH2012-2ndInternationalConferenceonSimulationandModelingMethodologies,Technologiesand
Applications
430