airline scheduling and pricing using a genetic algorithm

30
1 Macro-level Scheduling and Pricing Using a Genetic Algorithm Alan Walker Sabre - September 2001

Upload: alan-walker

Post on 30-Nov-2014

235 views

Category:

Technology


1 download

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

Page 1: Airline scheduling and pricing using a genetic algorithm

1

Macro-level Scheduling

and Pricing Using a

Genetic Algorithm

Alan Walker

Sabre - September 2001

Page 2: Airline scheduling and pricing using a genetic algorithm

2

Overview

• Introduction

• Model Formulation

• Results

• Conclusion

Page 3: Airline scheduling and pricing using a genetic algorithm

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

Page 4: Airline scheduling and pricing using a genetic algorithm

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

Page 5: Airline scheduling and pricing using a genetic algorithm

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

Page 6: Airline scheduling and pricing using a genetic algorithm

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

Page 7: Airline scheduling and pricing using a genetic algorithm

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

Page 8: Airline scheduling and pricing using a genetic algorithm

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

Page 9: Airline scheduling and pricing using a genetic algorithm

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

Page 10: Airline scheduling and pricing using a 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

Page 11: Airline scheduling and pricing using a genetic algorithm

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…

Page 12: Airline scheduling and pricing using a genetic algorithm

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

Page 13: Airline scheduling and pricing using a genetic algorithm

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

Page 14: Airline scheduling and pricing using a genetic algorithm

14

ElasticityE

priceBaseP

priceAdjustedP

demandmarketBaseD

demandmarketAdjustedD

P

PPEDD

adj

adj

adj

adj

0

0

0

0

0 1

Passenger Preference (cont.)

Page 15: Airline scheduling and pricing using a genetic algorithm

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

ˆ..

)(ˆ)(max

ˆ

0 ˆ

Page 16: Airline scheduling and pricing using a genetic algorithm

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

Page 17: Airline scheduling and pricing using a genetic algorithm

17

Model - Outputs

• Marketing Plan

– Prices

– Timetable

– Capacity allocation

– Bid prices

• Statistics

– Profit

– Revenue

– Operating costs

– Spill

– Demand (OD and flight)

Page 18: Airline scheduling and pricing using a genetic algorithm

18

ABQ MCO

MSY

TUL

SAT

DFW

Results - Sample Problem

• Six cities

• One hub

• 3 aircraft

• 30 O&Ds

• One competitor

Page 19: Airline scheduling and pricing using a genetic algorithm

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

Page 20: Airline scheduling and pricing using a genetic algorithm

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

Page 21: Airline scheduling and pricing using a genetic algorithm

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

Page 22: Airline scheduling and pricing using a genetic algorithm

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

Page 23: Airline scheduling and pricing using a genetic algorithm

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

Page 24: Airline scheduling and pricing using a genetic algorithm

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

Page 25: Airline scheduling and pricing using a genetic algorithm

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

Page 26: Airline scheduling and pricing using a genetic algorithm

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

Page 27: Airline scheduling and pricing using a genetic algorithm

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

Page 28: Airline scheduling and pricing using a genetic algorithm

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

Page 29: Airline scheduling and pricing using a genetic algorithm

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

Page 30: Airline scheduling and pricing using a genetic algorithm

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