Effective Network Partitioning to Find MIP Solutions to the Train Dispatching Problem

Similar documents
The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Support Vector Machines

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

An Optimal Algorithm for Prufer Codes *

5 The Primal-Dual Method

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

TPL-Aware Displacement-driven Detailed Placement Refinement with Coloring Constraints

Solving two-person zero-sum game by Matlab

Load Balancing for Hex-Cell Interconnection Network

Analysis of Continuous Beams in General

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

A Binarization Algorithm specialized on Document Images and Photos

Efficient Distributed File System (EDFS)

Problem Set 3 Solutions

Comparison of Heuristics for Scheduling Independent Tasks on Heterogeneous Distributed Environments

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

Simulation Based Analysis of FAST TCP using OMNET++

The Codesign Challenge

Classifying Acoustic Transient Signals Using Artificial Intelligence

Wishing you all a Total Quality New Year!

Module Management Tool in Software Development Organizations

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Support Vector Machines

GSLM Operations Research II Fall 13/14

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Greedy Technique - Definition

Smoothing Spline ANOVA for variable screening

Hermite Splines in Lie Groups as Products of Geodesics

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

3. CR parameters and Multi-Objective Fitness Function

A fault tree analysis strategy using binary decision diagrams

CMPS 10 Introduction to Computer Science Lecture Notes

11. APPROXIMATION ALGORITHMS

SENSITIVITY ANALYSIS IN LINEAR PROGRAMMING USING A CALCULATOR

A Saturation Binary Neural Network for Crossbar Switching Problem

Load-Balanced Anycast Routing

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Feature Reduction and Selection

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

A New Approach For the Ranking of Fuzzy Sets With Different Heights

Storage Binding in RTL synthesis

A Hybrid Genetic Algorithm for Routing Optimization in IP Networks Utilizing Bandwidth and Delay Metrics

DESIGNING TRANSMISSION SCHEDULES FOR WIRELESS AD HOC NETWORKS TO MAXIMIZE NETWORK THROUGHPUT

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Term Weighting Classification System Using the Chi-square Statistic for the Classification Subtask at NTCIR-6 Patent Retrieval Task

TN348: Openlab Module - Colocalization

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Test-Cost Modeling and Optimal Test-Flow Selection of 3D-Stacked ICs

A Facet Generation Procedure. for solving 0/1 integer programs

LECTURE NOTES Duality Theory, Sensitivity Analysis, and Parametric Programming

Available online at ScienceDirect. Procedia Engineering 137 (2016 ) GITSS2015

Programming in Fortran 90 : 2017/2018

Optimization Methods: Integer Programming Integer Linear Programming 1. Module 7 Lecture Notes 1. Integer Linear Programming

Virtual Machine Migration based on Trust Measurement of Computer Node

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

Report on On-line Graph Coloring

CHAPTER 2 PROPOSED IMPROVED PARTICLE SWARM OPTIMIZATION

Meta-heuristics for Multidimensional Knapsack Problems

Intra-Parametric Analysis of a Fuzzy MOLP

IP Camera Configuration Software Instruction Manual

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Support Vector Machines. CS534 - Machine Learning

QoS-aware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

UNIT 2 : INEQUALITIES AND CONVEX SETS

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

An Entropy-Based Approach to Integrated Information Needs Assessment

APPLICATION OF MULTIVARIATE LOSS FUNCTION FOR ASSESSMENT OF THE QUALITY OF TECHNOLOGICAL PROCESS MANAGEMENT

Insertion Sort. Divide and Conquer Sorting. Divide and Conquer. Mergesort. Mergesort Example. Auxiliary Array

An Application of Network Simplex Method for Minimum Cost Flow Problems

S1 Note. Basis functions.

Performance Evaluation of Information Retrieval Systems

Run-Time Operator State Spilling for Memory Intensive Long-Running Queries

F Geometric Mean Graphs

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

Multicriteria Decision Making

Sorting Review. Sorting. Comparison Sorting. CSE 680 Prof. Roger Crawfis. Assumptions

Routing on Switch Matrix Multi-FPGA Systems

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) ,

Solving Route Planning Using Euler Path Transform

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

An Approach in Coloring Semi-Regular Tilings on the Hyperbolic Plane

Related-Mode Attacks on CTR Encryption Mode


Array transposition in CUDA shared memory

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

3D vector computer graphics

Verification by testing

Parallel matrix-vector multiplication

OPL: a modelling language

Loop Transformations, Dependences, and Parallelization

Transcription:

Vrgna Commonwealth Unversty VCU Scholars Compass Theses and Dssertatons Graduate School 2013 ffectve Network Parttonng to Fnd MIP Solutons to the Tran Dspatchng Problem Chrstopher Snellngs Vrgna Commonwealth Unversty Follow ths and addtonal works at: https://scholarscompass.vcu.edu/etd Part of the Physcal Scences and Mathematcs Commons The Author Downloaded from https://scholarscompass.vcu.edu/etd/3285 Ths Thess s brought to you for free and open access by the Graduate School at VCU Scholars Compass. It has been accepted for ncluson n Theses and Dssertatons by an authorzed admnstrator of VCU Scholars Compass. For more nformaton, please contact lbcompass@vcu.edu.

ffectve Network Parttonng to Fnd MIP Solutons to the Tran Dspatchng Problem A thess submtted n partal fulfllment of the requrements for the degree of Master of Scence n Mathematcs at Vrgna Commonwealth Unversty by Chrstopher Snellngs Drector: Dr. J. Paul Brooks, Assocate Professor Department of Statstcal Scences and Operatons Research Vrgna Commonwealth Unversty Rchmond, Vrgna December 2013

Table of Contents Lst of Tables... v Lst of Fgures... v Abstract... v 1. Introducton... 1 2. Lterature Revew... 3 3. Problem Descrpton... 6 3.1 RAS Network... 6 3.2 Basc Defntons... 6 3.3 Tran Dspatchng Objectve... 10 3.4 Tran Treatment... 12 3.5 Data Inputs... 12 3.6 Addtonal Data Inputs... 13 3.7 Tran Movement Requrements... 14 3.8 Conflctng Demands... 15 4. Introducton to Mxed Integer Programmng for the Tran Dspatchng Problem... 16 5. Prototype MIP Formulaton for the INFORMS RAS Problem... 24 6. Improved MIP Formulaton... 29 6.1 Network Parttonng... 29 6.2 Objectve Functon and Constrants... 31 6.2.1 Objectve Functon... 35 6.2.2 Basc Movement Constrants... 36 6.2.3 Deconflcton Constrants... 43 6.2.4 Mantenance of ay (MO) Constrants... 48

6.2.5 Objectve Functon Support Constrants... 50 6.2.6 Sdng Restrcton Constrants... 52 6.2.7 Sdng Concurrence Constrants... 52 6.2.8 Constrants Made Necessary by Data Set 2... 54 6.2.9 Constrants Made Necessary by Data Set 3... 55 6.2.10 Operatonal Constrants for Faster Solutons... 55 7. Results/Comparson... 58 7.1 Hardware and Software Descrpton... 58 7.2 Over-calculaton n ths Model... 58 7.3 Set 1 Tran Movements... 60 7.4 Set 2 Tran Movements... 66 7.5 Set 3 Tran Movements... 69 8. Future ork... 72 9. Concluson... 73 Lst of References... 74 Appendx 1: Tran Movements... 77 A1.1 Data Set 1 Tran Movements (Sngle Problem)... 77 A1.2 Data Set 2 Tran Movements (Merged Sub-Problems)... 80 A1.3 Data Set 3 Tran Movements (Merged Sub-Problems)... 85 Vta... 92

