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
SIMULTECH2012-2ndInternationalConferenceonSimulationandModelingMethodologies,Technologiesand
Applications
426