100% found this document useful (1 vote)
84 views17 pages

Flight Operation and Crew Scheduling

The document discusses airline crew scheduling, which typically involves creating work patterns (pairings) and then assigning crew to those patterns. At the operational level on the day of flights, the scheduling window is shorter. The authors integrate the pairing construction and assignment steps to solve time-critical rescheduling problems. They describe solving the full problem in one step using techniques like tree search, column generation, and shortest paths algorithms.

Uploaded by

Sharad Piyush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
84 views17 pages

Flight Operation and Crew Scheduling

The document discusses airline crew scheduling, which typically involves creating work patterns (pairings) and then assigning crew to those patterns. At the operational level on the day of flights, the scheduling window is shorter. The authors integrate the pairing construction and assignment steps to solve time-critical rescheduling problems. They describe solving the full problem in one step using techniques like tree search, column generation, and shortest paths algorithms.

Uploaded by

Sharad Piyush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/222519235

Airline crew scheduling from planning to operations

Article  in  European Journal of Operational Research · December 2007


DOI: 10.1016/j.ejor.2005.12.046 · Source: RePEc

CITATIONS READS

89 3,686

2 authors:

Claude philippe Medard Nidhi Sawhney


SAP Research 5 PUBLICATIONS   99 CITATIONS   
1 PUBLICATION   89 CITATIONS   
SEE PROFILE
SEE PROFILE

All content following this page was uploaded by Claude philippe Medard on 04 December 2018.

The user has requested enhancement of the downloaded file.


This article was originally published in a journal published by
Elsevier, and the attached copy is provided by Elsevier for the
author’s benefit and for the benefit of the author’s institution, for
non-commercial research and educational use including without
limitation use in instruction at your institution, sending it to specific
colleagues that you know, and providing a copy to your institution’s
administrator.
All other uses, reproduction and distribution, including without
limitation commercial reprints, selling or licensing copies or access,
or posting on open internet sites, your personal or institution’s
website or repository, are prohibited. For exceptions, permission
may be sought for such use through Elsevier’s permissions site at:

http://www.elsevier.com/locate/permissionusematerial
European Journal of Operational Research 183 (2007) 1013–1027
www.elsevier.com/locate/ejor

Airline crew scheduling from planning to operations

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

Received 15 October 2004; accepted 15 December 2005


Available online 12 June 2006

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

1. Background In the first process, known as pairing, the (anon-


ymous) flying activities are created. The flight time-
r's

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

created pairings are assigned, together with other


kinds of activities, to actual crew, in compliance
*
with the qualifications and previously assigned
Corresponding author. activities, referred to as pre-assignments, of the
E-mail addresses: [email protected] (C.P.
Medard), [email protected] (N. Sawhney).
crew. The aim is to find feasible assignments that
1
Previously with Carmen Systems AB, Odinsgatan 9, Gothen- minimize costs and match the airline’s notion of
burg 411 03, Sweden. quality of life for the crew.

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

Fig. 1. A three duty days ‘‘Madrid’’ pairing.


1016 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027

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

1/0/0 0/0/1 0/0/0 1/0/0

Level 2:
Pairing OFF

1/1/0 0/0/99 1/1/0


Level 1:
Flights
Need 1/1/0

