Title: Solving Large Scale Crew Scheduling Problems by using Iterative Partitioning
1Solving Large Scale Crew Scheduling Problems by
using Iterative Partitioning
2Contents
- Introduction CSP at NS
- Problem formulation
- Background applying partitioning
- Results
3Dutch Railway System
- Dense railway system
- Cyclic timetable (1 hr)
- High utilization of infra
- Over 5000 trains per day
- Over 1 million passengers per day
4Crew planning at NS
Huisman et al. (2005), Operations Research in
passenger railway transportation, Stat.
Neerlandica 59, 467-497
5Crew scheduling at NS
- 3000 train drivers
- 3500 conductors
- 29 depots
- Duties are created in Ut
- Rosters are created
- locally in the depots
6Duty rules
Minimum transfer time
Pre- and post times
Meal break rule
- - Route knowledge
- Rolling stock knowledge
7Global Rules
Maximum percentage night duties
Maximum average duty length
Maximum percentage long duties (gt9 hrs)
8Aggression Train
9Sharing SweetSour
- Additional variation rules
- Max percentage of aggression work per depot
- Max standard deviation on aggression
- Max Repetitions In Duties (RID)
- Min percentage of preferred trains per depot
- Max standard deviation on preferred trains
- Min number of routes per depot
- Min average number of routes
- Max percentage of Rolling Stock cluster per depot
10Aggression trains (2)
11Mathematical Formulation
- Formulated as set covering problem with
- xk 1 if duty k is selected and 0 otherwise
12Solution approach
- Main problem in solving CSP enormous amount of
potential duties (columns) - Solution apply column generation techniques!
- Currently, NS uses TURNI (Double Click sas)to
solve CSP from scratch - TURNI is an algorithm based on column generation
and Lagrangian heuristics and uses
intensification through variable fixing / local
branching
13The TURNI Machine
14CSP Instances at NS
15Initial Working Method with TURNI
- We planned 3 separate days with TURNIa pattern
Weekday, a Saturday and a Sunday - Planners fine-tuned the overall plan
16Notions
- Running a small instance of the large one
sometimes gives an improved solution - Planners are able to improve the solution by a
few percentages, possibly due to- Missing
positioning trips- Slack in global constraints-
The large instances are too complex
17Idea
- Refine solution after running the initial case
- Try to run partial cases for the complete week
18Illustration
19Partitioning methods
- Weekday
- Geographical region (large and small)
- Train line based
- Column info
20Depot Cluster Methods
- Based on
- Geographical location
- Train line connections
- Size of depots
21Column Info Method
22New Working Method
- Fully automated partitioning process.
- Iterative (parallel) optimization of several
sub-sets - Per day (3 runs of about 12 Hours)
- Per region (4 runs of about 6 Hours)
- Per sub-region (12 runs of about 2 hours)
- Per line partition (4 runs of about 6 Hours)
- Solution and columns are passed to next instance
23Results, All Constraints
Guards, all constraints, week optimization Dri
vers, all constraints, day optimization
24Results, No Capacity Constraints
- Drivers, Different average per day (max 740
week, 915 weekend) - Drivers, Average 800 for every day, No capacity
constraints
25Results
- Optimizing over the week gives excellent
results2-4 efficiency equals 120-240 FTE
reduction - Partitioning based on column info indicates
possibility to fully partition based on series.
26?