Submitted: 20 Feb 2008
Operations Research Topics:
Application Areas:
Contents
Problem Description
THE AIR CREW ROSTERING PROBLEM
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 has started an AMPL model, but given up:
FLIGHT_SCHEDULE.MOD
model;
set TODS; # T(our) O(f) D(uty) set = pilot schedules
set FLYS {TODS} within FLIGHTS;
param Blocks {TODS} integer >= 1;
param Base {TODS} symbolic within BASES;
They have asked you to complete their model file and write a data file and script file to solve their rostering problem.
The airline is also curious if they can reduce the cost of their roster by using less pilots. As a second deliverable, they have asked you to investigate this option.
Return to top
Student Tasks
STUDENT TASKS
This topic: OpsRes
> SubmitCaseStudy > AirCrewRostering
Topic revision: r5 - 2008-03-01 - TWikiAdminUser