1.206J/16.77J/ESD.215J Airline Schedule Planning

Slides:



Advertisements
Similar presentations
1.224J/ ESD.204J: Airline Crew Scheduling
Advertisements

Airline Schedule Optimization (Fleet Assignment I)
Air Transportation Service Design Pamela H. Vance Goizueta Business School Emory University.
1 Branch-and-Price (Column Generation) Solving Integer Programs With a Huge Number of Variables CP-AI-OR02 School on Optimization Le Croisic, France March.
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Chapter 3 Workforce scheduling.
Leena Suhl University of Paderborn, Germany
Lecture 10: Integer Programming & Branch-and-Bound
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
1 A Second Stage Network Recourse Problem in Stochastic Airline Crew Scheduling Joyce W. Yen University of Michigan John R. Birge Northwestern University.
Airline Schedule Optimization (Fleet Assignment II) Saba Neyshabouri.
Airline Schedule Planning: Accomplishments and Opportunities Airline Schedule Planning: Accomplishments and Opportunities C. Barnhart and A. Cohn, 2004.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Content : 1. Introduction 2. Traffic forecasting and traffic allocation ◦ 2.1. Traffic forecasting ◦ 2.2. Traffic allocation 3. Fleeting problems ◦ 3.1.
11/26/ J/ESD.204J1 Transit Crew Scheduling Outline Crew Scheduling Work Rules and Policies Model Formulation Matching Problem Approximation approach.
AGIFORS, 5/28/03 Aircraft Routing and Crew Pairing Optimization Diego Klabjan, University of Illinois at Urbana- Champaign George L. Nemhauser, Georgia.
Agenda Business problem context Definitions Problem Description
Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB
IEOR E Airline Crew Airline Crew Scheduling Scheduling Presented by: Presented by: Fatima Khalid Fatima Khalid.
Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
15-853:Algorithms in the Real World
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Lagrangean Relaxation
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
Dominance and Indifference in Airline Planning Decisions NEXTOR Conference: INFORMS Aviation Session June 2 – 5, 2003 Amy Mainville Cohn, KoMing Liu, and.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Airline Optimization Problems Constraint Technologies International
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
U NIT C REWING FOR R OBUST A IRLINE C REW S CHEDULING Bassy Tam Optimisation Approaches for Robust Airline Crew Scheduling Bassy Tam Professor Matthias.
Automatic Test Generation
Linear Programming Many problems take the form of maximizing or minimizing an objective, given limited resources and competing constraints. specify the.
Aircraft Landing Problem
St. Edward’s University
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Constructing Robust Crew Schedules with Bicriteria Optimisation
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
The minimum cost flow problem
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
The Train Driver Recovery Problem – Solution
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.206J/16.77J/ESD.215J Airline Schedule Planning
EMIS 8373: Integer Programming
Lecture 5 – Integration of Network Flow Programming Models
Manpower Planning: Task Scheduling
Lecture 5 – Integration of Network Flow Programming Models
1.3 Modeling with exponentially many constr.
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.206J/16.77J/ESD.215J Airline Schedule Planning
Network Optimization Research Laboratory
Integer Programming (정수계획법)
1.206J/16.77J/ESD.215J Airline Schedule Planning
Nurse Scheduling Problems
1.206J/16.77J/ESD.215J Airline Schedule Planning
Integer Linear Programming
1.206J/16.77J/ESD.215J Airline Schedule Planning
Airlines and Linear Programming (and other stuff)
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Chapter 6 Network Flow Models.
Flow Feasibility Problems
The Selection Problem.
Chapter 1. Formulations.
Chapter 6. Large Scale Optimization
Integer Linear Programming
Lecture 12 Network Models.
Presentation transcript:

1.206J/16.77J/ESD.215J Airline Schedule Planning Cynthia Barnhart Spring 2003

1.206J/16.77J/ESD.215J The Crew Scheduling Problem Outline Problem Definition Sequential Solution Approach Crew Pairing Optimization Model Branch-and-Price Solution Branching strategies 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Why Crew Scheduling? Second largest operating expense (after fuel) OR success story Complex problems with many remaining opportunities A case study for techniques to solve large IPs 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Airline Schedule Planning Schedule Design Fleet Assignment Aircraft Routing Crew Scheduling 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

