Autumn 2011

Autumn 2011 Cover


Name Author

Rostering Optimisation Made Simple

Author: Dean Stewart, Managing Director, Betley Bridge Consulting

Crew Rostering Optimization Made Simple

It’s a case of aligning all of the inputs, says Dean Stewart, Managing Director, Betley Bridge Consulting; that and using a fair process

Rostering is the simple art of selecting which crew member to put on what flight. In its purest form, it’s a logistical question – ‘Which resource best matches my need, based on the rules and constraints I have placed on the puzzle?’ Most pilots would probably object to being called ‘a resource’, but the best rosters are produced when the constraints are applied absolutely equally to all resources, and this becomes more difficult the more human the resource gets – and when the planner is also a human. So we look to automate the process, after all, isn’t that what computers are designed for? The basic definition of what a computer program does is to carry out an instruction on a predefined set of data, subject to rules and protocols, to achieve a desired result. So putting a qualified and well rested First Officer on the Friday morning Tenerife should be the simplest act for the most basic of computers.

For this article we have made some assumptions. We will use airlines as the basic industry, and Captains to represent all crew members. The exact same solution applies to train drivers, ferry chefs, parole officers, university lecturers – anyone who’s working life is subject to timetables and different duties and rules. We will also assume that everyone is based in the UK, and works under vanilla CAP371 whose purpose is, in the words of the UK CAA itself, “[to] set a work pattern for flight crews and cabin staff designed to prevent the onset of fatigue, and yet allow an operator to pursue business interests.” We will also discuss union agreements and local arrangements and how they affect this.

What does Roster Optimization mean?

Rostering is a job conducted in several phases, and each airline seems to find a slightly different way of organizing its resources. Most companies have at least a planning and tracking section. The former organizes everything needed to construct the initial roster – basic data, vacation, requested days off, training requirements and the creation and maintenance of the rules. Members of the crew then receive their roster, and it becomes ‘published’.

Figure 1: A very basic rostering process

The tracking team – Pre-Ops, Crewing, Crew Control and Crew Tracking – then monitor changes and disruption and ensure, on the day, that flights go out with the right crew still on board. There are many more people than this involved in any sizable airline, whereas some small startups or business jet operators may have one person or a team combining all the roles. However the teams are set up, the individual steps remain fairly similar.

Defining optimization is not as simple. To a mathematician, and that is essentially what a computer programmer is, optimization means the absolute best result possible. And when dealing with mathematical problems of the type ‘What is the least number of x to achieve y?’ or ‘How should I arrange a sets of resources to ensure maximum coverage of b requirements?’ then the most efficient solution is not only the target, it is the only target. Computers don’t care whether resources do or do not have feelings.

With humans involved it becomes more complicated. Perfect solutions become impossible as soon as the first requested day off is added into the consideration. And then a new pilot needs more training than a returning one. And a long serving Captain has five days more vacation to take. So if we can’t make the roster absolutely efficiently perfect, what should we aim for? Optimization then moves away from the best solution, to the fairest. If you have seven flights a week to Sharm-el-Sheik and 10 Captains, then they cannot have one each. And even if you had seven of each, you could have a week’s leave or training and not be eligible for one: so we look for fairness over a longer period. One month is never enough, so most rostering teams will look for at least six months of balanced rosters. If Captain Smith has 17 flights to Sharm in that period, and Captain Jones has 16, it doesn’t look unfair. If Captain Evans has 11, then he has the right to question why.

utomation is not optimization. Flights can be stuffed onto rosters in a way that is legal, but without any balance or semblance of fairness. Rostering can be automated, but we need to be careful not to confuse an automated tool with an optimizing tool. Most rostering staff are not scientifically trained programmers. They nearly always have experience of managing rosters, and are able to glance at a roster and declare it ‘good’ or ‘bad’. We need to find a way to transfer that knowledge into binary so that computers can understand it.

Who has an interest?