Lst of Tables Table 1: Hourly Movement Delay Costs by Class... 11 Table 2: Prototype Input Data... 24 Table 3: Prototype Formulaton Decson Varables... 25 Table 4: Improved Formulaton Input Data... 31 Table 5: Improved Formulaton Decson Varables... 34 Table 6: Data Set 1 Arrval Tmes n Mnutes... 59 Table 7: Data Set 1 Soluton Tmes for MIP Implementaton Varatons... 64 Lst of Fgures Fgure 1: RAS Network... 6 Fgure 2: Mans, Sdngs, and Swtches... 8 Fgure 3: Crossovers and Dual Track... 10 Fgure 4: Smple Tran Network... 16 Fgure 5: Introductory Tran Schedule... 23 Fgure 6: Network Parttonng... 29 Fgure 7: Reduced Bnary Varables... 30 Fgure 8: Data Set 1 Tran Movements (Sngle Problem)... 63 Fgure 9: Soluton Tmes as a Functon of Bnary Varables... 65 Fgure 10: Data Set 2 Tran Movements (Merged Sub-problems)... 68 Fgure 11: Data Set 3 Tran Movements (Merged Sub-problems)... 71 v

Abstract ffectve Network Parttonng to Fnd MIP Solutons to the Tran Dspatchng Problem By Chrstopher Snellngs, M.S. Student A thess submtted n partal fulfllment of the requrements for the degree of Master of Scence n Mathematcs at Vrgna Commonwealth Unversty Vrgna Commonwealth Unversty, 2013 Drector: Dr. J. Paul Brooks, Assocate Professor Department of Statstcal Scences and Operatons Research ach year the Ralway Applcatons Secton (RAS) of the Insttuton for Operatons Research and the Management Scences (INFORMS) posts a research problem to the world n the form of a competton. For 2012, the contest nvolved solvng the Tran Dspatchng Problem (TDP) on a realstc 85 edge network for three dfferent sets of nput data. Ths work s an ndependent attempt to match or mprove upon the results of the top three fnshers n the contest usng mxed nteger programmng (MIP) technques whle mnmzng the use of heurstcs. The prmary focus s to partton the network n a manner that reduces the number of bnary varables n the formulaton as much as possble wthout compromsng the ablty to satsfy any of the contest requrements. Ths resulted n the ablty to optmally solve ths model for RAS Data Set 1 n 29 seconds wthout any problem-specfc heurstcs, varable restrctons, or varable fxng. Applyng some assumptons about tran movements allowed the same Data Set 1 soluton to be v

found n 5.4 seconds. After breakng the larger Data Sets 2 and 3 nto smaller sub-problems, solutons for Data Sets 2 and 3 were 28% and 1% better, respectvely, than those of the competton wnner. The tme to obtan solutons for Data Sets 2 and 3 was 90 and 318 seconds, respectvely. v

1. Introducton ach year the Ralway Applcatons Secton (RAS) of the Insttuton for Operatons Research and the Management Scences (INFORMS) posts a research problem to the world n the form of a competton. For 2012, the contest nvolved solvng the Tran Dspatchng Problem (TDP) on a realstc 85 edge network for three dfferent sets of nput data. Gven a network layout, a tme wndow, a set of desred tran schedules, and a set of cost parameters related to schedule devances, the overall objectve of the TDP s to mnmze the cost of routng the set of trans through the network durng the tme wndow. Ths work s an ndependent attempt to match or mprove upon the results of the top three fnshers n the contest usng mxed nteger programmng (MIP) technques whle mnmzng the use of heurstcs. The prmary focus s to mnmze the number of bnary varables as far as possble wthout compromsng the ablty to satsfy any of the contest requrements. Ths was accomplshed by parttonng the network n a manner that satsfactorly descrbes tran movements wth the fewest number of bnary varables. Ths resulted n the ablty to optmally solve ths model for RAS Data Set 1 n 29 seconds wthout any problem-specfc heurstcs, varable restrctons, or varable fxng. Applyng some assumptons about tran movements allowed the same Data Set 1 soluton to be found n 5.4 seconds. These assumptons about tran movements wll be referred to later n ths paper as operatonal constrants. After breakng the larger Data Sets 2 and 3 nto smaller sub-problems and applyng reasonable operatonal constrants, solutons for Data Sets 2 and 3 were 28% and 1% better, respectvely, than those of the competton wnner n [10]. The tme to obtan solutons for Data Sets 2 and 3 was 90 and 318 seconds, respectvely. 1

Also, note that the solver was 64 bt Gurob 5.6 run on a ndows 7 laptop wth an Intel Core 7-3610 2.3 GHz processor and 8 GB of RAM. Default solver settngs were used for all runs. 2

2. Lterature Revew In [1], the INFORMS RAS problem descrpton lsted sx references on the Tran Dspatchng Problem. ach s brefly commented on below. In [4], D Arano et al. defne an alternatve graph that adds alternatve arcs n cases where trans wll be competng for the same resource (track) at the same tme. The soluton n ths paper does not use the alternatve graph method. The only graph used for ths paper conssts of drectonless edges (arcs) that defne the tran network n the INFORMS RAS problem descrpton. In [5], Harrod used hypergraphs to descrbe tran flow over dscrete tme ntervals. The soluton n ths paper does not use hypergraphs or dscrete tme ntervals. In [6], Törnqust et al. presented a MIP to re-schedule after schedule dsturbances occur on an n- track network. They experment wth four heurstc strateges to acheve faster results. For the INFORMS RAS problem, an ntal schedule wthout conflcts does not already exst. For the MIP n ths paper, operatonal constrants restrctng the use of sdngs to speed up soluton tmes are very smlar to ther Strategy 3: Allow Ɵ number of order swaps for specfc segments. In [7], Carey et al. used heurstc algorthms coded n C. These types of algorthms could be used to fnd very good ntal feasble solutons for a TDP MIP. Also, they potentally could be run n parallel wth the Gurob solver to fnd better solutons durng the soluton process. However, only mxed nteger programmng solved wth Gurob s used n ths paper. In [8], Zhou et al. studed a sngle track network wth the ntent of mnmzng total tran travel tme. They also nvestgated heurstc methods and Lagrangan relaxaton to mprove upper and 3

lower bounds durng the MIP soluton process. A sgnfcant porton of the INFORMS RAS network for ths paper s dual (parallel) track. Due to multple tran classes wth varyng cost structures, mnmzng total tran travel tme does not guarantee an optmal soluton to the INFORMS RAS problem. For the MIP n ths paper, no work has been done to mprove upper or lower bounds durng the soluton process. In [9], Sahn et al. mplement a dscrete tme MIP wth nbound arcs, outbound arcs, watng arcs, etc. The MIP for ths paper uses contnuous entry and ext tme varables for each tran that are assocated wth the drectonless edges (arcs) that defne the tran network n the problem descrpton. The concept of the maxmum allowable delay from [9] s utlzed to obtan faster soluton tmes for the MIP n ths paper. It s only used wth respect to the total travel tme for each tran. xperments wth applyng maxmum allowable delays to ndvdual edges or subsets of edges dd not seem to produce soluton tme mprovements for the MIP n ths paper. Care must be taken when settng maxmum allowable delays for a data set. Makng them too tght can cause the model to be nfeasble. Also, makng them too tght can keep a tran from beng entrely dropped (not released nto the network) when t s advantageous to the objectve functon value. Addtonally, the reports for the frst through thrd place fnshers are avalable on the 2012 INFORMS RAS competton webste. They are consdered n order from frst to thrd below. ach team developed a MIP soluton usng the RAS defned network and then appled varous heurstc approaches n search of fast, low cost solutons. In [10], Yan et al. developed a MIP soluton and used varyng heurstc approaches n conjuncton wth t to speed up soluton tmes. They also decomposed the plannng horzon nto 4

