Domestic Cabin Crew Rostering For Air New Zealand

39
Domestic Cabin Crew Rostering
For Air New Zealand
Paul Day
D epartm ent of Engineering Science,
University of A uckland.
A BSTRACT
The construction o f a cabin-crew roster for A ir New Z ealand N ational (dom estic) flight
services that satisfies rostering constraints and award regulations is a com binatorially complex
problem. In this paper we describe the problem and introduce an effective optim isation-based
solution method.
The rostering problem involves the allocation o f various 'duties' to each crew m em ber over a
fourteen day roster period. The overall solution approach is to generate m any 'lines o f work'
for each crew m em ber over a 'sub-roster' period o f say five days and then solve a set
partitioning optim isation to determ ine an optim al feasible sub-roster. These two steps of
generation and optimisation are repeated for each subsequent roster period until a full legal and
feasible roster is constructed for the fourteen day period. The use o f sub-rosters reduces the
com binatorial com plexity resulting in problem s that can be solved efficiently. The method
leads to the efficient construction of good quality legal rosters.
1. IN T R O D U C T IO N
Any organisation with a large num ber o f personnel faces the problem o f efficiently and
productively utilising the services o f its staff. This generally involves deciding the tasks or
duties which each m em ber o f the organisation will perform over some period o f time. The
airlines problem involves the planning (or scheduling) o f flights and the rostering o f crew
(i.e. pilots, co-pilots and cabin crew) to these flights and miscellaneous duties.
The rostering problem involves the allocation o f the generic dudes created in the planning phase
to individual crew members. Two distinct m ethods o f solution can be identified. An approach
known as Preferential Bidding is com m only used. In this m ethod the crew m em bers bid for
particular duties. The duties are then allocated usually on the basis o f crew rank seniority.
A lternatively an A llocation m ethod can be applied. The allocation m ethod involves the
assignm ent o f work to the crew m em bers so that conditions o f aw ards and agreem ents are
satisfied and the crew m em bers are used as productively as possible. Such an approach offers
the possibility o f optimising the equitability o f the allocation of work.
For large airlines both the planning and rostering problem s can be very com plicated and even
for small airlines the problems are extremely difficult to solve. An efficient solution procedure
for both the planning and rostering problem s will result in better utilisation o f the airline's
resources.
A Third Professional Project by Kunath (1984) addressed the planning problem by producing
m any different duties and then used a zero-one integer program m ing model to select the best
duties. Subsequently a production system has been developed at Air New Zealand to perform
this task (Ryan and Garner, 1985).
At present Air New Zealand uses an allocation method for constnicting the international (or
'longhaul') cabin crew rosters. An optim isation based system called 'Condor' was developed
by Ryan (1988). In this project we consider a sim ilar system for rostering d o m estic (or
'shorthaul') cabin crew ranks. It will be show n that these tw o problem s have significant
differences in the structure o f the mathematical model. This paper describes a method of solving
the domestic cabin crew rostering problem.
Air New Zealand's dom estic service covers various destinations within 4000 kilom etres of
Auckland. It includes flights between domestic bases (Auckland, W ellington and Christchurch)
40
as well as destinations such as the Chatham s, Invercargill and Tonga. These flights are most
often in 737 aircraft. At A ir New Zealand the domestic roster covers a fourteen day period and
each crew m em ber must be allocated a sequence of tasks over this roster period. The cabin crew
consists o f two ranks: Pursers and Juniors (or Flight Attendants) and a separate roster is built
for each rank and base. The crew com plem ent required on each flight depends on the type of
aircraft and destination.
1.1 Line o f W ork
A line o f work gives a description o f the duties which a particular crew m em ber is allocated on
each day o f the roster. For exam ple, the line o f work for the first crew m em ber m ight have the
form shown in FIG URE 1.
Day
Purser
1
2
3
4
5
No. 1
0
B213
D31
P156
B828
where
B213
C13
0
-4
=
=
=
-
737 flight
Call duty
Day off
Leave
6
..
C13
--
•
10
11
12
13
14
-1
-1
T85
-4
-4
D31 = Ground duty
T85 = Training duty
-1 = Crew requested day off
FIGURE 1. Line o f W ork
A 'duty' is the sm allest daily assignable piece o f work, and it is usually made up o f several
consecutive flights. A duty also includes any special tasks to be assigned such as training or
reserve duty. These duties are constructed in the planning phase previously discussed. A duty
is identified by a duty num ber along with an associated 'duty character' which indicates the type
o f duty. A 'tour o f duty' is a sequence o f connected duties over two or more days that depart
from and return to the crew m em ber's home base but have overnight stays at other ports in
between. For the dom estic roster, tours of duty are generally two days in length but are much
less com m on than single day duties. Each sequence o f duties resulting in a line o f work must
satisfy the conditions o f awards and regulations. A roster is made up o f one line o f work for
each crew member.
1.2 T he R osterin g P roblem
On each day o f the roster there are a set o f people available to work (crew) and a set o f tasks
that m ust be perform ed (duties). The objective is to assign crew m em bers to carry out the
scheduled duties over this period so that all of these duties will be performed. It is not possible
to use an identical roster for each fourteen day period since there is no cyclic structure to the
duties that m ust be performed. At present Air New Zealand has a team o f rosterers to construct
each roster manually. Due to the complexity o f the rostering problem this is a difficult and time
consum ing task.
To be o f practical use a roster must be both legal and feasible. A legal roster is one in which the
sequences o f duties do not violate any union regulations which place conditions on working
and rest times. A feasible roster is one in which all o f the duties are covered and each crew
m em ber perform s exactly one duty each day (i.e. rostering constraints).
As well as the union rules and rostering constraints, the roster building process m ust also take
into account pre-assigned or 'skeleton' activities w ithin a line o f work for each crew member.
As the name suggests, these skeleton duties (such as days off, crew requested days off, leave,
training o r m eetings) are allocated prior to the rem aining duties and cannot be altered. The
remaining duties m ust be rostered around these skeleton duties. W e assume that the preparation
o f these skeleton rosters is perform ed manually. The m ost im portant feature o f the skeleton
roster is the allocation of days off which is subject to com plicated union rules. This leads us to
m ake a distinction betw een the two problem s to be solved. Section 2 considers the initial
problem o f duty allocation w hich assum es that days o ff are included in this manually
constructed skeleton roster. Section 3 considers the second problem o f days off and duty
41
allocation which assum es that days o ff are not included in the skeleton roster and involves
allocating days off prior to the allocation of duties.
The current m anual technique used to solve the rostering problem can be very complicated and
m any difficulties m ay arise in actually com pleting a feasible and legal roster. Also there are
difficulties in the subsequent checking of the m anual roster for feasibility. The need then for
some computational tool aiding the rostering process is very clear.
2 DU TY A LLO C A TIO N
The initial problem is duty allocation w'here we are given a skeleton roster in which the days off
have already been manually allocated.
2.1 C om b in atorial Size
The first attempt to solve this duty allocation problem was m ade by M ueller (1985). Mueller's
approach involved generating m any legal lines o f work for each person over the fourteen day
roster period. He then used a zero-one integer program m ing m odel called the set partitioning
model to find an optimal and feasible roster from all of these lines o f work. M ueller found that
this problem was com binatorially intractable and his attem pt to solve it using an integer
program m ing m odel was not successful. In his report M ueller suggested that an alternative
method would be to construct a fourteen day roster by linking the solutions o f several 'subrosters' each consisting o f three or four days duration. This w ould provide for an overall
reduction in the combinatorial size o f the rostering problem. This is, in fact, the approach which
this paper describes. It should be noted that the international 'C ondor' system previously
discussed uses the same integer program m ing m odel but does not have the enorm ous problem
size that is characteristic o f the dom estic rostering problem . This is prim arily because tours of
duty for international flights are usually much longer (som etim es over sixteen days) and there
are m any less activities to be allocated in a tour o f duty. T his m eans the com binatorial
complexity of the international rostering problem is much less critical than that o f the domestic
roster.
2.2 R oster B uilding P rocess
The method o f solution for the dom estic cabin crew duty rostering problem consists of three
phases (shown in FIGURE 2). The first phase is to 'generate' m any legal and feasible lines of
work for each individual crew m ember. The second phase uses the set partitioning m odel to
choose one line o f w ork for each crew m em ber in such a way that all o f the rostering
constraints and union rules are satisfied. This is solved by using the ZIP integer program m ing
package (Ryan, 1980). The third phase involves the linking and interaction o f the first two
phases so that several sm aller sub-roster problem s are solved rather than the single fourteen
day roster.
3. INTERACTION
Solve several sub-rosters
2. OPTIM ISATION
FIGURE 2. Three Phase Process
A feasible sub-roster is found for the first n days using generation and optimisation. An attempt
is then made to find a sub-roster for the next n day period. If no feasible sub-roster can be
constructed then one day is stepped back and a new attem pt is made to find a feasible sub­
roster on the earlier sub-roster period. This 'stepping back 1 technique is intended to remove the
infeasibility by rem oving duties which may be restricting feasible continuation into the next
sub-roster. This process of solving sub-rosters and stepping back is continued until the full
42
fourteen day roster has been constructed. FIG U RE 3 illustrates a possible roster building
process when n equals six days.
Day
1 2 3
4
5
6
7
8
9
10 11 12 13 14
Crew No. 1
Crew No. 2
Solve for
6
days
■
— — — — —
Try next 6 days,
No feasible solution,
Step back one day
Still no solution,
____ ___ ___ ___ Step back one day
p H p i Feasible solution exists
Feasible solution found
for last sub-roster
are completed days
FIGURE 3. Example solution procedure
U sing this m ethod we will attem pt to produce feasible good quality rosters in a reasonable
amount o f time.
2.3 G en eration
The first phase in the solution of the cabin crew duty rostering problem is to generate legal and
feasible lines o f work for each crew m em ber over a sub-roster period. This generator phase
uses data supplied by A ir New Zealand including crew availability, each crew m embers
skeleton line o f work, and required duties to be allocated. From this data m any lines of work
can be generated for each crew member.
The lines o f work are generated separately for each individual crew m em ber using a technique
based on 'next availables' described by Ryan (1989). T his is basically an enumeration method
for finding all legal and feasible com binations o f duty allocations for each crew member.
Flowever, the com binatorial size is still significant even though we are solving sm aller sub­
rosters periods. Instead o f complete enumeration, a subset o f the complete set o f lines of work
must be chosen carefully to ensure feasibility in the optim isation stage. Two different 'filtering'
techniques are used. The first is a lim ited subsequence filtering technique sim ilar to those
described by Ryan and Falkner (1988) and the second is a restriction on the types o f lines of
work which will be considered feasible. These filtering processes used in combination are most
important in reducing the problem size to practical levels.
It is very difficult to describe how good a line o f w ork is in num erical terms but we need to
develop some costing scheme which will lead to the construction o f equitable rosters. The cost
o f a line o f work is defined by the num ber o f hours it deviates from the average expected work
hours.
The generator's purpose, therefore, is to find a certain subset o f all the possible legal lines of
work for each person to allow reasonable optim isation time but still ensure feasibility. An
intelligent choice of lines o f work to keep will lead to the construction of good quality rosters.
43
2.4 O ptim isation
The second phase o f the domestic cabin crew duty rostering problem chooses one line of work
for each crew m em ber in such a way that all o f the duties are covered in a sub-roster period.
The rostering problem can be m odelled m athem atically using a generalised version o f the set
partitioning model. Assum ing there are p crew m em bers and t duties, the m odel is naturally
partitioned into a set of p crew constraints, one for each crew m em ber in the rank, and a set of t
duty constraints corresponding to each duty which m ust be covered. The variables o f the
problem can also be partitioned to correspond to the lines o f work for each individual crew
member. The rostering set partitioning problem can be written
min z = c^x ,
Ax = b,
xi = 0 or 1
where A is a 0-1 matrix partitioned as
_
C i C 2 C 3 ....... Cp
L j L2 L3 ....... Lp
and Q = e ie ^ is a {p by n 0 matrix with ei the z'th unit vector and e ^ = (1,1,...,1). The n\ lines
of work for crew member i form the columns o f the (f by n\) matrix Li with elements ljk defined
as ljk = 1 if the klh line o f work for crew m em ber i covers the yth duty, and ljk = 0 otherwise.
The right-hand-side vector b is given by bi = 1, i = 1,...,p and bp+i = rj, i = l,...,r where rj is
the num ber o f crew required to cover the z'th duty. The solution to the set partitioning model
therefore selects one line of work for each crew member to cover all duties and minimises costs
to create a feasible and optimal sub-roster.
T his set partitioning problem is solved using the ZIP (Z ero-one In te g e r P ro g ra m m in g )
optim isation package. ZIP is designed to perm it the user to have influence on the solution
process and be able to intervene and alter the model at most stages o f the process. This has the
advantage that the special structure of the real-life problem can be accomodated, allowing more
efficient optimisation. ZIP firstly solves a linear programming problem using the primal revised
sim plex m ethod to produce a fractional solution. The fractional solution is then forced to
integrality using the branch and bound approach. The dual sim plex m ethod is used at each
branching step to return the resulting infeasible linear program s to feasibility. Upon termination
of branch and bound we have an integer solution and hopefully a feasible sub-roster.
W ithin the linear program a num ber o f techniques such as partial pricing by crew m em bers
were used to im prove optim isation. To resolve the problem s o f degeneracy the m ethod of
'right hand side perturbation' used by Ryan (1988) was found to be sufficient.
The m ost significant special technique applied in branch and bound w as the use o f the
constraint branch method (Ryan and Foster, 1981). This m ethod does not branch on a single
variable but instead on a set of variables. This results in much im proved and more efficient
optimisation. During branch and bound we also used a depth first strategy to search the tree and
we terminate the optimisation process if an integer solution is found within some percentage of
the optim al linear program objective. The roster building process is more concerned with
feasibility than optim ality; the main objective is the construction o f feasible and legal rosters
rather than building the 'best' possible roster.
Once an integer solution for a sub-roster is found we can now continue for the next sub-roster
if feasible. If infeasible, we can regenerate m ore lines o f work (targeting ones which will
overcome the infeasibility), or we may be required to step back one day if regeneration does not
overcom e the problem . This process continues until a com plete fourteen day roster has been
built.
44
2.5 R e su lts
The three stage process described above has been used to solve m any rosters from late 198S
through to early 1992. Over this period the actual problem has changed in various aspects,
causing many alterations to be made to the programs within the three phases.
The Auckland juniors rank is the largest problem to be solved and in that sense it provides a
good illustration o f the perform ance o f the method. In this problem there are 79 crew member
and about 600 duties to be rostered over the fourteen days. Sub-roster periods o f five days
were used and a lim it o f 500 was placed on the num ber o f generated lines o f work for each
crew m em ber. Each set partitioning optim isation problem had 20,000 to 50,000 variables and
required approximately 4000 iterations to find the linear program solution and searched through
30 to 50 nodes for branch and bound to find the integer solution. The solution procedure of
solving sub-rosters and stepping back was as follows:
Solve Days 1 to 5 - Feasible - Solve Days 6 to 10 - Infeasible, Step Back - Solve Days 5 to 9 Feasible - Solve D ays 10 to 14 - Infeasible, Step Back - Solve Days 9 to 13 - Feasible Solve Day 14 - Feasible - Complete Roster.
The entire roster was solved in about 1 hour on a Sun Sparc 2 W orkstation. This compares to a
num ber o f days required for the manual solution. Data from many different roster periods have
been used and experience shows that the Auckland juniors rank takes around 1 hour to solve;
A uckland pursers (40 crew m em bers) takes from 10 m inutes to 30 m inutes to solve. Other
bases (W ellington and Christchurch) generally are quicker to solve as the rank numbers are not
so large.
A major advantage of the described method compared to the manual approach is in the solution
time. The time to construct a com puter generated roster is substantially less than the current
manual approach. In practice this would allow easy m anipulation and alteration o f rosters,
which is not possible using manual rostering.
Once a roster has been completed it can be checked for errors using an error checking program
from A ir New Zealand. This program also reports w arnings if any union rules are close to
being violated. The report from the roster checking program can be com pared to that from the
manual roster. The com puter generated rosters result in an error report with no errors (as with
the m anual error report) and alw ays fewer warnings. In fact, if it is at all possible (i.e. not
caused by skeleton duties), the com puter generated roster has no warnings at all. This is almost
never the case for m anual rosters. Zero warnings greatly increases the robustness o f the roster
as all crew m em bers are w orking well away from the union regulation lim its. Overall the
com puter generated roster error reports were very encouraging.
This error report alone how ever is not necessarily a good m easure o f how the com puter
generated rosters com pare to the m anual rosters. A lot o f time has been spent improving the
generation phase in order to construct better quality rosters. A large num ber of 'Roster Building
G uidelines' and 'C rew Satisfaction G uidelines' (variety o f w ork, equitability, history
considerations, etc) have been developed and included in the generator stage. Since it is
practically infeasible to satisfy all these guidelines in a m anual system this has lead to computer
generated rosters always being superior to the corresponding manually constructed rosters.
3. DA YS O FF AND DU TY A LLO C A TIO N
An efficient optim isation method for solving the problem o f days off allocation has also been
developed. This problem is one in which the skeleton roster now contains only crew requested
days o ff and pre-assigned w ork duties. A ttem pting to solve both allocation problem s
sim ultaneously by treating days off as additional duties in the line of work generation phase
proved to be impractical due to an obvious explosion in the combinatorial size o f the problem.
This im plied we needed to com pletely separate the days off allocation and the duty allocation
into two distinct steps. We now consider this particular problem and develop an optimisation
m ethod for the equitable allocation of days off where each crew m em ber must have five days
off over the roster period. This is a difficult problem as there are a num ber o f complicated rules
governing the allocation o f days off.
45
3.1 M ethod o f Solu tion
Firstly a skeleton roster containing days off (with crew requests and pre-assigned duties) is
constructed for the entire fourteen day roster period. Secondly, given this skeleton roster (or
Days Off Roster), we have a problem identical to the initial problem of duty allocation described
in section 2. Therefore we can use the same procedure already outlined to allocate duties to this
days off roster. FIG URE 4 illustrates these two distinct steps and outlines the m ethod of
solution.
Step 1. Days Off Allocation.
Generate possible 'Days Off
Lines of Work' for each crew
m em ber over entire 14 day roster.
Select one 'Days O ff Line of
Work' for each crew member.
Step 2. Duty Allocation (given above 'Days O ff Roster’).
—
Thr ee phase process using sub-rosters.
FIGURE 4. Two distinct steps
As step two o f this method has already been fully discussed it rem ains to describe the days off
allocation step. This step uses a two stage process. Firstly, m any possible 'days off lines of
work' are generated for each person over the entire fourteen day roster period. A typical 'days
off line o f w ork’ consists o f five days off and nine 'free' days to which work duties will
ultim ately be assigned. Secondly (using a sim ilar optim isation m ethod as for duty allocation),
one ’days off line of work' is selected for each crew m em ber so that a feasible 'days off roster'
is found that satisfies all o f the days off rules and leaves the required num ber o f free spaces
available on each day for duty allocation. Once a good quality days o ff skeleton roster is
constructed the next step, duty allocation, is performed to construct a complete feasible roster.
3.2 D ays O ff G eneration
The first stage in constructing a days off skeleton roster is to generate m any possible 'days off
lines o f work' for each person over the entire fourteen day roster period. T he days off
generation m ethod is to go through every possible com bination o f allocating five days off to
each crew member. The num ber o f union regulations governing the allocation o f days off result
in only a lim ited num ber o f days off 'structures' that can legally be used within a line of work.
These legal days off structures are shown in FIGURE 5:
0-0
0
0
-
0
0
- 0
- 0
0
0-0
- 0
o
o -o
o
o o
o
o
( or 2 - 2-1 )
(or 3 - 2 )
Desirability
(o r 3-1-1 )
( or 2 -1-1-1 )
FIGURE 5. Days O ff Structures
The 2-2-1 structure m eans a 'days o ff line o f work' consisting o f two breaks o f two days
duration and one break o f one day duration anywhere within the line o f work. The fact that
there are only a lim ited num ber o f days off structures results in these problem s not being
com binatorially large. So we can in fact generate all possible 'days o ff line o f w ork’
combinations for each crew member.
Each ’days off line of work' generated is given a cost according to its ranking in the days off
structures table (2-2-1 being most desirable, 2-1-1-1 being least desirable). This cost can now
46
be used by the optim isation stage to find the days off roster m axim ising the num ber of 2 - 2 - 1
days off structures.
3.3 D ays O ff O ptim isation
The second stage in constructing a days off roster is to select a single 'days off line o f work'
for each crew m em ber so that a com plete feasible days off roster can be built. This days off
roster m ust have the required num ber o f available spaces each day so that all o f the duties can
be allocated. To do this an approach very sim ilar to the duty allocation optim isation step is
used. Once again the m odel is the set partitioning form ulation except now the duty partition is
replaced by a 'day' partition containing fourteen constraints. Colum ns in the day partition
correspond to 'days off lines o f work'. The right-hand-side of the day partition is chosen so as
to leave the required number of free spaces for duties to be allocated. Again ZIP is used to solve
this problem with only slight m odifications needed from the duty optim isation program. Once
this days off roster has been constructed the duty allocation procedure described in section 2
can now proceed and complete a feasible roster.
3.4 R e su lts
The problem o f finding a days off roster is solved in a very fast time, in fact less than one
m inute is needed for both the days off generation and the days off optim isation to find a
solution. Typically, an A uckland juniors run would include 80 crew m em bers all o f whom
would generate between one and 400 allowable 'days off lines o f work' (5500 to 8500 total).
The corresponding optim isation runs would normally be naturally integer. The days off rosters
constructed by this process are always better than the manual ones in terms o f more 2 -2 - 1 days
o ff structures and less 2-1-1-1 days off structures. A num ber o f 'Days O ff R oster Building
Guidelines' are also included to ensure days o ff are distributed equitably (especially weekend
days off). In term s o f these m easures the constructed days off rosters are always superior to the
m anual rosters.
In our experience it has alw ays been possible to allocate duties around an optim ised days off
allocation. The complete duty rosters constructed using the optimised days off allocation lead to
very favourable results in terms of the error reports and quality checks. They were consistently
better than the corresponding duty rosters constructed using m anual days off allocation in all
aspects.
4. C O N C L U S IO N S
Using the techniques described we have managed to construct high quality rosters for domestic
cabin crew in a reasonable amount of time despite the computational complexity associated with
the application. The high quality o f the rosters reflects the requirem ents and expectations of
both m anagem ent and the aircrew at A ir N ew Z ealand. W ork associated with the
im plem entation o f this rostering system is currently being undertaken within the company.
Finally, there is also a strong possibility that these techniques will be extended to solve the
domestic flightdeck rostering problem.
5. R E F E R E N C E S
Kunath, M. (1984). Air Crew Scheduling for Air New Zealand. Third Professional Project in
Engineering Science, School of Engineering, University o f Auckland.
M ueller, M. (1985). Air Crew Rostering for Air New Zealand. Third Professional Project in
Engineering Science, School of Engineering, University o f Auckland.
Ryan, D.M. (1980). ZIP - A Zero-One Integer Program m ing Package for Scheduling. Report
C.S.S 85, A .E.R.E. Harwell, Oxfordshire.
Ryan, D.M. (1988). Air Crew R ostering. Proceedings o f the 24th Annual Conference of
O .R .S .N .Z .
Ryan, D.M. (1989). The Solution of Massive Generalised Set Partitioning Problems in Aircrew
Rostering. Submitted to the Journal of the Operational Research Society.
Ryan, D.M. and Foster, B.A. (1981). An Integer Program m ing Approach to Scheduling.
Com puter Scheduling of Public Transport. North-Holland, Amsterdam.
Ryan, D.M. and Garner, K.M. (1985). The Solution o f Aircrew Scheduling Problems for Air
New Zealand. Proceedings of the 21st Annual Conference o f O.R.S.N.Z.
Ryan, D.M. and Falkner, J.C. (1988). On the Integer Properties o f Scheduling Set Partitioning
M odels. Eur. J. Opl Res. 35.