Fig. 2. Planning for the cockpit slice [1/1/0//0/0/0].


C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1017

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

1/0/0 0/0/1 0/0/0 1/0/0

Disruptions 1 Delay, 2 Cancellations


o

OFF PACT
th

1/0/0 0/0/1 0/0/0 1/0/0

Time Window Recovery Problem: re-routing and


Au

OFF PACT

CARRY CARRY

Uncovered flights
and activities

Fig. 3. Recovering for the cockpit slice [1/1/0//0/0/0].


C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1019

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

subject to xcr ¼ 1 8c 2 C ð6Þ


r2Rc the possible rosters that need to be checked for
X
uacr xcr P nak 8a 2 A; legality.
c2C;r2Rc From the optimization point of view the pub-
o

8k 2 K ð7Þ lished rosters and initial open flights are sent as an


X initial solution. The disrupted rosters in this input
th

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

xcr 2 f0; 1g 8r 2 Rc ; 8c 2 C imize the number of affected crew members, all


newly generated rosters incur a penalty into their
(IP3) set covering constraints (7) are equivalent to cost fcr for being ‘‘different’’ from their reference
the pairing model (IP1) flight coverage constraints solution (their current state or the initially published
(1), in contrast to the strict equality constraint (4) one). Note airlines will have different notions of
of the rostering model (IP2). (IP3) set covering for- what constitutes a change in their schedule.
mulation makes it easier to optimize, plus, we ben-
efit from a powerful pairing IP solver, PAQS, until 3.2.1. Preprocessing
now never used for traditional rostering problems. Given the initial rosters and open flights, we first
It is interesting to note the effect of (8) when it is lock all rosters outside the recovery window to
1020 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027

Carry In I Carry Out I


F1 F3 GA FREE F6

py
F2 F4 P21 P11

F5
Carry In II Carry Out II

co
Time Window Time Window
Start End

Fig. 4. Acyclic activity network in a recovery window.

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

ously not possible because of destination mismatch


or connection time violation. But there are a few
more that can be removed. For example the connec- Fig. 5. A depth-first search tree.
pe

tion between flying activity F6 and carry out for


crew 1, carry out 1, is not possible because all ros- on all possible paths in the whole search tree. Most
ters for this crew must go through his/her pre- of the paths spanning from the root carry in do not
assignment P11. Another arc that can be removed necessarily lead to the corresponding carry out, nor
is one between P21 and P11 as pre-assignments for do they pass through the crew’s pre-assignments.
two different crew cannot connect. Define the crew member dependent network
Until now we have only removed those arcs that CDN (A, crew): {a 2 A : $ path from a to crew carry
r's

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

down to minimum, for CDN (A, crew) defines the


3.2.1.1. Crew dependent network. The IP model crew member’s set of all potentially legal rosters,
th

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

approach is to launch a depth-first search in the


activity network from a crew carry in and use the 3.2.1.2. Computing the crew dependent network
legality system to prune the spanning tree when con- CDN (A, crew). We use the depth-first search to
sidering candidate connections to a partially con- compute a crew dependent network CDN (A, crew)
structed chain of activities (a sub-path). The for each crew member by giving it the crew mem-
legality system is very powerful for pruning, but at ber’s list of pre-assignments, which serve as targets
considerable computational cost. The search stops in the search. Each crew has a list of at least two
when it reaches the corresponding crew carry out. pre-assignments, carry in, and carry out, plus addi-
As Fig. 5 reveals, the fundamental flaw is that this tional ones found within the recovery window. The
search is blind: it is generating and checking legality targets are naturally sorted forward in time. Each
C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027 1021

Fig. 6. Crew dependent network.

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

Input: Initial rosters and uncovered flights like in DFS

• Generate all duties.


• Connect duties to form duty network.
• REPEAT
Solve LP to obtain dual values (one for each activity).
Update duty reduced cost (cost of duty – duty duals ).

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

þ ðblock layover costðduty1; duty2ÞÞ


network. To do so, first we store the following cost
in each duty block: þ block costðduty2Þ
pe

þ ðblock layover costðduty2; duty3ÞÞ


block cost ¼ sumftrips in blockðusually 1g; trip costÞ
þ P ; where P ¼ Penalty: ð10Þ þ block costðduty3Þ þ trip costðcarryoutÞ:
Using (10) and (11), this cost estimate corresponds
When a block is a single duty (the usual case),
to:
the formula considers the duty as a trip on which
trip_cost is evaluated. The formula for trip_cost, trip costðcarry inÞ þ ðduty1 cost þ P Þ
r's

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

trip costðcarry in=outÞ


¼ sumðftrips in carry in=outg; trip costÞ: ¼ trip costðcarry inÞ þ duty1 cost
th

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

block layover costðduty1; duty2Þ ¼ roster cost;


¼ block costðduty1; duty2Þ the true cost of roster as modeled in (IP3)’s objec-
 block costðduty1Þ tive function. For cost functions that are the maxi-
mum of three objective functions (as it is the case
 block costðduty2Þ: ð11Þ
for pairings in the US), we store all three cost objec-
For example, consider a new three duty days pairing tives into the network and evaluate the maximum
generated by the k-shortest path algorithm for a estimated cost. In the recovery or roster mainte-
particular crew member. The cost estimate for this nance context, we find this relaxation to be quite
generated roster is given by: sufficient for the main objective is to remove as
1024 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027

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

Problem Input Solution Solution


NC, IC, OP Number of constraints Number of columns Number of crew affected, CPU (seconds)
in the IP generated IC, OP
DFS COLGEN DFS COLGEN DFS COLGEN
Single base
1. 422, 20, 0 1421 19 788 1828 24, 0, 0 21, 0, 0 60 82(25)
r's

2. 147, 18, 0 652 8554 2468 25, 0, 0 22, 0, 0 21 62(12)


3. 147, 12, 0 658 6894 2369 20, 0, 0 20, 0, 0 19 64(15)
4. 147, 19, 0 646 34 070 1997 24, 0, 0 24, 0, 0 73 44(13)
5. 147, 17, 0 650 36 620 2272 27, 0, 0 26, 0, 0 76 56(13)
6. 147, 11, 0 669 33 325 2592 22, 0, 2 20, 0, 0 20 60(15)
o

7. 147, 8, 0 677 4948 1903 13, 0, 0 10, 0, 0 15 31(2)


8. 147, 6, 0 681 27 733 1811 11, 0, 0 10, 0, 0 57 27(5)
th

9. 143, 8, 0 761 49 440 7148 19, 0, 0 14, 0, 0 58 65(20)


Multi-base
10. 439, 18, 0 1748 426 237 8639 25, 0, 0 24, 0, 0 584 492(310)
Au

11. 439, 18, 0 1386 42 500 5142 27, 0, 0 24, 0, 0 57 201(97)


12. 92, 18, 0 662 147 998 4166 29, 0, 0 28, 0, 0 207 101(44)
13. 92, 18, 0 547 19 548 2315 32, 0, 0 27, 0, 0 28 86(42)
14. 138, 0, 80 484 32 595 1784 29, 0, 3 28, 0, 2 41 172(97)
15. 885, 77, 98 2147 41 116 1868 221, 16, 23 93, 25, 26 196 840(237)
16. 14, 14, 28 267 12 981 1297 14, 0, 0 14, 0, 0 12 14(1)
Roster maintenance
17. 99, 23, 251 btw 355 & 424 337 969 27 927 98, 0, 36 98, 0, 26 880 1452(415)
18. 436, 31, 63 btw 1000 & 1400 12 899 972 231 670 44, 0, 3 72, 0, 2 12 900 20 580(4470)
19. 240, 3, 56 btw 550 & 605 25 741 12 572 5, 0, 53 37, 0, 0 61 457(35)
NC: total number of crew planned, IC: number of illegal crew, OP: number of positions in uncovered flights.
For COLGEN the time for generating the duty network is given in parenthesis in the last column.
1026 C.P. Medard, N. Sawhney / European Journal of Operational Research 183 (2007) 1013–1027

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

additionally covered. This network alone does not


allow DFS to solve it at all. COLGEN, on the other Acknowledgements
th

hand, spends minimal time (35 seconds) setting up


its own duty network based on those locked existing The EU funded Descartes Integrated Operations
duties and new flights. That duty network alone Control project (together with British Airways and
Au

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

View publication stats

You might also like