overlappng segments and solved smaller sub-problems for each data set. Ths approach acheved the best result reported by any compettor for Data Set 3. However, ther heurstc approach used n conjuncton wth ther (tme) decomposton algorthm method dd not produce a compettve result for Data Set 2. Ther result was 46% greater than the best Data Set 2 result reported by [11] and 39% hgher than the result found n ths paper. The approach n ths paper wll be shown to produce consstent results for all three data sets. In [11], Bocca et al. developed a MIP soluton and used varyng heurstc approaches n conjuncton wth t to speed up soluton tmes. Ther fastest results for Data Sets 2 and 3 were sgnfcantly hgher than ther best results (20% to 200% hgher). ach of ther best cost results came from a dfferent heurstc approach. For the MIP n ths paper, the fastest Data Set 1 soluton s equvalent to the best soluton found by any compettor. The fastest Data Set 2 soluton s wthn 5.3% of the best soluton reported by any compettor n any amount of tme. The fastest Data Set 3 soluton s better than the best soluton reported by any compettor n any amount of tme. In [12], Fscher et al. developed a MIP soluton and made multple varable fxng constrants to speed up soluton tmes. Among them, they fxed the entry of trans nto the network accordng to the order of ther mnmum entry tmes. For the MIP n ths paper, trans can enter the network n any order subject to the maxmum allowable delay settngs. In runs where full sdng concurrence checks are beng made, the MIP n ths paper adopts ther constrant that only allows trans to change order once on common tracks. 5

3. Problem Descrpton 3.1 RAS Network The full network for the 2012 RAS Competton can be seen n Fgure 1 below. For modelng purposes, vertces 38 and 39 on the far rght were re-numbered to 83 and 84, respectvely. Fgure 1: RAS Network 3.2 Basc Defntons The model optmzes tran schedulng durng a tme wndow called a plannng horzon. Penalty costs are not ncurred for events occurrng after the end of the plannng horzon. The plannng horzon s 720 mnutes for each RAS data set. A termnal can be thought of as a tran staton. For the network used n ths competton, a tran enterng the network from the left s consdered to be leavng the western termnal and a tran enterng the network from the rght s consdered to be leavng the eastern termnal. Smlarly, a 6

tran extng the network to the left s consdered to be enterng the western termnal and a tran extng the network to the rght s consdered to be enterng the eastern termnal. For each tran, an entry tme s defned n the Data Set. Ths entry tme s often referred to as the mnmum release tme n ths paper. For trans enterng the network from a termnal, ths s the mnmum tme a tran can begn movng on the network. It can also hold at the termnal and enter after the mnmum release tme, but t ncurs movement delay costs for dong so. Trans that are already n network at the begnnng of the plannng horzon have a default mnmum release tme of zero. Trans fall nto sx classes A, B, C, D,, and F. Movement delay costs are hghest for class A trans and decrease as the letters step to F. In addton, classes A, B, C, and D are schedulng adherence (SA) trans. Ths means they are expected to conform to a predetermned schedule of mdpont and termnal arrval tmes or addtonal penalty costs are ncurred. However, these addtonal costs are only ncurred f the mdponts and termnal arrvals are acheved durng the plannng horzon. ach data set contans scheduled arrval tmes for vertex 37 and the vertex correspondng to a tran s destnaton termnal. Only schedule adherence trans are requred to abde by these schedules, so thnk of a corporate offce employee settng mdpont and termnal arrval tmes to keep hgh prorty cargo movng through the network at a desred pace. The scheduled arrval tme for vertex 37 s referred to throughout ths paper as the mdpont arrval tme. The scheduled arrval tme for the approprate termnal s referred to throughout ths paper as the termnal arrval tme. 7

The Data Sets also contan a separate termnal want tme for each tran. In ths case, thnk of a termnal manager attemptng to allocate employees and warehouse space n order to effcently handle the day s cargo. An edge s an ordered par of vertces representng a connecton, or secton or track, between two vertces n the ralway network. A man s any edge that s not a crossover, sdng, or swtch. In Fgure 2, (13, 14), (14, 15), (15, 17), (17, 19), and (19, 20) to (28, 30) are mans. A sdng s an edge parallel to a secton of man track that s used to allow one tran to pass another. In Fgure 2, (16, 18) s a sdng. A swtch s an edge used to transt between a man edge and a sdng edge (or vce-versa). In Fgure 2, (14, 16) and (18, 19) are swtches. A Mantenance of ay (MO) s an edge or set of edges that s closed for track mantenance from a scheduled start tme to a scheduled stop tme. See edges (21, 22) to (27, 28) n Fgure 2. Fgure 2: Mans, Sdngs, and Swtches 8

In sngle track portons of the network, there s no parallel man track. So they can only accommodate two-way traffc through the use of occasonal swtches and sdngs. The mans between (13, 14) and (28, 30) represent a secton of sngle track. In dual track portons of the network, there are parallel man tracks. In Fgure 3, the edges n {(40, 43), (43, 45), (45, 47)} are a secton of man track that s parallel to secton of man track represented by {(41, 42), (42, 44), (44, 46)}. Therefore, Fgure 3 depcts a secton of dual track. A crossover s an edge used to transt between parallel sectons of man track n the dual man track secton of the network. In Fgure 2, (37, 41), (44, 47), and (45, 46) are crossovers. A sngle crossover s used to transt between one segment of man track and a parallel segment of man track where there s no other crossover n close proxmty. In Fgure 3, (37, 41) s a sngle crossover. A dual crossover s where two crossovers are connectng sectons of parallel man track together n close proxmty to one another. In Fgure 3, crossovers (44, 47) and (45, 46) as well as mans (44, 46) and (45, 47) combne to form a dual crossover construct. Unpreferred track s the northern edges of the dual man for eastbound trans and the southern edges of the dual man for westbound trans. So n Fgure 3, consder left to be west, rght to be east, top to be north, and bottom to be south. Then, the northern man edges n {(41, 42), (42, 44), (44, 46)} are unpreferred for eastbound trans. Smlarly, the southern man edges n {(40, 43), (43, 45), (45, 47)} are unpreferred for westbound trans. 9

Fgure 3: Crossovers and Dual Track The safety margn s the mnmum amount of tme that must pass before a second tran can enter an edge after another tran has exted that edge. The safety margn can also be appled to multple edges at once. For nstance, once a tran exts any of the four edges of a dual crossover construct, no other tran can enter any of the four edges of that dual crossover construct untl an amount of tme equal to the mnmum safety margn has passed. The safety margn s 5 mnutes for each RAS data set. For the purposes of ths paper, concurrency s defned as when a second tran enters an edge (or collecton of edges - such as a dual crossover) after another tran has already entered that edge (or collecton of edges) and before that frst tran has exted that edge or (collecton of edges). 3.3 Tran Dspatchng Objectve The objectve s to form a mnmum cost schedule for a set of N trans over an 85 vertex network durng a 720 mnute plannng horzon. Costs are ncurred as follows: 10

