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 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 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 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. 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 Vertices: services Edges: possible direct and indirect successors to each node Edges: possible direct and indirect successors to each node Rake Cycle construction Stated as minimum chain decomposition problem Stated as minimum chain decomposition problem Step 3: Min Cost Flow formulation Modification of service graph 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 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/turn- around 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 car- shed/stabling/turn-around constraints at both the stations
MCF Network Self edge Unused rake edge 9car source 12Car source Dummy source Super sourceSuper Sink 9Car sink 12Car Sink Dummy Sink
The overall system view SCHEDULER RAKE-LINKER Inputs & Set Of Constraints Utilities TIME TABLE OR PARTIAL TIME TABLE
Features of the Rake Linker Finds rake links for various scenarios (by changing parameter values) (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 Platform preferences of train 1, 2 = 1,2,3 Initially all platforms empty Initially all platforms empty
Platform Allocation
Rake Linker Platform Occupancy Chart generates Platform Occupancy Table with Platform Preferences After Checking Feasibility at all Stations Generates final Occupancy table With assigned Platform number generates 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 Residual network + additional edges Finds negative cost cycles Finds negative cost cycles Saturates negative cost cycles Saturates negative cost cycles Outputs new Rake Table 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 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 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 Outputs 62 rakes and 10 empty movements for 963 services WR uses 64 rakes (22 are 12 Car rakes) and 70 empty rake movements WR uses 64 rakes (22 are 12 Car rakes) and 70 empty rake movements Useful application: During maintenance block time During maintenance block time To check optimality 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 outputs a detailed rake table in Time table format Run time (3 secs for number of rakes, 10 secs for rake table) 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 Used for analyzing and comparing rake links with those generated by MCF-solver