Stochastic Integer Programming as Applied to the Airline Crew

A Second Stage Network
Recourse Problem in Stochastic
Airline Crew Scheduling
Joyce W. Yen
University of Michigan
John R. Birge
Northwestern University
INFORMS
San Antonio, TX
Nov. 5, 2000
1
Presentation Overview
 Problem
Motivation: Stochastic Airline
Crew Scheduling
 Stochastic Programming Formulation
 Branching Algorithm
 Large Problem Computational Results
 Conclusion and Future Directions
2
What is airline crew scheduling?
 Begin
with a set of flights that need to be
flown by airline crews
 Crews have restrictions for working hours
 Want to generate trip itineraries and select a
minimum cost set of trip itineraries for
crews to fly that will cover every flight
3
Why study airline crew
scheduling?
 Airlines
want to increase profits
 Crew costs second largest cost next to fuel
costs
– costs run in the billions of dollars for large
carriers
 Key
to lowering crew costs
– Optimizing crew schedules and crew
assignments
4
General Formulation
 let ai,j
= 1 if pairing j covers flight i
 let xk = 1 if pairing k is selected to be in the
solution
min
T
c x
subject to Ax  b
x binary
5
Problems with Current Strategies
 Crew
schedules optimized only to be
“deoptimized” in the actual implementation
because of changes to the schedules
 Problem solved as a linear program
– LP’s optimized at extreme points

push solutions to brink of infeasibility
 Unable
to respond to changes
– Companies spending millions to find ways to better
react to schedule disruptions
 Pairings
considered individually
6
Disruptions and Schedules
 Different
schedules will react differently to
disruptions
 Schedules can perpetuate the problem
 Want to find a way to identify and select
schedules that are less disrupted by changes
to the flight schedule
7
Stochastic Crew Scheduling
 Integrate
information about the short range
(recovery) problem into the long range
(traditional crew scheduling) problem
 Objective: Include expected cost of
disruptions in the model formulation
 Capture interaction effects of planes, crews,
and schedule recovery
8
Problem Formulation
For each disruption , we have different recourse.
The overall problem becomes:
minimize
subject to
z  c T x  Q( x )
Ax  b
0 x 1
x integer
where Q( x )   Q( x ,  ) P ( d )

is the expected value of future actions due to
disruptionsin the original schedule
9
Recourse Formulation
Q( x ,  )  min  penalty  delay(j)
subject to:
j segments
• consistency constraints for flight arrival and departure
times
• consistency constraints for plane predecessor
requirements
• consistency constraints for crew predecessor
requirements
time_dep(j) - [ time_arr(crew_pred(j,k))-crew_gnd(j,k)]xk,j  0 **
: delay scenario
j : flight
k : round trip itinerary
10
General form of Recourse LP
Q( x ,  )  min q y
T
s.t .
(W  Gx ) y  h( )
T
y0
 Note
cross product terms
 This form, in general, is not convex in x
 Traditional SIP solution methods don’t work
11
General Idea for Algorithm
 eliminate
delays caused by crews changing planes
 flight pair ranks based on switch delay value
– higher value means more costly delay
 branch
on pairings with particular plane changes
– identifies costly decisions and disallows or forces such
decisions
branching is on a large set of variables —
not just a single one
 Algorithm terminates with an optimal solution
 Algorithm can be augmented onto existing SPP
solvers
 Note:
12
Large Problem Results
 Air
New Zealand delay data from 1997
 Create model for disruptions based on data
 3 test problem
– 9 planes, 61 flights
– 10 planes, 66 flights
– 11 planes, 79 flights
 Disruption
time distribution: lognormal and
gamma with maximum value 200 minutes
13
Assumptions
 State-of-the-Art
pairing generator and set
partitioning solver available
 No cancellations
 Crews still able to fly schedule when flight
delayed
– no time restriction problems
 Plane
ground time constant, crew ground time
constant
 Static plane assignments
 Maximum delay time bounded
14
10 Planes Results
 100
scenarios
 Penalty = 100
 Daily schedule
 No limit on number of crews scheduled
 Run length: 184 iterations, 367 nodes
created
– computational time limit
15
10-plane, Penalty = 100, Optimal Costs
6000
29500
cTx value
5000
28500
28000
4000
27500
3000
27000
10th best
2000
26500
26000
25500
1000
25000
0
24500
0
50
100
150
200
250
no. nodes created
z
cTx
16
cTx+E[Q(x,w)] value
29000
Observations from Example
 Quick
savings early in the algorithm
– small changes to cTx value
– larger changes to the recourse value and objective value
 Can
get reasonably good solution after very few
iterations
– current optimal obtained after 214 nodes created (total
nodes created = 367)
– within 5% of best after 10 nodes created
– within 2% of best after 26 nodes created
– within 1% of best after 109 nodes created
17
160
160
140
140
120
120
100
100
80
80
60
60
40
40
20
20
0
0
0
5
10
15
Plane Cnx Time
No. Plane Changes
Plane Cnx for 10 Planes, Penalty = 100
20
i-th best solution
Median Plane Cnx Time
No. Plane Changes
Mean Plane Cnx Time
18
Effect of Penalty Parameter
 Penalty
parameter reflection of how much
disruption is worth
 As increase penalty parameter, track the
trade-off of disruption costs and crew costs
 How to determine penalty value
–
–
–
–
penalty = capacity of plane
penalty = # passengers / # crew
penalty = cost / minute of disruption
etc.
19
10 Plane Penalty Variation
Penalty = 0
% change in E[Q(x*,w)]
0.0%
0.0%
5.0%
10.0% 15.0% 20.0% 25.0% 30.0% 35.0%
-5.0%
-10.0%
-15.0%
-20.0%
Penalty = 1000
-25.0%
% change in cTx*
20
10 Plane with Penalty around 100
% change from initial
soln
40.0%
30.0%
20.0%
10.0%
0.0%
-10.0% 0
20
40
60
80
100
120
140
-20.0%
-30.0%
Penalty Value
z*
cTx*
E[Q(x*,w)]
21
General Comments
 How
much value disruptions reflected in penalty
value
– trade-off between disruption cost and crew cost
 Can
stop at any time and use algorithm to solve
for desired degree of accuracy or efficiency
– gap between LB and UB small enough
– computational budget exhausted
 Can
add a heuristic to pick a solution that has a
value within those bounds
 Reach point where impossible to eliminate more
disruption costs
22
Challenges
 Algorithm
– subproblems may be slow

However, can find good solution quickly
– bounds may not be tight

higher the penalty the less effective bounds are
 Data
– Need for lots of data
– Must carefully evaluate relationships and
correlations
– problem size
23
Future Research
 Direct
column generation for pairings using
delay costs to avoid costly plane changes
– difficulty is delays depend on all the crew
assignments jointly
– traditional column generation does one trip at a
time
– improvement:generate collection of columns
that work well together
24
Future Research
 Investigate
alternative data models
 Explore alternative recourse models
 Apply method to general network design
problems
– telecommunications networks
– supply chain
– job shops
25