1. Not movng towards the destnaton at the speed lmt for each edge used after the release tme has occurred (all trans). See Table 1 below for costs by tran class. 2. $200 an hour when Schedulng Assessment (SA) trans do not meet mdpont arrval tmes when that mdpont s acheved durng the plannng horzon 3. $200 an hour when Schedulng Assessment trans do not meet scheduled termnal arrval tmes when the termnal s acheved durng the plannng horzon 4. $75 an hour for arrvng at a termnal too early before a termnal want tme (all trans) when the termnal s acheved durng the plannng horzon 5. $75 an hour for arrvng at a termnal too late after a termnal want tme (all trans) when the termnal s acheved durng the plannng horzon 6. $50 an hour for usng unpreferred track (all trans) Table 1: Hourly Movement Delay Costs by Class A $600 B $500 C $400 D $300 $150 F $100 11

3.4 Tran Treatment The contest descrpton stated trans were to be treated as ponts that are capable of nstant acceleraton from a stopped condton. The only tme tran length had to be taken nto account was for travel on sdngs. A tran cannot use a sdng f t s longer than that sdng. The 5 mnute safety margn between a tran extng an edge and another tran enterng that same edge s supposed to prevent collsons. The MIP solutons for ths work also keep trans from beng delayed on any man edge where tran length exceeds edge length. In every data set, there are man edges that are shorter than the trans. If a tran was delayed or stopped on a man edge that t was longer than, t would stll be hangng out nto the prevous edge that t occuped. Ths would create a collson hazard. 3.5 Data Inputs The followng data nputs are provded for each data set: 1. the safety margn for one tran to enter an edge after another has exted 2. the set of network edges 3. a desgnaton of each edge type (crossover, man, sdng, swtch) 4. the edge lengths 5. a maxmum eastbound tran speed on mans 6. a maxmum westbound tran speed on mans 7. maxmum crossover and swtch speed 8. maxmum sdng speed 12

9. the set of trans 10. a desgnaton of tran drectons (eastbound or westbound) 11. the multple of the maxmum drectonal speed lmt that can be acheved by each tran on mans 12. the mnmum tme each tran can be released nto the network 13. the entry vertex for each tran 14. the length of each tran 15. the tons per operatve brake of each tran 16. the HAZMAT status of each tran 17. the scheduled mdpont arrval tme for each tran 18. the scheduled termnal arrval tme for each tran 19. the termnal want tme for each tran 3.6 Addtonal Data Inputs To facltate smple calculaton of total movement delays, an unmpeded arrval tme s calculated for each tran and used as nput data. Ths s the tme a tran would arrve at ts desred termnal f t entered the network at ts mnmum release tme and proceeded to the desred termnal by way of preferred track wthout delay. Also, varous subsets and Cartesan product subsets of the provded nput data are used for model mplementaton. For example, the set of Schedule Adherence trans s defned as nput data n addton to the set of trans. Also, the set of 4-tuples contanng the vertces of swtches and ther 13

correspondng sdngs s an example of a Cartesan product subset defned n nput data and utlzed n the constrant defntons. 3.7 Tran Movement Requrements Tran movement requrements are as follows: 1. Trans must begn ther trp from ther orgn vertex defned n the data set. 2. Trans cannot leave ther orgn vertex before ther release tme. 3. Trans cannot move faster than the mnmum of the speed lmt for the edge on whch they are travelng and ther maxmum speed from the data nput fle and. 4. Trans cannot be delayed on swtches and crossovers. 5. Trans cannot move n the opposte drecton from whch they are desgnated n the data nput fles. 6. ntry tme nto and ext tme from the same vertex must be equal to each other. 7. No more than one tran can occupy an edge at any gven tme. 8. Once a tran has occuped an edge, no other tran can enter that edge untl 5 mnutes after the frst tran has exted t. 9. Once a tran has occuped a swtch or ts adjacent man, no other tran can enter that swtch or ts adjacent man untl 5 mnutes after the frst tran has exted t. 10. Once a tran has occuped a sngle crossover or ts adjacent man, no other tran can enter that sngle crossover or ts adjacent man untl 5 mnutes after the frst tran has exted t. 11. Once a tran has occuped any edge n a dual crossover construct, no other tran can enter any edge n that dual crossover construct untl 5 mnutes after the frst tran has exted t. 14

12. No tran can occupy edges wthn a MO between the start and stop tmes of that MO. 13. Heavy trans must hold the man track when meetng/passng wth a non-schedule assessment tran. (Non-SA trans must use sdngs when they meet a heavy tran.) 14. If a tran s longer than a sdng, t cannot use that sdng. 15. Inhalaton Hazard (IH), or Hazmat, trans cannot use sdngs. 16. The trans must not be assgned to sdngs unless there s a meet/pass event. The followng requrement was added n these MIP solutons to keep trans from beng delayed on man edges that they were longer than 17. If a tran s longer than an edge that t s usng, t cannot be delayed on that edge. 3.8 Conflctng Demands The RAS Data Sets establsh competng stakeholders for termnal arrval tmes. For Schedule Adherence trans, a scheduler (thnk corporate offce) has set mdpont and termnal arrval tmes to keep hgh prorty cargo movng through the network at a desred pace. However, a termnal manager has set a schedule of termnal want tmes for when the day s cargo can be effcently handled. For schedule adherence trans n Data Set 3, these tmes are never equal. The dfference between the termnal arrval tmes and termnal want tmes vares between 10 and 180 mnutes. The model seeks to adjudcate these conflctng demands wth the lowest possble penalty costs. 15

4. Introducton to Mxed Integer Programmng for the Tran Dspatchng Problem Fgure 4 llustrates a small network for a Tran Dspatchng Problem. Ths s not a scenaro from the INFORMS RAS competton. Ths smplfed example s dscussed to show how mxed nteger programmng can be used to solve Tran Dspatchng Problems. Fgure 4: Smple Tran Network M1, M2, and M3 are man track sectons and S1 s a sdng. In ths case, no swtches are used to transton to and from the sdng. Assume the followng nput data wth respect to Fgure 4: 1. Tran A moves left to rght 2. Tran B moves rght to left 3. the mnmum entry tme for tran A s tme 0 4. the mnmum entry tme for tran B s tme 20 mnutes 5. the maxmum speed of tran A s 60 mles per hour on M1, M2, and M3 6. the maxmum speed of tran B s 80 mles per hour on M1, M2, and M3 16

7. the maxmum speed for ether tran s 20 mles per hour on S1 8. M1 s 20 mles long 9. M2 s 5 mles long 10. M3 s 15 mles long 11. S1 s 5 mles long 12. when the trans use the same edge, the second tran cannot enter the edge untl at least 5 mnutes after the frst has exted 13. tran A s expected to ext M3 at 30 mnutes 14. tran B s expected to ext M1 at 60 mnutes 15. tran A s penalzed $500 an hour for extng M3 late 16. tran B s penalzed $400 an hour for extng M1 late The objectve s to mnmze the total delay cost of gettng each tran to ts destnaton. If both trans enter at ther mnmum entry tmes and each holds the man, they wll collde on M3 at the 28.57 mnute mark. e can defne the followng parameters usng AMPL mathematcal notaton: set edges := M1 M2 S1 M3; set T := A B; set BT := A; set BT := B; param bgnumber := 2000; 17

