Airline Operations
Lecture #3
1.206J
April 29, 2003
Summary Lecture #2
? Achieving good passenger service reliability at an
acceptable operating costs
Disrupted passengers suffer long delays on
average (320 minutes) versus non disrupted
passengers (14 minutes)
Connecting itineraries have a much higher risk of
being disrupted than local itineraries (2.7x)
Late disruptions are often difficult to recover the
same day, much higher flight delay and
cancellations at the end of the day
Delays accumulate along the day, resulting in
relatively high percentage of overnight passengers
among disrupted (20%), but still small percentage
(0.7% of passengers)
G13
G18
G14G13
G14G18
G15G13
G15G18
G16G13
G19 G1A G1B G1C G14G13 G14G14 G14G15 G14G16 G14G17 G14G18 G14G19 G14G1A G14G1B G14G1C G15G13 G15G14 G15G15 G15G16 G15G17
G33G4FG44G51G51G48G47 G24G55G55G4CG59G44G4F G37G4CG50G48 G0BG4BG52G58G55G56G0C
G33
G52
G56G4C
G57
G4C
G59
G48
G49G4F
G4C
G4A
G4B
G57
G44G55
G55G4C
G59
G44
G4F
G47
G48
G4F
G44G5C
G0B
G50
G4C
G51
G58G57
G48
G56
G0C
Average flight delay per hour,
August 2000
Our approach
Wisely postpone artificially departures to maintain bank
integrity and prevent passengers from missing connections
Wisely canceled flights if necessary to prevent delays to
propagate and the negative effects on passengers
We want our solutions to be feasible for aircraft
(maintenance) and crews (schedule)
Guarantee solution feasibility:
GBE Artificially postponing flight departures does not disrupt more crews:
Maintain flight sequence feasibility (duty)
Does not include flight copies that violate crew regulation (Maximum Duty
Elapsed Time)
Do we guarantee maintenance routing feasibility?
Summary Lecture #2 (Cont.)
Minimize Sum of Disrupted Passengers (M1)
GBE Works well (20CPU) for day with severe flight schedule
disruptions. Why?
Because number of variables relatively small (O(F + I) and number of
constraints O(F + I))
And binary variables
GBE Downside: do not consider disrupted passenger and non
disrupted passenger delays: May decide to postpone a flight by
30 minutes with 100 passenger on board to recover only 1
disrupted passenger who could have been recovered effectively
Minimizing Sum of Passenger Delays (M2)
GBE Problem becomes much bigger if all the recovery itineraries are
included
GBE Hard to solve using B&B
GBE (M1/M2) equivalent to (FAM/ODFAM): capacity constraints tend
to lead to fraction solutions of LP relaxation
pp
pP
t
ff
tT
f
tt tt
ff ff
(f ,t) In(j) (f,t) Out(j)
ff
pf
tu
fgp
g C(u)d(g) a(f)
tt
pf,a f
Minimize n
st : x z 1
xy xy
xyRes(a,ft,)
z
xx1
[0;1]; x {0,1}; y 0
∈
∈
?+
∈∈
??
∈<
??
×ρ
??
??
+=
+= +
+= ?
ρ ≥
+?ρ ≤
ρ ∈∈≥
∑
∑
∑∑
∑
∑
GBE Objective: Minimize sum of
disrupted passengers
GBE Flight coverage constraints
GBE Aircraft balance for each sub
fleet type
GBE Initial and end of the day
aircraft resource constraints
GBE Passenger cancellation
constraints
GBE Missed connected passengers
constraints
GBE Only flight copy variables, x,
have to be binary
Minimizing Sum of Disrupted
Passengers
Minimizing passenger delay
Need to consider all potential copies of
recovery itineraries for each passenger
Large scale problem: 500,000 integer
variables; 12 hours CPU using B&B deep
first search methodology
ii
pp
pPiI
p
t
ff
tT
f
tt tt
ff ff
(f ,t) In(j) (f,t) Out(j)
00
ff
i
pp
iI
p
ti t
pff
fi
pPiI
p
it t
pf f
bq
xz1 fF
xy xy
xy j
qn
qCx
q0;x{0,1};y0
Min
∈∈
∈
?+
∈∈
+
?
∈
∈∈
+= ?∈
+= +
+=
=
δ≤×
≥∈ ≥
∑∑
∑
∑∑
∑
∑
∑∑
Summary Lecture #2 (Cont.)
GBE Approximate models to minimize sum of passenger
delay
From Model #1, estimate delay if itinerary is disrupted.
From Model #2, limit the number of itinerary copy to
include only good ones.
GBE Objective function: minimizing estimated passenger
dissatisfaction
Fine grained down to Passenger Name Record
Assign a cost (expected future revenue loss of delay d for
PNR p) based on:
G83 Fare class
G83 Disruption history
G83 Loyalty (FFP)
Same objective can be used in sorting passengers for
recovery priority
Lecture #3 Outline
Airline schedule recovery framework
Aircraft routing feasibility
Disrupted passenger re-routing under seat
uncertainty:
GBE Heuristics
GBE Optimal
GBE Optimal with bumping control
G24G4CG55G4FG4CG51G48 G56G5CG56G57G48G50 G56G57G44G57G48G1D
G24G4CG55G46G55G44G49G57G1D G53G52G56G4CG57G4CG52G51G0F G50G44G4CG51G57G48G51G44G51G46G48G0F G52G53G48G55G44G57G4CG52G51G44G4F
G26G55G48G5AG56G1D G53G52G56G4CG57G4CG52G51G0F G47G4CG56G55G58G53G57G4CG52G51 G56G57G44G57G58G56G0F G47G58G57G5C G57G4CG50G48G0F G49G4FG4CG4AG4BG57 G57G4CG50G48G0F G48G57G46G11
G33G44G56G56G48G51G4AG48G55G56G1D G53G52G56G4CG57G4CG52G51G0F G47G48G56G57G4CG51G44G57G4CG52G51G0F G33G24G37G0F G47G4CG56G55G58G53G57G4CG52G51 G56G57G44G57G58G56
G29G4FG4CG4AG4BG57 G46G52G53G5C G4AG48G51G48G55G44G57G4CG52G51 G44G4FG4AG52G55G4CG57G4BG50
G32G53G48G55G44G57G4CG52G51G56 G49G52G55G48G46G44G56G57G56
G29G4FG4CG4AG4BG57 G47G48G53G44G55G57G58G55G48 G57G4CG50G48G56G0F G3BG0D G44G51G47 G49G4FG4CG4AG4BG57 G46G44G51G46G48G4FG4FG44G57G4CG52G51G56 G3DG0D
G52G53G57G4CG50G4CG5DG48G55
G24G4CG55G46G55G44G49G57 G55G52G58G57G4CG51G4A G45G44G56G48G47 G52G51 G0BG3BG0DG0FG3DG0DG0C
? G29G48G44G56G4CG45G4FG48 G55G52G58G57G48 G35G22
G3CG48G56
G31G52
G33G55G48G59G48G51G57 G4CG51G49G48G44G56G4CG45G4FG48 G44G4CG55G46G55G44G49G57 G55G52G58G57G48 G56G5AG44G53G56
G30G52G47G4CG49G5C G49G4FG4CG4AG4BG57 G47G48G53G44G55G57G58G55G48 G56G52G4FG58G57G4CG52G51
G32G45G57G44G4CG51 G49G48G44G56G4CG45G4FG48 G44G4CG55G46G55G44G49G57 G55G52G58G57G48 G35GB7
G44G51G47 G44G56G56G52G46G4CG44G57G48G47 G52G53G57G4CG50G44G4F G56G52G4FG58G57G4CG52G51 G0BG3BGB7G0DG0FG3DGB7G0DG0C
G32G53G57G4CG50G44G4F G47G4CG56G55G58G53G57G48G47 G53G44G56G56G48G51G4AG48G55 G55G48G10G55G52G58G57G4CG51G4A
G26G52G51G56G4CG47G48G55G4CG51G4A G56G48G44G57 G44G59G44G4CG4FG44G45G4CG4FG4CG57G5C G58G51G46G48G55G57G44G4CG51G57G5C
G35G48G46G52G59G48G55G5C G53G55G4CG52G55G4CG57G5C G53G52G4FG4CG46G4CG48G56
G26G55G48G5A G52G53G48G55G44G57G4CG52G51G56 G55G48G46G52G59G48G55G5CG0F
G35G48G53G44G4CG55 G53G44G4CG55G4CG51G4AG56
Resource Dependability: Ripple effects
Source: Sabre, 1998
DFW-LAX
LAX-ONT
DFW-SNA
LAX-SMF
PC
CC
A
PC
CC
A
Cockpit Crew rest at SMF
SNA-SJC
SNA-RNO
SNA-SEA
SMF-LAX
ONT-LAX
Aircraft
maintenance at
ONT
PC
CC: deadheading
A
PC: Pilot Crew; CC: Cabin Crew; A: Aircraft
Flight copy generations
We have developed a technique to
minimize the number of flight copies
Four types of flight copies are generated:
GBE Aircraft ready times
GBE Copies to prevent passengers from missing
connections
GBE Consequence of type 2, aircraft postponement
propagation
GBE Schedule (for cancellations)
G24G4CG55G4FG4CG51G48 G56G5CG56G57G48G50 G56G57G44G57G48G1D
G24G4CG55G46G55G44G49G57G1D G53G52G56G4CG57G4CG52G51G0F G50G44G4CG51G57G48G51G44G51G46G48G0F G52G53G48G55G44G57G4CG52G51G44G4F
G26G55G48G5AG56G1D G53G52G56G4CG57G4CG52G51G0F G47G4CG56G55G58G53G57G4CG52G51 G56G57G44G57G58G56G0F G47G58G57G5C G57G4CG50G48G0F G49G4FG4CG4AG4BG57 G57G4CG50G48G0F G48G57G46G11
G33G44G56G56G48G51G4AG48G55G56G1D G53G52G56G4CG57G4CG52G51G0F G47G48G56G57G4CG51G44G57G4CG52G51G0F G33G24G37G0F G47G4CG56G55G58G53G57G4CG52G51 G56G57G44G57G58G56
G29G4FG4CG4AG4BG57 G46G52G53G5C G4AG48G51G48G55G44G57G4CG52G51 G44G4FG4AG52G55G4CG57G4BG50
G32G53G48G55G44G57G4CG52G51G56 G49G52G55G48G46G44G56G57G56
G29G4FG4CG4AG4BG57 G47G48G53G44G55G57G58G55G48 G57G4CG50G48G56G0F G3BG0D G44G51G47 G49G4FG4CG4AG4BG57 G46G44G51G46G48G4FG4FG44G57G4CG52G51G56 G3DG0D
G52G53G57G4CG50G4CG5DG48G55
G24G4CG55G46G55G44G49G57 G55G52G58G57G4CG51G4A G45G44G56G48G47 G52G51 G0BG3BG0DG0FG3DG0DG0C
? G29G48G44G56G4CG45G4FG48 G55G52G58G57G48 G35G22
G3CG48G56
G31G52
G33G55G48G59G48G51G57 G4CG51G49G48G44G56G4CG45G4FG48 G44G4CG55G46G55G44G49G57 G55G52G58G57G48 G56G5AG44G53G56
G30G52G47G4CG49G5C G49G4FG4CG4AG4BG57 G47G48G53G44G55G57G58G55G48 G56G52G4FG58G57G4CG52G51
G32G45G57G44G4CG51 G49G48G44G56G4CG45G4FG48 G44G4CG55G46G55G44G49G57 G55G52G58G57G48 G35GB7
G44G51G47 G44G56G56G52G46G4CG44G57G48G47 G52G53G57G4CG50G44G4F G56G52G4FG58G57G4CG52G51 G0BG3BGB7G0DG0FG3DGB7G0DG0C
G32G53G57G4CG50G44G4F G47G4CG56G55G58G53G57G48G47 G53G44G56G56G48G51G4AG48G55 G55G48G10G55G52G58G57G4CG51G4A
G26G52G51G56G4CG47G48G55G4CG51G4A G56G48G44G57 G44G59G44G4CG4FG44G45G4CG4FG4CG57G5C G58G51G46G48G55G57G44G4CG51G57G5C
G35G48G46G52G59G48G55G5C G53G55G4CG52G55G4CG57G5C G53G52G4FG4CG46G4CG48G56
G26G55G48G5A G52G53G48G55G44G57G4CG52G51G56 G55G48G46G52G59G48G55G5CG0F
G35G48G53G44G4CG55 G53G44G4CG55G4CG51G4AG56
Routing recovery
Define maintenance critical aircraft, aircraft that have
to be at a maintenance station before the end of the
day
Routing feasibility: if all the maintenance critical
aircraft are at a maintenance station at the end of the
day
Identify all the swapped aircraft routes of
maintenance critical aircraft: Set MCS.
For each swap s, can we select a non critical aircraft
with a route going to a maintenance station?
GBE If yes, withdraw s from MCS, assign aircraft to new routes
GBE Otherwise do the algorithm:
G14 G15 G16 G17
G14 G15 G16
G30G44G4CG51G57G48G51G44G51G46G48
G56G57G44G57G4CG52G51
G35G52G58G57G48G0BG44G0C
G35G52G58G57G48G0BG45G0C
G36G5AG44G53
G52G53G53G52G55G57G58G51G4CG57G5C
G14 G15 G16 G17
G14 G15 G16
G30G44G4CG51G57G48G51G44G51G46G48
G56G57G44G57G4CG52G51
G35G52G58G57G48G0BG44G0C
G35G52G58G57G48G0BG45G0C
G36G5AG44G53
G52G53G53G52G55G57G58G51G4CG57G4CG48G56
G14 G15
G35G52G58G57G48G0BG46G0C
Neighborhood search algorithm
Neighborhood search algorithm to
recover from routing infeasibility
For each infeasible swap s in MCS do:
GBESTEP 1: For each window of readiness WR(n), search for an
aircraft with a route that goes terminates at a maintenance
station before the end of the day of operations and have a
readiness windows that intersect with WR(n) (including the
infeasible routes). If one route is found, swap the two aircraft
routes and move to the next infeasible swap. Otherwise, no
simple route swap is found for all readiness windows and go to
STEP 2.
GBESTEP 2: Generate a feasible route that goes from WR(n) to a
maintenance station and all the sub-routes belong to non
critical route.
GBESTEP 3: If no route swap found, include swaps in set of
infeasible swaps
Forbid flight copies leading to routing infeasibility and run the
optimization model again.
Algorithm’s complexity
STEP 1: runs in O(A*F)
STEP 2: runs in O(A*F^n) with n
number of route swap opportunities
Can we find routing feasible solutions
effectively using this approach?
Routing disrupted passenger under
seat uncertainty
Build the list of disrupted passengers
according to a priority rule (First Disrupted
First Recovered, fare class, loyalty (FFP))
High fare tickets are often fully refundable. No
shows (NS rate ≈20%).
Number of seats available on flight f is
uncertain
Passenger centric approach: for each
passenger in recovery list what is the recovery
itinerary with the lowest expected arrival delay
Example
G29G4FG4CG4AG4BG57
G06
G33G27G37 G29G27G37 G33G24G37 G29G24G37
G29G48G44G56G4CG45G4CG4FG4CG57G5C
G53G55G52G45G44G45G4CG4FG4CG57G5C
G24G10G2B G14 G16G1DG13G13G33G30 G16G1DG13G18G33G30 G17G1DG13G13G33G30 G17G1DG13G16G33G30 G14G13G13G08
G24G10G25 G15 G16G1DG16G13G33G30 G16G1DG16G18G33G30 G18G1DG16G13G33G30 G18G1DG16G14G33G30 G1AG13G08
G2BG10G25 G16 G17G1DG16G13G33G30 G17G1DG16G15G33G30 G18G1DG16G13G33G30 G18G1DG16G17G33G30 G1AG13G08
G2BG10G25 G17 G18G1DG13G13G33G30 G18G1DG13G14G33G30 G19G1DG13G13G33G30 G19G1DG13G18G33G30 G1AG13G08
G2BG10G25 G18 G19G1DG13G13G33G30 G19G1DG13G17G33G30 G1AG1DG13G13G33G30 G1AG1DG13G16G33G30 G1AG13G08
G35G48G46G52G59G48G55G5C
G4CG57G4CG51G48G55G44G55G5C
G29G4FG4CG4AG4BG57
G56G57G55G4CG51G4A
G24G55G55G4CG59G44G4F G47G48G4FG44G5C
G0BG50G4CG51G58G57G48G56G0C
G29G48G44G56G4CG45G4CG4FG4CG57G5C
G53G55G52G45G44G45G4CG4FG4CG57G5C
G24G10G25 G15 G15G1AG14 G1AG13G08
G24G10G2BG10G25 G14G10G16 G15G1AG16 G1AG13G08
G24G10G2BG10G25 G14G10G17 G16G13G18 G1AG13G08
G24G10G25 G14G10G18 G16G19G16 G1AG13G08
Fast heuristic model
Heuristics chooses itinerary #1
Probability of staying overnight
is 30% whereas it is 2.7% for
itinerary 2 and itinerary 2 arrives
only 2 minutes after itinerary 1.
Sub optimal model but very fast
(O(log(I))
Optimal routing algorithm
State = {Airport location, Forecasted
Flight Time Departure}
G36G57G44G57G48 G36G0BG4CG0C G2FG52G46G0BG36G0BG4CG0CG0C G37G4CG50G48G0BG36G0BG4CG0CG0C G29G4FG4CG4AG4BG57G0BG36G0BG4CG0CG0C
G14 G24 G16G1DG13G18G33G30 G49G0BG14G0C
G15 G24 G16G1DG16G18G33G30 G49G0BG15G0C
G16 G2B G17G1DG16G15G33G30 G49G0BG16G0C
G17 G2B G18G1DG13G14G33G30 G49G0BG17G0C
G18 G2B G19G1DG13G17G33G30 G49G0BG18G0C
G19 G25 G16G1DG16G18G33G30 G37
G1A G25 G17G1DG16G15G33G30 G37
G1B G25 G18G1DG13G14G33G30 G37
G1C G25 G19G1DG13G17G33G30 G37
Optimal routing algorithm (Cont.)
Build Markov chain
Decisions, u:
GBE u(j) = 1 if book flight j, = 0 otherwise
Cost(s(j))
= AAT(f) – PAT(p) if s(j)∈?
= 0 otherwise
Can restrict the decision space to
chose only one itinerary
Optimal routing algorithm (Cont.)
State space size: O(2^F)
10 flights in recovery list means at most
1024 states
Can include bumping cost in decisions:
Assume that you have estimated the value
of one hour of delay for PNR p. You can
reward a passenger to free up his/her seat.
What is the best (itinerary, reward)
decisions to minimize airline returns
(passenger delay cost – “bumping”
rewards)
Passenger routing algorithm
performance
PMIX provides the optimal passenger routings; We found
that PDC is close to optimality (PMIX) to route the
passengers
When passengers are disrupted at the hub (flight
cancellation or missed connection), PDC provides the
optimal recovery most of the time because only one route
typically goes from the hub to destination airport (hub and
spoke topology); Only when passengers are disrupted at
the origin spoke (first flight canceled), does PDC might
provide sub-optimal solution
origin destination
Questions?
Discussion items?
G36G52G55G57 G2F G44G46G46G52G55G47G4CG51G4A G57G52 G56G48G55G59G4CG46G48G53G52G4FG4CG46G5C
G27G4CG56G55G58G53G57G48G47G22
G3CG48G56 G31G52
G35G48G50G52G59G48G56G48G44G57 G49G55G52G50 G55G48G50G44G4CG51G4CG51G4AG4CG51G59G48G51G57G52G55G5C
G37G44G4EG48G51G48G5BG57 G47G4CG56G55G58G53G57G48G47G53G44G56G56G48G51G4AG48G55 G4CG51 G2F
G35G48G50G52G59G48G56G48G44G57G56G49G55G52G50 G55G48G50G44G4CG51G4CG51G4AG4CG51G59G48G51G57G52G55G5C
G24G56G56G4CG4AG51G44G4FG4F G51G52G51G10G47G4CG56G55G58G53G57G48G47 G53G44G56G56G48G51G4AG48G55G56
G57G52G57G4BG48G4CG55 G53G4FG44G51G51G48G47G4CG57G4CG51G48G55G44G55G4CG48G56
G25G58G4CG4FG47G57G4BG48G4FG4CG56G57G52G49G47G4CG56G55G58G53G57G48G47
G53G44G56G56G48G51G4AG48G55G56G0F G2F
G29G4FG4CG4AG4BG57 G47G48G4FG44G5CG56G44G51G47 G49G4FG4CG4AG4BG57 G46G44G51G46G48G4FG4FG44G57G4CG52G51G56
G33G44G56G56G48G51G4AG48G55 G45G52G52G4EG4CG51G4AG56 G49G52G55 G48G44G46G4B G56G46G4BG48G47G58G4FG48G47 G4CG57G4CG51G48G55G44G55G5C
G2CG56 G2F G20G91 G22
G3CG48G56
G31G52
G28G31G27
G35G48G46G52G55G47 G53G44G56G56G48G51G4AG48G55 G47G48G4FG44G5C
G29G4CG51G47G45G48G56G57 G55G48G46G52G59G48G55G5CG4CG57G4CG51G48G55G44G55G5CG44G51G47G44G56G56G4CG4AG51G53G44G56G56G48G51G4AG48G55
G33G44G56G56G48G51G4AG48G55 G27G48G4FG44G5C G36G57G44G57G4CG56G57G4CG46G56
G2CG31G33G38G37G36
G33G35G28G33G35G32G26G28G36G36G2C
G31G2A
G33G27G26
G35G48G46G52G55G47 G53G44G56G56G48G51G4AG48G55 G47G48G4FG44G5C