Rake linking for suburban services

Rake Linking for
Suburban Train Services
The Rake-Linker assigns physical trains (rakes)
to services that have been proposed in a
Services will be linked directly at terminals or
indirectly by proposing new services between
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.
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
MCF Network
Self edge
9car source
9Car sink
Dummy Sink
Super source
12Car Sink
12Car source
Unused rake edge
Super Sink
The overall system view
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
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
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
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
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
Rake Linker
Platform Occupancy
Table with Platform
After Checking
Feasibility at all
Generates final
Occupancy table
With assigned
Platform number
Platform Occupancy
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)
Residual network + additional edges
Finds negative cost cycles
Saturates negative cost cycles
Outputs new Rake Table
Perturbation and Sensitivity analysis
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
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
outputs a detailed rake table in Time 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
Related documents