param maxsdngspeed := 20; param safetymargn := 5; param edgelength := M1 20 M2 5 S1 5 M3 15; param maxtranspeed := A 60 B 80; param mnntrytme := A 0 B 20; param delaycosts := A 500 B 400; param termnalanttmes := A 30 B 60; 18

e can defne the followng decson varables usng the AMPL syntax: var uses1{ n T} bnary; var entrytme{ n T, j n edges} >= 0; var exttme{ n T, j n edges} >= 0; var _enters_after_j{ n T, j n T, k n edges: <> j} bnary; var movementdelays{ n T} >= 0; Our AMPL objectve functon would be: mnmze penaltycosts: sum{ n T} delaycosts[]*movementdelays[]; The MIP contrants would be: 1) eastboundntryofm1{ n BT}: entrytme[,'m1'] >= mnntrytme[]; 2) eastboundntryofm2orm3{ n BT}: entrytme[,'m2'] + entrytme[,'s1'] = exttme[,'m1']; 3) eastboundntryofm3{ n BT}: entrytme[,'m3'] = exttme[,'m2'] + exttme[,'s1']; 4) westboundntry{ n BT}: entrytme[,'m3'] >= mnntrytme[]; 19

5) westboundntryofm2orm3{ n BT}: entrytme[,'m2'] + entrytme[,'s1'] = exttme[,'m3']; 6) westboundntryofm1{ n BT}: entrytme[,'m1'] = exttme[,'m2'] + exttme[,'s1']; 7) extofm1{ n T}: exttme[,'m1'] >= entrytme[,'m1'] + 60*(edgeLength['M1']/maxTranSpeed[]); 8) extofm2{ n T}: exttme[,'m2'] >= entrytme[,'m2'] + 60*(((1 - uses1[])*edgelength['m2'])/maxtranspeed[]); 9) extofm2_pt2{ n T}: exttme[,'m2'] <= (1 - uses1[])*bgnumber; 10) extofs1_pt1{ n T}: exttme[,'s1'] >= entrytme[,'s1'] + 60*((useS1[]*edgeLength['S1'])/maxSdngSpeed); 11) extofs1_pt2{ n T}: exttme[,'s1'] <= uses1[]*bgnumber; 12) extofm3{ n T}: exttme[,'m3'] >= entrytme[,'m3'] + 60*(edgeLength['M3']/maxTranSpeed[]); 20

13) set enters_after_j_pt1{ n T, j n T, k n edges: <> j}: _enters_after_j[,j,k] >= (entrytme[,k] - entrytme[j,k])/bgnumber; 14) set enters_after_j_pt2{ n T, j n T, k n edges: <> j}: _enters_after_j[,j,k] <= ((entrytme[,k] - entrytme[j,k])/bgnumber) + 1; 15) set enters_after_j_pt3{ n T, j n T, k n edges: <> j}: _enters_after_j[,j,k] + _enters_after_j[j,,k] = 1; 16) use enters_after_j_for_m1{ n T, j n T: <> j}: entrytme[,'m1'] >= exttme[j,'m1'] + safetymargn - _enters_after_j[j,,'m1']*bgnumber; 17) use enters_after_j_for_m2{ n T, j n T: <> j}: entrytme[,'m2'] >= exttme[j,'m2'] + safetymargn - _enters_after_j[j,,'m1']*bgnumber - uses1[]*bgnumber - uses1[j]*bgnumber; 18) use enters_after_j_for_s1{ n T, j n T: <> j}: entrytme[,'s1'] >= exttme[j,'s1'] + safetymargn _enters_after_j[j,,'s1']*bgnumber - (1 - uses1[])*bgnumber - (1 - uses1[j])*bgnumber; 19) use enters_after_j_for_m3{ n T, j n T: <> j}: entrytme[,'m3'] >= exttme[j,'m3'] + safetymargn - _enters_after_j[j,,'m3']*bgnumber; 20) eastboundmovementdelays{ n BT}: movementdelays[] >= (exttme[,'m3'] - termnalanttmes[]); 21

21) westboundmovementdelays{ n BT}: movementdelays[] >= (exttme[,'m1'] - termnalanttmes[]); Constrants 1 through 3 bound or set the entry tmes for the eastbound tran. Constrants 4 through 6 bound or set the entry tmes for the westbound tran. Constrant 7 sets the mnmum ext tme of M1 for each tran. Constrant 8 sets the mnmum ext tme of M2 for each tran that uses t. Constrant 9 sets the ext tme of M2 to 0 for each tran that does not use t. Constrant 10 sets the mnmum ext tme of S1 for each tran that uses t. Constrant 11 sets the ext tme of S1 to 0 for each tran that does not use t. Constrant 12 sets the mnmum ext tme of M3 for each tran. Constrant 13 sets a bnary varable to 1 f tran enters edge k after tran j. Constrant 14 sets the bnary varable from constrant 13 to 0 f the numerator of the rght hand sde s negatve. Constrant 15 ensures that one bnary varable s 0 and one bnary varable s 1 so that the safety margn s properly appled n Constrants 16 through 19. Constrant 16 through 19 enforce the safety margn for edges that both trans use. Constrants 20 and 21 calculate the movement delays for each tran. 22

hen the example MIP descrbed above s solved usng a MIP solver lke Gurob, the optmal soluton has a mnmum penalty cost of $177. ach tran wll enter the network at ts mnmum entry tme. Tran B wll travel unmpeded and ncur no delay costs. After utlzng the sdng and obeyng the safety margn, tran A has a 21.25 mnute delay that accounts for the full $177 delay cost. The tran movements are plotted below n Fgure 5. Fgure 5: Introductory Tran Schedule 23

5. Prototype MIP Formulaton for the INFORMS RAS Problem Consder the nput data and varables defned below n Tables 2 and 3. Table 2: Prototype Input Data B C M S a fxed large number used n constrants that set bnary varables the set of all edges n the network the set of all crossover or swtch edges the set of all man edges the set of all sdng edges L (m,n) the length of edge (m,n) M C S the multple of the maxmum track speed lmt that can be acheved by tran maxmum speed for a tran on a crossover or swtch S maxmum speed for an eastbound tran on a man edge S S maxmum speed for a tran on a sdng S maxmum speed for a westbound tran on a man edge M τ the mnmum tme tran can be released nto the network S τ the safety margn for one tran to enter an edge after another has exted T T w T V the set of all trans the set of all eastbound trans the set of all westbound trans the set of all network vertces 24

Table 3: Prototype Formulaton Decson Varables a (,j,m,n) a bnary varable ndcatng tran enters edge (m, n) after tran j n (,m,n) the tme that tran enters edge (m, n) u (,m,n) a bnary varable ndcatng tran uses edge (m, n) x (,m,n) the tme that tran exts edge (m, n) th respect to an objectve functon to mnmze cost, the followng lnear programmng constrants wll move trans throughout the network wthout collsons on any ndvdual edge: 1) n + n τ M (,0,1) (,0,2) T 2) n (,83,84) τ M T w n Bu T 3) (,m,n) (,m,n) x Bu T 4) (,m,n) (,m,n) T, m,n 5) x(,m,n) n (,m,n) +L(m,n) u (,m,n) / MS T, m,n 6) w w x(,m,n) n (,m,n) +L(m,n) u (,m,n) / MS M M 7) 8) x n +L u /S S S (,m,n) (,m,n) (m,n) (,m,n) T, m,n C C x (,m,n) =n (,m,n) +L(m,n) u (,m,n) /S T, m,n 9) u(,m,n) x (,m,n) / B 10) (,m,n) (,n,o) mv ov T, m,n u u T for each n V where m,n and n,o 25