The rostering team wants an easy life. They want to take the flights, put crew on them, and send out the results. Automation can greatly assist the rostering team, but if they have to pull apart the results to make them fair and add lifestyle changes, then the automation is pointless.

Crew members have an enormous interest – it is their lives being manipulated. It may be only a red blob on a Gantt chart, and it may count as one early duty and one less available standby, but to the crew member it means driving around the motorway at 0400 or missing Parents’ Evening or simply just another start at a bad time of day.

Unions have seen their powers diminish over the last 30 years but, in the UK at least, they remain very strong in the aviation sector. Most airlines now have scheduling agreements that sit on top of the basic rule set and restrict what can be done with crew members. Good airlines help to draft these agreements and set them up in partnership with the union, rather than waiting for the dispute and then having to accept unpalatable changes. A typical example would be the avoidance of rest periods between 18 and 30 hours long. This is quite acceptable under CAP371, but does not allow the crew member to rest properly between duties. Sleeping twice in a 24 hour period is not natural behavior, and the stresses of often being away from home, or having to drive at uncomfortable hours when tired is not pleasant. It can work in the company’s favor sometimes. For example CAP371 mandates a minimum of eight days off per month. Some airlines give pilots 10 or more days off per month, so why not offer them a guaranteed nine days off: more than they legally need, but less than they could have?

Pilot management has to deal with unhappy crew members. This usually falls into one of two patterns – either the crew member is told to stop whining and deal with it, or the rosterer is told that the series of duties is unfair, unworkable, or fatiguing. The man hours lost to aviation by Crewing Managers arguing with Chief Pilots on the merits of legal against niceness are uncountable. Also, there is a cultural difference between scheduled and charter operations, with the latter more likely to accept unpleasant working patterns on the understanding that there are usually less pilots so less flexibility, and the idea that the ‘favor will be repaid.’ A pilot moving from 20 years at a large scheduled airline to a medium sized charter outfit often has to dramatically realign their expectations as to what is a good roster. Crew management therefore wants fair and balanced rosters which take lifestyles and human factors into account so that their team stays happy and focused.

There is also a cost to operating the flying program. Sudden, dramatic costs occur when there are technical problems or disruption and you have to unexpectedly put 300 passengers in a hotel. Crew costs tend to be more insidious – they sneak up and surprise even the most experienced finance director. Crewing costs need to be budgeted for, and they need to be monitored and controlled. Lack of pilots in one base can quickly turn into thousands of pounds on taxis and hotels. Inefficient rostering can add more problems. And clever rostering, where crew patterns combine trips, save ferry flights or get aircraft back to base can save money too.

How do you optimize rosters?

Most of the work is done before any rostering starts.

Flights are built into ‘pairings’ or ‘patterns’ which create a series of duties. It could be one flight; it could be a combination of different flights and / or ground activities. Most systems today can create these pairings based on simple rules that the airline can edit – longest trips, most hours in day, most sectors in a day etc. – and check them against the rules to ensure they are possible.

Figure 2: The different inputs to rostering

These rules are created from basic CAP (Civil Aviation Publication) rules, with different local agreements layered on top. In addition some rostering departments add their own restrictions on top of even that. Making a roster with more restrictive rules gives more flexibility to make changes further on.

Crew data is assembled, and the program is told to look at a certain amount of historical data. This is to ensure that any new roster is assembled legally, and to ensure that any parameters that have been identified in terms of fairness have been taken into account. These parameters are the key to computers’ measuring fairness.

All systems contain predefined measures to balance. These are normally standard definitions of duties such as days off, early starts or night duties. A good system will allow the user to define their own labels – such as days which are more than 14 hours long; duties that include landing in a certain airport; weekends off; patterns longer than three days.

Figure 3: An example of rostering parameters

‘Block or Sprinkle?’ is a good question which relates to the two basic ways to approach rostering when using mathematics. ‘Blocking’ simply allocates duties to the same crew member until something being added to his roster makes him illegal. So in the example below Smith is given duties on days 1 -4, but needs the 5th day as a legal day off. So any duty added here would be illegal. As the next available pilot is Brown, he is given that duty.