The Crew Scheduling Problem Assign crews to cover all flights for a given fleet type Minimize cost Time paid for flying “Penalty” pay Side constraints Balance Robustness 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Network Flow Problem? Complex feasibility rules Non-linear objective function 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Building Blocks Pairing Flight 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Duty Periods Definition: A duty period is a day-long sequence of consecutive flights that can be assigned to a single crew, to be followed by a period of rest 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Duty Rules Rules: Flights are sequential in space/time Maximum flying time Minimum idle/sit/connect time Maximum idle/sit/connect time Maximum duty time 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Duty Cost Function Maximum of: Total flying time fd * total duty time Minimum guaranteed duty pay Primarily compensates for flying time, but also compensates for “undesirable” schedules 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Pairings Definition: A sequence of duty periods, interspersed with periods of rest, that begins and ends at a crew domicile 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Pairing Rules Rules: First duty starts/last duty ends at domicile Duties are sequential in space/time Minimum rest between duties Maximum layover time Maximum number of days away from base 8-in-24 rule 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Pairing Cost Function Maximum of: Sum of duty costs fp * total time away from base (TAFB) Minimum guaranteed pairing pay 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Schedules Rules: Minimum rest between pairings Maximum monthly flying time Maximum time on duty Minimum total number of days off Two key differences: Cost function focuses on crew preferences Schedules individuals rather than complete crews 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Crew Scheduling Problems 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Pairing Problems Select a minimum cost set of pairings such that every flight is included in exactly one pairing Crew Pairing Decomposition Daily Weekly Exceptions Transitions 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Daily All flights operating four or more times per week Chosen pairings will be repeated each day Multi-day pairings will be flown by multiple crews Flights cannot be repeated in a pairing 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Example MON TUE WED THU FRI SAT SUN 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Example, cont. MON TUE WED THU FRI SAT SUN Duty A Duty C Duty A Duty B 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Weekly Cover all flights scheduled in a week-long period Fleet assignment on a particular flight leg can vary by day of week Identify flights by day-of-week as well as flight number, location, time 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Exceptions Cover all flights in “broken pairings” Cover all flights that are scheduled at most three times/week Identify flights by day-of-week as well as flight number, location, time Generate “weekly” pairings 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Transition Cover flights in pairings that cross the end of the month Identify flights by date as well as flight number, location, time, day-of-week Generate pairings connecting two different flight schedules 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Crew Planning Daily Problem Exceptions Transition broken pairings 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Assignment Problems Specified at the individual level Incorporates rest, vacation time, medical leave, training Focus is not on cost but crew needs/ preferences 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

The Bidline Problem Pairings are constructed into generic schedules Schedules are posted and crew members bid for specific schedules More senior crew members given greater priority Commonly used in the U.S. 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

The Rostering Problem Personalized pairings are constructed Incorporates crew vacation requests, training needs, etc. Higher priority given to more senior crew members Typical outside the U.S. 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Pairing vs. Assignment Similarities Differences Sequencing flights to form pairings  sequencing pairings to form schedules Set partitioning formulations (possibly with side constraints) Differences Complete crews vs. single crew member Objective function Time horizon 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Cockpit vs. Cabin Cockpit crews stay together; cabin crews do not Cockpit crew makeup is fixed; cabin needs can vary by demand Cabin crew members have a wider range of aircraft they can staff Cockpit crew members receive higher salaries 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Domestic vs. International Domestic U.S. networks of large carriers are predominantly hub-and-spoke With many connection opportunities Domestic networks are usually daily International networks are typically point-to-point More of a need to use deadheads International networks are typically weekly 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Recovery Problem Given a disruption, adjust the crew schedule so that it becomes feasible What is our objective? Return to original schedule as quickly as possible? Minimize passenger disruptions? Minimize cost? Limited time horizon -- need fast heuristics 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Focus: Daily Domestic Cockpit Crew Pairing Problem Problem description Formulation Solution approaches Computational results Integration with aircraft routing, FAM 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

The Crew Pairing Problem Given a set of flights (corresponding to an individual fleet type or fleet family), choose a minimum cost set of pairings such that every flight is covered exactly once (i.e. every flight is contained in exactly one pairing) 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Notation Pk is the set of feasible pairings for fleet type k Fk is the set of daily flights assigned to fleet type k fp is defined to be 1 if flight f is included in pairing p, else 0 cp is the cost of pairing p xp is a binary decision variable – value 1 indicates that pairing p is chosen, else 0 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Formulation 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Is this an easy problem? Linear objective function No complex feasibility rules Easy to write/intuitive Small number of constraints Huge number of integer variables 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