x n T for each n V 11) (,m,n) (,n,o) mv ov n x T for each n V 12) (,m,n) (,n,o) mv ov 13) a(,j,m,n) n(,m,n) n (j,m,n) / Bfor each,j 14) a(,j,m,n) n(,m,n) n (j,m,n) / B 1 for each,j 15) a (,j,m,n) +a (j,,m,n) 1 for each,j where m,n and n,o where m,n and n,o T T such that j T T such that j, m,n T T such that j, m,n, m,n 16) n S (,m,n) x(j,m,n) τ Ba (j,,m,n) B1 u(,m,n) B1 u(j,m,n) for each,j j, m,n 17) n (,m,n), x(,m,n) 0 T 18) a (,j,m,n),u(,m,n) bnary, m,n T T such that Constrants 1 through 9 manage edge entry and ext tmes. Constrants 1 and 2 ensure trans enter the network at a tme greater than or equal to ther mnmum entry tme. Constrant 3 ensures the tme a tran enters an edge s zero f that edge s not actually used. Constrant 4 ensures the tme a tran exts an edge s zero f that edge s not actually used. Constrants 5 and 6 set the mnmum ext tme for trans when they use a man edge. Constrant 7 sets the mnmum ext tme for trans when they use a sdng. Constrant 8 sets the ext tme for trans when they use a swtch or crossover. qualty s used because there wll be no delays on swtches or crossovers. Constrant 9 sets a bnary varable ndcatng a tran uses an edge to one f the tme a tran exts that edge s greater than zero. Constrants 10 through 12 manage conservaton of flow and conservaton of tme. Constrant 10 mantans conservaton of flow through the network utlzng the bnary varables that ndcate a 26

tran uses an edge. Constrant 11 sets the ext tme of a western edge (or edges) equal to the entry tme of the adjacent eastern edge (or edges) for eastbound trans. Constrant 12 sets the ext tme of an eastern edge (or edges) equal to the entry tme of the adjacent western edge (or edges) for westbound trans. Constrants 13 through 16 manage the bnary varables utlzed to enforce the safety margn. Constrant 13 sets a bnary varable ndcatng the entry tme for one tran enterng an edge s greater than the entry tme of another tran enterng that edge. Constrant 14 keeps the bnary varable from constrant 13 from beng one f the dfference n the numerator s negatve. Constrant 15 ensures that one bnary varable set n constrants 13 and 14 s one and that the other s set to zero. hen both trans use the edge, ths keeps the numerator n the rght hand sde of constrants 13 and 14 from evaluatng to zero (see constrant 16). Constrant 16 ensures the safety margn s used when tran enters an edge after tran j. The rght sde of the nequalty wll be negatve f tran j enters the edge after tran, tran does not use the edge, or tran j does not use the edge. Fnally, there are non-negatvty and bnary constrants. Constrant 17 ensures that entry and ext tmes are always greater than or equal to zero. Note that an edge that s not used by a tran wll have entry and ext tmes of zero. Constrant 18 establshes that the varables ndcatng use and order of entry for each edge are bnary. Swtch and crossover deconflcton, sdng elgblty, and MO observaton are not handled by these prototype constrants. However, the most mportant constrant(s) wth respect to the work n ths paper s number 18. here M s the number of trans and N s the number of edges n the network, there are ((M)(M -1)(N) + (M)(N)) bnary varables defned for ths basc formulaton. 27

Due to constrant 15, a(j,,m,n) 1-a (,j,m,n). So n every constrant that contans a (j,,m,n), solver preprocessng can replace t wth 1-a (,j,m,n). Ths means the solver only needs to keep track of the a(,j,m,n) values and can remove the a(j,,m,n) bnary varables. Thus, only (M 2 N MN)/2 are needed to represent the order that the trans wll pass through each edge. Therefore, the total number of bnary varables after pre-processng wll be (M 2 N + MN)/2 Determnng the movements of a set of 20 trans, each enterng at one termnal and movng to the opposte termnal, would requre 17,850 bnary varables. Solver pre-processng may further elmnate some of them, but the branch and bound algorthm wll struggle to produce useful results n a tmely manner wth ths many bnary varables. In fact, the orgnal prototype MIP for the RAS problem could fnd a soluton to Data Set 1 wth 12 trans n less than 10 mnutes. However, t could not even fnd a feasble soluton to Data Set 2 wth 18 trans wthn twenty mnutes. Ths realty spurred a re-formulaton of the MIP soluton. 28

6. Improved MIP Formulaton 6.1 Network Parttonng The chosen network parttonng s llustrated below n Fgure 6. A partton wth respect to ths ralway network s a subset of connected sectons of track (a subset of connected edges). Fgure 6: Network Parttonng Swtches and ther adjacent mans are ncluded n elements of {S1, S1,, S12}. No sdngs, man edges opposte of (parallel to) sdngs, or edges n dual crossover constructs are contaned n an element of {S1, S1,, S12}. For a par of trans movng n opposte drectons, only one enters after j bnary varable has to be created for each element of {S1, S1,, S12}. Ths s because an eastbound and a westbound tran cannot occupy any of these track segments at the same tme or there would be a collson. Also, for a par of trans movng n the same drecton, only one enters after j bnary varable has to be created for each element of {S1, S1,, S12}. Ths s because once a tran enters one of these track segments, t cannot be passed 29

by a tran movng n the same drecton or there would be a collson. Therefore, only one bnary varable s necessary to ensure safety margn spacng of trans movng n the same drecton. Fnally, for each par of trans (regardless of drecton) one enters after j bnary varable s defned for each sdng/opposte man par and each double crossover construct as a whole. here M s the number of trans, M(M - 1)(20) bnary varables are defned to track the order that trans move through the network. Pre-processng wll agan reduce ths to (20M 2-20M)/2. Fgure 7: Reduced Bnary Varables Instead of 85 bnary varables per tran to ndcate whether each edge s used or not, only eght bnary varables are actually necessary to descrbe a tran s route. Fve of the bnary varables are used to ndcate use of one of the fve sdngs. See the blue text n Fgure 7. The other three 30

bnary varables are used to determne use of the three southern sectons of dual man track that exst between crossover constructs. See the red text n Fgure 7. So where M s the number of trans, the maxmum number of bnary varables defned for ths formulaton s (20M 2 4M)/2. A set of 20 trans, each enterng at one termnal and movng to the opposte termnal, would requre 3960 bnary varables to descrbe tran movements. Ths s a 78% reducton versus the 17,850 bnary varables the basc formulaton needs to descrbe the movements for 20 trans, each enterng at one termnal and movng to the opposte termnal. 6.2 Objectve Functon and Constrants Input data and varables are defned below n Tables 4 and 5. Table 4: Improved Formulaton Input Data B a fxed large number used n constrants that set bnary varables M C the hourly movement delay cost for each tran SA C the hourly penalty cost for SA trans U C the hourly penalty cost for unpreferred track usage C the hourly penalty cost wth respect to termnal want tme C M the set of all edges n the network the set of all crossover edges the set of all man edges Nor k the set of all edges n northern secton k of the dual track 31