Figure 4: Example of ‘Block’ approach to rostering

‘Sprinkling’ is different in that everyone is given a duty in turn. This produces a much fairer result than blocking, but is not as efficient as there could be a leave day or training duty on the roster when it is your turn for a flight, and the system simply moves on. Blocking covers the flying program much more efficiently, but is not so concerned with fairness. Many automated systems simply block the roster which covers the flying, but are in no sense optimized.

Figure 5: Example of ‘Sprinkle’ approach to rostering

So a system needs to combine the two approaches. It needs the fairness of sprinkling with the efficiency of blocking. This is normally achieved by adding weights or percentages to the requirements. However, by now there is a very complicated set of requirements that have been built up. In the example below we are now looking to meet the following requirements:

Figure 6: By now there is a very complicated set of requirements

  • Ensure all rosters are legal under CAP371;
  • Ensure all rosters comply with union rules or agreement;
  • Ensure that all pre-assigned training is honored;
  • Ensure that all pre-assigned vacation or days off are honored;
  • Ensure that any company rules are honored (for example new pilots flying together);
  • Try to cover all pairings with the correctly qualified crew;
  • Try to assign standbys as required;
  • Minimize and equalize number of days off on rosters;
  • Minimize and equalize number of weekends off;
  • Minimize and equalize long trips (voyages);
  • Minimize and equalize night flights;
  • Minimize and equalize trips to SSH which last more than 14 hours (SSH14).

It is impossible to meet every one of these aims. A true optimizing tool would just keep running until the machine died trying to find that perfect solution. We are looking only for the best available solution, so need to use the weighting to explain to the computer how to prioritize our requirements. The balancing of Weekends Off has here been given a weighting of 50% compared to Night Flights, which has been given 10%. So the program knows the penalty for not balancing weekends off is five times greater than that for not sharing night flights out fairly. The user can change these numbers, and play the system like a mixing desk. Raising the number of one means the priority of another must fall.

This gives us our ideal outcome, so now it is up to the computer to find it.

Figure 7: Balancing the selection process

And this is why it is necessary to simplify the process. Look up the ‘Hungarian Matrix’ on the internet and you will discover that the computer performs this task.

Don’t worry if you don’t understand a word of this – it is a consultant’s job to translate what you need into language that the programmer can understand.  As an airline decision maker you only need to judge the outcome.

Whatever program we use to run the rosters, we need to aim for a solution that is as complete as possible, and as fair as possible. Any solution which falls in the green section in the diagram (Figure 8) is acceptable – the further it moves to the top right the better. Anything which is deemed ‘unfair’ or ‘incomplete’ cannot be published. And a roster that is incomplete and unfair is simply not finished.

Figure 8: A matrix of rostering fairness and flight completion

Why should you use computers?

The simple answer is that it’s quicker. Hardened old rosterers will tell you that no machine can replicate what they do. And it’s true that given unlimited time and no interruptions, a hand written roster is very difficult to beat. But time and flexibility are key factors today. These days, even the largest legacy carriers are changing fleets, changing routes and attacking costs wherever they can. So there is no single perfect solution any more. I have seen rosters with office days which start with a simulator session and allow 17 minutes of travel back to the office (yes the rosterer drove it to check) and had union meetings scheduled for 3.15pm to finish at 4.45pm to allow an 04.45 report the next morning for a flight. Today, unions frown upon multi-duty days, making crew duty pairings even easier for computers to construct.

And the savings are made by constructing, comparing, destroying and rebuilding the solution over and again. Calculations are instant, and a workable solution to any roster problem can usually be reached in less than an hour: fully costed and with full reporting. And it is no great hassle to throw it away and start again when the rules, schedule or personnel change.

