CaseStudyForm
Title AirCrewRostering
DateSubmitted 20 Feb 2008
CaseStudyType DIYCaseStudy
OperationsResearchTopics

ApplicationAreas

ProblemDescription THE AIR CREW ROSTERING 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.

ProblemFormulation The formulation...
ComputationalModel The computational model...
Results The results...
Conclusions In conclusion...
ExtraForExperts

1. Add a ??? LINK ?? columnwise formulation for finding a pilot roster `flight_schedule.mod`.

What to hand in Your completed `flight_schedule.mod` file.

2. Design a system/process for generating all possible Tours of Duty (TODs). Generate the TODs to create `flight_schedule.dat`.

What to hand in A brief (less than 1 page) description of your system/process. Your `flight_schedule.dat` file.

3. Solve The Air Crew Rostering Problem. Be sure to investigate the possibility of less pilots.

What to hand in A management summary of your solution.

1. The airline had hired another AMPL consultant to generate TODs automatically. She had almost finished before going on parental leave. She has left a multitude of files in a zip archive:

All the files are complete except `flight_schedule.run` (there is an incomplete version in the archive). Complete `flight_schedule.run` and run `generating_flights.run` to solve The Air Crew Rostering Problem.

What to hand in Your completed `flight_schedule.run` file. A comment on whether your solution from `generating_flights.run` agrees with your solution where you generated the TODs yourself.

Topic attachments
I Attachment History Action Size Date Who Comment
jpg flights.jpg r1 manage 43.7 K 2008-02-20 - 10:00 LaurenJackson
jpg recurring_flights.jpg r1 manage 23.8 K 2008-02-20 - 10:01 LaurenJackson
Edit | Attach | Watch | Print version |  | Backlinks | View topic | Raw edit | More topic actions...
Topic revision: r7 - 2008-04-02 - TWikiAdminUser

 Home OpsRes Web P View Edit Account
 Edit Attach
Copyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback