Case Study: AirCrewRostering

Submitted: 20 Feb 2008

Operations Research Topics: IntegerProgramming

Application Areas: Rostering


Problem Description

Adapted from a real-world problem

An airline is trying to roster captains for 6 flights. The flight schedules are:


Only one captain is required for each sector, but a captain may be a passenger on a flight (this is called paxing). In addition to the six flights above the following flights are available for paxing and operate every 2 hours:


The following rules for shifts must be observed:

  • Shifts start and finish at a captain's home base;
  • The earliest start time is on Day 1 (0001 hours) and the latest finish time is on Day 6 (2359 hours);
  • Shifts are composed of blocks of work. Each block must be no more than 13 hours;
  • Captains must have at least 12 hours break between blocks. The exception is when a block consists only of paxing flights, then a 9 hour break is all that is needed;
  • There must be a 30 min break between sector changes.

There are 6 captains available for work, 2 based in Auckland (AKL), 1 based in Christchurch (CHCH) and 3 based in Singapore (SNG). Each captain is paid $1000 for each block of work (even if it is only a 45 min pax). Each captain's contract guarantees he/she will be paid for 3 blocks of work even if they perform less.

The airline wants to know what shifts the captains should fly to minimise the cost of covering the flights.

The airline is also curious if they can reduce the cost of their roster by using fewer pilots.

Return to top

Student Tasks

  1. Write a columnwise formulation to solve the Airline Rostering Problem. Generate feasible shifts for your formulation using any method you choose, be sure that your method generates all possible shifts. The spreadsheet airline_demo.xls shows some of the possible shifts. Solve the Airline Rostering Problem and write a management summary.

    Hint Using depth-first search or power sets in AMPL is difficult for this problem. Using a different programming language to generate the shifts, or generating them by hand using a carefully thought out method may be easier.

    What to hand in Your model file. A description of your shift generation method. Your management summary.

Return to top

Topic attachments
I Attachment History Action Size Date Who Comment
Microsoft Excel Spreadsheetxls airline_demo.xls r2 r1 manage 17.5 K 2008-05-07 - 12:56 TWikiAdminUser  
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r12 - 2009-07-23 - CameronWalker
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback