250 likes | 270 Views
Solving Large Scale Crew Scheduling Problems by using Iterative Partitioning. Contents. Introduction CSP at NS Problem formulation Background applying partitioning Results. 0. 50km. Dutch Railway System. Dense railway system Cyclic timetable (1 hr) High utilization of infra
E N D
Solving Large Scale Crew Scheduling Problems by using Iterative Partitioning
Contents • Introduction CSP at NS • Problem formulation • Background applying partitioning • Results Solving Large Scale CSP using Iterative Partitioning
0 50km Dutch Railway System • Dense railway system • Cyclic timetable (1 hr) • High utilization of infra • Over 5000 trains per day • Over 1 million passengers per day Solving Large Scale CSP using Iterative Partitioning
1 / year 6 / year Every week Tasks General days Modified tasks General days Tasks Specific days Day of operation Duties General days Modified duties General days Duties Specific days Basic rosters Modified rosters Crew planning at NS • Huisman et al. (2005), “Operations Research in passenger railway transportation”, Stat. Neerlandica 59, 467-497 Solving Large Scale CSP using Iterative Partitioning
Crew scheduling at NS 0 50km • 3000 train drivers • 3500 conductors • 29 depots • Duties are created in Ut • Rosters are created • locally in the depots Solving Large Scale CSP using Iterative Partitioning
Maximum duty length Duty rules Minimum transfer time Pre- and post times Meal break rule • - Route knowledge • Rolling stock knowledge Solving Large Scale CSP using Iterative Partitioning
Global Rules Maximum percentage night duties Maximum average duty length Maximum percentage long duties (>9 hrs) Solving Large Scale CSP using Iterative Partitioning
Good Morning, Can I see your …ticket… Aggression Train Solving Large Scale CSP using Iterative Partitioning
Sharing Sweet&Sour 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 Solving Large Scale CSP using Iterative Partitioning
Aggression trains (2) Solving Large Scale CSP using Iterative Partitioning
Mathematical Formulation • Formulated as set covering problem with: • xk =1 if duty k is selected and 0 otherwise Solving Large Scale CSP using Iterative Partitioning
Solution 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 Solving Large Scale CSP using Iterative Partitioning
The TURNI Machine Solving Large Scale CSP using Iterative Partitioning
CSP Instances at NS Solving Large Scale CSP using Iterative Partitioning
Initial Working Method with TURNI • We planned 3 separate days with TURNIa pattern Weekday, a Saturday and a Sunday • Planners fine-tuned the overall plan Solving Large Scale CSP using Iterative Partitioning
Notions • 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 Solving Large Scale CSP using Iterative Partitioning
Idea • Refine solution after running the initial case • Try to run partial cases for the complete week Solving Large Scale CSP using Iterative Partitioning
Week Sat Sun RN RS South NE Illustration Solving Large Scale CSP using Iterative Partitioning
0 50km Depot Cluster Methods Based on: • Geographical location • Train line connections • Size of depots Solving Large Scale CSP using Iterative Partitioning
Column Info Method Solving Large Scale CSP using Iterative Partitioning
New 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 Solving Large Scale CSP using Iterative Partitioning
Results, All Constraints Guards, all constraints, week optimization Drivers, all constraints, day optimization Solving Large Scale CSP using Iterative Partitioning
Results, No Capacity Constraints Drivers, Different average per day (max 7:40 week, 9:15 weekend) Drivers, Average 8:00 for every day, No capacity constraints Solving Large Scale CSP using Iterative Partitioning
Results • Optimizing over the week gives excellent results;2-4% efficiency equals 120-240 FTE reduction • Partitioning based on column info indicates possibility to fully partition based on series. Solving Large Scale CSP using Iterative Partitioning
? Solving Large Scale CSP using Iterative Partitioning