Page 1

Discrete Optimization

Modeling and solving a Crew Assignment Problem

in air transportation

F.M. Zeghalb,c,*, M. Minouxa

aUniversite ´ Paris-6, LIP6, 4 Place Jussieu, 75005 Paris, France

bEcole Polytechnique de Tunisie, CORG-ROI, BP 743, 2078, La Marsa, Tunisia

cEcole Nationale d’Inge ´nieurs de Tunis, Department of Industrial Engineering, BP 37, Le Belve ´de `re, 1002 Tunis, Tunisia

Received 11 June 2002; accepted 3 November 2004

Available online 23 June 2005

Abstract

A typical problem arising in airline crew management consists in optimally assigning the required crew members to

each flight segment of a given time period, while complying with a variety of work regulations and collective agree-

ments. This problem called the Crew Assignment Problem (CAP) is currently decomposed into two independent sub-

problems which are modeled and solved sequentially: (a) the well-known Crew Pairing Problem followed by (b) the

Working Schedules Construction Problem. In the first sub-problem, a set of legal minimum-cost pairings is constructed,

covering all the planned flight segments. In the second sub-problem, pairings, rest periods, training periods, annual

leaves, etc. are combined to form working schedules which are then assigned to crew members.

In this paper, we present a new approach to the Crew Assignment Problem arising in the context of airline compa-

nies operating short and medium haul flights. Contrary to most previously published work on the subject, our approach

is not based on the concept of crew-pairings, though it is capable of handling many of the constraints present in crew-

pairing-based models. Moreover, contrary to crew-pairing-based approaches, one of its distinctive features is that it for-

mulates and solves the two sub-problems (a) and (b) simultaneously for the technical crew members (pilots and officers)

with specific constraints. We show how this problem can be formulated as a large scale integer linear program with a

general structure combining different types of constraints and not exclusively partitioning or covering constraints as

usually suggested in previous papers. We introduce then, a formulation enhancement phase where we replace a large

number of binary exclusion constraints by stronger and less numerous ones: the clique constraints. Using data provided

by the Tunisian airline company TunisAir, we demonstrate that thanks to this new formulation, the Crew Assignment

Problem can be solved by currently available integer linear programming technology. Finally, we propose an efficient

heuristic method based on a rounding strategy embedded in a partial tree search procedure.

0377-2217/$ - see front matter ? 2005 Elsevier B.V. All rights reserved.

doi:10.1016/j.ejor.2004.11.028

*Corresponding author. Address: Ecole Polytechnique de Tunisie, CORG-ROI, BP 743, 2078, La Marsa, Tunisia.

E-mail addresses: farah_zeghal@yahoo.fr (F.M. Zeghal), michel.minoux@lip6.fr (M. Minoux).

European Journal of Operational Research 175 (2006) 187–209

www.elsevier.com/locate/ejor

Page 2

The implementation of these methods (both exact and heuristic ones) provides good solutions in reasonable compu-

tation times using CPLEX 6.0.2: guaranteed exact solutions are obtained for 60% of the test instances and solutions

within 5% of the lower bound for the others.

? 2005 Elsevier B.V. All rights reserved.

Keywords: Crew assignment; Combinatorial optimization; Integer linear programming; Heuristic; Air transportation

1. Introduction

For airline companies, the Crew Assignment Problem (CAP) is an economically significant issue in to-

day?s highly competitive market. Crew costs constitute one of the largest components of direct operating

costs and are only dominated by fixed aircraft costs and fuel consumption costs. Thus, important savings

can be generated by solving the Crew Assignment Problem optimally.

This problem is commonly decomposed into two independent sub-problems which are modeled and

solved sequentially:

(a) The well-known Crew Pairing Problem: it consists in generating a set of minimal cost crew pairings

covering all the planned flight segments. A crew pairing is a sequence of flight segments separated

by connections or rest periods, operated by a crew leaving and returning to the same crew home base.

(b) The Working Schedules Construction Problem: it aims at constructing working schedules for crew

members by assigning them pairings, resulting from the previous step (a), rest periods, training peri-

ods, annual leaves, etc.

The solution to these two sub-problems (a) and (b) must satisfy all the operational constraints deriving

from the current regulation and the collective agreements.

The Crew Assignment Problem is very difficult to solve because of the highly combinatorial nature of the

two sub-problems (a) and (b), the huge size of the corresponding formulations and the complexity of the

regulation rules and the collective agreements that must be taken into account.

The Crew Pairing Problem and the Working Schedules Construction Problem have been extensively

studied for several decades. These problems are usually formulated as Set Partitioning or Set Covering

problems, where variables correspond to feasible pairings for the first problem and to feasible working

schedules for the second problem.

To solve real-life Crew Pairing Problems and Working Schedules Construction Problems, various ap-

proaches have been suggested based on column-generation principle (Minoux, 1984; Lavoie et al., 1988;

Gamache et al., 1994) which has been subsequently integrated in the ‘‘Branch-and-Bound’’ method lead-

ing to the so-called ‘‘Branch-and-Price’’ method (Ribeiro et al., 1989; Desaulniers et al., 1997; Vance

et al., 1997; Barnhart and Shenoi, 1998; Gamache et al., 1998; Stojkovic et al., 1998; Lettovsky

et al., 2000).

A ‘‘Branch-and-Cut’’ method has been proposed by Hoffman and Padberg (1993) for the Crew Pairing

Problem: it consists in integrating a cutting plane strategy in the ‘‘Branch-and-Bound’’ method.

1.1. Contributions

In the present paper, we study the Crew Assignment Problem faced by airline companies operating short

and medium haul flights. For this case, we propose a new approach that formulates and solves the two sub-

problems (a) and (b) simultaneously for the technical crew members (pilots and officers):

188

F.M. Zeghal, M. Minoux / European Journal of Operational Research 175 (2006) 187–209

Page 3

• The Crew Assignment Problem is formulated as a large scale integer linear program with a general struc-

ture combining different types of constraints (and not exclusively partitioning or covering constraints as

usually suggested in previous papers).

• This formulation is then enhanced by replacing a large number of binary exclusion constraints by stron-

ger and less numerous ones: the clique constraints. A special feature of our approach is that clique con-

straints corresponding to all maximal cliques in the constraint graph are generated. In spite of the large size

of this constraint graph, this is made possible by a proper exploitation of the fact that it is close to an

interval graph (see Section 3.3).

• We show that thanks to this new formulation, the Crew Assignment Problem can be solved by currently

available integer linear programming technology (CPLEX 6.0.2).

• We develop a new heuristic method based on a rounding strategy embedded in a partial tree

search procedure. As will appear from the computational experiments, this heuristic turns

out to be more efficient on the test problems considered than the standard heuristic of CPLEX

6.0.2.

Contrary to most previously published work on the subject, the model presented here is not based on

the classical concept of crew-pairing, namely a sequence of flight services carried out by a given crew. In-

deed, in our model, the decision variables relate to how an individual crew member is assigned to flight

services. The constraints accounting for the impossibility, for a given individual crew member, to carry

out two given successive distinct flight services (due e.g. to insufficient rest time, or any other reason)

are actually included in our model in the form of binary exclusion (incompatibility) constraints. So, in

a specific manner, our model can (does) take into account many of the constraints which contribute to

the definition of valid crew pairings in classical crew-pairing-based approaches. On the other hand, our

model appears to be more flexible at least in the following precise sense: in crew-pairing-based models,

it is implicitly assumed that the same crew (i.e. the same set of technical crew members) has to be assigned

to every flight service and thus to every flight forming a crew pairing. By contrast, in our model, if Pilot A

and co-pilot B are assigned to e.g. flight service 1, it is possible that Pilot A is assigned together with an-

other co-pilot, say co-pilot C, to a subsequent flight service. This kind of flexibility is not offered in crew-

pairing-based models.

Of course, the model discussed and solved in the present paper, while certainly representing an example

of problems arising in the context of crew management in airline companies, does not pretend to cover all

kinds of problems in this class. Indeed, it is well-known that, from one company to the next, many differ-

ences can arise, due to distinct priorities in the objective to be optimized, to distinct regulation rules, etc. We

do feel however that, beyond the specific application developed here (case of TunisAir), the general meth-

odology proposed, using state-of-the-art integer programming concepts and tools, has a real potential for

wider applicability.

1.2. Outline of the paper

The paper is organized as follows. The next section describes the Crew Assignment Problem treated here.

Then, Section 3 presents the proposed integer linear programming formulation of the problem. Next, Sec-

tion 4 discusses the computational results obtained by exact methods to solve 20 real problems provided by

the Tunisian airline company TunisAir. Section 5 describes a new heuristic method and its implementation

to solve real problems. A comparison between exact and heuristic solution methods is presented in this sec-

tion too. Finally, we present some possible extensions to the proposed model in Section 6, and some con-

clusions and perspectives in Section 7.

F.M. Zeghal, M. Minoux / European Journal of Operational Research 175 (2006) 187–209

189

Page 4

2. The Crew Assignment Problem

The Crew Assignment Problem can be stated as follows.

An airline company has to operate, within some given time period (one week, one month, etc.), a number

of flight segments of various origins and destinations. To operate all these planned flight segments, the com-

pany has to assign them the appropriate crew members (number and qualifications), while taking into ac-

count a variety of work regulations and collective agreements.

To formulate and solve this problem, the approach proposed here consists of two distinct phases:

Phase 1. Flight service generation: a flight service is a sequence of flight segments separated by connec-

tions, followed and, in some cases, preceded by a rest period. In this phase, a set of flight services

is built, covering at least once each of the planned flight segments. All the flight services generated

must satisfy a set of regulation rules and collective agreements.

Phase 2. Crew assignment to flight services: it aims at assigning the required crew members to the flight

services previously generated in Phase 1, covering all the flight segments while satisfying the cur-

rent regulation and the collective agreements.

2.1. Phase 1: Flight service generation

To generate all valid flight services from the given set of planned flight segments, various constraints

must be taken into account. These constraints result from the current regulation (briefing time, mini-

mum connection time, maximal duration of a flight service, maximal duration of flying, maximal dura-

tion of night flying, minimum number of hours of rest between flight services, etc.) and collective

agreements (leaving late for far away destinations, maximum connection time, etc.). Thus, the problem

of building flight services from flight segments is highly constrained, and the total number of flight seg-

ments which compose a flight service rarely exceeds 3 or 4. As a result, even for the largest real prob-

lems, complete enumeration of all the flight services turns out to be possible (Table 2 in Section 4

shows that the number of flight services is of the same order of magnitude as the number of flight

segments).

Flight services are composed of consecutive flight segments which can be performed in succession with-

out the need of deadhead flights. Deadheads or deadhead flights are passive flight segments used to trans-

port crew members between stations, either by ground or air transportation. For flight services, since there

are no constraints on their starting and ending stations, these may be distinct from crew bases. So, we sup-

pose that it is always possible to reposition the crew members by using deadheads for transporting them

from their location (crew base or ending station of a flight service) to the starting station of a flight service

or to their crew base.

In order to construct working schedules, we must integrate all the activities of a technical crew member

and not only flying. So, we construct a special flight service for each activity other than flying (weekly rest

periods, training periods, annual leaves, union meetings, etc.). These flight services don?t need rests nor

deadheads. Their duration will be estimated by an equivalent number of hours of flight and not their real

duration. Besides, there are no constraints on these special flight services (no briefing time, no connection,

no maximal duration of a flight service, no maximal duration of a flying, etc.).

We note here that some of these activities other than flying are often preassigned to crew members.

In the following sections, we will concentrate only on flying activities and we will not take into account

the other ones. The proposed formulation can integrate easily these activities using the special flight services

described above.

190

F.M. Zeghal, M. Minoux / European Journal of Operational Research 175 (2006) 187–209

Page 5

2.2. Phase 2: Crew assignment to flight services

After generating all valid flight services covering at least once each flight segment, we must find an indi-

vidual assignment of the required technical crew members to some of these flight services such that, for each

planned flight segment, there is an appropriate technical crew to operate it.

The objective of this phase is therefore to find a feasible minimum cost assignment i.e. satisfying all the

regulation rules (crew composition, crew member qualifications, minimum number of days off, annual

vacations, training periods, maximum flying time per week and per month, etc.) and the collective agree-

ments (incompatibilities between crew members, maximum number of consecutive working nights, etc.).

The cost of an assignment is typically expressed as the total number of additional flight credits, where flight

credits are hours of flight and/or the equivalent for activities such as training periods, union meetings, an-

nual leaves, etc.

Technical crew members are divided into three groups called Colleges: Pilots, Officers and Instructors.

An Instructor is a Pilot who can replace an Officer when needed. A crew is composed of a Pilot (or an

Instructor) and an Officer (or an Instructor).

Moreover, each technical crew member is characterised by its fleet qualifications. In fact, a fleet

family is a set of aircraft types that share the same crew requirements. Thus, a technical crew member

qualified to fly one fleet in a fleet family is qualified to fly all fleets in the family, and for a same fleet

family, all qualified technical crew members of a same college are polyvalent. Given that, for security

reasons, each technical crew member is allowed to operate on only one fleet family, the Crew

Assignment Problem can be treated for each fleet family separately without affecting the solution

quality.

To solve the problem of crew assignment to flight services, for any given fleet family, we propose an ap-

proach based on formulations in terms of integer linear programs which will be described in the next

section.

3. Proposed formulations

In this section, we present a large scale integer linear programming formulation for the Crew Assignment

Problem.

3.1. Notation

Let F, indexed by f, represent the set of flight segments to be assigned to one and exactly one crew. Let S,

indexed by s, be the set of valid flight services built previously from the given flight segments.

Let S(f) be the set of flight services which include the flight segment f, and let S(w) and S(m) be the sets of

flight services for week w, and month m respectively.

Let I, indexed by i, represent the set of instructors, P, indexed by p, represent the set of pilots and O,

indexed by o, represent the set of officers.

Let LSbe the list of pairs of flight services which cannot be performed by a same crew. The elements of

this list are pairs of flight services (1) having overlapping periods or (2) for which the ending station of the

earlier flight service is different from the starting station of the other flight service and the time between the

two flight services is too short for including a deadhead.

Let Iipbe the set of pairs (instructor, pilot) which are incompatible in the sense that they cannot be part

of a same crew. Similarly, let Iii0, Iioand Ipobe the sets of incompatible pairs (instructor, instructor),

(instructor, officer) and (pilot, officer) respectively. These incompatibilities derive from regulation which

F.M. Zeghal, M. Minoux / European Journal of Operational Research 175 (2006) 187–209

191