R S the set of all requred man edges the set of all sdng edges Seg k the set of all man edges n track segment k SegA k the set of all edges n track segment k Sou k the set of all edges n southern secton k of the dual track U the set of edges that are unpreferred for eastbound trans U the set of edges that are unpreferred for westbound trans the set of all swtch edges F bnary nput data that determnes whether sdng 4 s used or not M G mnmum number of sdngs used n the entre soluton NSA G maxmum number of sdngs a non-sa tran can use P G maxmum number of tmes an ndvdual sdng can be used durng the entre soluton SA G maxmum number of sdngs an SA tran can use T G H maxmum number of sdngs used n the entre soluton s bnary nput data where a 1 ndcates a tran s an Inhalaton Hazard (IH or Hazmat) L (m,n) the length of edge (m, n) L M T O M O the length of tran the multple of the maxmum track speed lmt that can be acheved by tran mnmum number of southern dual track segments an eastbound tran must use a set of ndces correspondng to the MO perods defned for the data set N O S O a set of ndces correspondng to ndvdual southern sectons of dual track a set of ndces correspondng to the segment parttons dentfed n Fgure 6 32

O SM P SO P SS P C S maxmum number of southern dual track segments a westbound tran can use the set of pars where the frst element of a par s a sdng and the other element of the par s one of the mans adjacent to that sdng s swtches the set of pars where the frst element of a par s a sdng and the other element of the par s ts opposte man the set of pars where the frst element of a par s a sdng and the other element of the par s one of the swtches adjacent to that sdng maxmum speed for a tran on a crossover or swtch S maxmum speed for an eastbound tran on a man edge S S maxmum speed for a tran on a sdng S maxmum speed for a westbound tran on a man edge A τ C τ D τ τ schedulng threshold for SA trans the tme each SA tran s scheduled to arrve at the mdpont the tme each SA tran s scheduled to arrve at the termnal early to termnal threshold for all trans H τ plannng horzon stop tme L τ late to termnal threshold for all trans M τ the mnmum tme tran can be released nto the network O τ k P τ k S τ U τ the start tme for MO k the stop tme for MO k the safety margn for one tran to enter an edge after another has exted the unmpeded termnal arrval tme for tran τ the tme the respectve termnal wants each tran T T the set of all trans the set of all eastbound trans 33

SA T the set of all SA trans T the set of all westbound trans V V k N V the set of all network vertces the vertex on the eastern sde of Mantenance of ay k the entry vertex for each tran V k the vertex on the western sde of a Mantenance of ay k the weght (tons per operatve break) of tran M the maxmum weght (tons per operatve break) to travel on a sdng NSA Y maxmum movement delay for non-sa trans SA Y maxmum movement delay for SA trans Table 5: Improved Formulaton Decson Varables DC a (,j,k) a bnary varable ndcatng tran enters dual crossover k after tran j SG a (,j,k) a bnary varable ndcatng tran enters segment k after tran j M_N a (,k) M_X a (,k) SI_C a (,j,m,n,o,p) SI_N a (,j,m,n,o,p) SI_X a (,j,m,n,o,p) a bnary varable ndcatng tran enters the edges for MO k after ts stop tme a bnary varable ndcatng tran enters the edges for MO k before ts start tme a bnary varable ndcatng tran enters sdng (m,n) or ts opposte man (o,p) whle tran j already occupes the other of those two edges (concurrency) a bnary varable ndcatng tran enters sdng (m,n) or ts opposte man (o,p) after tran j has entered sdng k or ts opposte man a bnary varable ndcatng tran enters sdng (m,n) or ts opposte man (o,p) before tran j has exted sdng k or ts opposte man S1 a (,j) a bnary varable ndcatng tran enters swtch 1 after tran j d the penalty tme for tran beng too early wth respect to the termnal want tme 34

L d the penalty tme for tran beng too late wth respect to the termnal want tme Md d the mdpont arrval penalty tme for each SA tran Mov d the total movement delay for each tran T d U d the termnal arrval penalty tme for each SA tran the unpreferred track penalty tme for each tran n (,m,n) the tme that tran enters edge (m,n) M r N r T r a bnary varable to ndcate tran reaches the mdpont after the plannng horzon stop a bnary varable to ndcate tran enters the network after the plannng horzon stop a bnary varable to ndcate tran enters the termnal after the plannng horzon stop Sd u (,m,n) a bnary varable ndcatng tran uses sdng (m,n) Sou u (,k) a bnary varable ndcatng tran uses southern track segment k x (,m,n) the tme that tran exts edge (m,n) 6.2.1 Objectve Functon The objectve functon s: M Mov L U U SA Md T C d C d d C d C d d mn T SA T The objectve functon seeks to mnmze the costs ncurred by all trans. The summaton on the left sde handles total movement delay tmes, early and late to termnal penalty tmes (wth respect to termnal want tmes), and unpreferred track penalty tmes for all trans. For schedule 35

adherence trans only, the summaton on the rght sde handles mdpont and termnal arrval tme penaltes wth respect to scheduled mdpont arrval and termnal arrval tmes. 6.2.2 Basc Movement Constrants n 1) (,j,k) (,j,k) x T, j,k 2) n + n τ M (,0,1) (,0,2) T where N V 0 3) n (,83,84) τ M T where N V 84 x 4) (,m,n) (,n,o) (m,n) (n,o) n where T, m V N V m x 5) (,m,n) (,o,m) (m,n) (o,m) n where T, m V N V m 6) x(,m,n) n(,m,n) L (m,n) S M 7) x(,m,n) n(,m,n) L (m,n) S M 8) x (,m,n) =n(,m,n) L (m,n) S M 9) x(,m,n) n(,m,n) L (m,n) S M 10) x(,m,n) n(,m,n) L (m,n) S M 11) x(,m,n) n(,m,n) L (m,n) S M R T (m,n), T where L L (m,n) R T (m,n), T where L L (m,n) R T (m,n), T where L L (m,n) R T (m,n), T where L L (m,n) M (m,n) where M (m,n) where (m,n) (m,n) R T, T where L L (m,n) R T, T where L L (m,n) 12) n (,o,p) Bu Twhere Sd (,m,n) (m,n,o,p) P SS Twhere Sd 13) n(,o,p) B1 u(,m,n) (m,n,o,p) P SM 36

14) x (,m,n) Bu Twhere Sd (,m,n) (m,n) S Twhere Sd 15) x(,o,p) B1 u(,m,n) (m,n,o,p) P SO 16) (,o,p) (,o,p) (o,p) (,m,n) x n L u S Sd C 17) (,o,p) (,o,p) (o,p) (,m,n) x n L u S Sd C SS (m,n,o,p) P, T wheres M SS (m,n,o,p) P, T wheres M S C S C Sd 18) x(,o,p) n(,o,p) L u (o,p) (,m,n) S M Sd 19) x(,o,p) n(,o,p) L u (o,p) (,m,n) S M Sd 20) (o,p) x n L 1 u S M (,o,p) (,o,p) (,m,n) Sd 21) (o,p) x n L 1 u S M (,o,p) (,o,p) (,m,n) Sd 22) (o,p) x n L 1 u S M (,o,p) (,o,p) (,m,n) Sd 23) (o,p) x n L 1 u S M (,o,p) (,o,p) (,m,n) SS (m,n,o,p) P, T wheres M S SS (m,n,o,p) P, T wheres M SM (m,n,o,p) P, SM (m,n,o,p) P, SO (m,n,o,p) P, SO (m,n,o,p) P, T T T T C S C 24) (,m,n) (,m,n) (m,n) (,m,n) x n L u S Sd S S (m,n), T Sd 25) x(,m,n) n(,m,n) L u (o,p) (,m,n) S M Sd 26) x(,m,n) n(,m,n) L u (o,p) (,m,n) S M Sou 27) n(,m,n) B1 u(,k) SO (m,n,o,p) P, SO (m,n,o,p) P, N Nor k O, (m,n) k, T N Nor k O, (m,n) k, T Sou 28) x(,m,n) B1 u(,k) 29) n 30) x (,m,n) (,m,n) Bu Bu Sou (,k) Sou (,k) N k O, N k O, Sou (m,n) k, T Sou (m,n) k, T 37 T T

