# 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
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
&amp;
Set
Of
Constraints
TIME TABLE
OR
PARTIAL TIME TABLE
Utilities
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
Partial Time Table (obtained from
scheduler)
Station Table
Inter Terminal Transit Time Matrix
Parameter Table
Partial Time Table
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
Partial time table (Modified): updated
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 :
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
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
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:




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
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
```