airline scheduling and pricing using a genetic algorithm
DESCRIPTION
Some of my earlier research work on "clean sheet" scheduling for airlines. AIrline timetables are generally created by hand, and then mathematical models are used to optimize and tweak them. This was the first published work in the industry for diong the whole process in one system. Combines a number of different airline operations research models into a single framework. When the AA / Sabre Research Group was created, one of the goals was a clean-sheet scheduling system. Bob Crandall told my boss that there no way it could be done for even three aircraft - so this is what I built.TRANSCRIPT
1
Macro-level Scheduling
and Pricing Using a
Genetic Algorithm
Alan Walker
Sabre - September 2001
2
Overview
• Introduction
• Model Formulation
• Results
• Conclusion
3
Introduction
• Suppose you start from nothing
– Clean sheet of paper
– Information on your competitors
– Do everything - Fleet, timetable, FAM, YM & pricing
– Can you even handle 3 aircraft?
• This is a big, ugly search space
– Non-linear
– Stochastic
– Discontinuous
4
Introduction
• History of the problem
– We didn’t have an optimization model to do this
– Built a simple GA-based approach in late 1996
– Code fragments, ideas and discussions were a catalyst for integrated planning models using more traditional optimization techniques
• Why revisit it now?
– Computing resources are much greater
– Could be useful to others
– Interesting results
5
Pax Preference
Demand Model
Yield Mgmt.
Optimization
Profitability
GA
- reproduction
- mutation
Population
of Marketing
Plans (Price
and Schedule)
Plan
New Individuals
Fittest
Individuals
(higher profit)
Spill
Model
Inputs
Outputs
Model Structure
6
Model - Inputs
• Passenger preferences
– Market segment
– Base demand
– Base price
– Elasticity
– Time of day preference
– Service preference
• Schedule parameters
– Fleet type and number
– Aircraft capacity and
operating costs
– Block times / model
– Minimum turn times
• OA schedule and price
7
Model - Genetic Algorithm
• General
– Each potential solution is represented as a bit-string
– The bit-string contains all information associated with scheduling and pricing decisions
– Simulates evolution with survival-of-the-fittest
• Has been applied to diverse range of difficult combinatorial problems in other industries
– Parametric design of aircraft and aircraft engines
– Job-shop scheduling
– Strategy discovery for multi-player games
8
Model - Genetic Algorithm
• Initial population
– A set of potential solutions is generated randomly
• Reproduction
– Parents chosen randomly, weighted by profit
– New solutions are generated by combining elements from 2 parents, using random crossover operations
– Mutation occurs randomly to bits within the offspring
– New individuals replace less profitable solutions
• Stopping criteria
– Based on a specified number of generations
9
Crossover
Point
Population
(about 100)
Select profitable plans
as parents
New
Individuals Each bit string in the population
can be decoded as a complete
marketing plan (schedule and price)
Replace less
profitable plans
Mutation
Model - Genetic Algorithm
10
Model - GA Encoding DECL;&C;CITY;NOM;DFW;ABQ;MCO;MSY;SAT;TUL
DECL;&W;WAIT;ORD;0;5;10;15;20;25;30;45;60;75;90;120;150;180;210
# Skeleton schedule to be substituted
BTRT;AA;F10;&C;&W;&C;&W;&C;&W;&C;&W;&C;&W;&C;&W
BTRT;AA;S80;&C;&W;&C;&W;&C;&W;&C;&W;&C;&W;&C;&W
# OA Flt Leg;Carrier;Orig;Dest;DepTime;ArrTime
FLEG;DL;ABQ;DFW;1030;1206;100;25
FLEG;DL;ABQ;DFW;1630;1805;100;25
# Market definitions
MSEG;ABQ;DFW;Y;105.184;102.163;0;LOGIT
MSEG;ABQ;DFW;M;105.184;81.73;0;LOGIT
MSEG;ABQ;DFW;Q;105.184;61.2975;0;LOGIT
11
Model - GA Encoding
• What do planes do?
– Fly, wait, fly, wait, fly, wait, etc…
– Wait time is minimum ground time + additional
– Network is a collection of aircraft cycles
• GA replaces the parameter of the route string with a value from the named define set – DECL;&C;CITY;NOM;DFW;ABQ;MCO;MSY;SAT;TUL
DECL;&W;WAIT;ORD;0;5;10;15;20;25;…
BTRT;AA;F10;&C;&W;&C;&W;&C;&W;&C;&W;&C;&W;&C;&W
• One sample substitution – BTRT;AA;F10;DFW;5;ABQ;15;MCO;30…
12
Model - GA Encoding
• Heuristic to ensure that only feasible cycles are
created and used in the schedule
• Can create restricted subsets, i.e. don’t send
narrow body aircraft to Europe – DECL;&C_S80;CITY;NOM;DFW;SAT;MIA;MCO...
DECL;&C_767;CITY;NOM;DFW;ORY;LHR;FRA...
BTRT;AA;767;&C_767;&W;&C_767;&W;&C_767;&W...
• Encode price changes
13
Model - Passenger Preference
• Both logit & QSI models are supported
– Selectable at the market-segment level
• Models take into account
– Time Of Day (TOD) utility, based on a passenger’s
preferred departure / arrival times and the difference
between these times and the actual schedule
– Price utility, taking into account a passenger’s
preference for a given fare amount and restrictions
– Service utility for aircraft type and direct vs. connecting
service
14
ElasticityE
priceBaseP
priceAdjustedP
demandmarketBaseD
demandmarketAdjustedD
P
PPEDD
adj
adj
adj
adj
0
0
0
0
0 1
Passenger Preference (cont.)
15
Model - Yield Management
• Uses an O&D YM optimizer
– Don’t need a GA for this
Ssa
jCAPats
dyyfadyyfyRR
s
j
Ss
s
a
a
ssssss
Svcs
sTotal
j
s
s
YM
0ˆ
ˆ..
)(ˆ)(max
ˆ
0 ˆ
16
Model - Spill
• Traffic is found by spilling demand based on
allocations, using standard spill model:
– Trafficj = P(Dj<Xj)E(Dj|Dj<Xj) + P(Dj>Xj)Xj
– Where:
– Dj = demand for market/class j
– Xj = yield management allocation for market/class j,
based on the sum of bid prices for itinerary j
17
Model - Outputs
• Marketing Plan
– Prices
– Timetable
– Capacity allocation
– Bid prices
• Statistics
– Profit
– Revenue
– Operating costs
– Spill
– Demand (OD and flight)
18
ABQ MCO
MSY
TUL
SAT
DFW
Results - Sample Problem
• Six cities
• One hub
• 3 aircraft
• 30 O&Ds
• One competitor
19
SAT
MCO
TUL
SAT
MSY
ABQ
DFW
TUL
MSY
SAT
MCO
Results - Sample Output
• Price variations
– + $20 on DFW-MCO
– + $10 on DFW-MSY
– Assumes competitors match
changes
• Statistics
– Profit is $47,327
– Without varying the price,
the model only makes
$44,302 (but with a
different schedule)
ABQ
SAT
20
Algorithm Progress Over Time
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
1
12
23
34
45
56
67
78
89
10
0
Generation
Pro
fit
Max
Avg
Results - Solution Quality
• Less profitable plans are
progressively eliminated
from the population.
Hence, the average profit
approaches the maximum
• Approximately 100
generations are required to
reach a plateau
21
Results - Solution Quality
• Running the model several times generates different plans having little variance in profitability
– Run 1: $47,985
– Run 2: $48,995
– Run 3: $47,837
– Run 4: $48,291
– Run 5: $48,290
• The ability to vary price affects the schedule that is generated
22
Frequency
Profitability
Global Optimal
Confidence
interval
Model
results
Results - Solution Quality
• Statistical model to determine solution quality.
– Can’t find globally optimal solution
– Confidence interval to estimate where the global optimum is likely to be. Ref: Smith & Sucur, 1996
– We’re 95% confident we’re within 3% of optimal
23
Results - Sensitivity Analysis
• Vary each of the input parameters
• Percent change in output for a 1% change in input
• Can be used to determine
– What happens to a schedule’s structure as the inputs are
varied
– The change in outputs, particularly profit, as a function
of inputs
24
Results - Sensitivity Analysis
ProfitProfit
MarginLoad
Factor Yield
per
pass.
Yield
per
ASM
Yield
per
RPM
CV100
Demand
Demand Elasticity
Fleet Size
Operational Cost
-1
-0.5
0
0.5
1
1.5
2
25
Results - Sensitivity Analysis
Non-
stop
freq.
Conn.
freq. as
a % of
Non-
stop
traff.
Connect
traff.Non-
stop
traff. as
CV100
Demand
Demand Elasticity
Fleet Size
Operational Cost
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
26
cv=0.4 lf=76% profit=$25034
cv=0.1 lf=93% profit=$48303
ABQ
ABQ
ABQ
SAT
MCO
SAT
MCO
MCO
MSY
TUL
MSY
0830
1500
MCO
SAT
ABQ
TUL
ABQ
SAT
SAT
TUL
MCO
SAT
SAT
ABQ
ABQ
DFW DFW
SAT TUL
Results - Schedule Structure • Varying the demand CV has a visible effect on schedule structure and
profitability. Specifically, at a higher CV, the schedule generation has
more emphasis on connections, fewer flights and is less profitable
27
Results - Scalability
• 98% of CPU used in the objective function
• 12 aircraft, with prices, took about 2 days
– Sun Super SPARC based system
– Some code not optimized (i.e. connection generator)
• What could we do today?
– CPU is 10x faster
– Can easily parallelize on MPP or networked machines
– Should be able to handle 50-100 aircraft
28
Conclusion - IPM Family Tree
IPM
FLITEWISE
Price Balance
Statistic
Simultaneous
YM & Pricing
O&D FAM
While IPM never
made production,
fragments of code
and ideas generated
an explosion of
follow-on models
Frequency
Model
29
Conclusion
• GA may not be practical for a large airline
– Runtime
– Some constraints not considered
• Potentially useful for
– High-level analysis
– Long-term planning
– New hub or alliance planning
– Research
• Catalyst for integrated planning
30
References
• Goldberg, D.E. [1989]. Genetic Algorithms in Search, Optimization,
and Machine Learning. Addison-Wesley.
• Smith, B.C., Sucur, M. [1996], Analysis of Solution Quality in
Schedule Planning, AGIFORS Symposium Atlanta GA
• Jacobs T.L., Ratliff R.M. & Smith B.C., [2000] Soaring with
Synchronized Systems, ORMS Today