15-853:Algorithms in the Real World

Slides:



Advertisements
Similar presentations
Crew Pairing Optimization with Genetic Algorithms
Advertisements

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.
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Chapter 3 Workforce scheduling.
Linear Programming (LP) (Chap.29)
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
1 Cutting Plane Technique for Solving Integer Programs.
Chapter 4: Linear Programming Presented by Paul Moore.
Branch & Bound Algorithms
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
Lecture 5 Set Packing Problems Set Partitioning Problems
Airlines and Linear Programming (and other stuff) Dr. Ron Lembke.
Airlines and Linear Programming Dr. Ron Tibben-Lembke.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
Computer Algorithms Integer Programming ECE 665 Professor Maciej Ciesielski By DFG.
1 A Second Stage Network Recourse Problem in Stochastic Airline Crew Scheduling Joyce W. Yen University of Michigan John R. Birge Northwestern University.
Shortest Path Problems Directed weighted graph. Path length is sum of weights of edges on path. The vertex at which the path begins is the source vertex.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
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.
11/26/ J/ESD.204J1 Transit Crew Scheduling Outline Crew Scheduling Work Rules and Policies Model Formulation Matching Problem Approximation approach.
Group Construction for Cabin Crew Comparing Constraint Programming with Branch&Price Presentation at SweConsNet 2005 Jesper Hansen Carmen Systems AB
CARMEN CONSULTING OPTIMIZATION MATTERS CrewGroups Recent Development and Plans for the Future Presentation at SweConsNet´03 Tomas Lidén Carmen Consulting.
CSC 213 – Large Scale Programming. Today’s Goals  Discuss what is meant by weighted graphs  Where weights placed within Graph  How to use Graph ’s.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Flight Itinerary Problem ICS 311 Fall 2006 Matt Freeburg.
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)
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Airlines and Linear Programming (and other stuff) Dr. Ron Lembke.
Shortest Paths and Dijkstra’s Algorithm CS 105. SSSP Slide 2 Single-source shortest paths Given a weighted graph G and a source vertex v in G, determine.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
CS 361 – Chapter 16 Final thoughts on minimum spanning trees and similar problems Flow networks Commitment: –Decide on presentation order.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Integer Programming (정수계획법)
15-853Page :Algorithms in the Real World Linear and Integer Programming III – Integer Programming Applications Algorithms.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Airline Optimization Problems Constraint Technologies International
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Approximation Algorithms based on linear programming.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
0 Integer Programming Introduction to Integer Programming (IP) Difficulties of LP relaxation IP Formulations Branch and Bound Algorithms Reference: Chapter.
Linear Programming Many problems take the form of maximizing or minimizing an objective, given limited resources and competing constraints. specify the.
The minimum cost flow problem
1.3 Modeling with exponentially many constr.
Linear Programming.
Chapter 6. Large Scale Optimization
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.206J/16.77J/ESD.215J Airline Schedule Planning
Integer Programming (정수계획법)
Airlines and Linear Programming (and other stuff)
Single-source shortest paths
Integer Programming (정수계획법)
Chapter 1. Formulations.
Chapter 6. Large Scale Optimization
Discrete Optimization
Presentation transcript:

15-853:Algorithms in the Real World Linear and Integer Programming V Case Study: Airline Crew Scheduling 15-853

American Airlines (soon USAirways) Problem: Schedule crew (pilots and flight attendants) on flight segments to minimize cost. over 25,000 pilots and flight attendants over $1.5 Billion/year in crew costs Assumes the flight segments are already fixed. Methods described today: 1970-1992: TRIP (Trip Reevaluation and Improvement Program). Local optimization given an initial guess 1992-present? Global optimization (approximate) 15-853

Algorithms in the Real World Editor’s note from a paper on the topic: “A crew resource planning manager at the subject company confirmed to me that the work described in this paper has been in regular operational use since its completion, that it has been used to support labor negotiations, and that while its benefits have not been quantified, the system is an improvement over the prior system and is working well. For commercial reasons, the subject company wants to remain anonymous. 15-853

Crew Pairings Example: A 2 day crew pairing with DFW (Dallas-Fort Worth) as the base. Duty period 1 Sign in: 8:00 DFW 9:00-10:00 AUS (segment 1) AUS 11:00-13:00 ORD (segment 2) ORD 14:00-15:00 SFO (segment 3) Overlay in SFO Duty period 2 Sign in: 7:00 SFO 8:00-9:00 LAX (segment 4) LAX 10:00-11:45 SAN (segment 5) SAN 13:00-19:30 DFW (segment 6) Sign out: 19:45 15-853

Properties of Pairings National pairings typically last 2 or 3 days. Crew work 4 or 5 pairings per month. Collection of pairings in a month is a Bidline. Other work has considered optimizing the bidlines. Today we will just discuss pairings. Crew “bid” on the bidlines (seniority based) 15-853

