Flight Operation and Crew Scheduling
Flight Operation and Crew Scheduling
net/publication/222519235
CITATIONS READS
89 3,686
2 authors:
All content following this page was uploaded by Claude philippe Medard on 04 December 2018.
http://www.elsevier.com/locate/permissionusematerial
European Journal of Operational Research 183 (2007) 1013–1027
www.elsevier.com/locate/ejor
py
a,* b,1
Claude P. Medard , Nidhi Sawhney
co
a
Carmen Systems AB, Odinsgatan 9, Gothenburg 411 03, Sweden
b
13786 Rodsvagen, Odsmal 44496, Sweden
al
Abstract
Crew scheduling problems at the planning level are typically solved in two steps: first, creating working patterns, and
on
then assigning these to individual crew. The first step is solved with a set covering model, and the second with a set-par-
titioning model. At the operational level, the (re) planning period is considerably smaller than during the strategic planning
phase. We integrate both models to solve time critical crew recovery problems arising on the day of operations. We
describe how pairing construction and pairing assignment are done in a single step, and provide solution techniques based
rs
on simple tree search and more sophisticated column generation and shortest-path algorithms.
2006 Elsevier B.V. All rights reserved.
pe
Keywords: Airlines; Decision support systems; Time critical crew scheduling; Pairing and rostering integration; Column generation
The airline industry has been a rich source of table is taken as input to form sequences of flights,
operations research problems, mainly due to the known as pairings or trips. The timetable generally
combinatorial nature of the problems. Typically spans a period of 4–6 weeks or one calendar month.
the planning problem involves creating lines of The main objective in this step is to use the mini-
o
work referred to as rosters for aircraft and crew. mum number of resources (crew) to schedule (cover)
The crew rosters consist of activities that can be fly- the complete timetable. Andersson et al. [1] and
th
ing, ground duties, training, free days, and personal Vance et al. [8] provide comprehensive discussions
activities. The crew planning process usually decom- on the pairing problem.
poses into two processes. In the second process, known as rostering, the
Au
0377-2217/$ - see front matter 2006 Elsevier B.V. All rights reserved.
doi:10.1016/j.ejor.2005.12.046
1014 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027
One reason for this problem decomposition is the can undergo several modifications in order to
obvious combinatorial explosion that would occur ‘‘maintain’’ consistent rosters for the current month.
if we were to look at the possible rosters that can In this process, one has to undo part of the work
be composed directly from flights instead of pair- done during the pairing stage, say due to a flight
ings. The second reason is that the rules, which need cancellation or delay making the original pairing
to be followed at the time of planning, themselves impossible for the crew. So now the problem takes
fall into two broad classes: the original form, assigning flights to crew in a con-
sistent manner. All flights are still required to be
py
• Pairing rules, which govern flight connections, assigned to crew through legal pairings. In the con-
working days (duties), night-stops and duty text of day of operations, solutions must be found
combinations. within 1–5 minutes. When re-planning for the cur-
• Roster rules with a larger range of influence. rent month, solutions must be found within 15–
co
Some examples of these rules are 20 minutes.
Rules limiting the number of hours the crew is Finding efficient ways of solving crew problems
allowed to work in a specified period of time. occurring on the day of operations has been an
Some of these might be applied on a rolling active area of research. Lettovsky [5] first proposed
basis from week to week or month to month. a Bender’s decomposition model that integrates all
Rules ensuring that the crew is qualified for three areas of resource management—Aircraft,
al
the assigned pairing. These rules typically crew, and passenger. Computational results were
depend on the aircraft, airport of the pairing provided only for the sub-problem dealing with
and the language, visas requirements for the crew pairing recovery. Yu et al. [12] and Wei et al.
on
crew. [10] describe a successful implementation of their
‘‘crew solver’’, also a pairing recovery module.
A comprehensive overview of the rules in roster- These works support a two step approach to solve
rs
ing is given in Kohl and Karisch [4]. The third and the crew recovery problem. Broken pairings are
particularly important reason to this two step repaired and new ones are built to cover unforeseen
approach is that the desired qualities in a ‘‘good flights. However such pairings may not necessarily
pe
solution’’ to the overall problem are partly based fit in existing individual crew rosters. Models that
on cost. The other desired qualities required in the address more specific crew member information
solution come from the aspect of human resource are first discussed in Lettovsky [5] as the ‘‘crew
management. The pairing process considers all tan- member recovery problem’’ and in Stojkovich
gible costs associated with the operation of a given et al. [7] who provide first computational results.
flight schedule. In the rostering process, on the other We integrate the pairing and rostering models
hand, the social quality of the rosters is also given used in planning, and apply a generate and optimize
r's
consideration. For rostering the costs model the technique that incorporates both pairing construc-
weights attached to various aspects of the desired tion and pairing assignment in one step. This direct
solution, both for individual rosters and for the glo- approach is made possible by a new look at the
o
bal solution. This ‘‘planned’’ solution is then pub- mathematical models and because limiting the
lished to the crew, usually a few weeks in advance, recovery time period reduces the size of the original
th
with the knowledge that the schedule will be modi- problem. In short, given a (possibly sliding) recov-
fied later to accommodate the changes that occur ery time window, we do flight-based rostering sub-
at the time of operation. ject both to pairing and rostering rules, including
Au
The subsequent process that takes place at the those additional multi-roster requirements, i.e., con-
operational level is the crew recovery process, also straints that apply to more than one roster which
referred to as ‘‘roster maintenance’’ or ‘‘tracking’’. model requirements imposed on groups of crew
The problem at this step is to incorporate modifica- members.
tions arising due to changes in flight schedules, air- We start in Section 2 by analyzing the original
craft and crew availability, while maintaining a pairing and rostering planning problems. Section 3
feasible roster solution that affects as few crews as formulates the crew recovery problem as the
possible. This process starts right after publication flight-based crew rostering problem. Two solution
of rosters and continues right up to the day of methodologies are compared within a generate
operations. During this period the published plan and optimize framework, one based on pure tree
C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1015
search, the other inherited from the pairing guarantees that each flight is indeed fully covered,
approach that is based on reduced cost k-shortest albeit with different pairings arising from each
paths. The computational results are tabulated in sub-schedule. We note immediately the consequence
Section 4 followed by conclusions and future work. of slicing all [1/1/0//2/2/0] flights into [1/1/0//0/0/0]
and [0/0/0//2/2/0]: two resulting sub-schedules, both
2. The crew planning problem ‘‘easy’’ to solve (pure 0/1 set covering problems),
and cockpit crew always flying together, likewise
2.1. The pairing problem for cabin. Having the crew together during their
py
duty allows for smoother operations. On the other
The pairing problem deals with the construction hand, a different slicing strategy say [1/0/0//0/0/0],
of itineraries consisting of flights such that all flights [0/1/0//0/0/0] for cockpit and [0/0/0//1/0/0], [0/0/
of a given schedule are completely covered. A flight 0//0/1/0] for cabin, results into four sub-schedules
co
is completely covered when all of its basic crew to solve. But this results in a harder set covering
resource requirements are met with sufficiently problem as the solution spaces drastically increases
many qualified crew members. A basic flight to provide maximum flexibility, which is useful
requirement is modeled with a crew-need vector of when solving inextricable instances or squeezing
the kind [F1/F2/F3//C1/C2/C3/. . .], where // are out maximum productivity, but no so much as to
used for separating the main categories of cockpit ensure smoother operations: such pairings are usu-
al
and cabin, and a single / for separating the number ally never ‘‘operationally feasible’’. Slicing is a stra-
of crew required in each of the sub-categories. For tegic solving paradigm, for all schedules do include
example a crew-need vector [1/1/0//2/2/0] denotes either inextricable instances (the resulting set cover-
on
one captain and one first officer and no flight engi- ing model is infeasible), or flights with varying crew
neer are needed in cockpit, and 2 chief cabins and need: some with cabin crew-need [0/0/0//2/2/0]
2 pursers are needed in cabin. The scheduled flights’ while others [0/0/0//2/4/0]. This always happens
rs
requirements must first be analyzed and partitioned due to fleet mixes. No model today captures this
into well defined planning sub-problems. That first ‘‘slicing’’ decision. Best practice is to slice according
analysis is of primal importance, strategic in nature, to greatest common need: all [0/0/0//2/4/0] flights
pe
for it directly affects the solution space (and, there- are first planned together with the [0/0/0//2/2/0]
fore, cost quality) for the resulting solving models. flights in that slice, and then planned in [0/0/0//0/
One way to reason with crew requirements is to 2/0] slice to cover the extra need in one slot. Again,
use a decomposition technique known as ‘slicing’, this is to convey the notion of keeping crew together
where the crew-need vector is broken down to a as much as possible throughout the sequence of
set of sub-crew-need vectors (slices) that add up flights that compose the pairings.
equivalently. Usually the cockpit and cabin plan- Feasible pairings must start and end at the same
r's
ning problems are solved separately because of their crew base. Structurally, pairings naturally group
differences in flight and duty regulations, so each into duties—sequence of flights within a 24 hour
flight’s original crew-need vector is first sliced into period, with night stops between them usually away
o
the cockpit and cabin slices, [1/1/0//0/0/0] and from home base as shown in Fig. 1.
[0/0/0//2/2/0]. All flights in the schedule are then Pairings must satisfy a large number of govern-
th
grouped (duplicated when need be) in the slice cate- ment regulations and collective bargaining agree-
gories that add up to their original crew-need. Each ments, which vary from airline to airline. The
flight group/slice constitutes a sub-schedule to solve, rules dictate connections between flights (e.g., mini-
Au
from which pairings are constructed. Collecting mum connection time), possible duties, possible
optimal pairing solutions from each sub-schedule night stops (e.g., no night stop at home base),
MAD BCN MAD ALC ALC MAD PMI BCN BCN CDG MAD ALC MAD
minimum rest time, and possible combinations of operations. An airline can have more than one base
duties depending on total flight/duty time. each with its own set of resources). In this case bjp is
Let S denote the set of slices to plan for, P the set the workload for pairing p if it starts and ends in base
of feasible pairings across all slices, xp, p 2 P, a bin- j, 0 otherwise; mj is the maximum workload allowed
ary decision variable denoting whether pairing p is for base j. Set J denotes the set of all constraint types
used, and ni the number of times flight i must be which limit some property of a set of pairings.
covered in that slice, for example for slice [0/0/0//
2/2/0] ni = 1. The pairing problem is modeled as 2.2. The rostering problem
py
the following integer program:
X The solution to the pairing problem gives a set of
ðIP1Þ min cp xp flying activities, referred to as trips in the rostering
p2P context. Now we look at the problem of assigning
co
X these trips to the crew such that all the trips are
subject to aip xp P ni 8i 2 IðsÞ; 8s 2 S ð1Þ
p2P
assigned to as many crews as required by the flights
X in the trip and each crew has a roster. The process of
bjp xp 6 mj 8j 2 J ð2Þ roster construction can be represented as a hierar-
p2P chical composition of planning steps at different lev-
els. Fig. 2 depicts this construction for the cockpit
xp 2 f0; 1g 8p 2 P :
al
category. Level 1 describes the core problem at the
All tangible crew costs (per diem, hotel, etc) are atomic level with the flights which need to be cov-
modeled in cp. I(s) denotes the set of flights to cover ered. In the example in the figure, we have flights
on
in slice s, and aip is a binary coefficient that is one if with need for a captain and first officer. To cover
pairing p covers flight i and zero otherwise. If con- these flights trips were created in the pairing pro-
straint (1) had an equality sign we would have a cess, which is represented by level 2. In order to pro-
rs
set-partitioning model that forbids over-covering vide actual crew to these pairings we go to a higher
of flights, i.e., flights with more crew than required. level of composition represented by roster in level 3.
A generalized set covering model allows over-cover- The roster consists first of a pairing on which the
pe
ing, which translates into some pairings including so crew functions as a captain (provides 1/0/0), second
called deadheads, flights where crew is merely being a vacation day (OFF), third a personal activity (e.g.,
transported. Partitioning solutions are preferred be- a personal training course), and finally a second
cause deadheading incurs extra costs. This is mod- pairing where the crew functions again as a captain
eled by adding surplus variables to constraint (1) (provides 1/0/0). Hence the roster provides partially
with over-cover cost coefficients. Constraint (2) is for the pairings’ total crew need of level 2, which, in
a set of constraints that apply to a group of pairings turn, provide for some of the flights’ need they cover
r's
altogether. These are general constraints with coef- in level 1. The non-flying activities in level 2 found
ficients bjp and mj not necessarily 0–1. An example in rostering do not cover flights in level 1. However,
of such a constraint is a limit on the required work- some such activities may still be given a fictitious
o
load for each airline base (a base is an important need, say when vacation days (OFF, need 0/0/N,
location for the airline, from where it manages the where N is the total number of crew) are to be
th
a1 a2 a3 a4
Au
Level 3:
Rosters OFF PACT
Level 2:
Pairing OFF
optimally distributed among crew, where as others The optimization problem which needs to be
are purely personal for some crew and hence have solved is given by
no need at all. X
The quality of the constructed roster is mea- ðIP2Þ min fcr xcr
sured by many criteria. For example, in North c2C;r2Rc
X
America, Bidlines, which are sequences of pairings subject to xcr ¼ 1 8c 2 C ð3Þ
only, are measured on the regularity of the working r2Rc
patterns. In Europe, each airline models its own X
py
notion of fairness when it comes to distributing free uacr xcr ¼ nak 8a 2 A;
c2C;r2Rc
days, night flying duties, and favorable trip attri-
butes. Also the distribution of trips to crew may 8k 2 K ð4Þ
need to consider the crew preferences, which are X
co
vaqcr xcr 6 baq 8q 2 Q;
typically based on destination, hours, and credit c2C;r2Rc
time (pay). The solution also needs to ensure a
notion of being impartial or ‘‘fair’’ to all crew. This 8a 2 qðAÞ A ð5Þ
is modeled through the ‘‘fairness’’ component of xcr 2 f0; 1g 8r 2 Rc ; 8c 2 C:
the cost function, which weighs different aspects
for a roster. Usually, the history for each crew is Constraint (3) ensures only one roster per crew is se-
al
used to obtain a set of target values that should lected. Constraint (4) ensures each planned activity
be achieved in the published roster for the crew. is covered for each crew category. Slack columns
These targets are continuously revised through with incurred penalty cost for these constraints
on
the planning months. This is required because some model open time. Constraint (5) models the multi-
of the aspects are monitored on a rolling basis from roster constraints, where Q represents the set of con-
one planning period to the next and some are con- straints which need to be satisfied by the complete
rs
sidered annually. The (European) rostering prob- solution; q(A) is the set of activities which have
lem then becomes to select a set of rosters that the additional constraint q. The coefficient vaqcr is
minimizes the accumulated deviations from each the contribution of roster r for crew c with respect
pe
crew’s targets, and which covers all the pairings. to qualification q and activity a, and baq is the limit
Finally, special additional qualifications are needed imposed by the constraint q on rosters covering
for some pairings. These are modeled as multi-ros- activity a. The coefficients of these additional con-
ter constraints, so called trip or flight qualification straints need not be binary. Examples of constraints
constraints that apply to a group of crew flying of type (5) are ‘‘at most one inexperienced crew
through the same trip or flight. As in the pairing member must fly on this(all) trip(s)’’, ‘‘such crew
process the main categories of cockpit and cabin members must not fly together’’, ‘‘this trainee must
r's
are planned separately. fly with his instructor’’, and ‘‘at least one crew mem-
Denote by C the set of crew. Let Rc be the set of ber must speak a certain language’’.
feasible rosters for crew member c 2 C, xcr a binary The above model is solved repeatedly by generat-
o
decision variable denoting whether roster r is chosen ing a set of columns or rosters. The size of the
for crew member c, A the set of all activities to plan rostering problem over the whole planning period
th
for (pairings and other), K the set of categories to is considerable, so the problem is decomposed
plan for (e.g., in cockpit: captain, first officer, and using a ‘‘sliding time-window’’ approach. In this
maybe an extra position for a trainee), Q the set approach new rosters are generated from old ones
Au
of pairings or flights for which an additional quali- by regenerating part of the rosters which falls within
fication constraint must hold. uacr is a binary coeffi- the time-window and keeping the rest of the roster
cient taking value 1 if activity a is covered by roster fixed. The generated set of rosters is sent to the IP
r for crew c, nak is the number of crew needed for solver which optimizes the model (IP2) and returns
activity a in category k. The optimization function a new solution. The time-window is then moved for-
minimizes the total cost of all rosters selected in ward and the process is repeated. Typically the size
the solution where fcr denotes the cost of roster r of the time-window is a week and it is moved for-
for crew c. The costs are modeled using the rule lan- ward by a step size of two days. The iterative pro-
guage Carmen Rave which incorporates the airline cess continues with the time-window moving in
specific requirements described before. order to cover the whole planning period.
1018 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027
3. The crew recovery problem separately from levels two and three in rostering.
Schematically, recovery leaves no other choice but
Crew recovery is time critical re-planning subject merging level 3 and level 2 to cover level 1 because
to minimal change, both in the pairing and in the the pairing recovery approach which consists of
rostering sense, as a result of a disruption occurring regenerating anonymous legal pairings has no infor-
at any of the three levels. Given these disruptions, mation about crew members, and such pairings are
the objective here is to repair all illegal individual therefore not necessarily assignable (‘‘rosterable’’),
rosters and cover all existing or newly scheduled both from a packing and a roster legality point of
py
flights. For example, view. Fig. 3 reveals the consequence of a disruption
on a published roster. We adopt the rostering time
• a flight delay makes it impossible for crew to window decomposition technique and refer to the
make their connecting flight on their scheduled fixed part of the roster before (after) the disruption
co
pairing; as the carry in (carry out) for the crew member.
• a flight cancellation due to aircraft unavailability Within the recovery window, flights are de-assigned
causes the scheduled pairing assigned to crew to from disrupted crew and a few other crew, referred
become operationally infeasible; to as helper crew. Newly scheduled flights may also
• a crew calling sick implies de-assigning the ini- be added to the problem. In addition, crew may
tially assigned pairing which results in unforeseen have pre-assignments within the recovery window,
al
open time; like off days and training duties, which must not
• changes in the aircraft rosters result in initially be touched by the recovery module.
planned pairings becoming infeasible (e.g., illegal Recovery is about regenerating legal routes from
on
fleet type mixes, illegal number of aircraft a crew member carry in to the corresponding carry
changes). out that cover all the flights and other activities that
result from re-planning inside the recovery window.
rs
Re-planning a roster means re-planning at all The de-assignment breaks those pairings that are
three levels, not just levels one and two in pairing both part of the crew member’s carry in/out and
pe
Published Rosters
a1 a2 a3 a4
OFF PACT
r's
OFF PACT
th
OFF PACT
CARRY CARRY
Uncovered flights
and activities
the recovery window, and such pairings are repaired now applied at the flight level: it now also dictates
through regeneration. When recovering, say, for the pairing feasibility for specific crew. Constraint (8)’s
cockpit crew slice, it is important to keep track of effect is most striking when modeling requirements
the crew member’s assigned position prior to the imposed on groups of crew members. For example,
pairing’s flights de-assignment, for a crew member when trainees must fly with their instructor, or keep-
may be acting as first officers on some pairings ing the initial crew together on repaired pairings.
and as captains on others. This results into different There, the optimizer either assigns all crew in the
crew category resource requirements for the newly group the same constructed pairing, or, makes the
py
de-assigned flights. Imbedding Carmen’s pairing group fly together as many flights as possible in a
construction and optimizer techniques is a natural legal way. Only specially constructed pairings may
choice for regenerating fast legal pairings and opti- satisfy rules imposed on a group of crew. Other
mizing large set covering models. The fundamental requirements imposed on a set of rosters through
co
difference is (i) now those new pairings must also constraint (8) vary exactly as they do in the roster-
be legal and compatible in a crew member’s existing ing problem (IP2).
roster (carry in, pre-assignments found within the
recovery window, and carry out) and (ii) the regen- 3.2. Solution techniques
erated routes must allow for connecting those new
pairings with non-flying activities. The recovery The integrated flight base rostering model incor-
al
challenge is thus to merge the pairing characteristics porates all the pairing and rostering dimensions of
into a rostering problem modeled at the flight level. the recovery problem. We now look at generate
and optimize approaches when applied to this
on
3.1. Model for the recovery problem model. Generation wise, the rules in the legality sys-
tem are a key factor in providing the necessary
The resulting optimization model (IP3) is the structure to model constraints that force all flights
rs
flight-based equivalent to the original pairing based and other activities to be embedded in legally con-
rostering model (IP2), where the flights have structed pairings. This also holds true for multi-base
replaced the pairings in set A. The set A of activities problems where the rules define what is legal for
pe
is the enlarged set of rostering which includes crew living at different bases. The legality checking
ground activities, free days and others, besides the done with a black box legality system, Carmen
flying activities. Rave, is a necessary but potentially expensive oper-
X ation. So before we proceed to check the con-
ðIP3Þ min fcr xcr structed roster with the legality system, we use
c2C;r2Rc
X some simple techniques that prune impossible con-
nections in the activity network, hence reducing
r's
vaqcr xcr 6 baq 8q 2 Q; solution incur a high penalty cost. Slack columns
c2C;r2Rc
with high cost are added for constraint (7) to model
8a 2 qðAÞ A ð8Þ flights being left uncovered in the solution. To min-
Au
py
F2 F4 P21 P11
F5
Carry In II Carry Out II
co
Time Window Time Window
Start End
create one carry in and one carry out for each crew
member. Inside the recovery window, the rosters are
al
broken down to the atomic planning objects: flights
and rostering-type activities. A resulting time
dependent acyclic activity network is constructed
on
Carry In Carry Out
for each crew category, which is pruned to give a
reduced network. Fig. 4 shows some of the connec-
tions in such a network. Some connections are obvi-
rs
are not possible for any crew. But there are connec- out that passes through all the crew’s following
tions that might be possible for some crew and not pre-assignments}. Launching depth-first search on
for others. CDN (A, crew) reduces the number of legality checks
o
requires us to enumerate all legal paths (at least which pass through all of the crew member’s pre-
implicitly to prove optimality) for each crew mem- assignments, from which the legal ones form a strict
ber from its carry in to its carry out. One first subset.
Au
py
activity in a crew network must lie between its adja- of followers. For example, cabin crew must stay
cent targets as shown in Fig. 6. By definition there together when their pairings are rebuilt, or a first
exist both a path from that activity to the next tar- officer trainee must fly a certain number of consecu-
get and a path from the previous target to itself, tive hours with his assigned qualified instructor. In
co
otherwise the activity does not belong to the crew- such cases, a crew group period is defined, during
dependent network for that crew. The activity is which the group members are allowed to perform
therefore part of the spanning search tree launched duties only with their leader. Each crew keeps its
forwards in time from the previous target, as well as set of pre-assignments, outside which the crew mem-
part of the spanning search tree launched back- ber flies/works with the other members of the
wards in time from the next target. For example, group. To enforce crew do stay together, additional
al
back to the network of Fig. 4, activity Free is not binding constraints are added to (IP3) for each
in the intersection of the depth-first search from activity found in the activity group network. Let
carry in 2 to P21 therefore, Free is not part of N = jCrew Groupj, xlk the binary decision variable
on
CDN (A, crew2), and as a consequence, no connec- for choosing roster k for the leader l, xik the binary
tion like (F4, Free) is considered during crew two’s decision variable for choosing roster k for crew
roster generation. Likewise, connection (F4, F6) is group member i, the following equality constraint
rs
not possible for either crew 1 or crew 2. Because forces all crew group members to be together on
we focus our attention on activities that lie between activity a found in the group’s common set:
two adjacent targets (pre-assignments), we stop the X X X
ðN 1Þxlk þ ð1Þxik ¼ 0
pe
search as soon as it reaches its given target or when k2Rla i2g;i6¼l k2Ria
the connecting activity lies outside the time period
spanned by its adjacent targets. The crew dependent 8a 2 Ag A; 8g; ð9Þ
network consists of activities that have been visited where Ria, is the set of rosters for crew member
both forwards and backwards. i 2 g, which cover activity a 2 Ag.
Should the generator fail to generate through
3.2.1.3. Crew group pairing preprocessing. We have activity a for just one member, the equality con-
r's
looked at pruning the connections in the network straint in Eq. (9) enforces no one in the group shall
based on routing and crew specific pre-assignments. have it. Switching the constraint type to P allows
There can be other connections that are made for more flexibility, where not all crew group ‘‘fol-
o
impossible due to a set of crew required to be flying lowers’’ may fly, but if they do, it is only among
together. the group’s common set and with the ‘‘leader’’. In
th
Crew dependent networks can be used to define crew training, the instructor may not be restricted
the set of activities that are feasible for all members among the group’s common set, and may provide
in a particular group. The intersection of the crew resource to cover other flights found in its own crew
Au
dependent networks for the members of a crew dependent network. This is useful since instructors
group g provides an activity group network Ag, are typically scarce captain resources. Typically dur-
which can be seen as the set of activities on which ing training N is equal to two or three. In cabin, N
the group may potentially work together. In essence, could range between three to nine, where the most
each crew dependent network shrinks further down experienced cabin crew is designated as leader.
to a common group set. The generators will gener-
ate only among those activities. It is assumed crew 3.2.2. Roster generation using black box legality
may belong to only one group in a given period of system Carmen Rave
time. One instance of constraint (8) for (IP3) occurs 3.2.2.1. Greedy enumeration with depth-first search.
when a group leader provides leadership for a group The greedy enumeration with depth-first search is
1022 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027
the simplest method to generate rosters. On the crew gramming (XPRESS-MP [11]) and sub-gradient
dependent network a normal depth-first search is (Gustafsson [2]) solvers solve the LP relaxation of
launched from the carry in. The edges in the tree (IP3) to provide lower bounds for the overall solu-
correspond to connections between two activities tion and dual prices for the pricing sub-problem.
(usually flights). Each node corresponds to a par- The pricing sub-problem generates reduced cost
tially constructed roster. The rules laid down by attractive legal rosters and requires computation of
the airline are expressed using a proprietary lan- k-shortest paths (Martins and Santos [6]) because
guage called Carmen Rave (‘‘rule and value evalua- the shortest path need not be legal according to the
py
tor’’). It serves as a black box module for checking legality system: to avoid computational time loss,
the legality of a constructed roster. Legality is tested no legality system is invoked during shortest path cal-
with Rave at each node, and if the partial roster is culation. However, in order to maximize the chances
illegal at the node, the search backtracks. When of generating legal attractive paths, the k-shortest
co
the search reaches the carry out, the constructed paths algorithm is invoked on a pre-computed
roster is sent to the pool of rosters. Greedy (pseudo) duty-network, which is the network consisting of all
costs dictate the ordering of each activity’s connec- legal duties, that is created initially on top of the ori-
tions with a search width parameter limiting the ginal acyclic activity network. Recall Fig. 1, a duty is
number of connections considered. The costs can any sequence of one to four to five flights within a
be adjusted to yield rosters with different structure. day. All other types of activity inherited from roster-
al
Once we have generated sufficiently many rosters ing: ground activities, free days, personal, training
for the crew, the IP is solved which selects a roster are also defined as duties. Each path generated in this
for each crew. The total number of rosters (columns network is therefore a sequence of a locked crew carry
on
of the IP) that are generated can be regulated by in, flying and non-flying duties and pre-assignments,
parameters specifying the search characteristics. followed finally by a corresponding target locked
Some hard recovery problems necessitate generating crew carry out. Fig. 7 sketches the algorithm for
rs
a large pool of rosters and a powerful IP solver that generating repaired rosters. The dual values from
can handle set covering models with more than a the LP serve as feedback for updating the reduced
hundred thousand columns, while other instances cost of the duty network, and the k-shortest path
pe
may be solved simply by swapping flights among algorithm is embedded to generate legal pairings
the illegal crew, this often being measured as an within rosters. This scheme is similar to the one used
optimal solution because no originally legal roster in pairing, except for now the carry in, pre-assign-
is moreover affected: the disruption has not propa- ments, and carry out information of the crew and
gated across to other legal rosters. other non-flying activities are added to the duty
network.
3.2.2.2. Reduced cost column generation. The draw- This approach works because most of the pairing
r's
back with the greedy enumeration approach is that rules and costs are, for the most part, of a range no
the pool of columns is typically very large (can be larger than what is spanned by a duty, followed by a
in the order of billions for major airlines because of night stop, followed by a next duty. This duty net-
o
hundreds of possible flight connections at different work constitutes, therefore, a framework within
airport bases). Even though we force the pairings to which constructed rosterable pairings are likely to
th
integrate within individual crew’s pre-assignments, be legal. The cost of a fully generated roster that goes
it is still not possible to enumerate all such rosterable into (IP3)’s objective function is modeled as follows:
pairings, for, one, it takes too much computation
Au
time to check legality at each node of the search tree, roster cost ¼ sumðftrips in rosterg; trip costÞ
and two, the resulting minimization problem (IP3) is þ fixed penalty for any change:
too large to solve, and particularly so with the pres-
ence of constraints (8) and (9). To remedy both of trip cost ¼ sumðfduties in tripg; duty costÞ
these drawbacks, we imbed the pairing approach þ sumðflayovers in tripg; layover costÞ:
adopted by Carmen systems into our activity net-
work and employ column generation to generate neg- fixed penalty for any change
ative reduced cost rosters (Hjorring and Hansen [3])
¼ if roster is different from reference solution
and use Carmen’s proprietary integer programming
solver PAQS (Wedelin [9]) to solve (IP3). Linear pro- then Penaltyð¼ P Þ else 0:
C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1023
py
For each crew,
Do
• Solve shortest path from carry in to carry out.
co
• while (roster-path is illegal and roster reduced cost < 0)
solve k shortest path.
• Modify network based on roster illegality.
While (new roster not found and network was modified).
Add new legal attractive rosters to LP.
al
• UNTIL no reduced cost attractive rosters are found.
on
Fig. 7. Reduced cost column generator algorithm.
This cost must be properly estimated by the k-short- trip costðcarry inÞ þ block costðduty1Þ
est path algorithm launched from the duty block
rs
in turn, counts that one duty on which duty_cost þ ðlayover1 cost P Þ þ ðduty2 cost þ P Þ
is finally evaluated.
Locked carry ins and carry outs have cost: þ ðlayover2 cost P Þ þ ðduty3 cost þ P Þ
þ trip costðcarry outÞ
o
Next, we store the costs for the duty connections þ layover1 cost þ duty2 cost þ layover2 cost
(layovers) as follows: þ duty3 cost þ trip costðcarry outÞ þ P
Au
py
co
al
Fig. 8. Iterations during reduced cost column generation.
on
many illegal rosters and slack columns from the of say, 36 hours. Next, move the recovery window
solution, that is to repair as many rosters and cover forwards in time, say by 24 hours or 30 hours. This
as many flights as possible. The duty network does window move has two effects: first, it stabilizes
rs
not, however, model rostering costs or rules with (locks) the newly repaired solution because that
longer weekly or monthly range, but recall the solution now becomes part of the next stage locked
recovery problem is mostly about repairing rosters carry in; second, re-planning/re-opening the connec-
pe
within a one to three to four-day recovery time win- tions/de-assigning the flights within this new recov-
dow, that is, repairing pairings that are currently ery window allows for solving the next pressing
imbedded inside rosters. A typical run of the crew problems: a new flight/duty network is conceived
recovery module that uses the reduced cost column with a new resulting instance of (IP3). The second
generator is shown in Fig. 8. As the iterations pro- strategy consists of re-planning at a slightly larger
ceed the solution quality improves, with more crew aggregated level, that is, keeping locked some exist-
being repaired, less open flights remaining, and less ing sequences of flights, and building a flight net-
r's
crew changed with respect to their original roster. work that respects those locks. Different locking
strategies result into different flight networks: from
3.2.3. Solving roster maintenance instances scratch at the flight level gives maximum flexibility,
o
During the execution of the month, roster main- yet huge networks, and one speaks of flight base
tenance problems require repairing all illegal rosters rostering; locking existing duties (up to 5/6 flights
th
arising both during the day of operations and the together) provides much smaller problem instances,
weeks thereafter. The idea is to re plan ‘‘from now hence the opportunity to increase the recovery win-
on’’, again subject to minimal crew change. New dow length, and one speaks of ‘‘duty’’ base roster-
Au
unforeseen flights may again need coverage. We ing, where the activities in set A of (IP3) represent
now discuss two decomposition strategies Lettovsky locked flight duties.
[5] proposes for controlling the size of the model
instances. The first strategy is to solve many 4. Results
instances of (IP3), each resulting from a recovery
window that sweeps the horizon in small time incre- We show results on instances for single base and
ments (say, 12–30 hours). The rational is to follow multi-base problems where both generation meth-
the buy time strategy all trackers apply when con- ods were tested for a single recovery time window
fronted with new problems: repair most urgent of 48 hours, within which all disruptions are consid-
problems with (IP3) within a first recovery window ered, outside which rosters are kept locked. On all
C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1025
instances, the enumeration approach was always by (i) the number of illegal crew remaining in the
launched on the crew dependent network. It was solution, (ii) the number of remaining open time
implemented as a depth-first search (DFS) that crew positions, and finally, (iii) the number of
was subject to search width parameters that limit affected crew (see Table 1).
the scope difference of the generated rosters with The number of columns required by the reduced
respect to the originally published ones. Without cost column generator is much less than the number
such restrictions, this approach takes too much required for the enumerative depth-first search
computational time. The results that are reported approach. On small to medium size instances (up
py
use the smallest possible search width parameters to 500 crew members), the solution quality from
that enable DFS to find an operationally feasible the column generator is always better than for the
solution. On the other hand, no restrictions were enumerative approach. This is mostly because the
imposed at all on the reduced cost column generator search width parameters for the enumerative
co
(COLGEN), as it was always launched on the origi- approach were chosen to be small enough to avoid
nal acyclic activity network. This is to illustrate combinatorial explosion. Increasing the search
COLGEN does not explode like DFS does without width dramatically increases the computational
using the crew dependent network, nor the search time, especially when hard instances require dead-
width parameters. When it is not possible to repair heads to be added (see Instance 10 where DFS gen-
a pairing assigned to a roster, the solver has the erates more than four hundred thousand columns
al
option of either de-assigning the illegal pairing and still does not find the optimal solution). How-
and create open flights thereof, or leave the pairing ever, on larger multi-base problems (e.g., instances
assigned to the original roster and hence have illegal 10, 15), too much computational time is required
on
roster. For the reported tests we have chosen the (up to 63% of the total running time) to set up
second option. The solution quality is measured the duty network before generating reduced cost
rs
Table 1
Results from (IP3) running on a linux laptop (256 K RAM, 1 GHz CPU)
pe
attractive columns. This is because the duty network alternative integrated approach for crew recovery.
caches all legal duties, layover connections, and The crew recovery model (IP3) provides a frame-
costs for each base, for pairing rules and costs are work for individualized feasible pairing generation,
typically base dependent. Easy problems are solved with additional flight or trip qualification con-
more rapidly, but with less quality, with the depth- straints that model requirements imposed on groups
first search approach (instances 1, 2, 3, 7, 11, 13), of crew contributing directly in dictating pairing
where as harder instances which require non-trivial feasibility. When (IP3) is embedded within a sweep-
pairings are solved more rapidly with the reduced ing time window that sweeps across a planning hori-
py
cost column generator approach (instances 4, 5, zon, it effectively becomes an integrated flight-based
6, 8, 9, 10, 12). This is mostly because the reduced pairing generator and rostering tool for solving ros-
cost column generator judiciously adds deadheads ter maintenance problems in a current month. In
before and after those open flights found in its solu- this paper, we have looked at a simple generate
co
tion to (IP3). With such deadheads, new duties are and optimize approach for solving the problem.
added into the duty network. The more sophisticated reduced cost column gener-
Instances 17, 18, and 19 report roster mainte- ation approach has also been applied, and there are
nance problems for cockpit and cabin programs, many considerations which are yet to be incorpo-
which use different sweeping time window and duty rated with this technique. Currently, too much time
aggregation strategies. For example, instance 17, a is spent in the duty network set up when anonymous
al
heavily regulated training program, which translates duties are blindly generated from the original acy-
into multiple instances of global constraint (8) in clic network, and many of those legal duties do
(IP3), uses the following locking strategy: all legal not help solve the problem at all. The duty network
on
connections following the aircraft are locked, long needs to use the crew specific information, much like
ones and those that connect to positioning flights the crew dependent network for the activities.
are opened. This is done within a 48 hour recovery Another line of work is to model constraint (8) cor-
rs
window that sweeps the three weeks maintenance rectly within the duty network. Proper utilization of
horizon in 24 hour time increments. Instance 18 dual information on such constraints should further
employs flight base rostering within a 36 hour improve convergence when producing pairings for
pe
recovery window swept across 4 weeks in 12 hour groups of crew. There is also a need for efficiently
time increments. Instance 19, which is mostly about obtaining the right set of crew to generate for. Since
squeezing in additional single flights scattered in the final solution we only want a few of the crew
around the month, employs duty base rostering to get affected, it is very desirable to guide the gen-
within a 36 hour recovery window swept across 4 eration for only a subset of the crew population and
weeks in 35 hour time increments. As revealed by not all of them. Finally, an unlocking strategy
the small computational time for the DFS should be further investigated and formalized so
r's
approach, the resulting network is rather small as to benefit from the huge reduction in the problem
and consists only of locked duties taken from the size while maintaining a large enough solution space
assignments and the single flights which need to be for obtaining good solutions.
o
proves to be sufficient enough to solve the problem the Technical University of Denmark) and the Car-
in reasonable amount of time. The lesson learned men Roster Maintenance project (in close collabo-
is recovery is very much about deciding how much ration with clients) initiated the research. Our
to unlock the existing input solution for fast special thanks go to Curt Hjorring and Lennart
rebuilds. Bengtsson for their support and advice about the
pairing reduced cost column generator. We thank
5. Conclusions and further areas of research Stefan Karisch for reviewing an earlier version of
this work and giving useful suggestions, and Erik
The restrictive time limits imposed on roster Andersson who has relentlessly pushed us along
maintenance and day of operation necessitates an the journey.
C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1027
References [6] Ernesto De Queiros Veiros Martins, Jose Luis Esteves Dos
Santos, A new shortest paths ranking algorithm, Technical
[1] Erik Andersson, Efthymios Housos, Niklas Kohl, Dag report, Universidade de Coimbra, Portugal, October 1996.
Wedelin, Crew pairing optimization, in: G. Yu (Ed.), [7] Mirela Stojkovich, Francois Soumis, Jacques Desrosiers,
Operations Research in the Airline Industry, Kluwer Aca- The operational airline crew scheduling problem, Transpor-
demic Publishers., Boston, MA, 1997, pp. 228–258. tation Science 32 (3) (1998) 232–245.
[2] Tomas Gustafsson, A heuristic approach to column gener- [8] P.H. Vance, C. Barnhart, E.L. Johnson, G.L. Nemhauser,
ation for airline crew scheduling. Licentiate Thesis, Depart- Airline crew scheduling: A new formulation and decompo-
ment of Mathematics, Chalmers University of Technology, sition algorithm, Operations Research 45 (2) (1997) 188–
200.
py
Goteborg, Sweden 1999.
[3] Curt A. Hjorring, Jesper Hansen, Column generation with a [9] Dag Wedelin, An algorithm for large scale 0–1 integer
rule modeling language for airline crew pairing. In: Proceed- programming with application to airline crew scheduling,
ings of 34th Annual Conference of the Operational Research Annals of Operations Research 57 (1995) 283–301.
Society of New Zealand, Hamilton, New Zealand, December [10] Guo Wei, Gang Yu, Mark Song, Optimization model and
co
10–11, 1999. algorithm for crew management during irregular operations,
[4] Niklas Kohl, Stefan E. Karisch, Airline crew rostering: Journal of Combinatorial Optimization 1 (3) (1997) 80–97.
Problem types, modeling, and optimization, Annals of [11] XPRESS, Dash Optimization, August 2003.
Operations Research 127 (March) (2004) 223–257. [12] Gang Yu, Michael Arguello, Gao Song, Sandra McCowan,
[5] Ladislav Lettovsky, Airline Operations Recovery: An opti- Anna White, A new era for crew recovery at Continental
mization approach. Ph.D. Thesis, Georgia Institute of Airlines, Interfaces 33 (1) (2003) 5–22.
Technology, October 30, 1997.
al
on
rs
pe
o r's
th
Au