The document discusses operational planning for railroad yards. It introduces how inbound trains are disassembled by hump engines and railcars are classified, then outbound trains are assembled by pullback engines. It describes challenges around scheduling hump and pullback engines given arrival times and train compositions. Solutions proposed include longest-first humping sequences and considering waiting for longer trains to arrive to reduce idle time.
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
Effective Heuristics for Scheduling Hump & Pullback Engines
1. 1/39
Session C3: 排程理論2013/10/19 15:00 ~ 16:20 @ 管理一館301 室
Effective Heuristics for
Scheduling Hump & Pullback Engines
in Railroad Yard Operational Plans
I-Lin Wang (Associate Professor)
Wei Lee (Junior)
Chiao-Yu Liao (Junior)
Dept of Industrial & Information Management
National Cheng Kung University
3. 4/39
Introduction
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
4. 5/39
Introduction
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
5. 6/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
6. 7/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
7. 8/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
8. 9/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
9. 10/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
10. 11/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
11. 12/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
12. 13/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
13. 14/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
14. 15/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
15. 16/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
16. 17/39
Introduction
• The inbound trains in receiving area are disassembled and
humped to classification area by hump engine.
• The railcars in classification tracks are assembled by
pullback engine to generate the desired outbound train.
Hump engine Pullback engine
Team NCKU lead by I-Lin Wang
10 tracks; 185 cars
42 tracks;
60 cars
7 tracks; 207 cars
17. 18/39
Operational Planning
Team NCKU lead by I-Lin Wang
• Given
– Arrival time, numbers & types of railcars for each train
– # tracks in receiving, classification, departure areas
– Time of processing, transporting, inspection a railcar or train
• Objective
• Decisions
18. 19/39
Operational Planning
Team NCKU lead by I-Lin Wang
• Given
– Arrival time, numbers & types of railcars for each train
– # tracks in receiving, classification, departure areas
– Time of processing, transporting, inspection a railcar or train
• Objective
– Give a schedule that minimizes the total waiting time
• Decisions
19. 20/39
Operational Planning
Team NCKU lead by I-Lin Wang
• Given
– Arrival time, numbers & types of railcars for each train
– # tracks in receiving, classification, departure areas
– Time of processing, transporting, inspection a railcar or train
• Objective
– Give a schedule that minimizes the total waiting time
• Decisions
– When to pull which train from waiting area to receiving area
– When to hump which train in receiving area
– Which railcars to be assigned to which classification track
– When to assemble how many railcars
from which classification tracks to which departure track by
which pull-back engine
20. 21/39
Bottlenecks
• Too many possible assembly combinations
• Humping sequence
• Timing for humping & pulling back operations
Team NCKU lead by I-Lin Wang
21. 22/39
Bottlenecks
• Too many possible assembly combinations
– A train may have up to 7 railcar types
– A train of k railcar types can have 2k-1 subsets
– For each subset, too many possible number of
railcar combinations
• E.g. a 200-car train by 3 car types, with x, y, & z cars,
then x+y+z=200, x,y,z≥1 has a lot of feasible solutions
• Humping sequence
• Timing for humping & pulling back operations
Team NCKU lead by I-Lin Wang
22. 23/39
Solution Methods
• Integer Programming
• Meta-Heuristics
• Greedy Heuristics
• Key operations in our solution:
Team NCKU lead by I-Lin Wang
23. 24/39
Solution Methods
• Integer Programming
Too much time/storage
– Can only deal with small-scale problems
– Too many variables
– Nonlinear objective function
• Meta-Heuristics
• Greedy Heuristics
• Key operations in our solution:
Team NCKU lead by I-Lin Wang
24. 25/39
Solution Methods
• Integer Programming
Too much time/storage
– Can only deal with small-scale problems
– Too many variables
– Nonlinear objective function
• Meta-Heuristics
Not intuitive
– Genetic Algorithm, Tabu Search,….etc.
• Greedy Heuristics
• Key operations in our solution:
Team NCKU lead by I-Lin Wang
25. 26/39
Solution Methods
• Integer Programming
Too much time/storage
– Can only deal with small-scale problems
– Too many variables
– Nonlinear objective function
• Meta-Heuristics
Not intuitive
– Genetic Algorithm, Tabu Search,….etc.
• Greedy Heuristics
– FIFO? SPT? EDD?
How & When ?
E.g. Longest Track First
• Key operations in our solution:
Team NCKU lead by I-Lin Wang
26. 27/39
Solution Methods
• Integer Programming
Too much time/storage
– Can only deal with small-scale problems
– Too many variables
– Nonlinear objective function
• Meta-Heuristics
Not intuitive
– Genetic Algorithm, Tabu Search,….etc.
• Greedy Heuristics
– FIFO? SPT? EDD?
How & When ?
E.g. Longest Track First
• Key operations in our solution:
– How and when to conduct a hump process?
– How and when to conduct a pullback process?
Team NCKU lead by I-Lin Wang
27. 28/39
Waiting Time in Humping
• Hump time of a train=
Humping interval + Hump Rate * length of train
Constant Constant
Team NCKU lead by I-Lin Wang
28. 29/39
Waiting Time in Humping
• Hump time of a train=
Humping interval + Hump Rate * length of train
Constant Constant
E.g. Trains a & b are to be humped with lengths na > nb.
Hump a first, then b.
Team NCKU lead by I-Lin Wang
29. 30/39
Waiting Time in Humping
• Hump time of a train=
Humping interval + Hump Rate * length of train
Constant Constant
E.g. Trains a & b are to be humped with lengths na > nb.
Hump a first, then b.
Train a Train b
Team NCKU lead by I-Lin Wang
30. 31/39
Waiting Time in Humping
• Hump time of a train=
Humping interval + Hump Rate * length of train
E.g. Trains a & b are to be humped with lengths na > nb.
Hump a first, then b.
Train a Train b
Team NCKU lead by I-Lin Wang
nb
na
Constant Constant
31. 32/39
Waiting Time in Humping
• Hump time of a train=
Humping interval + Hump Rate * length of train
E.g. Trains a & b are to be humped with lengths na > nb.
Hump a first, then b.
– Total waiting time = the shaded area
Train a Train b
Team NCKU lead by I-Lin Wang
nb
na
Constant Constant
33. 34/39
Humping Sequence
Team NCKU lead by I-Lin Wang
n4
Train 1 Train 2 Train 3 Train 4
n3
n2
n1
n1
n2
n3
n4
Train 4 Train 3 Train 2 Train 1
• Longest-first
• Shortest-first
34. 35/39
Humping Sequence
Team NCKU lead by I-Lin Wang
n4
Train 1 Train 2 Train 3 Train 4
n3
n2
n1
n1
n2
n3
n4
Train 4 Train 3 Train 2 Train 1
• Longest-first
• Shortest-first
35. 36/39
Humping Sequence
Team NCKU lead by I-Lin Wang
n4
Train 1 Train 2 Train 3 Train 4
n3
n2
n1
n1
n2
n3
n4
Train 4 Train 3 Train 2 Train 1
• Longest-first
• Shortest-first
36. 37/39
Humping Sequence
Team NCKU lead by I-Lin Wang
n4
Train 1 Train 2 Train 3 Train 4
n3
n2
n1
n1
n2
n3
n4
Train 4 Train 3 Train 2 Train 1
• Longest-first
• Shortest-first
37. 38/39
Humping Sequence
Team NCKU lead by I-Lin Wang
n4
Train 1 Train 2 Train 3 Train 4
n3
n2
n1
n1
n2
n3
n4
Train 4 Train 3 Train 2 Train 1
• Longest-first
• Shortest-first
Extra area
38. 39/39
Should We Wait? For How Long?
• Suppose 3 trains a, b, and c to be humped with na>nb>nc,
and a longer train d will arrive in x min.
No wait for d : humping order a-d-b-c
Wait for d : humping order d-a-b-c
Team NCKU lead by I-Lin Wang
39. 40/39
Should We Wait? For How Long?
• Suppose 3 trains a, b, and c to be humped with na>nb>nc,
and a longer train d will arrive in x min.
No wait for d : humping order a-d-b-c
Train a Train d Train b Train c
Wait for d : humping order d-a-b-c
Team NCKU lead by I-Lin Wang
nc
nb
nd
na
x
40. 41/39
Should We Wait? For How Long?
• Suppose 3 trains a, b, and c to be humped with na>nb>nc,
and a longer train d will arrive in x min.
No wait for d : humping order a-d-b-c
Train a Train d Train b Train c
Wait for d : humping order d-a-b-c
Team NCKU lead by I-Lin Wang
nc
nb
nd
na
x
Train d Train a Train b Train c
nc
nb
na
nd
x
41. 42/39
Should We Wait? For How Long?
• Suppose 3 trains a, b, and c to be humped with na>nb>nc,
and a longer train d will arrive in x min.
No wait for d : humping order a-d-b-c
Train a Train d Train b Train c
Wait for d : humping order d-a-b-c
Team NCKU lead by I-Lin Wang
nc
nb
nd
na
x
Train d Train a Train b Train c
nc
nb
na
nd
x
42. 43/39
Single Pull
engine
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
43. 44/39
Single Pull
engine
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
44. 45/39
Single Pull
engine
10 minute
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
45. 46/39
Multi-Pull
engine
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
46. 47/39
Multi-Pull
engine
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
47. 48/39
Multi-Pull
engine
10 minute
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
48. 49/39
Multi-Pull
engine
10+ 1 5 + 1 5 minute
Team NCKU lead by I-Lin Wang
……
Classification tracks Departure tracks
49. 50/39
Pullback Decision
• To assemble a departure train of the same
size, single pull takes less time than multi-pull
If possible, conduct single pull (on longest track)
Sometimes it pays to wait longer
multi-pull may be beneficial to avoid congestion
Team NCKU lead by I-Lin Wang
50. 51/39
Pullback Decision
• To assemble a departure train of the same
size, single pull takes less time than multi-pull
If possible, conduct single pull (on longest track)
• Too frequent fast pulling back might cause
congestion by outbound interval
Sometimes it pays to wait longer
multi-pull may be beneficial to avoid congestion
Team NCKU lead by I-Lin Wang
51. 52/39
Outbound Train Interval
ready
ready
Ready
Departure tracks
Team NCKU lead by I-Lin Wang
52. 53/39
Outbound Train Interval
ready
Ready
Departure tracks
Team NCKU lead by I-Lin Wang
53. 54/39
Outbound Train Interval
ready
Departure tracks
Team NCKU lead by I-Lin Wang
10 minute later
Ready
54. 55/39
Outbound Train Interval
Departure tracks
Team NCKU lead by I-Lin Wang
10 minute later
Ready
55. 56/39
Outbound Train Interval
Ready
Departure tracks
Team NCKU lead by I-Lin Wang
56. 57/39
Outbound Train Interval
Ready
Departure tracks
10 minute later
Team NCKU lead by I-Lin Wang
57. 58/39
Outbound Train Interval
Departure tracks
10 minute later
Team NCKU lead by I-Lin Wang
59. 60/39
Outbound Train Interval
Wait for another 20 minute !!!
Departure tracks
Team NCKU lead by I-Lin Wang
60. 61/39
Timing for multi-pull
engine
Team NCKU lead by I-Lin Wang
……
61. 62/39
Timing for multi-pull
engine
Team NCKU lead by I-Lin Wang
……
62. 63/39
Timing for multi-pull
engine
Team NCKU lead by I-Lin Wang
……
10
63. 64/39
Timing for multi-pull
engine
Team NCKU lead by I-Lin Wang
……
10 + 45
64. 65/39
Timing for multi-pull
engine
Team NCKU lead by I-Lin Wang
……
10 + 45 + x
65. 66/39
Timing for multi-pull
If x ≧ 15
10 + 45 + x ≧ 10 + 45 + 15
Team NCKU lead by I-Lin Wang
66. 67/39
Timing for multi-pull
If x ≧ 15
10 + 45 + x ≧ 10 + 45 + 15
larger than multi-pull one more
track
Team NCKU lead by I-Lin Wang
67. 68/39
Timing for multi-pull
If x ≧ 30
10 + 45 + x ≧ 10 + 45 + 30
Team NCKU lead by I-Lin Wang
68. 69/39
Timing for multi-pull
If x ≧ 30
10 + 45 + x ≧ 10 + 45 + 30
larger than multi-pull two more
tracks
Team NCKU lead by I-Lin Wang
69. 70/39
Timing for multi-pull
If x = 23
10 + 45 + x ≧ 10 + 45 + 15
multi-pull one more track
Team NCKU lead by I-Lin Wang
70. 71/39
Timing for multi-pull
If x = 23
10 + 45 + x ≧ 10 + 45 + 15
multi-pull one more track
≒ 10 + 45 +30
multi-pull two more tracks
Team NCKU lead by I-Lin Wang
71. 72/39
Timing for multi-pull
Multi-Pull 1 or 2 ???
Team NCKU lead by I-Lin Wang
72. 73/39
How many tracks to multi-pull
1. Flooring (x/15)
2. Ceiling (x/15)
Team NCKU lead by I-Lin Wang
88. 89/39
Ceiling
engine
Team NCKU lead by I-Lin Wang
……
( T pullback + T inspection )*(N+N’)
89. 90/39
Pullback Model
( T can outbound – T currnet )*N
( T pullback + T inspection )*(N+N’)
Team NCKU lead by I-Lin Wang
1.Flooring
2.Ceiling
90. 91/39
Pullback Model
( T can outbound – T currnet )
( T pullback + T inspection )*(1+N’/N)
Team NCKU lead by I-Lin Wang
1.Flooring
2.Ceiling
91. 92/39
Pullback Model
( T can outbound – T currnet )
( T pullback + T inspection )*(1+N’/N)
Team NCKU lead by I-Lin Wang
1.Flooring
2.Ceiling
92. 93/39
Pullback Model
( T can outbound – T currnet )
( T pullback + T inspection )*(1+N’/N)
Team NCKU lead by I-Lin Wang
1.Flooring
2.Ceiling
93. 94/39
Pullback Model
( T can outbound – T currnet )
( T pullback + T inspection )*(1+N’/N)
Team NCKU lead by I-Lin Wang
1.Flooring
2.Ceiling
94. 95/39
Pullback Model
( T can outbound – T currnet )
( T pullback + T inspection )*(1+N’/N)
Team NCKU lead by I-Lin Wang
1.Flooring
2.Ceiling
95. 96/39
Computational Result
Team NCKU lead by I-Lin Wang
1. Original
2. Original + Hump model
3. Original + Pullback model
4. Original + Hump model + Pullback Model
96. 97/39
Data characteristics
combination
Small (33) Large (247)
Team NCKU lead by I-Lin Wang
Number
of data
(blocks)
Small
(24330)
Data 2 Data 3
Large
(34130)
Data 4 Data 5
98. 99/39
Conclusions & Future Research
• Give a simulation-based greedy mechanism.
– Simple dispatching rules
• Longest first rule
• Timing for humping & pulling back operations
– Efficient, with flexibility to adjust
• Future research
– Integer Programming Model
• Difficulty: cannot model waiting time in linear way
too many variables and constraints
Team NCKU lead by I-Lin Wang