Rake Linking for Suburban Train Services Rake-Linker The Rake-Linker assigns physical trains (rakes) to services that have been proposed in a timetable Services will be linked directly at terminals or indirectly by proposing new services between terminals New services can then be run as empty movements or as additional commercial services Typical use of the rake linker Step 1: Find the minimum number of rakes required to run all the services Step 2: Minimize the number of new services (including empty rake movements), with the same number of rakes as in Step 1 Step 3: Minimize the number of rakes and proposed/empty rake movements further by perturbation and sensitivity analysis. Step 4: Check the constraints on stations and line segments for the feasibility and allot platforms to rakes at each station. Modeling Construction of service graph Vertices: services Edges: possible direct and indirect successors to each node Rake Cycle construction Stated as minimum chain decomposition problem Step 3: Min Cost Flow formulation Modification of service graph Each node is spilt into two nodes 4 dummy source and 4 dummy sinks Allocation of suitable capacities, lower bounds and costs to all the edges in the network Direct and Indirect Edges Direct edges corresponds to linking of a service at one terminus to other services at the same terminus maintaining car-shed/ stabling/turnaround constraints Indirect edges corresponds to linking of a service at one terminus to other services at a different terminus by proposing an empty rake movement between them and maintaining carshed/stabling/turn-around constraints at both the stations MCF Network Self edge 9car source 9Car sink Dummy source Dummy Sink Super source 12Car Sink 12Car source Unused rake edge Super Sink The overall system view SCHEDULER Inputs & Set Of Constraints TIME TABLE OR PARTIAL TIME TABLE RAKE-LINKER Utilities Features of the Rake Linker Finds rake links for various scenarios (by changing parameter values) Outputs the minimum no. of rakes and minimum no. of empty rake movements Gives output suitable for viewing individual rake-links and rake-cycles as well as the timetable format Gives stable table, occupancy table and charts for every terminus Features (contd.) Can also link the rakes in FIFO fashion at every terminus Consideration of different types of rakes during assignment e.g., 9 Car, 12 Car AC rakes, AC-DC rakes Inputs for Rake Linker Partial Time Table (obtained from scheduler) Station Table Inter Terminal Transit Time Matrix Parameter Table Partial Time Table The rake linker uses Terminal locations and start and end timings for each service Service attributes such as rake type of the service (e.g. 9 Car/12 Car) Any rake links that must be maintained Partial Time Table Hold Resource (Station) Table Inter Terminal Transit Time Matrix Parameter Table Outputs of the Rake Linker Partial time table (Modified): updated RakeLinkId and Distance RakeTable (detailed rake cycles) RakeServTable (short form of Rake Table) Stable Table (stabling requirements) Occupancy Table (platform requirements) Platform Occupancy Chart (visual scenario) Partial time table (Modified) Rake Table Platform Allocation Problem: Given platform preferences, allocate a platform to each service. Algorithm : 1. Start with all platforms as empty. 2. In increasing order of time, if a train arrives or departs, generate new possible allocations. 3. Repeat till all the train arrival and departure complete. 4. Trace the path back to root to get a possible allotment of platforms Platform Allocation Three platforms at a Hold Resource. Order of events: 1. arrival of service 1 2. arrival of service 2 3. departure of service 1 Platform preferences of train 1, 2 = 1,2,3 Initially all platforms empty Platform Allocation Platform Occupancy Chart generates Rake Linker Platform Occupancy Table with Platform Preferences After Checking Feasibility at all Stations Generates final Occupancy table With assigned Platform number generates Platform Occupancy Chart Platform Occupancy Chart Perturbation and Sensitivity analysis of Rake Linker Computes the change in the rake linking objective (minimum no. of rakes, minimum no. of empty rake movements) for small changes in operating parameters (turn-around time, run time, prepone/postpone) Modeling: Residual network + additional edges Finds negative cost cycles Saturates negative cost cycles Outputs new Rake Table Perturbation and Sensitivity analysis (contd.) Examples: At Vasai Road (BSR) in WR, if we permit turn-around time of one service from 10 mins to 9 mins, we can save a rake At Bandra (BA), if we permit turn-around time of two services from 6 mins to 5 mins, we can save one empty-rake movement Savings are also possible with perturbing either run-times or preponing/postponing the timings of a few services Applications and Examples Validated on full scale Western Railway Mumbai Suburban network Outputs 62 rakes and 10 empty movements for 963 services WR uses 64 rakes (22 are 12 Car rakes) and 70 empty rake movements Useful application: During maintenance block time To check optimality FIFO: Rake Linker It assigns rakes to each service in First-In First-Out fashion at every terminus Features: outputs a detailed rake table in Time table format Run time (3 secs for number of rakes, 10 secs for rake table) Used for analyzing and comparing rake links with those generated by MCF-solver