Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Train scheduling and routing under dynamic headway control
(USC Thesis Other)
Train scheduling and routing under dynamic headway control
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Train Scheduling and Routing Under Dynamic Headway Control
by
Lunce Fu
__________________________________________________________________
A Dissertation Presented to the
FACULTY OF THE GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Fulfillment of the
Requirements for the Degree
DOCTOR OF PHILOSOPHY
(INDUSTRIAL AND SYSTEMS ENGINEERING)
May 2016
Copyright 2016 Lunce Fu
ii
Acknowledgements
I want first to thank my advisor, Dr. Maged Dessouky, for his patient guidance,
constant support and inspiring advice during my entire journey of pursuing Ph.D. His
kindness and enthusiasm are the power source for me when I feel stuck. His persistence
and integrity help me shape my attitude towards not only work but also life.
I would like to express my gratitude to Dr. Jong-Shi Pang. His scholarliness
always encourages me and his innovativeness always inspires me. I benefit a lot through
discussion with him over a whole semester.
I also want to thank the other members of my qualifying and thesis committee: Dr.
Ketan Savla, Dr. Suvrajeet Sen and Dr. Petros Ioannou for their comments and
suggestions on my qualifying proposal and the research direction.
I want to thank all senior colleagues: Chen Wang, Xiaoqing Wang, Christine
Nguyen, Huayu Xu and Michael Poremba for their help and encouragement.
I also want to thank all my lab mates: Yihuan Shao, Han Zou, Liang Liu, Wentao
Zhang, Michael Hintlian and Jing Voon Chen for all happy moments we share together.
I want to express the greatest thanks to my family: my mother Feng Wang, my
dad Decai Fu and my brother Lunye Fu. Your encouragement and support is my biggest
motivation. The strength I got from you makes me fearless in my life.
iii
I want to thank my girlfriend Yunzhu Chen for her continuous support of my study. With
her company, the journey of pursing Ph.D. becomes much more enjoyable.
iv
Table of Contents
Acknowledgements ii
List of tables vi
List of figures viii
Abstract ix
1 Introduction 1
1.1 General overview and motivations 1
1.2 Contribution 5
1.3 Organization of the thesis 7
2 Literature review 8
2.1 Railway Simulation Models 9
2.2 Train Scheduling Problem 11
2.3 Shortest Path in Time-Dependent Dynamic Networks 19
3 Dynamic Headway 22
3.1 Problem formulation 22
3.1.1 Constant Headway 23
3.1.2 Dynamic Headway 28
3.1.3 Optimization Model 30
3.2 Heuristics for Dynamic Headway 38
3.2.1 Headway Decision 39
3.2.2 Velocity Decision 44
3.3 Experimental results 50
3.3.1 One-Direction Dispatching 51
3.3.2 Bi-Direction Dispatching 54
3.3.3 Bi-Direction Dispatching with Crossing 55
3.4 Summary 58
4 Routing for Double Track Configuration 59
4.1 Single Train Routing 60
4.1.1 Computational Complextiy of Single Train Routing Problem 62
4.1.1.1 Linear Programming Formulation for the Fixed Path Problem 63
v
4.1.1.2 NP-hardness of the Single Train Routing Problem 72
4.1.2 Solution Properties 75
4.1.3 Dynamic Programming 96
4.1.4 Experimental Results 101
4.2 Multiple Trains Scheduling 107
4.2.1 Solution Procedures 107
4.2.2 Experimental Results 110
4.3 Summary 115
5 Conclusion and future work 116
5.1 Conclusion 116
5.2 Future work 117
Bibliography 119
vi
List of tables
Table 1 Characteristics of the Passenger and Freight Trains 51
Table 2 Average Delay (Measured in Minutes) for the Different Approaches 52
Table 3 Average Delay (Measured in Minutes) for Bi-Direction Dispatching 54
Table 4 Average Delay for Eastbound and Westbound Trains in Constant Headway Approach 55
Table 5 Average Delay Ratio for Dynamic Headway Approach and Constant Headway
Approach 56
Table 6 Conditions Summary 95
Table 7 Local Track Selection Summary 96
Table 8 The percentage difference between the proposed heuristic and the optimal solution 102
Table 9 Average percentage difference between the proposed heuristic and the optimal
solution 103
Table 10 Average percentage difference as acceleration/deceleration rate and upper bound
for the length change 105
Table 11 Average percentage difference as acceleration/deceleration rate and upper bound
for the speed limit change 106
Table 12 Average flow time using dynamic programming heuristic for the routing decision 111
Table 13 Average flow time ratio of simple greedy heuristic 1 over the dynamic
vii
programming heuristic for the routing decision 112
Table 14 Average flow time ratio of greedy heuristic 2 over dynamic programming
heuristic for the routing decision 113
viii
List of figures
Figure 1 Network Construction Example 23
Figure 2 Speed Limit, Departure and Arrival Time 36
Figure 3 Braking Distance 37
Figure 4 Fixed Headway Model 41
Figure 5 Dynamic Headway Model 41
Figure 6 Headway Decision 42
Figure 7 Dynamic Headway Control 48
Figure 8 Mileage Information 50
Figure 9 Railway Configuration 73
ix
Abstract
The railway transportation serves a major part of the transportation demand.
Given the rapid demand increase for railway transportation, new technologies like
Positive Train Control (PTC) can help improve the system efficiency. However,
traditional methodology assumes constant headway. Therefore they cannot be directly
applied to a PTC system. In this thesis, we focus on developing new methodologies for
train scheduling and routing problem under dynamic headway control.
The first part of this thesis introduces the model framework for dynamic headway.
We first develop a simulation model to represent dynamic headway and then formulate an
optimization model to solve the train scheduling and routing problem under dynamic
headway with the objective of minimizing the total travel time. It is computationally
difficult to solve the entire problem due to its integral decision variables and nonlinear
(even nonconvex) constraints. So we decompose the entire problem into three
subproblems corresponding to three groups of decision variables: headway decision,
velocity decision and routing decision. Efficient heuristic algorithms for headway
decision and velocity decision are proposed to solve the entire problem in an iterative
way. Numerical simulation is also conducted on a complex railway system and the
experimental results show that our dynamic headway model together with the proposed
x
heuristic outperforms the traditional constant headway approach.
The second part of the thesis focuses on the routing decision, i.e. finding the best
path when alternatives exist. We first study the Single Train Routing Problem, where the
objective is to route one train through an empty network as fast as possible. We show that
the Single Train Routing Problem is NP-hard and the corresponding decision problem is
NP-complete. Then we investigate the solution properties and present sufficient
conditions for optimality. Different conditions on the parameters are given to guarantee
that certain local route selection is optimal. Then a dynamic programming heuristic is
introduced and conditions when the proposed heuristic can obtain the optimal solution in
polynomial time are also discussed. Then we extend the Single Train Routing Problem to
the problem of routing multiple trains through a shared network. Then an integrated
heuristic algorithm is presented to solve the entire problem. Comparison between the
proposed algorithm and two benchmark algorithms are also made through numerical
experiments.
1
1 Introduction
1.1 General overview and motivations
Railways, as one of the most cost-efficient ways to transport goods and people, serve
a major part of the transportation demand, especially for freight transportation in the
United States. According to an Association of American Railroads’ study, railway moves
about 40% of freight measured in ton-miles, generating $71.6 billion of revenue in the
United States in 2012. Based on the statistics given by the Federal Railroad
Administration, the railway system will experience a 22% increase in the amount of
tonnage from 2010 to 2035. However, it is very expensive to extend the current railway’s
infrastructure. Therefore a better way of managing the railway system is needed.
One possible means to increase the efficiency of rail systems is through improved
scheduling and dispatching. There are many different dimensions in considering the train
scheduling and dispatching problem. The process is usually decomposed into strategic,
tactical and operational levels. At the strategic level, expansion or modification of the
current infrastructure is determined. Longterm plans like railway station construction,
network planning and railway planning are major decisions at this level. Tactical level
decisions are related with planning decisions, like determining timetables and routes. In
2
contrast, at the operational level real time decisions are made to cope with unscheduled or
unexpected scenarios.
The train scheduling and dispatching problem can also be classified into passenger
train scheduling and freight train scheduling based on the train’s functionality. Passenger
trains and freight trains differ due to their special features. Passenger train schedules are
relatively stable and periodic. The departure time for one passenger train from its origin
stations and its arrival times towards all the station along its route are usually fixed and
repeated every day. For example, Amtrak trains from Los Angeles to San Diego are
expected to leave at several fixed times every day. Passenger trains are supposed to have
higher priority than freight trains since passenger trains are more sensitive to delay. For
example when one passenger train and one freight train are coming to a junction or piece
of railway track segment at the same time, the passenger train usually has the priority to
block the freight train to acquire the resource. Therefore the solution quality, such as
efficiency and robustness, for passenger trains’ schedule and timetable is more important
than solution computation time.
Meanwhile freight schedules are more flexible. The departure time for a freight train
is usually dependent on when goods are ready. Sometimes the goods are from ships
overseas and it is hard to predict the exact arrival time of the ships. It also depends on the
operations on the ports or at the stations where the cargo is picked up. Sometimes freight
3
trains may even depart their origins without fixed schedules. Then real-time dispatching
decisions are made during its travel towards its destination. Therefore compared to
passenger trains, the solution computation time for the freight trains’ schedule and
timetable is more time sensitive.
Passenger train schedules and freight train schedules are not completely independent
when they share some portion of railway track segments or junctions. There are many
different methods to deal with this hybrid problem. One of these methods is to first
schedule all the passenger trains and then insert the freight trains without affecting the
passenger trains’ schedule. The advantage of this method is to divide the whole problem
into two separate parts, one for passenger trains and the other for freight trains and we
can solve them in sequence. The drawbacks of this method are (1) given the pre-
determined passenger train schedules, it is very hard to find the optimal path even if only
one freight train is inserted(Nagarajan and Ranade (2008)), and (2) the hard constraints
of no effect on the passenger train schedules may not be feasible to enforce in some
cases. A small deviation of the passenger train schedules may reduce the freight trains’
delay dramatically. Therefore in this thesis, passenger trains are not assigned pre-
determined schedule and the schedules for passenger trains and freight trains are
determined in an iterative way.
New communication technologies also have the potential to improve railway
4
operations, especially through more efficient train scheduling and dispatching. Positive
Train Control (PTC) is introduced as a system of monitoring and controlling the
movement of trains to increase security by reducing human operation (Badugu and
Movva, 2013). With PTC, trains can communicate with other trains to share information.
Previously trains are ‘blind’ and controlled by the signals which are operated by
experienced human dispatchers. With PTC, each train can have information of trains near
it (‘locally’) and even trains far away from it (‘globally’).
In reality, trains are controlled by signals in order to avoid collision. Hence, the track
segment between two consecutive signals works as headway between two consecutive
trains. Therefore the railway track is typically modeled as a set of blocks, where each
block can hold only one train at any time. As a consequence, headway between two
consecutive trains is represented as a block with fixed length in most of the simulation
modelling approaches. The introduction of a PTC system enlarges the limited control
given by the signals. The trains can be controlled to decelerate, accelerate and travel at a
constant speed in real time at any point, resulting in dynamic headway between two
consecutive trains. As a result existing simulation modelling approaches using fixed
headways cannot be used to represent dynamic headway control. Thus, we propose a
new simulation model for a PTC system together with a dynamic headway control rule
taking the train’s dynamics into consideration.
5
Moreover, PTC technology provides finer monitoring and control over a train’s
velocity. It leads to a better estimation of travel time over one segment. In contrast, most
of the previous research focuses on constant velocity when considering travel time over
one segment. The introduction of a dynamic headway framework brings new problems
that previous scheduling and routing models cannot deal with. One of the most
challenging problems is routing trains with velocity control at each segment since the
travel time over one segment is dependent on the entering velocity and exiting velocity.
This type of velocity dependent routing is seldom considered in the previous research.
1.2 Contribution
The purpose of this thesis is to further the state-of-the-art of the train scheduling and
routing problem taking into consideration the new capabilities that the newly introduced
technologies such as PTC provide. In particular, we study the problem of train scheduling
and routing problem under dynamic headway control. Since it is not computationally
possible to solve the complete scheduling and routing problem in one integrated
optimization model, we decompose the problem into headway and velocity control
decision and routing decision. The first part of the thesis (Chapter 3) focuses on the
former problem while the second part (Chapter 4) focuses on the latter problem.
Specifically, the contributions of this thesisare
6
l Propose a simulation model to represent dynamic headway, where a certain
set of nodes are reserved by each train to work as its headway from its
preceding train.
l Propose an optimization model to determine each train’s route, entering and
exiting velocities for each track segment and the length of the headway the
train needs to reserve at the end of each segment with the objective to
minimize the total travel time for all the trains in the system.
l Propose a heuristic algorithm to determine the length of the headway at the
end of each segment for each train.
l Propose an efficient algorithm to compute the velocities given the length of
the headway.
l Compare the proposed model and heuristic algorithms for headway and
velocity control with conventional models through numerical experiments.
l Show the computational complexity of the problem of routing one train
through an empty network when its acceleration and deceleration rates are
finite constants.
l Provide different conditions on the problem parameters for the single line
double track railway system to guarantee the optimality of local track
selection.
7
l Propose a dynamic programming heuristic to solve the problem of routing
one train through an empty network and also provide conditions such that
the proposed heuristic can give the optimal solution in polynomial time.
Propose an iterative heuristic framework which integrates the proposed heuristics
for headway and velocity control and the routing decision.
1.3 Organization of the thesis
The rest of the thesis is organized as follows. In Chapter 2, we review the
previous related literature on railway simulation models, train scheduling, the timetabling
problem and the shortest path problem in time dependent networks. Then a formal
description of the problem is given in Chapter 3 and due to the complexity of the
problem, we decompose the problem into headway decision, velocity decision and
schedule and route decision. Heuristic algorithms on the headway decision and velocity
decision are also proposed in this chapter. Chapter 4 focuses on the route decision. We
first investigate the problem of routing one train through an empty network and make use
of this idea to solve the problem of routing multiple trains iteratively. Finally in Chapter
5, conclusions are drawn and future research directions are discussed.
8
2 Literature review
There have been several survey papers that focus on different aspects of the rail
scheduling problem. Cordeau et al. (1998) surveyed optimization models for the train
routing and scheduling problem. Caprara et al. (2006) gave a review of strategic, tactical
and operational level’s decision models for passenger trains. Lusby et al. (2011) reviewed
different models and approaches for the train timetabling, train dispatching and train
routing problem. This review was grouped into single track network models, general
network models and junction routing models. More recently, Harrod (2012) surveyed the
train timetabling problem. This survey was organized by problem features (aperiodic or
periodic, explicit track infrastructure modeling or not, etc.).
This thesis touches on three areas where there has been prior research. Our work
in developing a modeling framework for dynamic headway furthers the existing
simulation approaches and the prior literature is reviewed in section 2.1. The prior work
on the train scheduling problem is reviewed in section 2.2. Finally our proposed approach
for solving the train routing problem is based on formulating the problem as a shortest
path problem in a state-dependent network. And the most closely related work in this area
is the shortest path problem in a time-dependent dynamic network which is reviewed in
9
section 2.3.
2.1 Railway Simulation Models
Even though much research has focused on using an optimization model to solve the
train scheduling problem, the large number of integer variables makes it difficult to solve
real problems in a relatively short time. Hence, researchers turn to simulation models to
evaluate railway systems. The most difficult part in the simulation model is modeling the
deadlock avoidance. Lu et at. (2004) have shown that determining whether a state in the
railway network will result in a deadlock is a NP-complete problem. Many approaches
have been proposed to guarantee deadlock free movement for trains.
Lu et al. (2004) proposed a detailed simulation approach that considered the trains’
dynamics. The authors formulated a graph representation for the track infrastructure for a
complex network consisting of single-, double-, and triple-track lines. A greedy algorithm
based heuristic was proposed to solve the train scheduling problem in the simulation
model. Then the proposed approach was used to simulate the railway network in Los
Angeles County.
Dorfman and Medanic (2004) presented a discrete event model to simulate the
railway network. A greedy travel advanced strategy (TAS) was presented and a capacity
check approach was integrated to check the deadlock avoidance constraint. Then Li et al.
10
(2008) utilized global information about trains to improve the model of Dorfamn and
Medanic (2004). An effective travel advance strategy based (ETAS) on the global
information about trains together with a deadlock avoidance control method was
proposed in Li et al. (2008). A single lane railway network was simulated to test the new
simulation model. Numerical results showed that ETAS had better performance than
TAS.
Pachl (2007) presented two approaches to avoid deadlock in the simulation model.
Movement Consequence Analysis (MCA) achieved the goal by detecting the potential
deadlock as a consequence of the train movement. In contrast, a Dynamic Route
Reservation (DRR) reversed a number of blocks ahead of each train. Comparison was
also made between MCA and DRR.
Marinov and Viegas (2011) presented a decomposition approach in the simulation
model. The entire railway system was separated into different components: rail lines, rail
yards, rail stations, rail terminals and junctions. A queuing system among the components
was utilized to simulate the entire railway system. An event based simulation was
proposed and implemented using the ARENA simulation software in Motraghi and
Marinov (2012). Then two scenarios were evaluated by the simulation model. In the first
one, both passenger and freight trains had fixed schedules while freight trains did not
have a fixed timetable in the second scenario. The simulation model was used to evaluate
11
the Metro rail system in Newcastle upon Tyne. Zhou and Mi (2013) brought dynamics of
train movements into the simulation model for a fixed-block railway network.
Corresponding scheduling and control policies were also presented and experimental
results showed that the speed performance is improved in the proposed model.
2.2 Train Scheduling Problem
One of the earliest works dates back to Szpigel (1973), where the author related the
train scheduling problem on a single track with the job shop scheduling problem. A brand
and bound algorithm was proposed to solve this problem. Also experiments were
conducted on a single track line with five track sections and ten trains.
Jovanovic and Harker (1991) investigated the railway network with two stations
with a lane connecting them and meet points along the lane, where trains can wait,
overtake or be overtaken. Arrival and departure times at meet points together with a
sequence of trains at meet points were introduced as decision variables to formulate a
Mixed Integer Programming (MIP) problem.
Brannlund et al. (1998) formulated a different model for the single track line
scheduling problem by discretizing the time periods. Decision variables were indexed by
train, track block and time period to indicate that the train occupied the track block at that
time. Then a Lagrangian relaxation approach was used to solve the binary integer
12
programming model. Experiments performed on the railway track in the middle of
Sweden showed that near optimal schedules were obtained.
Both Jovanovic and Harker(1991) and Brannlund et al. (1998) deal with a single
track line railway system. Even though the railway infrastructure is simple, the two
models proposed laid the foundation for problems with complex structure and formed
two main streams of formulating the train scheduling problem. The main difference
between them is that in the model originated from Jovanovic and Harker (1991) times at
control points are decision variables. While in the other stream, time is discretized to
form a time-space graph. Much research has been done to modify, expand and improve
these two basic models.
In the first stream, times at control points are decision variables. Carey and
Lockwood (1995) considered the train timetabling problem for the one-way single line
railway system, where the decision variables include arrival and departure times for each
station and the trains’ passing order at each station. They also proposed heuristic
strategies to solve the formulated Mixed Integer Programming (MIP) problem.Carey
(1994a) extended the model from one-way single line system to a more complex railway
system containing multiple railway lines and station platforms. On the other hand Carey
(1994b) extended the one-way single track line model to a two-way single line model.
Higgins (1996)proposed a similar MIP formulation to minimize the sum of the
13
weighted delays for each train and the operating cost. Also a branch and bound schema is
proposed to solve the MIP, where the lower bound of the optimal solution is estimated
through the remaining overtake and crossing delay, in order to reduce the search space in
the branch and bound procedure.
Dessouky et al. (2006)also proposed a MIP formulation to minimize the sum of all
the trains’ arrival times to their destinations. Then a branch and bound scheme, which is
based on the idea of fixing the sequence of all the trains passing the same node step by
step, is introduced. Numerical experiments are conducted on a complex rail network with
comparison between the proposed branch and bound scheme and the CPLEX solver.
Zhou and Zhong (2007) presented a branch and bound procedure in order to solve
the train scheduling problem in a single track line system. In the branching step, they
showed that the subproblem can be solved as the longest path problem to determine the
earliest start times for each train in different segments. Then for the bounding step,
several methods to obtain lower bounds and upper bounds of the optimal solution are
proposed. First, a Lagrangian relaxation lower bound is obtained by taking the dual of the
relaxation problem. Then another way of obtaining a lower bound is introduced based on
the idea of ignoring the existing train conflicts and the potential conflicts generated in the
future. To obtain an upper bound, a beam search algorithm is introduced, where only a
certain number of search nodes are kept at each level. Numerical experiments show that
14
the lower bounds and upper bounds can reduce the computation time.
Mu and Dessouky (2011)considered the train timetabling problem in a complex
railway network, where each train may have multiple feasible paths to take. Therefore
another binary variable indicating which path to take is introduced to obtain the flexible
path formulation. Several heuristic algorithms are proposed to solve the formulated MIP.
An intuitive heuristic, which reduces the search space by eliminating “bad” paths, is
introduced. Then a generic algorithm with paths as genes is discussed. Also divide and
conquer based heuristics, which either divide up the railway network or group trains into
different clusters, are investigated. All the proposed heuristics are compared with the
benchmark given by a simple look-ahead greedy heuristic and a global neighborhood
search heuristic through numerical experiments.
Louwerse and Huisman (2014) consider the problem of adjusting the timetables for
passenger trains when railway track disruptions happen. The problem is formulated using
an event-activity network. The set of events consists of the arrival and departure events at
the stations and of inventory events. The set of activities consists of train activities,
headway activities and inventory activities. An Integer Programming (IP) formulation is
proposed to decide which trains to cancel and generate a new timetable for the remaining
trains with the objective of minimizing the number of cancelled trains and total delay.
Numerical experiments are also conducted for the Netherlands Railway system.
15
Meng and Zhou (2014) investigate the problem of rescheduling and rerouting trains
simultaneously on an N-track rail network. A Mixed Integer Programming (MIP) model
is formulated in order to minimize the deviation between the actual arrival time and the
planned arrival time. A Lagrangian relaxation schema is proposed to solve the formulated
problem, where a label correcting algorithm for the time-dependent shortest path problem
is used to solve the routing subproblem in the time-space network. Comparison between
the proposed method and sequential scheduling framework is analyzed through numerical
experiments.
In the second stream a time-space graph is constructed and utilized. Capara et al.
(2002)considered the train timetabling problem for one-way single line railway systems.
Time is discretized so that a time-space graph is formed where nodes in the graph
correspond to departures/arrivals at a certain station at a given time instant. Then an
integer linear programming (ILP) problem is formulated in order to maximize the sum of
the profits of the scheduled trains. A Lagrangian relaxation problem is formulated and
subgradient optimization is proposed to obtain the near-optimal solution. A heuristic
based on the idea of ranking the trains by decreasing values of the Lagrangian profit is
also proposed to solve the problem.
Capara et al. (2006) extended the previous model by introducing several practical
constraints such as manual block signaling between two consecutive stations, maximum
16
number of trains that can be present in a station at the same time, prescribed timetable for
a subset of the trains and maintenance operations which keep a track segment occupied
for a certain period.
Cacchiani et al. (2010)considered the problem of inserting new freight trains into a
railway system where the passenger trains have prescribed timetables. An ILP is
formulated with the objective to assign as many new freight trains as possible and also to
make their timetables as close as possible to the ideal timetables. A similar Lagrangian
relaxation method to Capara et al. (2002) is used and numerical experiments are
conducted on large instances to show the efficiency of the proposed method.
Recently, another method of modeling called alternative graph, which can be traced
back to Mascis and Pacciarelli (2002), has been developed. In the alternative graph, a set
of pairs of directed arcs is specified such that at most one arc from each pair can be
selected.The alternative graph is used to solve the train conflict detection and resolution
(CDR) problem, where the order of passing one track for two trains is modeled as two
alternative arcs in the constructed alternative graph.
Mazzarello and Ottaviani (2007) extended the alternative graph model by
considering constraints imposed by the real railway environment. The blocking constraint
denotes that a train travelling on a block remains on it until the next block is available.
Other constraints in train scheduling are also taken into consideration. The minimum
17
speed constraint enforces that a train must travel at a speed not less than a given speed.
The passing constraint imposes a train to pass through a node only after a given time. The
minimum dwell time and minimum connection time constraints make sure there is at
least a certain time between two train operations. The out of order constraint deals with
the scenario where a block is unavailable for a certain time interval. The precedence
constraint enforces that one train has higher priority than another train.
D’Ariano et al. (2007)considered the problem of obtaining a new conflict-free
timetable when train operations are perturbed. They presented a branch and bound
procedure to solve the conflict resolution problem using an alternative graph model,
where the upper bound in the branch and bound procedure is obtained by the best value
among three heuristics. The first heuristic is to apply First Come First Served (FCFS) rule
and the second is to apply First Leave First Served (FLFS). The third heuristic is a greedy
algorithm which each time chooses the pair of unselected alternatives with the optimal
value and therefore increases the size of the solution iteratively.
Corman et al. (2010)took advantage of the tabu search heuristic to improve the
solution quality and computation time for the train conflict detection and resolution.
Three neighborhood structures for the tabu search are considered. The first is the
complete neighborhood containing all the feasible solutions in which only one train
follows a different route compared to the incumbent solution. The second is a subset of
18
the first neighborhood with the constraints that trains must have one operation in a
backward ramified critical path set (BRCP). The third neighborhood structure extends the
second one by considering also the forward ramifications.
Notice that in all models mentioned above, the railway track is discretized and
represented as a set of blocks as we mentioned before. In order to avoid collision, “on
each block, there can only be one train at each time period” according to Brannlund et al.
(1998). Therefore headway between two consecutive trains will be maintained to be at
least one block before the succeeding train enters a new block. This is a reasonable
assumption for the traditional railway signal system since decisions are made at the
control points, which are between two consecutive blocks. However, for a PTC system
where dynamic headway may be adopted this may lead to inefficiencies.
Nagarajan and Ranade (2008) investigated the train routing problem, where a new
train is introduced to a network with some pre-scheduled trains. The objective is to find a
route for the new train without affecting the existing schedules with the acceleration and
deceleration processes taken into consideration. They showed that the routing problem is
not only NP-complete, but also NP-hard to approximate this problem to any factor that is
at most exponential to the input size. The definition of one node’s profile is introduced as
the set of all possible tuples of arrival time and velocity. An algorithm is also provided
based on the expansion of the profile over an arc.
19
2.3 Shortest Path in Time-Dependent Dynamic Networks
The shortest path problem in a given network has been well studied and many
efficient algorithms have been proposed (Ahuja et al. 1993). An interesting variant of the
original shortest path problem is the shortest path problem in time-dependent dynamic
networks. In a time-dependent dynamic network, the transit time over an arc is time-
dependent or the cost incurred by passing an arc is time-dependent. Formally, in a
directed network 𝐺 =(𝑉,𝐸), where 𝑉 is the set of nodes and 𝐸 is the set of arcs.
∀
𝑖,𝑗 ∈𝐸, its transit time 𝑑
./
(𝑡) is a function of 𝑡, which is the departure time from
node 𝑖.
The shortest path in a dynamic network was first introduced by Cooke and Halsey
(1966), where time is discretized into a set of finite time points and the transit time is
assumed to be integer values. Then Bellman’s iteration for optimality was extended to the
discrete time dynamic network. Dreyfus (1969) pointed out that Dijkstra’s algorithm
(Dijkstra 1959) can work for the time-dependent network even dropping the restriction of
integer-valued transit times and time discretization. However, Kaufman and Smith (1993)
showed that in both Cooke and Halsey (1966) and Dreyfus (1969), it is implicitly
assumed the FIFO property is satisfied:
20
𝑑
./
(
𝑡
1
)+𝑡
1
≤𝑑
./
𝑡
4
+𝑡
4
, ∀𝑡
1
≤𝑡
4
And Kaufman and Smith (1993) proved that the time dependent shortest path
problem under the FIFO assumption can be solved in polynomial time.
Without the FIFO property, waiting at certain nodes is sometimes preferable. Both
Orda and Rom (1990) and Chabini (1998) showed that Dijkstra’s algorithm can be
extended to the time-dependent shortest path problem with “unrestricted waiting”, i.e.
arbitrary waiting time is allowed, and no FIFO assumption. However, Orda and Rom
(1990) showed that it is NP-complete to solve the time-dependent shortest path problem
with “forbidden waiting”, i.e. no waiting is allowed, and no FIFO assumption. They also
considered the scenario when waiting is only allowed at the origin node, which is
between “unrestricted waiting” and “forbidden waiting”.
While most of the models mentioned above seek the time-dependent fastest path,
which minimizes the travel time from the given origin to the destination, the “shortest”
path problem minimizing the general time-dependent cost has also drawn much attention.
There are two main streams dealing with the min-cost path problem. The first discretizes
time into time points. Cai et al (1997) considered the time-dependent shortest path
problem with constraints on the waiting time. Pallottino and Scutella (1998) considered
the application of the time-dependent min-cost path problem for transportation models. A
21
space time network (𝐺×𝑇) is constructed and a general chronological schema is proposed
to solve this problem. Ahuja et al (2003) showed that the general min-cost time-
dependent walk problem is NP-complete. Most recently, Fischer and Helmberg (2014)
provided a dynamic graph generation scheme for the space time network to control the
size of the network.
The other stream deals with continuous time without discretization. Orda and Rom
(1991) showed that the solution for the continuous time min-cost path for dynamic
networks is either the form of a finite path or the form of infinite path. Philpott (1994)
defined a Borel measure function 𝑥
/8
(𝑡) denoting whether the path leaves node j for node
k at time t. Then a continuous-time infinite dimensional linear programming model is
formulated to represent the continuous time min-cost path for dynamic networks. And a
dual problem is derived and the strong duality is shown to be valid. Koch and Nasrabadi
(2014) extended the model in Philpott (1994) by allowing negative transit time. Also
strong duality is shown to be valid in the case of negative transit time.
22
3 Dynamic Headway
In this Chapter, we first present a large-scale optimization model to solve the
integrated train scheduling and routing problem with dynamic headway. Since the
optimization model is a nonlinear (actually nonconvex) integer programming problem, it
is computationally difficult to find an optimal solution for even a small problem instance,
we therefore decompose the integrated problem into three subproblems: headway control,
velocity control and routing. In this chapter we also present heuristics for the first two
subproblems. We then experimentally compare our proposed approach to standard
approach on a sample railway network in Los Angeles County.
3.1 Problem formulation
Before we present our optimization model of the train scheduling and routing
problem for dynamic headway, we first review the modelling of the train movement
process for constant headway and then extend it for dynamic headway.
23
3.1.1 Constant Headway Model Representation
In Lu et al. (2004), the railway track is discretized into different segments. Segments
are the smallest, indivisible units in this model. All points within one segment share one
speed limit. Then several segments and/or junctions are grouped into one node to
formulate a network G = (V, E), where V is the set of nodes or vertices and E is the set of
arcs. Notice that each arc works as linkage between two nodes, and that it may or may
not correspond to a junction. An example network construction for a portion of the
railway network is given as follows:
Figure 1 Network Construction Example
There are several requirements for this model:
1. There are no junctions within the segment. Junctions can only appear in the arcs
or at the beginning or end of a segment within a node.
A
B
C
I
F G
E
M L H
D
K J
Jc.. B
Sg. B-C
Sg. D-E
Sg. A-B
C
Sg. H-I
C
Sg. B-I
Sg. E-F
Sg. I-J
Jc. I
Jc. F
Jc. J
Sg. F-G
Sg. J-L
Sg. K-M
24
2. Each segment has the capacity of one, i.e. there can be at most one train within
each segment at any time.
3. Arcs corresponding to junctions have certain speed limits while other arcs have no
speed limits.
4. The length of a segment is no more than the maximum train length.
Segments can be defined in different ways. However, if the segment is too long, the
capacity of the network system will decrease since we make the capacity of each segment
to be one (i.e. at most one train can occupy a segment at a time). Therefore the last
requirement enforces the segment length to be no more than the maximum train length.
Trains travelling through the railway network are modeled as movements through the
nodes on the constructed graph. Since all the arcs have length of zero, the train’s
travelling time can be divided into travelling time on the nodes along the taken path. On
the constructed graph G= (V, E) a path P is defined as a sequence of nodes n
1
,n
4
,…,n
;
,
where n
1
is the origin and n
;
is the destination. Let T(P) be the function denoting the
minimum travelling time if the train takes path P. Then
T P=n
1
,n
4
,…,n
;
= T 𝑃 =n
?
@
.A1
Therefore to obtain the minimum travelling time along a path, we need to compute
the minimum travelling time within a single node. It is easy to compute T n
?
if we don’t
consider the trains’ dynamics. In other words, trains can reach any speed instantaneously
25
since deceleration/acceleration rates are infinite. Then the travelling time through each
segment is the ratio between the segment length and the speed limit. Therefore the
travelling time within one node is the sum of the travelling time through the segments
contained in this node. Suppose node n
?
contains δ
?
segments, whose distances are
𝑙
1
,𝑙
4
,…,𝑙
8
D
and speed limits are 𝑣
1
,𝑣
4
,…,𝑣
8
D
. Then the simple way to estimate T n
?
is
T n
?
=
𝑙
/
𝑣
/
F
D
/A1
However, the assumption of infinite deceleration/acceleration rates is too strong.
Hence, the estimation of the train’s travel time without considering the trains’ dynamics
leads to inaccurate results. Accordingly, the model cannot reflect the actual performance
of the railway network.
To make a better estimation of a train’s travel time, Lu et al. (2004) introduced trains’
dynamics to the model. Trains are assumed to have constant deceleration rates and
maximal acceleration rates. Given these assumptions, they derive the following equations
to compute the minimal travel time through a segment. Let the entering velocity, the
exiting velocity, the segment distance and the speed limit be 𝑣
GHIGJ
,𝑣
GK.I
,𝑙 and 𝑣
respectively and the acceleration (deceleration) rate be 𝑟
M
(𝑟
N
). Then the minimal travel
time t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 is:
1. If 𝑣
GHIGJ
≤𝑣
GK.I
≤𝑣,𝑣
GK.I
4
−𝑣
GHIGJ
4
=2𝑟
M
𝑙
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =
𝑣
GK.I
−𝑣
GHIGJ
𝑟
M
26
2. If 𝑣
GK.I
≤𝑣
GHIGJ
≤𝑣,𝑣
GHIGJ
4
−𝑣
GK.I
4
=2𝑟
N
𝑙
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =
𝑣
GHIGJ
−𝑣
GK.I
𝑟
N
3. If 𝑣
GK.I
≤𝑣, 𝑣
GHIGJ
≤𝑣,
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙,
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙,
J
R
S
TUDV
W
XJ
Y
S
TZVT[
W
X4J
R
J
Y
\
J
R
XJ
Y
≤𝑣
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =−
𝑣
GHIGJ
𝑟
M
−
𝑣
GK.I
𝑟
N
+(
1
𝑟
M
+
1
𝑟
N
)
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
4. If 𝑣
GK.I
≤𝑣, 𝑣
GHIGJ
≤𝑣,
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙,
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙,
J
R
S
TUDV
W
XJ
Y
S
TZVT[
W
X4J
R
J
Y
\
J
R
XJ
Y
>𝑣
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =
𝑣−𝑣
GHIGJ
𝑟
M
+
𝑣−𝑣
GK.I
𝑟
N
+
1
𝑣
(𝑙−
𝑣
4
−𝑣
GHIGJ
4
2𝑟
M
−
𝑣
4
−𝑣
GK.I
4
2𝑟
N
)
5. Otherwise
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =+∞
In the first scenario, the train keeps accelerating from 𝑣
GHIGJ
to 𝑣
GK.I
while in the
second scenario the train keeps decelerating from 𝑣
GHIGJ
to 𝑣
GK.I
. In the third scenario,
the train first accelerates from 𝑣
GHIGJ
to a velocity, which is no more than the speed limit,
and then decelerates to 𝑣
GK.I
. In the fourth scenario, the train accelerates from 𝑣
GHIGJ
to
the speed limit, and then travels at a constant speed, which is the speed limit, and then
decelerates from the speed limit to 𝑣
GK.I
. Otherwise, the given 𝑣
GHIGJ
,𝑣
GK.I
,𝑙 and 𝑣 are
infeasible, which implies the travel time should be infinity. Also we can get the following
corollary immediately.
27
Corollary 3.1 t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 <+∞ holds if and only if
𝑣
GK.I
≤𝑣, 𝑣
GHIGJ
≤𝑣,
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙,
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙.
After introducing the equations to obtain the travel time through a single segment, Lu
et al. (2004) proposed a velocity augmenting algorithm to compute the minimum travel
time through several segments with different speed limits. Given the starting velocity,
ending velocity, speed limits and segment lengths, the velocity augmenting algorithm can
determine the velocity at the end of each segment, and then obtain the minimum travel
time in O(𝜌
4
), where 𝜌 is the number of segments.
In the model introduced above, a train’s movement is determined by its route and
entering velocities at nodes along its route. Notice that for two consecutive nodes the
exiting velocity for the preceding node is equal to the entering velocity for the succeeding
node. It is difficult to make the optimal decision on the route and the entering velocities
jointly. Thus, Lu et al. (2004) separated these decisions by ensuring that a train can stop
within each node it travels through. This can be achieved by the following two ways:
1. Make one node’s distance long enough
2. Make a train’s entering velocities low enough
Since the second way will slow down trains (if node distances are small), Lu et al. (2004)
constructed the network so that the distance of each node is long enough for trains to stop
within each node. Then within each node a train’s movement decision is made to indicate
28
the exiting velocity of the current node. Notice that if the train needs to stop within the
current node in order to avoid collision or deadlock, the existing velocity of the current
node should be zero. Otherwise the exiting velocity can be determined through the
velocity augmenting algorithm mentioned above.
3.1.2 Dynamic Headway Model Representation
The model above can model a train’s movement accurately. However the constraint
that each node should be long enough for trains to stop within each node makes the
network representation not very efficient since the capacity for each node is set to one. In
other words, the succeeding train cannot enter the next node until the preceding train
leaves. Therefore the headway between two consecutive trains is at least a node’s
distance. Also notice that the headway is controlled by a node’s distance for all trains,
which implies that this model can only provide “fixed” headway. We show a new
reformulation for “dynamic” headway, i.e. the headway between two consecutive trains is
dependent on the two trains’ types and velocities.
Similar to the previous model, the railway track is divided into small segments. Then
a network G = (V, E) is constructed where each node in G corresponds to one segment
and each arc in G corresponds to one connection between two segments. Notice that one
arc may or may not correspond to a junction in the railway network. Then a train’s
29
movement through the railway network can be modelled as movement through the
constructed network G. Again we set the capacity of each node to be one, i.e. there can be
at most one train within each node at any time. Then the headway is modeled as all the
available nodes between two consecutive trains.
Different from the previous model, we do not constrain each node’s length. The
smaller each node’s length is, the finer our discretization and approximation for the
headway is. On the other hand, the number of nodes in the constructed network will
increase as the nodes’ length decrease. Therefore in practice we keep the nodes’ length
moderately small, for example a quarter of the nodes’ length of the previous model. Also
we do not enforce a train must stop within its current node. Otherwise the entering
velocities must be small enough and therefore trains may never reach the speed limit.
Therefore a certain number of nodes ahead of each train must be assigned to it before the
train can enter the current node. We call these assigned nodes to a train as its dynamic
headway. Dynamic headway should be long enough in order for the corresponding train
to come to a full stop without collision.
The dynamic headway is categorized into two types. In the first scenario, there is no
preceding train within the focal train’s braking distance. Then the dynamic headway is no
shorter than the braking distance. Let the focal train’s velocity be 𝑣 and its maximal
deceleration rate be 𝑟
N1
. Then the dynamic headway distance 𝐻
d
is:
30
𝐻
d
≥
𝑣
4
2𝑟
N1
In the second scenario, the succeeding train’s dynamic headway works as buffer
between the two consecutive trains. Let the preceding train’s velocity be µμ, its maximal
deceleration rate be 𝑟
N4
and the response time for the preceding train be ∆t
1
. Then the
dynamic headway distance 𝐻
d
should be long enough to avoid collision, i.e.
𝐻
d
+
𝜇
4
2𝑟
N4
≥
𝑣
4
2𝑟
N1
+∆t
1
∗𝑣
Thus,
𝐻
d
≥
𝑣
4
2𝑟
N1
+∆t
1
∗𝑣−
𝜇
4
2𝑟
N4
3.1.3 Optimization Model
To take advantage of the PTC technology, each node length is small so that one train
can occupy several nodes at the same time. Also each train can occupy some nodes ahead
of it as a buffer between it and its preceding train. These nodes are defined to be
“headway nodes”. Since the headway nodes need to be determined by the trains’
velocities and deceleration/acceleration rates, the number and the length of headway
nodes vary as the trains are traveling through the network. We name it as dynamic
headway control. The train scheduling problem for dynamic headway control seeks a path
for each train, control each train’s velocity along the path and assign headway nodes in an
efficient way. We now present a mathematical formulation for this problem.
31
For the optimization model formulation, we make three simplifying assumptions.
1. All the nodes in the network have the same length.
2. The length of each train is a multiple of a node length.
3. All headway nodes work as braking distance.
Notice that when we present the heuristics in section 3.2, we relax these
assumptions.
Parameters
𝐺 =(𝑉,𝐸) a directed network representing the railway system, 𝑉 is
the node set and 𝐸 is the arc set
𝐾 the train set
𝑠
8
the origin node for train k
𝑑
8
the destination node for train k
𝑁
8
the ratio between the length of train k and the node length
𝑣
.8
the speed limit on the node 𝑖 for train k
𝑙
m
the length of each node
Γ
.8
(𝑣
GHIGJ
,𝑣
GK.I
,𝑣
o
) the traveling time of train k through node 𝑖 as a function
of the arrival velocity 𝑣
GHIGJ
, departure velocity 𝑣
GK.I
and
the maximal limit 𝑣
o
BR
8
(𝑣) the braking distance for train k traveling at the velocity 𝑣
32
𝛿
.8
=
−1
if
𝑖 =𝑠
8
1
if
𝑖 =𝑑
8
0
otherwise
M a sufficient large number
𝑊
}
the set of paths containing L nodes in G
𝐿
@MK
the maximal number of nodes one train can occupy at any
time
Notice (1) Γ
.8
(𝑣
GHIGJ
,𝑣
GK.I
,𝑣
o
) and BR
8
(𝑣) are general functions for the traveling
time and the braking distance. We can treat the functions introduced in section 3.1.1 and
3.1.2 as a special case. Formally, under the assumption of constant
deceleration/acceleration rates, we have
Γ
.8
𝑣
GHIGJ
,𝑣
GK.I
,𝑣
o
=𝑡(𝑣
GHIGJ
,𝑣
GK.I
,𝑙
m
,𝑣′)
and
BR
8
𝑣 =
S
W
4J
Y
,
where 𝑟
8N
is the deceleration rate for train 𝑘 . (2) 𝐿
@MK
is the maximal number of
occupied nodes, including the headway nodes. One reasonable way to set 𝐿
@MK
is
𝐿
@MK
=2max
8∈
𝑁
8
,
which assumes that the total length of the headway nodes is no longer than the train
length.
Variables
𝑓
./8
=
1
𝑖𝑓
𝑡𝑟𝑎𝑖𝑛
𝑘
𝑡𝑟𝑎𝑣𝑒𝑙𝑠
𝑓𝑟𝑜𝑚
𝑛𝑜𝑑𝑒
𝑖
to
node
𝑗
0
otherwise
33
𝑃
.
.
W
….
,8
=
1
𝑖𝑓
𝑡𝑟𝑎𝑖𝑛
𝑘
𝑡𝑎𝑘𝑒𝑠
𝑡ℎ𝑒
𝑝𝑎𝑡ℎ
𝑖
1
,𝑖
4
,…,𝑖
}
∈W
0
otherwise
𝑦
./8
=
1
if
the
next
headway
node
is
𝑗when
the
head
of
train
k
enters
node
𝑖
0
otherwise
𝑣
.8
the arrival velocity when the head of train k enters into node 𝑖
𝑣
.8
o
the maximal velocity train 𝑘 can travel when the head of train k is
within node 𝑖
𝑡
.8
the arrival time when the head of train k enters into node 𝑖
𝑡
.8
d
the departure time when the tail of train k leaves node 𝑖
𝑡
.8
the arrival time when the train occupies node 𝑖 for the first time
𝑥
8
8
W
.
=
1
if
train
𝑘
1
occupies
node
i
before
train
𝑘
4
0
otherwise
Notice that 𝑣
.8
o
is different from 𝑣
.8
since train 𝑘 must travel under all the speed
limits for its physically seized nodes. The path variables 𝑃
.
.
W
….
,8
and 𝑣
.8
are needed to
determine 𝑣
.8
o
.
Formulation
Minimize (𝑡
N
8
−𝑡
8
)
8∈
Subject to
− 𝑓
./8
/: .,/ ∈
+ 𝑓
/.8
/: /,. ∈
= 𝛿
.8
∀𝑘 ∈ 𝐾,∀
𝑖
𝜖
𝑉
(1)
𝑃
.,8
= 𝑓
𝑖𝑗𝑘
𝑗:(𝑖,𝑗)∈𝐸
∀𝑘 ∈ 𝐾,∀
𝑖
𝜖
𝑉
(2)
𝑃
.
.
W
….
,8
= 𝑓
𝑖
𝑙
𝑖
𝑙+1
𝑘
𝐿−1
𝑙=1
∀𝑘 ∈ 𝐾,∀ 𝑖
1
,𝑖
2
,…,𝑖
𝐿
∈ 𝑊
𝐿
,∀𝐿 = 2,…,𝐿
𝑚𝑎𝑥
(3)
𝑣
8
= 0
∀𝑘 ∈ 𝐾
(4)
34
𝑣
N
8
= 0
∀𝑘 ∈ 𝐾
(5)
𝑓
./8
/: .,/ ∈
𝑡
/8
−
𝑡
.8
= Γ
?£
𝑣
.8
, 𝑓
./8
/: .,/ ∈
𝑣
/8
,𝑣
.8
o
∀𝑘 ∈ 𝐾,∀
𝑖 ∈ 𝑉
(6)
𝑃
.
.
W
….
,8
𝑣
.
8
.
.
W
….
∈¥
:
.
A.
≥ 𝑣
.8
o
∀𝑘 ∈ 𝐾,∀
𝑖 ∈ 𝑉,∀𝐿 = 1,2,…,𝑁
8
+1
(7)
𝑃
.
§
.
….
¨
©
,8
𝑡
.
§
8
d
.
§
.
….
¨
©
∈¥
¨
©W
:
.
¨
©
A.
= 𝑡
.8
∀𝑘 ∈ 𝐾,∀
𝑖 ∈ 𝑉
(8)
𝑦
./8
𝑡
/8
/∈«
≤ 𝑡
.8
∀𝑘 ∈ 𝐾,∀𝑖 ∈ 𝑉
(9)
𝑓
./8
𝑡
/8
/∈«
≥ 𝑡
.8
∀𝑘 ∈ 𝐾,∀𝑖 ∈ 𝑉
(10)
1−𝑃
.,8
𝑀 ≥ 1− 𝑦
./8
/∈«
∀𝑘 ∈ 𝐾,∀𝑖 ∈ 𝑉
(11)
𝑦
./8
/∈«
≤ 1
∀𝑘 ∈ 𝐾,∀
𝑖 ∈ 𝑉
(12)
1−𝑦
./8
𝑀 ≥ 2−𝑃
.,8
−𝑃
/,8
∀𝑘 ∈ 𝐾,∀𝑖,𝑗 ∈ 𝑉
(13)
𝐿
𝑃
.
.
W
….
,8
𝑦
./8
𝑙
m
.
.
W
….
∈¥
:
.
A.,.
A/
}
®RU
}A1 /∈«
≥
𝐵𝑅
8
𝑣
.8
∀𝑘 ∈ 𝐾,∀
𝑖 ∈ 𝑉
(14)
1−x
8
8
W
.
𝑀
+𝑡
.8
W
≥ 𝑡
.8
d
∀𝑘
1
,𝑘
4
∈ 𝐾,∀
𝑖 ∈ 𝑉
(15)
2−𝑃
.,8
−𝑃
.,8
W
𝑀
≥ 1−𝑥
8
8
W
.
−𝑥
8
W
8
.
∀𝑘
1
,𝑘
4
∈ 𝐾,∀
𝑖 ∈ 𝑉
(16)
𝑥
8
8
W
.
+𝑥
8
W
8
.
≤ 1
∀𝑘
1
,𝑘
4
∈ 𝐾,∀𝑖 ∈ 𝑉
(17)
𝑡
.8
≤
𝑡
.8
d
∀𝑘 ∈ 𝐾,∀𝑖 ∈ 𝑉
(18)
𝑡
.8
≤𝑡
.8
∀𝑘 ∈ 𝐾,∀𝑖 ∈ 𝑉
(19)
𝑥
8
8
W
.
∈ 0,1
∀𝑘
1
,𝑘
2
∈ 𝐾,∀𝑖 ∈ 𝑉
(20)
𝑓
./8
,𝑦
./8
∈ 0,1
∀𝑘 ∈ 𝐾,∀𝑖,𝑗 ∈ 𝑉
(21)
𝑃
.
.
W
….
,8
∈ 0,1
∀𝑘 ∈ 𝐾,∀ 𝑖
1
,𝑖
2
,…,𝑖
𝐿
∈ 𝑊
𝐿
,∀𝐿 = 1,…,𝐿
𝑚𝑎𝑥
(22)
35
𝑣
.8
,𝑣
.8
o
,𝑡
.8
,𝑡
.8
d
,𝑡
.8
∈ℛ
X
∀𝑘 ∈ 𝐾,∀𝑖 ∈ 𝑉
(23)
The objective is to minimize the total travel time for all the trains. Constraint (1)
ensures the flow conservation for each train. And constraints (2) and (3) give the
relationship between 𝑓
./8
and 𝑃
.
.
W
….
,8
. Notice 𝑃
.
.
W
….
,8
is introduced to cope with the
fact that one train can seize multiple nodes at the same time. Constraints (4) and (5)
specify the initial velocity at the origin node and the final velocity at the destination node
for each train must be zero.
Constraints (6) and (7) deal with the travel time across a node. In constraint (6),
𝑓
./8 /: .,/ ∈
𝑡
/8
is the time when the train head exits from node 𝑖 (i.e. the train head enters
the next node) and 𝑓
./8 /: .,/ ∈
𝑣
/8
is the exiting velocity for the train head. Thus,
constraint (6) ensures the travel time across the node 𝑖 is based on the given function Γ
.8
,
where 𝑣
.8
o
is the maximal velocity without violating the speed limits when the train head
is within node 𝑖. Constraint (7) sets 𝑣
.8
o
to be the minimum of all the speed limits for the
nodes the train physically seizes, where 𝑃
.
.
W
….
,8
𝑣
.
8 .
.
W
….
∈¥
:
.
A.
is the speed limit for
the 𝐿
I²
node away from node 𝑖
}
(node 𝑖). For example, when 𝐿 =𝑁
8
+1, node 𝑖
³
X1
is
node 𝑖 as shown in Figure 2. Then constraint (7) becomes 𝑣
.
8
≥𝑣
.8
o
, i.e. when the train
head is within node 𝑖
³
X1
, it must travel under 𝑣
.
8
, the speed limit of node 𝑖
1
.
36
Figure 2 Speed Limit, Departure and Arrival Time
𝑖
m
𝑖
1
𝑖
4
… 𝑖
³
𝑖
³
X1
= 𝑖
Constraint (8) specifies the relationship between the train tail’s departure time and
the train head’s arrival time. Recall that we made the assumption that the train length is a
multiple of the node length 𝑙
m
. So the arrival time to the next node (𝑖
³
X1
) is equal to the
departure time from the last node (𝑖
m
) the train physically seizes, as shown in Figure 2.
Notice that the length of the path (𝑖
m
,𝑖
1
,…,𝑖
³
X1
) is 𝑁
8
+2.
Constraints (9)-(14) deal with the choice of the headway nodes. 𝑦
./8
𝑡
/8
/∈«
is the
time when a train occupies a new node as its headway node for the first time. So
constraint (9) ensures that a train can only occupy a new headway node when its head
enters into a new node (node 𝑖). Given the path, a train needs to occupy the headway
nodes along the path in its sequence, which is satisfied by (10). Constraints (11) and (12)
reveal the relationship between 𝑃
.,8
and 𝑦
./8
. If train ktravels through node 𝑖 ( 𝑃
.,8
=1),
then a headway decision should be made at node 𝑖 ( 𝑦
./8 /∈«
=1). Conversely, if a
headway decision is made at node 𝑖 (𝑦
./8
=1), both 𝑖 and 𝑗 should be visited by train k
(𝑃
.,8
+𝑃
/,8
=2), which is validated in (13). Constraint (14) ensures that the headway is
long enough for trains to come to a full stop, where
Train k
37
𝐿
𝑃
.
.
W
….
,8
𝑦
./8
𝑙
m .
.
W
….
∈¥
:
.
A.,.
A/
}
®RU
}A1 /∈«
is the total length of all the headway nodes, as
indicated in Figure 3.
Figure 3 Braking Distance
𝑖
1
= 𝑖
𝑖
4
… 𝑖
}
= 𝑗
Constraints (15)-(17) deal with the scheduling problem when multiple trains travel
through the same network. Constraint (15) ensures that one node can only be occupied as
a headway node only if no other trains occupy it. Constraints (16) and (17) specify that if
two trains try to visit one node (𝑃
.8
+𝑃
.8
W
=2), they should visit this node in sequence
(𝑥
8
8
W
.
+𝑥
8
W
8
.
=1).
Constraints (18) and (19) state that the three events: occupied as a headway node
(𝑡
.8
), train arrival (𝑡
.8
) and train departure (𝑡
.8
d
) must occur in sequence. Finally,
constraints (20)-(23) specify the domain of the decision variables.
From the formulation above, the train scheduling problem for dynamic headway control
is a Mixed Integer Programming problem with nonlinear constraints. It makes this
problem difficult to solve, especially when the network is large. Instead of solving this
problem exactly and directly using the formulation, we (1) consider the problem of
Train k
headway nodes
38
scheduling each train iteratively, i.e., route a new train from its origin to its destination
given the other trains’ schedules and (2) decompose the entire problem into three sub
problems based on the decision variables and the decision variables are classified into
three types: headway decision (𝑦
./8
), velocity decision (𝑣
.8
) and routing and scheduling
decision (𝑓
./8
,𝑃
.
.
W
….
,8
,𝑡
.8
). In section 3.2, we present a heuristic approach to deal with
the headway decision and velocity decision.
3.2 Heuristics for Dynamic Headway
In this section, we present our solution procedure for the velocity and headway
decisions for dynamic headway control. In general, the procedure provides a dynamic
control scheme for headway control. Decisions are made at certain points (at the
beginning of each segment). We call them decision points. When a train reaches a
decision point, the solution procedure is applied to obtain the velocity at the next decision
point and the corresponding travel time. Notice that the following decisions need to be
made to determine the train’s movement in the dynamic headway model:
1. Routing decision, i.e. the choice of the next headway node if there is more than
one candidate
2. Headway decision, i.e. the number of new headway nodes a train needs to occupy
3. Velocity decision, i.e. the velocity at the next decision point
39
For simplicity, in this section we focus on the last two problems. For the first
decision, we assume a greedy routing algorithm, that is, we route to the next headway
node which has the highest speed limit. We first determine the number of headway nodes
we need and then calculate the velocity at the next decision point based on the new
headway information. In Chapter 4, we focus on the routing decision.
3.2.1 Headway Decision
We describe a simulation approach for modelling and solving the headway decision.
Based on the headway, each train will be assigned several nodes ahead of it in the
simulation model. When the train moves towards the next headway node, the simulation
model will determine whether new headway nodes are needed and assign them to the
train if necessary. Moreover, the exiting velocity of the next headway node needs to be
calculated. In summary the simulation works as follows:
1. When a train enters into the first node of its schedule, it is assigned several nodes
to serve as the headway between it and its preceding train.
2. When a train enters into the first headway node (nearest node to the train in the
headway nodes), the routing algorithm will be called to determine the headway nodes if
40
needed. Also the exiting velocity of the first headway node will be calculated. Then the
train will be routed to the end of the first headway node according to the exiting velocity.
3. When the last headway node (farthest node to the train in the headway nodes)
reaches the end node of the schedule. The train is routed to a full stop at the end node
according to minimal travel time.
Notice that whenever new headway nodes are added, they must not cause deadlock.
(According to Lu et. al (2004), a typical deadlock situation occurs when two trains
running in the opposite direction are routed to nodes representing the same single-track
line simultaneously.) Also when there are many choices for the new headway nodes,
which are all deadlock free, good decisions need to be made. A deadlock free routing
heuristic together with appropriate choice of exiting velocities will be discussed in the
next section.
We now show an example to illustrate the difference between the headway control in
the previous simulation model and the new dynamic headway control. In the previous
simulation model (fixed headway), a train needs to decelerate to a full stop if the train
finds the next node is held by other trains. The following graph demonstrates how
dynamic headway works against the previous model. In Figure 4 when train 1 enters
Node A, it prepares to decelerate to avoid entering Node B which is occupied by train 2.
Figure 5 shows the logic behind the dynamic headway schema for the same track
41
configuration. Train 1 pre-occupies Node 1 and Node 2 (in other words, train 1 seizes
Node 1 and Node 2 even before it physically enters into them). When train 1 enters Node
1, the routing algorithm is called and Node 3 is added to train 1’s pre-occupied nodes.
Therefore train 1 does not need to decelerate when traveling within Node 1.
Figure 4 Fixed Headway Model
Figure 5 Dynamic Headway Model
The headway decision problem is used to determine the number of headway nodes to
seize given the current velocity at a decision point. Formally, when a train reaches the
beginning of node 𝑛
m
, its velocity is 𝑣 and its currently seized headway nodes are
{𝑛
m
,𝑛
1
,…,𝑛
µ
§
¶1
}, where 𝑄
m
is the number of headway nodes. We name node 𝑛
m
as the
current node. If the next headway node candidate is 𝑛
µ
§
and suppose that the speed limit
Train 1
Node A Node B
Train 2
Train 1
Node 1 Node 2 Node 3 Node 4
Train 2
pre-occupied nodes
42
for node 𝑛
.
is 𝑣
.
(i=0, 1, …, 𝑄
m
), the problem is to decide whether to add 𝑛
µ
§
as the new
headway node so that the train can travel as fast as possible. Actually after adding 𝑛
µ
§
to
the headway nodes, we can still ask whether to add 𝑛
µ
§
X1
as the next headway node. It
turns out that we can sequentially add new headway nodes until the headway is “long
enough”. Therefore the headway decision problem is to determine how many new
headway nodes are needed.
With “long enough” headway, in a scenario where new headway nodes are not
needed, a train can reach the speed limit at some certain node and then can still come to a
full stop within the headway nodes. However if the train can only reach the speed limit at
the current node, it might travel under the speed limit when existing the current node.
Thus, the train can travel faster within the current node given more headway nodes.
Therefore we define the headway to be “long enough” if the train can reach the speed
limit outside the current node.
Figure 6 Headway Decision
Speed limit
Current speed
Speed
Node 1 Node 2 Node 3
Node 4
A
Line 1
Line 2
Line 3
Location
Train
43
A simple example is given in Figure 6 to illustrate the concept of “long enough”
headway, where we plot the train’s travel speed at different track segment locations.
Suppose all nodes share the same speed limit. A train just reaches a decision point (the
beginning of node 1) and occupies node 1 and node 2 as the current headway nodes. If
node 3 is not available and there are no trains traveling ahead of it in the same direction,
the train will decelerate as shown in line 1 to ensure that the train can stop before it
reaches node 3. If node 3 is available, we can seize node 3 and the train will move as in
line 2. Even though the speed limit is reached within node 1, at point A which is at the
end of node 1, the train must travel under the speed limit in order to ensure that it can
stop at the end of node 3. If the train seizes another headway node (node 4), it will move
along as in line 3 and can travel at the maximum speed for a longer stretch of time.
Therefore nodes 1, 2, 3 and 4 together are “long enough” since the train can get to the
speed limit at node 2, which is not the current node.
As comparison to the fixed headway control rules, if we modeled nodes 1 to node 4 as a
single node in the simulation model, we would be able to ensure that this train would
travel at its maximum speed for a longer stretch of time, but this would come at the
expense of the fact that this track segment would be held by this train longer than
necessary, thus needlessly reducing system capacity.
44
3.2.2 Velocity Decision
Recall that in section 3.1.2 we introduce two different types of headway: the first
type of headway works as braking distance and the second type of headway works as
buffer distance between two consecutive trains. We show two methods of obtaining the
velocity at the end of the current node accordingly. We first consider the scenario where
the headway works as the braking distance, i.e. there are no preceding trains.
Since we make the decision dynamically, only the velocity at the end of the current
node needs to be determined, and then the train travels through the current node. Given
the current node 𝑛
m
and the current velocity 𝑣
m
, to minimize the travel time within the
current node, we want to maximize the velocity at the end of the current node since the
function t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 given in section 3.1.1 decreases as 𝑣
GK.I
increases. Let 𝑣
1
∗
be
the optimal exiting speed of the train head from node 𝑛
m
, i.e. the optimal entering speed
to node 𝑛
1
. Suppose after making the headway decision, the headway nodes are
𝑛
1
,𝑛
4
,…,𝑛
µ
, so the number of seized headway nodes is 𝑄. Let the velocity at the
beginning of node 𝑖 be 𝑣
.
(𝑖 =1,…,𝑄) and let the velocity at the end of node 𝑛
µ
be
𝑣
µX1
. Consider a sequence of problems indexed by 𝛽 (𝛽
=1,…,𝑄):
max
𝑣
º
s.t.
t 𝑣
.
,𝑣
.X1
,𝑙
.
,𝑣
.
<+∞
∀𝑖 =𝛽,…,𝑄
𝑣
.
≤
𝑣
.
∀𝑖 =𝛽,…,𝑄
45
𝑣
µX1
=0
The 𝛽
I²
problem solves the maximal velocity at the beginning of node 𝑛
º
so that the
train can stop at the end of node 𝑛
µ
. The first constraint makes it feasible for a train to
travel through node 𝑖 at a velocity of 𝑣
.
at the beginning of the node to a velocity of 𝑣
.X1
at the end of the node (𝑖 =𝛽,…,𝑄).
Let 𝑣
º
be the optimal value for the 𝛽
I²
problem (𝛽 =1,…,𝑄). Intuitively, the above
sequence of problems recursively solve for 𝑣
1
when the train is at the beginning of node
𝑛
1
. The 𝛽
I²
problem can take advantage of the optimal value obtained by the (𝛽+1)
I²
problem instead of solving the 𝛽
I²
problem explicitly. From t 𝑣
.
,𝑣
.X1
,𝑠
.
,𝑙
.
<+∞
,we
know 𝑣
.
≤ 𝑣
.X1
4
+2
𝑟
M
𝑙
.
. So we have ∀
𝛽 =1,…,𝑄
𝑣
º
≤ 𝑣
ºX1
4
+2
𝑟
M
𝑙
º
≤
𝑣
ºX1
4
+2
𝑟
M
𝑙
º
where 𝑣
ºX1
is the velocity at the beginning of 𝑛
ºX1
given by the optimal solution for
the 𝛽
I²
problem. The second inequality holds since 𝑣
ºX1
also gives a feasible solution for
the (𝛽+1)
I²
problem, which implies 𝑣
ºX1
≤𝑣
ºX1
Therefore
𝑣
º
=min 𝑣
º
, 𝑣
ºX1
4
+2
𝑟
M
𝑙
º
∀
𝛽 =1,…,𝑄
So we can obtain 𝑣
1
backwards by first obtaining 𝑣
µ
, and then applying the above
equation recursively until we arrive at 𝛽 =1.
Finally, we also need to take the travel procedure within node 𝑛
1
into consideration.
46
To satisfy t 𝑣
m
,𝑣
1
,𝑙
1
,𝑣
1
<+∞, we need to take the minimal of 𝑣
m
4
+2
𝑟
M
𝑙
1
and 𝑣
1
.
Therefore the maximal feasible velocity 𝑣
1
∗
at the end of the next node should be
𝑣
1
∗
=min
{𝑣
1
, 𝑣
m
4
+2
𝑟
M
𝑙
1
}
Then we consider the other scenario where the headway works as buffer distance
between two successive trains. Again let the current headway nodes be 𝑛
1
,𝑛
4
,…,𝑛
µ
and
node 𝑛
µX1
is occupied by the preceding train which travels in the same direction. Let the
current velocity of the preceding train be 𝜇. Then we can obtain the potential maximal
velocity 𝑣
1
at the beginning of node 𝑛
1
as follows:
𝑙
.
µ
.A1
=
𝑣
1
4
2𝑟
N1
+∆t
1
∗𝑣
1
−
𝜇
4
2𝑟
N4
where ∆t
1
is the response time for the succeeding train, 𝑟
N1
and 𝑟
N4
are the
deceleration rates for the succeeding and preceding trains respectively.
However 𝑣
1
obtained by the equation above may not be accurate. When the
succeeding train travels 𝑙
.
µ
.A1
+
¼
W
4J
YW
, it may stop within some node which is occupied
by the preceding train. To obtain the maximal velocity 𝑣
1
∗
, let
𝑙
.
½
.AµX1
<
𝜇
4
2𝑟
N4
≤ 𝑙
.
½X1
.AµX1
where nodes 𝑛
µX1
,…,𝑛
½
are occupied by the preceding train (some of them are
physically occupied and others are headway nodes). Notice that 𝑅 can be uniquely
47
determined by the above inequalities, and therefore is dependent on 𝜇. So the maximal
velocity 𝑣
1
∗
at the beginning of node 𝑛
1
satisfies
𝑙
.
½
.A1
=
𝑣
1
∗
4
2𝑟
N1
+∆t
1
∗𝑣
1
∗
Thus,
𝑣
1
∗
=𝑟
N1
∗ ∆t
1
4
+
4
J
Y
∗ 𝑙
.
½
.A1
In summary, whenever a train enters into a node, two decisions will be made: how
many new headway nodes are needed (headway decision) and the exiting speed for the
current node (velocity decision). The train will seize these new headway nodes. And
given the speed limit for the current node and the train’s deceleration and acceleration
rates, we can calculate the minimal traveling time within the current node. This new
control policy is shown in Figure 7. The detailed steps are:
1. A train enters into a node, which is a previously seized headway node.
2. Is a new headway node available? If yes, go to 3. If no, go to 5.
3. Can the train reach the speed limit outside the current node given the current
headway nodes? If yes, go to 6. If no, go to 4.
4. Seize one new headway node. Go to 2.
5. Is the new headway node seized by a train traveling in the same direction? If yes,
48
go to 7. If no, go to 6.
6. Compute the exiting speed which can make the train stop within the current
headway, go to 8.
7. Compute the exiting speed which can avoid collision with the preceding train.
8. Route the train to the end of its current node, where the train reaches the exiting
speed.
Figure 7 Dynamic Headway Control
49
2) is a new
headway node
1)A train enters
into a node.
3) can train
reach speed
limit outside of
current node?
5) is there a
train ahead in
the same
direction?
yes
no
no
yes
6)compute exiting
speed (stop within
headway)
no
7)compute
exiting speed
(without
collision)
yes
8)Route the train to
the end of the
current node
4)seize one new
headway node
50
3.3 Experimental results
To evaluate the proposed dynamic headway model and solution procedure, we
present simulation experiments conducted on an actual railway network using the Arena
simulation software. The chosen railway network is from Downtown Los Angeles to
Pomona. Figure 8 illustrates the mileage between the stations. At the intermediate station
(EL Monte), there is a crossing for trains traveling in the north/south direction. Notice
that this figure only provides mileage information and does not show the actual railway
trackage configuration. The railway trackage configuration in this area consists of single-,
double- and triple- tracks.
Figure 8 Mileage Information
Also two types of trains (freight train and passenger train) are tested on this area. The
detailed information about these two types of trains can be found in Table 1.
Table 1 Characteristics of the Passenger and Freight Trains
Length
(feet)
Max speed
(feet/min)
Acceleration
rate (feet/min**2)
Deceleration
rate (feet/min**2)
Downtown Los Angeles
El Monte
Pomona
11.58
miles 18.15
miles
51
Freight 6000 6160 1584 1584
Passenger 1000 6952 2112 2112
We compared our dynamic headway modeling approach with the constant headway
approach. The average node length in the constant headway model is 1.63 miles while in
the dynamic headway model we tested the scenarios with average lengths of 0.83 and
0.55 miles, respectively.
3.3.1 One-Direction Dispatching
We first tested the scenario with all trains travelling in the same direction (westbound
from Pomona to Downtown Los Angeles) and with no crossing trains at the El Monte
station. The simulation results are shown in Table 2. In the experiments, the number of
trains is evenly divided between passenger and freight trains. For example, in the row
with number of trains per day is 10 in Table 2, the arrival rate in the simulation is 5 per
day for freight trains and 5 per day for passenger trains. The arrival process of both
freight trains and passenger trains were assumed to follow a Poisson Process.
Table 2 Average Delay (Measured in Minutes) for the Different Approaches
Number
of trains per
day
Constant
headway method with
average node length of
Dynamic
headway method with
average node length of
Dynamic
headway method with
average node length
52
1.63 miles 0.83 miles 0.55 of miles
10 0.40 0.44 0.42
20 0.86 0.67 0.69
40 1.94 1.76 1.59
60 3.07 3.04 2.64
80 4.55 4.73 3.83
100 6.45 7.20 5.33
150 15.28 23.10 11.86
170 28.08 88.36 16.15
The delay is measured as the difference between the actual travel time and the free
travel time (i.e., the traveling time of the train when there are no other trains in the
network). Since in the above example, all the trains are travelling in the same direction
there are only two types of delay. The first type is at the beginning of the rail network
where the first node (in the constant headway model) or set of nodes representing the
headway (in the dynamic approach) is already occupied by a train so the new train cannot
seize the track. The second type of delay is when a fast train (passenger) catches up with
a slow train (freight).
From the above results, we can conclude:
1. In all cases, the average delay increases nonlinearly with increasing train arrivals.
However, using a constant headway approach, the rail network is fully saturated when
53
there are around 200 trains so we only range the number of up to 170. And if a dynamic
headway approach is used the rail network capacity will be around 250 trains per day.
2. The dynamic headway approach with a smaller node size (0.55 miles)
significantly outperforms the constant headway method when there is congestion in the
network (the number of trains is large).
3. The dynamic headway approach provides lower average delay if we construct a
network with a smaller node size. Since the railway system is represented as a node-arc
discretized network, a smaller discretization of the network more closely represents the
actual continuous process of train movement.
4. Sometimes the dynamic headway approach with a larger node size performs
slightly worse than the constant headway method because in the dynamic headway
approach we greedily seize headway nodes until a train reaches its maximal speed. If
each node is relatively large, the trains may seize more railway track resources than
necessary to ensure a safe headway when seizing the last headway node.
3.3.2 Bi-Direction Dispatching
We then tested the scenarios with trains traveling in both directions (eastbound from
Downtown to Pomona and westbound from Pomona to Downtown). The results are
54
shown in Table 3. In this case, the average train count per day is equally divided by each
direction and type. Thus, for the row with 10 trains per day, the average number of freight
trains travelling from Downtown Los Angeles to Pomona is 2.5. With trains travelling in
both directions there are more chances for delay due to conflict with trains moving in
opposing direction.
Table 3 Average Delay (Measured in Minutes) for Bi-Direction Dispatching
Number
of trains per
day
Constant headway
method with average
node length of 1.63
miles
Dynamic headway
method with average
node length of 0.83
miles
Dynamic headway
method with average
node length of 0.55
miles
10 1.40 1.15 1.21
20 2.87 2.78 2.74
40 5.49 5.29 5.27
60 9.42 8.91 8.85
80 13.29 12.80 12.69
100 20.68 17.37 16.90
150 55.44 43.72 32.02
From the above results, we can conclude:
1. Compared to the results when all the trains are traveling in the same direction, the
average delay for trains traveling in both directions becomes larger no matter which
method we use because there are more chances for conflict and congestion.
55
2. In general, the dynamic headway approach, even with a larger node size, performs
much better than the constant headway method. The dynamic headway method has a
smaller node size than the constant headway method and it can assign the smaller
resources more efficiently to trains.
3.3.3 Bi-Direction Dispatching with Crossing
Finally we tested a scenario with a crossing at EL Monte. This time we only compare
the conventional method and the new method with an average node length of 0.55 miles.
The results are shown in Table 4. Numbers in the horizontal line denote the number of
trains traveling northbound and southbound crossing EL Monte while numbers in the
vertical line denote the number of trains traveling eastbound and westbound between
Downtown and Pomona.
Table 4 Average Delay for Eastbound and Westbound Trains in Constant
Headway Approach
N/S # trains
E/W # trains
40 80 120
10 3.12 4.81 7.60
20 4.31 6.73 10.16
40 7.77 10.83 14.94
56
60 12.10 16.71 22.30
80 18.05 24.47 34.25
100 26.82 38.01 69.74
With a crossing at EL Monte, the network capacity drops to less than 150 for the
constant headway method. So we range the number of trains from 10 to 100. In contrast,
the network capacity for the dynamic headway method is around 150 per day. Compared
to the results when there are no crossing trains at El Monte, the average delay of
eastbound and westbound trains is much larger due to the interference of southbound and
northbound trains.
Table 5 represents the ratios between the eastbound and westbound trains’ average
delay for the dynamic headway method and the eastbound and westbound trains’ average
delay for the constant headway method.
Table 5 Average Delay Ratio for Dynamic Headway Approach and Constant
Headway Approach
N/S # trains
E/W # trains
40 80 120
10 1.02 1.11 1.24
20 1.05 1.14 1.14
40 0.94 1.02 1.10
60 0.93 0.95 1.00
57
80 0.87 0.90 0.90
100 0.78 0.74 0.60
Notice that the measure here is the average delay for the trains traveling in the
eastbound and westbound directions. It can be seen sometimes when the number of trains
traveling eastbound and westbound is smaller than the number of trains traveling
northbound and southbound, the dynamic headway method is slightly worse than the
constant headway method (the ratio is greater than 1). Since in this scenario the number
of northbound and southbound trains is greater than the number of eastbound and
westbound trains, in the dynamic headway approach the average delay for the northbound
and southbound trains is given more weight than the eastbound and westbound trains in
allocating the track resources at the junction. Therefore the dynamic headway approach is
trying to decrease the overall delay, not just delay for the trains traveling eastbound and
westbound. However, as the congestion increases the dynamic headway approach begins
to significantly outperform the constant headway approach for the eastbound and
westbound trains.
3.4 Summary
In this chapter we present an optimization model for the train scheduling and routing
58
problem under dynamic headway control. Due to the computational challenge of solving
the integrated problem, we decompose the problem into headway control, velocity
control and train routing problem. Heuristic algorithms are proposed to solve the
headway control and velocity control problem and experiments are also conducted to
compare the proposed approach to the standard approach.
59
4 Routing for Double Track Configuration
As shown in the previous chapter, it is computationally difficult to solve the entire
train scheduling and routing problem and obtain the exact optimal solution, especially
when the size of the railway network becomes large. We developed a decomposition
scheme to divide the entire problem into three decision making problems: headway
decision, velocity decision and route decision. The first two decision problems are
investigated in detail together with a simple greedy heuristic for the route decision in the
previous chapter. In this chapter, we study the train routing decision.
We focus on the single line double track railway system, which is very common in
many real track networks. In a single line double track railway system, train stations and
junctions along a single line are connected by a double track and trains can switch to the
other track only at each train station or junction. We call the railway track between two
consecutive junction points a segment. Even though its configuration is simple, the nature
of the routing problem persists and many conclusions and results for the double track
system can also be applied to other railway systems, such as single track with sidings,
triple track rail systems or even a more general rail network.
In section 4.1 we consider the problem of routing a single train through an empty rail
network. The routing decision is which track of the double track segment (i.e., upper or
60
lower) should the train travel on for each segment between adjacent junctions. This is not
a trivial decision since even for this rail configuration the upper and lower tracks may
differ in length and speed limits. We first show this problem is NP-hard and then present
special conditions on the problem parameters where the problem is polynomial time
solvable. We then present a dynamic programming formulation of the problem for
general problem parameters for the discretized version of the problem and present some
experimental results showing the performance of the dynamic programming formulation
as function of the discrete step size. In section 4.2 we extend the problem to the
scheduling of multiple trains using an iterative method.
4.1 Single Train Routing
In this section, we give a formal statement of the problem of routing a single train
through an empty rail network with the objective of minimizing the total travel time.
Given a constant acceleration rate 𝑟
M
and deceleration rate 𝑟
N
, an origin node 𝑠 and a
destination node 𝑑 in the network, and a starting velocity 𝑣
and an ending velocity 𝑣
N
,
we want to find a path from 𝑠 to 𝑑 with the least travel time such that the train’s starting
velocity at node 𝑠 is 𝑣
and the ending velocity at node 𝑑 is 𝑣
N
. For simplicity we don’t
consider the train’s length, i.e. treat each train as a point.
This problem is similar to the shortest path problem since the network is empty.
61
However, the transit time over one segment is dependent on the train’s velocities
(
t(𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣) in the previous chapter).
With the starting velocity and the ending velocity both equal to 0, the Single Train
Routing Problem gives a solution for the problem of finding a path for a train from its
origin station to its destination station. We are interested in a general form with a nonzero
starting velocity and ending velocity because we are interested in routing a train when it
reaches some arbitrary point in the rail network. Thus, these results can be generalized
when considering multiple trains in the network and the routing decision is made at some
conflict point and is done iteratively with one train at a time. .
Since there are no other trains in the railway network, the Single Train Routing
Problem with the starting velocity and ending velocity both equal to 0 is similar to the
exact pathing problem considered in Nagarajan and Ranade (2008), where some
segments in the network are occupied by other trains for certain periods of time and the
objective is to route a new train through the network without affecting the other trains’
schedule. Even though the Single Train Routing Problem with zero starting velocity and
zero ending velocity is a special case of the problem considered in Nagarajan and
Ranade (2008), we show that the problem is stll computationally difficult to solve as
shown in the next section.
Since the transit time over an arc is dependent on the velocity, we name this type of
62
problem as a state dependent shortest path problem. In the problem of our interest, the
state is the velocity. Notice that the well-known time dependent shortest path problem is a
special case of the state dependent shortest path problem. In most models for the time
dependent shortest path problem, the transit time over an arc is positive. Therefore the
“states” along the nodes in a path is monotonically increasing. In contrast, for the Single
Train Routing Problem the “states” along the nodes in a path are velocities at these nodes,
which may either decrease or increase.
4.1.1 Computational Complexity of Single Train Routing Problem
The decision problem for the Single Train Routing Problem is:
Given the constant acceleration rate 𝑟
M
and deceleration rate 𝑟
N
, the origin node 𝑠 and
the destination node 𝑑 in the network, and the starting velocity 𝑣
and the ending velocity
𝑣
N
, does there exist a path from 𝑠 to 𝑑 with the travel time less than a given value 𝑡 such
that the train’s starting velocity at node 𝑠 is 𝑣
and the ending velocity at node 𝑑 is 𝑣
N
?
Section 4.1.1.1 uses a linear programming formulation to show that the decision
problem above is in NP, i.e. it only takes polynomial time to check whether a given path
is actually a solution to the decision problem. And section 4.1.1.2 shows that the Single
Train Routing Problem is NP-hard. Therefore the decision problem for the Single Train
Routing Problem is NP-complete since it is in NP and is NP-hard.
63
4.1.1.1 Linear Programming Formulation for the Fixed Path Problem
Given a path, if we can get its travel time in polynomial time then we can tell
whether this given path is a solution to the decision problem. Therefore in order to show
that the decision problem is in NP, we need to show that it only takes polynomial time to
compute the travel time for a given path. If the acceleration rate and deceleration rate are
infinity, we can obtain the travel time in linear time by simply summing up the travel
time for different segments. With finite acceleration rate and deceleration rate, we need to
compute the velocities at the beginning and the end of each segment to determine the
travel time. Lu et al. (2004) provided a polynomial time algorithm to compute the travel
time. Here we provide another way using a linear programming formulation. Even though
for one single path the computational complexity of the linear programming formulation
may be worse than the method given by Lu et al. (2004), the linear programming
formulation provides a systematic perspective for the problem such that it is more robust
to the parameters and provides more information when we want to solve a new problem.
For example, in the double track railway system we are given a solution for a certain path
and we want to compute the optimal travel time if only one segment is switched to
another track. Then we can take advantage of the sensitive analysis of the linear
64
programming model to tell when the current solution is still optimal for the new path.
And if it is not optimal, in the simplex procedures we can start with the basis
corresponding to the current solution to achieve the optimal basis for the new path. In
contrast, the method in Lu et al. (2004) has to treat the new path as a completely new
problem and recalculate the optimal velocities at junction points even though most of
them may stay the same.
Assume the given path consists of k segments where the length is 𝑙
.
and the speed
limit is 𝑣
.
for the 𝑖
I²
segment. The acceleration rate and deceleration rate for the train are
𝑟
M
and 𝑟
N
respectively. The starting velocity is 𝑣
and the ending velocity is 𝑣
G
.
Then a direct and simple formulation for the problem is
min
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.
,𝑣
.
8
.A1
(1)
𝑣
m
=𝑣
(2)
𝑣
8
=𝑣
G
(3)
𝑣
.
≤min 𝑣
.
,𝑣
.X1
∀𝑖 =1,…,𝑘−1 (4)
where 𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.
,𝑣
.
is the travel time over an arc defined in section 3.1.1 and 𝑣
.
is the
velocity at the end of the 𝑖
I²
segment.
The drawbacks of this formulation are
• the constraints on the decision variables are implicit since 𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.
,𝑣
.
is
defined as positive infinity when the decision variables are infeasible.
65
• the objective function, even within the feasible region, i.e. when
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.
,𝑣
.
<+∞, is still nonlinear.
Our linear programming formulation is based on the intuition that the velocities 𝑣
.
(𝑖 =1,…,𝑘−1) are as large as possible in order to obtain the least travel time. In order
to show that the intuition is correct, we first prove a lemma.
Lemma 4.1 The function 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 , when it is finite, is a decreasing function of
𝑣
GHIGJ
and 𝑣
GK.I
, an increasing function of 𝑙 and a non increasing function of 𝑣.
Proof: When 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 <+∞, 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 has two forms as follows:
1. If 𝑣
GK.I
≤𝑣, 𝑣
GHIGJ
≤𝑣,
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙,
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙,
J
R
S
TUDV
W
XJ
Y
S
TZVT[
W
X4J
R
J
Y
\
J
R
XJ
Y
≤𝑣
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =−
𝑣
GHIGJ
𝑟
M
−
𝑣
GK.I
𝑟
N
+(
1
𝑟
M
+
1
𝑟
N
)
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
∂t
∂v
ÀÁÂÀÃ
=
1
𝑟
M
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
¶1/4
(𝑣
GHIGJ
−
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
)
∂t
∂v
ÀÅ?Â
=
1
𝑟
N
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
¶
1
4
𝑣
GK.I
−
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
66
∂t
∂l
=
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
¶1/4
∂t
∂𝑣
=
0
Since
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙, we have
𝑣
GHIGJ
4
≤
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
i.e.
𝑣
GHIGJ
≤
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
which implies
ÇÂ
ÇÈ
ÉÊËÉÌ
≤0. And
ÇÂ
ÇÈ
ÉÊËÉÌ
=0 only if
𝑣
GHIGJ
4
−𝑣
GK.I
4
=2𝑟
N
𝑙.
Similarly from
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙, we have
𝑣
GK.I
≤
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
which implies
ÇÂ
ÇÈ
ÉÍÎË
≤0. And
ÇÂ
ÇÈ
ÉÍÎË
=0 only if
𝑣
GK.I
4
−𝑣
GHIGJ
4
=2𝑟
M
𝑙. And obviously in
this case we have
ÇÂ
ÇÏ
>0 and
ÇÂ
ÇS
≤0.
2. If 𝑣
GK.I
≤𝑣, 𝑣
GHIGJ
≤𝑣,
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙,
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙,
J
R
S
TUDV
W
XJ
Y
S
TZVT[
W
X4J
R
J
Y
\
J
R
XJ
Y
>𝑣
t 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 =
𝑣−𝑣
GHIGJ
𝑟
M
+
𝑣−𝑣
GK.I
𝑟
N
+
1
𝑣
(𝑙−
𝑣
4
−𝑣
GHIGJ
4
2𝑟
M
−
𝑣
4
−𝑣
GK.I
4
2𝑟
N
)
67
∂t
∂v
ÀÁÂÀÃ
=
𝑣
GHIGJ
−𝑣
𝑟
M
∗𝑣
∂t
∂v
ÀÅ?Â
=
𝑣
GK.I
−𝑣
𝑟
N
∗𝑣
∂t
∂l
=
1
𝑣
∂t
∂𝑣
=
1
2𝑟
M
+
1
2𝑟
N
−
1
𝑣
4
(𝑙+
𝑣
GHIGJ
4
2𝑟
M
+
𝑣
GK.I
4
2𝑟
N
)
We have
ÇÂ
ÇÈ
ÉÊËÉÌ
≤0. And
ÇÂ
ÇÈ
ÉÊËÉÌ
=0 only if 𝑣
GHIGJ
=
𝑣. Similarly we have
ÇÂ
ÇÈ
ÉÍÎË
≤
0. And
ÇÂ
ÇÈ
ÉÍÎË
=0 only if 𝑣
GK.I
=
𝑣. And obviously we have
ÇÂ
ÇÏ
>0.
From
J
R
S
TUDV
W
XJ
Y
S
TZVT[
W
X4J
R
J
Y
\
J
R
XJ
Y
>𝑣, we have
∂t
∂𝑣
=
1
2𝑟
M
+
1
2𝑟
N
1
𝑣
4
𝑣
4
−
𝑟
M
𝑣
GK.I
4
+𝑟
N
𝑣
GHIGJ
4
+2𝑟
M
𝑟
N
𝑙
𝑟
M
+𝑟
N
<0
Since 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 is a continuous function when it is finite, and from both
cases we have
ÇÂ
ÇÈ
ÉÊËÉÌ
≤0
(
ÇÂ
ÇÈ
ÉÊËÉÌ
=0 only at finite points),
ÇÂ
ÇÈ
ÉÍÎË
≤0
(
ÇÂ
ÇÈ
ÉÍÎË
=0 only at
finite points),
ÇÂ
ÇÏ
>0 and
ÇÂ
ÇS
≤0 Therefore 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 is a decreasing function of
𝑣
GHIGJ
and 𝑣
GK.I
,an increasing function of 𝑙 and a non increasing function of 𝑣.□
Corollary 4.1 If 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 <+∞, then we have
𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 ≥max
(
𝑣
GHIGJ
−𝑣
GK.I
𝑟
N
,
𝑣
GK.I
−𝑣
GHIGJ
𝑟
M
)
68
Proof: From Corollary 3.1 we know 𝑣
GK.I
4
−𝑣
GHIGJ
4
≤2𝑟
M
𝑙 and 𝑣
GHIGJ
4
−𝑣
GK.I
4
≤2𝑟
N
𝑙.
If 𝑣
GHIGJ
≥𝑣
GK.I
, Let 𝑙
o
=
S
TZVT[
W
¶S
TUDV
W
4J
Y
≤𝑙. From Lemma 4.1 we have
𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 ≥𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙
o
,𝑣 =
𝑣
GHIGJ
−𝑣
GK.I
𝑟
N
We also have 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 >0≥
S
TUDV
¶S
TZVT[
J
R
. So the claim is true.
If 𝑣
GK.I
≥𝑣
GHIGJ
, Let 𝑙
o
=
S
TUDV
W
¶S
TZVT[
W
4J
R
≤𝑙. From Lemma 4.1 we have
𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 ≥𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙
o
,𝑣 =
𝑣
GK.I
−𝑣
GHIGJ
𝑟
M
We also have 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 >0≥
S
TZVT[
¶S
TUDV
J
Y
. So the claim is true. □
We are now ready to show that our intuition is correct, i.e. the velocities 𝑣
.
(𝑖 =
1,…,𝑘−1) are as large as possible in order to obtain the least travel time.
Proposition 4.1 If 𝑢
.
(𝑖 =0,…,𝑘) is the optimal solution for problem (1)-(4), then for
any feasible solution for (1)-(4) 𝑣
.
𝑖 =0,…,𝑘 , we have 𝑢
.
≥𝑣
.
∀𝑖 =0,…,𝑘.
Proof: We show this proposition by contradiction. Suppose ∃
𝑗 ∈{1,…,𝑘−1} such that
𝑢
/
<𝑣
/
. We consider the solution formed by replacing 𝑢
/
with 𝑣
/
, i.e.
(𝑢
m
,…,𝑢
/¶1
,𝑣
/
,𝑢
/X1
…,𝑢
8
).
If the constructed solution is feasible, i.e. 𝑡 𝑢
/¶1
,𝑣
/
,𝑙
/
,𝑣
/
<+∞ and
𝑡 𝑣
/
,𝑢
/X1
,𝑙
/X1
,𝑣
/X1
<+∞. From Lemma 4.1 and 𝑢
/
<𝑣
/
, we have
69
𝑡 𝑣
/
,𝑢
/X1
,𝑙
/X1
,𝑣
/X1
<
𝑡 𝑢
/
,𝑢
/X1
,𝑙
/X1
,𝑣
/X1
𝑡 𝑢
/¶1
,𝑣
/
,𝑙
/X1
,𝑣
/X1
<
𝑡 𝑢
/¶1
,𝑢
/
,𝑙
/X1
,𝑣
/X1
which implies that (𝑢
m
,…,𝑢
/¶1
,𝑣
/
,𝑢
/X1
…,𝑢
8
) is a strictly better solution than
(𝑢
m
,…,𝑢
8
). It is a contradiction to the fact that 𝑢
.
(𝑖 =1,…,𝑘) is the optimal solution.
Therefore (𝑢
m
,…,𝑢
/¶1
,𝑣
/
,𝑢
/X1
…,𝑢
8
) is an infeasible solution.
If 𝑡 𝑢
/¶1
,𝑣
/
,𝑙
/
,𝑣
/
=+∞, from Corollary 3.1 either 𝑣
/
4
−𝑢
/¶1
4
>2𝑟
M
𝑙
/
or 𝑢
/¶1
4
−
𝑣
/
4
>2𝑟
N
𝑙
/
holds. Since 𝑢
/¶1
4
−𝑣
/
4
≤𝑢
/¶1
4
−𝑢
/
4
≤2𝑟
N
𝑙
/
is valid, we have
𝑣
/
4
−𝑢
/¶1
4
>2𝑟
M
𝑙
/
(5)
Since (𝑣
m
,…,𝑣
8
) is a feasible solution, we have
𝑣
/
4
−𝑣
/¶1
4
≤2𝑟
M
𝑙
/
<𝑣
/
4
−𝑢
/¶1
4
which implies that 𝑢
/¶1
<𝑣
/¶1
. We can continue this argument from 𝑢
/¶1
<𝑣
/¶1
to
𝑢
/¶4
<𝑣
/¶4
until (5) is not satisfied i.e. ∃𝑗
m
∈{1,2,…,𝑗}
𝑠.𝑡.
𝑣
/
§
4
−𝑢
/
§
¶1
4
≤2𝑟
M
𝑙
/
§
. (The
existence of 𝑗
m
is guaranteed due to the fact that 𝑣
1
4
−𝑢
m
4
=𝑣
1
4
−𝑣
m
4
≤2𝑟
M
𝑙
1
).
Similarly if 𝑡 𝑣
/
,𝑢
/X1
,𝑙
/X1
,𝑣
/X1
=+∞, from Corollary 3.1 either 𝑢
/X1
4
−𝑣
/
4
>
2𝑟
M
𝑙
/X1
or 𝑣
/
4
−𝑢
/X1
4
>2𝑟
N
𝑙
/
holds. Since 𝑢
/X1
4
−𝑣
/
4
≤𝑢
/X1
4
−𝑢
/
4
≤2𝑟
M
𝑙
/X1
is valid, we
have
𝑣
/
4
−𝑢
/X1
4
>2𝑟
N
𝑙
/X1
(6)
Since (𝑣
m
,…,𝑣
8
) is a feasible solution, we have
𝑣
/
4
−𝑣
/X1
4
≤2𝑟
N
𝑙
/X1
<𝑣
/
4
−𝑢
/X1
4
70
which implies that 𝑢
/X1
<𝑣
/X1
. We can continue this argument from 𝑢
/X1
<𝑣
/X1
to
𝑢
/X4
<𝑣
/X4
until (6) is not satisfied i.e. ∃𝑗
1
∈{𝑗,𝑗+1,…,𝑘−1}𝑣
/
4
−𝑢
/
X1
4
≤2𝑟
N
𝑙
/
X1
.
(The existence of 𝑗
1
is guaranteed due to the fact that 𝑣
8¶1
4
−𝑢
8
4
=𝑣
8¶1
4
−𝑣
8
4
≤2𝑟
N
𝑙
8
).
Thus the solution (𝑢
m
,…,𝑢
/
§
¶1
,𝑣
/
§
,…,𝑣
/
,𝑢
/
X1
,…,𝑢
8
) is feasible. Also we have
𝑢
.
<𝑣
.
∀𝑖 ∈{𝑗
m
,…,𝑗
1
}. From Lemma 4.1 we know 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 is a decreasing
function of 𝑣
GHIGJ
and 𝑣
GK.I
. Therefore the total travel time for the solution
(𝑢
m
,…,𝑢
/
§
¶1
,𝑣
/
§
,…,𝑣
/
,𝑢
/
X1
,…,𝑢
8
) is strictly less than the travel time for (𝑢
m
,…,𝑢
8
),
which contradicts the fact that (𝑢
m
,…,𝑢
8
) is the optimal solution for problem (1)-(4).□
Consider the formulation as follows:
min
𝑣
.
4 8
.Am
(7)
𝑣
m
4
=𝑣
4
(8)
𝑣
8
4
=𝑣
G
4
(9)
𝑣
.
4
≤min 𝑣
.
4
,𝑣
.X1
4
∀
𝑖 =1,…,𝑘−1 (10)
𝑣
.
4
−𝑣
.¶1
4
≤2𝑟
M
𝑙
.
∀𝑖 =1,…,𝑘 (11)
𝑣
.¶1
4
−𝑣
.
4
≤2𝑟
N
𝑙
.
∀𝑖 =1,…,𝑘 (12)
In order to show (7)-(11) can give the same solution as (1)-(4), we need to prove
some propositions first.
Proposition 4.2: If the optimal solution for problem (7)-(12) is 𝑣
.
∗
𝑖 =0,…,𝑘 , then
𝑣
.
∗
= 𝑣
.
∗4
(𝑖 =0,…,𝑘) is also the optimal solution for problem (1)-(4).
71
Proof: Without loss of generality, we assume 𝑣
.
∗
≥0. First we show the feasibility of
𝑣
.
∗
𝑖 =0,…,𝑘 for problem (1)-(4). Constraints (2)-(4) are the same as constraints (8)-
(10). From Corollary 3.1 and constraints (10)-(12) we have
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.
,𝑣
.
<
+∞
∀𝑖 ∈{1,…,𝑘}
Therefore 𝑣
.
∗
𝑖 =0,…,𝑘 is a feasible solution for problem (1)-(4).
We now show the optimality of 𝑣
.
∗
𝑖 =0,…,𝑘 for problem (1)-(4). Suppose 𝑢
.
(𝑖 =
0,…,𝑘) is the optimal solution for problem (1)-(4). From Proposition 4.1 we know that
𝑢
.
≥𝑣
.
∗
∀𝑖 =0,…,𝑘
On the other hand, 𝑢
.
(𝑖 =1,…,𝑘) is also a feasible solution for problem (7)-(12). So
𝑣
.
∗4
8
.Am
≤ 𝑢
.
4
8
.Am
≤ 𝑣
.
∗4
8
.Am
where the first inequality is due to the optimality of of 𝑣
.
∗
𝑖 =0,…,𝑘 for problem (7)-
(12) and the second inequality is due to 𝑢
.
≥𝑣
.
∗
∀𝑖 =0,…,𝑘. Therefore we have
𝑢
.
=𝑣
.
∗
∀𝑖 =0,…,𝑘□
If we take 𝑥
.
=𝑣
.
4
(𝑖 =0,…,𝑘), then problem (7)-(12) becomes the following
linear programming model.
min
𝑥
.
8
.Am
(13)
𝑥
m
=𝑣
4
(14)
𝑥
8
=𝑣
G
4
(15)
𝑥
.
≤min 𝑣
.
4
,𝑣
.X1
4
∀
𝑖 =1,…,𝑘−1 (16)
72
𝑥
.
−𝑥
.¶1
≤2𝑟
M
𝑙
.
∀𝑖 =1,…,𝑘 (17)
𝑥
.¶1
−𝑥
.
≤2𝑟
N
𝑙
.
∀𝑖 =1,…,𝑘 (18)
𝑥
.
≥0
∀𝑖 =0,…,𝑘 (19)
Since it only takes polynomial time to solve a linear programming problem, the Single
Train Routing Problem for the double track railway system is in NP.
4.1.1.2 NP-hardness of the Single Train Routing Problem
Nagarajan and Ranade (2008) showed a more constrained version of the Single Train
Routing Problem (i.e., with some pre-scheduled trains in the network) is NP-hard. In this
section we show our Single Train Routing Problem where there are no other trains in the
network is also NP-hard.
Proposition 4.3 The Single Train Routing Problem is NP-hard.
Proof: We show that the Subset Sum problem, which is known to be NP-complete, is
polynomial reducible to the Single Train Routing Problem. The Subset Sum Problem is
defined as follows:
Given a set of positive integers 𝐶 ={𝑎
m
, 𝑎
1
,…,𝑎
@¶1
} and a positive target integer A,
does there exists a subset 𝑆 ⊂{0,…,𝑚−1} such that 𝑎
. .∈Ö
=𝐴?
73
Given an instance of a Subset Sum Problem, we construct a corresponding Single
Train Routing Problem instance as follows: consider the following network with m+1
nodes and 2m arcs. We index the nodes by 𝑛
m
,𝑛
1
,…,𝑛
@
. ∀
𝑖 =1,…,𝑚, there aretwo arcs
between 𝑛
.¶1
and 𝑛
.
. The upper arc has length of one and the lower arc has length of 1+
𝑎
.
.
Figure 9 Railway Configuration
Also we set
𝑟
M
=𝑟
N
=0.5
𝑣
= 𝑚+𝐴
,𝑣
G
=0
The speed limit for each arc is big enough so that the train can never reach its speed
limit. For example we can set the speed limit for each arc to be 3𝑚+𝐴+ 𝑎
.
@¶1
.Am
,
which the train can only reach if it travels through all the arcs in the network and keep
accelerating starting from 𝑣
.
First we show that if the Subset Sum Problem has a solution, i.e. ∃
𝑆 ⊂{0,…,𝑚−
1} such that 𝑎
. .∈Ö
=𝐴, the optimal travel time for the corresponding Single Train
…
𝑛
m
𝑛
1
𝑛
@¶1
𝑛
@
𝑛
4
1+𝑎
m
1+𝑎
1
1+𝑎
@¶1
1 1 1
74
Routing Problem is 2 𝑚+𝐴. From node 𝑛
.
to node 𝑛
.X1
(𝑖 =0,…,𝑚−1) we pick the
upper arc, i.e. the one with length of one, if 𝑖 ∉𝑆 and pick the lower arc, i.e. the one with
length of 1+𝑎
.
, if 𝑖 ∈𝑆. Then the path consisting of all the picked arcs has a length of
𝑚+ 𝑎
.
.∈Ö
=𝑚+𝐴
which is just enough for the train to decelerate from 𝑣
to 𝑣
G
since
𝑣
4
−𝑣
G
4
=2𝑟
N
(𝑚+𝐴)
Now we show this picked path is the optimal solution for the Single Train Routing
Problem. For any other path whose length is less than 𝑚+𝐴, it is not enough for the
train to decelerate from 𝑣
to 𝑣
G
, which implies its infeasibility. Then we consider any
other path whose length is greater than 𝑚+𝐴. Since the speed limit for each arc is the
same, we can view a path as an arc and use 𝑡(𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣) to compute the travel
time. From Lemma 4.1 we know 𝑡(𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣) is a decreasing function of the travel
length. So compared to the picked path, it always takes more time to travel through a path
with length greater than 𝑚+𝐴. Therefore the picked path is the optimal solution for the
constructed instance of the Single Train Routing Problem.
Then we consider the scenario when the given instance of the Subset Sum Problem
has no solution, i.e. ∀
𝑆 ⊂{0,…,𝑚−1}, 𝑎
. .∈Ö
≠𝐴. From Corollary 4.1, the optimal
time for the corresponding Single Train Routing Problem will be no less than
S
Ú
¶S
T
J
Y
=
2 𝑚+𝐴. By the same logic we showed above, the optimal path for the corresponding
75
Single Train Routing Problem has length greater than 𝑚+𝐴 (feasibility) and its length
is closet to 𝑚+𝐴 (optimality) among all feasible paths.
In summary, if we can solve the Single Train Routing Problem in polynomial time,
then the Subset Sum Problem can be solved in polynomial time. Therefore the Single
Train Routing Problem is NP-hard. □
4.1.2 Solution Properties
Even though we showed that the Single Train Routing Problem is NP-hard, in this section
we investigate the properties of the optimal solution and provide conditions on which the
problem can be solved in polynomial time.
Suppose there are m+1 junction points and they can be train stations or simply
railway junctions where trains can switch to another track. We denote the junction points
by 𝑛
m
,𝑛
1
,…𝑛
@
. Let the length and speed limit for the upper track between node 𝑛
.¶1
and node 𝑛
.
(𝑖 =1,…,𝑚) be 𝑙
.1
and 𝑣
.1
respectively. And the length and speed limit for
the corresponding lower track are 𝑙
.4
and 𝑣
.4
respectively.
If 𝑙
.1
=𝑙
.4
for some 𝑖, the optimal path will always pick the track with the higher
speed limit for the 𝑖
I²
segment no matter which track it picks for the other segments since
𝑡(𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣) is a non-increasing function of the speed limit. So we only consider
the scenario when 𝑙
.1
≠𝑙
.4
. Without loss of generality, we assume 𝑙
.1
>𝑙
.4
(∀𝑖 =
76
1,…𝑚).
Intuitively, the optimal path has the incentive to select the track with shorter distance
and higher speed limit to reduce the travel time. It takes less time to travel through a
shorter distance and a higher speed limit enables the train to accelerate to a higher
velocity. However in order to accelerate to a higher velocity to take advantage of the
higher speed limit, a longer distance is needed for the acceleration. Therefore the two
conditions, shorter distance and higher speed limit, are opposing each other in some way.
Therefore our first claim is on the condition 𝑣
.1
≤𝑣
.4
, but we need a lemma before we
give this statement.
Let 𝑝
8
denote the subpath starting from the beginning of the first segment to the end
of the 𝑘
I²
segment, i.e. 𝑝
8
=(𝑙
1
,…,𝑙
8
,𝑣
1
,…,𝑣
8
)(𝑘 =1,…,𝑚), where the length of the
𝑖
I²
segment in the subpath is 𝑙
.
and the speed limit for the 𝑖
I²
segment in the subpath is 𝑣
.
for 𝑖 =1,…,𝑘.Note that when 𝑘 =𝑚
, 𝑝
@
gives the complete path. Let 𝑞
8
denote the
subpath starting from the beginning of the 𝑘
I²
segment to the end of the 𝑚
I²
segment,
i.e. 𝑞
8
= 𝑙
8
,…,𝑙
@
,𝑣
8
,…,𝑣
@
. 𝑘 =1,…,𝑚 .
Note that when 𝑘 =1 , 𝑞
1
gives the
complete path and is equivalent to 𝑝
@
. Let 𝑇(𝑣
,𝑣
G
,𝑝
8
) be the minimum travel time
through path 𝑝
8
starting with velocity of 𝑣
and ending up with a velocity of 𝑣
G
. Also
take
𝑝
8
o
=(𝑙
1
,…,𝑙
8
o
,𝑣
1
,…,𝑣
8
) and 𝑞
8
o
=(𝑙
8
o
,…,𝑙
@
,𝑣
8
,…,𝑣
@
).
The following lemma will provide the lower bound and the upper bound for the
77
travel time if the starting velocity or the exiting velocity changes. In order to achieve the
lower bound and the upper bound, we also need to prove the intuition that the travel time
will be raised if the length of the last piece of track (or the first piece of track) is
extended.
Lemma 4.2 Given 𝑙
@
o
>𝑙
@
, then we have:
If 𝑇 0,𝑣
G
,𝑝
@
<+ ∞, then ∀𝑣 ∈[0,𝑣
G
) we have
𝑇 0,𝑣
G
,𝑝
@
<𝑇 0,𝑣,𝑝
@
<𝑇 0,𝑣
G
,𝑝
@
+
S
T
¶S
J
Y
(20)
𝑇 0,𝑣
G
,𝑝
@
<𝑇 0,𝑣
G
,𝑝
@
o
<+ ∞ (21)
If 𝑇 𝑣
,0,𝑞
1
<+ ∞, then ∀𝑣 ∈[0,𝑣
) we have
𝑇 𝑣
,0,𝑞
1
<𝑇 𝑣,0,𝑞
1
<𝑇 𝑣
,0,𝑞
1
+
S
Ú
¶S
J
R
(22)
𝑇 𝑣
,0,𝑞
1
<𝑇 𝑣
,0,𝑞
1
o
<+ ∞ (23)
Proof: We first prove (20) and (21) by induction.
First we consider the scenario when 𝑚 =1. Since
𝑇 0,𝑣
G
,𝑝
1
<+ ∞, from Lemma
3.1 we have 𝑣
G
4
≤2𝑟
M
𝑙
1
. So 𝑣
4
≤𝑣
4
≤2𝑟
M
𝑙
1
, which implies 𝑇 0,𝑣,𝑝
1
<+ ∞. And
𝑣
G
4
≤2𝑟
M
𝑙
1
≤2𝑟
M
𝑙
1
o
, which implies 𝑇 0,𝑣
G
,𝑝
1
o
<+ ∞. From Lemma 4.1 we know
𝑇 0,𝑣
G
,𝑝
1
<𝑇 0,𝑣,𝑝
1
and 𝑇 0,𝑣
G
,𝑝
1
=𝑡 0,𝑣
G
,𝑙
1
,𝑣
1
<𝑡 0,𝑣
G
,𝑙
1
o
,𝑣
1
=
𝑇 0,𝑣
G
,𝑝
1
o
. Now consider the scenario when 𝑙
1
o
=𝑙
1
+
S
T
W
¶S
W
4∗J
Y
. Let the train first travel
through 𝑙
1
distance from velocity 0 to velocity 𝑣
G
and for the rest
S
T
W
¶S
W
4∗J
Y
decelerate from
velocity 𝑣
G
to 𝑣. Since 𝑇 0,𝑣,𝑝
1
o
is the optimal travel time starting from velocity 0 to 𝑣
78
with distance 𝑙
1
o
, we have
𝑇 0,𝑣,𝑝
1
o
≤𝑇 0,𝑣
G
,𝑝
1
+
𝑣
G
−𝑣
𝑟
N
So 𝑇 0,𝑣
G
,𝑝
1
<𝑇 0,𝑣
G
,𝑝
1
o
≤𝑇 0,𝑣
G
,𝑝
1
+
S
T
¶S
J
Y
. Therefore (20) and (21) are valid
when m=1.
Assume the claim is true for m = k. We consider the scenario when 𝑚 =𝑘+1.
Since 𝑇 0,𝑣
G
,𝑝
8X1
<+ ∞, the corresponding problem (1)-(4) for this instance is
feasible. Let the optimal solution for the corresponding problem (1)-(4) be 𝑣
.
∗
(𝑖 =
0,…,𝑘+1). Since 𝑣
G
4
−
𝑣
8
∗4
≤2𝑟
M
𝑙
8X1
<2𝑟
M
𝑙
8X1
o
and 𝑣
8
∗4
−𝑣
G
4
≤2𝑟
N
𝑙
8X1
<
2𝑟
N
𝑙
8X1
o
, we have 𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
<+ ∞. So
𝑇 0,𝑣
G
,𝑝
8X1
o
≤𝑇 0,𝑣
8
∗
,𝑝
8
+𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
<+ ∞.
After changing the length of the 𝑘+1
I²
segment to 𝑙
8X1
o
(𝑙
8X1
o
>𝑙
8X1
), let the
optimal solution for the corresponding problem (1)-(4) be 𝑣
.
o∗
(𝑖 =0,…,𝑘+1). Then
𝑇 0,𝑣
G
,𝑝
8X1
=
𝑇 0,𝑣
8
∗
,𝑝
8
+𝑡(𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
)
𝑇 0,𝑣
G
,𝑝
8X1
o
=𝑇 0,𝑣
8
o∗
,𝑝
8
+𝑡(𝑣
8
o∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
)
If 𝑣
8
∗
≥𝑣
8
o∗
, 𝑇 0,𝑣
8
∗
,𝑝
8
≤𝑇(0,𝑣
8
o∗
,𝑝
8
) holds due to the assumption that (20) is true
for m = k. Also
𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
<𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
≤𝑡(𝑣
8
o∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
)
holds due to Lemma 4.1. So 𝑇 0,𝑣
G
,𝑝
8X1
<𝑇 0,𝑣
G
,𝑝
8X1
.
If 𝑣
8
∗
<𝑣
8
o∗
, 𝑇 0,𝑣
8
o∗
,𝑝
8
<𝑇 0,𝑣
8
∗
,𝑝
8
<𝑇 0,𝑣
8
o∗
,𝑝
8
+
S
Ý∗
¶S
∗
J
Y
holds due to the
79
assumption that (20) is true for m = k.
Also since 𝑇 0,𝑣
8
∗
,𝑝
8
<+∞,
∀𝑣 ∈(𝑣
8
∗
,𝑣
8
o∗
) we have 𝑇 0,𝑣,𝑝
8
<𝑇 0,𝑣
8
∗
,𝑝
8
<
+∞. From Proposition 4.1 we know 𝑣
8
∗
is the largest velocity among all the feasible
velocities at the end of the 𝑘
I²
segment, which implies 𝑣 is not a feasible velocity i.e.
𝑡 𝑣,𝑣
G
,𝑙
8X1
,𝑣
8X1
=
+∞. From 𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
<
+∞ and 𝑣,𝑣
G
,𝑙
8X1
,𝑣
8X1
=
+∞∀𝑣 ∈(𝑣
8
∗
,𝑣
8
o∗
), from Corollary 3.1 we know
𝑣
8
∗4
−𝑣
G
4
=2𝑟
N
𝑙
8X1
𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
=
𝑣
8
∗
−𝑣
G
𝑟
N
Also from Corollary 4.1, we have
𝑡 𝑣
8
o∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
≥
𝑣
8
o∗
−𝑣
G
𝑟
N
=𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
+
𝑣
8
o∗
−𝑣
8
∗
𝑟
N
i.e. 𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
≤𝑡 𝑣
8
o∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
−
S
Ý∗
¶S
∗
J
Y
. So
𝑇 0,𝑣
G
,𝑝
8X1
=𝑇 0,𝑣
8
∗
,𝑝
8
+𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
<𝑇 0,𝑣
8
o∗
,𝑝
8
+
𝑣
8
o∗
−𝑣
8
∗
𝑟
N
+𝑡 𝑣
8
o∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
−
𝑣
8
o∗
−𝑣
8
∗
𝑟
N
=𝑇 0,𝑣
8
o∗
,𝑝
8
+𝑡 𝑣
8
o∗
,𝑣
G
,𝑙
8X1
o
,𝑣
8X1
=𝑇 0,𝑣
G
,𝑝
8X1
o
∀𝑣 ∈[0,𝑣
G
], take 𝑙
8X1
o
=
𝑙
8X1
+
S
T
W
¶S
W
4J
Y
. We can break the 𝑘+1
I²
segment into
two pieces such that the length of the first piece is 𝑙
8X1
and that the length for the second
piece is
S
T
W
¶S
W
4J
Y
. So the path from the beginning of the first segment to the break point at
the 𝑘+1
I²
segment is exactly the same as the original path. Due to the optimality of
80
𝑇 0,𝑣,𝑝
8X1
o
, we have
𝑇 0,𝑣,𝑝
8X1
o
≤𝑇 0,𝑣
G
,𝑝
8X1
+
𝑣
G
−𝑣
𝑟
N
which implies
𝑇 0,𝑣,𝑝
8X1
<𝑇 0,𝑣,𝑝
8X1
o
≤𝑇 0,𝑣
G
,𝑝
8X1
+
𝑣
G
−𝑣
𝑟
N
Let 𝑣
8
o
satisfy 𝑇 0,𝑣,𝑝
8X1
=𝑇 0,𝑣
8
o
,𝑝
8
+𝑡(𝑣
8
o
,𝑣,𝑙
8X1
,𝑣
8X1
) , i.e. 𝑣
8
o
is the
optimal velocity at the end of the 𝑘
I²
segment when the train travels from the beginning
of the first segment at velocity 0 to the end of the 𝑘+1
I²
segment at velocity 𝑣.
If 𝑣
8
o
>𝑣
8
∗
, then 𝑣
G
4
−𝑣
8
o4
≤𝑣
G
4
−𝑣
8
∗4
≤2𝑟
M
𝑙
8X1
and 𝑣
8
o4
−𝑣
G
4
≤𝑣
8
o4
−𝑣
4
≤
2𝑟
N
𝑙
8X1
, which implies 𝑡 𝑣
8
o
,𝑣
G
,𝑙
8X1
,𝑣
8X1
<+∞. So 𝑣
8
o
is a feasible velocity at the end
of the 𝑘
I²
segment. However, from Proposition 4.1 we know 𝑣
8
∗
≥𝑣
8
o
, which is a
contradiction. So 𝑣
8
o
≤𝑣
8
∗
, and we have
𝑇 0,𝑣
G
,𝑝
8X1
=𝑇 0,𝑣
8
∗
,𝑝
8
+𝑡 𝑣
8
∗
,𝑣
G
,𝑙
8X1
,𝑣
8X1
<𝑇 0,𝑣
8
o
,𝑝
8
+𝑡 𝑣
8
o
,𝑣,𝑙
8X1
,𝑣
8X1
=𝑇
8X1
0,𝑣
Therefore (20) and (21) are valid when m = k+1.
In summary, ∀𝑚 ∈𝑁
X
𝑇 0,𝑣
G
,𝑝
@
<𝑇 0,𝑣,𝑝
@
<𝑇 0,𝑣
G
,𝑝
@
+
𝑣
G
−𝑣
𝑟
N
𝑇 0,𝑣
G
,𝑝
@
<𝑇 0,𝑣
G
,𝑝
@
o
<+ ∞
Using the same argument we can have that if 𝑇 𝑣
,0,𝑞
1
<+ ∞, then ∀𝑣 ∈[0,𝑣
)
81
we have
𝑇 𝑣
,0,𝑞
1
<𝑇 𝑣,0,𝑞
1
<𝑇 𝑣
,0,𝑞
1
+
𝑣
−𝑣
𝑟
M
𝑇 𝑣
,0,𝑞
1
<𝑇 𝑣
,0,𝑞
1
o
<+ ∞
□
Now we are ready to show our claim about the conditions 𝑙
.1
>𝑙
.4
and 𝑣
.1
≤𝑣
.4
.
Condition 1
𝑣
=𝑣
G
=0
Proposition 4.4 Under Condition 1 and the assumption 𝑙
.1
>𝑙
.4
, if 𝑣
.1
≤𝑣
.4
for some 𝑖,
the optimal path will always select the lower track for the 𝑖
I²
segment.
Proof: Suppose there is an optimal path picking the upper track for the 𝑖
I²
segment. Let
the optimal entering velocity into the 𝑖
I²
segment be 𝑣
.¶1
and the optimal exiting velocity
from the 𝑖
I²
segment be 𝑣
.
.
Suppose 𝑣
.
4
−𝑣
.¶1
4
≤2𝑟
M
𝑙
.4
and 𝑣
.¶1
4
−𝑣
.
4
≤2𝑟
N
𝑙
.4
, from Corollary 3.1 we know
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
<+∞. From Lemma 4.1 we know
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
<𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.4
≤𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
.
So
𝑇 0,𝑣
.¶1
,𝑝
.¶1
+𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
,0,𝑞
.X1
<
𝑇 0,𝑣
.¶1
,𝑝
.¶1
+𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
+𝑇(𝑣
.
,0,𝑞
.X1
)
where the RHS denotes the travel time for the optimal path and the LHS denotes the
travel time if we only switch to the lower track for the 𝑖
I²
segment and keep the rest of
82
the optimal path the same. This is a contradiction to the fact that the optimal path has
least travel time. Therefore 𝑣
.
4
−𝑣
.¶1
4
>2𝑟
M
𝑙
.4
or 𝑣
.¶1
4
−𝑣
.
4
>2𝑟
N
𝑙
.4
.
If 𝑣
.
4
−𝑣
.¶1
4
>2𝑟
M
𝑙
.4
, take 𝑣
.
o
= 𝑣
.¶1
4
+2𝑟
M
𝑙
.4
<𝑣
.
, then 𝑡 𝑣
.¶1
,𝑣
.
o
,𝑙
.4
,𝑣
.4
=
S
D
Ý
¶S
Dß
J
R
and from Corollary 4.1 we have
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
≥
𝑣
.
−𝑣
.¶1
𝑟
M
=𝑡 𝑣
.¶1
,𝑣
.
o
,𝑙
.4
,𝑣
.4
+
𝑣
.
−𝑣
.
o
𝑟
M
From Lemma 4.2 we have
𝑇 𝑣
.
o
,0,𝑞
.X1
<𝑇 𝑣
.
,0,𝑞
.X1
+
𝑣
.
−𝑣
.
o
𝑟
M
So
𝑇 0,𝑣
.¶1
,𝑝
.¶1
+𝑡 𝑣
.¶1
,𝑣
.
o
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
o
,0,𝑞
.X1
<𝑇 0,𝑣
.¶1
,𝑝
.¶1
+𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
−
𝑣
.
−𝑣
.
o
𝑟
M
+𝑇 𝑣
.
,0,𝑞
.X1
+
𝑣
.
−𝑣
.
o
𝑟
M
=𝑇 0,𝑣
.¶1
,𝑝
.¶1
+𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
+𝑇 𝑣
.
,0,𝑞
.X1
where the RHS denotes the travel time for the optimal path and the LHS denotes the
travel time if we only change the velocity at the end of the 𝑖
I²
segment from 𝑣
.
to 𝑣
.
o
and
keep the rest of the velocities the same. It contradicts the optimality of 𝑣
.
.
Similarly, if 𝑣
.¶1
4
−𝑣
.
4
>2𝑟
N
𝑙
.4
., take 𝑣
.¶1
o
= 𝑣
.
4
+2𝑟
N
𝑙
.4
<𝑣
.¶1
, then
𝑡 𝑣
.¶1
o
,𝑣
.
,𝑙
.4
,𝑣
.4
=
S
Dß
Ý
¶S
D
J
Y
and from Corollary 4.1 we have
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
≥
𝑣
.¶1
−𝑣
.
𝑟
N
=𝑡 𝑣
.¶1
o
,𝑣
.
,𝑙
.4
,𝑣
.4
+
𝑣
.¶1
−𝑣
.¶1
o
𝑟
N
From Lemma 4.2 we have
𝑇 0,𝑣
.¶1
o
,𝑝
.¶1
<𝑇 0,𝑣
.¶1
,𝑝
.¶1
+
𝑣
.¶1
−𝑣
.¶1
o
𝑟
N
83
So
𝑇 0,𝑣
.¶1
o
,𝑝
.¶1
+𝑡 𝑣
.¶1
o
,𝑣
.
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
,0,𝑞
.X1
<𝑇 0,𝑣
.¶1
,𝑝
.¶1
+
𝑣
.¶1
−𝑣
.¶1
o
𝑟
M
+𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
−
𝑣
.¶1
−𝑣
.¶1
o
𝑟
M
+𝑇 𝑣
.
,0,𝑞
.X1
=𝑇 0,𝑣
.¶1
,𝑝
.¶1
+𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
+𝑇 𝑣
.
,0,𝑞
.X1
This conclusion contradicts the fact that the optimal path picks the upper track.
Therefore our assumption is wrong, and any optimal path will pick the lower track for the
𝑖
I²
segment. □
Notice that Condition 1 is necessary for Proposition 4.4, i.e. without Condition 1, the
optimal path may pick the upper track for the 𝑖
I²
segment even though we have
conditions 𝑙
.1
>𝑙
.4
and 𝑣
.1
≤𝑣
.4
. A simple example is from the proof of Proposition 4.3,
where the speed limits for the upper track and lower track are the same and a nonzero
entering velocity is given. In this case, the optimal path may need to select the upper
track for some segments in order to decelerate to a full stop (velocity of zero).
Due to Proposition 4.4, the Single Train Routing Problem when the starting and
ending velocities of the paths are zero becomes simple given the conditions 𝑙
.1
>𝑙
.4
and
𝑣
.1
≤𝑣
.4
for each i. Next we focus on the scenarios when the following condition is true:
Condition 2
𝑙
.1
>𝑙
.4
and 𝑣
.1
≥𝑣
.4
When Condition 2 is true, the train can either select the upper track and take
84
advantage of a longer distance to accelerate to a higher velocity, or select the lower track
and take advantage of a shorter distance to travel through. The optimal track selection
depends on the problem parameters.
Next we give conditions on the parameters such that we can determine which track
to choose for a certain segment. We first start with the simple idea that if the travel time
for one track is strictly less than the travel time for the other track regardless of the
entering and exiting velocities, then the track with less travel time will be selected. In
other words, we need conditions such that the upper bound of the travel time for one
track is strictly less than the lower bound of the travel time for the other track. So we
have the following condition and proposition:
Condition 3
𝑡 0,0,𝑙
.1
,𝑣
.1
<
𝑙
.4
𝑣
.4
Proposition 4.5 Under conditions 2 and 3, the optimal path will always select the upper
track for the 𝑖
I²
segment.
Proof: Suppose there exits an optimal path such that it picks the lower track for the 𝑖
I²
segment. Let 𝑣
.¶1
∗
and 𝑣
.
∗
be the optimal velocities at the beginning and the end of the 𝑖
I²
segment for this optimal path. Since 𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.4
,𝑣
.4
<+∞, from Corollary 3.1 and
Condition 2 we have 𝑣
.¶1
∗
≤𝑣
.4
≤𝑣
.1
,𝑣
.¶1
∗
≤𝑣
.4
≤𝑣
.1
and 𝑣
.
∗4
−𝑣
.¶1
∗4
≤2𝑟
M
𝑙
.4
<
2𝑟
M
𝑙
.1
, 𝑣
.¶1
∗4
−𝑣
.
∗4
≤2𝑟
N
𝑙
.4
<2𝑟
N
𝑙
.1
, which implies 𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
<+∞. From
85
Lemma 4.1 we know
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.4
,𝑣
.4
≥𝑡 𝑣
.4
,𝑣
.4
,𝑙
.4
,𝑣
.4
=
𝑙
.4
𝑣
.4
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
≤𝑡 0,0,𝑙
.1
,𝑣
.1
From Condition 3 we have 𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
<𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.4
,𝑣
.4
, which implies
that if we change the 𝑖
I²
segment of the optimal path to the upper track, the travel time
will be reduced. This is a contradiction. Therefore any optimal path will pick the upper
track for the 𝑖
I²
segment. □
Similarly we propose conditions on which the upper track will be preferred.
However, since the upper track has a higher speed limit, a feasible velocity for the upper
track may not be feasible for the lower track. Therefore compared to Condition 3, we
need a stricter condition to compensate for the infeasibility for the lower track.
Condition 4
𝑡 0,0,𝑙
.4
,𝑣
.4
+
𝑣
.1
𝑟
M
+
𝑣
.1
𝑟
N
<
𝑙
.1
𝑣
.1
Proposition 4.6 Under conditions 1, 2 and 4, the optimal path will always select the
lower track for the 𝑖
I²
segment.
Proof: Suppose there exits an optimal path such that it picks the upper track for the 𝑖
I²
segment. We name this path as the base path 𝑝
@
. Let 𝑣
.¶1
∗
and 𝑣
.
∗
be the optimal
velocities at the beginning and the end of the 𝑖
I²
segment for this optimal path. Now
change the 𝑖
I²
segment for path 𝑝
@
to the lower track. Let 𝑣
.¶1
o∗
and 𝑣
.
o∗
be the optimal
86
velocities at the beginning and the end of the 𝑖
I²
segment for the new path. So the
optimal travel time for the base path is 𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+
𝑇 𝑣
.
∗
,0,𝑞
.X1
and the optimal travel time for the new path is 𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
+
𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
o∗
,0,𝑞
.X1
.
If 𝑣
.¶1
o∗
<𝑣
.¶1
∗
, from Lemma 4.2 we have
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
<
𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.¶1
∗
−𝑣
.¶1
o∗
𝑟
N
≤𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.1
𝑟
N
If 𝑣
.¶1
o∗
≥𝑣
.¶1
∗
, we also have
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
≤
𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.1
𝑟
N
So 𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
S
D
J
Y
holds. Similarly, we have
𝑇 𝑣
.
o∗
,0,𝑞
.X1
<𝑇 𝑣
.
∗
,0,𝑞
.X1
+
𝑣
.1
𝑟
M
From Lemma 4.1 we have
𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
≤𝑡 0,0,𝑙
.4
,𝑣
.4
𝑙
.1
𝑣
.1
=𝑡 𝑣
.1
,𝑣
.1
,𝑙
.1
,𝑣
.1
≤𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
Therefore,
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
+𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
o∗
,0,𝑞
.X1
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.1
𝑟
N
+𝑡 0,0,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
∗
,0,𝑞
.X1
+
𝑣
.1
𝑟
M
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑙
.1
𝑣
.1
+𝑇 𝑣
.
∗
,0,𝑞
.X1
≤𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+𝑇 𝑣
.
∗
,0,𝑞
.X1
where the second inequality is from Condition 3. It contradicts that the path 𝑝
@
is the
87
optimal path. Therefore any optimal path will pick the lower track for the 𝑖
I²
segment.□
Even though Condition 3 and Condition 4 can guarantee the track choice for some
certain segment, they are very strict since the range of the travel time for picking one
track doesn’t overlap with the range of the travel time for picking the other track.
Next we give less restrictive conditions on which the ranges of the travel time for
picking track may overlap and still can guarantee the track choice. We first present a
lemma before giving the conditions. This lemma compares the travel time for picking the
upper track and the travel time for picking the lower track given the same entering
velocity and the same exiting velocity. Define Δ as ∆ 𝑣
.¶1
,𝑣
.
=𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
−
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
, on the domain { 𝑣
.¶1
,𝑣
.
|
𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
<+∞}.
Lemma 4.3 If Condition 2 is satisfied, ∆ 𝑣
.¶1
,𝑣
.
is a decreasing function of 𝑣
.¶1
and 𝑣
.
.
Proof: Given 𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
<+∞ from Corollary 3.1 we have 𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
<
+∞. (this statement is shown to be valid in the proof of Proposition 4.5). So the
definition of ∆ 𝑣
.¶1
,𝑣
.
is valid.
We first consider the scenario when
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
DW
J
R
XJ
Y
>𝑣
.4
i.e., the following
holds.
1
4J
R
+
1
4J
Y
𝑣
.4
4
<
S
Dß
W
4J
R
+
S
D
W
4J
Y
+𝑙
.4
(24)
𝑡(𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
)=
𝑣−𝑣
𝑖−1
𝑟
𝑎
+
𝑣−𝑣
𝑖
𝑟
𝑑
+
1
𝑣
(𝑙−
𝑣
2
−𝑣
𝑖−1
2
2𝑟
𝑎
−
𝑣
2
−𝑣
𝑖
2
2𝑟
𝑑
)
𝑑𝑡(𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑣
.4
−
1
𝑟
M
88
Also if
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
D
J
R
XJ
Y
>𝑣
.1
,
𝑑𝑡(𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑣
.1
−
1
𝑟
M
𝑑Δ(𝑣
.¶1
,𝑣
.
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑣
.1
𝑣
.4
𝑣
.4
−𝑣
.1
<0
where the last inequality is from Condition 2.
If
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
D
J
R
XJ
Y
≤
𝑣
.1
,
𝑑𝑡(𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
−
1
𝑟
M
𝑑Δ(𝑣
.¶1
,𝑣
.
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
−
1
𝑣
.4
<0
since
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
−
1
𝑣
.4
4
=
2𝑟
M
𝑟
N
𝑣
.4
4
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
1
2𝑟
M
+
1
2𝑟
N
𝑣
.4
4
−
𝑣
.¶1
4
2𝑟
M
+
𝑣
.
4
2𝑟
N
+𝑙
.1
<
2𝑟
M
𝑟
N
𝑣
.4
4
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
1
2𝑟
M
+
1
2𝑟
N
𝑣
.4
4
−
𝑣
.¶1
4
2𝑟
M
+
𝑣
.
4
2𝑟
N
+𝑙
.4
<0
where the last inequality is from (24).
So we have
Nâ(S
Dß
,S
D
)
NS
Dß
<0 when
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
DW
J
R
XJ
Y
>𝑣
.4
holds.
Then we consider the scenario when
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
DW
J
R
XJ
Y
≤𝑣
.4
i.e. where the
following holds.
1
4J
R
+
1
4J
Y
𝑣
.4
4
≥
S
Dß
W
4J
R
+
S
D
W
4J
Y
+𝑙
.4
(25)
89
t 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
=−
𝑣
.¶1
𝑟
M
−
𝑣
.
𝑟
N
+(
1
𝑟
M
+
1
𝑟
N
)
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
𝑟
M
+𝑟
N
𝑑𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
−
1
𝑟
M
Therefore if
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
D
J
R
XJ
Y
≤
𝑣
.1
,
𝑑𝑡(𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
−
1
𝑟
M
𝑑Δ(𝑣
.¶1
,𝑣
.
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.1
−
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
<0
since 𝑙
.1
>𝑙
.4
.
If
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
D
J
R
XJ
Y
>𝑣
.1
,
𝑑𝑡(𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
𝑣
.1
−
1
𝑟
M
𝑑Δ(𝑣
.¶1
,𝑣
.
)
𝑑𝑣
.¶1
=
𝑣
.¶1
𝑟
M
1
𝑣
.1
−
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
<0
since
1
𝑣
.1
4
−
𝑟
M
+𝑟
N
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
=
2𝑟
M
𝑟
N
𝑣
.1
4
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
𝑣
.¶1
4
2𝑟
M
+
𝑣
.
4
2𝑟
N
+𝑙
.4
−
1
2𝑟
M
+
1
2𝑟
N
𝑣
.1
4
<
2𝑟
M
𝑟
N
𝑣
.1
4
𝑟
M
𝑣
.
4
+𝑟
N
𝑣
.¶1
4
+2𝑟
M
𝑟
N
𝑙
.4
𝑣
.¶1
4
2𝑟
M
+
𝑣
.
4
2𝑟
N
+𝑙
.4
−
1
2𝑟
M
+
1
2𝑟
N
𝑣
.4
4
≤0
where the last inequality is due to (25).
90
So we have
Nâ(S
Dß
,S
D
)
NS
Dß
<0 when
J
R
S
D
W
XJ
Y
S
Dß
W
X4J
R
J
Y
\
DW
J
R
XJ
Y
≤𝑣
.4
holds. Therefore
Δ(𝑣
.¶1
,𝑣
.
) is a decreasing function of 𝑣
.¶1
. Similarly we can also show
Nâ(S
Dß
,S
D
)
NS
D
<0
and that Δ(𝑣
.¶1
,𝑣
.
) is a decreasing function of 𝑣
.
. □
Based on the fact that Δ(𝑣
.¶1
,𝑣
.
) is monotonically decreasing with respect to the two
velocities 𝑣
.¶1
and 𝑣
.¶1
, we have the following condition and proposition:
Condition 5
𝑡 0,0,𝑙
.1
,𝑣
.1
<𝑡(0,0,𝑙
.4
,𝑣
.4
)
Proposition 4.7 Under conditions 2 and 5, the optimal path will always select the upper
track for the 𝑖
I²
segment.
Proof: Suppose these exists an optimal path picking the lower track for the 𝑖
I²
segment.
Let 𝑣
.¶1
∗
and 𝑣
.
∗
be the optimal velocities at the beginning and the end of the 𝑖
I²
segment
for this optimal path. Similar to the argument in Proposition 4.5, we have
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
<+∞. Define ∆ 𝑣
.¶1
,𝑣
.
=𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.1
,𝑣
.1
−𝑡 𝑣
.¶1
,𝑣
.
,𝑙
.4
,𝑣
.4
.
From Lemma 4.3 we know ∆ 𝑣
.¶1
∗
,𝑣
.
∗
≤Δ 0,0 =
𝑡 0,0,𝑙
.1
,𝑣
.1
−𝑡 0,0,𝑙
.4
,𝑣
.4
<
0, where the last inequality is due to Condition 5. So we have 𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
<
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.4
,𝑣
.4
, which implies the travel time will be reduced if the train switches to
the upper track for the 𝑖
I²
segment in the optimal path. It is a contradiction. Therefore
any optimal path will pick the upper track for the 𝑖
I²
segment.□
Condition 5 is more general than Condition 3. In fact, we have the following:
91
𝑡 0,0,𝑙
.1
,𝑣
.1
<
𝑙
.4
𝑣
.4
=𝑡 𝑣
.4
,𝑣
.4
,𝑙
.4
,𝑣
.4
<𝑡(0,0,𝑙
.4
,𝑣
.4
)
where the second inequality is due to Lemma 4.1. In order to give a measure of the
restrictiveness of Condition 5, we present the following proposition.
Proposition 4.8 If Conditions 2 and 5 hold, we have 𝑙
.4
>
1
4J
R
+
1
4J
Y
𝑣
.4
4
i.e.
4J
R
J
Y
\
DW
J
R
XJ
Y
>
𝑣
.4
.
Proof: Suppose it is not true, i.e.
4J
R
J
Y
\
DW
J
R
XJ
Y
≤𝑣
.4
, then
𝑡 0,0,𝑙
.4
,𝑣
.4
= (
1
𝑟
𝑎
+
1
𝑟
𝑑
)
2𝑟
𝑎
𝑟
𝑑
𝑙
𝑖2
𝑟
𝑎
+𝑟
𝑑
which is not dependent on 𝑣
.4
. So 𝑡 0,0,𝑙
.4
,𝑣
.4
=𝑡 0,0,𝑙
.4
,𝑣
.1
since
4J
R
J
Y
\
DW
J
R
XJ
Y
≤𝑣
.4
≤
𝑣
.1
holds. From Lemma 4.1 and Condition 2
𝑡 0,0,𝑙
.4
,𝑣
.4
=𝑡 0,0,𝑙
.4
,𝑣
.1
<
𝑡 0,0,𝑙
.1
,𝑣
.1
which contradicts Condition 5. So we have 𝑙
.4
>
1
4J
R
+
1
4J
Y
𝑣
.4
4
. □
Notice that the condition 𝑙
.4
>
1
4J
R
+
1
4J
Y
𝑣
.4
4
guarantees that the train can reach the
speed limit if the train picks the lower track for the 𝑖
I²
segment. Therefore Condition 5 is
more general than Condition 2, but more restrictive than the condition 𝑙
.4
>
1
4J
R
+
1
4J
Y
𝑣
.4
4
.
Next we give a less restrictive condition to make the lower track preferred for the 𝑖
I²
segment. First we present a lemma which provides a bound for the travel time over a
node.
Lemma 4.4 If 𝑣
GHIGJ
o
≥𝑣
GHIGJ
, 𝑣
GK.I
o
≥𝑣
GK.I
and 𝑡 𝑣
GHIGJ
o
,𝑣
GK.I
o
,𝑙,𝑣 ≤
92
𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 <+∞, then we have
𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 <𝑡 𝑣
GHIGJ
o
,𝑣
GK.I
o
,𝑙,𝑣 +
𝑣
GHIGJ
o
−𝑣
GHIGJ
𝑟
M
+
𝑣
GK.I
o
−𝑣
GK.I
𝑟
N
Proof: Take 𝑙
o
=
S
TZVT[
ÝW
¶S
TZVT[
W
4J
R
+𝑙+
S
TUDV
ÝW
¶S
TUDV
W
J
Y
. Then
𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣 <𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙
o
,𝑣
≤𝑡 𝑣
GHIGJ
o
,𝑣
GK.I
o
,𝑙,𝑣 +
𝑣
GHIGJ
o
−𝑣
GHIGJ
𝑟
M
+
𝑣
GK.I
o
−𝑣
GK.I
𝑟
N
The first inequality is due to Lemma 4.1 and the second inequality is based on the
optimality of 𝑡 𝑣
GHIGJ
,𝑣
GK.I
,𝑙
o
,𝑣 . □
And similar to Condition 4 and Proposition 4.6, in order to make the lower track
preferred, we need conditions to compensate for the infeasibility of the entering velocity
and the exiting velocity when switching to the lower track since it has a lower speed
limit. So we have:
Condition 6
𝑙
.4
𝑣
.4
+
2𝑣
.1
𝑟
M
+
2𝑣
.1
𝑟
N
<𝑡 𝑣
.4
,𝑣
.4
,𝑙
.1
,𝑣
.1
Proposition 4.9 Under conditions 1, 2 and 6, the optimal path will always select the
lower track for the 𝑖
I²
segment.
Proof: Suppose there exits an optimal path such that it picks the upper track for the 𝑖
I²
segment. We name this path as path 𝑝
@
. Let 𝑣
.¶1
∗
and 𝑣
.
∗
be the optimal velocities at the
beginning and the end of the 𝑖
I²
segment for this optimal path. Now change the 𝑖
I²
segment for path 𝑝
@
to the lower track and keep the rest of path 𝑝
@
the same. Let 𝑣
.¶1
o∗
93
and 𝑣
.
o∗
be the optimal velocities at the beginning and the end of the 𝑖
I²
segment for the
new path. So the optimal travel time for path 𝑝
@
is 𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+𝑇 𝑣
.
o∗
,0,𝑞
.X1
and the optimal travel time for the new path is
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
+𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
∗
,0,𝑞
.X1
.
If 𝑣
.¶1
o∗
<𝑣
.¶1
∗
, from Lemma 4.2 we have
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
<
𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.¶1
∗
−𝑣
.¶1
o∗
𝑟
N
≤𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.1
𝑟
N
If 𝑣
.¶1
o∗
≥𝑣
.¶1
∗
, we also have
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
≤
𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.1
𝑟
N
So 𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
S
D
J
Y
holds. Similarly, we have
𝑇 𝑣
.
o∗
,0,𝑞
.X1
<𝑇 𝑣
.
∗
,0,𝑞
.X1
+
𝑣
.1
𝑟
M
From Lemma 4.3 we have Δ 𝑣
.¶1
o∗
,𝑣
.
o∗
>Δ 𝑣
.4
,𝑣
.4
, i.e.
𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.1
,𝑣
.1
−𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
>𝑡 𝑣
.4
,𝑣
.4
,𝑙
.1
,𝑣
.1
−𝑡 𝑣
.4
,𝑣
.4
,𝑙
.4
,𝑣
.4
=𝑡 𝑣
.4
,𝑣
.4
,𝑙
.1
,𝑣
.1
−
𝑙
.4
𝑣
.4
Also from Lemma 4.4 we have
𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.1
,𝑣
.1
<𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+
𝑣
.¶1
∗
−𝑣
.¶1
o∗
𝑟
M
+
𝑣
.¶1
∗
−𝑣
.¶1
o∗
𝑟
N
<𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+
𝑣
.1
𝑟
M
+
𝑣
.1
𝑟
N
So
𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
<𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.1
,𝑣
.1
−𝑡 𝑣
.4
,𝑣
.4
,𝑙
.1
,𝑣
.1
+
𝑙
.4
𝑣
.4
<𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+
𝑣
.1
𝑟
M
+
𝑣
.1
𝑟
N
−𝑡 𝑣
.4
,𝑣
.4
,𝑙
.1
,𝑣
.1
+
𝑙
.4
𝑣
.4
94
<𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
−
𝑣
.1
𝑟
M
+
𝑣
.1
𝑟
N
(26)
where the last inequality is due to Condition 6.
Therefore
𝑇 0,𝑣
.¶1
o∗
,𝑝
.¶1
+𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
o∗
,0,𝑞
.X1
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+
𝑣
.1
𝑟
N
+𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
+𝑇 𝑣
.
∗
,0,𝑞
.X1
+
𝑣
.1
𝑟
M
<𝑇 0,𝑣
.¶1
∗
,𝑝
.¶1
+𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
+𝑇 𝑣
.
∗
,0,𝑞
.X1
where the last inequality is due to (26), i.e. 𝑡 𝑣
.¶1
o∗
,𝑣
.
o∗
,𝑙
.4
,𝑣
.4
+
S
D
J
R
+
S
D
J
Y
<
𝑡 𝑣
.¶1
∗
,𝑣
.
∗
,𝑙
.1
,𝑣
.1
.
It contradicts that path 𝑝
@
is the optimal path. Therefore any optimal path will pick
the lower track for the 𝑖
I²
segment. □
Unfortunately the relationship between Condition 4 and Condition 6 is not as clear as
the relationship between Condition 3 and Condition 5. Even though intuitively Condition
4 is stricter than Condition 6, the inequality from Lemma 4.4 determines the
restrictiveness of Condition 6. If this inequality is not tight enough, Condition 4 may be
more restrictive than Condition 6.
All the conditions are summarized in Table 6 and all the main propositions are
summarized in Table 7. Notice that even though all the conclusions are valid for the
double track railway system, Propositions 4.4-4.9 can be extended to other railway
systems or even a general railway network. For the single track with sidings railway
95
system, all the conclusions still apply since all the conclusions are based on local
optimality condition, i.e. we only switch to another track for a certain segment and then
compare the new path with the original path. For the same reason, we can even extend all
the conclusions to a triple track railway system by performing pair-wise comparisons
between all tracks and identifying if there exists any track that dominates the other two
in terms of the problem parameters. In fact, this approach can be extended to any number
of tracks that are connected by two junctions.
Table 6 Conditions Summary
Condition 1 𝑣
=𝑣
G
=0
Condition 2 𝑙
.1
>𝑙
.4
and 𝑣
.1
≥𝑣
.4
Condition 3
𝑡 0,0,𝑙
.1
,𝑣
.1
<
𝑙
.4
𝑣
.4
Condition 4
𝑡 0,0,𝑙
.4
,𝑣
.4
+
𝑣
.1
𝑟
M
+
𝑣
.1
𝑟
N
<
𝑙
.1
𝑣
.1
Condition 5 𝑡 0,0,𝑙
.1
,𝑣
.1
<𝑡(0,0,𝑙
.4
,𝑣
.4
)
Condition 6
𝑙
.4
𝑣
.4
+
2𝑣
.1
𝑟
M
+
2𝑣
.1
𝑟
N
<𝑡 𝑣
.4
,𝑣
.4
,𝑙
.1
,𝑣
.1
Table 7 Local Track Selection Summary
Proposition 4.5 Proposition 4.6 Proposition 4.7 Proposition 4.9
Condition 1 ü ü
96
Condition 2 ü ü ü ü
Condition 3 ü
Condition 4 ü
Condition 5 ü
Condition 6 ü
Conclusion Upper track Lower track Upper track Lower track
4.1.3 Dynamic programming
Even though many conditions are proposed to enforce that the Single Train Routing
Problem can be solved in polynomial time, there are still many scenarios when the
parameters do not meet the given conditions. Therefore in this section we propose a
dynamic programming approximation algorithm to solve the Single Train Routing
Problem regardless of the parameters values. In this section we first describe the
algorithm and then we investigate the scenarios when the proposed algorithm only takes
polynomial time to solve the Single Train Routing Problem.
The algorithm is based on the idea of recording the optimal travel time for different
exiting velocities at the end of each segment sequentially. Since we do not know which
exiting velocity will be used in the following segments, a simple idea is to record all the
travel times for all possible exiting velocities. However it is impossible to keep a record
97
of an infinite number of travel times. Therefore we can keep track of travel times only for
a finite number of exiting velocities to obtain an approximate solution. Let
𝑆𝑡
.
={ 𝑣
.1
,𝑡𝑡
.1
, 𝑣
.4
,𝑡𝑡
.4
,…,(𝑣
.J
D
,𝑡𝑡
.J
D
)}
be the record we keep at the end of the 𝑖
I²
segment, where 𝑟
.
is the total number of
exiting velocities we record at the end of the 𝑖
I²
segment.
One way to choose 𝑆𝑡
.
is to choose a discretization size d, and then discretize the
velocitymax
(𝑣
.1
,𝑣
.4
). In other words, take 𝑟
.
=
;ãÅ S
D
,S
DW
N
+1, where
𝑥 is the
largest integer no more than 𝑥, and 𝑣
./
= 𝑗−1 ∗𝑑(∀𝑗 ∈{1,…,𝑟
.
}). Then the
algorithm is described as follow:
1. Set
𝑆𝑡
m
= 𝑣
,0 , 𝑟
m
=1
and
𝑖 =1.
2. Let
𝑟
.
=
;ãÅ S
D
,S
DW
N
+1.
∀𝑗 ∈{1,…,𝑟
.
}
set
𝑣
./
= 𝑗−1 ∗𝑑
and
𝑡𝑡
.
= min
/
§
A1,…J
Dß
{𝑡𝑡
.¶1 /
§
+min
[𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.1
,𝑣
.1
,𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.4
,𝑣
.4
]}
Then set 𝑆𝑡
.
= 𝑣
.1
,𝑡
.1
,…,(𝑣
.J
D
,𝑡
.J
D
)
3. Let 𝑖 =𝑖+1. If 𝑖 =𝑚 go to Step 4, otherwise go to Step 2.
4. Set
𝑡𝑡
∗
= min
/
§
A1,…J
®ß
{𝑡𝑡
@¶1 /
§
+min
[𝑡 𝑣
@¶1 /
§
,𝑣
G
,𝑙
@1
,𝑣
@1
,𝑡 𝑣
@¶1 /
§
,𝑣
G
,𝑙
@4
,𝑣
@4
]}
and return 𝑡𝑡
∗
.
The equation in Step 2
𝑡𝑡
.
= min
/
§
A1,…J
Dß
{𝑡𝑡
.¶1 /
§
+min
[𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.1
,𝑣
.1
,𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.4
,𝑣
.4
]}
98
represents the relationship between 𝑆𝑡
.¶1
and 𝑆𝑡
.
, i.e. how to generate 𝑆𝑡
.
given 𝑆𝑡
.¶1
using the idea of forward recursion. And when the velocities for the upper track are not
feasible, i.e. 𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.1
,𝑣
.1
=
+∞, based on the minimum rule the lower track
will be selected. If the velocities are infeasible for both tracks, i.e.
𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.1
,𝑣
.1
=
+∞ and 𝑡 𝑣
.¶1 /
§
,𝑣
./
,𝑙
.4
,𝑣
.4
=
+∞, we have 𝑡𝑡
.
=+∞.
Both the solution quality and computation time depends on the discretization size d.
When d is large, the size of 𝑆𝑡
.
is small and the solution computation time is short.
However, the obtained solution may not be close to the optimal solution due to the coarse
discretization. In contrast, with a small d, the solution can be improved and also the
solution computation time becomes long.
In some certain scenarios, the Single Train Routing Problem can be solved in
polynomial time if 𝑆𝑡
.
is selected carefully. We consider the scenarios when each track
segment is long enough to make any entering and exiting velocities feasible as long as
they are less than the speed limit, i.e. ∀𝑣
GHIGJ
∈ 0,𝑣 ,𝑣
GK.I
∈ 0,𝑣 ,
we have
𝑡(𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣)<+∞. If we have 𝑙 ≥𝑚𝑎𝑥
1
4J
R
,
1
4J
Y
𝑣
4
, then
𝑣
GHIGJ
4
−𝑣
GK.I
4
≤𝑣
4
≤2𝑟
N
𝑙
𝑣
GK.I
4
−𝑣
GHIGJ
4
≤𝑣
4
≤2𝑟
M
𝑙
From Lemma 3.1 we know 𝑡(𝑣
GHIGJ
,𝑣
GK.I
,𝑙,𝑣)<+∞. Therefore we are interested
in the following conditions:
99
Condition 7
𝑙
./
≥𝑚𝑎𝑥(
1
2𝑟
M
,
1
2𝑟
N
)𝑣
./
4
∀𝑖 =1,…,𝑚
∀𝑗 =1,2
Proposition 4.10 Under Condition 7, the Single Train Routing problem for a single line
double track railway system can be solved in polynomial time.
Proof: Suppose the optimal path picks 𝛽
.
I²
(𝛽
.
∈{1,2}) track for the 𝑖
I²
segment (𝑖 =
1,…,𝑚), where the first track denotes the upper track and the second track denotes the
lower track for each segment. Let the corresponding optimal velocities be 𝑣
.
∗
(𝑖 =
0,…,𝑚). Then consider the new solution 𝑣
.
o
such that 𝑣
m
o
=𝑣
,𝑣
@
o
=𝑣
G
and 𝑣
.
o
=
min(𝑣
.º
D
,𝑣
(.X1)º
D©
)
∀𝑖 =1,…,𝑚−1. Due to the feasibility of the optimal solution, we
have 𝑣
.
∗
≤𝑣
.
′ (𝑖 =0,…,𝑚)
On the other hand, we show 𝑣
.
o
(𝑖 =0,…,𝑚) is also a feasible solution, i.e.
𝑡 𝑣
.¶1
o
,𝑣
.
o
,𝑙
.º
D
,𝑣
.º
D
<+∞
∀𝑖 =1,…,𝑚. From Condition 7 we have
𝑣
.
o4
−𝑣
.¶1
o4
≤𝑣
.º
D
4
≤2𝑟
M
𝑙
.º
D
𝑣
.¶1
o4
−𝑣
.
o4
≤𝑣
.º
D
4
≤2𝑟
N
𝑙
.º
D
From Corollary 3.1 we know 𝑡 𝑣
.¶1
o
,𝑣
.
o
,𝑙
.º
D
,𝑣
.º
D
<+∞
∀𝑖 =1,…,𝑚. So from
Proposition 4.1 we know 𝑣
.
o
≤𝑣
.
∗
(𝑖 =0,…,𝑚).
Therefore 𝑣
.
∗
=𝑣
.
o
=min(𝑣
.º
D
,𝑣
(.X1)º
D©
)
∀𝑖 =1,…,𝑚−1.
Consider the following state sets:
𝑆𝑡
.
={ 𝑣
.1
,𝑡𝑡
.1
, 𝑣
.4
,𝑡𝑡
.4
, 𝑣
.ä
,𝑡𝑡
.ä
, 𝑣
.å
,𝑡𝑡
.å
}
100
where 𝑣
.1
=min 𝑣
.1
,𝑣
.X1 1
,𝑣
.4
=min 𝑣
.1
,𝑣
.X1 4
,𝑣
.ä
=min 𝑣
.4
,𝑣
.X1 1
and
𝑣
.å
=min 𝑣
.4
,𝑣
.X1 4
. Then we have 𝑣
.
∗
∈𝑆𝑡
.
. Therefore if we perform the dynamic
programming algorithm on the constructed 𝑆𝑡
.
sequentially, the optimal solution can be
obtained.
Since the size of 𝑆𝑡
.
is constant at each step, it only takes polynomial time for the
dynamic programming algorithm to terminate. □
Next we consider the following conditions:
Condition 8
∀𝑖 =1,…,𝑚−1
𝑙
./
≥(
1
2𝑟
M
+
1
2𝑟
N
)𝑣
./
4
∀𝑖 =1,…,𝑚
∀𝑗 =1,2
Since Condition 7 is a necessary condition of Condition 8, we can have the following
corollary immediately.
Corollary 4.2 Under Condition 8, the Single Train Routing problem for a single line
double track railway system can be solved in polynomial time.
Notice that Nagarajan and Ranade (2008) also gave a proof for the polynomial time
to obtain the optimal solution when Condition 8 is true. However their algorithm is based
on the expansion of profiles (all possible tuples of travel time and arrival velocities) over
arcs and it is difficult to implement. In contrast, the dynamic programming algorithm we
proposed is easier to implement and allows a less restrictive condition (Condition 7) to
guarantee the polynomial time to obtain the optimal solution.
101
4.1.4 Experimental Results
Previously, we gave conditions on the problem parameters when the problem is
polynomial. For general parameter settings, the problem was shown to be NP-hard and
we proposed a dynamic programming heuristic to solve the problem. In this section, we
experimentally test the performance of the heuristic for general parameter settings.
The parameter settings are given as follows. The double track railway system
contains 10 segments. The length for each track is generated from uniform distribution
between 0.5 miles and 1.5 miles and the speed limit for each track is generated from
uniform distribution between 10 miles/hour to 80 miles/hour. Both the acceleration rate
and the deceleration rate are set to 2112
feet/minute
4
. And both the entering velocity
and the exiting velocity are set to 0.
We first randomly generate 10 instances and vary the step size d from 45 miles/hour
to 1 mile/hour. The comparison between our proposed dynamic programming and the
optimal solution is measured in the percentage of the absolute difference with respective
to the optimal travel time, i.e.
IJMSG\
I.@G¶æçI.@M\
IJMSG\
I.@G
æçI.@M\
IJMSG\
I.@G
and is presented in Table 8,
where each row represents one instance and each column denotes a different step size in
the dynamic program. The optimal solution is found through enumeration.
102
Table 8 The percentage difference between the proposed heuristic and the
optimal solution
Step size
45 40 35 30 25 20 15 10 5 1
Case number
1 0.6489 0.4177 0.1390 0.1384 0.1424 0.1414 0.0698 0.0435 0.0121 0.0016
2 0.3832 0.2545 0.3010 0.3622 0.3509 0.0447 0.0762 0.0343 0.0246 0.0036
3 0.3077 0.3310 0.3612 0.2469 0.0564 0.1350 0.0363 0.0458 0.0130 0.0034
4 0.3620 0.3533 0.2512 0.2965 0.1914 0.2310 0.0625 0.0746 0.0256 0.0013
5 0.2436 0.1348 0.1887 0.2246 0.1977 0.0593 0.0464 0.0312 0.0120 0.0020
6 0.5768 0.4720 0.4127 0.3502 0.2909 0.1013 0.1153 0.0532 0.0305 0.0032
7 0.4568 0.2822 0.3061 0.3391 0.2891 0.0341 0.0728 0.0104 0.0104 0.0025
8 0.4031 0.1607 0.2032 0.1877 0.2432 0.0804 0.0643 0.0380 0.0131 0.0026
9 0.1893 0.2143 0.2555 0.2502 0.2287 0.1273 0.0448 0.0410 0.0136 0.0033
10 0.4557 0.1515 0.1923 0.2107 0.1800 0.1332 0.1471 0.0202 0.0160 0.0053
As expected, from Table 8, the percentage difference between our proposed heuristic
and the optimal solution decreases as the step size decreases. When the step size is 1
mile/hour, the percentage difference becomes less than 1% for all instances.
We now vary the acceleration and deceleration rates to see how they will affect the
results at different levels of the step size. The results are presented in Table 9. Each row
denotes some certain acceleration/deceleration rate. For example for the first row we set
103
the acceleration and deceleration to be 528
feet/miniute
4
. Each column represents a
different step size in the dynamic programming algorithm. We generate 50 instances and
the number in each cell is the average percentage difference between the proposed
dynamic programming algorithm and the optimal solution.
Table 9 Average percentage difference between the proposed heuristic and the
optimal solution
Step size
45 40 35 30 25 20 15 10 5 1
Acceleration/deceleration rate
528 1.9332 1.9332 1.9332 1.9332 1.9332 0.5758 0.3312 0.2445 0.0964 0.0140
1056 1.7131 1.7131 1.7131 1.1109 0.4100 0.3191 0.2448 0.1317 0.0607 0.0076
1584 1.5356 1.5356 0.8989 0.5210 0.3002 0.2761 0.1801 0.0971 0.0350 0.0059
2112 1.3005 0.8944 0.5847 0.3965 0.2827 0.2151 0.1359 0.0772 0.0297 0.0048
2640 0.8807 0.6492 0.4660 0.3306 0.2500 0.1751 0.1127 0.0642 0.0228 0.0042
3168 0.7106 0.5098 0.3951 0.3110 0.2163 0.1486 0.1008 0.0571 0.0210 0.0038
3696 0.5779 0.4330 0.3440 0.2870 0.1909 0.1281 0.0905 0.0520 0.0180 0.0034
4224 0.4842 0.3801 0.3213 0.2636 0.1709 0.1176 0.0822 0.0481 0.0167 0.0031
Table 9 shows that as the acceleration/deceleration rates increase, the averaged
percentage difference decreases, which implies the dynamic programming algorithm
104
performs better at higher rates since as the acceleration and deceleration rates approach
infinity the problem becomes polynomial solvable and the dynamic program becomes
trivial to solve. The results in Table 8 and Table 9 show that with a step size of 1
mile/hour the proposed algorithm is at least within 1.5% of the optimal even when the
acceleration and deceleration rates are very small.
Next we vary the distribution of the length and the speed limit by changing their
upper bounds in order to test the robustness when we set the step size to 1mile/hour. The
results are shown in Tables 10 and 11. Table 10 shows how the percentage difference
between the dynamic programming algorithm and the optimal solution changes as the
acceleration and deceleration rates and the upper bound for each track length change.
Each row represents one acceleration and deceleration rate. And each column
corresponds to one upper bound for each track length. For example, for the first column,
we generate 50 instances where the track length is from a uniform distribution between
0.5 miles and 1 mile and then the average percentage difference of the 50 instances is
calculated for each cell.
105
Table 10 Average percentage difference as acceleration/deceleration rate and
upper bound for the length change
Upper bound for the track length
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
Acceleration/deceleration rate
528 0.0159 0.0171 0.0166 0.0143 0.0156 0.0141 0.0142 0.0132 0.0135 0.0132 0.0120
1056 0.0096 0.0098 0.0088 0.0093 0.0081 0.0081 0.0080 0.0078 0.0074 0.0075 0.0074
1584 0.0070 0.0070 0.0059 0.0062 0.0071 0.0064 0.0055 0.0068 0.0056 0.0053 0.0058
2112 0.0057 0.0061 0.0049 0.0054 0.0054 0.0049 0.0044 0.0053 0.0044 0.0043 0.0050
2640 0.0050 0.0049 0.0038 0.0047 0.0048 0.0040 0.0036 0.0043 0.0036 0.0036 0.0042
3168 0.0043 0.0042 0.0034 0.0041 0.0040 0.0039 0.0032 0.0039 0.0033 0.0032 0.0036
3696 0.0039 0.0037 0.0032 0.0038 0.0037 0.0035 0.0028 0.0034 0.0030 0.0029 0.0032
4224 0.0036 0.0034 0.0029 0.0035 0.0033 0.0032 0.0025 0.0031 0.0027 0.0028 0.0029
4752 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
From Table 10, as the upper bound for each track length increases the average
percentage difference decreases. Intuitively, as the upper bound for each track length
increases and the acceleration and deceleration rates increase, the probability of
Condition 7 being satisfied becomes larger and the proposed dynamic programming
algorithm can provide a better approximation. Also the percentage difference is below 2%
for all scenarios, which implies that the step size of 1 mile/hour is enough to obtain a
relatively good solution.
Table 11 shows how the percentage difference between the dynamic programming
algorithm and the optimal solution changes as the acceleration and deceleration rates and
106
the upper bound for the speed limit for each track change. Each row represents one
acceleration and deceleration rate. And each column corresponds to one upper bound for
each speed limit. For example, for the first column, we generate 50 instances where the
speed limit is from a uniform distribution between 10 miles/hour and 55 miles/hour and
then the average percentage difference of the 50 instances is calculated for each cell.
Table 11 Average percentage difference as acceleration/deceleration rate and
upper bound for the speed limit change
Upper bound for the speed limit
55 60 56 70 75 80 85 90 95 100 105
Acceleration/deceleration rate
528 0.0100 0.0124 0.0139 0.0133 0.0143 0.0145 0.0159 0.0138 0.0141 0.0137 0.0150
1056 0.0069 0.0066 0.0079 0.0078 0.0080 0.0081 0.0088 0.0088 0.0092 0.0083 0.0090
1584 0.0052 0.0051 0.0060 0.0058 0.0058 0.0063 0.0068 0.0067 0.0065 0.0065 0.0068
2112 0.0044 0.0044 0.0049 0.0046 0.0044 0.0051 0.0050 0.0053 0.0051 0.0051 0.0048
2640 0.0038 0.0037 0.0042 0.0039 0.0038 0.0046 0.0042 0.0042 0.0044 0.0046 0.0042
3168 0.0034 0.0032 0.0037 0.0035 0.0034 0.0039 0.0040 0.0038 0.0039 0.0038 0.0038
3696 0.0030 0.0030 0.0034 0.0032 0.0030 0.0036 0.0035 0.0035 0.0035 0.0035 0.0036
4224 0.0027 0.0027 0.0031 0.0030 0.0028 0.0032 0.0032 0.0031 0.0033 0.0032 0.0032
4752 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
From Table 11, as the upper bound for the speed limit of each track increases the
average percentage difference increases. Intuitively, as the upper bound for the speed
limit increases and the acceleration and deceleration rates decrease, the probability of
Condition 7 being satisfied becomes smaller and the proposed dynamic programming
107
algorithm performs worse. Still the percentage difference is still below 2% for all
scenarios, which implies that a step size of 1 mile/hour is robust.
4.2 Multiple Trains Scheduling
The previous section considers the problem of a routing single train through an empty
railway system. In this section we propose an iterative heuristic, which includes the
proposed dynamic programming algorithm to make the routing decision, to solve the
problem of routing multiple trains through a double track railway system. In section 4.2.1
we present the solution procedure and section 4.2.2 shows the experimental results.
4.2.1 Solution Procedures
When there are multiple trains in the railway system, it is computationally difficult to
obtain the optimal schedules and routes for all the trains as we showed in the previous
chapter. Therefore we propose an iterative approach to solve the entire problem, i.e.
instead of obtaining the entire path at once, decisions are made at a current node to only
determine the next node.
Note that the next node selection is not arbitrary since it may cause deadlock.
Therefore any candidate for the new node should satisfy the conditions that there will not
108
be a deadlock if the train moves towards it.
Also as shown in Nagarajan and Ranade (2008), it is NP-hard to obtain the optimal
path for one train given the schedules for the other trains. Therefore at each step it is
computationally difficult to obtain the optimal path for one train. Moreover it may not be
globally optimal even if we could find the optimal path for one train given the schedules
for the other trains. It is a multi-agent optimization problem and each train’s route
selection will also affect other trains’ route selections. Considering the difficulty of the
problem, we propose to use the Single Train Routing Problem as a heuristic to make the
route selection. In other words, when there are multiple candidates for the next node
selection, we will select the one with less travel time towards the destination station
without considering other trains in the railway system, i.e. treating the railway system as
an empty network. Note that the travel time calculated by ignoring other trains in the
railway system is the lower bound for the actual travel time since the potential conflict
between trains is not taken into consideration.
The headway decision and velocity decision in section 3.2 are also made in an
iterative approach. Therefore we can combine the dynamic programming algorithm in
section 4.1.3 and the heuristics in section 3.2 to solve the entire problem.
Whenever a train enters into a node, all new headway nodes candidates, which are
deadlock free, are first obtained. Among these candidates, we select the one with least
109
travel time when ignoring the other trains (routing decision). Then sequentially the
number of new headway nodes are determined (headway decision). Finally the exiting
speed for the current node is calculated (velocity decision). Then train will be routed to
the selected headway nodes.
The detailed steps are:
1. A train enters into a node, which is a previously seized headway node.
2. Find all deadlock free new headway nodes. If there are no candidates, go to 5.
Otherwise select the one with the least travel time calculated by ignoring other trains
in the system. Go to 3.
3. Can the train reach the speed limit outside the current node given the current headway
nodes? If yes, go to 6. If no, go to 4.
4. Seize the selected new headway node. Go to 2.
5. Is the new headway node seized by a train traveling in the same direction? If yes, go
to 7. If no, go to 6.
6. Compute the exiting speed which can make the train stop within the current headway,
go to 8.
7. Compute the exiting speed which can avoid collision with the preceding train.
8. Route the train to the end of its current node, where the train reaches the exiting
speed.
110
4.2.2 Experimental Results
In this section we conduct experiments to evaluate the proposed heuristics for the
problem of routing multiple trains through a double track railway system using the Arena
simulation software. Both freight trains and passengers are routed through a shared
double track railway system. The characteristics of these two types of trains are the same
with the ones used in section 3.3, which can be found in Table 1.
Similar to section 4.1.1, we generate the parameters for the double track railway
system as follows. The double track railway system contains 10 segments. The length for
each track is generated from uniform distribution between 0.5 miles and 1.5 miles and the
speed limit for each track is generated from uniform distribution between 60 miles/hour
to 80 miles/hour.
We compare our proposed heuristic in Section 4.2.1 against the procedures in Section
3.2. Recall, in Section 3.2 for the routing decision, a simple greedy heuristic, i.e.
selecting the track with higher speed limit, was used. We also test another simple greedy
rule that selects the track based on the minimum travel time (e.g., based on the ratio of
length over speed). We name the greedy heuristic of selecting the track with higher speed
limit as greedy heuristic 1 and the greedy heuristic of selecting the track based on the
minimum travel time as greedy heuristic 2. In summary, all procedures use the same
headway and velocity control heuristics as outlined in Section 3.2. They differ in only the
111
routing decision where the dynamic programming approach in Section 4.1.3 is compared
against the two above greedy heuristics.
From Proposition 4.4, we know that it is optimal to select the track with higher speed
limit if 𝑙
.1
>𝑙
.4
and 𝑣
.1
≤𝑣
.4
, i.e. the track with higher speed limit has smaller length. In
other words, if the track with higher speed limit also has smaller length, the simple
greedy heuristic 1 will make the same selection as the dynamic programming approach.
Therefore in order to make the comparison more clear, we randomly generate 5 instances
of double track railway systems such that Condition 2 is satisfied for all segments, i.e.
𝑙
.1
>𝑙
.4
and 𝑣
.1
≥𝑣
.4
∀
𝑖. Then experimental simulations based on these three heuristics
are run over 60 days for the five randomly generated double track railway systems. The
results are summarized and shown in Tables 12-14.
Table 12 Average flow time using dynamic programming heuristic for the
routing decision
Railway system number
1 2 3 4 5
Number of trains per day
10 17.380 20.320 18.673 18.329 17.690
20 18.323 20.953 19.381 18.846 18.245
40 20.027 21.860 20.060 19.624 18.823
60 21.687 22.477 20.801 20.128 19.496
80 23.252 23.307 21.675 21.103 20.454
100 24.614 24.217 22.812 21.836 20.985
120 26.788 25.294 23.810 22.560 21.673
112
Table 12 shows the average flow time using dynamic programming heuristic for the
five different railway systems when varying the number of trains per day. The flow time
is defined as the time the train leaves the network minus the time the train enters the
network. From this table, as expected, the average flow time will increase as the number
of trains per day increases. This is because as the number of trains per day increases,
there are more conflicts between the trains and trains have to decelerate or even come to a
ful stop to resolve the conflicts. In other words, trains travel slower in order to avoid
conflicts. Also with more trains in the railway system, the path selections for each
individual train become less. Therefore each individual train may not take the fastest path
to its destination, which also will increase the flow time.
Table 13 Average flow time ratio of simple greedy heuristic 1 over the dynamic
programming heuristic for the routing decision
Railway system number
1 2 3 4 5
Number of trains per day
10 1.047 1.031 1.070 1.094 1.099
20 1.047 1.033 1.047 1.092 1.082
40 1.043 1.035 1.050 1.085 1.072
60 1.040 1.037 1.044 1.092 1.057
80 1.038 1.061 1.037 1.091 1.045
100 1.064 1.072 1.037 1.099 1.044
120 1.060 1.080 1.025 1.099 1.041
113
Table 14 Average flow time ratio of greedy heuristic 2 over dynamic
programming heuristic for the routing decision
Railway system number
1 2 3 4 5
Number of trains per day
10 1.041 1.022 1.019 1.105 1.018
20 1.036 1.020 1.004 1.101 1.014
40 1.025 1.025 1.017 1.093 1.015
60 1.026 1.029 1.010 1.097 1.010
80 1.027 1.047 1.010 1.097 1.009
100 1.060 1.055 1.009 1.102 1.017
120 1.049 1.070 1.015 1.105 1.035
Table 12 shows the average flow time using dynamic programming heuristic for the
five different railway systems when varying the number of trains per day. The flow time
is defined as the time the train leaves in the network minus the time the train enters the
network. From this table, the average flow time will increase as the number of trains per
day increases. This is because as the number of trains per day increases, there are more
conflicts between trains and trains have to decelerate or even fully stop to resolve the
conflicts. In other words, trains travel slower in order to avoid conflicts. Also with more
trains in the railway system, the path selections for each individual train become less.
Therefore each individual train may not take the fastest path to its destination, which also
114
will increase the flow time.
Table 13 shows the ratio of the average flow time using the simple greedy heuristic 1
(i.e., track with highest velocity is selected) over the average flow time using the dynamic
programming for the five different railway systems when varying the number of trains
per day while Table 14 shows the ratio of the average flow time using the simple greedy
heuristic 2 (i.e., track with smallest length over speed ratio is selected) over the average
flow time using the dynamic programming.
All ratios in Table 13 and Table 14 are above 1, which implies that the dynamic
programming heuristic outperforms both greedy heuristics. This result makes sense since
every time the dynamic programming heuristic selects the track on the path with least
travel time while the greedy heuristic 1 and 2 may select one track with more flow time.
Also in most cases, the ratios in Table 13 is less than Table 14, which implies that the
greedy heuristic 2 is better than the greedy heuristic 1 in most of the scenarios.
4.3 Summary
In this chapter section we consider the Single Train Routing Problem, i.e. routing one
train through an empty railway network. We prove that this problem is NP-hard and the
decision problem is NP-complete. Also we investigate different scenarios when the
parameters satisfy certain conditions such that we know the local choice for the optimal
115
solution. Also we propose a dynamic programming heuristic framework to solve the
problem. Several scenarios when the proposed algorithm can obtain the optimal solution
and only take polynomial time are investigated. Experimental analysis is also conducted
to show the efficiency of the proposed algorithm. We next integrate the Single Train
Routing Problem into the Multiple Trains Scheduling and propose a heuristic for the
entire problem. Numerical simulations on randomly generated double track railway
systems show that the proposed heuristic can reduce the flow time, resulting in shorter
travel time.
116
5 Conclusion and Future work
5.1 Conclusion
In this thesis, we consider the train scheduling and routing problem under dynamic
headway, where the headway nodes for each train is assigned dynamically in order to
make use of the railway track more efficiently.
In Chapter 3 we first develop a simulation model to present the dynamic headway.
Then we build an optimization model to solve the entire problem. However the integral
solution and nonlinear (even non convex) constraints make it computationally difficult to
obtain the optimal solution. Therefore we divide the decision variables into three groups:
headway decision variables, velocity decision variables and routing decision variables
and decompose the entire problem into three corresponding subproblems using an
iterative heuristic approach. A heuristic algorithm is proposed to make the headway
decision and velocity decision. Experimental results show that the dynamic headway
framework outperform a traditional approach of constant headway.
In Chapter 4 we consider the routing decision mainly for the double track railway
system. We first focus on the Single Train Routing Problem, i.e. routing one train from its
origin to its destination through an empty network. We show the Single Train Routing
117
Problem is NP-hard and the corresponding decision problem is NP-complete. Then we
investigate conditions on the problem parameters which can guarantee local optimality. A
discretized dynamic programming algorithm is proposed to solve the Single Train
Routing Problem. Also we present conditions on which the proposed algorithm can
obtain the optimal solution in polynomial time. Numerical experiments are also
conducted to show the efficiency of the proposed algorithm. Then we extend to the
problem of routing multiple trains through a shared railway network by taking advantage
of the Single Train Routing Problem as a heuristic to make the routing decision
iteratively. Comparison between a simple greedy algorithm and our proposed approach is
made through simulation experiments.
5.2 Future work
For the Single Train Routing Problem, we showed that it is NP-hard if the entering
velocity and exiting velocity are given as inputs. For example, in our proof of NP-
hardness, we take a nonzero entering velocity and zero exiting velocity. However, the
computational complexity remains unknown if both the entering velocity and exiting
velocity are zero. It is a special case of the Single Train Routing Problem, but may be
solved in polynomial time.
For the routing decision we only focus on the double track railway system, so most
118
of the proposed models and approaches work only for the double track railway system,
even though some of our propositions and conclusions may apply for a general network.
It will be interesting to extend to a general railway network, for example triple track or a
hybrid system consisting of single track, double track and triple track. Also as shown in
the experiments of Section 4.2.2, the proposed approaches performs better through
reducing the flow time. Models and methods of reducing the wait time by resolving the
conflicts in a better way need further investigation. Considering trains’ dynamics in
reality, weather conditions and terrain conditions, the assumption on the constant
acceleration/deceleration rates is over simplified. Relaxing the constant
acceleration/deceleration rates to changing acceleration/deceleration rates is also a
direction of future work.
119
Bibliography
Ahuja, Ravindra K., Thomas L. Magnanti, and James B. Orlin. 1993. Network flows:
Theory, Algorithms, and Applications.
Ahuja, Ravindra K., James B. Orlin, Stefano Pallottino, and Maria G. Scutella. 2003.
Dynamic shortest paths minimizing travel times and costs. Networks 41 (4): 197-205.
Association of American Railroads. 2014. Overview of America’s Freight Railroads.
Badugu, Suresh, and Anoosha Movva. 2013. Positive Train Control International
Journal of Emerging Technology and Advanced Engineering 3(4): 304-307.
Brännlund, Ulf, Per Olov Lindberg, Andreas Nõu, and J-E Nilsson. 1998. Railway
timetabling using lagrangian relaxation. Transportation Science 32 (4): 358-69.
Cacchiani, Valentina, Alberto Caprara, and Paolo Toth. 2010. Scheduling extra freight
trains on railway networks. Transportation Research Part B: Methodological 44 (2): 215-
31.
Cai, X., Ton Kloks, and CK Wong. 1997. Time-‐‑varying shortest path problems with
constraints. Networks 29 (3): 141-50.
Caprara, Alberto, Matteo Fischetti, and Paolo Toth. 2002. Modeling and solving the train
timetabling problem. Operations Research 50 (5): 851-61.
Caprara, Alberto, Michele Monaci, Paolo Toth, and Pier Luigi Guida. 2006. A lagrangian
heuristic algorithm for a real-world train timetabling problem. Discrete Applied
Mathematics 154 (5): 738-53.
Carey, Malachy. 1994a. A model and strategy for train pathing with choice of lines,
platforms, and routes. Transportation Research Part B: Methodological 28 (5): 333-53.
Carey, Malachy. 1994b. Extending a train pathing model from one-way to two-way track.
Transportation Research Part B: Methodological 28 (5): 395-400.
120
Carey, Malachy, and David Lockwood. 1995. A model, algorithms and strategy for train
pathing. Journal of the Operational Research Society: 988-1005.
Chabini, Ismail. 1998. Discrete dynamic shortest path problems in transportation
applications: Complexity and algorithms with optimal run time. Transportation Research
Record: Journal of the Transportation Research Board(1645): 170-5.
Cooke, Kenneth L., and Eric Halsey. 1966. The shortest route through a network with
time-dependent internodal transit times. Journal of Mathematical Analysis and
Applications 14 (3): 493-8.
Cordeau, Jean-Francois, Paolo Toth, and Daniele Vigo. 1998. A survey of optimization
models for train routing and scheduling. Transportation Science 32 (4): 380-404.
Corman, Francesco, Andrea D’Ariano, Dario Pacciarelli, and Marco Pranzo. 2010. A
tabu search algorithm for rerouting trains during rail operations. Transportation Research
Part B: Methodological 44 (1): 175-92.
D’Ariano, Andrea, Dario Pacciarelli, and Marco Pranzo. 2007. A branch and bound
algorithm for scheduling trains in a railway network. European Journal of Operational
Research 183 (2): 643-57.
Dessouky, Maged M., Quan Lu, Jiamin Zhao, and Robert C. Leachman. 2006. An exact
solution procedure to determine the optimal dispatching times for complex rail networks.
IIE Transactions 38 (2): 141-52.
Dijkstra, Edsger W. 1959. A note on two problems in connexion with graphs.
Numerische Mathematik 1 (1): 269-71.
Dorfman, MJ, and J. Medanic. 2004. Scheduling trains on a railway network using a
discrete event model of railway traffic. Transportation Research Part B: Methodological
38 (1): 81-98.
Federal Railroad Administration. 2010. National Rail Plan.
Fischer, Frank, and Christoph Helmberg. 2014. Dynamic graph generation for the
shortest path problem in time expanded networks. Mathematical Programming 143 (1-2)
(02/01): 257-97.
121
Harrod, Steven S. 2012. A tutorial on fundamental model structures for railway timetable
optimization. Surveys in Operations Research and Management Science 17 (2): 85-96.
Higgins, Andrew, Erhan Kozan, and Luis Ferreira. 1996. Optimal scheduling of trains on
a single line track. Transportation Research Part B: Methodological 30 (2): 147-61.
Jovanović, Dejan, and Patrick T. Harker. 1991. Tactical scheduling of rail operations:
The SCAN I system. Transportation Science 25 (1): 46-64.
Kaufman, David E., and Robert L. Smith. 1993. Fastest paths in time-dependent networks
for intelligent vehicle-highway systems application. Journal of Intelligent Transportation
Systems 1 (1): 1-11.
Koch, R., and E. Nasrabadi. 2014. Continuous-time dynamic shortest path problems with
negative transit times. SIAM Journal on Control and Optimization (01/01; 2014/08):
2449-81.
Li, Feng, Ziyou Gao, Keping Li, and Lixing Yang. 2008. Efficient scheduling of railway
traffic based on global information of train. Transportation Research Part B:
Methodological 42 (10): 1008-30.
Louwerse, Ilse, and Dennis Huisman. 2014. Adjusting a railway timetable in case of
partial or complete blockades. European Journal of Operational Research 235 (3): 583-
93.
Lu, Quan, Maged Dessouky, and Robert C. Leachman. 2004. Modeling train movements
through complex rail networks. ACM Transactions on Modeling and Computer
Simulation (TOMACS) 14 (1): 48-75.
Lusby, Richard M., Jesper Larsen, Matthias Ehrgott, and David Ryan. 2011. Railway
track allocation: Models and methods. OR Spectrum 33 (4): 843-83.
Marinov, Marin, and José Viegas. 2011. A mesoscopic simulation modelling
methodology for analyzing and evaluating freight train operations in a rail network.
Simulation Modelling Practice and Theory 19 (1): 516-39.
Mascis, Alessandro, and Dario Pacciarelli. 2002. Job-shop scheduling with blocking and
no-wait constraints. European Journal of Operational Research 143 (3): 498-517.
122
Mazzarello, Maura, and Ennio Ottaviani. 2007. A traffic management system for real-
time traffic optimisation in railways. Transportation Research Part B: Methodological 41
(2): 246-74.
Meng, Lingyun, and Xuesong Zhou. 2014. Simultaneous train rerouting and rescheduling
on an N-track network: A model reformulation with network-based cumulative flow
variables. Transportation Research Part B: Methodological 67 : 208-34.
Motraghi, Adam, and Marin Varbanov Marinov. 2012. Analysis of urban freight by rail
using event based simulation. Simulation Modelling Practice and Theory 25 : 73-89.
Mu, Shi, and Maged Dessouky. 2011. Scheduling freight trains traveling on complex
networks. Transportation Research Part B: Methodological 45 (7): 1103-23.
Nagarajan, Viswanath, and Abhiram G. Ranade. 2008. Exact train pathing. Journal of
Scheduling 11 (4): 279-97.
Orda, Ariel, and Raphael Rom. 1991. Minimum weight paths in time-‐‑dependent
networks. Networks 21 (3): 295-319.
Orda, Ariel, and Raphael Rom. 1990. Shortest-path and minimum-delay algorithms in
networks with time-dependent edge-length. Journal of the ACM (JACM) 37 (3): 607-25.
Pachl, Jörn. 2007. Avoiding Deadlocks in in Synchronous Railway Simulations."
Proceedings of the 2nd International Seminar on Railway Operations Modelling and
Analysis, Hannover, Germany.
Pallottino, Stefano, and Maria Grazia Scutella. 1998. Shortest path algorithms in
transportation models: Classical and innovative aspects. In Equilibrium and advanced
transportation modelling., 245-281Springer.
Philpott, AB. 1994. Continuous-time shortest path problems and linear programming.
SIAM Journal on Control and Optimization 32 (2): 538-52.
Szpigel, Bernardo. 1973. Optimal train scheduling on a single track railway. Operational
Research 72 : 343-51.
Zhou, Xuesong, and Ming Zhong. 2007. Single-track train timetabling with guaranteed
optimality: Branch-and-bound algorithms with enhanced lower bounds. Transportation
Research Part B: Methodological 41 (3): 320-41.
123
Zhou, Yonghua, and Chao Mi. 2013. Modeling and simulation of train movements under
scheduling and control for fixed-block railway network using cellular automata.
Simulation: 0037549713487403.
Abstract (if available)
Abstract
The railway transportation serves a major part of the transportation demand. Given the rapid demand increase for railway transportation, new technologies like Positive Train Control (PTC) can help improve the system efficiency. However, traditional methodology assumes constant headway. Therefore they cannot be directly applied to a PTC system. In this thesis, we focus on developing new methodologies for train scheduling and routing problem under dynamic headway control. ❧ The first part of this thesis introduces the model framework for dynamic headway. We first develop a simulation model to represent dynamic headway and then formulate an optimization model to solve the train scheduling and routing problem under dynamic headway with the objective of minimizing the total travel time. It is computationally difficult to solve the entire problem due to its integral decision variables and nonlinear (even nonconvex) constraints. So we decompose the entire problem into three subproblems corresponding to three groups of decision variables: headway decision, velocity decision and routing decision. Efficient heuristic algorithms for headway decision and velocity decision are proposed to solve the entire problem in an iterative way. Numerical simulation is also conducted on a complex railway system and the experimental results show that our dynamic headway model together with the proposed heuristic outperforms the traditional constant headway approach. ❧ The second part of the thesis focuses on the routing decision, i.e. finding the best path when alternatives exist. We first study the Single Train Routing Problem, where the objective is to route one train through an empty network as fast as possible. We show that the Single Train Routing Problem is NP-hard and the corresponding decision problem is NP-complete. Then we investigate the solution properties and present sufficient conditions for optimality. Different conditions on the parameters are given to guarantee that certain local route selection is optimal. Then a dynamic programming heuristic is introduced and conditions when the proposed heuristic can obtain the optimal solution in polynomial time are also discussed. Then we extend the Single Train Routing Problem to the problem of routing multiple trains through a shared network. Then an integrated heuristic algorithm is presented to solve the entire problem. Comparison between the proposed algorithm and two benchmark algorithms are also made through numerical experiments.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Train routing and timetabling algorithms for general networks
PDF
Dynamic programming-based algorithms and heuristics for routing problems
PDF
Routing problems for fuel efficient vehicles
PDF
Intelligent urban freight transportation
PDF
Routing for ridesharing
PDF
Models and algorithms for pricing and routing in ride-sharing
PDF
Integration of truck scheduling and routing with parking availability
PDF
Optimum multimodal routing under normal condition and disruptions
PDF
Information design in non-atomic routing games: computation, repeated setting and experiment
PDF
Landscape analysis and algorithms for large scale non-convex optimization
PDF
Package delivery with trucks and UAVs
PDF
Traffic assignment models for a ridesharing transportation market
PDF
Algorithms and landscape analysis for generative and adversarial learning
PDF
Models and algorithms for the freight movement problem in drayage operations
PDF
The warehouse traveling salesman problem and its application
PDF
Vehicle routing and resource allocation for health care under uncertainty
PDF
Computational geometric partitioning for vehicle routing
PDF
New approaches for routing courier delivery services
PDF
Cost-sharing mechanism design for freight consolidation
PDF
Elements of robustness and optimal control for infrastructure networks
Asset Metadata
Creator
Fu, Lunce
(author)
Core Title
Train scheduling and routing under dynamic headway control
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Publication Date
03/15/2016
Defense Date
02/29/2016
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
dynamic headway,OAI-PMH Harvest,state-dependent shortest path problem,train scheduling and routing
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Dessouky, Maged (
committee chair
), Pang, Jong-Shi (
committee member
), Savla, Ketan (
committee member
)
Creator Email
luncefu@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c40-220297
Unique identifier
UC11279513
Identifier
etd-FuLunce-4196.pdf (filename),usctheses-c40-220297 (legacy record id)
Legacy Identifier
etd-FuLunce-4196.pdf
Dmrecord
220297
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Fu, Lunce
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
dynamic headway
state-dependent shortest path problem
train scheduling and routing