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 routing and timetabling algorithms for general networks
(USC Thesis Other)
Train routing and timetabling algorithms for general networks
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Train Routing and Timetabling Algorithms for General Networks by Liang Liu A Thesis Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulllment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (Industrial and Systems Engineering) December 2017 Copyright 2017 Liang Liu Acknowledgements The journey towards a Ph.D was full of support and encouragement. I am truly grateful to every person during this exciting journey. To my advisor Professor Maged Dessouky. It's my privilege to have you navigated my study and research. I appreciate all your contributions of ideas and patience to shed light on my way. You brought me into the rigorous scientic research and also gave me the freedom to explore the unknown world. I truly appreciate your understand for all my decisions and your help to achieve my goals. To my qualify and defense committee members: Fernando Ordonez, John Carlsson, Ketan Savla, Petros Ioannou and Suvrajeet Sen. Thank you for your brilliant question and comments that make the qualify and defense exam enjoyable. To my colleagues: Xiaoqing Wang, Huayu Xu, Christine Nguyen, Lunce Fu, Han Zou, Yihuan Shao, Jing Voon Chen, Michael Hintlian, Wentao Zhang, Santiago Carvajal and Shichun Hu. With all of you, the life in Los Angeles is splendid everyday. I learned a lot from our discussion and cooperation. To my parents: You showed me the way to here. Thanks for guiding me to realize my potential and to think for a further goal. 致我的父母:感谢您们指引我一路走到这里。您们教会我知人者智,自知者明。您们教导我 努力当下,放眼未来。今后路途依然遥远,但您们始终是我的港湾。 To my wife: Qinqin Zhu, PhD. You are the sun in my life. With you by my side, the way back home from lab in every midnight is never dark. ii Table of Contents Acknowledgements ii List Of Tables v List Of Figures vi Abstract vii Chapter 1: Introduction 1 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapter 2: Literature Review 7 2.1 Railway Scheduling and Routing Problem . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 Single Track Train Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 General Track Network Train Scheduling . . . . . . . . . . . . . . . . . . . 9 2.2 Railway Timetabling Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 Nominal Timetabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Robust Timetabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Chapter 3: Joint Passenger and Freight Train Scheduling Problem 21 3.1 Problem Statement and Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Solution Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.1 Passenger Train Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.1.1 Passenger Train Priority Assignment . . . . . . . . . . . . . . . . . 34 3.2.1.2 Passenger Train Route Construction . . . . . . . . . . . . . . . . . 37 3.2.2 Freight Train Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.2.1 Freight Train Scheduling Order . . . . . . . . . . . . . . . . . . . . 41 3.2.2.2 Freight Train Routing Subproblem . . . . . . . . . . . . . . . . . . 43 3.2.2.3 Freight Train Priority Assignment Subproblem . . . . . . . . . . . 45 3.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.3.1 Small Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.3.2 Large Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Chapter 4: The Stochastic Passenger Train Timetabling Problem 70 4.1 Model Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2 Overall Solution Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3 Solution Algorithm on a Search Tree Node . . . . . . . . . . . . . . . . . . . . . . . 82 4.3.1 Master Problem Solution Procedure . . . . . . . . . . . . . . . . . . . . . . 82 4.3.1.1 Relaxed Passenger Train Scheduling with Dual Ascent Algorithm 83 4.3.1.2 Feasibility Recovery Algorithm . . . . . . . . . . . . . . . . . . . . 89 4.3.2 Subproblem Solution Procedure . . . . . . . . . . . . . . . . . . . . . . . . . 98 iii 4.3.2.1 Labeling Algorithm for Rescheduling in a Scenario . . . . . . . . . 98 4.3.2.2 Sample Average Approximation of All Scenarios . . . . . . . . . . 108 4.4 Branching Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.4.1 Congestion Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.4.2 Heuristic Branching Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.5 Bounding Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.6 Experimental Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapter 5: Conclusions and Future work 124 5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Reference List 127 iv List Of Tables 3.1 Performance of Priority Assignment with Dierent . . . . . . . . . . . . . . . . . 36 3.2 Calibration of Crossover and Mutation Probabilities . . . . . . . . . . . . . . . . . 40 3.3 Comparison Between BFI and Opt-Integer with Same Passenger Schedule . . . . . 59 3.4 Test Passenger Train Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.5 Comparison Between Optimal-solution and Heuristic-Solution . . . . . . . . . . . . 62 3.6 OD Pairs for the Large Test Network . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.7 Performance Comparison Between Complete-Control, Partial-Control, Sequential and Uniform-Departure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.1 Test Cases for Passenger Train Schedules . . . . . . . . . . . . . . . . . . . . . . . 97 4.2 Optimality Gap of Feasibility Recovery Solution . . . . . . . . . . . . . . . . . . . 98 4.3 Incremental Delay in the Labeling Algorithm when Scheduling Train q on Node i . 102 4.4 Discrete Distributions of Freight Train Departure Times . . . . . . . . . . . . . . . 106 4.5 Average Objective Values of the Subproblems Solved by the Labeling Algorithm . 107 4.6 Average Total Freight Train Travel Time in the Subproblems . . . . . . . . . . . . 107 4.7 Average Total Passenger Train Timetable Deviation from the Master Solution Timetable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.8 Standard Deviation and CPU Time using Sample Average Approximation . . . . . 109 4.9 The Test Freight Trains Departure Time Distributions . . . . . . . . . . . . . . . . 119 4.10 Comparison Between Passenger and Freight Trains Scheduling Strategies . . . . . . 122 v List Of Figures 3.1 Sample Railway Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Abstract Graph of Sample Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3 Arrival and Departure Time in Train Movement . . . . . . . . . . . . . . . . . . . 27 3.4 The Flow Chart of the Solution Procedure . . . . . . . . . . . . . . . . . . . . . . . 30 3.5 Example of the Candidate Insertion Position Along a Triple Track Segment . . . . 46 3.6 Relaxation of the Time Window based on An Early Passenger Train . . . . . . . . 53 3.7 Inference Rules in Step 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 Test Network with Three Stations . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.9 Number of Passing Trains Per Node for the Uniform-Schedule . . . . . . . . . . . . 63 4.1 The Overall Branch and Bound Solution Framework . . . . . . . . . . . . . . . . . 79 4.2 Convergence Rate of the Lagrangian Method . . . . . . . . . . . . . . . . . . . . . 90 4.3 Example of Cycling Deadlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.4 Scheduling Train q into the Time Windows on Node j . . . . . . . . . . . . . . . . 95 4.5 Example of Branching in a Search Tree . . . . . . . . . . . . . . . . . . . . . . . . 112 4.6 Convergence Rate of Branch and Bound Algorithm . . . . . . . . . . . . . . . . . . 118 4.7 The Railway Network From Corona to San Bernardino . . . . . . . . . . . . . . . . 120 vi Abstract The rail industry has been at the forefront of economic growth in Asia, United States and Europe. The freight rail industry in particular has a long history of being essential to the global economy. The increasing demand from the passenger train market brings challenges to the railway operations since the expansion of network trackage is an expensive venture and limited by the space in urban areas. We investigate the integrated scheduling of freight and passenger trains in complex railway networks and the timetabling for passenger trains in order to improve the eciency of schedules. Two models are considered in this research for the routing and scheduling of trains. Both models consider a general railway network that consists of multiple tracks. We introduce the routing constraints, travel time constraints and safety headway constraints in the models. In the rst model, we assume the timetable of passenger trains is given and the objective is to minimize the weighted sum of freight trains' delay and passenger trains' tardiness. We develop a decomposition based heuristic that solves real world problem size. A vertical decomposition is rst performed for passenger train schedule optimization and then combined with freight train scheduling in an iterative procedure. A genetic based heuristic is studied to optimize passenger trains schedule and an insertion based heuristic is studied to optimize the freight train schedules. In the second model, the objective is to study the robust passenger train timetable considering the uncertainty in freight train departure times. A Lagrangian methods is rst developed to solve for a relaxed passenger train schedule and then a feasibility recovery heuristic is applied. Then in the subproblems, a labeling algorithm is proposed to jointly optimize the freight and passenger trains sequentially. The numerical experiments show the proposed solution outperforms other heuristics for real size networks. vii Chapter 1 Introduction 1.1 Background The extensive railway network supports the railway industry to be at the forefront of economic growth in the United States. Freight trains account for Association for about 1,800 million rail tons in 2014, according to the Association of American Railroads. Every year there are more than 100 million tons of goods transferred through the Ports of Los Angeles and Long Beach. Rail transportation is a cost eective way to move cargo from the ports to distant inland destinations. According to the study of the Association of American Railroad, more than 40 percent of the national total freight are moved by the rail companies. As the total quantity of freight increases, the railroad industry expects further increases in demand. In addition, passenger train travel has also been increasing over the years. In the Los Angeles area, Amtrak alone accounted for 1.6 million passengers in 2016. In California, Amtrak accounted for 814.9 million rail passenger miles. All these demands for passenger trains have even attracted the attention of California government ocials, who passed a bill to invest 42 billion dollars to build more railroad lines in 2008. Given that the freight industry is already operating without much excess resource capacity, the industry has to either expand or manage its operations more eciently. Investing in the expansion of the railroad network is an expensive venture. Moreover, in parts like Orange County or Los Angeles, this might be impossible due to the space limitation. Thus, better planning and scheduling methodologies become an eective solution to the problems caused by increasing transportation demand under tight capacity constraints. Passenger and freight train scheduling are rather dierent: passenger train schedules are rel- atively stable and periodic. For example, Amtrak trains from Los Angeles to San Diego leave at 1 several xed times every day. Therefore, a master schedule of the times for the passenger trains can be developed several months in advance. On the other hand, freight demand is less known and the freight scheduling procedure can sometimes be initiated very close to the time of the departure of the train. In many regions around the world, it is uncommon for freight and passenger trains to share the same track resources. Therefore, the scheduling for both kinds of trains could be done separately without one impacting the other. However, in the United States, it is very common for both kinds of trains to compete for the same track resources. Furthermore, this is becoming increasingly common globally due to huge increases in both passenger and freight trains. Consequently, a good integrated schedule becomes vital in order to prevent melt-downs of the railroad network. Furthermore, in urban areas like Los Angeles, the railroad system is extremely complex with single, double, and even triple track congurations, as well as high trac zones and dierent speed limits. To complicate things even more, the freight and passenger trains commonly share the same tracks in urban areas. However, each type of train has dierent priorities and characteristics. For example, freight trains usually travel much slower than passenger trains, and have signicantly lower acceleration and deceleration rates. Furthermore, freight trains on average are much longer in length averaging from 6000 to 8000 feet. This, as expected, can lead to passenger trains experiencing signicant tardiness if freight trains are not scheduled eectively. To minimize the train delays and maximize the capacity of the rail network in urban areas, it is important to integrate both passenger and freight scheduling. In railway operations, a train timetable provides a timeline to the operations and activities for the trains over the rail network. The Train Timetabling Problem (TTP) studies the periodic timetable for a set of trains under track capacity, safety headway and other operational constraints. The increasing demand in the railway industry pushes a better usage of the railway infrastructure and resources, requiring a cooperative planning and scheduling for all kinds of trains. Timetables 2 serve as the key control variable for the temporal and spatial railway decisions over the com- plex networks, and directly impact the ow time and resource utilization. In real-world railway operations, train timetables are often aected by unpredictable events. The actual arrival and departure times could be signicantly dierent from the planned timetable. The deviation not only creates the primary delays, but also creates secondary delays which further propagates the eects of the disturbance. Dierent from a freight train schedule, the passenger train schedule is usually extremely sensitive to delays. The robustness of the passenger train timetable is required to counter against all kinds of stochastic disturbances. 1.2 Motivation As mentioned above, the rail industry has always been an essential part of the United States economy. However, in recent years, train operations have changed because of the increase in the demand for both passenger and freight trains. Especially in Los Angeles, the demand for freight trains has steadily increased due to all the cargo coming into the Ports of Los Angeles and Long Beach. However, Los Angeles is a highly populated city, which inhibits the growth of the railway network. This means that the demand for trains is growing at a much higher rate than what the current railway system can support, and there is a real need to optimize the usage of the railway network so the demand can still be met and industries in the area do not need to take their operations elsewhere. In the past, most freight train scheduling was done by human operators (dispatchers). Each dispatcher was assigned a section of the network that they needed to monitor. Their job was to assign trains a specic route and tell them if they had to decelerate, accelerate or stop, to prevent any collisions or failures in the network. It was then the central dispatcher's job to correct any failures that might occur within sections. As mentioned before, this was a viable option because passenger trains and freight trains typically operated at dierent times and their schedules did 3 not con ict. However, in today's world, because of the increasing usage of the network, more and more freight trains are con icting with passenger trains. Just using a manual approach to dispatch trains may not lead to the most ecient schedule. Therefore, in this work, an algorithmic approach is proposed to schedule trains eciently, and to maximize the usage of the network and minimize trains delay and tardiness. We also study the timetable design of passenger trains in a dynamic environment considering the stochastic freight train behavior. We focus on two major questions: 1. Given the timetable of the passenger trains at station stops and demand of the freight trains, how to integrate and optimize their routing and schedules. 2. When the timetable of passenger trains is not provided, how to design a robust passenger train timetable considering the uncertainty in the system. We formulate two mathematical models to address each issue respectively. The rst model is a deterministic model that balances the passenger trains' tardiness and freight trains' delay. The second model is a stochastic model that improves the robustness of the passenger train schedule under stochastic disturbance from the freight trains delay. Both models have signicantly large number of integer variables and constraints. We propose heuristics algorithms to solve the models and perform experimental analysis on the solution approaches. 1.3 Contributions In this research, we study the scheduling, routing and timetabling problem for railway operations. The scheduling and timetabling model considers the operation of multiple trains in a general network with limited resources. The problem is studied in two models: a deterministic joint scheduling model with a given passenger train timetable and a stochastic model for the design of a passenger train timetable. We concentrate on the scheduling of multiples trains simultaneously on a general railway network that contains track segments, junctions and stations. The models assume that the travling time of a train through a track segment is known and does not depend on 4 the acceleration and deceleration of trains. The precedence relationship between trains and safety headway are enforced to guarantee a deadlock-free schedule. In both models, we concentrate on a daily planning horizon and develop a daily operation plan. We focus on developing solution approaches that determine the route and schedule of each train and the precedence relationship between the trains. The contributions of this thesis include, • We propose a model that integrates passenger trains and freight trains scheduling in a deterministic environment, that can be used to minimize the travel times of the freight trains and the tardiness of the passenger trains. • A hybrid heuristic is studied to solve the deterministic model, in which a vertical decompo- sition is rst performed for passenger train schedule optimization and then combined with freight train scheduling in an iterative procedure. • Recognizing that limited research has been done to address the timetabling problem for a dynamic and uncertain environment without adding time supplements as buers, we propose a stochastic optimization model with a recourse framework to optimize the passenger train timetable and incorporate the randomeness of freight train departure times in probabilistic scenarios. • A branch and bound solution framework is developed to systematically generate the routing and timetabling decisions eciently. 1.4 Organization of the Thesis The remainder of the thesis is organized as follows. Chapter 2 contains a review of the literature on general railway routing and scheduling, and the timetabling problem in both nominal and 5 robust cases. We study the joint passenger and freight train scheduling problem and a decompo- sition solution approach for the deterministic case in Chapter 3. Then we study the stochastic passenger train timetabling problem considering the random distrubance. A branch and bound heuristic approach is presented to solve the problem. Finally the conclusions of these studies are summarized in Chapter 5. 6 Chapter 2 Literature Review This chapter reviews the literature that are relevant to the problem studied in this thesis. First, the railway scheduling problems and the solution approaches are reviewed. Two variations of the problem, including single track train scheduling and general network train scheduling, are discussed in detail. Next, we study the railway timetabling problems, the nominal timetabling problem and the stochastic timetabling problem. The model characteristics and solution ap- proaches for each of the problems are also reviewed in this chapter. 2.1 Railway Scheduling and Routing Problem There is a variety of problems considered in train scheduling and a considerable amount of liter- ature has been published on this topic. Cordeau et al. (1998) provided an overview on the train routing and scheduling problems and compared dierent modeling approaches and optimization methods. Huisman et al. (2005) and Caprara et al. (2007) surveyed the models and techniques used in passenger railway transportation. Corman and Meng (2013) made a systemic review of papers on the real-time train dispatching and rescheduling in a stochastic and dynamic environ- ment. Fang et al. (2015) gave a survey on modeling and solution approaches of the scheduling and rescheduling problem, a detailed discussion for both optimization-based and simulation-based approaches are presented. We next present a review of the most relevant papers to our proposed problem. 2.1.1 Single Track Train Scheduling Most of the train scheduling related literature study special problems arising in the operation of large railway networks. Several variations of the single-line track train scheduling problems 7 are investigated. Higgins et al. (1995) modeled the train scheduling for a single-track line. The proposed method assigns the priority of each train in a con ict according to the estimation of the remaining crossing and overtaking delay. In the branch and bound procedure, a priority is used to speed up the search. Odijk (1996) addressed the periodic timetable construction for passenger trains. Extended from Serani and Ukovich (1989), their proposed model consists of periodic time window con- straints by means of pairwise arrival and departure times, and the problem is solved by a cut generation algorithm. Cai and Goh (1998) considered single-track problems including sidings. An integer-programming problem is formulated and a greedy based heuristic algorithm is proposed to provide rapid sched- ules. Brannlund et al. (1998) presented an optimization approach for the timetabling problem. The single track problem with sidings is modeled as an integer problem. Oliveira and Smith (2000) modelled the single-track railway scheduling problem as a special case of the job-shop scheduling problem with the objective of minimum ow time. Con icts occur when the desired timetable results in two or more trains occupying the same track at the same time. Con icts are resolved by the shortest processing time rule to reschedule the con icting trains. Caprara et. al (2002) concentrated on the problem of a single, one-way track linking two major stations, with a number of intermediate stations in between. The objective of their proposed model is to maximize the sum of the prots of the scheduled trains. The proposed graph theoretic formulation uses a directed multigraph in which nodes correspond to the departure/arrival events of the trains at a certain station at a given time, and the formulation is used to derive a Lagrangian relaxed integer linear programming model. Caprara et. al (2006) extended the aforementioned model by considering several additional constraints of real-world applications. Furthermore, Cacchiani et. al (2008) proposed a heuristic 8 and exact algorithm of the same problem based on the solution of the LP relaxation of an ILP formulation, in which the decision variables correspond to a full timetable for a train. Zhou and Zhong (2007) proposed a generalized resource-constrained project scheduling formu- lation on a single track line. A branch and bound solution procedure was shown to obtain feasible schedules. In the branch step, the dualized problem was shown to be equivalent to the longest path problem. In the bound step, two dierent lower bound rules for estimating the minimum additional delay for the partial schedule are presented, which are a Lagrangian relaxation lower bound and a crossing con ict-based lower bound. Heydar et al. (2013) investigated the capacity of a single track, unidirectional rail line that adheres to a cyclic timetable. A mixed integer program with the objective of minimizing the length of the dispatching cycle and minimizing the total dwell time of the trains is developed. Bersani et at. (2015) addressed the time-honoured problem of scheduling trains on a single track from a robust optimization point of view. Semrov et al. (2016) introduced a train reschedul- ing method based on reinforcement learning theory and solved for the scheduling problem of both single-track and complex railway networks. 2.1.2 General Track Network Train Scheduling Another trend of research in railway operations is the dispatching and scheduling for multiple tracks in a complex rail network. Carey and Lockwood (1995) proposed a 0-1 integer program model for dispatching multiple trains traveling at dierent speeds and in the same direction. To solve for the overtaking decisions, an iterative heuristic is proposed to re-schedule individual trains. Carey (1994a) and Carey (1994b) further extended the model with line choice and two-way tracks. Dessouky et al. (2006) developed a mathematical programming model to determine the op- timal dispatching times for complex rail networks in densely populated metropolitan areas, in 9 which the rail network consists of single-track lines, double-track lines and triple track lines. The model is solved by a branch and bound algorithm by applying several propagation rules. Mazzarello and Ottaviani (2007) deployed the alternative graph model, which was rst intro- duced by Mascis and Pacciarelli (2002), to the implementation of a Trac Management System. The solution procedure to the Con ict Detection and Resolution (CDR) and the Speed Regulation problems are presented. A similar model approach is used in D'Ariano et al. (2007), in which the con ict-free timetable with minimal deviation from the original timetable is computed. A branch and bound algorithm is developed and several implication rules are proposed to speed up the computation. Liu and Kozan (2009) modeled the train scheduling problem as a blocking parallel-machine job shop scheduling problem. Their model is based on the disjunctive graph formulation by Roy and Sussman (1964) and solved by an improved shifting bottleneck procedure algorithm and a feasibility satisfaction procedure algorithm. Meng and Zhou (2011) studied the method to recover the impacted train schedule from current and future disturbances and minimized the expected additional delay under dierent forecasted operational conditions. The study is based on a stochastic programming with recourse frame- work, and the proposed model periodically optimizes the schedule of all the trains. A multi-layer branching solution procedure is developed to generate and select meet-pass plans under dierent stochastic scenarios. Mu and Dessouky (2011) considered the freight train scheduling problem for a complex rail- way network, which considers exible routing. A freight train routing and scheduling problem is formulated as a mixed integer programming model, based on binary variables to explicitly in- dicate the train movement sequence and priorities. Several heuristics based on mixtures of the formulations are investigated and the proposed heuristics are compared with a simple look-ahead greedy heuristic and a global neighborhood search algorithm. 10 Louwerse and Huisman (2014) studied the adjusted timetable of passenger trains in case of major disruptions. The objective of the study is to identify the new timetable of trains when disrupted infrastructure occurs or given a forecast of the characteristics of the disruption. The problem is formulated using an event-activity network from Liebchen et al. (2010). The events consist of the arrival and departure events of the trains at the stations and of two inventory events, one for each station at the border of the problem area. The activities contain train activities, headway activities and inventory activities. To minimize the number of canceled trains and the delays of the operated trains, an integer programming formulation is developed and is solved to optimality. Meng and Zhou (2014) proposed a solution procedure to optimize N-track train schedules through simultaneous rerouting and rescheduling. To minimize the deviation between the actual arrival time and the scheduled arrival time, a mixed integer programming model is formulated and solved by a Lagrangian relaxation schema. The time-dependent least cost path problem in the routing subproblem is solved by a label correcting algorithm, which is adapted from Ziliaskopoulos and Mahmassani (1993). Sam a et al. (2016) studied the real-time train routing selection problem by revisiting the real-time Railway Trac Management Problem (rtRTMP) and then introducing a new real-time Train Routing Selection Problem (rtTRSP) formulation. rtTRSP is formulated as an integer linear programming problem and solved via an ant colony optimization (ACO) algorithm. Experimental results are analyzed to compare with the state-of-the-art solution algorithm to rtRTMP. Sam a et al. (2017) studied a metaheuristic algorithm for the real-time trac management problem of scheduling and routing trains in complex railway network. First, a con ict detection and resolution problem with xed routes is solved by the branch-and-bound algorithm proposed in D'Ariano et al. (2007), and a near-optimal is computed for practical-size instances. Then the metaheuristic algorithm guides the search for promising moves via systematic changes of a combination of neighbourhood structures. 11 2.2 Railway Timetabling Problem The train timetabling problem aims at planning the periodic timetable for the operation of trains that do not violate track capacities and satisfy the operational constraints. Lusby et al. (2011) surveyed the literature on the train timetabling, train dispatching, train platforming, and train routing problems in detail. Harrod (2012) surveyed four timetable formulations suitable for opti- mization. The survey discussed the models according to their features such as periodic, aperiodic, explicit track and event only. Cacchiani and Toth (2012) oered a comprehensive survey on the train timetabling problem for its nominal and robust versions. In the norminal version, the cyclic (or periodic) schedule for a daily planning horizon and the non-cyclic schedule in a congested network is studied. In the robust version, the problem of identifying a schedule that avoids dis- ruptions and reduces delay propagation is studied. The trade-o between the nominal objective and the robustness of the timetable is discussed in detail. Caimi et al. (2017) presented an ex- tensive survey to the models for railway timetable optimization. The survey puts an emphasis on passenger railway service, in which the combinatorial optimization models, solution approaches and applications in practice are discussed in detail. The studied timetabling problems mainly fo- cused on developing either nominal timetabling models for a deterministic environment or robust timetabling models for a dynamic and stochastic environment. 2.2.1 Nominal Timetabling In the nominal timetabling problem, the timetable is designed under deterministic constraints such as demand, delay and travel time. The timetable is planned under track capacity constraints and safety travel constraints, with the objective according to the request of the railway operation company, such as minimizing the waiting time, maximizing passenger satisfaction, or minimizing the total travel time. Either a cyclic or non-cyclic version of the timetable is designed based on the level of planning. 12 Szpige (1973) formulated the railway timetabling problem as a mixed integer programming model. The routes and departure times of the trains were given and the study focused on the timetabling for a single track railway network. A branch and bound algorithm is proposed to eciently solve the model. Higgins et al. (1996) focused on studying the train priority in timetabling when con icts occur at the trains'meet and pass points. The priority of a train in a con ict is decided by estimating and comparing the delay, which contains the sum of the remaining overtaking delay and the current delay. A branch and bound approach is proposed to get a near optimal solution eciently for reasonable size problems. Ghoseiri et al. (2004) developed a multi-objective optimization model for the passenger train timetabling problem in a railway network with single and multiple tracks, as well as multiple platforms with dierent train capacities. Two satisfaction measurements are quantied in the proposed model. From the railway operation company side, the satisfaction to be optimized is the fuel consumption level, and from the passenger side the objective is to minimize total passenger travel time. A Pareto optimal solution is solved using an -constraint method. In Carey and Crawford (2007) and Castillo et al. (2011), scheduling of trains in a general network are solved by sequentially optimizing the route and timetable alternatively. The sequential approach reduces the solving complexity while maintaining the solution quality. Lee and Chen (2009) addressed the scalability of the timetabling problem for real-size in- stances. A novel optimization heuristic is proposed, which optimizes both train pathing and train timetabling. The algorithm started with an initial solution using a simple rule, and then it is solved by a four-step decomposition approach, which includes ordering trains on inter-station tracks, assigning trains to tracks, ordering trains on intra-station tracks, and nally solving for the train schedule. Xu et al. (2014) studied a travel advanced strategy with a combination of an improved TAS algorithm and genetic algorithm, to solve the optimal balanced train timetable with least 13 delay ratio as well as the optimal train velocity strategy for a single line network. The proposed optimization model considered the feasible speed constraint for nding the optimal velocity for each train on the railway line. Meng and Zhou (2014) proposed an integer programming model for train dispatching and timetabling on an N-track network. The original complex model is decomposed by rerouting and rescheduling into a sequence of single train optimization subproblems. In the reformulation, the infrastructure capacity is translated to a vector of cumulative ow variables and then the subproblem is solved as a time-dependent shortest path algorithm using a Lagrangian relaxation framework. Castillo et al. (2016) presented a time partitioning method in solving the railway line planning and timetable optimizaion problem. In the proposed approach, the time horizon is divided into sub-periods, thus the initial problem is decomposed and only the active trains in the sub-period are optimized. Two partition strategies are presented: partitioning based on equal duration and partitioning based on equal number of active trains. The experiments on real size cases showed the reduction of complexity through the decomposition framework. Yang et al. (2016) integrated the stop planning and train scheduling problems together in a collaborative optimization model, with the objective function of minimizing the total delay at the origin station and dwelling time at intermediate stations. The stopping plan and train schedules are connected by the minimal dwelling time constraints. A CPLEX solver is used to solve the proposed model on real-world operations data. By comparing dierent parameter settings and dispatching criteria, the computational results show that the CPLEX solver can eciently generate near-optimal solutions. Robenek et al. (2016) accounted for the passenger satisfaction in the design of the timetable. The model aims at maximizing the train operating company's prot while maintaining level of passenger satisfaction. One limitation of the model is that the con icts between trains are not considered. Analysis on various values of shows that passenger satisfaction can be improved 14 while maintaining a low prot loss for the railway company. Also passenger congestion analy- sis illustrates that non-cyclic timetables can account better for high density passenger demand compared to cyclic timetables. Zhou and Teng (2016) studied the passenger train routing and timetabling problem on a rail network consisting of both unidirectional and bidirectional tracks. The authors also proposed a reformulating model that reduces the usage interval constraints. A train based decomposition is presented to simultaneously optimize the routing and timetabling decisions. Borndorfer et al. (2016) investigated a periodic timetabling model with integrated passenger routing. The study shows that dierent routing models can have a signicant in uence on the quality of the overall schedule. Two groups of routing models are proposed. In the rst group, a lower-bound routing model and a shortest path routing model are dened under an uncapacitated assumption such that trains can be routed independently of each other. In the second group, the capacitated multi-path routing model and the capacitated unsplittable path routing model limits the capacity of the trackage by placing bounds on the maximum passenger ow of an activity. Guo et al. (2017) studied the train timetable optimization problem for metro transit networks. To enhance the transfer synchronization between lines, timetables are adjusted at transfer stations. Focused on the transitional period in which the headway and passenger demand varies a lot, the paper presented a mixed integer nonlinear programming model for the optimal train timetable and maximized the transfer synchronization events. A particle swarm optimization and simulated annealing heuristic are proposed to achieve the near-optimal solutions eciently. Most nominal timetabling models aim at eciency of the railway operation. Comparing with it, robust timetabling models aim to reduce the impact of random disturbances to avoid delay propagation. One common approach to improve the robustness is to insert slack or buer time into the timetable. Buer time absorbs the propagated delay from unexpected disturbances and increases the robustness of the timetable. However, this is in the opposite direction of minimizing 15 the eciency. Thus a trade-o exists between the eciency and robustness of the timetable. We next present a literature review on robust timetabling models and algorithms. 2.2.2 Robust Timetabling The majority of the early research on the railway scheduling and timetabling problem assumes perfect information about the system state and focuses on generating the optimized train schedules eciently. In real-time railway operation, it is common that disturbances arise and the plannned timetable becomes infeasible. There are mainly two steams of research to deal with disturbances. One is from a recovery perspective, which is to adjust the routes or reschedule the timeable to recover the feasibility of the schedule. Cacchiani et al. (2014) surveyed the recovery models and algorithms for real-time railway disturbance and disruption management. The survey covers the recent mathematical models that algorithmically solve railway rescheduling problems that are related to the timetable, the rolling stock and crew planning. The train timetable rescheduling problem aims at the adjustment of an existing timetable that has become infeasible due to unpre- dicted disturbances or disruptions. The common adjustment decisions considered in the literature include the routing of trains, the time instants of the departures and arrivals of the trains and the order of trains on their common track sections. Corman and Meng (2015) and Fang et al. (2015) provided more surveys on recent studies for online railway trac rescheduling problems. Another stream of research, which has become more popular recently, is to design a robust model to determine the timetable. Railway real time trac management aims to minimize delays and tardiness when unpredicted disturbances of operations occur. In a stochastic timetabling mod- els, the objective is to nd the best train routing and scheduling in case of disturbances. Parbo et al. (2016) gave an extensive overview of the timetable design problem with a train-oriented focus. The reviewed approaches were compared based on the passengers'perspective and railway operation's perspective, to highlight the robustness of the timetable. 16 To maintain the punctuality of the train schedule, robust timetabling approaches are recently widely studied. The denition of timetable robustness varies in the studies. In the early research, timetable robustness focused on the recovery ability of the timetable to absorb disruptions, as in Vromans (2005), Salido et al. (2008), Cacchiani et al. (2009) and Medeossi et al. (2009). In the recent research, the robustness denition considers more about the delay absorption and travel time uncertainty reduction by maintaining the trade-o between nominal timetable and robust timetable, see Sch obel and Kratz (2009), Sch obel and Kratz (2009) and Dewilde et al. (2011). Following the idea of robust optimization, timetable robustness can be improved by introducing buer times that are large enough to absorb the most frequently occurring delays. Generally, robust timetables may add too much buer times which makes the plan conservative. Regarding on this issue, a common approach is to bound the total amount of buer times and decide how to optimize the allocation. The approach follows the idea of light robustness introduced by Fischetti and Monaci (2009) to bound the maximum deterioration of the cost function. Next some of the highlighted literature related to robust timetabling are reviewed. Meng and Zhou (2011) developed a stochastic programming model and a rolling horizon deci- sion process for train scheduling on a single-track rail line. The model addressed the uncertainties in segment running time. The model periodically optimizes the dispatching schedule for a long rolling horizon, while determining a robust meet-pass plan for every rolling period. A multi- layer branching solution procedure is developed to generate the solutions for dierent stochastic scenarios. Dewilde et al. (2011) discussed the robustness of the timetable for passenger train operations. The study showed that passengers prefer a timetable that has minimal expected passenger time under the expected primary delays, and it further demonstrates that this preference results in a reasonable robustness that is ideal for passengers. The selection of the objective function is discussed to support the concerns of passengers in making railway operation plans. 17 Pellegrini et al. (2014) proposed a mixed integer programming model to nd the best train routing and schedule in case of perturbation in the real time railway trac management problem. The MILP formulation is tested on two types of instances, random instances and perturbations of real instances. The experiments show that the granularity of the representation of the control area has a signicant impact on the solution quality, which is consistent with the pioneer study of Corman et al. (2009). Sun et al. (2014) in focused on timetable design in metro services under dynamic temporal passenger demand. The paper proved that the train timetabling problem under stochastic de- mand and capacity consideration is NP-hard. Three optimization models are proposed to design the demand-sensitive timetable. Standard solvers are employed to solve the uncapacitated and capacitated metro service timetable design problem from suboptimal solutions. Dewilde at al. (2014) introduced an iterative approach to successively improve the routing of trains by alternatively updating the timetable using tabu search. The scope of the problem is limited to the station area. The routing module optimizes the total weighted timespan for a given timetable. Then with the same objective function, the timetable is adjusted using discretized time units of 0.1 minutes. The proposed tabu search based optimization algorithm improves the solution by shifting some of the trains'time line. Besinovic et al. (2015) provided a hierarchical framework for timetable design using micro- scopic and macroscopic models of the network. An integrated approach for computing a micro- scopically con ict-free timetable is presented. To guarantee the feasibility of the timetable, an iterative adjustment of the train running time and minimum headway is performed. Sels et al. (2016) proposed an optimization approach for determining the passenger timetable, which consists of two step actions called re owing and retiming. The re owing step determines the number of passengers that each train takes between stations. Then the number of passengers is used in the objective function for the retiming step to determine the timestamps. The solution 18 reduces the expected passenger travel time when tested on the railway in Belgium, which only requires a relative small solver time. Hassannayebi et al. (2016) studied applying robust stochastic programming models to the train timetabling problem for urban rail transit systems. The dynamics and uncertain demand is represented by scenario-based arrival rates of passengers. A robust optimization model is formulated to address the expected cost of the passenger waiting time, its variance and the penalty function including the capacity violation due to overcrowding. First a deterministic equivalent model is formulated but the solving time suers from a large number of integer variables. Then a nonlinear model is formulated to penalize the violations of the capacity constraints in the objective function. The diculty in the second formulation comes from the nonlinearity of the model. Solution analysis is presented for both models, and the trade o between solution robustness and model robustness is discussed. Burggraeve et al. (2017) studied the integrated railway line planning and timetabling model, and proposed a heuristic algorithm to interactively optimize the two objectives. The line planning model aims at minimizing the operator and passenger costs, while the timetabling model aims at maximizing the buer times between any pair of trains. Each time a line plan is evaluated, a timetable is constructed from scratch and the most critical line is selected. As the critical line is adopted, the stop time at the station is altered to increase the buer and improve the robustness. In some other recent studies, Tornquist and Persson (2007), D'Ariano et al. (2007) , Corman et al. (2010), Fu and Dessouky (2017) studied various topics of the train scheduling problem, including timetabling in a general N-track network and real time scheduling to minimize the delay propagation under various sources of disturbances. It is noted that most of the robustness-oriented timetable studies concentrated on the buer time allocation. In the single line railway system, allocating buer time is the most eective way to absorb the disturbance and delay, and also to maintain the safety headway between trains. However, for a general railway system with multiple tracks, more choices are available 19 by introducing exible routing. The disturbances create primary delay for trains, but this delay can be minimized by rerouting the train to other feasible routes. The complexity of the problem signicantly increases when routing decisions are introduced into the system. 20 Chapter 3 Joint Passenger and Freight Train Scheduling Problem 3.1 Problem Statement and Formulation In this chapter, we consider the daily problem of scheduling both passenger and freight trains jointly. The model assumes that only the scheduled departure times of the passenger trains from their stations are given and the arrival times at the all track segments including track segments with stations are decision variables for both the passenger and freight trains to minimize the bi-objective of passenger train tardiness (dierence of the actual departure time and scheduled departure time at the passenger train stations) and freight train travel delay. We note there has been some limited research that considers both passenger and freight trains or trains of dierent priority class in determining the schedule. Those prior papers treat the timetables for the passenger trains (or trains of higher class) at all track segments as xed and schedules the freight trains (or trains of lower priority) around these timestamps. Dierent than the prior research is that (1) the passenger timetables at the stations are only given and the model determines the arrival time decisions at all other track segments such as at the junctions, control signals, etc., and (2) the passenger timetables at the stations are treated as soft constraints and a penalty is applied to the schedule when the actual departure time deviates from it. Thus, we formulate a model to jointly perform daily freight and passenger train scheduling and propose an algorithm that can schedule trains eciently to minimize passenger train tardiness and freight train delay. Although the passenger train timetables at the stations are stable, we are concerned with daily schedules since the demand for freight trains can change on a daily basis and this freight demand could 21 have an impact in the actual arrival times of the passenger trains at non-station track segments. We assume the freight train demand is known before the daily planning horizon. The objective of our proposed model is to jointly solve for the passenger and freight rail scheduling problem when they share the same trackage to improve the eciency of freight trains by reducing their travel times while maintaining the punctuality of passenger trains in the same railway network. This objective can be optimized by controlling three kinds of decision variables: 1. Routing decisions: The sequence of track segments that each train travels through. 2. Arrival/departure time decisions: The time at which each train arrives/departs at each track segment. 3. Priority decision: If two or more trains travel on the same track segment, the priority on which train seizes the track segment rst. Priority denotes the passing order of the trains over the track segment. In the studied problem, the passenger train timetable at station stops (intermediate stations) is given, rather than the timetable at each track segment or signal control point. The station timetable is used as a reference to decide the actual arrival and departure times at each track segment or signal control point, as well as the routing and priority decisions of both passenger and freight trains. That is, only the scheduled timestamps at the passenger stations are given. The model then determines the timestamps at various track segments or signal control points to meet the scheduled timestamps at the passenger train stations. This schedule plan is made on a daily basis, or when the freight train demand is changed. Considering the structure of a general railway network and the characteristics of the train movement process, the control variables have to be feasible in two aspects: 1. The routes between any two trains should be deadlock free. Deadlock can happen when two or more trains traveling opposite directions request the same resource at the same time. 22 2. Between any two trains, a minimum safety headway should be guaranteed. We quantify the freight train eciency by its travel time, and the passenger train punctuality by its tardiness at its station stops. The freight train travel time is directly related to its delay since delay is dened as the dierence between the actual travel time when there are other trains in the rail network and its free ow travel time when there are no trains in the network. Passenger train tardiness is dened as the dierence between its actual arrival time and scheduled arrival time if the actual arrival is later than the scheduled arrival, else it equals to zero. This section rst presents the model representation of a generic complex railway network. The abstract network model structure inherits the idea from Dessouky and Leachman (1995) and Lu and Dessouky (2004), which can be used to model a general railway network including single- track lines, double-track lines and triple-track lines. To describe the problem using a mathematical model, we translate the actual rail network to an arc based network. The actual railway network consists of tracks, sidings, junctions, and platforms. According to their characteristics, we classify the network into two resources: track segments and rail junctions. Track segments are basically segments of track which can be traveled by a train. Rail junctions are used for train crossover movements between track segments. A track segment is a minimum unit in the network, and each segment is represented as a unique resource with one unit of capacity. Segments are dened between junctions, which means that there are no junctions that exist within a segment. According to this rule, the simplest way to divide the network is to break it down at all the junctions, and to treat the track between the two junctions as a segment. But this division oversimplies the network. A more precise division is to break down the network into segments at speed limit changing points. However, a long segment with a constant speed limit would be a waste of the track resource since we assume each segment only has capacity for one train. Therefore, the headway distance between trains would be too large when the segment is too big, which decreases the total capacity of the railway network. In this thesis, we set the length of a node as the longest length of a train and set it to unit capacity. This guarantees at minimum the length 23 of the longest train as the minimum safety headway. Also the position of the junctions, speed limit and the location of the signals are considered in the division of the track segments. The junctions and signals are usually the division point unless the distance between two division points is longer than the longest length of a train. By the denition of unit capacity, each segment and each junction can be occupied by at most one train at any time. As an illustration of the track segment characteristics, Figure 3.1 and Figure 3.2 show the railway network and the corresponding arc based network. Figure 3.1: Sample Railway Network Figure 3.2: Abstract Graph of Sample Network 24 The basic components of the network are nodes and arcs. Each node denes a combination of one or more contiguous segments. The node is the basic component of a complete route. Arcs are connections between the nodes, and they represent the movement of trains between nodes. Note that the railway network itself is an undirected graph, so a track could be entered in any direction. However, given the running direction of a train (e.g., westbound or eastbound), some of the nodes are not enterable. Corresponding to the model structure, the train information consists of origin and destination, speed limit, length and timetable if it is a passenger train. In order to eectively model and solve this train routing and scheduling problem, we setup metrics to evaluate the passenger trains' tardiness and the freight trains' travel time. We model it as a mixed integer problem, with a set of constraints that guarantee trac ow conservation, travel time feasibility and a safety headway between the trains. We formulate the model as a mixed integer programming problem, which extends the model structure from Dessouky et al. (2006). In their model, only freight trains are considered and the objective is to only minimize the travel time for the freight trains. The objective of our model is to minimize the sum of the freight trains' travel time, and the sum of the passenger trains' tardiness at all the stations. We now formally introduce the notation of the model: N Node set of network Q f Set of freight trains Q p Set of passenger trains Q =Q f [Q p Set of trains, including freight and passenger trains O q The origin node of train q's route D q The destination node of train q's route S q The set of station stop nodes along passenger train q's route, including origin and destination N ED q The auxiliary dummy end node after destination D q 25 N t q The subset of nodes which are reachable for train q N + i;q The preceding set of nodes for train q before entering node i N i;q The succeeding set of nodes for train q after exiting node i T q;s The scheduled arrival time of passenger train q at nodes which has a passenger station stop T E The end time of daily operation, which is set to be 23:59 Minimum safety headway between trains M A suciently large number t a q;i The arrival time of train q to node i t d q;i The departure time of train q from node i I q;i;j Binary variable to indicate if train q travels from node i to node j x q1;q2;i Binary variable to indicate if train q 1 passes node i before train q 2 There are three sets of decision variables in the model: t a q;i and t d q;i are referred as the time decisions. I q;i;j are referred as the route decisions andx q1;q2;i are referred as the priority decisions. The time decisions are related to the time that each train enters or exits the nodes, the route decisions are the set of nodes that each train uses, and the priority decisions are the sequence of trains traveling on each node. During the movement of a train on a node, the length of the train itself is non-negligible because of the division rule of the network. Therefore, the movement of a train cannot be viewed as the movement of a single point. We dene three time variables to indicate the position of a train on a node. a) Arrival time at the beginning of a node: The time when the head of train q arrives at the beginning of node i is denoted as t a q;i . 26 b) Arrival time at the end of a node: The time when the head of train q arrives at the end of node i is denoted as t a q;i+1 . c) Departure time at the end of a node: The time when the tail of train q departs from the end of node i is denoted as t d q;i . Figure 3.3: Arrival and Departure Time in Train Movement Figure 3.3 gives an example of these time points when a train is travelling through a node. Note that the time points cannot be precisely predicted in advance because of the trac congestion. To evaluate the time that a train spends on a node, we dene two measurements. B 1 q;i =t a q;i+1 t a q;i B 2 q;i =t d q;i t a q;i (3.1) B 1 q;i and B 2 q;i denote the running time and the occupation time, respectively. The related con- straints are that the departure time from a node should not be earlier than the arrival time plus the node travel time. The minimal travel time should be estimated so that the constraints can guarantee the relationship between the arrival and departure times. In our model, B 1 q;i and B 2 q;i are calculated based on the track segment speed limit, track length, train length and train speed limit. Note that in the calculation of B 2 q;i , after the train's head leaves the end of node i, the speed limit of nodei still applies since part of the train is still in node i. B 2 q;i also depends on the succeeding node since speed limit is applied after the train head enters the succeeding node, so 27 we further modify B 2 q;i to be B 2 q;i;j , and add a dummy end node N ED q after the last node on the route. Our optimization model is presented as follows. Objective function: min X q2Q f t a q;Dq t a q;Oq + X q2Qp X s2Sq max t a q;s T q;s ; 0 Subject to: P j2N Oq;q I q;Oq;j = 1; 8q2Q (3:2) P i2N + Dq;q I q;i;Dq = 1; 8q2Q (3:3) P j2N s;q I q;s;j = 1; 8q2Q p ; s2S q nfO q ;D q g (3:4) P i2N + j;q I q;i;j = P k2N j;q I q;j;k ; 8q2Q;8j2N t q (3:5) (1I q;i;j )M +t a q;j t a q;i B 1 q;i ; 8q2Q; i2N t q ; j2N i;q (3:6) (1I q;i;j )M +t d q;j t d q;i B 1 q;j ; 8q2Q; i2N t q ; j2N i;q (3:7) t d q;Dq t a q;Dq B 2 q;Dq;N ED q ; 8q2Q (3:8) (1I q;i;j )M +t d q;i t a q;j B 2 q;i;j B 1 q;i ; 8q2Q; i2N t q ; j2N i;q (3:9) (1x q1;q2;i )M +t a q2;i t d q1;i +; 8q 1 ;q 2 2Q; i2N t q1 \N t q2 (3:10) 0 @ 2 P j2N i;q 1 I q1;i;j P k2N i;q 2 I q2;i;k 1 A M +x q1;q2;i M +t a q1;i t d q2;i +; 8q 1 ;q 2 2Q; q 1 6=q 2 ; i2N t q1 \N t q2 (3:11) x q1;q2;i P j2N i;q 1 I q1;i;j + P k2N i;q 2 I q2;i;k ; 8q 1 ;q 2 2Q; q 1 6=q 2 ; i2N t q1 \N t q2 (3:12) t a q;Oq T q;Oq ; 8q2Q p (3:13) t a q;Dq T E ; 8q2Q (3:14) t a q;i 0; 8q2Q; i2N t q (3:15) t d q;i 0; 8q2Q; i2N t q (3:16) x q1;q2;i 2f0; 1g; 8q 1 ;q 2 2Q; q 1 6=q 2 ; i2N t q1 \N t q2 (3:17) I q;i;j =f0; 1g; 8q2Q; i2N t q ; j2N i;q (3:18) 28 The objective function minimizes both the total travel times for the freight trains and the total tardiness for the passenger trains. Constraints (3.2) - (3.3) ensure the route of a train has to start from the origin node and end at the destination node. Constraint (3.4) states that passenger trains have to visit their intermediate station stops. Constraint (3.5) guarantees the ow conservation on each node. Constraints (3.6) - (3.8) ensure the minimum travel time on each node. If the train encounters any waiting such as congestion, the travel time is greater than the minimum travel time which is the free ow travel time. Constraint (3.9) ensures the minimum travel time for a train to completely clear the occupation of the current node. Constraints (3.10) - (3.11) are the deadlock avoidance mechanism that keeps the distance between the trains to be above the minimum safety headway. Constraint (3.12) forces x q1;q2;i = 0 when both trainsq 1 andq 2 do not travel on node i. Constraint (3.13) states that the departure time of a passenger train from the origin station cannot be earlier than the scheduled departure time. Constraint (3.14) ensures that the train reaches its destination within the daily operation horizon. Constraints (3.15) - (3.18) are the domain constraints for the decision variables. The problem is hard to solve and the diculty comes from the scalability of the problem. The number of integer variables x q1;q2;i exist for every pair of trains on every node and the number of integer routing variables explodes as the size of the rail network grows, especially with additional junctions. The exponential growth in the number of integer variables makes real size problems computationally hard to solve optimally. Thus, we propose a decomposition based solution procedure that vertically decomposes the original problem and then deploys either optimization or heuristic techniques on each of the subproblems. 3.2 Solution Procedure For a general railway network, the optimal dispatching time is a NP-hard problem (Lu and Dessouky (2004)). Recall the three types of decision variables (times, routes and priorities) 29 are computationally hard to solve simultaneously. Thus we develop a heuristic algorithm that decomposes the problem into subproblems to solve problems of realistic size. In Figure 3.4, the overall logic of the heuristic algorithm is presented. Figure 3.4: The Flow Chart of the Solution Procedure The algorithm we propose is based on a two-step decomposition of the original problem. The motivation of decomposing the overall problem is that the size of the MILP is computationally dicult to solve as a single optimization problem. Through a decomposition procedure, several 30 subproblems are solved to produce a heuristic solution to the overall problem. We determine the priority and routing decisions for the passenger trains in the rst phase because the station timetables for the passenger trains are given, which can be used as a reference to derive passenger train timetables at non-station nodes (track segments). Furthermore, passenger trains are more sensitive to tardiness. The design of this two phase decomposition is based on the fact that the passenger train demand is relatively constant in each day; however the freight train demand changes from day to day. Before the daily operation, only the freight train scheduling phase needs to be updated since the passenger train scheduling phase is relatively stable. Once all the routing and priority decisions have been made, the time decisions are made jointly for the passenger and freight trains. The rst decomposition is train based, which decomposes the problem into a subproblem containing only decisions for passenger trains and a subproblem containing only decisions for freight trains. The second decomposition is route based, which decomposes the freight train subproblem into another set of subproblems and solves the priority variable for each route. Specically, the algorithm is as follows. First, passenger trains are scheduled together by solving three subproblems, which are passenger train priority assignment subproblem in Step 1, passenger train routing subproblem in Step 2 and passenger train departure time subproblem in Step 3. The details of the passenger train scheduling subproblem are presented in Section 3.2.1. Second, freight trains are scheduled sequentially according to a predened processing order, and this order is dened in Step 4. For each of the freight trains, the k-best routes are identied based on the current trac condition, which is implemented in Step 5. Each of the routes are then evaluated with the best priority assignment in Step 6. We note that after the passenger train scheduling phase, the freight trains are scheduled iteratively. At each iteration the priority and routing decisions are determined for the newly scheduled freight train. Note that at this step the freight train could be inserted before or after a passenger train, possibly impacting the arrival times of the passenger trains to their stations. After the priority and routing decisions for this freight train is determined, all the priority and 31 routing decisions for the passenger and the scheduled freight trains to this point are fed into a linear program to determine the time decisions for all these trains. This process is repeated until all freight trains have been scheduled. Thus, after the freight trains are scheduled the arrival times of the passenger trains to the stations may change. Before the scheduling of freight trains, the passenger train solution will be the same on each day. However, dierent number of freight trains, especially from dierent origin and destinations, could change the arrival/departure times of the passenger trains at each track segment or signal control point. If the insertion of a freight train fails due to infeasibility, the freight train will be skipped and will not be inserted to the schedule. The details of the freight train scheduling subproblem are presented in Section 3.2.2. In summary, our algorithm employs a decomposition based hybrid heuristic. First, the train schedules are vertically decomposed into two phases, passenger train scheduling and freight train scheduling. In the passenger train scheduling phase, only the objective related to passenger tardiness is considered. In the freight train scheduling phase, the weighted objective is considered and we solve the scheduling of freight trains in an iterative approach. We update the passenger train schedules to reduce the freight train travel time if the weighted objective can be improved. 3.2.1 Passenger Train Scheduling The objective of this step is to construct a schedule such that there is no tardiness for any passenger train at any station if possible. We maximize the earliness of passenger trains in order to maximize the slack when freight trains are scheduled later. The earliness of a passenger train is dened as the dierence between the actual arrival time and the scheduled arrival time. Note that the earliness is negative when a train is tardy. First, we construct a Max-Min Earliness subproblem related to passenger trains. The objec- tive of this problem is to construct the routes and priorities of passenger trains such that the minimum earliness of the passenger trains in each of the stations is maximized, thus making pas- senger trains arrive as early as possible. Note that we only look at the earliness objective when 32 creating the schedule with just passenger trains. The reason we study the earliness of passenger trains is that the earliness at intermediate stations (station stops) indicates the slack time of the passenger trains' arrival compared with the timetable. Optimizing the subproblem based on earliness can allocate the slack time (buer time) to passenger trains before each intermediate station. Moreover, maximizing the minimal earliness of each passenger train at each station gives a relatively uniform earliness and slack time, thus avoiding an unbalanced schedule in terms of on-time performance. These slack times can then be used when the freight trains are added to the schedule. Note that when solving for the problem when freight trains are added, the objec- tive now considers both passenger train tardiness (i.e., no longer focusing on minimizing earliness since the slack has been previously added) and freight train delay. For the studied rail network, there is sucient capacity so that the passenger trains can arrive early to their stations without any freight trains, but without careful scheduling this is no longer automatically the case when considering the freight trains. In summary, in the passenger train scheduling phase our approach pushes the passenger train arrival times as early as possible in a balanced way to accommodate for the additional freight trains that need to be scheduled. After adding the freight trains to the schedule, the passenger train arrival times at the stations get pushed forward to closer match the given scheduled timestamps at the stations. The passenger routing and priority variables (precedence relationship between the passenger trains) that gives the maximum earliness will only need to be solved once as long as the passenger train demand is unchanged. However, the passenger train time decisions and the remaining priority variables (precedence relationship between the freight and passenger trains) need to be solved daily since the freight train demand changes daily. This is one of the reasons behind the decomposition procedure design. Subproblem-1: 33 Objective function: max min q2Qp;s2Sq T q;s t a q;s Subject to: Constraints (3.2) - (3.18) are from the original problem in which only the passenger train set Q p is considered. 3.2.1.1 Passenger Train Priority Assignment To solve the Max-Min Earliness Subproblem-1, we propose a heuristic rule to solve for the priority decision variables. Since the routes of the passenger trains are exible, the heuristic rule for priority assignment should be general such that they can t any of the routes for each passenger train. First the arrival time of the train at the nodes along its route is estimated. Train q's earliest possible arrival time at some nodei in its routes is calculated as follows. The complete candidate routes set for trainq isR q . We denotet a q;i;r as the arrival time of train q at nodei through route r. In route r, the node set before node i is denoted as N c q;i;r . Objective function: minT a q;i Subject to: t a q;Oq;r T q;Oq ; 8r2R q (3:19) t a q;j+1;r t a q;j;r +B 1 q;j ; 8j2N c q;i;r ; r2R q (3:20) T a q;i t a q;i;r ; 8r2R q (3:21) Since the actual departure time and trac congestion is unknown, the arrival time at any given node cannot be precisely estimated. The solution to the problem gives us the earliest arrival time T a q;i under an arbitrary route, with the assumption of an on-time departure and zero congestion 34 (free ow travel time). However, this estimation of arrival time does not consider the anticipated tardiness of passenger trains at its next station. Intuitively, some of the tardiness can be avoided if a higher priority is assigned along the route of a tardy passenger train. The minimal anticipated tardiness can be solved through a similar model, with only a slight transformation. We denote the minimal anticipated tardiness of train q at node i as T t q;i , where T t q;i =T a q;i +T b q;i;s T q;s . T b q;i;s is the shortest free ow travel time of train q from nodei to node s that contains the next station and T q;s is the scheduled arrival time at s. Note that if the train is early, the anticipated tardiness value is dened to be negative. Our priority assignment rule is based on the weighted average of the arrival time and the anticipated tardiness. We assign priority mainly according to the earliest arrival time, but when the anticipated tardiness is detected to be too large, the train's priority increases. This method considers the anticipated tardiness, but does not necessarily hold a train back. We dene a metric to measure the weighted sum of the earliest arrival time T a q;i and anticipated tardiness T t q;i , as a weighted sum time T w q;i : T w q;i =T a q;i (1)T t q;i ; 8q2Q p (3.22) This weighted measure is used as a heuristic rule to sort the passenger trains based on increasing value of this measure (e.g., smallest has highest priority) on each node to make priority decisions. The weighted coecients are tuned in the following experiments. The performance of the priority assignment rule depends on the network structure and the density of the passenger train schedules. Experiments should be done to evaluate the appropriate value for on a specic network and schedule. We use part of the railway network in the Los Angeles area, from Downtown to Fullerton. In these experiments, we only consider the daily passenger trains. The test network contains about 20 miles of track, including double-track and triple-track segments. Specically, there are 77 track segments and 31 junctions in total. In our abstract graph, there are 69 nodes and 62 arcs. The daily passenger train schedule contains 51 passenger trains in total in both directions. There are 35 a total of four passenger train station stops in this area. This same network is also used in the rest of this chapter to test the other aspects of the solution procedure. Recall that the earliest arrival time T a q;i and minimal anticipated tardiness T t q;i are dened under the complete candidate route setR q , which contains all the routes between the origin station O q and nodei. However, the number of routes grows exponentially with the number of junctions. In this sample network,Subproblem-1 has 138,085 integer variables, hence it is computationally prohibitive to solve the problem to compute T a q;i and T t q;i for every q;i combination considering all possible routes. Thus we randomly select a route for each passenger train q, and we compute T a q;i and T t q;i for every node i along the selected route. To identify the value of , we perform 1,000 random samples for the passenger trains route combination, and evaluate the objective of Subproblem-1, which is computed by xing the passenger trains' routes as the sampled routes, setting the priorities based on theT w q;i measure, and solving the arrival/departure times as a linear programming problem. Since by xing the routing variables and priority variables, Subproblem- 1 reduces to a linear programming problem. Table 3.1 records the average and maximum of the Max-Min Earliness of the 1,000 random samples. Note that a negative Max-Min earliness value indicates that all the passenger trains are tardy. Coecient 1.0 0.99 0.95 0.9 0.85 0.8 0.7 0.6 0.0 Max-Min Earliness (min) Avg -16.6 -14.3 -15.8 -13.0 -13.0 -16.2 -24.0 -21.7 -120.8 Max 0.213 1.098 3.426 3.139 1.825 0.010 -1.415 -0.470 -50.674 Table 3.1: Performance of Priority Assignment with Dierent From the results, we can conclude that a coecient setting of = 0:9 is best for this rail network. The primary reason that all of the columns have a negative average Max-Min Earliness is because the routes are randomly generated. The randomly selected route combination does not provide any guarantee to a low trac congestion or a selection of a route with the least free ow travel time, thus making the average Max-Min earliness to be negative. However, the Max row in 36 Table 3.1 indicates that at least some of the route combinations can generate positive Max-Min earliness, which means zero tardiness for all the passenger trains. The next step in solving the Max-Min Earliness subproblem is to construct a route combination between passenger trains such that the Max-Min Earliness is positive and maximized. 3.2.1.2 Passenger Train Route Construction For a general railway network, the routing of trains is exible. Shorter distances and higher speed limits are preferred when a route is selected. Due to the fact that the track resources are shared by multiple trains, assigning similar routes to dierent trains may generate extra congestion. Therefore, route construction should minimize individual train travel time and network congestion. In this section, we present a genetic algorithm based heuristic to construct the routes for passenger trains. The genetic algorithm is a search heuristic that mimics the process of natural selection. It is widely used to solve many optimization problems. In a genetic algorithm, an evolution process is performed on a population of candidate solutions to guide the search towards a better solution. A typical genetic algorithm requires a chromosome representation of candidate solutions and a tness function to evaluate the solutions. First, we dene the chromosome representation and then we introduce the tness function. Population initialization: A chromosome is dened as a bit string that represents the route combinations of all passenger trains. Each bit of the chromosome is mapped to a route of a specic train. The route domain of a train is dened under some rules so that the space of the chromosome is limited to a reasonable size. For each passenger train, the total number of routes that are generated is restricted to a maximum of n c , so that each bit of the chromosome is an integer with a range of [1;n c ]. There arejQ p j passenger trains so that the length of the chromosome isjQ p j. Note that the number of possible routes between the two stations grows exponentially with the number of junctions along the track. Therefore, the candidate route set 37 is limited to the size of n c for each train. The criterion to construct the candidate route set determines the overlap of the routes between the trains and in uences the congestion along the track. Here we introduce four criteria in the candidate route set construction: 1. Depending on the travel direction of a train, the tracks are assigned with dierent weights. We assume the left-hand side track along the travel direction is preferred if multiple suc- ceeding nodes are reachable. Weights on the preferred succeeding nodes are assigned twice of the weights on the other nodes. 2. Trains are not allowed to make frequent track changes during their travel. Each passenger train is only allowed to do one track change every ve times its length. 3. After changing track to the non-preferred track, the train changes back to its preferred track (left track) within three possible junctions. After three junctions, the train is forced to change back to the preferred track at its best eort, and Criteria 1 and 2 will be overridden in this case. 4. The station stops (intermediate stations) have to be passed along the route. The candidate route set is rst lled randomly according to the criteria above. Then based on the total weights along the route, n c distinct routes with highest weight are selected as the nal candidate set. Fitness function: The tness value is dened as the objective value of the Max-Min Earliness subproblem. The route combination is retrieved from a given chromosome and then routes and priority integer variables are substituted in the Max-Min Earliness subproblem. Since after the priority decision and route construction, all integer variables are xed, the problem is now a linear program and can be solved eciently. Note that Constraint (3.14) states that all operations should be completed within a daily period. Thus it is possible that some of the chromosomes yield infeasible solutions. For example, if the scheduled arrival time of a passenger train is near 38 the end of the day, a large tardiness makes Subproblem-1 infeasible. In this case, the objective value is set as1 so the chromosome is eliminated in the selection process. The tness function solves the Max-Min Earliness subproblem and obtains the arrival and departure times of each passenger train at each node. The arrival and departure times for each train at each node are recorded, and they are used in the scheduling of freight trains in the next section. The basic operations of the genetic algorithm consist of selection, crossover and mutation, which are dened as follows. The selection method is chosen as tournament selection, since preliminary experiments show that the tournament method performs best to nd the individual with the highest tness value. The crossover step generates new route combinations from the parent generation with probability c . A two-point crossover is then executed to swap the bit segments between the two parents. The mutation operation is performed after the crossover step with probability m . It imitates the mutation as seen in natural evolution, which adds the variation to chromosomes in generating the children. Mutation happens randomly with a small probability and changes the chromosome into a feasible neighborhood solution. We dene the neighborhood solution as being the current solution, with the exception of one route. Each time when a mutation is triggered, a train changes its route to another one within the candidate route set. The mutation uses a single point mutation strategy so that each mutation changes a random bit in the chromosome. Termination criteria: The termination criterion is met when either one of the following two conditions is satised. a) The maximum minimum earliness e M is reached. b) The maximum number of generations n G is reached. We use the same sample network as in Section 3.2.1.2 to perform experiments in selecting the best combination of the crossover probability c and mutation probability m . The total population size is set to be 200, n c is set to be 20 and the maximum number of generations n G 39 is set as 100 and e M = 16:77. We compute this e M value by rst identifying for each train its maximum earliness along all its stops and routes with the assumption of on-time departure and zero congestion on the route (free ow travel time), and thene M is set to be the minimum of these values across all the trains. Table 3.2 shows the Max-Min Earliness for dierent combinations of c and m . For each combination, we run it ve times and record the best value. The results in Table 3.2 use the genetic algorithm for routing with = 0:9. According to this result, c = 0:5 and m = 0:2 are the best settings for these parameters. The result of 5.41 for the Max-Min Earliness compares favorably with the average and maximum results in Table 3.1. Clearly the genetic algorithm provides solutions that outperform the average of the 1,000 random sampled routes, but it also outperforms the maximum value of these random samples. The purpose of presenting Tables 3.1 and 3.2 is to illustrate how some of the parameters of the solution algorithm can be calibrated. The intent is not to show that our solution procedure can outperform a random solution procedure. We note however that the best calibrated solution in Table 3.2 outperforms the best value of the 1,000 random samples of route combinations in Table 3.1. Since this is a rather large random sample, it is possible to sample one good solution. Max-Min Earliness m n c 0.1 0.3 0.5 0.7 0.1 -0.41 1.17 1.17 -0.41 0.2 2.31 3.67 5.41 2.31 0.3 1.87 1.17 1.87 1.87 0.4 1.17 -0.41 -1.11 -1.11 Table 3.2: Calibration of Crossover and Mutation Probabilities 40 3.2.2 Freight Train Scheduling Unlike passenger trains, freight trains have more exibility in selecting their departure times from their origin stations, as long as the arrival time to the destination is on time. The routing of freight trains is also exible, but it should strive towards having minimum impact on the rail trac along the corridor. Freight train scheduling cannot follow the same strategy used for passenger trains because of the following reasons: 1. The priority assignment rules are dierent. The priority assignment rules for passenger trains are determined by the anticipated arrival time and tardiness. Freight trains have no station timetable, thus the weighted measure in Equation (3.22) is no longer applicable. The decision about freight train priority assignment should minimize the freight train traveling time while having minimal impact on passenger train tardiness. 2. The route requirements are dierent. The route construction for freight trains should be based on adding minimal trac congestion to the rail corridor/network. The route con- struction method developed for passenger trains focused only on maximizing the minimum earliness (i.e., to have as much slack as possible to accommodate the freight trains when they are scheduled) and not on travel time minimization. In this section, we present our freight train scheduling algorithm. Freight trains are sequentially scheduled into the system. In this algorithm, the freight trains' travel time and passenger trains' tardiness are minimized each time a new freight train is scheduled. The algorithm contains three steps, which consists of three subproblems: freight train scheduling order, freight train routing and freight train priority setting. 3.2.2.1 Freight Train Scheduling Order In the algorithm, freight trains are scheduled sequentially. Here the scheduling order refers to the sequence of handling the freight trains, since the freight trains are inserted sequentially. Train 41 priority refers to the precedence relationship of two trains on a track segment, which corresponds to the decision variables x q1;q2;i in Section 3.1. Given the priority variables of a set of trains, the sequence that trains travel through the node is uniquely determined. The scheduling order does not refer to the ordering of trains visiting a node. It is the order that the freight trains are processed in the solution procedure. In fact, it is possible for a train that is ordered (processed) after another train to be given a higher train priority (precedence relationship) than the earlier ordered (processed) train. Once a freight train is scheduled, its route and priority are xed. First, the freight trains are grouped according to their origin-destination pair. Each group of trains is dened as a freight train demand set. Note that the trains in a demand set share the same origin and destination, thus the similarity of the routes between them is high. Scheduling all the freight trains within a demand set at the same time adds signicant amount of trac on portions of the network, which may cause congestion. The rule is based on evenly spacing the release of the freight trains from the same demand set. Given K freight train demand setsfD 1 ;D 2 ;:::;D K g and each demand setD k hasjD k j freight trains. First, the K demand sets are sorted in descending order according to their size. Thus, trains in demand sets that are larger (largerjD k j) are more likely to be released earlier than freight trains in smaller demand sets. Then in each demand set D k , a xed portion of trains with size ofd jD k je are selected to be scheduled. After a train is scheduled, it is removed from its demand set. The process iterates through the K demand sets until all the sets are empty. For example, if the sorted demand sets are D 1 = [q 1 ;q 2 ;q 3 ;q 4 ], D 2 = [q 5 ;q 6 ], D 3 = [q 7 ] and = 0:5. Then, the scheduling order is rstfq 1 ;q 2 g from D 1 ,fq 5 g from D 2 ,fq 7 g from D 3 ,fq 3 g from D 1 , fq 6 g from D 2 and nallyfq 4 g from D 1 . We use an iterative approach to schedule freight trains. In this approach, rst the route of the freight train is assigned based on the current trac congestion, then the priority relation of the train with all the previously scheduled trains are identied. Finally its route and priority decisions are fed into a linear program to solve for the best arrival/departure times. 42 3.2.2.2 Freight Train Routing Subproblem In order for a freight train to be scheduled, its route is rst identied. In a general railway network, there are double track, triple track or even more complex track structures. In our network construction, no assumption about track structure is made. The routing of the trains is exible under the constraints of the moving direction and junction direction. The principle for identifying the freight trains route is based on the balance of its travel time and overall trac congestion. Note that the trac congestion of a network depends on the time that the train enters the rail network. The freight trains can depart from their origins and enter the network at any time throughout the day. However, the best route could be dierent at dierent times of the day. For example, during the rush hour of the day, the best route is highly in uenced by the trac congestion. In our solution approach for freight train scheduling, the routing and priority decisions are made rst and then the departure times are identied. Thus, the routing decision for the newly scheduled freight train q should rely on an approximation of the trac congestion. Note that in the train movement, its actual travel time will be greater than the free ow travel time if there is congestion. The earliest arrival time is the departure time at the origin station plus the free ow running time. The delay time, which is the dierence between actual arrival time and earliest arrival time, can be used as an indicator for trac congestion. The delay time at a node is the sum of the delay times of the previously scheduled trains, which can be obtained from the departure/arrival times recorded in the previous iterations. The previously scheduled trains are denoted as Q = Q f [Q p , in which Q f represents the previously scheduled freight trains. For a previously scheduled train, let the sequence of nodes along its route be Z q ,8q2Q and its arrival time at node i is recorded as t a q;i , i2Z q . For each node i2Z q , the corresponding train's congestion factor c q;i can be represented by the dierence between the actual arrival time and the earliest arrival time. The earliest arrival time assumes 43 free ow travel (without trac congestion) from the start node of movement. We denote the free ow travel time of train q from node n 0 to node i through route Z q as t f q;n0;i , in which n 0 is the start node of movement for train q2 Q . For the freight train, we consider n 0 to be its origin station. For the passenger train, we consider n 0 to be the previous node which contains a station stop before node i. The congestion factor is calculated as follows: c q;i = max h t a q;i t f q;n0;i +t a q;n0 ; 0 i ; 8q2Q ; i2Z q (3.23) Additionally, the tardiness of the passenger trains is also included as a term with a weight of !, meaning that the candidate route selection receives a penalty if it adds to the passenger trains tardiness. The tardiness factor of passenger train q at node i is denoted as h q;i , and it is dened as the dierence between its actual arrival time at nodes that contains the next station stop from node i and the scheduled arrival time at s if it is tardy, else it equals to zero. h q;i = max(t a q;s T q;s ; 0); 8q2Q p ; i2Z q (3.24) The total congestion on nodei is the sum of the congestion factors of all trains inQ on node i. The total tardiness on node i is the sum of the tardiness factors of all trains in Q p on node i. We dene the total weight of node i as F i as follows. F i = X q2Q c q;i +! X q2Qp h q;i ; i2N (3.25) Preliminary experiments show that ! = 10 gives a balance between the total congestion and the total tardiness. The weighted objective value of node i, F i , is a nonnegative number for evaluating the trac congestion. A large value means that the potential trac on node i tends to be heavy. The route selection for the freight train prefers the least congested route, which keeps the travel time short and also adds the least delay/tardiness to the previously scheduled trains. Thus, the best route is dened to be the one with the least travel time under the anticipated 44 trac. To increase the search space, we select the k-best routes with least anticipated trac by solving the following problem. For the new scheduled freight train q 2 Q f nQ f , the search space for its route is within the sub-network that only contains the reduced node setN t q . We build another network with the same structure of the sub-network, but the weight of each node is assigned asF i +B 1 q ;i , in whichB 1 q ;i is the free ow travel time of trainq on nodei, andF i is the weighted objective which approximates the anticipated trac at node i. Finding the best k routes for this network is actually nding k shortest paths. This problem can be solved eciently by deploying the generalized Dijkstra Algorithm (1959) or Eppstein's Algorithm (1998). 3.2.2.3 Freight Train Priority Assignment Subproblem The route denes the sequence of nodes that a train travels through. On each node along the route, the priority relationship of the newly scheduled train q with the previously scheduled trains should be selected carefully. In this section, we present an algorithm to assign the priorities to the newly scheduled freight train to the nodes along a given route. In Section 3.2.2.2, the k- best routes are selected to be evaluated and a priority assignment is determined for each of these routes. The selected route from these k-best routes for q is the one that minimizes a weighted objective function of the total freight train travel time and the total passenger train tardiness. In the freight train scheduling phase, we hold the priority variables between the passenger trains xed, and insert the freight train into the plan. This freight train can be inserted before or after any previously scheduled freight or passenger train. Note that handling freight trains after passenger trains does not necessarily mean that we always hold back a freight train and let the passenger trains move rst. Thus, freight trains can either move before or after passenger trains depending on the situation. 45 Figure 3.5: Example of the Candidate Insertion Position Along a Triple Track Segment We dene the insertion position for train q as the position in the sequence of the previously scheduled trains on node i. Figure 3.5 shows an example of candidate insertion positions on a node. Together, all the given priority variables dene a unique sequence of trains. Assume for node i in the sample network, the priority relationship between the previously scheduled trains areq 1 >q 2 >q 3 , which means that the given priority decisions arex q1;q2;i =x q1;q3;i =x q2;q3;i = 1. Then there are four candidate positions for the new train. For example, position 1 is the newly scheduled trainq travels through nodei beforeq 1 , and position 2 means trainq travels through node i after q 1 and before q 2 . The objective of the freight train priority assignment is to nd the insertion positions on the nodes along the route, with a minimum increase in total freight train travel time and total passenger train tardiness. We denote the newly scheduled train as q and the sequence of nodes along its route as Z r q , where route r is one of the k-best routes from Section 3.2.2.2. We identify an insertion position for train q for each node in each route r. For simplication we drop the superscript from Z r q because the insertion procedures are the same for each of the k-best routes. To select the best insertion positions, we dene Subproblem-2. 46 Objective function: min X q2Q f (t a q;Dq t a t;Oq ) + X q2Qp X s2Sq max(t a q;s T q;s ; 0) Subject to: Constraints (3.2) - (3.18) are from the original problem. All the routing decisions in constraints (3.2) - (3.12) are according to the current route given from one of the k-best routes found by the procedure in Section 3.2.2.2. This still leaves a signicant number of integral priority variables. Our approach for reducing it is rst to iteratively schedule one train at a time based on the order algorithm in Section 3.2.2.1. Then we hold the integrality for the priority variables associated with train q for one node at a time, and solve the relaxed problem. Thus, we solve Subproblem-2 jZ q j times. Let i be the current node in Z q that is being evaluated, we require integrality for x q 0 ;q ;i and x q ;q 0 ;i for q 0 2 Q , and relax x q 0 ;q ;j and x q ;q 0 ;j for all j2 Z q nfig. We also hold all the other priority variables xed at their values from the previous iterations. Then to nd integral values for the relaxed priority variables x q 0 ;q ;j and x q ;q 0 ;j for all j2Z q nfig, we apply a Backward-Forward Insertion (BFI) algorithm to derive their priorities. Freight Train Insertion Rule On each node j in Z q , we use S j to represent all the previously scheduled trains that travel through node j, and an insertion position of q on node j is denoted as a q j , 1a q j jS j j + 1. Generally, there arejS j j + 1 candidate insertion positions on node j if there arejS j j previously scheduled trains passing through node j. Note that not all the sequences are legal, since some of the overtaking actions between trains are not allowed. First we dene the illegal insertion positions. On each node j in Z q , the insertion position a q j separates S j into two sets: ^ S j;q is the set of trains on node j that have higher priority than q , and S j;q is the set of trains on node j that have lower priority than q . For example, in Figure 3.5 on node i if a q i = 2, then ^ S i;q =fq 1 g and S i;q =fq 2 ;q 3 g. 47 Proposition 1: Any condition below yields an illegal insertion position. a) S i1;q ^ ^ S i;q 6=;; 8i2Z q b) ^ S i1;q ^ S i;q 6=;; 8i2Z q c) ~ t d q ;q 0 ;i + P j k=i+1 B 1 q ;k +>t a q 0 ;j ; 8i;j2Z q ; i<j 1;8q 0 2 ^ S i;q \ S j;q where ~ t d q ;q 0 ;i is the earliest departure time of q from node i after train q 0 , ~ t d q ;q 0 ;i =t d q 0 ;i + +B 2 q ;i;i+1 and t d q 0 ;t come from the arrival and departure times recorded in the previous iteration. Proof. Proposition 1: Condition (a) and Condition (b) can be proved along similar approaches. We present the proof for Condition (a) by contradiction. Assume S i1;q ^ ^ S i;q 6=;;8i2 Z q ,9q 0 2 S i1;q ^ ^ S i;q , x q 0 ;q ;i = x q ;q 0 ;i1 = 1. By Constraints (3.10), 8 > > > < > > > : t a q ;i t d q 0 ;i + t a q 0 ;i1 t d q ;i1 + (3.26) By Constraint (3.12), either I q 0 ;i1;i = 1 or I q 0 ;i;i1 = 1. (1) If I q 0 ;i1;i = 1, from Constraints (3.6), (3.7) and (3.9), we have t a q;i t a q;i1 B 1 q;i )t a q 0 ;i >t a q 0 ;i1 t d q 0 ;i t d q 0 ;i1 B 1 q 0 ;i )t d q 0 ;i >t d q 0 ;i1 t d q 0 ;i1 t a q 0 ;i B 2 q;i1;i B 1 q;i )t d q 0 ;i1 >t a q 0 ;i 9 > > > > > > = > > > > > > ; )t d q 0 ;i >t a q 0 ;i1 (3.27) By Constraint (3.9), t d q ;i1 t a q ;i B 2 q ;i1;i B 1 q ;i )t d q ;i1 >t a q ;i (3.28) 48 Combining Inequalities (3.26) and (3.27) contradict with the combining of Inequalities (3.26) and (3.28) as follows t d q 0 ;i >t a q 0 ;i1 >t d q ;i1 (3.2) t d q ;i1 >t a q ;i >t d q 0 ;i (3.3) (2) If I q 0 ;i;i1 = 1, by Constraint (3.9), 8 > > > < > > > : t d q ;i1 t a q ;i B 2 q ;i1;i B 1 q ;i t d q 0 ;i t a q 0 ;i1 B 2 q 0 ;i;i1 B 1 q 0 ;i ) 8 > > > < > > > : t d q ;i1 >t a q ;i t d q 0 ;i >t a q 0 ;i1 (3.29) Condition (3.29) also contradicts with Condition (3.26). Thus Condition (a) yields an illegal insertion position. Condition (b) can be proved along a similar approach. For Condition (c),8q 0 2 ^ S j;q \ S j;q , x q 0 ;q ;i =x q ;q 0 ;j = 1. By Constraint (3.10), we have t a q 0 ;j t d q ;j + (3.30) For the statement of Condition (c), we have ~ t d q ;q 0 ;i + k=i+1 X j B 1 q ;k +>t a q 0 ;j (3.31) And also since ~ t d q ;q 0 ;i is the earliest departure time of q from node i after train q 0 , t d q ;i > ~ t d q ;q 0 ;i (3.32) From (3.31) and (3.32), we have t d q ;i + k=i+1 X j B 1 q ;k +>t a q 0 ;j (3.33) By applying Constraints (3.7) on the sequence of nodes from i + 1 to j, we have t d q ;j t d q ;i + l=i+1 X j B 1 q ;l (3.4) 49 By substituting (3.32) to (3.31), we have t d q ;j +>t a q 0 ;j which is a contradiction to Condition (3.30)). Thus Condition (c) yields an illegal insertion position. Proposition 1 states that on any consecutive nodes along the path, the priority relationship between any pair of trains cannot be swapped. And on any non-consecutive node pairs, the overtaking between q and q 0 can only happen if the free ow travel time of train q is short enough to leave node j earlier than the arrival of train q 0 within a safety headway. Note that in the proof of Proposition 1, q 0 does not need to travel in the same direction as q . Thus Proposition 1 gives a dependent relationship of the insertion positions along the route, and we use these dependencies to derive the priorities for train q . We dene the legal insertion position as the position which does not create an illegal insertion position sequence. Freight Insertion Rule (FIR): Among all the legal insertion positions, the front most position, which is the earliest feasible insertion position, is selected to insert the newly scheduled train. Under FIR, we select the nearest legal insertion position in order to reduce the waiting time of q . To minimize the travel time of q , the waiting time at the current node should be minimized. Thus the front most position should be preferred since it gives the minimal waiting time for q before the next node. Based on Proposition 1 and FIR, we propose our Backward-Forward Insertion Algorithm (BFI) to construct an insertion position sequence in an iterative approach. Recall, we currently have the priority decisions for nodei for trainq from the solution ofSubproblem-2. BFI is used to infer the position of train q on all the other nodes in Z q nfig. We use the conclusion from Proposition 1 to eliminate the illegal insertion positions, and the rule of FIR is to select the front most legal insertion position. The algorithm performs a forward and a backward insertion 50 position inference to determine the insertion position. LetZ q be the nodes in which the priorities are known. Initially,Z q =fig in whichi is the xed integrality node fromSubproblem-2. Then the insertion position on some other node j is inferred and it is included in Z q . The iterative approach is repeated until Z q nZ q is empty. Note that the initialfig can be any node in Z q . We use each of the nodes in Z q for an initial solution, and the BFI algorithm is applied for each of the initial solutions to generatejZ q j nal solutions. The best one that minimizes the objective of Subproblem-2 is selected as the priority assignment for q . Backward-Forward Insertion Algorithm We now present the details of the BFI algorithm. Starting from an initial insertion position, we use heuristic rules to infer the insertion positions on the rest of thejZ q j 1 nodes for train q . The idea of the BFI algorithm is that the existing insertion positions actually bounds the time window for the legal candidate insertion positions on the other nodes. Given the legal candidate insertion positions of a new node, the one that minimizes the objective function of Subproblem- 2 is selected. The backward-forward inference step contains two independent and similar parts, which are backward inference and forward inference. Each part is an iterative approach that uses the existing insertion positions to infer the insertion position on a new node. The inference for a new node i 0 is based on a feasible time window on node i 0 . The feasible time window consists of four time measurements, dened as follows. (a) w minArr q ;i 0 : The earliest arrival time of train q to node i 0 . (b) w maxArr q ;i 0 : The latest arrival time of train q to node i 0 (c) w minDep q ;i 0 : The earliest departure time of train q from node i 0 . (d) w maxDep q ;i 0 : The latest departure time of train q from node i 0 . A feasible time window is calculated from the known insertion position(s) of the nodes. The algorithm is an iterative approach. In each iteration, the backward (forward) inference algorithm 51 infers a new priority insertion position a q j ,j2Z q nZ q and adds it toZ q , until all the nodes in Z q are covered. We present the details of the backward inference and forward inference steps as follows. Backward inference step: Step 0: Starting from an insertion positiona q i on some nodei , which is solved fromSubproblem- 2. Initialize Z q =fi g and go to Step 1. Step 1: Select node i 0 , which is the previous node of i in Z q to infer its insertion position. If there is no more previous nodei 0 on the route, go toStep 4. For each existing insertion positions on nodesfj2 Z q g, calculate the feasible time window on node i 0 with respect to j, denote as w minArr q ;i 0 (j), w maxArr q ;i 0 (j), w minDep q ;i 0 (j) and w maxDep q ;i 0 (j). Note that if a q j = 1, q is the rst train passing node j, then w minArr q ;i 0 (j) = 0; if a q j =jS j j, q is the last train passing node j, then w maxArr q ;i 0 (j) = T E , which is the end of the day. Among the trains in S j , we denote the train before a q j as ^ q and the train after a q j as q, if they exist. We dene the earliness of passenger train q2Q p on node i as e q;i = max(T q;s t a q;s ; 0), where i2Z q and s is the node that contains train q's next station stop after i. Note here earliness is dened dierently from Subproblem-1, we cap the earliness at zero so it cannot go negative. w minArr q ;i 0 (j) = 8 > > > < > > > : 0 a q j = 1; j2Z q max t d ^ q;j + P j l=i 0 +1 B 1 q ;l ; 0 a q j > 1; j2Z q w maxArr q ;i 0 (j) = 8 > > > > > > > > < > > > > > > > > : max t d q;j + P j l=i 0 +1 B 1 q ;l ; 0 a q j <jS j j + 1 and q2Q f ; j2Z q max t d q;j +e q;j + P j l=i 0 +1 B 1 q ;l ; 0 a q j <jS j j + 1 and q2Q p ; j2Z q T E a q j =jS j j + 1; j2Z q w minDep q ;i 0 (j) = min w minArr q ;i 0 (j) +B 2 q ;i 0 ;i 0 +1 ;T E w maxDep q ;i 0 (j) = min w maxArr q ;i 0 (j) +B 2 q ;i 0 ;i 0 +1 ;T E 52 Figure 3.6: Relaxation of the Time Window based on An Early Passenger Train The above calculations are directly derived from Constraints (3.6) - (3.11). Note that in the calculation for w maxArr q ;i 0 (j), if q is a passenger train and will be early to its next station, then we relax the latest arrival time by the earliness time. By doing this, this passenger train which is early is then given a lower priority since it has slack in its schedule. Then the new scheduled freight trainq could be scheduled before it. This step changes the departure time of the early passenger train, and is eective in reducing the freight train travel time while maintaining the minimum passenger tardiness. When a passenger train is early at its next station and the arrival time at the current node is relaxed to insert freight trainq , the retiming of the passenger train occurs and the time decisions along the corresponding passenger train's route until the next station are updated by the amount of the relaxed time. In Figure 3.6, we give an example about the relaxation of 53 the time window based on the early passenger train. Next, we identify the intersection of all time window measurements on node i 0 with respect to j, j2Z q , to get the feasible time window on node i 0 . And then go to Step 2. w minArr q ;i 0 = max j2Z q w minArr q ;i 0 (j) w maxArr q ;i 0 = min j2Z q w maxArr q ;i 0 (j) w minDep q ;i 0 = max j2Z q w minDep q ;i 0 (j) w maxDep q ;i 0 = min j2Z q w maxDep q ;i 0 (j) Step 2: We next identify the insertion position a q i 0 from the above time windows. Rank trains in S i 0 from highest priority to lowest priority. IfjS i 0j> 1, then remove train q 0 with the highest priority from S i 0, update S i 0 =S i 0nfq 0 g and go to Step 3. Else ifjS i 0j = 0, assign a q i 0 to the end of the train list at i 0 , update Z q =Z q [fi 0 g, and go to Step 1. Step 3: For q 0 , retrieve arrival time t a q 0 ;i 0 to node i 0 and departure time t c q 0 ;i 0 from node i 0 If w maxDep q ;i 0 +<t a q 0 ;i 0: Schedule q before q 0 , a q i 0 =a q 0 i 0 . Update Z q =Z q [fi 0 g, and go to Step 1. Else if t d q 0 ;i 0 +>w maxArr q ;i 0 and w minDep q ;i 0 +<t a q 0 ;i 0: Schedule q before q 0 , a q i 0 =a q 0 i 0 . Update Z q =Z q [fi 0 g, and go to Step 1. Else if w minArr q ;i 0 >t d q 0 ;i 0 +: Evaluate next position in S i 0 and return to Step 2. Else if w minDep q ;i 0 +>t a q 0 ;i 0 and t d q 0 ;i 0 +<w maxArr q ;i 0 : Evaluate next position in S i 0 and return to Step 2. Else if w minDep q ;i 0 +<t a q 0 ;i 0 and w maxArr q ;i 0 >t d q 0 ;i 0 +: If t a q 0 ;i 0 (w minDep q ;i 0 +) w maxDep q ;i 0 w minDep q ;i 0 > w maxArr q ;i 0 (t d q 0 ;i 0 +) w maxArr q ;i 0 w minArr q ;i 0 : Scheduleq beforeq 0 ,a q i 0 =a q 0 u 0, updateZ q =Z q [fi 0 g, and go toStep 1. Else: Evaluate next position in S i 0 and return to Step 2. Step 4: Return the insertion positionsfa q 1 ;a q 2 ;:::;a q i g. 54 Figure 3.7: Inference Rules in Step 3 In Figure 3.7, the inference rules in Step 3 are illustrated. The decision of scheduling q before q 0 is denoted as q >q 0 , and the decision of scheduling q after q 0 is denoted as q <q 0 in the gure. The axis shows the window of arrival time and departure time. Each row corresponds to a case inStep 3, in which the segment stands for the time interval of arrival and departure of train q 0 , with an extended segment to the right which stands for the safety headway . Forward inference step: The forward inference algorithm follows the same logic as the backward inference algorithm. In Step 1, node i 0 is selected as the next node of i in Z q in each iteration. In Step 1, the 55 calculation forw minDep q ;i 0 (j) andw maxDep q ;i 0 (j) remains the same as the backward inference step, the calculation for w minArr q ;i 0 (j) and w maxArr q ;i 0 (j) changes to w minArr q ;i 0 (j) = 8 > > > < > > > : 0 a q j = 1; j2Z q min t d ^ q;j + + P i 0 l=j+1 B 1 q ;l ;T E a q j > 1; j2Z q w maxArr q ;i 0 (j) = 8 > > > > > > > > < > > > > > > > > : min t d q;j + + P i 0 l=j+1 B 1 q ;l ;T E a q j <jS j j + 1 and q2Q f ; j2Z q min t d q;j +e q;j + + P i 0 l=j+1 B 1 q ;l ;T E a q j <jS j j + 1 and q2Q p ; j2Z q T E a q j =jS j j + 1 In our proposed algorithm, an insertion position sequence is constructed for each initial inser- tion position, thus at mostjZ q j sequences are constructed. Then each of the sequences (priorities decisions) and routing decisions are substituted into Subproblem-2 and a linear programming problem is solved for the departure and arrival time of all the trains infQ p [Q f g. The sequence with the minimal objective value is nalized as the insertion position sequence forq on routeZ q , and the updated departure/arrival times of all the other trains are obtained from the solution. The Backward-Forward Insertion (BFI) algorithm solvesjZ q j integer problems. Recall each integer program maintains the integrality requirement for all the x q 0 ;q ;i and x q ;q 0 ;i variables for nodei andq 0 2Q . All the remaining priority variables x q 0 ;q ;j andx q ;q 0 ;j wherej2Z q nfig in Subproblem-2 are relaxed. Note that the priority variables between any two previously scheduled trains q 1 ;q 2 2 Q are xed to their values from the previous iterations. Then after obtaining the x q 0 ;q ;i and x q ;q 0 ;i variables from solving Subproblem-2, we apply the BIF algorithm to obtain the priority variables x q 0 ;q ;j and x q ;q 0 ;j for all j2 Z q nfig. An alternative approach to using the BFI algorithm is to require integrality for all the variables x q 0 ;q ;j and x q ;q 0 ;j for all j2Z q andq 0 2Q . Note that although the latter approach will only solve one integer program, it will take signicantly more computation time since there are more integer variables in this formulation. We refer to this approach as Full Priority Assignment (FPA). We next perform 56 the comparison between the BFI algorithm and FPA algorithm. This experiment is performed on the test network that was introduced in Section 3.2.1. We add 84 freight trains and 22 demand sets to the previous data sets. For the k-best routes, we set k = 1 to compare the performances on one route. The experiments are conducted on a PC with a 3.6 GHz Intel Core CPU and 16GB memory. In summary, we rst perform the procedure described in Section 3.2.1 to determine the passenger train priorities, routes and departure/arrival times. Then we apply the algorithm to determine the freight train scheduling order. Then we iteratively determine the routing, priority and departure/arrival time for each freight train. We use the algorithm described in Section 3.2.2.2 to determine the routes, and we use the BFI algorithm or the FPA algorithm to determine the freight train priorities. Note that although at each iteration, the previously scheduled train routes and priorities are xed, their departure/arrival times maybe adjusted when scheduling the new freight train q . After the BFI algorithm, a linear program is solved to get the new departure/arrival times for all the trains. BFI Algorithm Experiments Table 3.3 shows the comparison of the objective function and CPU time between the two algo- rithms. Each row is the result of scheduling one additional freight train, and each row depends on the priority sequences of the previously scheduled trains. Note that both algorithms use an iterative approach, since the selected insertion position sequencefa q i ,i2Z q g is fed to the next iteration of the next train to schedule, so that both algorithms give sub-optimal results. The results from the test network shows that the solution quality for the BFI and FPA algorithms are similar. Since the priorities for the previous iterations are xed in solving the schedule of the ad- ditional train, the BFI can sometimes even outperform the FPA algorithm. From the comparison of CPU time, BFI is much faster than the FPA algorithm, especially when the number of freight train increases. 57 FPA BFI FPA BFI Index Obj CPU(s) Obj CPU(s) Index Obj CPU(s) Obj CPU(s) 1 81.0 0.7 81.0 0.3 43 2901.8 9.3 2939.0 6.3 2 159.4 0.8 159.4 0.4 44 2945.2 10.8 3003.4 6.7 3 233.8 0.9 233.8 0.4 45 3003.0 7.7 3065.8 4.6 4 301.4 1.1 301.4 0.4 46 3046.6 10.2 3120.2 4.1 5 371.0 1.0 371.0 0.5 47 3086.2 10.5 3163.2 5.2 6 435.0 1.1 436.6 0.5 48 3125.8 15.7 3214.8 6.4 7 507.0 1.3 507.0 0.6 49 3204.8 8.6 3250.2 4.8 8 582.8 1.4 582.8 0.7 50 3271.0 10.4 3291.0 5.6 9 653.4 4.6 664.6 0.7 51 3339.0 6.4 3335.2 7.2 10 730.4 2.3 730.6 0.8 52 3407.2 10.7 3416.8 7.2 11 795.4 3.9 796.2 0.9 53 3473.8 19.3 3481.0 13.6 12 860.6 7.8 861.6 0.9 54 3541.8 20.1 3545.4 16.6 13 931.0 13.1 932.0 1.2 55 3606.8 20.0 3612.4 11.8 14 991.8 7.4 995.2 1.0 56 3675.8 17.0 3681.4 15.8 15 1063 3.0 1066.4 1.5 57 1874.5 22.6 1874.5 17.8 16 1134.4 3.6 1138.2 1.5 58 1907.5 14.4 1907.7 30.1 17 1201.2 4.1 1204.6 1.7 59 3874.8 31.2 3880.6 15.9 18 1270.0 3.0 1274.2 1.7 60 3950.2 32.3 3942.8 13.0 19 1336.2 9.2 1354.2 1.9 61 4010.0 33.1 4005.0 13.5 20 1413.4 5.5 1415.8 2.6 62 4077.4 35.9 4067.2 17.7 21 1479.8 5.4 1482.2 3.1 63 4142.2 35.2 4133.0 12.7 22 1546.0 6.8 1548.4 3.6 64 4217.4 40.2 4196.0 16.5 58 23 1612.4 15.1 1616.2 3.3 65 4262.4 41.2 4239.4 10.8 24 1680.4 12.5 1682.8 3.5 66 4303.2 39.3 4284.4 9.2 25 1749.2 11.1 1751.2 3.3 67 4385.2 38.5 4350.0 19.5 26 1814.6 13.0 1817.6 4.5 68 4450.0 45.3 4413.8 17.6 27 1880.2 10.5 1882.8 2.2 69 4521.0 46.3 4491.2 17.5 28 976.6 18.1 975.6 2.7 70 4584.0 47.0 4555.4 14.2 29 1008.1 7.5 1008.8 3.4 71 4659.4 48.6 4618.2 14.0 30 2078.8 18.1 2091.4 2.7 72 4722.6 49.3 4694.0 13.5 31 2143.8 7.5 2166.6 3.4 73 4790.4 50.8 4760.6 13.2 32 2214.8 8.4 2229.8 3.6 74 4866.2 51.3 4828.4 18.2 33 2279.8 8.6 2292.2 3.3 75 4935.4 54.3 4895.2 18.1 34 2344.0 8.7 2356.6 4.4 76 4999.4 52.4 4959.2 18.1 35 2405.0 10.3 2419.8 6.7 77 5065.4 51.3 5020.8 17.3 36 2471.6 10.1 2480.8 5.8 78 5134.8 50.3 5082.8 18.0 37 2532.2 14.1 2546.6 2.7 79 5204.0 53.5 5150.4 17.4 38 2593.6 6.2 2606.6 10.3 80 5267.0 54.9 5215.6 17.0 39 2656.0 12.4 2671.2 7.4 81 5337.2 55.5 5283.2 21.3 40 2731.6 9.7 2745.4 6.8 82 5411.0 56.8 5348.4 13.8 41 2796.8 13.8 2809.2 4.7 83 5472.0 58.5 5410.8 15.1 42 2857.8 13.8 2876.0 5.4 84 5533.0 58.8 5472.8 23.1 Table 3.3: Comparison Between BFI and Opt-Integer with Same Passenger Schedule 59 3.3 Experimental Results In this section, we compare the performance of the proposed algorithms with other solution methods. In Section 3.3.1, we compare our solution approach against the optimal solutions. This comparison can only be made for small rail networks since it is computationally dicult to nd optimal solutions for large networks. In Section 3.3.2, we compare our solution with other heuristic methods for a large rail network. 3.3.1 Small Network First we build a small rail network with a small number of trains. The original model is directly solved on this sample network and passenger train timetables using a commercial optimization software, CPLEX. Then we deploy our algorithm to solve the same model and compare the objective and CPU time. The sample network contains 16 miles of rail track with double and triple track segments. There are six junctions along the track and three train stations in the rail network, and the abstract graph contains 58 nodes and 63 arcs. There are a total of 5 passenger trains. The railway trackage is show in Figure 3.8 and the timetable for the two schedules are shown in Table 3.4. In the Uniform-schedule, the passenger train timetable is uniformly distributed throughout the day. In the Compact-schedule, the passenger train timetable is scheduled within two rush hour periods in 8:00 - 10:00 and 17:00 - 19:00. The numbers in Figure 3.8 refer to the length (in miles) of the track segments. Figure 3.8: Test Network with Three Stations 60 Passenger Train Index Uniform-Schedule Compact-Schedule Station 1 Station 2 Station 3 Station 1 Station 2 Station 3 1 00:00 00:16 00:41 09:09 09:25 09:50 2 05:00 05:17 05:35 09:25 09:42 10:00 3 10:24 10:10 10:00 17:24 17:10 17:00 4 15:29 15:15 15:00 17:49 17:35 17:25 5 20:24 20:10 20:00 17:54 17:40 17:30 Table 3.4: Test Passenger Train Schedule First we directly solve the model using CPLEX, and denote the result as the CPLEX-Solution. Then we deploy our heuristic algorithm to solve the same model, and denote the result as Heuristic- Solution. We set k = 2 in this section. The results are presented in Table 3.5. Note that we stop CPLEX when either the optimal solution is found, or the maximum CPU time of 10,000s is reached. If the optimal solution is not found, we record the best solution found by CPLEX. The Opt Gap column gives the optimality gap for the CPLEX solution. From the results, our Heuristic-Algorithm computes the solution within 60s CPU time for all schedules. Note that when the number of freight trains is greater than seven, the optimality gap is very large, most likely due to a poor lower bound found by CPLEX. Our heuristic solution is very close to the optimal solution (or best CPLEX solution) in all schedules. Thus we conclude our solution approach can nd near optimal solutions for this small rail network when it is known. To illustrate how the solution approach distributes the use of the dierent track segments in Figure 3.8, we plot the number of passing trains per node in Figure 3.9 for the Uniform-Schedule scenario. 3.3.2 Large Network We consider a 59 miles long rail track network from Los Angeles to Riverside, CA. The trackage conguration consists of double-track segments and triple-track segments, and it contains eight passenger stations. In this network, there are 266 track segments and 88 junctions, and our translated abstract graph contains 331 nodes and 319 arcs. We dene a base case schedule according to the daily schedule of two passenger rail service providers in this area, Amtrak and 61 # of Freight Trains # of Integer Variables Uniform-Schedule Compact-Schedule CPLEX-Solution Heuristic-Solution CPLEX-Solution Heuristic-Solution Obj Opt Gap (%) CPU Time (s) Obj CPU Time (s) Obj Opt Gap (%) CPU Time (s) Obj CPU Time (s) 4 1,615 98.234 0.0 40.1 98.444 82.1 98.208 0.0 57.1 101.036 90.6 5 2,063 120.312 0.0 413.8 128.473 95.7 118.686 0.0 695.1 121.437 92.8 6 2,538 147.314 0.0 7,508 149.061 96.4 147.314 0.0 7,692 147.656 97.6 7 3,102 167.9 2,847 10,000 168.239 100.2 169.52 3510 10,000 169.538 98.1 8 3,677 198.27 3,531 10,000 198.272 105.3 196.634 4240 10,000 202.118 110.9 Table 3.5: Comparison Between Optimal-solution and Heuristic-Solution 62 Figure 3.9: Number of Passing Trains Per Node for the Uniform-Schedule 63 Metrolink. In the base case, there are a total of 84 freight trains and 89 passenger trains per day. We present the origin/destination (OD) pairs and the layout of the network in Table 3.6. Several trains types are assigned. The average length of a passenger train is 750 feet and the average length of a freight train is 6,000 feet. Origin Station Destination Station Number of Trains Per Day Freight Train Cajon Alameda Corridor 23 Alameda Corridor Cajon 23 Cajon Hobart Yard 16 Hobart Yard Cajon 16 AtWood Cajon 3 Cajon AtWood 3 Cajon Alameda Corridor 23 Passenger Train Union Station Cajon 5 Cajon Union Station 5 Union Station Fullerton 25 Fullerton Union Station 28 West Corona Riverside 4 Riverside West Corona 4 Cajon West Corona 4 West Corona Cajon 4 Union Station Riverside 5 Riverside Union Station 5 Table 3.6: OD Pairs for the Large Test Network 64 To schedule the train movement in the network, one approach is to follow our solution approach to get the decision variables, including routing decisions, priority decisions and departure/arrival time decisions. This approach uses our solution approach to control these train movements ac- cording to these decisions. We name this approach as Complete-Control. However, it may be dicult to strictly follow the Complete-Control solution in practice due to real-time changes and unexpected events in rail operations. Another approach is to deploy the departure/arrival time decisions from our solution model, and use a greedy based algorithm to construct the routes and assign the priorities as the trains travel along the rail network, similar to the approach of Lu and Dessouky (2004). The greedy based algorithm assigns priorities to trains under a First-Come- First-Serve rule. The routing decision is made when a train approaches the end of the node. If there are multiple available successor nodes, the node that gives the best performance for the system is selected. The performance is evaluated by a depth-rst-search-like algorithm. If there is no available successor node, the train decelerates to prepare for stopping at the end of the node. We name this approach as Partial-Control. During the deceleration process, the availability of the successor node is checked and the status of the train is updated dynamically. In another approach, rst the passenger train schedules are solved using our proposed method in Section 3.2.1, then the freight trains are sequentially inserted into the schedule assuming the schedules of the previously scheduled passenger trains are xed. That is, all time decisions for the passenger trains at all the nodes (e.g., stations, junctions, and signal points) are xed and are treated as hard constraints when scheduling the freight trains. This approach is referred to as Sequential since the passenger train schedule is determined rst and held completely xed and then the freight train schedules are determined. The fourth approach is to assign the freight trains with uniform departure times (equal interval) and use the greedy algorithm for routing and priority assignment, which is referred as Uniform-Departure. In the Uniform-Departure approach, the departure times of passenger trains from the origin station follow the timetable. 65 A comparison of the four approaches is presented in Table 3.7. Freight train delay is the dierence between the actual travel time and the free ow travel time. In Table 3.7, we present two average delays for the freight: one when there are no passenger trains in the network (average delay 1) and the other where there are passenger trains in the network (average delay 2). The dierence between these two average delays shows the impact on the freight trains on average when the passenger trains share the same track infrastructure. In the base case schedule, there are 84 freight trains per day, and there are 89 passenger trains with 260 passenger train and station combinations. Passenger train tardiness percentage is the percentage of times that a passenger train arrived tardy to a station and passenger train average tardiness is the average tardiness of these tardy arrivals. We increase the number of freight trains by 11 each time, and evaluate the performance of our approach when freight train demand increases. In this set of experiments, we randomly generate the origin-destination combination for each freight train. For each given number of freight trains, we run ve random samples and report the average statistics in Table 3.7. In Table 3.7, the Complete-Control control approach outperforms the other three approaches in reducing the freight train average delay and the passenger train tardiness. In the Uniform- Departure the departure times of the freight trains do not consider the trac congestion of the network. Thus the delay of the freight trains and tardiness of the passenger trains grows with increasing number of freight trains. Note that the average free ow travel time of freight trains is about 72 minutes in all cases, so when the number of freight trains increases, the delay of the freight trains actually contributes to a larger percentage to their total travel time. The results from Complete-Control and Partial-Control have smaller freight average delay time and average passenger train tardiness, since the departure time decision is optimized according to the trac in the rail network. Compared with the Complete-Control, the Sequential has larger freight train average delay. Comparing Average Delay 1 with Average Delay 2, the results show the importance of jointly scheduling passenger and freight trains since in the Sequential and Uniform-Departure 66 heuristics there is a signicant dierence between these two average delays. That is, in the presence of passenger trains, the average delay for freight trains is signicantly larger for these heuristics. For the proposed Complete-Control approach, the average freight train delay does not increase that signicantly when passenger trains are introduced to the rail network. The passenger train tardiness is zero for the Sequential method since without considering the freight trains there is sucient capacity in the system to ensure on-time arrivals, but since the passenger time decisions are treated as xed after the passenger scheduling phase, the freight train scheduling problem is more constrained and the arrival/departure times of all the trains are not jointly updated as in Complete-Control; thus the encountered trac congestion generates a higher delay. Among the four approaches, the Complete-Control approach gives zero average passenger train tardiness and the smallest freight train delay. This indicates that to meet the expanded freight train demand, our proposed solution procedure provides an ecient and high quality solution for the joint passenger and freight train scheduling and routing problem. In this chapter, we present a solution approach involving a joint routing and scheduling model that can be used to optimize the travel times of the freight trains and tardiness of the passenger trains. To solve the problem for real-world size problems, a vertical decomposition is rst per- formed for passenger train schedule optimization and then combined with freight train scheduling in an iterative procedure. From the results presented in Section 3.3, our decomposition based solution framework solves the problems more eciently than directly deploying a commercial optimization solver such as CPLEX, while maintaining a high quality solution. The benets of decomposing the scheduling comes in two aspects. The rst is that by decomposing the problem, large size real world problems are solvable in a reasonable amount of computation time. The un-decomposed approach (solving it as one big optimization problem) makes the problem computationally hard to solve for daily oper- ation. Nevertheless, in Table 3.5, we compare our decomposed procedure with an un-decomposed approach on a small problem size where it is possible to solve the un-decomposed approach. For 67 # of Freight Trains Complete-Control Partial-Control Freight Train Passenger Train Freight Train Passenger Train Average Delay 1 (min) Average Delay 2 (min) Tardiness Percentage (%) Average Tardiness (min) Average Delay 1 (min) Average Delay 2 (min) Tardiness Percentage (%) Average Tardiness (min) 84 0.0 1.612 0 0 1.035 3.491 5.03 1.191 95 0.0 1.701 0 0 1.421 3.676 8.11 1.278 106 0.0 1.739 0 0 1.982 3.991 8.32 1.301 117 0.125 1.983 0 0 2.312 5.122 8.95 1.319 128 0.179 2.001 0 0 2.613 5.787 10.17 1.401 139 0.593 2.107 0 0 3.052 7.013 10.55 1.513 150 0.826 2.311 0 0 3.421 9.134 11.24 1.537 # of Freight Trains Sequential Uniform-Departure Freight Train Passenger Train Freight Train Passenger Train Average Delay 1 (min) Average Delay 2 (min) Tardiness Percentage (%) Average Tardiness (min) Average Delay 1 (min) Average Delay 2 (min) Tardiness Percentage (%) Average Tardiness (min) 84 1.077 4.175 0 0 2.4377 9.134 26.11 5.762 95 1.601 4.331 0 0 2.724 10.895 29.39 5.913 106 2.085 5.102 0 0 3.039 11.342 36.21 7.354 117 2.513 6.119 0 0 3.963 12.341 39.00 7.822 128 3.147 8.284 0 0 4.762 12.908 39.98 8.657 139 4.532 9.391 0 0 5.930 13.429 42.89 10.989 150 5.609 10.917 0 0 7.037 15.107 48.56 11.860 Table 3.7: Performance Comparison Between Complete-Control, Partial-Control, Sequential and Uniform-Departure 68 larger instances, it is not computationally feasible to solve using an un-decomposed optimization approach. Thus, we compare our decomposed approach with other possible heuristics and show that our heuristic outperforms the other heuristic rules. 69 Chapter 4 The Stochastic Passenger Train Timetabling Problem In the deterministic integrated passenger and freight train scheduling model, we assumed the passenger train timetable is given and the tardiness of passenger trains is minimized based on the timetable. The train timetable provides a timeline for the operations and activities of the trains over the rail networks. However, in the planning phase, the passenger train timetable is unknown and needs to be determined. A well-performed timetable is designed based on the passenger demand and the network structure, and needs to be updated when the demand and the network structure changes. In order to provide a reliable service, the railway industry has shown great interest in designing and maintaining a highly ecient train timetable. The Train timetabling problem (TTP) studies the design of the periodic timetable for a set of trains considering the track capacity, the safety headway and other operational constraints. The study in this chapter is motivated in two aspects. First, the increasing demand in railway industry pushes for a better usage of the railway infrastructure and resources, which requires a cooperative planning and scheduling for dierent kinds of trains, including passenger trains and freight trains. Timetables serve as the key control variable for the temporal and spatial decisions over the complex networks, and it directly aects the ow time and resource utilization. The other motivation is that in real world railway operations, train timetables are often aected by unpredictable events, such as unexpected delays, temporary signal failure, track maintenance and equipment breakdown. The actual times of arrival and departure could be signicantly dierent from the planned timetable. The deviation not only creates primary delays, but also leads to secondary delays which further propagates along the route of the trains. 70 In this chapter, we present the stochastic timetabling model for the passenger trains. Dierent from the freight train schedule, the passenger train schedule is usually extremely sensitive to the tardiness. The robustness of the passenger train timetable is important to defend against the stochastic disturbances during the operation. A common approach to improve the robustness of the train schedule is to insert buer time in the timetable. However, the buer time usually increases the delay of the trains and decreases the customer experience. In this study, instead of inserting buer time to the passenger train schedule, we are more interested in leveraging the ex- ible routes to avoid the delays upon disturbances. To plan a robust timetable under the stochastic features in the system, we are particular interested in dealing with uncertainty from the departure time of the freight trains. We rst dene the problem and propose a stochastic optimization model in Section 4.1. Then the overall branch and bound solution framework is presented in Chapter 4.2, which includes the master problem solution approach and the subproblem approach as presented in Section 4.3. Finally, computational experiments are employed to illustrate the performance of the proposed model and solution approach and the results are analyzed in Section 4.6. 4.1 Model Formulation In the railway market, freight trains usually have a more exible schedule than passenger trains. Due to the uncertainties in the freight loading, cars sorting and assembling, refueling and crew changes, the departure times can have signicant variability. Upon the dierent freight train departure times, their schedules, routes and the precedence relationship with other trains could vary accordingly. We study the timetable of passenger trains considering the impact of the uncertainty in the freight train departure times. Dierent from the model in Chapter 3, we assume that no passenger train timetable is given as an input. The schedule of the passenger trains is based on the passengers' demand, which is quantied by the number of passengers traveling from station to station. Instead of concentrating 71 on the deviation time from the timetable, we consider the sum of the passenger travel times, in which the travel time between two stations is weighted by the number of passengers onboard. The passenger demand, which can be approximated by averaging the daily historical data, is assumed to be deterministic. The interaction and con ict for railway network resources between passenger trains and freight trains are also included in the model. The con ict happens when the trains compete for the same track resource at the same time. The time of arrival at the node is determined by two factors, the departure time at the origin station and the travel time along the route. As previously mentioned, the freight train departure time is an uncertain factor, and the actual departure time of freight trains signicantly aects the passenger trains'timetable. To take the uncertainty in freight train departure times into account, we formulate a two- stage optimization problem. The objectives of the two stage problems are dierent. The rst stage problem aims to optimize the passenger trains' operation, while the second stage is to adjust the passenger trains'operation based on the freight train's actual departure. In the rst stage problem, the passenger trains' routes and schedules are optimized based on the passengers demand. The passenger train time decisions, including arrival times t a q;i and departure timest d q;i , the routing decisionsI q;i;j and the precedence decisionsx q1;q2;i are dened as the rst-stage decisions (t;I;x). We dene the rst stage decision problem as the master problem. In the master problem, the objective of the optimization is to minimize the sum of the passengers travel time and the expectation of the objective value in the subproblems. In the second stage problem, the freight trains' schedules are optimized based on the depar- ture times, and the passenger trains' schedules are adjusted accordingly. At the beginning of the second-stage freight train scheduling, a realization of the actual departure times of the freight trains unfolds, and is denoted asf! v q g;q2 Q f , where v is the index for scenario. A scenario represents an instance of the combination of the freight trains departure times at their origin stations. In a scenario, the rst stage decision needs to be adjusted to make a reactive decision 72 ( ~ t; ~ I; ~ x), which also includes the decision variables for the freight trains in the scenario. We de- ne the second-stage problem as a subproblem. In the subproblem, the objective is to minimize the weighted sum between the freight trains total travel time and the deviations time from the passenger trains timetable. The following is a list of the parameters introduced in this model, the rest of notation is consistent with Chapter 3. T d q The earliest departure time for passenger train q from its origin station p q;i;j The number of passengers traveling from station node i to station node j by train q V Total number of scenarios, details discussed in Section 4.3.1 ! v q The departure time of freight train q from its origin station in scenario v2V ,8q2Q f The weight of total deviations time from passenger train timetable in the subproblem objective function One of the key dierences between the proposed model and the deterministic train scheduling problem is that the uncertainty in the freight train departure time ! v q is introduced. The impact of the uncertainty applies not only to the freight train itself, but also to the extra unexpected delay of the passenger trains. The departure times of the freight train are assumed to follow a given discrete distribution, but the distribution is unique for each freight train. The discrete distributions can be estimated using historical data, which shows the departure time and the corresponding probability. In the master problem, the objective function contains the total passenger train travel time weighted by the number of passengers between two stations and the expectation of the subproblem objective function. The expectation term evaluates the average objective values of the subprob- lems in all the scenarios. In the subproblem, the objective function contains the freight trains total travel time and the deviations of the passenger train schedule from the timetable. These 73 two components in the subproblem objective function are weighted by a congurable parameter , which re ects the priority between freight and passenger trains in the integrated schedule. We will investigate the choice of and its impact on the derived schedules. In the constraints space, the travel time constraints, track capacity constraints, safety headway constraints and domain constraints discussed in Chapter 3 are inherited. Additionally, each passenger train is assigned with an earliest departure time T d q from its origin station, and the combination of freight train departure times from origin station is denoted as! v for scenario v. Next, we formally formulate the two stage optimization model, including the master problem Q m and the subproblem Q s . The decision variables in the two models are listed as follows. Decision variables in the master problem: t a q;i The arrival time of train q to node i,8q2Q p ;i2N t q t d q;i The departure time of train q from node i,8q2Q p ;i2N t q I q;i;j Binary routing variable to indicate if trainq travels from nodei to its successor node j,8q2Q p ;i2N t q ;j2N + i;q , x q1;q2;i Binary precedence variable in master problem to indicate if trainq 1 passes node i before train q 2 ,8q 1 ;q 2 2Q p ;q 1 6=q 2 ;i2N t q1 \N t q2 Decision variables in the subproblem: ~ t a q;i The adjusted arrival time of train q to node i if q2Q p , the computed arrival time of train q to node i if q2Q f , i2N t q ~ t d q;i The adjusted departure time of train q to node i if q 2 Q p , the computed departure time of train q to node i if q2Q f , i2N t q ~ I q;i;j Binary routing variables, 8q 2 Q f ;i 2 N t q ;j 2 N + i;q . Note that ~ I q;i;j = I q;i;j ;8q2Q p ~ x q1;q2;i The adjusted precedence variables if q 1 ;q 2 2Q p ;q 1 6=q 2 , the computed prece- dence variables if q 1 ;q 2 2Q p ;q 1 6=q 2 or q 1 2Q f ;q 2 2Q p or q 1 2Q p ;q 2 2Q f or q 1 ;q 2 2Q f ;q 1 6=q 2 , i2N t q1 \N t q2 We formulate the problem as a two-stage stochastic mixed integer optimization model. The integer decision variables include routing variables I and precedence variables x. The continuous 74 variables include the arrival and departure time variables t. The master problem solution of the passenger train arrival/departure times decision variables t and routing decision variables I are shared with the subproblems through the expectation function. The master problem Q m is formulated as follows: min X q2Qp X i;j2Sq p q;i;j (t a q;j t a q;i ) +E ! [h(t;I;!)] (4.1) Subject to: X j2N + Qq;q I q;Oq;j = 1; 8q2Q p (4.2) X i2N Dq;q I q;i;Dq = 1; 8q2Q p (4.3) X j2N + s;q I q;s;j = 1; 8q2Q p ;s2S q nfQ q ;D q g (4.4) X j2N j;q I q;i;j = X k2N + j;q I q;j;k ; 8q2Q p ;8j2N t q (4.5) (1I q;i;j )M +t a q;j t a q;i B 1 q;i ; 8q2Q p ;i2N t q ;j2N + i;q (4.6) t d q;Dq t a q;Dq B 2 q;Dq;N ED q ; 8q2Q p (4.7) (1I q;i;j )M +t d q;j t d q;i B 1 q;j ; 8q2Q p ;i2N t q ;j2N + i;q (4.8) (1I q;i;j )M +t d q;i t a q;j B 2 q;i;j B 1 q;i ; 8q2Q p ;i2N t q ;j2N + i;q (4.9) (1x q1;q2;i )M +t a q2;i t d q1;i +; 8q 1 ;q 2 2Q p ;i2N t q1 \N t q2 (4.10) (2 X j2N + i;q 1 I q1;i;j X k2N + i;q 2 I q2;i;k )M +x q1;q2;i M +t a q1;i t d q2;i +; (4.11) 8q 1 ;q 2 2Q p ;q 1 6=q 2 ;i2N t q1 \N t q2 x q1;q2;i X j2N + i;q 1 I q1;i;j + X k2N + i;q 2 I q2;i;k ; 8q 1 ;q 2 2Q p ;q 1 6=q 2 ;i2N t q1 \N t q2 (4.12) t a q;Dq T e ; 8q2Q p (4.13) t a q;Oq T d q ; 8q2Q p ;i2N t q (4.14) 75 t d q;i t a q;i ; 8q2Q p ;i2N t q (4.15) I q;i;j 2f0; 1g; 8q2Q p ;i;j2N t q (4.16) x q1;q2;i 2f0; 1g; 8q2Q p ;i2N t q1 \N t q2 (4.17) The objective function (4.1) minimizes the total weighted travel time of the passenger trains and the expectation of the subproblem objective. h(t;I;!) denotes the optimal objective value of the subproblem, given the master problem decisions and the realization of the freight train departure times for each scenario as the input. In Constraint (4.14), the earliest departure time of a passenger train q can not be earlier than the earliest departure time T d q . In the subproblemQ v s , the freight train schedules are optimized and the passenger train sched- ules are adjusted in the realization of the freight train departure times!. We index the scenario with v for a realization of the freight trains departure times ! v . The subproblem Q v s is also indexed by v and is formulated as follows: h(t;I;! v ) = min X q2Q f ( ~ t d q;Dq ~ t d q;Oq ) + X q2Qp X i;j2Sq ( ~ t a q;j t a q;j ) (4.18) Subject to: X j2N + Qq;q ~ I q;Oq;j = 1; 8q2Q f (4.19) X i2N Dq;q ~ I q;i;Dq = 1; 8q2Q f (4.20) X j2N j;q ~ I q;i;j = X k2N + j;q ~ I q;j;k ; 8q2Q f ;8j2N t q (4.21) (1 ~ I q;i;j )M + ~ t a q;j ~ t a q;i B 1 q;i 8q2Q p [Q f ;i2N t q ;j2N + i;q (4.22) (1 ~ I q;i;j )M + ~ t d q;j ~ t d q;i B 1 q;j ; 8q2Q p [Q f ;i2N t q ;j2N + i;q (4.23) (1 ~ I q;i;j )M + ~ t d q;i ~ t a q;j B 2 q;i;j B 1 q;i ; 8q2Q p ;i2N t q ;j2N + i;q (4.24) ~ t d q;Dq ~ t a q;Dq B 2 q;Dq;N ED q ; 8q2Q p (4.25) (1 ~ x q1;q2;i )M + ~ t a q2;i ~ t d q1;i +; 8q 1 ;q 2 2Q p [Q f ;i2N t q1 \N t q2 (4.26) 76 (2 X j2N + i;q 1 ~ I q1;i;j X k2N + i;q 2 ~ I q2;i;k )M + ~ x q1;q2;i M + ~ t a q1;i ~ t d q2;i +; (4.27) 8q 1 ;q 2 2Q p [Q f ;q 1 6=q 2 ;i2N t q1 \N t q2 ~ x q1;q2;i X j2N + i;q 1 ~ I q1;i;j + X k2N + i;q 2 ~ I q2;i;k ; 8q 1 ;q 2 2Q p [Q f ;q 1 6=q 2 ;i2N t q1 \N t q2 (4.28) ~ t a q;i t a q;i ; 8q2Q p ;i2N t q (4.29) ~ t d q;i t d q;i ; 8q2Q p ;i2N t q (4.30) ~ t a q;Oq =! v q ; 8q2Q f (4.31) ~ t d q;i ~ t a q;i ; 8q2Q p [Q f ;i2N t q (4.32) ~ t a q;Dq T e ; 8q2Q p (4.33) ~ I q;i;j =I q;i;j ; 8q2Q p ;i2N t q ;j2N + i;q (4.34) ~ I q;i;j 2f0; 1g; 8q2Q f ;i;j2N t q (4.35) ~ x q1;q2;i 2f0; 1g; 8q2Q p [Q f ;i2N t q1 \N t q2 (4.36) The subproblem objective function contains two components: one is the total freight train travel time and the other is the deviation from the timetable of the passenger trains in the master problem decisions. In Constraint (4.31), the actual departure times of the freight trains are xed as the realization of the departure time ! v q , in which v is the scenario index corresponding to the underlying subproblem. In the solution approach we propose, the overall two-stage problem is decomposed, and the master problem and subproblem solution procedures are applied iteratively. 4.2 Overall Solution Framework Note that although the subproblem has a similar structure as the model in Chapter 3, there are several key dierences. The rst one is that the departure times of the freight trains at their origin stations are xed to! v in scenario v. However, in Chapter 3, the freight trains departure 77 times are decision variables. Another key dierence is that with the uncertainty of freight train departure times introduced into the system, the scale and complexity of the problem signicantly increases. The number of subproblems is as large as the number of scenarios. Each scenario is a combination of the departure times of all the freight trains, thus the total number of scenario exponentially grows with the number of trains. It is computationally heavy to optimize the freight train schedules exhaustively for all scenarios. In the proposed two-stage stochastic optimization model, the master problem and subproblems are binding by the rst stage decision variables, including the passenger trains routing decisions. Once the master problem decisions are made and the scenario in the subproblem is realized, further decisions are needed to nalize the scenario specic freight trains related decisions, and to adjust the schedules of the passenger trains. Note that the objective values of the subproblems are fed back to the master problem and in uences the master problem problem decisions, thus a systematic mechanism is required to integrate the optimization of the master problem and subproblems. 2 To solve this large scale mixed integer stochastic model, a hybrid heuristic algorithm under a branch and bound framework is developed. The joint routing and scheduling scheme is extended to systemically generate branching nodes to reduce the con icts between passenger and freight trains. Each branching node, which has an enhanced problem of its parent node, goes through the solution procedure in Section 4.3. Then further branching is applied as in Section 4.4. To reduce the branching search space complexity, a bounding rule is embedded into the branch and bound framework as discussed in Section 4.5. In Figure 4.1, we present the overall solution framework. In the solution framework, a search tree node includes a combination of the master problem and subproblems. The algorithm explores the search tree, solves the problems on each search tree node, and nds the best train routes and schedule. 78 Figure 4.1: The Overall Branch and Bound Solution Framework First we introduce the notation to be used in the branch and bound framework. 79 ANL Active node list of the search tree nodes. k The index of the search tree node. c(k) =fQ k m ; S V v=1 Q v s g A search tree node, which contains the master problem Q k m and the corresponding set of subproblems S V v=1 Q v s . obj(k) The approximate objective value of the overall problem on node k, using sample average approximation. k The index of the search tree node with the best incumbent solution found so far. The threshold that decides if the bounding rule is applied. The main steps of the branch and bound algorithm in Figure 4.1 are summarized as follows. Step 1: Initialization Initialize the network, passenger demand and schedule data. LetANL =?,k = 0. Construct the root node c(0) =fQ 0 m ; S V v=1 Q v s g, and push c(0) to active node list ANL. Q 0 m is constructed using formulation (4.1) - (4.17). Q v s is the subproblem for scenario v. Step 2: Node Selection Select a node c(k) from ANL using breadth rst search (BFS). Step 3: Master Problem Q k m Solution Procedure Substep 3.1: Relaxed Passenger Schedule Solve a relaxed version of Q k m to get a relaxed precedence decisions, which has feasible time and routing decisions but relaxed precedence decisions. Substep 3.2: Passenger Train Feasibility Recovery Run the feasibility recovery algorithm in Section 4.3.1.2 to recover the feasibility from the relaxed solution in Step 3.1, and get a feasible master problem solutionft;I;xg of Q k m . Step 4: Subproblem Q v s Solution Procedure 80 Run the labeling algorithm in Section 4.3.2.1 to retrieve the deadlock free freight train sched- ules inQ s v , and adjust the passenger train schedules accordingly. Note that the solution procedures for each subproblemQ v s are independent, thus the solution approaches in this step are performed in parallel. Step 5: Objective Estimation Apply the sample average on the objective value of S V v=1 Q v s with the corresponding adjusted master problem objective, and update obj(k). Step 6: Bounding Check if the bounding rule discussed in Section 4.5 is met. If not met, update k = k if obj(k)<obj(k ) and continue. Step 7: Stopping Criteria Checking Stop the search if any one of the following criteria is met: 1. ANL is empty; 2. Maximum computation time is reached; 3. Computer memory limit is reached. Step 8: Congestion Evaluation Evaluate the con ict of each passenger train in the solution of c(k) as discussed in Section 4.4.1. Step 9: Branching Apply the branching strategy in Section 4.4.2 to generate the branching leaf nodesfc(k + 1);c(k + 2);:::g, and append the leaf nodes to ANL. Then remove the current node c(k) out of ANL. Step 10: Output Solution Output the passenger train routes and timetable from the search tree node c(k ) that has the best solution. 81 4.3 Solution Algorithm on a Search Tree Node In this section, we present the detailed solution algorithm to solvec(k), which contains the solution procedure to the master problemQ k m and the solution procedure to a set of subproblems S V v=1 Q v s . The solution to the master problemQ k m , which is the feasible schedule of passenger trains, is passed into each of the subproblems. Based on the scenario of the freight train departure times, each of the subproblems Q v s is solved independently. The passenger train schedules are adjusted accordingly in each of the subproblem solution approaches. Finally, the objective value is approximated by averaging the subproblems objective values. 4.3.1 Master Problem Solution Procedure The master problem Q k m dened in a search tree node is the scheduling problem of passenger trains. We assume that in the solution approach of this rst stage problem, the passenger trains are scheduled without considering the freight trains. The objective of the master problem is dened as the sum of the weighted passenger traveling time, as the rst component of Equation (4.1). In the objective function, the passenger train travel times between stations are weighted by the number of passengers. Given the passenger demand as the input, the route decisions, time decisions and precedence decisions are optimized under Constraints (4.2) - (4.17) and the branching constraint (4.85) which is discussed in Section 4.4.2. Due to the complexity of the problem, we are interested in a approximate optimal solution to achieve a trade-o with the solving time. Solving the master problem optimally is computationally prohibitive since an optimal solution algorithm will require signicant computation resources and the master problem needs to be solved many times. The strategy to solve the master problem is to rst optimize the relaxed problem to obtain a relaxed passenger trains schedule, and then recover the feasibility from the relaxed solution. Specically, the relaxed schedule is feasible for the routing decision variables and time decision 82 variables, but are not necessarily guaranteed to be feasible for the precedence decision variables relation constraints. When con icts between precedence decisions are detected, a feasibility re- covery algorithm is employed to resolve the infeasibilities. 4.3.1.1 Relaxed Passenger Train Scheduling with Dual Ascent Algorithm The constraints in the master problem can be classied into three sets. The rst set of Constraints (4.2) - (4.9) and (4.85) are related to the routing and safety headway of the individual trains. Constraint (4.85) are the routing constraints to be discussed in Section 4.4.2. The second set of Constraints (4.10) and (4.12) dene the precedence relationship between the trains at each node. Due to the combination between trains at each node, the number of integer variables and the number of constrains in the second group are large, and it makes the problem hard to optimally solve. The third set of Constraints (4.13) - (4.17) are the domain constraints. To solve the master problem eciently, we propose a dual ascent algorithm to iteratively optimize the relaxed problem, which nally converges to the optimal solution of the Lagrangian dual. Some of the constraints in the master problem are relaxed by applying the Lagrangian relaxation to the constraints. We apply the dual ascent algorithm using a parallel optimization approach. In the parallel approach, the Lagrangian multipliers are updated iteratively until the convergence criterion is met. The decisions variables in the primal space are seperable, so a decomposition is applied and the primal problem is solved eciently. We formulate the Lagrangian function by introducing three sets of Lagrangian multipliers q1;q2;i , q1;q2;i and q1;q2;i associated with Constraints (4.10), (4.11) and (4.12), and add them to the objective function to the relaxed problem. 83 L[(;; ); (x;I;t)] = (4.37) X q2Qp X i;j2Sq p q;i;j (t a q;j t a q;i ) X q1;q22Qp q16=q2 X i2N t q 1 \N t q 2 q1;q2;i ((1x q1;q2;i )M +t a q2;i t d q1;i ) X q1;q22Qp q16=q2 X i2N t q 1 \N t q 2 q1;q2;i ((2 X j2N + i;q 1 I q1;i;j X k2N + i;q 2 I q2;i;k )M +x q1;q2;i M +t a q1;i t d q2;i ) X q1;q22Qp q16=q2 X i2N t q 1 \N t q 2 q1;q2;i ( X j2N + i;q 1 I q1;i;j + X k2N + i;q 2 I q2;i;k x q1;q2;i ) Subject to: Constraints (4.2) - (4.9), (4.13) - (4.17) in Section 4.1 and (4.85) in Section 4.4.2. The Lagrangian dual function is g(;; ) = inf x;I;t L[(;; ); (x;I;t)] (4.38) By relaxing Constraints (4.10), (4.11) and (4.12), the precedence constraints between passenger trains are relaxed. The Lagrangian dual serves as the lower bound of the primal master problem. To obtain the tightest bound, the following optimization problem is solved: g (;; ) = max ;; 0 g(;; ) (4.39) To solveg (;; ), we propose to employ a dual ascent algorithm. Given the dual multiplers (;; ) and assuming that (x;I;t) minimizesL[(;; ); (x;I;t)], the subgradient can be calcu- lated as @g(;; ). A sequence of 1 , 2 ,... r is selected as the step size. Then the subgradient at iteration r can be dened as follows: (x;I;t) r+1 = arg min x;I;t L[(;; ) r ; (x;I;t)] (4.40) (;; ) r+1 = (;; ) r + r @g(;; ) r (4.41) 84 The convergence rate and eectiveness of the dual ascent algorithm requires a small number of dual constraints. In the Lagrangian dual, the size of the dual constraints is in the space complexity ofO(NjQ p j 2 ). However, in the branching procedure to be discussed later in Section 4.4.2, the extra routing Constraint (4.85) will be added to the master problem with the branching process. Note that the dual multipliers q1;q2;i , q1;q2;i and q1;q2;i are dened on the shared nodes of passenger train q 1 and q 2 routes. Constraint (4.85) forbids the travel of a train to a specic node, and eliminates a subset of dual multipliers with the size of O(jQ p j). The size of the dual multipliers keeps decreasing, and the size of the dualized constraints set shrinks quickly. The choice of step size in Equation (4.41) is important for the convergence rate in the dual ascent algorithm. The step size is usually from divergent series, and the step size satises r 0; lim r!1 r = 0; 1 X r=0 r =1 (4.42) We use the following equation to calculate r , where ^ g denotes the objective value of the best solution to g(;; ) found so far. ^ g is chosen by solving the master problem with the passenger train scheduling algorithm that we proposed in Chapter 3. The denominator is the two-norm of the dual multiplier vector. The denominator scales down the step size if the norm of the subgradient is too large, which can reduce the oscillation. r = 1 r ^ gg(;; ) r k(;; ) r k 2 (4.43) To solve the subgradient in Equation (4.40), we show that it is a separable problem, and the seperated subproblems can be solved eciently. By reformulating Equation (4.40), the problem can be decomposed as follows. min x;I;t L[(;; ) r ; (x;I;t)] = min I;t X q2Qp g q (I;t) min x f(x) +C (4.44) In Equation (4.44), the objective function is decomposed into three components. g q (I;t) is the individual train routing and scheduling term, which is dened on each passenger train q. f(x) 85 is the precedence relationship term that contains the precedence decisions x of all the passenger trains. C is a constant term of (;; ), and is constant with respect to (x;I;t). Next, we show that the constraint space is also separable. Individual train routing and scheduling problem: min I;t g q (I;t) = min I;t X i;j2Sq p q;i;j (t a q;j t a q;i ) X q 0 2Qp X i2N t q \N t q 0 ( q 0 ;q;i + q;q 0 ;i )t a q;i ( q;q 0 ;i + q 0 ;q;i )t d q;i X q 0 2Qp X i2N t q \N t q 0 [ q;q 0 ;i + q 0 ;q;i ( q;q 0 ;i + q 0 ;q;i )M] X j2N + i;q I q;i;j (4.45) Subject to: X j2N + Qq;q I q;Oq;j = 1 (4.46) X i2N Dq;q I q;i;Dq = 1 (4.47) X j2N + s;q I q;s;j = 1; s2S q nfQ q ;D q g (4.48) X j2N j;q I q;i;j = X k2N + j;q I q;j;k ;8j2N t q (4.49) (1I q;i;j )M +t a q;j t a q;i B 1 q;i ; i2N t q ;j2N + i;q (4.50) (1I q;i;j )M +t d q;j t d q;i B 1 q;j ; i2N t q ;j2N + i;q (4.51) (1I q;i;j )M +t d q;i t a q;j B 2 q;i;j B 1 q;i ; i2N t q ;j2N + i;q (4.52) t d q;Dq t a q;Dq B 2 q;Dq;N ED q (4.53) t a q;Dq T e (4.54) t a q;Oq T d q (4.55) t d q;i t a q;i i2N t q (4.56) I q;i;j 2f0; 1g; i;j2N t q (4.57) I q;i;j = 0; i2 ^ N q ;j2 ^ N + q;i (4.58) 86 In Constraint (4.58), we dene the forbidden set as ^ N q as the set of nodes on which the routing variables of passenger train q that are xed to zero, and dene ^ N + q;i as the succeeding node set of trainq from nodei. The forbidden set is formally discussed in Section 4.4.2. The problemg q (I;t) has a limited number of free integer decision variables and simple constraints. Each subproblem is solved using a CPLEX solver. The decomposition isolates the precedence decisions x from the individual train routing and scheduling problem. Each subproblem g q (I;t) only has the decision variables related to the passenger train q. The subproblems are independent with each other, and thus the solver can be called in parallel to solve each of the subproblems. Precedence assignment problem: min x f(x) = min X q1;q22Qp X i2N t q 1 \N t q 2 (M q1;q2;i +M q1;q2;i + q1;q2;i )x q1;q2;i (4.59) Subject to: x q1;q2;i 2f0; 1g; 8q2Q p ;i2N t q1 \N t q2 (4.60) The precedence decisions of all the passenger trains are included in this problem. The precedence decision variablesx q1;q2;i are unconstrained within its binary integer domain. The optimal solution to this problem can be found by checking the coecient of each variable in the objective function. x q1;q2;i = 8 > > > < > > > : 0; if M q1;q2;i +M q1;q2;i + q1;q2;i 0 1; otherwise (4.61) Constant term: C = X q1;q22Qp X i2N t q 1 \N t q 2 ( q1;q2;i + q1;q2;i )M(2 q1;q2;i + q1;q2;i ) (4.62) 87 Note that in Equation (4.40), the dual multipliers are input as parameters and the problem is optimized for the primal decision variables. The constant term is an expression of the dual multiplers, and is independent of the primal decision variables. In the optimization of Equation (4.44), it does not change the ascent direction, and thus will not be considered when calculating the subgradient. However the value ofC is needed to get the optimal objective value of Equation (4.44) when substituting back to Equation (4.43) for the calculation of the step size. By solving the decomposed individual train routing and scheduling problem and the prece- dence assignment problem, the optimal solution of the primal decision variables (x;I;t) to the Lagrangian can be found. With the solution of the primal variables, the subgradient of the dual variables can be calcu- lated by substituting the primal decision variables to the following equations. @L @ q1;q2;i =t a q2;i +t d q1;i +Mx q1;q2;i +M (4.63) @L @ q1;q2;i =M( X j2N + i;q 1 I q1;i;j + X k2N + i;q 2 I q2;i;k )t a q1;i +t d q2;i +Mx q1;q2;i 2M (4.64) @L @ q1;q2;i = X j2N + i;q 1 I q1;i;j X k2N + i;q 2 I q2;i;k +x q1;q2;i (4.65) With the subgradients of the dual multipliers from Equation (4.63) - (4.65) and the step size from Equation (4.43), the dual multipliers are updated according to Equation (4.41). Then the updated dual multipliers are fed back to Equation (4.40) for the next iteration. With a proper choice of the step size, the Lagrangian eventually converges to its optimal solution. The convergence rate depends on the choice of the step size. A large step size causes oscillation issues, while a small step size makes the convergence slow. Note that for computational speed issue, we will not optimally solve the problem dened in Equation (4.39) but will terminate the dual ascent algorithm in a nite number of iterations and accept the best solution that is found. In Equation (4.41), r @g(;; ) r , which is the increment on the dual multipliers, is determined by both the 88 step size r and the subgradient in Equations (4.63) - (4.65). Besides the step size in Equation (4.43), another common choice of step sizes is r = 1 r . We perform preliminary experiments to compare these two choices of step size. In Equation (4.63) - (4.65), the value of M in uences the value of the subgradients. The impact of M on the convergence rate is also studied in the experiments. In Figure 4.2, the convergence rate of the dual ascent method in dierent settings is studied. The experiment is tested in the network presented in Section 3.3.1. Both the value of M and the step size formulation are studied in the experiment settings. step = norm inv denotes the normalized step size, as in Equation (4.43), which has the 2-norm of the dual multipliers in the denominator. The other step size setting is to choose the step = 1=r. We also compare the value of M = 10; 000 with M = 100; 000, since the value of M is included in the calculation of the subgradient, as in Equations (4.63) - (4.65). As shown in Figure 4.2, the convergence of the normalized step size setting outperforms the convergence rate of step = 1=r, in both convergence speed and the optimal objective value. A smaller value of M improves the convergence rate at the early stage. The setting of M = 10; 000 andstep =norm inv is adopted throughout the rest of the experiments. Note that the convergence rate of the dual ascent method depends on the number of dual constraints. Based on these experiments, for this test network and schedule, we will use 30 as the maximum iteration number throughout the rest of the experiments. 4.3.1.2 Feasibility Recovery Algorithm In Section 4.3.1.1, the dual ascent method is applied to solve the Lagrangian dual problem in Equation (4.38). The Lagrangian problem relaxes the precedence constraints (4.10), (4.11) and (4.12). Therefore, the solution from the dual ascent algorithm is not guaranteed to be feasible for the unrelaxed problem Q k m . Before passing the passenger train schedule to the subproblems, a recovery approach is needed to identify a feasible solution to Q k m . In this section, we present 89 Figure 4.2: Convergence Rate of the Lagrangian Method a heuristic to adjust the relaxed solution locally to t the relaxed constraints and recover the feasibility of the solution. Recall that the relaxed constraints guarantee the precedence relations and safety headway between trains. The violation of the constraints creates deadlock between trains. In the proposed model, deadlock happens if the precedence decisions indicate that train q passes node i before train q 0 but the actual arrival time of q 0 to node i is no later than the departure time of q from node i plus a safety headway. Any violation of Constraints (4.10) and (4.11) generates deadlock. Also, route mismatch in Constraints (4.12) happens when the precedence decision sets x q;q 0 ;i = 1 but the routes of the two trains do not overlap at node i. We dene the deadlock and route mismatch as infeasibility in the solution. A deadlock between two trains can be resolved in two ways, either by postponing one of the deadlocked trains and ipping the precedence decision, or by rerouting one of the trains to another 90 node. We next discuss a heuristic that keeps the routing decisions unchanged, and identify the minimal incremental cost when postponing one of the trains to resolve the deadlock. The route mismatch can be resolved by resetting the precedence decision variables properly. Without loss of generality, we dene that when a infeasibility occurs in the solution, the corresponding precedence decision is that train q travels through node i earlier than train q 0 , where x q;q 0 ;i = 1. In the solutionfx;I;tg, the infeasibility can be classied into two cases: 1. Route mismatch: The routes of train q and train q 0 do not intersect at node i. X j2N + i;q I q;i;j + X k2N + i;q 0 I q 0 ;i;k = 0 (4.66) 2. Deadlock: The routes of train q and train q 0 intersect at node i. X j2N + i;q I q;i;j = X k2N + i;q 0 I q 0 ;i;k = 1 (4.67) Safety headway between train q and train q 0 is not guaranteed. t a q 0 ;i <t d q;i + (4.68) In either case, there is no trivial method that can recover feasibility of a solution, since the routes and schedules of all the trains are coupled in the solution. A systemic approach is needed to update the arrival and departure times of all the trains to guarantee that the re-timing does not introduce more infeasibilities to the solution. In Case 1, by ipping the precedence decision x q;q 0 ;i , we can simply resolve the infeasibility made by Constraint (4.12). In Case 2, the cause of the infeasibility is that the safety headway is not guaranteed. Either keeping the precedence decision as x q;q 0 ;i = 1 while postponing train q 0 , or ipping the precedence decision such that x q;q 0 ;i = 0 while postponing train q can increase the safety headway and resolve the deadlock. However, the two treatments postpone the dierent trains and lead the system to dierent states, thus the increments of the objective value function are not necessarily the same. The decision 91 problem here is to identify the minimal incremental cost of the master problem objective when dierent treatments are applied to resolve a deadlock. We propose a feasibility recovery algorithm to sequentially resolve the deadlocks and route mismatches from the solution. To identify the deadlocks and route mismatches that need to be resolved, a linear search through the constraints set of Equations (4.10), (4.11) and (4.12) can nd the violated constraints. Note that after a recovery, the arrival and departure times of several trains could be updated and the status of the system changes. Thus, the infeasibilities are recovered sequentially and the algorithm should guarantee that no further infeasibilities are created when one infeasibility is resolved. Given a route of a passenger train q as the node set R q =fij P j2N + i;q I q;i;j = 1;i2N t q g, which remains unchanged in the feasibility recovery process, we start the recovery of infeasibilities from the upstream of the route. Node i is dened to be in the upstream of node j if both of them are in the route of train q, and t a q;i < t a q;j . After the infeasibility is recovered in the upstream node, the infeasibility in the downstream nodes might be recovered as well since the time decisions have been updated. For the eciency of the algorithm, upstream nodes are preferred as the starting point for recovery rather than the downstream nodes. Next we discuss an approach to recover the infeasibility. Recall that when dierent treatments are applied, the objective function occurs dierent incremental costs, which come from the addi- tional delay of the postponed train. We denote the incremental delay as q;i after the infeasibility is resolved, by postponing train q at node i. Note that after the infeasibility is resolved, all the arrival and departure times of train q along the downstream nodes are delayed by at least q;i . Thus, t a q;j and t d q;j for train q on the downstream nodes j on its route will be updated. The most ideal case is that all of the downstream nodes of the postponed train q are available for entering at the updated arrival time. In this case, the constraints related to the postponed train is guaranteed to be feasible after the delay. However, most likely some of the downstream nodes are occupied at the delayed arrival time of train q. Without resolving the con ict, the delayed arrival time could also cause a deadlock at downstream nodes. The feasibility recovery algorithm 92 resolves all the deadlocks at downstream nodes as well. At all the downstream nodes of train q after nodei, we assign trainq with low priority (trainq yields to other con icting trains) whenever deadlock happens. The rationality behind this is that more complexity will be introduced if the precedence decisions are exible at the downstream nodes. The complexity comes from the fact that when a new deadlock happens at a downstream node j, the other con icting train q 00 does not necessarily have the same travel direction with train q. To resolve the new deadlock, node i could be the downstream node of node j for train q 00 , and the algorithm could revisit node i in a cycling decision process. We present Figure 4.3 as an example to illustrate how the com- plexity increases in the cycling deadlock case. In this double track network, suppose that when we resolve the deadlock at node i, train q is postponed to minimize the incremental delay. At node j, another train q 00 is detected to con ict with train q. Train q 00 is in the opposite travel direction and nodes i and j are on the routes of both trains. To resolve the deadlock on node j, any delay of train q 00 might further create deadlock to train q back at node i. This cycling decision process signicantly increases the complexity of the algorithm. Therefore, the feasibility recovery algorithm assumes that the postponed train always has lower priority when con icting with other trains on its downstream nodes. train q train q 00 Node i Node j Figure 4.3: Example of Cycling Deadlock Given a deadlock at node i between trainq and trainq 0 , to decide which train to postpone to resolve the deadlock, we will follow a "what if" process to rst calculate what the incremental cost will be if we postpone trainq (orq 0 ) and then adopt the better choice. We denote the incremental cost of postponing one of the trains as q;i and q 0 ;i respectively. Take postponing train q as an example, the calculation for q;i is as follows. 93 If the infeasibilities comes from Constraint (4.12), there is no incremental delay introduced at node i. The two routes are disjoint at node i, thus we don't need to postpone any one of the trains. For the infeasibility from Constraints (4.10) or (4.11), the incremental delay q;i comes from the postponement of trainq to be after trainq 0 . We retrieve the arrival and departure times from the solution in Section 4.3.1.1 for the calculation. q;i =t d q 0 ;i +t a q;i (4.69) Under this decision, the arrival time and departure times of trainq at nodei are updated. We denote the successor node of train q after node i on its route as node i + . t a q;i =t d q 0 ;i + (4.70) t d q;i =t a q;i +B 2 q;i;i +B 1 q;i (4.71) At all the downstream nodes of the postponed train q after node i on its route R q , train q is assigned with a lower priority whenever it competes for resource with another train. An algorithmic approach to generate the schedule is to start with constructing time windows for each node along the routeR q to record the resource availability, and then identify the earliest exit time that train q can leave a downstream node j without in uencing any other train's schedule. As the trains are scheduled into the railway network, each track node may be occupied by some train during some period, and the occupied period is denoted as time windows. The time window is stored as a linked list data structure that automatically maintains a sorted and non-overlapping list of time windows when the node is occupied by the trains. When a node is assigned to the route of a train, the earliest exit time from the node depends on three factors: the earliest entering time t e q;j of train q at node j, the free ow travel time B 2 q;j;j + , and the time windows of node j. In Figure 4.4, we show an example to nd the earliest exit time for trainq on nodej given the time windows. On the time line, we show the time windows for node j. The earliest time that train q can enter node j depends on its departure time from the preceding node j , and it is 94 calculated ast d q;j 1 B 2 q;j ;j +B 1 q;j . The free ow travel time is the congestion free travel time. Since train q always yields whenever competing for a resource with another train, train q always enters the node during its idle time. The objective of this step is to identify the rst idle period among the time windows after the earliest entering time, and is suciently large for the train to travel through the node. The idle period is required to be sucient for the free ow travel time B 2 q;j;j + plus twice the minimum safety headway since this guarantees the safety headway with the preceding trainq (e.g., train q =q 2 in Figure 4.4) and the safety headway with the succeeding train q + (e.g., trainq + =q 3 ). Trainq is scheduled to the end of the time window list if an adequate idle period is not identied. Time windows on node j 00:00 23:59 train q 1 t a q 1;j t d q 1;j train q 2 t a q 2;j t d q 2;j train q 3 t a q 3;j t d q 3;j train q B 2 q;j;j + Infeasible Feasible Feasible Earliest entering time Earliest exiting time Figure 4.4: Scheduling Train q into the Time Windows on Node j We iteratively calculate the incremental delay q;j and update the time decision on node j based on node j . It is an iterative process along the downstream nodes of train q's route R q . First we introduce t a q;j as the earliest time that trainq can enter nodej. To resolve the infeasibility on node j, t a q;j is calculated according to Equation (4.75) based on the departure time from the upstream node j . q;j =t d q ;j + t a q;j (4.72) t a q;j =t d q ;j + (4.73) t d q;j =t a q;j +B 2 q;j;j + (4.74) t a q;j + =t d q;j B 2 q;j;j + +B 1 q;j (4.75) 95 After this iterative process nishes along the entire route of train q, the incremental cost of the master problem objective function is evaluated for the decision that postpones trainq at node i. The incremental cost is calculated as the weighted sum of the incremental delay q;j between the stations. Denote the subset of nodes on route R q between station i and station j as R q;i;j . Between every two stations i;j2 S q , the incremental delays on the node set R q;i;j are summed up and then weighted by p q;i;j . The incremental cost c q of postponing train q is calculated as follows. c q = X i;j2Sq (p q;i;j X k2Rq;i;j q;k ) (4.76) The incremental cost is evaluated for two possible decisions on node i, one decision for post- poning train q and the other decision for postponing train q 0 . The case with less incremental cost is adopted and the decisions are applied to the solution, as shown in Equation (4.77). The precedence decisionsx q;q 0 ;i andx q 0 ;q;i are set according to the updated arrival and departure times along the postponed train's route. After these steps, we resolve the infeasibility at node i and guarantee no further infeasibilities are introduced. The time complexity to resolve a infeasibility is O(jNjjQ p j). (x q;q 0 ;i ;x q 0 ;q;i ) = 8 > > > < > > > : (1; 0) if c q c q 0 (0; 1) if c q <c q 0 (4.77) The relaxed solution from Section 4.3.1.1 may contain multiple infeasibilities. Our proposed overall infeasibility recovery algorithm consists of a sequential call to the single feasibility recovery approach. Each call is guaranteed to resolve at least one infeasibility. The detailed algorithm to resolve all the infeasibilities is as follows. Step 1: Identify the con ict free trains in the solution, denoted as ^ Q p . The trains that have infeasibilities to be resolved are denoted as Q p =Q p n ^ Q p . 96 Step 2: For q2 Q p , start from the infeasibilities on the upstream of its route, and sequentially resolve the infeasibilities on the route with the other trains in Q p . Step 3: After all the infeasibilities by train q are resolved, deleteq from Q p , and add it to ^ Q p . If Q p is not empty, go to Step 2. Else go to Step 4. Step 4: Output the decision variables (t;I;x) as a feasible solution to the master problem Q m . In this section, we presented the feasibility recovery algorithm to nd a feasible solution to the master problem. The algorithm essentially applies the local adjustment of the solution towards the feasible domain. Optimality of the resulting solution is not guaranteed by the heuristic. However, the complexity of the algorithm is polynomial with respect to the number of passenger trains and the number of nodes in the network. Due to the fact that the feasibility recovery algorithm is one step (Step 3.2) of our overall branch bound framework as presented in Section 4.2, it is important that this step is computationally fast since it is executed at every search tree node. Test case Train index Earliest departure time Passenger demand Station 1 ! Station 2 Station 2 ! Station 3 1 1 08:00 300 400 2 09:00 325 425 3 07:15 500 600 4 08:15 250 350 5 09:15 375 175 2 1 08:00 350 233 2 08:20 332 789 3 08:55 100 120 4 10:15 290 390 5 11:15 115 225 3 1 11:10 130 345 2 12:10 175 225 3 07:15 650 330 4 08:15 780 110 5 09:15 985 1015 4 1 08:10 324 240 2 09:00 675 695 3 07:15 720 270 4 08:20 550 950 5 08:25 345 765 Table 4.1: Test Cases for Passenger Train Schedules 97 The feasibility recovery algorithm recovers the feasibility of the solution by delaying some of the trains, and thus an extra cost is introduced to the objective function. The Lagrangian relaxed problem solved by the dual ascent algorithm gives a lower bound to the optimal solution of the original problem. Thus the optimality gap of the master problem feasible solution is bounded by the Lagrangian relaxation. Next we experimentally show the bound on the optimality gap of the algorithm for a test network. Four passenger train schedules are generated to test the feasibility recovery algorithm in the same network as Section 4.3.1.1. Both the passenger demand p q;i;j and the earliest departure time T d q are randomly generated. The generated demands and earliest departure times are listed in Table 4.1. The solution approach presented in this section is applied to the test network, and the Lagrangian solution, the solution after employing the feasibility recovery algorithm and the optimality gap are shown in Table 4.2. From the results, the upper bound of the optimality gap in the four test schedules is shown to be within 13 percent. Schedule Lagrangian relaxation solution Feasibility recovery solution Optimality gap PSG-1 31134 34127 9.6% PSG-2 24910 27173 9.1% PSG-3 41195 46239 12.2% PSG-4 68917 77650 12.7% Table 4.2: Optimality Gap of Feasibility Recovery Solution 4.3.2 Subproblem Solution Procedure 4.3.2.1 Labeling Algorithm for Rescheduling in a Scenario In this section, we discuss the scheduling of the freight trains and the rescheduling of the passenger trains in the subproblem Q v s . The master problem solution in Section 4.3.1 provides a feasible schedule of passenger trains assuming deterministic passenger train demand. The timetable ex- tracted from the schedule is optimized to minimize the passengers' travel times in Equation 4.1, assuming that there is no disturbance or other freight trains competing for the track resources. However, after introducing the freight trains in the subproblems, the track resource will be shared 98 by all the trains. The weight in Equation (4.18) denes the operation planner's preference weight between the total travel time of freight trains as P q2Q f ( ~ t d q;Dq ~ t d q;Oq ) and the total passenger train timetable deviation from the master problem as P q2Qp P i;j2Sq ( ~ t a q;j t a q;j ). The arrival time of the trains at each node on their routes highly depends on their departure times at the origin stations. In the trivial case, the freight trains depart from their origin stations in the late night time and travel through the network when no passenger trains are operating. Passenger train operations are not necessarily delayed from the timetables in this case. However, freight trains that enter the network at the operating hours of the passenger trains tend to generate delays for both types of trains. Based on the departure times of the freight trains, a passenger train may be rescheduled to cooperate with the freight trains in the allocation of the track resources. The scheduling of freight trains and rescheduling of passenger trains depend on the freight trains departure times. The actual departure time of each freight train is sometimes uncertain due to the unexpected events such as locomotives maintainance, fueling, container loading time, etc. In the passenger train timetable planning problem, rather than assigning the freight trains with deterministic departure times, it is reasonable to consider the uncertainty of departure times and design the timetable to minimize the expected cost. In this study, the uncertainty in the departure time of each freight train is described as a discrete distribution, in which each departure time has a given probability. A scenario v is a realization of the uncertainty where each freight train q is assigned with a departure time ! v q . Each scenario corresponds to a subproblem Q v s , and all subproblems share the common master problem solution (t;I;x). The subproblem itself is a large scale mixed integer problem considering the number of freight trains. A procedure that optimally solves the problem is not computationally feasible to solve V subproblems whereV exponentially grows with the number of trains. In this section, we propose to construct an approximate optimal solution to the subproblems through a construction approach. The construction approach assigns the routes and schedules of the freight trains based on the 99 departure times in scenario v and the passenger train schedules, and also adjusts the passenger train schedules in order to maintain the feasibility while minimizing the objective value of the subproblem in Equation (4.18). The construction approach consists of sequential scheduling of freight trains. For each freight trainq2Q f , the route, schedule and precedence decisions are determined by a labeling algorithm. During the process of route construction, it searches towards the direction that optimizes the subproblem by three kinds of decisions: route a freight train q, delay a freight train or delay a passenger train. In the sequential scheduling of trains, we assume that the previously scheduled freight trains before the processing of freight train q are xed in their routes and the rerouting is not allowed but the time and precedence decisions can be adjusted. For freight train q in scenario v, the origin and destination stations are given, and the departure time is ! v q . The objective of individual freight train scheduling is to minimize the travel time of freight trainq while minimizing the impact to the other freight trains schedule and the planned passenger train timetable, i.e. the deviation from the timetable at passenger train stations in the master problem solution. The route R q of train q is a sequence of consecutive nodes, in which the rst node is the origin station O q and the last node is the destination node D q . Without considering the trac congestion with other passenger trains and freight trains, the optimal route of an individual freight train is the shortest path over the network, since it gives the shortest traveling time. However, the capacity limit of the trackage resource and the safety headway constraints introduce more complexity to the routing problem. In the objective function Equation (4.18), if the weight for passenger train timetable deivation is set large enough, the problem reduces to the shortest path problem with time windows and linear waiting cost, which is proved to be NP-complete in Desaulniers and Villeneuve (2000). Consider the arrival of train q at node i, an extra waiting time is generated if the arrival lies within an occupied time window of nodei. The waiting time can be reduced either by postponing the other trainq 0 that currently occupies nodei to advance the feasible time window, i.e, allowing 100 a shifting of the time windows, or by re-routing trainq to another track nodei 0 that has a shorter waiting time. In this study, shifting time windows is allowed and the schedule of a previously scheduled train can be adjusted when needed. Given the event that freight train q arrives at node i, we dene the arrival state as z q;i = ( q;i ; q;i ; q;i ); i2 N t q , where q;i is the sum of freight train delays, and q;i is the sum of passenger trains delays after the departure of train q from node i. Time windows follow the same denition as in Section 4.3.1.2. The time windows state is denoted as q;i , which is the combination of time windows on all network nodes at the departure of train q from node i. The time windows state is the union of the lists, which is stored as a map data structure, from the nodes to the sortest lists of time windows. Initially, q;Oq only contains the time windows of the passenger trains and the previously scheduled freight trains. With the expansion of z q;i , the time window state of each node is updated. To optimize the route and schedule of freight train q in the shifting time windows state, both the delay of train q itself and the impact to the other trains are considered. We use the arrival state z q;i to label the delays and the time windows states with the arrival of train q to node i, and trace back the entire route when the labeled node set covers the whole node set N t q that are reachable by train q. Starting from the origin station O q , the labeling algorithm uses a BFS-like search to explore the candidate node setN t q . Initially, q;Oq is initialized with the time windows of passenger trains and previously scheduled freight trains. Then we iteratively consider the nodes in the unexplored node sets and label the nodes with an updated arrival state. When the labeling approach reaches an unexplored node i, there are three states between freight train q and the previously scheduled trains. Under each state, there are several decisions that can be made. State 1: During the travel time of train q at node i, node i is congestion free. • Decision 1: Schedule train q through node i immediately without any delay. 101 case Freight trains travel time Passenger trains delay Decision 1 B 1 q;i 0 Decision 2 t d qp;i +t a q;i +B 1 q;i 0 Decision 3 B 1 q;i t d q;i +t a qp;i Decision 4 t d q f ;i +t a q;i +B 1 q;i 0 Decision 5 t d q;i +t a q f ;i +B 1 q;i 0 Table 4.3: Incremental Delay in the Labeling Algorithm when Scheduling Train q on Node i State 2: Node i is occupied by another passenger train q p . • Decision 2: Train q enters node i after train q p leaves, plus a minimum safety headway. • Decision 3: Train q p is postponed to wait until train q travels through node i rst with a safety headway. State 3: Node i is occupied by another previously scheduled freight train q f . • Decision 4: Train q enters node i after q f train leaves, plus a minimum safety headway. • Decision 5: Train q f is postponed to wait until train q travels through node i rst with a safety headway. For each decision, the additional cost of subproblem Q v s can be directly calculated according to the waiting time of each type of train. The additional cost for each decision case is summarized in Table 4.3. In the freight train travel time, both the waiting time and the traveling time are included. Besides the incremental delay, another impact of the decision to schedule freight train q at nodei is the change of time windows state q;i . Consider trainq, a new occupied time window is created at nodei, and thus the time window state is updated. Postponing a previously scheduled train changes the time window states of the corresponding nodes. The shifted time windows state may introduce infeasibilities to the schedule of the previously scheduled trains after the shift. Thus, the feasibility recovery algorithm in Section 4.3.1.2 is applied to check and resolve the infeasibilities after the update. Note that only the arrival and departure of the shifted time 102 windows are necessary for feasibility recovery, thus the complexity of the feasibility recovery algorithm is further reduced. In the feasibility recovery process, the additional delays of both types of trains are non-negative. In the time windows state q;i , the incremental freight trains delay by the feasibility recovery is denoted as ( q;i ), and incremental passenger trains delay is ( q;i ). The calculation of ( q;i ) and ( q;i ) is similar to the calculation in the feasibility recovery algorithm discussed in Section 4.3.1.2. The routing of freight train q follows a labeling approach using the arrival state as the label. The updating of the label follows a dominate rule between the arrival statesz q;i = ( q;i ; q;i ; q;i ) and z q;i = ( q;i ; q;i ; q;i ). Due to the exible routing and dierent precedence decisions on the upstream nodes of node i, there might be multiple candidate arrival states on one node for the train. The dominate arrival state is adopted as the label. We compare every two arrival states z q;i and z q;i , and dene z q;i dominates z q;i in the following dominate rule: z q;i z q;i () q;i + ( q;i ) +[ q;i +( q;i )]< q;i + ( q;i ) +[ q;i + ( q;i )] (4.78) Based on this dominate rule, the arrival state is updated if another dominate state is available at the arrival event. The label of each node in the node setN t q keeps updating with the expansion of the explored node set, until the whole node set N t q is covered and no more dominate states can be updated. We next present the update steps for arrival state z q;i = ( q;i ; q;i ; q;i ). Note that the freight trains are sequentially scheduled and the freight trains that are already scheduled are denoted as ^ Q f . Step 1: Initialize 0 =f [ 8q2Qp S ^ Q f [t a q;i ;t d q;i +];8i2P q g (4.79) z q;Oq = ( q;Oq ; q;Oq ; q;Oq ) (4.80) z q;i = (1;1; 0 );8i2N t q nO q (4.81) t d q;Oq =! v q (4.82) 103 For the arrival state on the origin station, the initial state of q;Oq ; q;Oq and q;Oq inherents the state when the preceeding scheduled train arrives to its destination station. Step 2: When train q enters successor node j from the preceding node i with state z q;i = ( q;i ; q;i ; q;i ), the state z q;j based on the decisions can be calculated using Equation (4.83). z q;j = 8 > > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > : ( q;i +B 1 q;j ; q;i ; q;j ) Decision 1 ( q;i +t d qp;i +t a q;i +B 1 q;i ; q;i ; q;j ) Decision 2 ( q;i +B 1 q;i ; q;i +t d q;i +t a qp;i ; q;j ) Decision 3 ( q;i +t d q f ;i +t a q;i +B 1 q;i ; q;i ; q;j ) Decision 4 ( q;i +B 1 q;i + t d q;i +t a q f ;i ; q;i ; q;j ) Decision 5 (4.83) Based on the state, we make the best decision for that state. The dominate state is adopted as z q;j = z q;j . Step 3: The generated time windows state q;j diers according to which decision is applied. Under Decision 1, the update for the time window state is trivial, which is q;j = q;j [ [t a q;j ;t d q;j +] (4.84) In the case of Decision 2 to Decision 5, besides the newly added time window, the infeasibility recovery algorithm further adjusts the time windows state to shift the time windows on the related nodes if infeasibilities are detected. Thus, the update is determined iteratively. Step 4: Repeat the labeling approach until the whole candidate node set N t q is explored and the arrival state on destination node D q cannot be updated. Retrieve the entire route R q and the nal state at the destination node D q . The time windows state in z q;Dq is guaranteed to be feasible since each update is checked by the feasibility recovery algorithm. The nal state z q;Dq is passed to the labeling approach of the next scheduled freight train as its initial state. 104 The labeling algorithm is applied to each of the freight trains sequentially, thus the overall approach generates an approximate optimal solution. Among the dierent scenarios, the departure times of the freight train are dierent. The scheduling sequence of all the freight trains in a scenario is ordered by the realization of the actual departure times. With each of the freight trains scheduled by the labeling algorithm, a scenario specic solution ( ~ t; ~ I; ~ x) contains the schedules, routes and precedence relations of both freight trains and passenger trains. The passenger trains schedules are adjusted accordingly for each scenario by the labeling algorithm. The solution provides a feasible schedule for each scenario. We apply the labeling algorithm to solve the freight train schedules and adjust the passen- ger train schedules for the test network. The value of , which is the weight in the subproblem objective function, is included in the dominate rule to balance the priorities between passenger trains and freight trains. The experiments are applied to the test schedules introduced in Section 4.3.1.2. First, the passenger train problem related to the master problem is solved by the La- grangian method and the feasibility recovery algorithm. The master solution is then passed to the subproblems and adjusted by the labeling algorithm. There are 6 freight trains to be scheduled in the subproblem. We randomly generate 20 scenarios of departure times of the freight trains at their origin stations. The discrete distributions of the departure times are presented in Table 4.4. In all the tests, we use the same 20 freight train scenarios to make the results consistently comparable. 105 Freight train Departure Time Probability 1 07:41 0.2 07:43 0.4 07:44 0.4 2 07:50 0.5 07:51 0.5 3 07:49 0.3 07:51 0.4 07:52 0.3 4 08:41 0.7 08:44 0.3 5 08:51 0.9 08:53 0.1 6 09:16 0.2 09:18 0.6 09:21 0.2 Table 4.4: Discrete Distributions of Freight Train Departure Times We present the experimental results in Table 4.5, Table 4.6 and Table 4.7. Table 4.5 shows the average objective value of the subproblems in the 20 random scenarios. Table 4.6 and Table 4.7 show the breakdown of the subproblem objective value which comes from the freight train travel time component and the passenger train timetable deviation component. In Table 4.7, the deviation is compared between the master problem solution timetable and the adjusted timetable by the labeling algorithm. According to the experimental results, in each passenger schedule, with the increase of , the average objective values of the subproblems increases. From Table 4.6, we observe that the main increase in the subproblem objective value comes from the additional delay 106 of the freight trains. With the increase of , the deviation of the passenger train timetable from the master solution timetable decreases. The value of between 0.8 and 5.0 eectively guarantees the passenger timetable to be unaected from the master problem timetable in the test schedules. With a small value of, the passenger trains yield to freight trains and the actual passenger trains schedules are delayed. A large increases the priorities of the passenger trains and reduces the deviation of the actual timetable from the master problem timetable. The remaining experiments in this chapter use = 2. Passenger schedule 0.1 0.5 0.8 5 50 PSG-1 173.60 194.87 209.38 210.43 210.43 PSG-2 159.43 180.52 189.06 187.28 187.28 PSG-3 169.95 195.16 201.94 201.06 201.06 PSG-4 158.75 187.75 195.54 195.02 195.02 Table 4.5: Average Objective Values of the Subproblems Solved by the Labeling Algorithm Passenger schedule 0.1 0.5 0.8 5.0 50.0 PSG-1 154.30 193.35 209.38 210.43 210.43 PSG-2 153.92 175.31 189.06 187.28 187.28 PSG-3 153.20 192.27 201.21 201.06 201.06 PSG-4 151.91 184.71 194.74 195.02 195.02 Table 4.6: Average Total Freight Train Travel Time in the Subproblems 107 Passenger schedule 0.1 0.5 0.8 5 50 PSG-1 191.94 3.06 0.0 0.0 0.0 PSG-2 55.06 10.41 0.0 0.0 0.0 PSG-3 167.51 5.78 1.52 0.0 0.0 PSG-4 68.44 6.07 1.64 0.0 0.0 Table 4.7: Average Total Passenger Train Timetable Deviation from the Master Solution Timetable 4.3.2.2 Sample Average Approximation of All Scenarios In each scenariov, a subproblemQ v s is solved by the labeling algorithm for scheduling the freight trains and rescheduling the passenger trains. The objective value from the labeling algorithm solution contains two parts: the total travel time of the freight trains, and the total deviation from the timetable in the passenger train schedules. In the master problem objective function Equation (4.18), the expectation of the subproblem objective value E[h(t;I;! v )] is a function of the master problem solution (t;I;x). In the labeling approach, the passenger train schedule is adjusted in the adjusted schedules ( ~ t; ~ I; ~ x) for each random departure time vector! v for scenario v. The random departure time vector ! v is the combination of the departure times of all the freight trains at their origin stations. The departure times of the freight trains are generated similarly to the discrete distributions that are discussed in Section 4.3.2.1. The distribution of the freight trains departure times is the same as the experiments in Section 4.3.2.1. The total number of scenarios grows exponentially with respect to the number of freight trains. Considering the complexity of the algorithm, we approximate the expectation E[h(t;I;! v )] by taking the sample average of a nite number of samples with sizejVj. 1 jVj P V v=1 h(t;I;! v ) is calculated for each 108 scenariov. Since the passenger trains' schedules are adjusted, the master problems objective value changes as well. The Sample Average also includes the corresponding master problem objective values. To provide a stable approximation, the sample size of the scenarios should be suciently large. As the number of scenario sample increases, the sample variance converges to the population variance but the computation time to calculate the approximation increases as well. Preliminary experiments are required to identify the minimum number of samples in which the sample variance converges. In the test network with 6 freight trains, we next study the relationship between the sample size, standard deviation of the subproblem objective values and the CPU time. The results are shown in Table 4.8. The CPU time increases linearly with the sample size, since each sample is solved by the same labeling algorithm. In this test case, a sample size between 30 and 50 gives a relative stable estimation since the standard deviation is close to convergence. Thus, we choose a sample size of 40 for the remaining of the experiments. Sample size Standard deviation of objective values CPU time(s) 5 5.71 5.1 10 4.79 10.2 20 4.32 19.8 30 4.22 31.1 40 4.04 42.3 50 4.05 53.5 60 4.04 65.2 Table 4.8: Standard Deviation and CPU Time using Sample Average Approximation With the selected sample size, the average master problem objective value is assigned as the objective value of the current search tree node c(k). The value shows the best cost functions that 109 our solution approach can reach given the master problem solution (t;I;x), under the considera- tion of random freight train departure times. The uncertainty from freight trains are assumed to be unied in all the search tree nodes. Without considering the freight trains, the master prob- lem solution approach is biased to optimize the passenger trains schedule, and thus the master problem solution (t;I;x) is insucient to generate a well performed schedule for both passenger and freight trains. We leverage a branch and bound heuristic to explore the solution space of the master problem to improve the joint schedules of all the trains. Specically, the search explores the choice of the passenger trains routes, and guides the passenger train to balance the load of the trac through the underlying freight train trac. 4.4 Branching Rules On every search tree node, the solution goes through several main steps: 1. The Lagrangian method optimizes the routing and time decisions in the master problem, and a relaxed passenger trains schedule is obtained; 2. The feasibility recovery heuristic recovers a feasible solution to the master problem; 3. The labeling algorithm adjusts the passenger train schedule and produces a freight train schedule for each subproblem; 4. The sample average approach evaluates the solution quality of the joint master problem and subproblems. In the labeling algorithm discussed in Section 4.3.2.1, the travel time of freight trains and the timetable deviation of passenger trains are balanced by which is introduced in the subproblem objective function. The balancing treatment only applies to the case when multiple trains request the same track resource at the same time. For example, when there is a con ict between a passenger trainq p and a freight trainq f on nodei, the decision on postponing which train depends on the impact on the objective function. Some of the track nodes are preferred by both types of trains, i.e, the nodes with higher speed limit. In a general network with double tracks or multiple 110 tracks, by greedily assigning the trains' routes, the schedules tend to have local congestion on some commonly preferred track nodes. In the solution framework we propose, the routes of the passenger trains are generated in the master problem solution approach. During the master problem solution approach, the freight trains demand is unknown and will be realized in the subproblems. Thus, there is no sucient information to consider the freight trains when the passenger trains routing decision is made. Once the passenger trains routes are constructed, the subproblem labeling algorithm only adjusts the arrival/departure time decisions and precedence decisions, but the routes of the passenger trains remain unchanged. Thus the routing of passenger trains are biased towards the optimal passenger train schedule, rather than the optimal route for the total trac. To handle the drawback of this biased routing, we evaluate the trac condition when solving the subproblems, and introduce the trac condition as an extra constraint to the master prob- lem to augment the solution with more routing constraints. In the branch and bound search framework, we implement a feed forward mechanic from the parent search tree node to the leaf nodes. Basically, all the leaf nodes are the copy of their parents node, except that each leaf node has a unique additional routing constraint. The additional routing constraint forbids the travel of a passenger train through a specic network node, which is treated as a congested node. In each search tree leaf node, the forbidden network node is set as unreachable for the train. We dene the generative approach from the parent node to leaf nodes as branching. The branching is an iterative approach and the added routing constraint remains in the branch, until the branch reaches the infeasibility such that at least one train cannot reach the destination station from its origin station. The branching approach is shown in Figure 4.4. In the routing variable I q;i;i +, for passenger train q, i + is the succeeding node of i on q 0 s route. A breadth rst search (BFS) is applied on the active node list ANL with each search tree node evaluated by performing the master and subproblem solution approaches. The objective of the BFS search is to nd the search tree node that has smallest objective value. The routes and 111 Root: Q m node 1 :Q m ; I q1;i1;i + 1 = 0 node 2 :Q m ; I q2;i2;i + 2 = 0 node 4 :Q m ; I q2;i2;i + 2 = 0 I q4;i4;i + 4 = 0 node 6 :Q m ; I q2;i2;i + 2 = 0 I q4;i4;i + 4 = 0 I q6;i6;i + 6 = 0 node 7 :Q m ; I q2;i2;i + 2 = 0 I q4;i4;i + 4 = 0 I q7;i7;i + 7 = 0 ::: node 5 :Q m ; I q2;i2;i + 2 = 0 I q5;i5;i + 5 = 0 node 3 :Q m ; I q3;i3;i + 3 = 0 Figure 4.5: Example of Branching in a Search Tree timetable solved in the node is output as the nal passenger trains' decision. In this section, we discuss the criteria and process to construct a search tree starting from the root node to the leaf nodes. 4.4.1 Congestion Evaluation The objective of the leaf nodes generation is to guide the passenger trains to detour the congested track node by adding more constraints. In this section, the heuristic to evaluate the trac congestion encountered by passenger trains is discussed. First, we dene the con ict during the scheduling of a passenger train. A con ict happens in two cases when a passenger train requests a track node resource which is already occupied by another train, at the arrival time of the passenger train. The total number of con icts is denoted as the con ict count. The con ict count re ects the frequency of requesting the track resource occupied by other trains. We use the con ict count of each passenger train at each node to evaluate the encountered trac congestion. 112 Computationally, the con ict count is stored as a counterc qp;i for the passenger train and node pair (q p ;i); i2N t q . The counters are incremented during the execution of the labeling algorithm and the feasibility recovery algorithm, summed on all the evaluated subproblem scenarios. In the labeling algorithm, the new freight train con icts with a passenger train in the Decision 2 and Decision 3 cases. The counters are incremented temporarily and then extracted using backtracking when the entire route is nalized. During labeling, the feasibility recovery algorithm adjusts the trains that create infeasibilities by postponing one of them. The postponed train updates the con ict count on its own route and also the other trains whose route shares the same node. In the feasibility recovery algorithm, the con ict counters are incremented when two trains share the same node, which is the case of Equation (4.67). The con ict count c qp;i re ects the con ict of decisions when the algorithm schedules train q p to node i. We develop a heuristic branching approach using c qp;i and experimentally show that the con ict count can be used as a surrogate measure for congestion in the routing decision at the node level. 4.4.2 Heuristic Branching Strategy We propose a branching strategy using the con ict count of each passenger train at each node, to heuristically determine the passenger train routes. The objective of branching is to explore the domain space of the routing decisions and to minimize the cost function of the master problem under stochastic freight train departure times. Due to the resource capacity constraints and safety headway constraints, the track segments requested by multiple trains at the same time tend to generate the delay. By systematically scheduling trains and reducing the overlaping of the trains' routing in the time space domain, local congestion can be avoided and the total delay of all the trains is reduced. Leveraging exible routing and re-routing for trains for a complex network structure, the routes of passenger trains can be adjusted based on the observed local congestion which is evaluated by the con ict count. The routing decision is initially made in the master 113 problem solution approach. Considering the con ict count when solving the subproblems, a re- routing approach is implemented next to adjust the routing decisions and to address the trac congestion issue. Flexible routing for all passenger trains is a combinatorial optimization problem. To improve the route of the individual train and routes combination of all the trains, a neighborhood search can be implemented in the routing variable domain space around the current routing decision. A search that enumerates all the routing combinations is computationally expensive considering the size of the network and the number of trains. To heuristically improve the solution, we propose to branch the search tree along the direction that can potentially decrease the objective value. A route combination of trains that create local congestion tends to increase the objective value. An intuitive example is that if every train is assigned to its shortest path, a track segment that is shorter or with a higher speed limit will be shared by multiple trains' routes. In such a route combination, the delay signicantly increases since some of the trains are waiting until the track resource is released. This congestion can be captured by the con ict count dened in Section 4.4.1. By rerouting the trains to detour the congested node, the waiting time at the congested track can be reduced. In the detour process, which node is the most congested and which train is selected to detour the node needs to be decided. We propose a branching strategy to order the con ict count of all the trains at all the nodes, select the top three passenger trains and node pairs (q p ;i) with the highest number of con icts count, and generate a branched leaf node for each of the detour decisions. A constraint (see Equation (4.85)) is added back to the master problem, to generate an enhanced problem on the leaf node. The generated new search tree node is appended to the ANL. The solution algorithm on a search tree node that is discussed in Section 4.3 is applied to solve the generated problems. I q;i;i + = 0; q2Q p ; ^ N q ;j2 ^ N + q;i (4.85) 114 The total number of problems to be solved grows exponentially with the branching process. Applying the solution algorithm to all the search tree nodes is computationally expensive and thus limits the search within a local solution space. We next present a bounding heuristic that trims the search tree branches to achieve better computational eciency. 4.5 Bounding Rules In the master problem solution approach, we aim to optimize the routing decisions, and adjust the time decisions and precedence decisions. Note that the constraints set (4.85) expands with the branch and bound process. A set of track nodes (empty in c(0)) is forbidden for some passenger trains to travel. As the process expands, the feasible domain of the passenger train routes shrinks until no feasible route exists for at least one passenger train. The master problem will eventually become infeasible if no available route exists for a passenger train between its origin and destination stations. If the individual train routing and scheduling problem in Equation (4.45) for any passenger train is infeasible, branching is terminated since all the leaf nodes become infeasible as well. The branching heuristic reduces the sum of the delays by reducing the con icts between the trains. However, re-routing can assign a suboptimal route to an individual passenger train. The cost of the total passenger travel time in the master problem does not necessarily decrease along a branch of the search tree. Not all the detour decisions are protable for the overall problem, since the branching follows a heuristics rule. In the branching process, a bad detour decision will remain in the search tree once the detour constraint is added, and a signicant portion of computation eort will be spent on exploring around the bad routing decision. We propose a straightforward bounding rule to discard the bad decisions before further branching, and the search in that direction will be terminated if the bounding criterion is met. When a node in ANL is solved, we record the objective value of the incumbent solution (best solution so far), denoted 115 as obj(k ), where k is the index of the search tree node that has the incumbent solution. As discussed in the branching rule, the solution to the leaf node has one more detour constraint which makes the passenger train bypass the congested node. The leaf node solution does not necessarily outperform the solution of the parent node, since the detour decision may further generate delay for the detouring passenger train. We compare the objective value of the solved leaf node k with obj(k ), as the following criterion: obj(k)>obj(k ) (1 +) (4.86) is the bounding threshold, which denes the tolerance level for the change of objective value. Once the objective value exceeds the thresholds, the heuristic bounding rule is applied to trim the current search tree node and to terminate the unpromising branches. The bounding rule possibly drops some high quality solutions but speeds up the search and enables a larger search area. The threshold addresses the unstable average approximation issue among the subproblems. As discussed in Section 4.3.2.2, the sample size is one of the factors that in uences the variance of the samples. Given the sample size determined in Section 4.3.2.2, the threshold needs to be determined. The node that passes the bounding rule proceeds to the branching process. At the same time, the stop criterion check is invoked to decide if the termination of the overall algorithm is reached. There are two stopping criteria that check the size of the ANL and the computation resource usage. If all the nodes in ANL do not meet the bounding condition and are removed from ANL, there is no more search tree nodes that need to be explored. If the computation resource, including both computation time and memory, reaches the given limit, the branch and bound is also terminated. The incumbent solution to node k is output as the best solution. The convergence rate of the branch and bound algorithm is analyzed through dierent exper- imental settings. The experiments are tested on the same network and schedule as in Section 116 4.3.2.2. First, we test random branching in which a randomly selected route constraint is gen- erated to the leaf search tree nodes. In random branching, the congestion information from the subproblems is not considered and the branching direction is blind. Then we test the heuristic branching rule proposed in Section 4.4.2. The con ict count from the subproblems is treated as the estimation for the encountered trac congestion. In this setting, the bounding rules are not applied. The experiment is denoted as Branch & Bound, =1.Then based on the heuristic branching, we further integrate the bounding rules with dierent bounding threshold values . The experiment Branch & Bound, = 0.01 tests a lower bounding threshold, and the other experiment Branch & Bound, = 0.05 tests a higher bounding threshold. The stopping criterion is set to be 200 branch and bound iterations. The convergence rates of the four experiments are shown in Figure 4.6, in which the objective values for each iteration is presented. Compared with random branching, the con ict-detour branching strategy eectively leads the search towards the direction that minimizes the objective. The value of is shown to change the convergence rate of the con ict-detour branching algorithm. Compared with = 0:01, the higher value of = 0:05 relaxes the threshold and fails to trim some of the unpromising nodes, thus the objective value converges slower and is less stable. Thus, we will use = 0.01 in the rest of the experiments. 4.6 Experimental Analysis In this section, the branch and bound algorithm is experimentally studied. We compare the solution with other heuristics and analyze the robustness of the passenger train timetable. A part of the railway network from Corona to San Bernardino in California is considered in the test experiment. The railway network contains about 30 miles of trackage with complex track segments. The sketch of the railway network is presented in Figure 4.7. There are ve passenger train stations in the network, and two freight train stations which are located at the beginning and ending point of the network. The translated abstract graph contains 120 nodes and 117 arcs. 117 Figure 4.6: Convergence Rate of Branch and Bound Algorithm There are 10 passenger trains to be scheduled, and the passenger demand between stations are generated from a uniform distributionUnif(40; 100). Similar to the schedules in Section 3.3.1, the earliest departure times for passenger trains from the origin stations are generated in a uniform- departure case and a compact-departure case. In the uniform-departure case, the earliest departure times of the passenger trains are uniformly distributed within the day. In the compact-departure case, the earliest departures times is scheduled within the rush hour of the day. There are 14 freight trains to be scheduled. The departure times of the freight trains follow some predened discrete distributions. The uncertainty in departure times of a freight train is bounded within a limited range, as the test freight train departure time distributions shown in Table 4.6. In Section 4.3.1.2, the bound on the optimality gap in passenger train schedule has been demonstrated through experiments. In this section, the experiment focuses on showing the ro- bustness of the passenger train schedule, and the performance of the labeling algorithm in the 118 Freight train index Departure time Probability 1 08:30 0.2 08:40 0.5 08:50 0.3 2 10:27 0.7 10:35 0.3 3 08:29 0.3 08:35 0.4 08:42 0.3 4 10:47 0.5 10:57 0.5 5 09:15 0.4 09:22 0.5 09:30 0.1 6 10:01 0.1 10:11 0.9 7 09:50 0.1 10:00 0.5 10:05 0.4 8 10:20 0.2 10:30 0.8 9 08:55 0.6 09:05 0.3 09:12 0.1 10 10:45 0.3 10:55 0.7 11 08:17 0.2 08:22 0.7 08:28 0.1 12 09:08 0.2 09:12 0.8 13 09:10 0.6 09:15 0.1 09:22 0.3 14 10:33 0.5 10:39 0.5 Table 4.9: The Test Freight Trains Departure Time Distributions jointly scheduling of passenger and freight trains when compared with other heuristics. First we dened the Passenger-OPT schedule as the passenger train schedule that is optimal for the given passenger demand. This schedule is retrieved from the solution of the root search tree node c(0), which has no con ict detouring constraints fed back from the subproblems. Without considering the freight trains impact, Passenger-OPT is biasedly towards passenger trains. After running the proposed branch and bound algorithm, the passenger train schedule in the incumbent solution 119 Figure 4.7: The Railway Network From Corona to San Bernardino to node k is dened as Passenger-Robust. The robust passenger train schedule accounts for the freight trains. Given the passenger train schedules, there are multiple strategies to the scheduling of freight trains. Greedy scheduling is a greedy approach for scheduling and routing freight trains by routing the freight train to the succeeding node which has the earliest available resource. Prior to the availability, the freight train keeps waiting until the resource is free. Greedy scheduling keeps the passenger train schedules unchanged, and the routing decision is made only through the resource availability. Look-ahead scheduling heuristic maintains an evaluation window to check several succeeding nodes. By enumerating the possible routes and schedules in a local range, the algorithm selects the best one and then moves to the succeeding node. Labeling algorithm scheduling follows the labeling algorithm discussed in Section 4.3.2.1. The freight train scheduling approach jointly considers the delay of passenger trains. The labeling approach attempts to nd the global optimal schedule and route for each freight train. By comparing the Passenger-OPT with Greedy scheduling with Passenger-OPT with Look-ahead scheduling, we study if the look- ahead heuristics can assign the freight trains with better routes. By comparing Passenger-OPT with Look-ahead scheduling and Passenger-Robust with Look-ahead scheduling, the robustness of the passenger trains timetable is evaluated. By comparing Passenger-Robust with Look-ahead scheduling and Passenger-Robust with Labeling Algorithm scheduling, we further study that given 120 the robust passenger timetable, whether or not the proposed labeling algorithm outperforms the Look-ahead scheduling approach. To test the performance of each algorithm, a set of randomly generated freight train departure times samples is computed and averaged. In each sample, the objective values contain the cost function of the master problem and of the subproblem. In Greedy scheduling and Look-ahead scheduling, the passenger train schedule remains unchanged when the freight trains are scheduled, thus the objective value of the master problem is constant and the deviation term in the subprob- lem is zero. Combining the passenger train schedule and the freight train scheduling strategies, we compare each objective value. In Table 4.10,PassengerCost is the objective value of the master problem, which is the sum of the weighted passenger travel time. Timetable Deviation is the passenger train timetable deviation term in the objective function of the subproblem. Freight Cost is the total freight train travel time term in the objective function of the subproblem. In Table 4.10, Passenger-Robust with Labeling Algorithm heuristic outperforms the other scheduling heuristic for the overall objective value. In Greedy freight train scheduling, the algo- rithm greedily routes the train to the node with the earliest available time. In a complex network, the routing tends to fall into local minimum solutions. Compared with the Greedy heuristic, the Look-ahead heuristics extends the local search strategy to nd the best routes in a larger neigh- borhood of the solution space. By comparing Passenger-OPT with Greedy and Passenger-OPT with Look-ahead, the Look-ahead heuristic eectively reduces the freight trains cost. In these two experiments, the passenger trains timetable is optimized for passenger trains while not considering the encountered trac congestion with freight trains and remains unchanged during the schedul- ing of the freight trains in the two heuristics. Comparing the freight cost of the two heuristics, Look-ahead reduces the total freight train travel time, and the reduction is more signicant when the number of freight train increases. In the comparison between Passenger-OPT with Look-ahead and Passenger-Robust with Look-ahead, the robust passenger train timetable increases the pas- senger cost slightly. However, the overall objective of Passenger-Robust has better performance 121 # of Freight Trains Passenger-OPT with Greedy Passenger-OPT with Look-ahead Overall Objective Passenger Trains Freight Trains Overall Objective Passenger Trains Freight Trains Passenger Cost Timetable Deviation Freight Cost Passenger Cost Timetable Deviation Freight Cost 6 20042.6 19670.9 0 371.7 19937.9 19580.1 0 357.8 8 20230.1 19670.9 0 559.2 20123.2 19580.1 0 543.1 10 20388.4 19670.9 0 717.5 20229.9 19580.1 0 649.8 12 20517.3 19670.9 0 846.4 20335.7 19580.1 0 755.6 14 20693.8 19670.9 0 1022.9 20471.3 19580.1 0 891.2 # of Freight Trains Passenger-Robust with Look-ahead Passenger-Robust with Labeling Overall Objective Passenger Trains Freight Trains Overall Objective Passenger Trains Freight Trains Passenger Cost Timetable Deviation Freight Cost Passenger Cost Timetable Deviation Freight Cost 6 19933.2 19591.1 0 342.1 19910.6 19599.3 0 311.3 8 20112.8 19591.1 0 521.7 20094.2 19602.7 4.3 482.9 10 20207.3 19591.1 0 616.2 20197.3 19609.2 7.7 570.9 12 20322.6 19591.1 0 731.5 20314.8 19615.1 9.2 681.3 14 20441.4 19591.1 0 860.3 20430.1 19619.6 13.2 784.1 Table 4.10: Comparison Between Passenger and Freight Trains Scheduling Strategies 122 since the freight cost is improved in the robust passenger train timetable. In Passenger-Robust with Labeling approach, the robust passenger train timetable is further adjusted in the scheduling of freight trains. The passenger cost increases since some of the passenger trains are delayed compared to the initial robust timetable. However, the freight cost is further reduced since the priorities between all the trains are balanced such that the overall objective can be improved. 123 Chapter 5 Conclusions and Future work 5.1 Conclusions In this research, we studied train routing and scheduling algorithms for general railway networks, in order to increase the resource utilization and minimize the costs in the operation of both freight and passenger trains. In Chapter 3, the joint schedule of freight and passenger trains is studied. We presented an integrated model that can be used to optimize the delay for freight trains and tardiness for pas- senger trains. In order to solve the problem for real-world size problems, a vertical decomposition is rst performed for passenger train schedule optimization and then combined with freight train scheduling in an iterative procedure. For each of the subproblems, we propose a heuristic or optimization-based algorithm to make three decisions: routing decisions, priority decisions and departure/arrival time decisions. In the passenger train scheduling subproblem, the priority as- signment is based on a heuristic rule that jointly considers a rst-come-rst-serve rule and the potential tardiness. The routes are constructed by a genetic algorithm approach. In the freight train scheduling subproblem, the routing construction algorithm solves a k-shortest path problem to identify the routes that jointly consider the travel time and trac congestion. The priority assignment for freight train is based on a Backward-Forward Insertion heuristic. Experimental re- sults show that the proposed joint scheduling algorithm outperforms other heuristics for a sample complex rail network. In Chapter 4, the stochastic timetabling problem for passenger trains is studied considering the uncertainty in the freight train departure times. We presented a large scale two stage stochastic optimization model to leverage the exible routing in the railway network and to optimize the operation cost given the uncertainties. The passenger demand between stations is considered in 124 the rst stage problem cost function. In the second stage problem, the passenger trains' schedules are adjusted based on the freight trains' departure times and the freight trains'schedules are optimized. We proposed a branch and bound solution framework to solve the problem eciently. A BFS search is applied on the search tree. To solve the problem dened on each search tree node, we applied heuristic algorithms to the master problem and subproblems. To the master problem, a dual ascent algorithm is employed to solve for a relaxed passenger trains schedule and then a feasibility recovery algorithm resolves the infeasibilities from the relaxed solution and generates a feasible passenger trains routing and schedule solution. A subproblem, which corresponds to a scenario of freight train departure times, is solved by a labeling algorithm by routing and scheduling the freight trains and adjusting the passenger trains schedules as well. Experimental analysis that compares the algorithm with other heuristic algorithms demonstrates the solution quality of our proposed approach. 5.2 Future Work In our proposed solution approaches, sequential freight train scheduling is employed to decompose the overall model into individual train routing and scheduling problems. The decomposition reduces the complexity of the problem by isolating the decisions process for each train. However, the solution quality is limited by the decomposition process. Thus, integrated scheduling by more ecient algorithms is required for more generalized industrial applications. All the models in this work assume the running time of the train on each track segment only depends on the length of the segment, the speed limit of the segment and the maximum speed of the train itself. This approximation is based on an assumption of innite acceleration and deceleration rates for the trains. The approximation simplies the problem, since if the acceleration and deceleration is considered, the travel times on consecutive nodes are dependent with each other. Without the innite acceleration and deceleration rates assumption, the travel 125 of a train on a node depends on the status of the train, and also depends on the speed limit of the neighboring nodes in the route. The complexity of the problem signicantly increases when acceleration and deceleration rate are included in the travel time calculation. The integrated scheduling of trains for complex networks considering acceleration and deceleration rate would be a challenging problem to study, but would make the model more realistic. 126 Reference List [1] Diego Arenas, R emy Chevrier, Said Hana, and Joaquin Rodriguez. Solving the train timetabling problem, a mathematical model and a genetic algorithm solution approach. In 6th International Conference on Railway Operations Modelling and Analysis (Rail- Tokyo2015), 2015. [2] Chiara Bersani, Siqi Qiu, Roberto Sacile, Mohamed Sallak, and Walter Sch on. Rapid, robust, distributed evaluation and control of train scheduling on a single line track. Control Engineering Practice, 35:12{21, 2015. [3] Nikola Be sinovi c, Rob MP Goverde, Egidio Quaglietta, and Roberto Roberti. An integrated micro{macro approach to robust railway timetabling. Transportation Research Part B: Methodological, 87:14{32, 2016. [4] Nikola Besinovic, Roberto Roberti, Egidio Quaglietta, Valentina Cacchiani, Paolo Toth, and Rob MP Goverde. Micro-macro approach to robust timetabling. In Proceedings of the 6th International Seminar on Railway Operations Modelling and Analysis (IAROR): RailTokyo, 2015. [5] Ralf Bornd orfer, Heide Hoppmann, and Marika Karbstein. Passenger routing for periodic timetable optimization. Public Transport, pages 1{21, 2016. [6] Ulf Br annlund, Per Olov Lindberg, Andreas Nou, and J-E Nilsson. Railway timetabling using lagrangian relaxation. Transportation science, 32(4):358{369, 1998. [7] Soe Burggraeve, Simon Henry Bull, Pieter Vansteenwegen, and Richard Martin Lusby. Integrating robust timetabling in line plan optimization for railway systems. Transportation Research Part C: Emerging Technologies, 77:134{160, 2017. [8] Valentina Cacchiani, Alberto Caprara, and Matteo Fischetti. Robustness in train timetabling. In CTW, pages 171{174, 2009. [9] Valentina Cacchiani, Alberto Caprara, and Paolo Toth. A column generation approach to train timetabling on a corridor. 4OR: A Quarterly Journal of Operations Research, 6(2):125{142, 2008. [10] Valentina Cacchiani, Alberto Caprara, and Paolo Toth. Scheduling extra freight trains on railway networks. Transportation Research Part B: Methodological, 44(2):215{231, 2010. [11] Valentina Cacchiani, Fabio Furini, and Martin Philip Kidd. Approaches to a real-world train timetabling problem in a railway node. Omega, 58:97{110, 2016. [12] Valentina Cacchiani, Dennis Huisman, Martin Kidd, Leo Kroon, Paolo Toth, Lucas Vee- lenturf, and Joris Wagenaar. An overview of recovery models and algorithms for real-time railway rescheduling. Transportation Research Part B: Methodological, 63:15{37, 2014. 127 [13] Valentina Cacchiani and Paolo Toth. Nominal and robust train timetabling problems. Eu- ropean Journal of Operational Research, 219(3):727{737, 2012. [14] Xiaoqiang Cai, CJ Goh, and Alistair I Mees. Greedy heuristics for rapid scheduling of trains on a single track. IIE transactions, 30(5):481{493, 1998. [15] Gabrio Caimi, Leo Kroon, and Christian Liebchen. Models for railway timetable optimiza- tion: Applicability and applications in practice. Journal of Rail Transport Planning & Management, 6(4):285{312, 2017. [16] Alberto Caprara, Matteo Fischetti, and Paolo Toth. Modeling and solving the train timetabling problem. Operations research, 50(5):851{861, 2002. [17] Alberto Caprara, Laura Galli, and Paolo Toth. Solution of the train platforming problem. Transportation Science, 45(2):246{257, 2011. [18] Alberto Caprara, Leo Kroon, Michele Monaci, Marc Peeters, and Paolo Toth. Passenger railway optimization. Handbooks in operations research and management science, 14:129{ 187, 2007. [19] Alberto Caprara, Michele Monaci, Paolo Toth, and Pier Luigi Guida. A lagrangian heuris- tic algorithm for a real-world train timetabling problem. Discrete applied mathematics, 154(5):738{753, 2006. [20] Malachy Carey. A model and strategy for train pathing with choice of lines, platforms, and routes. Transportation Research Part B: Methodological, 28(5):333{353, 1994. [21] Malachy Carey and Ivan Crawford. Scheduling trains on a network of busy complex stations. Transportation Research Part B: Methodological, 41(2):159{178, 2007. [22] Malachy Carey and Andrzej Kwieci nski. Stochastic approximation to the eects of headways on knock-on delays of trains. Transportation Research Part B: Methodological, 28(4):251{ 267, 1994. [23] Malachy Carey and David Lockwood. A model, algorithms and strategy for train pathing. Journal of the Operational Research Society, 46(8):988{1005, 1995. [24] Enrique Castillo, Inmaculada Gallego, Jos e Mar a Ure~ na, and Jos e Mar a Coronado. Timetabling optimization of a mixed double-and single-tracked railway network. Applied Mathematical Modelling, 35(2):859{878, 2011. [25] Enrique Castillo, Zacar as Grande, Paola Moraga, and Jes us S anchez-Vizca no. A time partitioning technique for railway line design and timetable optimization. Computer-Aided Civil and Infrastructure Engineering, 2016. [26] Jean-Francois Cordeau, Paolo Toth, and Daniele Vigo. A survey of optimization models for train routing and scheduling. Transportation science, 32(4):380{404, 1998. [27] Francesco Corman, Andrea D'Ariano, Ingo A Hansen, and Dario Pacciarelli. Optimal multi- class rescheduling of railway trac. Journal of Rail Transport Planning & Management, 1(1):14{24, 2011. [28] Francesco Corman, Andrea D'Ariano, Dario Pacciarelli, and Marco Pranzo. A tabu search algorithm for rerouting trains during rail operations. Transportation Research Part B: Methodological, 44(1):175{192, 2010. 128 [29] Francesco Corman, Rob MP Goverde, and Andrea D'Ariano. Rescheduling dense train traf- c over complex station interlocking areas. In Robust and Online Large-Scale Optimization, pages 369{386. Springer, 2009. [30] Francesco Corman and Lingyun Meng. A review of online dynamic models and algorithms for railway trac control. In Intelligent Rail Transportation (ICIRT), 2013 IEEE Interna- tional Conference on, pages 128{133. IEEE, 2013. [31] Francesco Corman and Lingyun Meng. A review of online dynamic models and algorithms for railway trac management. IEEE Transactions on Intelligent Transportation Systems, 16(3):1274{1284, 2015. [32] Guy Desaulniers and Daniel Villeneuve. The shortest path problem with time windows and linear waiting costs. Transportation Science, 34(3):312{319, 2000. [33] Maged M Dessouky and Robert C Leachman. A simulation modeling methodology for analyzing large complex rail networks. Simulation, 65(2):131{142, 1995. [34] Maged M Dessouky, Quan Lu, Jiamin Zhao, and Robert C Leachman. An exact solu- tion procedure to determine the optimal dispatching times for complex rail networks. IIE transactions, 38(2):141{152, 2006. [35] Thijs Dewilde, Peter Sels, Dirk Cattrysse, and Pieter Vansteenwegen. Dening robustness of a railway timetable. In 25th Annual Conference of the Belgian Operations Research Society, pages 108{109, 2011. [36] Thijs Dewilde, Peter Sels, Dirk Cattrysse, and Pieter Vansteenwegen. Improving the robust- ness in railway station areas. European Journal of Operational Research, 235(1):276{286, 2014. [37] Edsger W Dijkstra. A note on two problems in connexion with graphs. Numerische math- ematik, 1(1):269{271, 1959. [38] Andrea D'ariano, Dario Pacciarelli, and Marco Pranzo. A branch and bound algorithm for scheduling trains in a railway network. European Journal of Operational Research, 183(2):643{657, 2007. [39] Andrea D'ariano, Dario Pacciarelli, and Marco Pranzo. A branch and bound algorithm for scheduling trains in a railway network. European Journal of Operational Research, 183(2):643{657, 2007. [40] Andrea D'ariano, Dario Pacciarelli, and Marco Pranzo. A branch and bound algorithm for scheduling trains in a railway network. European Journal of Operational Research, 183(2):643{657, 2007. [41] David Eppstein. Finding the k shortest paths. SIAM Journal on computing, 28(2):652{673, 1998. [42] Wei Fang, Shengxiang Yang, and Xin Yao. A survey on problem models and solution approaches to rescheduling in railway networks. IEEE Transactions on Intelligent Trans- portation Systems, 16(6):2997{3016, 2015. [43] Wei Fang, Shengxiang Yang, and Xin Yao. A survey on problem models and solution approaches to rescheduling in railway networks. IEEE Transactions on Intelligent Trans- portation Systems, 16(6):2997{3016, 2015. 129 [44] Matteo Fischetti and Michele Monaci. Light robustness. In Robust and online large-scale optimization, pages 61{84. Springer, 2009. [45] Marta Flamini and Dario Pacciarelli. Real time management of a metro rail terminus. European Journal of Operational Research, 189(3):746{761, 2008. [46] Holger Flier, Thomas Graagnino, and Marc Nunkesser. Scheduling additional trains on dense corridors. In International Symposium on Experimental Algorithms, pages 149{160. Springer, 2009. [47] Lunce Fu and Maged Dessouky. Models and algorithms for dynamic headway control. Computers & Industrial Engineering, 103:271{281, 2017. [48] Keivan Ghoseiri, Ferenc Szidarovszky, and Mohammad Jawad Asgharpour. A multi- objective train scheduling model and solution. Transportation Research Part B: Method- ological, 38(10):927{952, 2004. [49] Rob MP Goverde, Nikola Be sinovi c, Anne Binder, Valentina Cacchiani, Egidio Quaglietta, Roberto Roberti, and Paolo Toth. A three-level framework for performance-based railway timetabling. Transportation Research Part C: Emerging Technologies, 67:62{83, 2016. [50] Xin Guo, Huijun Sun, Jianjun Wu, Jiangang Jin, Jin Zhou, and Ziyou Gao. Multiperiod- based timetable optimization for metro transit networks. Transportation Research Part B: Methodological, 96:46{67, 2017. [51] IA Hansen. State-of-the-art of railway operations research. Timetable planning and infor- mation quality'(WITPress, 2010), pages 35{48, 2010. [52] Steven S Harrod. A tutorial on fundamental model structures for railway timetable opti- mization. Surveys in Operations Research and Management Science, 17(2):85{96, 2012. [53] Erfan Hassannayebi, Seyed Hessameddin Zegordi, Mohammad Reza Amin-Naseri, and Ma- soud Yaghini. Demand-oriented timetable design for urban rail transit under stochastic demand. Journal of Industrial and Systems Engineering, 9(3):28{56, 2016. [54] Mojtaba Heydar, Matthew EH Petering, and Dietrich R Bergmann. Mixed integer pro- gramming for minimizing the period of a cyclic railway timetable for a single track with two train types. Computers & Industrial Engineering, 66(1):171{185, 2013. [55] Andrew Higgins, Erhan Kozan, and Luis Ferreira. Optimal scheduling of trains on a single line track. Transportation Research Part B: Methodological, 30(2):147{161, 1996. [56] Andrew Higgins, Erhan Kozan, and Luis Ferreira. Optimal scheduling of trains on a single line track. Transportation Research Part B: Methodological, 30(2):147{161, 1996. [57] Dennis Huisman, Leo G Kroon, Ramon M Lentink, and Michiel JCM Vromans. Operations research in passenger railway transportation. Statistica Neerlandica, 59(4):467{497, 2005. [58] Ampol Karoonsoontawong and Apisak Taptana. Branch-and-bound-based local search heuristics for train timetabling on single-track railway network. Networks and Spatial Eco- nomics, pages 1{39, 2015. [59] Leonardo Lamorgese and Carlo Mannino. An exact decomposition approach for the real- time train dispatching problem. Operations Research, 63(1):48{64, 2015. [60] Leonardo Lamorgese, Carlo Mannino, and Mauro Piacentini. Optimal train dispatching by benders'-like reformulation. Transportation Science, 50(3):910{925, 2016. 130 [61] Yusin Lee and Chuen-Yih Chen. A heuristic for the train pathing and timetabling problem. Transportation Research Part B: Methodological, 43(8):837{851, 2009. [62] Christian Liebchen and Rolf H M ohring. The modeling power of the periodic event schedul- ing problem: railway timetables|and beyond. In Algorithmic methods for railway opti- mization, pages 3{40. Springer, 2007. [63] Christian Liebchen, Michael Schachtebeck, Anita Sch obel, Sebastian Stiller, and Andr e Prigge. Computing delay resistant railway timetables. Computers & Operations Research, 37(5):857{868, 2010. [64] Shi Qiang Liu and Erhan Kozan. Scheduling trains as a blocking parallel-machine job shop scheduling problem. Computers & Operations Research, 36(10):2840{2852, 2009. [65] Shi Qiang Liu and Erhan Kozan. Scheduling trains with priorities: a no-wait blocking parallel-machine job-shop scheduling model. Transportation Science, 45(2):175{198, 2011. [66] Ilse Louwerse and Dennis Huisman. Adjusting a railway timetable in case of partial or complete blockades. European Journal of Operational Research, 235(3):583{593, 2014. [67] Quan Lu, Maged Dessouky, and Robert C Leachman. Modeling train movements through complex rail networks. ACM Transactions on Modeling and Computer Simula- tion (TOMACS), 14(1):48{75, 2004. [68] Richard M Lusby, Jesper Larsen, Matthias Ehrgott, and David Ryan. Railway track allo- cation: models and methods. OR spectrum, 33(4):843{883, 2011. [69] Alessandro Mascis and Dario Pacciarelli. Job-shop scheduling with blocking and no-wait constraints. European Journal of Operational Research, 143(3):498{517, 2002. [70] Maura Mazzarello and Ennio Ottaviani. A trac management system for real-time trac optimisation in railways. Transportation Research Part B: Methodological, 41(2):246{274, 2007. [71] Giorgio Medeossi, Giovanni Longo, and Stefano de Fabris. A method for using stochas- tic blocking times to improve timetable planning. Journal of Rail Transport Planning & Management, 1(1):1{13, 2011. [72] Lingyun Meng and Xuesong Zhou. Robust single-track train dispatching model under a dynamic and stochastic environment: a scenario-based rolling horizon solution approach. Transportation Research Part B: Methodological, 45(7):1080{1102, 2011. [73] Lingyun Meng and Xuesong Zhou. Robust single-track train dispatching model under a dynamic and stochastic environment: a scenario-based rolling horizon solution approach. Transportation Research Part B: Methodological, 45(7):1080{1102, 2011. [74] Lingyun Meng and Xuesong Zhou. Simultaneous train rerouting and rescheduling on an n-track network: A model reformulation with network-based cumulative ow variables. Transportation Research Part B: Methodological, 67:208{234, 2014. [75] Lingyun Meng and Xuesong Zhou. Simultaneous train rerouting and rescheduling on an n-track network: A model reformulation with network-based cumulative ow variables. Transportation Research Part B: Methodological, 67:208{234, 2014. [76] Shi Mu and Maged Dessouky. Scheduling freight trains traveling on complex networks. Transportation Research Part B: Methodological, 45(7):1103{1123, 2011. 131 [77] Michiel A Odijk. A constraint generation algorithm for the construction of periodic railway timetables. Transportation Research Part B: Methodological, 30(6):455{464, 1996. [78] Elias Oliveira and Barbara M Smith. A job-shop scheduling model for the single-track railway scheduling problem. RESEARCH REPORT SERIES-UNIVERSITY OF LEEDS SCHOOL OF COMPUTER STUDIES LU SCS RR, (21), 2000. [79] O Oliveira and BM Smith. A job shop scheduling model for the single track-railway timetabling problem. Technical report, Technical Report 2000.21, University of Leeds, 2000. [80] Jens Parbo, Otto Anker Nielsen, and Carlo Giacomo Prato. Passenger perspectives in railway timetabling: A literature review. Transport Reviews, 36(4):500{526, 2016. [81] Jens Parbo, Otto Anker Nielsen, and Carlo Giacomo Prato. Passenger perspectives in railway timetabling: A literature review. Transport Reviews, 36(4):500{526, 2016. [82] Paola Pellegrini, Gr egory Marli ere, and Joaquin Rodriguez. Optimal train routing and scheduling for managing trac perturbations in complex junctions. Transportation Research Part B: Methodological, 59:58{80, 2014. [83] Tom a s Robenek, Yousef Maknoon, Shadi Sharif Azadeh, Jianghang Chen, and Michel Bierlaire. Passenger centric train timetabling problem. Transportation Research Part B: Methodological, 89:107{126, 2016. [84] Bernard Roy and B Sussmann. Les problemes d'ordonnancement avec contraintes disjonc- tives. Note ds, 9, 1964. [85] Marcella Sam a, Francesco Corman, Dario Pacciarelli, et al. A variable neighbourhood search for fast train scheduling and routing during disturbed railway trac situations. Computers & Operations Research, 78:480{499, 2017. [86] Marcella Sama, Paola Pellegrini, Andrea D'Ariano, Joaquin Rodriguez, and Dario Paccia- relli. A routing lter for the real-time railway trac management problem based on ant colony optimization. Transportation Research Procedia, 10:534{543, 2015. [87] Marcella Sam a, Paola Pellegrini, Andrea D'Ariano, Joaquin Rodriguez, and Dario Paccia- relli. Ant colony optimization for the real-time train routing selection problem. Transporta- tion Research Part B: Methodological, 85:89{108, 2016. [88] Michael Schachtebeck and Anita Sch obel. To wait or not to wait|and who goes rst? delay management with priority decisions. Transportation Science, 44(3):307{321, 2010. [89] Anita Sch obel and Albrecht Kratz. A bicriteria approach for robust timetabling. In Robust and online large-scale optimization, pages 119{144. Springer, 2009. [90] Anita Sch obel and Albrecht Kratz. A bicriteria approach for robust timetabling. In Robust and online large-scale optimization, pages 119{144. Springer, 2009. [91] Peter Sels, Thijs Dewilde, Dirk Cattrysse, and Pieter Vansteenwegen. Reducing the pas- senger travel time in practice by the automated construction of a robust railway timetable. Transportation Research Part B: Methodological, 84:124{156, 2016. [92] Yann Semet and Marc Schoenauer. An ecient memetic, permutation-based evolutionary algorithm for real-world train timetabling. In Evolutionary Computation, 2005. The 2005 IEEE Congress on, volume 3, pages 2752{2759. IEEE, 2005. 132 [93] D Semrov, R Marseti c, M Zura, L Todorovski, and A Srdic. Reinforcement learning ap- proach for train rescheduling on a single-track railway. Transportation Research Part B: Methodological, 86:250{267, 2016. [94] Mohammad Ali Shaa, Mohsen Pourseyed Aghaee, Seyed Jafar Sadjadi, and Amin Jamili. Robust train timetabling problem: Mathematical model and branch and bound algorithm. IEEE Transactions on Intelligent Transportation Systems, 13(1):307{317, 2012. [95] Lijun Sun, Jian Gang Jin, Der-Horng Lee, Kay W Axhausen, and Alexander Erath. Demand-driven timetable design for metro services. Transportation Research Part C: Emerging Technologies, 46:284{299, 2014. [96] Yahua Sun, Chengxuan Cao, and Chao Wu. Multi-objective optimization of train routing problem combined with train scheduling on a high-speed railway network. Transportation Research Part C: Emerging Technologies, 44:1{20, 2014. [97] Bernardo Szpigel. Optimal train scheduling on a single line railway. 1973. [98] Johanna T ornquist and Jan A Persson. N-tracked railway trac re-scheduling during dis- turbances. Transportation Research Part B: Methodological, 41(3):342{362, 2007. [99] Lucas P Veelenturf, Martin P Kidd, Valentina Cacchiani, Leo G Kroon, and Paolo Toth. A railway timetable rescheduling approach for handling large-scale disruptions. Transportation Science, 50(3):841{862, 2015. [100] Michiel Vromans. Reliability of railway systems. 2005. [101] Xiaoming Xu, Keping Li, Lixing Yang, and Jingjing Ye. Balanced train timetabling on a single-line railway with optimized velocity. Applied Mathematical Modelling, 38(3):894{909, 2014. [102] Lixing Yang, Jianguo Qi, Shukai Li, and Yuan Gao. Collaborative optimization for train scheduling and train stop planning on high-speed railways. Omega, 64:57{76, 2016. [103] Wenliang Zhou and Hualiang Teng. Simultaneous passenger train routing and timetabling using an ecient train-based lagrangian relaxation decomposition. Transportation Research Part B: Methodological, 94:409{439, 2016. [104] Xuesong Zhou and Ming Zhong. Single-track train timetabling with guaranteed optimality: Branch-and-bound algorithms with enhanced lower bounds. Transportation Research Part B: Methodological, 41(3):320{341, 2007. [105] Athanasios K Ziliaskopoulos and Hani S Mahmassani. Time-dependent, shortest-path algo- rithm for real-time intelligent vehicle highway system applications. Transportation research record, pages 94{94, 1993. 133
Abstract (if available)
Abstract
The rail industry has been at the forefront of economic growth in Asia, United States and Europe. The freight rail industry in particular has a long history of being essential to the global economy. The increasing demand from the passenger train market brings challenges to the railway operations since the expansion of network trackage is an expensive venture and limited by the space in urban areas. We investigate the integrated scheduling of freight and passenger trains in complex railway networks and the timetabling for passenger trains in order to improve the efficiency of schedules. Two models are considered in this research for the routing and scheduling of trains. Both models consider a general railway network that consists of multiple tracks. We introduce the routing constraints, travel time constraints and safety headway constraints in the models. In the first model, we assume the timetable of passenger trains is given and the objective is to minimize the weighted sum of freight trains' delay and passenger trains' tardiness. We develop a decomposition based heuristic that solves real world problem size. A vertical decomposition is first performed for passenger train schedule optimization and then combined with freight train scheduling in an iterative procedure. A genetic based heuristic is studied to optimize passenger trains schedule and an insertion based heuristic is studied to optimize the freight train schedules. In the second model, the objective is to study the robust passenger train timetable considering the uncertainty in freight train departure times. A Lagrangian methods is first developed to solve for a relaxed passenger train schedule and then a feasibility recovery heuristic is applied. Then in the subproblems, a labeling algorithm is proposed to jointly optimize the freight and passenger trains sequentially. The numerical experiments show the proposed solution outperforms other heuristics for real size networks.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Train scheduling and routing under dynamic headway control
PDF
Dynamic programming-based algorithms and heuristics for routing problems
PDF
Models and algorithms for the freight movement problem in drayage operations
PDF
Optimum multimodal routing under normal condition and disruptions
PDF
Routing problems for fuel efficient vehicles
PDF
Strategies for effective rail track capacity use
PDF
Cost-sharing mechanism design for freight consolidation
PDF
New approaches for routing courier delivery services
PDF
Routing for ridesharing
PDF
Package delivery with trucks and UAVs
PDF
Models and algorithms for pricing and routing in ride-sharing
PDF
Intelligent urban freight transportation
PDF
Routing and inventory model for emergency response to minimize unmet demand
PDF
Information design in non-atomic routing games: computation, repeated setting and experiment
PDF
Vehicle routing and resource allocation for health care under uncertainty
PDF
Learning and control in decentralized stochastic systems
PDF
Dynamic routing and rate control in stochastic network optimization: from theory to practice
PDF
Models and algorithms for energy efficient wireless sensor networks
PDF
Learning and decision making in networked systems
PDF
Evaluating city logistics using two-level location routing modeling and SCPM simulation
Asset Metadata
Creator
Liu, Liang
(author)
Core Title
Train routing and timetabling algorithms for general networks
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Publication Date
09/18/2017
Defense Date
08/11/2017
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
mixed integer optimization,OAI-PMH Harvest,railway routing,scheduling,stochastic optimization
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Dessouky, Maged (
committee chair
), Carlsson, John (
committee member
), Savla, Ketan (
committee member
)
Creator Email
l.liangng@gmail.com,liangliu@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c40-429466
Unique identifier
UC11264458
Identifier
etd-LiuLiang-5728.pdf (filename),usctheses-c40-429466 (legacy record id)
Legacy Identifier
etd-LiuLiang-5728.pdf
Dmrecord
429466
Document Type
Dissertation
Rights
Liu, Liang
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
mixed integer optimization
railway routing
scheduling
stochastic optimization