Automation is a word that provokes a human response – almost challenging the machine to do a better job than the specialist. This emotional response should be removed by using the term ‘assisted rostering’. It needs to be remembered (and widely advertised) that the optimizer is there to help and assist the rostering team, not replace them. The last few flights to be squeezed in, the sudden extra training requirements, the pilot grounded immediately… these are all problems with which the computer can help, but that need the oversight of a seasoned professional. The assistance of rolling out the pairings, sprinkling standbys where needed, checking legality and displaying the results instantly gives the rostering team a chance to deal with the most complicated and reactionary airline.

Reporting and Analysis Tools

Management information systems (MIS) are becoming increasingly common, and are potentially the most underused, neglected, and misunderstood part of any system. Few airline decision makers really understand the sheer amount of data they have at their fingertips. Any software company working on a database can present this information simply and in any number of ways.

Decision makers should be checking and running reports before problems occur. Why does the Friday flight always go late? Look at the data, and take action to rectify any trends before next Friday. And the same is true for the rosterers.

Now the planning team has more time, they can study the numbers; they can check that the distribution of duties is fair and make any necessary adjustments; they can pay more attention to crew bids and requests, and deal with more management and commercial requests. Scenarios can be run, and management can be shown the reasons for turning down requests, rather than it seeming to be an opinion that the request isn’t possible.

Aviation is a long way behind some other industries in using the information it collects. Marketing departments understand the value of the data they hold, but Operations, Crewing and Crew Management have yet to grasp the power of the numbers they own. Supermarket loyalty cards can predict what you will want for dinner next week and send you a coupon before you know you want it; airlines sit on enormous volumes of data and ignore most of it.

Managing Optimization

The new rostering systems require a new approach to running rostering departments. There is a piano in the corner and you need someone who can play it. You need an understanding of the rostering process, but you do not need to be an expert. An appreciation of how the optimizer works is just as important, but you do not need to be a programmer. You need to understand the reports and statistics that are generated, and you need to learn how to adapt the system to satisfy the needs of the other rostering team.

Checklists become invaluable, to remember which groups have been run, to which parameters, and the stage they are at in the process. Communication becomes more important, as management begins to understand how much more information you can produce and starts to take more of an interest in what the previously mysterious rostering department are up to.

As more of the system becomes automated, at the same time crew bidding can become increasingly complicated. Most systems start with days off and asking for short trip or long trip preferences. As complexity builds crew can request individual pairings, a run of duties and in some systems an entire roster period of duties. If the airline has robust, accepted and logical rules, then there is no limit to how much of the process can be automated.

What if I don’t optimize my Rosters?

There really is very little point in not optimizing rosters. All respectable systems today offer a form of optimization, and the airline can decide how far down the automation route they travel. Using optimization tools to distribute the bulk of the flying is not diminishing the planning department, and should be used by management to get more from their planning team.

Crew will appreciate the extra tools and control that they are able to, exercise. The ability to bid, to then more often get what they bid for, and to know that the rosters are produced fairly and without prejudice, greatly increases crew morale.


Adoption of optimization in the aviation business has not happened at the same speed as in other industries. The aviation industry has been slow to embrace technology in the Operations world. The ops team is moving assets worth $20 or $100 million dollars around, using technology based on RAF wall boards from the Second World War.

Systems have been updated and refined, but always on the same model of Gantt charts and yellow stickers for crew roster changes. There remains a natural suspicion among some that computers cannot share out flights as well as a planner who has been doing it for 30 years; and yet, the same people casually accept that an aircraft can carry out an auto-landing without any human input. Systems are designing versions for the iPhone or onboard handhelds, but they are still just smaller (and often ‘read only’) versions of the big system. Software providers have a duty to provide easy to use solutions that can be applied in the real world – less mathematics in the GUI (graphical users interface) and more innovation in how the user works the optimizers.

Optimization is a good first step that seems obvious. If there is one thing computers are better at than humans, it is logistics challenges of allocating duties to a group of resources who are constrained by logical rules.

Comments (0)

There are currently no comments about this article.

To post a comment, please login or subscribe.