Constraints on Pairings Union and Federal Aviation Agency (FAA) rules Some example constraints 8 hours flying per duty period 12 hours total duty time Minimum layover time – depends on hours of flying in previous duty period Minimum time between flights in a duty period 15-853

Cost of Pairings Cost can include both direct and indirect costs (e.g. employee satisfaction). Example contributions to “cost”. Total duty period time Time away from base (TAFB) Number and locations of overlays Number of time zone changes Cost of changing planes 15-853

Overall Goal Cover all segments with a set of valid pairings that minimize costs. Must also consider number of crew available at crew bases. Crew pairings (as well as flight schedules) are generated on a monthly basis. Problem is simplified since flights are pretty much the same every day. The monthly boundaries can cause some problems. 15-853

Possible Approach Consider all valid pairings and generate cost for each. Now solve as a set covering problem: Given m sets and n items: Problem: Billions of possible pairings minimize: cTx subject to: Ax  1, x binary 15-853

Example Formulation Segments to be covered: Pairings: DFW 9-12 LGA LGA 13-15 ORD ORD 16-18 RDU ORD 17-19 DFW RDU 19-21 LGA RDU 19-21 DFW LGA 14-16 ORD DFW 16-18 RDU Pairings: DFW 9-12 LGA 14-16 ORD 17-19 DFW (1,7,4) LGA 13-15 ORD 16-18 RDU 19-21 LGA (2,3,5) ORD 16-18 RDU 19-21 DFW 9-12 LGA 13-15 ORD (3,6,1,2) DFW 16-18 RDU 19-21 DFW (8,6) DFW 16-18 RDU 19-21 LGA 14-16 ORD 17-19 DFW (8,5,7,4) 15-853

Example Formulation (cont.) 15-853

Old System, TRIP (->1992) Select an initial solution (set of pairings) Typically a modification from previous month Repeat the following until no more improvements: Select small set of pairings from current solution Typically 5-10 pairings from the same region Generate all valid pairings that cover the same segments, and cost for each Typically a few thousand Optimize over these pairings using the set-partitioning problem. Advantage: Small subproblems Problem: Only does local optimization 15-853

Newer System Anbil, Tanga, Jonhson: Generate large “pool: of pairings About 6 million. Solve LP approximation using specialized techniques Use “branch-and-bound” for IP solution, with heuristic pruning Each LP takes about an hour (possibly faster now) Does not guarantee best solution because of the pruning step, but much better than TRIP. 15-853

Generating the Pool of Pairings Disclaimer: This is speculative since the authors say very little about it. Generating 6 million initial pairings out of billions of possible pairings Generate graph Vertex: time and airport Edge: flight-segment, wait-time, or overlay Edge weight: “excess cost” of edge Find 6 million shortest valid paths (e.g.by union rules) in the graph that start and end at a crew base This is a heuristic that prefers short TAFB. 15-853

Shortest Path Graph time DFW LGA ORD RDU Day 1 Day 2 Day 3 Each edge is given a weight based on approximate cost (full cost not known without rest of pairing) 15-853

Solving the LP Approximation Select a small set of m columns (pairings), Call this submatrix A. m = 5000 Repeat until optimal solution found Optimize problem based on A Use the basic variables to “price” the remaining variables and set A to the m “best (i.e. pick 5000 minimum reduced costs r = cbB-1N –cn) 15-853

Using the LP for the IP Algorithm: Solve the LP approximation across 6 million columns Select about 10K pairings with best reduced cost Repeat until all segments have a follow on: For all non-zero pairings, consider all adjacent segments (si,sj) in the itineraries Add weights from the pairing that include them, and select maximum sum across all (si, sj). Fix (si, sj) and throw out all pairings that include (si,sk), k ¹ j Solve the LP again Add new columns from original 6 million if system becomes infeasible 15-853

Example: from before segments LP solution 1 7 4 1/2 2 3 5 6 8 Segment pairs (1,7) (1,2) (2,3) (3,5) (7,4) rest Summed weights 1/2 1 We therefore fix (2,3) : LGA 13-15 ORD 16-18 RDU and (7,4): LGA 14-16 ORD 17-19 DFW We don’t throw out any pairings since 2 and 7 are not followed by anything other than 3 and 4, respectively 15-853

Additional Constraints Need to account for the number of crew available at each base Add constraints with maximum and minimum hours available from each base Need to patch between months. Separately schedule first two days of each month with additional constraints put in from previous month. Handling canceled or delayed flights. Currently done by hand – every base has a small set of reserve crew. 15-853

Some Conclusions Use of special purpose techniques Mostly separates the optimization from the cost and constraints rules. Solves 6 million variable LP as a substep. It is hard to get specifics on money saved (initial papers were much more forthcoming) 15-853