How do we solve it? We need branch-and-bound to solve the IP We need column generation to solve the individual LP relaxations Branch-and-price combines the two 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Column Generation Review Column generation solves linear programs with a large number of variables Start with a restricted master – a subset of the variables Solve to optimality Input the duals to a pricing problem and look for negative reduced cost columns Repeat 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Generating Crew Pairings Start with enough columns to ensure a feasible solution (may need to use artificial variables) Solve Restricted Master problem Look for one or more negative reduced cost columns for each crew base; add to Restricted Master problem and re-solve If no new columns are found, LP is optimal 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Crew Pairing Reduced Cost Reduced cost of pairing p is: 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Formulation 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Pricing as a Shortest Path Problem A pairing can be seen as a path, where nodes represent flights and arcs represent valid connections Paths must start/end at a given crew base For daily problem, paths cannot repeat a flight Paths must satisfy duty and pairing rules Path costs can be computed via labels corresponding to pairing reduced costs 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Network Structure Connection arc network Nodes represent flights Arcs represent (potentially) feasible connections Multiple copies of the network in order to construct multi-day pairings Source/sink nodes at the crew base 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Network Example BOS 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Multi-Day Network 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Labels Feasibility: Pairing: Cost: Pairing -- max of: Duty: Min rest between duties Max rest between duties Max # of duties Duty: Max flying Max duty time Min idle (connection arcs) Max idle (connections arcs) Cost: Pairing -- max of: Sum of duty costs fp * TAFB min guarantee pay Duty -- max of: Total flying time fd * total duty time 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Labels, cont. Labels have to track: Labels also contain: Current duty: Flying time in current duty Total elapsed time in current duty Current duty cost Pairing: Pairing TAFB Sum of completed duties’ costs # completed duties Current pairing reduced cost Labels also contain: Label id Previous flight Previous flight’s label id 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Processing Labels For each node (in topological order) For each label at that node For each connection arc out of that node Process the arc If a label is created, check existing labels for dominance If the node ends at the crew base and reduced cost is negative, a potential column’s been found 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Processing Labels, cont. Stop No Given: Label Arc Flight repeat? Yes Valid for pairing? New label: Update duty time Update flying time Update duty cost Update pairing red. cost Update pairing TAFB Update sum of duty costs Valid for duty: Doesn’t violate max duty time Doesn’t violate max idle time Doesn’t violate max flying time Valid for pairing: Doesn’t violate number of duties Doesn’t violate min layover Doesn’t violate max TAFB 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Column Generation and Network Structure Duty assignment networks Large number of arcs One arc per duty Can be hundreds of connections per duty Ex: 363 flights, 7838 duties, 1.65 M connections Fewer labels per path - duty rules are built in Flight assignment networks Smaller number of arcs One arc per flight Typically not more than 30 connections per flight Larger number of labels 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Branch-and-Bound Review Root node 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Heuristic Solution Approach Branch-and-bound with only root node LP solved using column generation No feasible solution may exist in the columns generated to solve the root node LP Conventional wisdom: need some “bad” columns to get a “good” solution 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Branch-and-Price Need a branching rule that is compatible with column generation Rule must be enforceable without changing the structure of the pricing problem Multi-label shortest path problem Branching based on variable dichotomy is not compatible Cannot restrict the shortest path algorithm from finding a path (that is, a pairing) 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Variable Dichotomy Branching Given a fractional solution to the crew pairing problem, pick p s.t. 0 < xp < 1 Two new problems: {xp = 1, xp = 0} Drawbacks: Imbalance Maximum depth of tree Enforcing in the pricing problem: xp = 1 is easy xp = 0 is hard 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Branching on Follow-Ons Given a fractional solution, there must be two flights f1, f2 such that f1 is followed by f2 a fractional amount in the solution Pairing f1-f2-f3 has value 1/2 and pairing f1-f4 has value 1/2 Branch on {f1 is/is not followed by f2} More balanced Fewer branching levels Easy to enforce in pricing problem 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

How to Alter Network to Enforce Branching Decision If follow-on flights a-b required Remove all connection arcs from a to flights other than b Remove all connection arcs into b from flights other than a If follow-on flights a-b disallowed Remove all connection arcs from a to b 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

How to Select Flight Pairs for Branching Sum current LP solution values of all possible flight follow-ons Branch on the follow-on with the greatest value 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Computational Results American Airlines (1993): 25,000+ crew members Save $20+ million/year Solutions in 4 - 10 hours 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J

Other Crew Scheduling Research Topics Cabin crew scheduling Integrating pairing and assignment Robust planning Recovery Integrated models 11/25/2018 Barnhart 1.206J/16.77J/ESD.215J