Sou 31) x (,37,40) =n(,37,40) L u (37,40) (,1) S M Sou 32) x (,37,40) =n(,37,40) L u (37,40) (,1) S M 33) (,37,41) (,37,41) (37,41) (,1) T T Sou C T x =n L 1 u S Sou 34) (m,n) x n L 1 u S M (,m,n) (,m,n) (,k) N k O, Seg (m,n) x, T where: k=1 maps to x=8, k=2 maps to x=9, k=3 maps to x=10 Sou 35) (m,n) x n L 1 u S M (,m,n) (,m,n) (,k) N k O, Seg (m,n) x, T where: k=1 maps to x=8, k=2 maps to x=9, k=3 maps to x=10 Sou 36) x(,m,n) n(,m,n) L u (m,n) (,k) S M N k O, Seg (m,n) x, T where: k=1 maps to x=4, k=2 maps to x=5 and x=6, k=3 maps to x=7 Sou 37) x(,m,n) n(,m,n) L u (m,n) (,k) S M N k O, Seg (m,n) x, T where: k=1 maps to x=4, k=2 maps to x=5 and x=6, k=3 maps to x=7 x n L S 38) (,m,n) (,m,n) (m,n) C C (m,n), T wheres M S C x n L S 39) (,m,n) (,m,n) (m,n) C C (m,n), T wheres M S C 40) x(,m,n) n(,m,n) L (m,n) S M 41) x(,m,n) n(,m,n) L (m,n) S M 42) (44,46) C (m,n), T wheres M C (m,n), T wheres M x n L 1 u S M Bu T Sou Sou (,44,46) (,44,46) (,2) (,1) S C S C 38

43) (44,46) x n L 1 u S M Bu T Sou Sou (,44,46) (,44,46) (,1) (,2) 44) (44,47) x n u L S Bu T Sou C Sou (,44,47) (,44,47) (,2) (,1) 45) (44,47) Sou C Sou x n L 1 u S B 1 u T (,44,47) (,44,47) (,1) (,2) 46) (45,46) Sou C Sou x n L 1 u S B 1 u T (,45,46) (,45,46) (,2) (,1) 47) (45,46) x n L u S Bu T Sou C Sou (,45,46) (,45,46) (,1) (,2) 48) (45,47) Sou Sou x n L u S M B 1 u T (,45,47) (,45,47) (,2) (,1) Sou Sou x n L u S M B 1 u T 49) (45,47) (,45,47) (,45,47) (,1) (,2) 50) (54,57) x n L 1 u S M Bu T Sou Sou (,54,57) (,54,57) (,3) (,2) 51) (54,57) x n L 1 u S M Bu T Sou Sou (,54,57) (,54,57) (,2) (,3) 52) (54,58) x n L u S Bu T Sou C Sou (,54,58) (,54,58) (,3) (,2) 53) (54,58) Sou C Sou x n L 1 u S B 1 u T (,54,58) (,54,58) (,2) (,3) 54) (56,57) Sou C Sou x n L 1 u S B 1 u T (,56,57) (,56,57) (,3) (,2) 55) (56,57) x n L u S Bu T Sou C Sou (,56,57) (,56,57) (,2) (,3) 56) (56,58) Sou Sou x n L u S M B 1 u T (,56,58) (,56,58) (,3) (,2) Sou Sou x n L u S M B 1 u T 57) (56,58) (,56,58) (,56,58) (,2) (,1) 39

Sou 58) (67,69) x =n L 1 u S M (,67,69) (,67,69) (,1) Sou 59) (67,69) x =n L 1 u S M (,67,69) (,67,69) (,1) Sou C T 60) (,68,69) (,68,69) (68,69) (,3) x =n L u S 61) n (,m,n), x(,m,n) 0 T Sd Sou 62) u,u bnary (,m,n) (,k), j,k T T Constrant 1 s a santy constrant that ensures entry tmes are always less than ext tmes. Constrants 2 and 3 set the mnmum entry tmes for trans enterng from termnals. Constrant 2 s for eastbound trans and constrant 3 s for westbound trans. Constrants 4 and 5 set the entry tmes for edges equal to the ext tme of the last edge vsted. Constrant 4 s for eastbound trans and constrant 5 s for westbound trans. Constrants 6 and 7 set the mnmum entry tmes for requred mans when the edge length s greater than or equal to the tran length. Constrant 6 s for eastbound trans and constrant 7 s for westbound trans. Constrants 8 and 9 set the entry tmes for requred mans when the edge length s less than the tran length. Constrant 8 s for eastbound trans and constrant 9 s for westbound trans. Constrants 10 and 11 prevent delays on mans that are not requred mans when the edge length s less than the tran length. Constrant 10 s for eastbound trans and constrant 11 s for westbound trans. Constrants 12 and 13 are entry tme santy constrants for swtches and ther adjacent mans. Constrant 12 keeps a swtch from beng entered unless ts accompanyng sdng s beng used. 40

Constrant 13 keeps mans adjacent to swtches from beng entered unless ther nearest sdng s not beng used. Constrants 14 and 15 are ext tme santy constrants for sdngs and ther opposte mans. Constrant 14 keeps a sdng s entry tme from beng more than zero unless t beng used. Constrant 15 keeps the entry tme of mans opposte (parallel to) of sdngs from beng greater than zero unless the sdng s not beng used. Constrants 16 through 19 set the ext tmes for swtches. Constrants 16 and 17 are for trans that are faster than the swtch speed lmt. Constrants 18 and 19 handle the few trans that are slower than the swtch speed lmt. Constrants 20 and 21 set the ext tmes for the mans adjacent to swtches n sdng constructs. Constrant 20 s for eastbound trans and constrant 21 s for westbound trans. Constrants 22 and 23 set the mnmum ext tmes for the mans opposte sdngs. Constrant 22 s for eastbound trans and constrant 23 s for westbound trans. Constrants 24 through 26 set the mnmum ext tmes for sdngs. Constrant 24 s for trans that are faster than the sdng speed lmt. Constrants 25 and 26 handle the few trans that are slower than the sdng speed lmt. Constrants 27 through 30 are santy constrants for the entry and ext tmes of edges n sectons of northern and southern dual track. Constrants 27 and 28 ensure edges n northern sectons of track cannot have entry or ext tmes greater than zero unless that secton of track s beng used. Constrants 29 and 30 ensure edges n southern sectons of track cannot have entry or ext tmes greater than zero unless that secton of track s beng used. 41