1.206J/16.77J/ESD.215J
Airline Schedule Planning
Cynthia Barnhart
Spring 2003
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 2
1.206J/16.77J/ESD.215J
The Passenger Mix Problem
Outline
– Definitions
– Formulations
– Column and Row Generation
– Solution Approach
– Results
– Applications and Extensions
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 3
Some Basic Definitions
? Market
– An origin-destination airport pair,between which
passengers wish to fly one-way
? BOS-ORD and ORD-BOS are different
? Itinerary
– A specific sequence of flight legs on which a passenger
travels from their ultimate origin to their ultimate
destination
? Fare Classes
– Different prices for the same travel service,usually
distinguished from one another by the set of restrictions
imposed by the airlines
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 4
Some More Definitions
? Spill
– Passengers that are denied booking due to
capacity restrictions
? Recapture
– Passengers that are recaptured back to the airline
after being spilled from another flight leg
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 5
Problem Description
? Given
– An airline’s flight schedule
– The unconstrained demand for all itineraries over
the airline’s flight schedule
? Objective
– Maximize revenues by intelligently spilling
passengers that are either low fare or will most
likely fly another itinerary (recapture)
? Equivalent to minimize the total spill costs
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 6
Example
A B
I,100
J,200
K,100
? One market,3 itineraries
? Unconstrained demand per itinerary
– Total demand for an itinerary when the number
of seats is unlimited
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 7
Example with Capacity
Constraints
A B
I,100,150
J,200,175
K,100,130
? One market,3 itineraries
– Capacity on itinerary I = 150
– Capacity on itinerary J = 175
– Capacity on itinerary K = 130
? Optimal solution:
– Spill _____ from I
– Spill _____ from J
– Spill _____ from K
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 8
Revenue Management,A Quick
Look
? One flight leg
– Flight 105,LGA-ORD,287 seats available
? Two fare classes:
– Y,High fare,no restrictions
– M,Low fare,many restrictions
? Demand for Flight 105
– Y class,95 with an average fare of $400
– M class,225 with an average fare of $100
– Optimal Spill Solution ( Y and M passengers)
? Revenue,$
? Spill,$
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 9
Network Revenue Management
? Two Flights
– Flight 105,LGA-ORD,287 seats
– Flight 201,ORD-SFO,287 seats
? Demand (one fare class)
– LGA-ORD,225 passengers $100
– ORD-SFO,150 passengers $150
– LGA-SFO,150 passengers,$225
? Optimal Solution,$
– LGA-ORD,passengers
– ORD-SFO,passengers
– LGA-SFO,passengers
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 10
Quantitative Share Index or
Quality of Service Index (QSI),
Definition
? Quantitative Share Index or Quality of
Service Index (QSI)
– There is a QSI for each itinerary i in each market
m for each airline a,denoted QSIi(m)a
– The sum of QSIi(m)a over all itineraries i in a
market m over all airlines a is equal to 1,for all
markets m
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 11
Market Share
? The market share of airline a in market m is
the sum of QSIi(m)a over all itineraries i in
market m
? The market share of the competitors of
airline a in market m is 1 – (the sum of QSIi(m)a
over all itineraries i in market m)
– Denote this as mscma
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 12
Recapture
? Consider a passenger who desires itinerary I but is
redirected (spilled) to itinerary J
– The passenger has the choice of accepting J or not (going
to a competitor)
– Probability that passenger will accept J (given an uniform
distribution) is the ratio of QSIJ(m)a to (QSIJ(m)a + mscma)
? Probability that passenger will NOT accept J (given
an uniform distribution) is the ratio of mscma to
(QSIJ(m)a + mscma)
– The ratios sum to 1
– If a is a monopoly,recapture rate will equal 1.0
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 13
Recapture Calculation
? Recapture rates for airline a,
– bIJ,probability that a passenger spilled from I will
accept a seat on J,if one exists
– QSI mechanism for computing recapture rates
a
p
a
m
a
pp
r
Q S Im s c
Q S I
b
?
?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 14
Example with Recapture
A B
I,100,150
J,300,175
K,100,130
? Recapture rates:
– bIJ= 0.4,bIk= 0.1
– bJI= 0.5,bJK= 0.1
– bKI= 0.5,bKJ= 0.4
? Assume all itineraries have a single fare class,and
their fares are all equal
? Optimal solution:
– Spill _____ from I to J,Spill _____ from I to K
– Spill _____ from J to I,Spill _____ from J to K
– Spill _____ from K to I,Spill _____ from K to J
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 15
Mathematical Model,Notation
? Decision variables
- the number of passengers that desire travel on
itinerary p and then travel on itinerary r
? Parameters and Data
? the average fare for itinerary p
? the daily unconstrained demand for itinerary p
? the capacity on flight leg i
? the recapture rate of a passenger desiring itinerary p
who is offered itinerary r
? ip i p? ??? 10 if f li gh t le g is on it i n e r ar y ot h e r w is e
xpr
pfare
pD
CAPi
bpr
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 16
Basic Formulation
Prpx
PpDbx
LiC A Px
xf a r e
r
p
Pr
p
r
p
r
p
i
Pp Pr
r
p
r
i
Pp Pr
r
pr
???
???
???
?
? ?
? ?
?
? ?
? ?
,0
/
:s u b j ec t t o
M ax i m i z e
?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 17
Column Generation
A n y
N e w C o lu mn s?
S T O P
(L P O p t ima l)
S o lv e
R e s t ri c t e d Ma s t e r P r o b le m
(R MP )
S o lv e
P ri c in g P r o b le m
U p d a t e R MP w it h
N e w C o lu mn s
No
Y e s
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 18
Row Generation
A n y
N e w C o n s t ra in t s?
S T O P
(L P O p t ima l)
S o lv e
R e la x e d P ro b le m ( R P )
S o lv e
S e p a ra t io n P ro b le m
U p d a t e R P w it h
N e w C o n s t ra in t s
No
Y e s
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 19
Column and Row Generation
A n y
N e w C o l u m n s?
S o l v e
R e s t r i c t e d M a s t e r P r o b l e m
( R M P )
S o l v e
P r i c i n g P r o b l e m
U p d a t e R M P w i t h
N e w C o l u m n s
S e t O P T _ C u t = N O
No
Y e s
A n y
N e w C o n s t r a i n t s?
S o l v e
R e l a x e d P r o b l e m ( R P )
S o l v e
S e p a r a t i o n P r o b l e m
No
S e t
O P T _ C o l = N O
O P T _ C u t = N O
U p d a t e R P w i t h
N e w C o n s t r a i n t s
S e t O P T _ C o l = N O
S e t
O P T _ C o l = Y E S
O P T _ C o l = Y E S
O P T _ C u t = Y E S
Y e s
S e t
O P T _ C u t = Y E S
O P T _ C o l = Y E S
O P T _ C u t = Y E S
Y e s
No
Y e s
No
S T O P
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 20
Column and Row Generation,
Constraint Matrix
O r i g i n a l R M P 1
2
3
4
5
6
7
8
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 21
The Keypath Concept
? Assume most passengers flow along their desired
itinerary
? Focus on which passengers the airline would like to
redirect on other itineraries
? New decision variable
? The number of passengers who desire travel on itinerary p,but
the airline attempts to redirect onto the itinerary r
? New Data
? The unconstrained demand on flight leg i
rpt
iQ
??? Pp ppii DQ ?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 22
The Keypath Formulation
? ?
0
:s, t,
Mi n
?
???
????
?
?
?
? ?? ?
? ?
?
? ?? ?
? ?
r
p
Pr
p
r
p
ii
Pr Pp
p
r
p
r
p
i
Pr Pp
r
p
p
i
Pp Pr
r
pr
r
pp
t
PpDt
LiCA PQ
tbt
tf a r ebf a r e
??
x D t
x b t
p
p
p p
r
r p
p
r
p
r
p
r
? ?
?
?
?
Change of variable
Relationship
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 23
The Benefit of the Keypath
Concept
? We are now minimizing the objective
function and most of the objective
coefficients are __________,Therefore,this
will guide the decision variables to values of
__________.
? How does this help?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 24
Solution Procedure
? Use Both Column Generation and Row Generation
? Actual flow of problem
– Step 1- Define RMP for Iteration 1,Set k =1,Denote an
initial subset of columns (A1) which is to be used,
– Step 2- Solve RMP for Iteration k,Solve a problem with
the subset of columns Ak.
– Step 3- Generate Rows,Determine if any constraints are
violated and express them explicitly in the constraint
matrix.
– Step 4- Generate Columns,Price some of the remaining
columns,and add a group (A*) that have a reduced cost
less than zero,i.e.,Ak+1=[Ak |A*]
– Step 5- Test Optimality,If no columns or rows are added,
terminate,Otherwise,k =k+1,go to Step 2
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 25
Column Generation
? There are a large number of variables
– nm is the number of itineraries in market m
– Most of them aren’t going to be considered
? Generate columns by explicit enumeration
and,pricing out” of variables
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 26
Computing Reduced Costs
? The reduced cost of a column is
where is the non-negative dual cost
associated with flight leg i and is the non-
negative dual cost associated with itinerary p
p
rj
jr
r
p
pi
ip
r
p f a r ebf a r ec ??? ????
?
???
? ???? ??
??
i?
p?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 27
Solving the Pricing Problem
(Column Generation)
? Can the column generation step be
accomplished by solving shortest paths on a
network with,modified” arc costs,or some
other polynomial time algorithm?
– Hint,Think about fare structure
– What are the implications of the answer to this
question?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 28
Computational Experience
? Current United Data
– Number of Markets -15,678
– Number of Itineraries - 60,215
– Maximum number of legs in an itinerary- 3
– Maximum number of itineraries in a market- 66
– Flight network (# of flights)- 2,037
? Using CPLEX,we solved the above problem in
roughly 100 seconds,generating just over 100,000
columns and 4,100+ rows.
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 29
Applications,Irregular Operations
? When flights are cancelled or delayed
– Passenger itineraries are cancelled
– Passenger reassignments to alternative itineraries
necessary
? Flight schedule and fleet assignments (capacity) are known
? Objective might be to minimize total delays or to minimize the
maximum delay beyond schedule
? How are recapture rates affected by this scenario?
? How would the passenger-mix model have to be
altered for this scenario?
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 30
Extensions,Yield Management
? Can the passenger mix problem be used as a tool for
yield management?
? What are the issues?
– Deterministic vs,stochastic
– Sequence of requests
– Small demands (i.e.,quality of data)
? Advantages
– Shows the expected makeup of seat allocation
– Takes into account the probability of recapturing spilled
passengers
– Gives ideas of itineraries that should be blocked
– Dual prices might give us ideas for contributions,or
displacement costs
5/14/2010 Barnhart 1.206J/16.77J/ESD.215J 31
Extensions,Fleet Assignment
? To be explained in the next lectures…