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

Page 6

imposes that in a technical crew, there is at most one crew member with a medical restriction, at most one

training crew member, etc.

For a given flight service s, let BTsbe the number of hours of flight called block time and CTsbe the

number of flight credits, which are hours of flight and/or the equivalent for activities other than flying

(training periods, union meetings, etc.).

Let Tmax,w, Tmax,mbe the maximal allowed number of hours of flight per week and per month respec-

tively, and Tguaranteebe the number of flight credits corresponding to the minimum duty guarantee cost.

In fact, a crew is paid at least some amount, even for flight credits lower than Tguarantee. On the other hand,

additional costs are paid when the flight credit exceeds Tguarantee.

Two types of decision variables are used: 0–1 variables and integer variables. For each flight segment f

and each flight service s, three 0–1 variables are defined corresponding to the three technical crew colleges

(pilots, officers and instructors):

• xp,f= 1 if pilot p is assigned to the flight segment f; and 0 otherwise,

• yo,f= 1 if officer o is assigned to the flight segment f; and 0 otherwise,

• zi,f= 1 if instructor i is assigned to the flight segment f; and 0 otherwise,

• Xp,s= 1 if pilot p is assigned to the flight service s; and 0 otherwise,

• Yo,s= 1 if officer o is assigned to the flight service s; and 0 otherwise,

• Zi,s= 1 if instructor i is assigned to the flight service s; and 0 otherwise.

Let HSkbe the integer variables defined as the number of extra flight credits exceeding Tguaranteeworked

by the crew member k, k 2 P [ O [ I.

Usingthisnotation,the CrewAssignmentProblemmaythenbeformulatedasdescribedinthe nextsection.

3.2. A first mathematical model: ILP1

We propose to formulate the Crew Assignment Problem as a large scale integer linear program with a

general structure and different types of constraints as follows:

X

subject to:

xp;f?

s=s2SðfÞ

yo;f?

s=s2SðfÞ

zi;f?

s=s2SðfÞ

X

X

X

X

ðILP1Þ

Minimize

p2P

HSpþ

X

o2O

HSoþ

X

i2I

HSi

ð3:1Þ

X

X

X

Xp;s¼ 0

8p 2 P; 8f 2 F;

Yo;s¼ 0

8o 2 O; 8f 2 F;

Zi;s¼ 0

8i 2 I; 8f 2 F;

ð3:2Þ

p

xp;fþ

X

o

yo;fþ

X

i

zi;f¼ 2

8f 2 F;

ð3:3Þ

p

xp;f6 1

8f 2 F;

c

yo;f6 1

8f 2 F;

i

zi;f6 2

8f 2 F;

ð3:4Þ

192

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

Page 7

X

X

?

p

Xp;sþ

X

X

o

Yo;s?

X

X

i

Zi;sP 0

8s 2 S;

p

Xp;s?

X

X

X

X

X

X

X

Xp;sþ Xp;s0 6 1

Yo;sþ Yo;s0 6 1

Zi;sþ Zi;s0 6 1

Xp;sþ Yo;s6 1

Zi;sþ Xp;s6 1

Zi;sþ Yo;s6 1

Zi;sþ Zi0fs6 1

X

X

X

o

Yo;sþ

X

i

Zi;sP 0

8s 2 S;

p

Xp;sþ

o

Yo;sþ

X

i

Zi;sP 0

8s 2 S;

ð3:5Þ

s=s2SðwÞ

ðBTs? Xp;sÞ 6 Tmax;w

8p 2 P; 8w;

s=s2SðwÞ

ðBTs? Yo;sÞ 6 Tmax;w

8o 2 O; 8w;

s=s2SðwÞ

ðBTs? Zi;sÞ 6 Tmax;w

8i 2 I; 8w;

ð3:6Þ

s=s2SðmÞ

ðBTs? Xp;sÞ 6 Tmax;m

8p 2 P; 8m;

s=s2SðmÞ

ðBTs? Yo;sÞ 6 Tmax;m

8o 2 O; 8m;

s=s2SðmÞ

ðBTs? Zi;fsÞ 6 Tmax;m

8i 2 I; 8m;

ð3:7Þ

8ðs;s0Þ 2 LS; 8p 2 P;

8ðs;s0Þ 2 LS; 8o 2 O;

8ðs;s0Þ 2 LS; 8i 2 I;

ð3:8Þ

8ðp;oÞ 2 Ipo; 8s 2 S;

8ði;pÞ 2 Iip; 8s 2 S;

8ði;oÞ 2 Iio; 8s 2 S;

8ði;i0Þ 2 Iii0; 8s 2 S;

ð3:9Þ

s=s2SðmÞ

ðCTs? Xp;sÞ 6 Tguaranteeþ HSp

8p 2 P; 8m;

s=s2SðmÞ

ðCTs? Yo;sÞ 6 Tguaranteeþ HSo

8o 2 O; 8m;

s=s2SðmÞ

ðCTs? Zi;sÞ 6 Tguaranteeþ HSi

8i 2 I; 8m;

ð3:10Þ

xp;f binary

8p 2 P; 8f 2 F;

8o 2 O; 8f 2 F;

8i 2 I; 8f 2 F;

yc;fbinary

zi;f binary

ð3:11Þ

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

193

Page 8

Xp;sbinary

Yo;sbinary

Zi;sbinary

8p 2 P; 8s 2 S;

8o 2 O; 8s 2 S;

8i 2 I; 8s 2 S;

ð3:12Þ

HSpP 0;integer

8p 2 P;

8o 2 O;

8i 2 I.

HSoP 0;integer

HSiP 0;integer

ð3:13Þ

The objective function (3.1) is to minimize the total number of extra flight credits worked by all the crew

members in order to operate the planned flight segments of the considered time period.

Constraints (3.2) link flight segment variables and flight service variables. These constraints require that

if a crew member is assigned to a flight segment, he/she must be assigned to one and only one of the flight

services containing this flight segment.

For each flight segment, constraints (3.3) and (3.4) relate to the composition of the corresponding tech-

nical crew. Constraints (3.3) require that each flight segment be operated by exactly two technical crew

members while constraints (3.4) impose the assignment of at most one pilot, one officer and two instructors.

Thus, constraints (3.3) and (3.4) together lead to the assignment of two technical crew members to two dif-

ferent tasks in each flight segment: a pilot and an officer, an instructor and an officer, a pilot and an instruc-

tor or two instructors.

For each flight service, the assignment of the right technical crew is ensured by the constraints on the

composition of the technical crew for flight segments, combined with constraints (3.2) and (3.5). Indeed,

if a crew member is assigned to a flight segment f, constraints (3.2) require that this crew member be as-

signed to exactly one of the flight services containing it. Let s1 be this flight service. If a second crew mem-

ber is assigned to the flight segment f under consideration, satisfying the crew composition constraints,

relations (3.2) require that this crew member be assigned to exactly one of the flight services containing

it. Let s2 be this flight service, which can be different from s1. To prevent this case, constraints (3.5) impose

the choice of the same flight service for a same flight segment so that, crew composition is respected for each

assigned flight service.

Regulatory restrictions on the number of hours of flight per week and per month are imposed by con-

straints (3.6) and (3.7) respectively.

Constraints (3.8) prohibit the assignment of a same crew member to incompatible flight services of the

set LS.

The possible incompatibilities between crew members are taken into account thanks to constraints (3.9)

that prevent the assignment of two incompatible crew members to a same flight service.

The number of extra flight credits is determined by constraints (3.10).

Constraints (3.11)–(3.13) are the integrality constraints to be imposed on the variables.

The formulation ILP1 contains a limited number of variables but usually a huge number of constraints.

Hence, it would be difficult to solve by standard integer linear programming techniques. However, we show

in the following sections how the special structure of the constraint matrix can be exploited to enhance the

proposed formulation and then to improve the efficiency of standard integer linear programming

techniques.

3.3. An enhanced formulation: ILP2

Before solving the large scale integer linear program ILP1, we introduce a reformulation phase exploit-

ing the particular structure of the constraint matrix. In fact, a large proportion of the constraints in the

model is composed of binary exclusion constraints (3.8). A close examination of the structure of the cor-

194

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

Page 9

responding constraint graph shows that it is indeed quite close to an interval graph. A graph G = (V, E)

with node set V and edge set E is called an interval graph if there is an assignment of an interval of the real

line to each v 2 V such that (u, v) 2 E if and only if the intervals corresponding to u and v intersect.

(Golumbic, 1980).

If we consider the graph G = (V, E) where the nodes in V correspond to the valid flight services, and the

edges in E represent pairs of incompatible flight services, G is an interval graph if and only if each edge of E

links two flight services which must be performed simultaneously during some period of time. In our case,

this condition is not exactly satisfied because incompatibility between flight services is not only due to over-

lap of some period of time but also a few other constraints deriving from the collective agreements. So the

exclusion constraint graph is not exactly an interval graph. However it is realized that it is close to the struc-

ture of an interval graph in the sense that only a few edges need to be added/deleted to recover the structure

of an interval graph.

In view of this, we propose to replace the exclusion constraints (3.8) in the formulation ILP1 by stronger

and less numerous ones: the clique constraints.

A set C ? V is called a clique if each pair of nodes in C is joined by an edge. A maximal clique is a clique

which is not contained in another clique (Berge, 1970). Thus, the exclusion constraints are satisfied if and

only if no more than one node (i.e. flight service) is selected from each maximal clique. This condition is

expressed by clique constraints of the formP

In order to be more general, and knowing that an interval graph is chordal (Nemhauser and Wolsey,

1988), we used the efficient algorithms available for enumerating all maximal cliques for chordal graphs

as a basis for enumerating maximal cliques in such ?near-interval graphs? which are ?near-chordal graphs?

too. A chordal graph is a graph where each cycle with more than 3 edges has a chord.

The ideaof replacing the exclusionconstraintsbythe clique constraints ismotivated bythe well-knownfact

that the number of maximal cliques in an interval graph is bounded by the number of nodes in the considered

graph. Thus, the number of maximal cliques of the exclusion constraint graph of the formulation ILP1 can be

expected to be sufficiently small to make it possible to generate them all,andto achieve a substantial reduction

on the total number of constraints in the model. This is confirmed by the results shown in Table 3.

To generate the clique constraints, the following three steps are proposed.

i2Cxi6 1 where C is the set of nodes of a maximal clique

(Nemhauser and Wolsey, 1988).

Step 1. Build the associated constraint graph, i.e. the graph in which:

• the nodes correspond to all flight services,

• the edges set is defined by linking flight service sito flight service sjif they are incompatible. So

each edge corresponds to an exclusion constraint expressed between two incompatible flight ser-

vices of the set LS.

Step 2. Determine all the maximal cliques of the exclusion constraint graph built in Step 1. To achieve this,

the particular structure of chordal graphs (Berge, 1970; Golumbic, 1980; Gondran and Minoux,

1993; Nemhauser and Wolsey, 1988) is used as described in Zeghal (2002). Let C, indexed by c,

be the set of the corresponding maximal cliques.

Step 3. Generate the clique constraints. Each maximal clique leads to a clique constraint as follows:

X

X

X

s2c

Xp;s6 1

8c 2 C; 8p 2 P;

s2c

Yo;s6 1

8c 2 C; 8o 2 O;

s2c

Zi;s6 1

8c 2 C; 8i 2 I.

ð3:14Þ

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

195

Page 10

The resulting enhanced formulation for the Crew Assignment Problem, denoted ILP2, is obtained by

replacing, in the initial formulation ILP1, the exclusion constraints (3.8) by the clique constraints (3.14).

Computational results obtained on a series of real test problems, and reported in Section 4, confirm that

formulation ILP2 actually makes the solution process much more efficient.

To illustrate the impact of such an enhancement phase, we consider an example with 8 nodes and 20

edges corresponding to the set of the exclusion constraints. The objective is to find a maximum cardinality

stable set i.e. to maximize the number of nodes selected without violating the incompatibility constraints.

Fig. 1 represents the associated constraint graph.

The constraint graph of Fig. 1 has 2 maximal cliques: (1, 2, 3, 4) and (1, 4, 5, 6, 7, 8). So, if we apply the

enhancement phase, we will generate 2 new clique constraints, which will replace all the original binary

exclusion constraints. These clique constraints can be written as follows:

x1þ x2þ x3þ x46 1;

x1þ x4þ x5þ x6þ x7þ x86 1;

where "i, i = 1, ..., 8:

if the node i is selected;

0 otherwise.

ð3:15Þ

xi¼

1

?

We note that the clique constraints are much less numerous than the exclusion constraints.

Besides this, if we relax the integrality constraints, and solve the relaxed problem, we obtain the follow-

ing optimal objective functions:

• using the binary exclusion constraints: Zrelaxed= 4,

• using the clique constraints: Zrelaxed= 2.

The comparison of the optimal relaxed solution values to the optimal binary objective function

Zbinary= 2 shows that the clique constraints are stronger than the binary exclusion constraints.

This example is a typical situation where the clique constraints enhance the formulation by tightening

the linear relaxation while reducing the number of constraints.

4. Solving the Crew Assignment Problem by standard integer linear programming techniques

The first step in solving the Crew Assignment Problem is the construction of all valid flight services from

the flight segments of the considered time period.

8

7

6

5

4

3

2

1

Fig. 1. Constraint graph associated to the example.

196

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

Page 11

For the considered airline company TunisAir, there is only one base for fleet but three different near

bases for crew. So, we suppose that it is always possible to reposition the crew members by using deadheads

between different crew bases such that crew members are transported from a crew base corresponding to the

end station of a flight service to their crew base or from their crew base to another crew base corresponding

to the starting station of a flight service. Consequently, we do not have to introduce more constraints to

take into account the crew base of each crew member.

Besides this, special constraints on flight service construction, specific to TunisAir, have been added.

These constraints impose to give rests in the crew base, when it is possible. So, for each flight service, if

its ending station is not a crew base, required deadheads are added and some constraints (maximal

duration of a flight service) are imposed to keep the flight service under consideration valid. The same pro-

cedure is applied to flight services needing rest before departure, and leaving from a station which is not a

crew base.

If the required deadheads violate the maximal duration constraints, and the various flight segments com-

posing the flight service are covered by at least another flight service, we eliminate the flight service under

consideration. Otherwise, we do not add the deadheads and we give rest to the crew members in the ending

station of the flight service.

Since a valid flight service is composed of a limited number of flight segments satisfying the set of con-

straints deriving from regulation and collective agreements, we could easily obtain the set of all valid flight

services by developing an enumerative procedure.

The assignment of the required technical crew to the flight services is then solved by standard integer

linear programming techniques (CPLEX 6.0.2), using the formulations ILP1 and ILP2 proposed in Section

3.

The computational results obtained on 20 real test problems provided by the Tunisian airline

company TunisAir, are displayed in Tables 1–3. No initial solutions were used for any of the test

problems.

Table 1

Test problem characteristics

ProblemsFleet family Time periodFlight segmentsCrew members

P.01

P.02

P.03

P.04

P.05

P.06

P.07

P.08

P.09

P.10

P.11

P.12

P.13

P.14

P.15

P.16

P.17

P.18

P.19

P.20

A 300

A 300

A 300

A 300

A 300

B 727

A 300

A 300

A 300

A 300

A 320

B 727

B 727

B 727

B 737

B 737

B 737

A 320

B 737

B 737

1 month

1 month

1 month

3 weeks

2 weeks

2 weeks

10 days

1 week

1 week

1 week

1 week

1 week

1 week

1 week

1 week

1 week

1 week

5 days

5 days

5 days

92

182

195

166

88

210

94

59

68

86

155

99

104

121

125

170

104

100

101

83

10

16

18

18

16

34

20

18

20

16

38

30

32

34

32

36

32

38

40

39

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

197

Page 12

Table 1 displays the following attributes of each problem tested.

• problem name,

• fleet family: we consider 4 fleet families: Airbus 300, Airbus 320, Boeing 727 and Boeing 737,

• time period: it ranges from 5 days to 1 month,

• flight segments: the number of flight segments to be operated within the considered time period,

• crew members: the total number of technical crew members (Pilots, Officers and Instructors) available

during the considered time period.

As can be seen from Table 1, the problems involve between 59 and 210 flight segments which have to be

operated within different time periods ranging from 5 days to 1 month. The total number of available crew

members to be assigned to the flight segments depends on the fleet family and varies between 10 and 40.

Table 2 describes the computational results obtained on the formulation ILP1. The considered real test

problems have between 2.270 and 17.000 variables and between 9.808 and 268.316 constraints, with this

formulation.

The first part of Table 2 concerns the construction of valid flight services and shows the size of the result-

ing formulation ILP1. For each problem, we report the number of the valid flight services (Flight services)

built from the set of the considered flight segments (Flight segments) and the number of variables (Vari-

ables) and constraints (Constraints) of formulation ILP1. It is observed that the number of flight services

is of the same order of magnitude as the number of flight segments. This justifies the application of an enu-

merative procedure to build all the valid flight services.

The middle part of the table focuses on the solution of the linear relaxation (3.1)–(3.10) of the formu-

lation ILP1 and displays the following information:

Table 2

Computational results obtained on formulation ILP1

Problems Flight

segments

Flight

services

VariablesConstraints

ZLP

CPULP

(seconds)

ZIP

CPUIP

(seconds)

% Gap

P.01

P.02

P.03

P.04

P.05

P.06

P.07

P.08

P.09

P.10

P.11

P.12

P.13

P.14

P.15

P.16

P.17

P.18

P.19

P.20

92

182

195

166

88

210

94

59

68

86

155

99

104

121

125

170

104

100

101

83

134

238

259

214

111

289

123

80

84

116

203

135

143

167

174

228

142

135

135

109

2270

6736

8190

6858

3200

17000

4360

2520

3060

3248

13642

7050

7936

9826

9600

14354

7968

8968

9480

7527

9808

42924

53040

47902

20698

191223

43114

26546

23436

31700

235054

76161

87401

99934

150461

268316

105290

140895

151498

105147

608

2904

2754

4282

2582

5830

8724

1844

3808

11956

8598

2574

4120

3480

8578

9400

4650

7920

6782

3774

11

52

80

65

20

968a

2904a

2754a

4282a

2582a

–

8964a

1964

3808a

12012a

–

2949

4120a

3520

–

–

4930

–

–

–

83 59.2

0

0

0

0

–

2.8

6.5

0

0.5

–

14.6

0

1.1

–

–

6.0

–

–

–

1531

2420

1510

1009

–

6852

19567

4880

749

–

14452

6153

15142

–

–

28609

–

–

–

1792

36

26

20

31

3987

75

69

104

678

4182

114

319

323

91

The symbol ‘‘–’’ indicates that no integer solution could be found after 8 hours of computation.

aWhen exact optimality has been obtained.

198

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

Page 13

• ZLP: the value of the optimal objective function corresponding to the relaxed problem. It is expressed in

terms of additional flight credits (in minutes),

• CPULP(seconds): the computation time, in seconds, needed to obtain this solution (ZLP).

The last part of the table concerns the best integer solutions obtained. It reports:

• ZIP: the value of the objective function corresponding to the best integer solution found. It is

expressed in terms of additional flight credits (in minutes). Exact optimal solutions are pointed out by

a star ‘‘*’’ while the symbol ‘‘–’’ indicates that no integer solution could be found within 8 hours of

computation.

• CPUIP(seconds): the computation time, in seconds, required to find this best integer solution (ZIP).

Finally, we provide the gap (% Gap) between the best integer solution (ZIP) and the optimal linear relax-

ation solution (ZLP) in percents.

Computational results shown in Table 2 confirm the practical applicability of the ILP1 formulation.

As can be seen in Table 2, the application of the CPLEX solver in MIP mode provides optimal integer

solutions to 45% of the problems tested (those having up to 7.936 variables and up to 87.401 constraints are

solved exactly in less than 2 hours).

However, in spite of relatively long computation times (up to 8 hours), non-optimal integer solutions are

found for only 20% of the problems tested while no integer solution is found for 35% of the instances.

Table 3 displays the computational results obtained on the enhanced formulation ILP2. No initial solu-

tions were used for any of the test problems.

The first part of this table concerns the size of the resulting formulation ILP2. For each problem, we

indicate the number of maximal cliques generated for the exclusion constraint graph (Maximal cliques).

Table 3

Computational results obtained on formulation ILP2

ProblemsFlight

services

Maximal

cliques

Variables Constraints

ZLP

CPULP

(seconds)

ZIP

CPUIP

(seconds)

% Gap

P.01

P.02

P.03

P.04

P.05

P.06

P.07

P.08

P.09

P.10

P.11

P.12

P.13

P.14

P.15

P.16

P.17

P.18

P.19

P.20

134

238

259

214

111

289

123

80

84

116

203

135

143

167

174

228

142

135

135

109

43

81

89

81

42

77

41

27

21

22

47

33

44

35

47

64

28

26

30

20

2270

6736

8190

6858

3200

17000

4360

2520

3060

3248

13642

7050

7936

9826

9600

14354

7968

8968

9480

7527

2098

6492

7590

6520

3178

12791

3914

2336

2636

2948

9714

5421

6281

6672

6877

10844

5834

6185

6378

5229

968

2904

2754

4282

2582

5830

8964

1844

3808

12012

8598

2574

4120

3480

8578

9400

4650

7920

6782

3774

7 968a

2904a

2754a

4282a

2582a

–

8964a

1844a

3808a

12012a

8608

2574a

4120a

3685

9714

–

4650a

9038

7077

3869

49

573

2082

541

134

–

223

1365

3676

0

0

0

0

0

–

0

0

0

0

0.1

0

0

5.9

13.2

–

0

14.1

4.3

2.5

29

33

49

10

48

55

14

9

11

801

27

23

59

295

657

55

110

151

24

32

14828

23195

3285

3601

8064

–

20355

4937

24807

16888

The symbol ‘‘–’’ indicates that no integer solution could be found after 8 hours of computation.

aWhen exact optimality has been obtained.

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

199

Page 14

We also report the number of variables (Variables) and constraints (Constraints) of the enhanced formu-

lation ILP2.

The middle part of the table is related to the solution of the linear relaxation of the formulation ILP2. It

shows:

• ZLP: the value of the optimal objective function corresponding to the relaxed problem. It is expressed in

terms of additional flight credits (in minutes),

• CPULP(seconds): the computation time, in seconds, needed to obtain this solution (ZLP).

The last part of the table describes the best integer solutions obtained. It indicates:

• ZIP: the value of the objective function corresponding to the best integer solution found. It is

expressed in terms of additional flight credits (in minutes). Exact optimal solutions are pointed

out by a star ‘‘*’’ while the symbol ‘‘–’’ indicates that no integer solution could be found within

8 hours of computation.

• CPUIP(seconds): the computation time, in seconds, required to find this best integer solution (ZIP).

Finally, we provide the gap (% Gap) between the best integer solution (ZIP) and the optimal linear relax-

ation solution (ZLP) in percents.

Table 3 shows that the exclusion constraint graphs have a very reduced number of maximal cliques,

which confirms the validity of our assumption and, to a large extent, explains the improvements in effi-

ciency obtained with ILP2.

As can be seen in Table 3, the enhanced formulation ILP2 has much fewer constraints than the formu-

lation ILP1. Indeed, for the considered real test problems which have between 9.808 and 268.316 con-

straints with formulation ILP1, there are only between 2.098 and 12.791 constraints with formulation

ILP2. This dramatic reduction in the total number of constraints (ranging from 79% to 96%) is due to

the replacement of the binary exclusion constraints by the clique constraints: the number of pairs of incom-

patible flight services is enormous as compared with the number of maximal cliques in the associated con-

straint graph.

Comparisons between the results obtained with the two formulations ILP1 (see Table 2) and ILP2

(see Table 3) show that formulation ILP2 improves significantly the efficiency of the solution process:

as can be seen in Table 3, the application of the CPLEX solver in MIP mode to the enhanced formu-

lation ILP2 gives optimal integer solutions to more problems (60% of the tested problems against 45%

with the formulation ILP1) typically in less than 1 h. For the tested problems solved optimally with

formulation ILP1, the computation time is much reduced while using formulation ILP2, this reduction

can reach 97% in some cases. Furthermore, for 30% of the considered problems, integer but non-opti-

mal solutions are found and thanks to this enhanced formulation, after 8 computation hours, no fea-

sible integer solution could be found for only 10% of the tested problems (against 35% with formulation

ILP1).

The main explanatory factors of the improved results using ILP2 as compared with ILP1 are the

following:

• the computation times needed to solve the linear relaxations are significantly less with ILP2 as compared

with ILP1;

• the lower bounds provided by the linear relaxation of ILP2 appear to be stronger for a number of

instances (namely P.01, P.07 and P.10);

• the average number of fractional variables in the optimal solutions to the linear relaxation appear to be

significantly reduced with ILP2.

200

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

Page 15

5. Heuristic method

Since finding feasible integer solutions turned out to be difficult for some instances, even with formula-

tion ILP2, when using the standard heuristics imbedded into the MIP solver CPLEX 6.0.2, investigating the

possibility of designing improved heuristics was soon recognized as an important issue. We describe in this

section a heuristic approach based on a rounding strategy embedded in a partial tree-search procedure.

From the computational results presented in Section 5.2, it will be seen that this heuristic provides fea-

sible integer solutions of better quality in a higher proportion of cases as compared with CPLEX 6.0.2.

5.1. Description of the method

The proposed heuristic method consists in applying the following steps in an iterative way:

Step 1. Choose a branching node among the set of active nodes.

Step 2. For the selected node, choose a separation variable.

Step 3. Generate 2 new nodes corresponding to the 2 new problems obtained by fixing the separation var-

iable to the values 0 and 1 respectively.

Step 4. Solve the linear relaxation of these 2 new problems, using the primal Simplex method.

Step 5. Given the new values of the linear relaxation solutions obtained in Step 4, update the state of the

unexplored nodes (active or inactive).

Step 6. Round, if some requirements are met, the fractional variables of the linear relaxation solution

obtained in Step 4 to the closer integer values 0 or 1.

Step 7. Test the feasibility of the integer solution constructed in Step 6.

Step 8. If the integer solution constructed in Step 6 is feasible and has a value lower than that of the low-

est integer solution encountered, save it as the best integer solution found.

This iterative process continues until:

• an integer solution with a value equal to that of the best linear relaxation solution encountered is found

or

• a maximal computation time is reached or

• a maximal number of explored nodes is exceeded.

5.1.1. Node selection

There are essentially two different rules for the node selection: ‘‘Breadth First’’ and ‘‘Depth First’’. We

propose here to use a mixed tree exploration strategy combining these two rules by applying a ‘‘Breadth

First’’ rule and an active nodes? limitation strategy.

The selected ‘‘Breadth First’’ rule consists in choosing, among the set of active nodes, a node which has

the best linear relaxation solution?s value. And if many nodes are eligible, the rule consists in selecting the

node which is the closest to the root node.

The active nodes? limitation strategy consists in selecting among the set of the generated and unexplored

nodes, a limited number of nodes which will be active and thus can be considered for branching: it is the set

of active nodes which is updated after each node exploration (Step 5).

For the selection of the active nodes, we choose those having the best evaluations (i.e. values of the linear

relaxation solutions) while being the deepest in the tree.

The number of active nodes, denoted by k, is a parameter of the proposed method. It has a great

influence on the proposed tree exploration strategy: for small values of k, the tree exploration strategy

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

201

Page 16

converges to a ‘‘Depth First’’ search and for large values of k, the tree exploration strategy converges to a

‘‘Breadth First’’ search. For intermediate values, we have a mixed tree exploration strategy.

5.1.2. Variable selection

For a selected node, the separation variable is chosen among the fractional variables of the correspond-

ing linear relaxation solution. We suggest to select the variable which is the closest to 0.5 in order to max-

imize the disparity between the two problems that will be generated.

5.1.3. Rounding strategy

For each selected node, if the corresponding linear relaxation solution is not integer, we evaluate the

number of its fractional variables contained in the interval [a; 1 ? a] where a is a real parameter bounded

by 0 and 0.5 strictly. If this number is lower than a maximal value nmax(e.g. nmax= 10% of the total num-

ber of basic variables), all the fractional variables of this solution are rounded to the nearer integer

value 0 or 1.

5.2. Computational results

The heuristic method has been applied to the 20 real test problems provided by TunisAir and presented

in Table 1 of Section 4. The used formulation is ILP2 for which better solutions are expected.

The parameters of the method are fixed as follows:

• a = 0.1.

• nmax= 10% of the total number of basic variables of the corresponding linear relaxation solution.

For each problem, we have tested different values of the parameter k (2, 5, 10 and 100) and reported only

the best results obtained. For more details, see Zeghal (2002).

Table 4 displays the computational results obtained by the heuristic method. No initial solutions were

used for any of the test problems.

For each problem, we indicate the number of variables (Variables) and constraints of the two formula-

tions ILP1 and ILP2 (respectively Constraints ILP1 and Constraints ILP2).

Then, we compare the efficiency of the exact and approximate methods by displaying:

1. The following gaps, in percents:

• Z1 (%) exact and Z2 (%) exact: the gaps in percents between the best integer solution obtained by

solving exactly formulations ILP1 and ILP2 respectively and the best lower bound (i.e. the optimal

linear relaxation solution of the formulation ILP2),

• Z (%) approx: the gap in percents between the best integer solution obtained by the heuristic method

applied to the formulation ILP2, and best lower bound (i.e. the optimal linear relaxation solution of

the formulation ILP2).

2. The computation time in seconds, needed to find the best integer solution mentioned. So, CPU1(sec-

onds) and CPU2(seconds) correspond to the computation time required by the exact methods of

CPLEX 6.0.2. when applied to the formulations ILP1 and ILP2 respectively. CPUapp(seconds) presents

the computation time required by the heuristic method applied to the formulation ILP2.

As can be seen in Table 4, the heuristic method achieves a better trade off between solution quality and

computational effort: it gives optimal integer solutions in less than 40 minutes to half of the test problems,

and approximate integer solutions with good quality (within 5% off the lower bound) in less than 47 min-

utes for the other problems.

202

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

Page 17

Table 4 shows that the heuristic method solves real problems for which CPLEX 6.0.2. could not find any

integer solution within 8 computing hours.

For the instances that exact methods can not solve to optimality, the approximate integer solutions given

by the heuristic method are generally closer to the lower bound than those given by the exact methods.

However, for some cases (e.g. instance P11), the slight degradation in solution quality is compensated

for by a substantial reduction in computation time.

6. Possible extensions

The new approach developed in this paper was tested for the Crew Assignment Problem arising from our

study case TunisAir. Thus, the proposed formulations consider only the constraints imposed on this airline

company such as the maximal duration of a flight service, the maximal flying time in a flight service, the

minimum number of hours of rest between flight services, the incompatibilities between technical crew

members, etc. While these constraints involve only flight services and the incompatibilities between pairs

of flight services, our formulations can be extended to more common constraints imposed on a sequence

of several consecutive flight services such as: the maximum allowed time away from base; and for any spec-

ified number of consecutive working days, the maximal allowed flight time, the days off requirements and

the maximum number of overnights away from base. We are going to show that such constraints can be

incorporated in our formulation by adding a (limited) number of variables and constraints. Clearly the

resulting extended formulations may possibly be more difficult to solve exactly, further computational

experiments will therefore be needed. This is left for future work.

In the following subsections we get into some detail on how our basic model could be accommodated to

handle several types of additional constraints frequently encountered in Crew Assignment Problems.

Table 4

Computational results obtained by the heuristic method applied on formulation ILP2

Pbs VariablesConstraints

(ILP1)

Constraints

(ILP2)

Z1 (%)

exact

Z2 (%)

exact

Z (%)

approx.

CPU1

(seconds)

CPU2

(seconds)

CPUapp

(seconds)

P.01

P.02

P.03

P.04

P.05

P.06

P.07

P.08

P.09

P.10

P.11

P.12

P.13

P.14

P.15

P.16

P.17

P.18

P.19

P.20

2270

6736

8190

6858

3200

17000

4360

2520

3060

3248

13642

7050

7936

9826

9600

14354

7968

8968

9480

7527

9808

42924

53040

47902

20698

191223

43114

26546

23436

31700

235054

76161

87401

99934

150461

268316

105290

140895

151498

105147

2098

6492

7590

6520

3178

12791

3914

2336

2636

2948

9714

5421

6281

6672

6877

10844

5834

6185

6378

5229

0

0

0

0

0

–

0

6.5

0

0

–

14.6

0

1.1

–

–

6.0

–

–

–

0

0

0

0

0

–

0

0

0

0

0.1

0

0

5.9

13.2

–

0

14.1

4.3

2.5

0

0

0

0

0

3.5

0

0.3

0

0

3.4

4.9

0

3.4

1.7

2.8

0

1.9

4.8

4.1

83 49

573

2082

541

134

–

223

1365

3676

53

392

1537

469

152

1991

113

987

38

15

2195

2799

2382

1749

614

1375

688

596

805

260

1531

2420

1510

1009

–

6852

19567

4880

749

–

14452

6153

15142

–

–

28609

–

–

–

32

14828

23195

3285

3601

8064

–

20355

4937

24807

16888

The symbol ‘‘–’’ indicates that no integer solution could be found after 8 hours of computation.

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

203

Page 18

6.1. The maximal allowed flight time for any set of consecutive working days

A maximal allowed flight time can be imposed on any set of N consecutive working days (not only cal-

endar weeks or months).

To integrate this type of constraints in our model, let Tmaxbe the maximal allowed flight time for this

period. For each day t 2 [1, jCj ? N + 1] where jCj is the number of days in the planning period C, define:

• FS(t) as the set of flight services included totally or partially in the period [t, t + N ? 1],

• HFs(t) as the number of hours of flight included in this period, for flight service s.

Using the above notation, we propose to replace constraints (3.6) and (3.7) by the following ones:

X

X

X

We notice that these new constraints (3.16) are only slightly more numerous than the constraints (3.6)

and (3.7).

s=s2FSðtÞ

ðHFsðtÞ ? Xp;sÞ 6 Tmax

8p 2 P; 8t 2 ½1;jCj ? N þ 1?;

s=s2FSðtÞ

ðHFsðtÞ ? Yo;sÞ 6 Tmax

8o 2 O; 8t 2 ½1;jCj ? N þ 1?;

s=s2FSðtÞ

ðHFsðtÞ ? Zi;sÞ 6 Tmax

8i 2 I; 8t 2 ½1;jCj ? N þ 1?:

ð3:16Þ

6.2. The days off requirements for consecutive working days

The work convention often imposes that each crew member must have a day off, in his/her crew base,

after a given number of consecutive working days, say Q.

To integrate this type of constraints in our model, define, for each day t of the planning period C, S(t) as

the set of flight services included totally or partially in the day t. Let D(t) be the set of flight services starting

from stations other than crew base, and included partially or totally in the day t, and similarly, let A(t) be

the set of flight services ending at stations other than crew base, and included partially or totally in the

day t.

For each day t of the planning period C and each crew member k (k 2 P [ O [ I), define the binary var-

iable wk

We notice that a crew member k is working on day t:

twhich is equal to 1 if the crew member k is working during day t, and zero otherwise.

(a) if he/she is assigned to a flight service s 2 S(t), or

(b) if he/she is not assigned to a flight service s 2 S(t), but he/she is out of his/her base.

So, to express these two possibilities (a) and (b), and to take into account the constraints on the day off,

we propose to add the following inequalities:

(a)

X

X

X

s2SðtÞ

Xp;s6 2wp

t

8p 2 P; 8t 2 C;

s2SðtÞ

Yofs6 2wo

t

8o 2 O; 8t 2 C;

s2SðtÞ

Zifs6 2wi

t

8i 2 I; 8t 2 C;

204

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

Page 19

(b)

X

X

X

X

X

X

s2Aðt?1Þ

Xp;sþ

X

X

X

s2Dðtþ1Þ

Xp;s? 3

X

X

s2SðtÞ

Xp;s6 3dp

tþ 1

8p 2 P; 8t 2 ½2;jCj ? 1?;

s2Aðt?1Þ

Yo;sþ

s2Dðtþ1Þ

Yo;s? 3

s2SðtÞ

X

Yo;s6 3do

tþ 1

8o 2 O; 8t 2 ½2;jCj ? 1?;

s2Aðt?1Þ

Zi;sþ

sDðtþ1Þ

Zi;s? 3

s2SðtÞ

Zi;s6 3di

tþ 1

8i 2 I; 8t 2 ½2;jCj ? 1?;

ð3:17Þ

j2½t;tþQ?

wp

j6 Q

8p 2 P; 8t 2 ½1;jCj ? Q?;

j2½t;tþQ?

wo

j6 Q

8o 2 O; 8t 2 ½1;jCj ? Q?;

j2½t;tþQ?

wi

j6 Q

8i 2 I; 8t 2 ½1;jCj ? Q?.

ð3:18Þ

Constraints (3.17) ensure that variables wk

Assuming that a crew member can be assigned to at most 2 consecutive flight services included partially or

totally in a given day t (this is typical), in constraints (3.17), the quantitiesP

of constraints (a) and in constraints (b).

In constraints (3.17), the inequalities (b) force variables wk

ttakes the value 1 if the crew member k is working on day t.

s2SðtÞXp;s,P

s2SðtÞYo;s and

P

s2SðtÞZi;sare less than or equal to 2; this explains the use of the constants appearing on the right-hand side

tto take the value 1 if on day t, crew member k:

• had a flight service ending at a place different from his/her crew base on the previous day (first term),

• has a flight service starting from a place different from his/her crew base on the following day (second

term),

• does not work on this day t (third term).

Inequalities (3.18) ensure that a crew member can not work more than Q consecutive days.

The constraints on assigning days off can thus be integrated in our model by adding some variables and

constraints: their number is proportional to (number of crew members)*(number of days in the planning

period).

6.3. The maximum allowed time away from base

The work convention often stipulates that the time away from base must be less than or equal to a given

number of consecutive days, say TAmax.

Let D(t) (respectively A(t)) be the set of flight services starting from (ending at) places other than crew

base, and included partially or totally in the day t. For each day t of the planning period C and each crew

member k (k 2 P [ O [ I), define the binary variable qk

from his/her base in day t, and zero otherwise.

We notice that a crew member k is away from his/her base in day t:

twhich is equal to 1 if the crew member k is away

(a) if he/she is assigned to a flight service s 2 DðtÞ [ AðtÞ, or

(b) if he/she is in a place other than his/her crew base, without being assigned to any flight service (i.e.

he/she had a flight service ending at this place on the previous day, he/she does not work on day t

and he/she has a flight service starting from a place other than his/her crew base on the following day).

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

205

Page 20

So, to express these two possibilities (a) and (b), and to take into account the constraints on the time

away from base, we propose to add the following inequalities:

(a)

X

X

X

s2DðtÞ[AðtÞ

Xp;s6 2qp

t

8p 2 P; 8t 2 C;

s2DðtÞ[AðtÞ

Yo;s6 2qo

t

8o 2 O; 8t 2 C;

s2DðtÞ[AðtÞ

Zi;s6 2qi

t;

8i 2 I; 8t 2 C;

(b)

X

X

X

s2Aðt?1Þ

Xp;sþ

X

X

X

s2Dðtþ1Þ

Xp;s? 3

X

X

X

s2DðtÞ[AðtÞ

Xp;s6 3qp

tþ 1

8p 2 P; 8t 2 ½2;jCj ? 1?;

s2Aðt?1Þ

Yo;sþ

s2Dðtþ1Þ

Yo;s? 3

s2DðtÞ[AðtÞ

Yo;s6 3qo

tþ 1

8o 2 O; 8t 2 ½2;jCj ? 1?;

s2Aðt?1Þ

Zi;sþ

s2Dðtþ1Þ

Zi;s? 3

s2DðtÞ[AðtÞ

Zi;s6 3qi

tþ 1

8i 2 I; 8t 2 ½2;jCj ? 1?;

ð3:19Þ

X

X

X

j2½t;tþTAmax?

qp

j6 TAmax

8p 2 P; 8t 2 ½1;jCj ? TAmax?;

j2½t;tþTAmax?

qo

j6 TAmax

8o 2 O; 8t 2 ½1;jCj ? TAmax?;

j2½t;tþTAmax?

qi

j6 TAmax

8i 2 I; 8t 2 ½1;jCj ? TAmax?.

ð3:20Þ

Constraints (3.19) ensure that variables qk

ber k is away from base or not. Again, assuming that a crew member can be assigned to at most two con-

secutive flight services included partially or totally in a given day t, in constraints (3.19), the quantities

P

In constraints (3.19), the inequalities (b) force variables qk

tare taking the right values to express whether the crew mem-

s2DðtÞ[AðtÞXp;s,P

s2DðtÞ[AðtÞYo;sandP

s2DðtÞ[AðtÞZi;scan take only values in {0, 1, 2}; this explains the use of

the constants appearing on the right-hand side of constraints (a) and in constraints (b).

tto take the value 1 if on day t, crew member k:

• had a flight service ending at a place different from his/her crew base on the previous day (first term),

• has a flight service starting from a place different from his/her crew base on the following day (second

term),

• is not working on this day t (third term).

Inequalities (3.20) express the constraints on maximum allowed time away from base.

For some airline companies, this type of constraints is expressed differently: exceeding the maximum al-

lowed time away from base (TAmax) is not prohibited but only penalized. To formulate that, let Ukbe the

penalty associated with each extra day that a crew member k spends away from base. Then, for each day t

of the planning period C and each crew member k, define binary variable dk

crew member k has to spend an extra day away from his/her base in the period [t, t + TAmax] and zero

otherwise.

twhich is equal to 1 if the

206

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

Page 21

The objective function (3.1) and the constraints (3.20) become respectively:

X

þ

t2½0;jCj?TAmax?

X

X

X

The constraints on maximum allowed time away from base can thus be integrated in our model by add-

ing some variables and constraints: their number is proportional to (number of crew members)*(number

of days in the planning period).

Minimize

p2P

HSpþ

X

X

o2O

HSoþ

X

X

i2I

HSiþ

X

t2½0;jCj?TAmax?

X

p2P

Updp

tþ

X

t2½0;jCj?TAmax?

X

o2O

Uodo

t

i2I

Uidi

t

ð3:21Þ

j2½t;tþTAmax?

qp

j6 TAmaxþ dp

t

8p 2 P; 8t 2 ½0;jCj ? TAmax?;

j2½t;tþTAmax?

qo

j6 TAmaxþ do

t

8o 2 O; 8t 2 ½0;jCj ? TAmax?;

j2½t;tþTAmax?

qi

j6 TAmaxþ di

t

8i 2 I; 8t 2 ½0;jCj ? TAmax?.

ð3:22Þ

6.4. The maximum number of overnights away from base for consecutive working days

Another type of constraints that can be imposed by the work convention is the maximum total number

of nights (denoted by TOmax) spent by a crew member away from his/her base for any R consecutive work-

ing days.

For each day t of the planning period C (t 2 [1, jCj ? 1]) and each crew member k (k 2 P [ O [ I), de-

fine the binary variable hk

his/her base, and zero otherwise.

Using the same notation as in Section 6.3, this type of constraints can be taken into account by adding

the following inequalities as well as constraints (3.19):

twhich is equal to 1 if the crew member k will spend the night (t, t + 1) away from

qp

qo

qi

tþ qp

tþ qo

tþ qi

X

X

X

tþ1? 1 6 hp

tþ1? 1 6 ho

tþ1? 1 6 hi

t

8p 2 P; 8t 2 ½1;jCj ? 1?;

8o 2 O; 8t 2 ½1;jCj ? 1?;

8i 2 I; 8t 2 ½1;jCj ? 1?.

t

t

ð3:23Þ

j2½t;tþR?1?

hp

j6 TOmax

8p 2 P; 8t 2 ½1;jCj ? R?;

j2½t;tþR?1?

ho

j6 TOmax

8o 2 O; 8t 2 ½1;jCj ? R?;

j2½t;tþR?1?

Constraints (3.23) ensure that variables hk

ber k is away from base or not for the night (t, t + 1). For each crew member, the inequalities (3.24) express

the constraints on the total number of overnights away from base for any R consecutive working days.

This formulation can also take into account the cost ck

this case, the objective function (3.1) will have additional cost terms and will be expressed as follows:

X

hi

j6 TOmax

8i 2 I; 8t 2 ½1;jPj ? R?.

ð3:24Þ

tare taking the right values to express whether the crew mem-

tof an overnight in day t, for crew member k. In

Minimize

p2P

HSpþ

X

o2O

HSoþ

X

i2I

HSiþ

X

t2C

X

p2P

cp

thp

tþ

X

t2C

X

o2O

co

tho

tþ

X

t2C

X

i2I

ci

thi

t.

ð3:25Þ

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

207

Page 22

7. Conclusion

In this paper, we have studied the Crew Assignment Problem arising in the context of airline companies

operating short and medium haul flights and having specific constraints. This kind of problem is usually

decomposed, in the literature, into two independent problems, formulated and solved sequentially: (a)

the Crew Pairing Problem and (b) the Working Schedules Construction Problem.

To the best of our knowledge, this paper represents the first attempt to solve these two problems simul-

taneously while complying with specific regulation rules and collective agreements. It presents a new formu-

lation of the Crew Assignment Problem as a large scale integer linear program with a general structure.

The suggested enhancement of this formulation by replacing a large number of binary exclusion con-

straints by stronger and less numerous ones (the clique constraints) has led to an important improvement

in computation time and quality of integer solutions. In fact, the computational results carried out on 20

real test problems have shown that standard integer linear programming techniques solved optimally the

majority of the problems and gave good approximate integer solutions for others.

In order to improve the efficiency of the proposed exact methods, a heuristic method was also designed.

Based on a rounding strategy embedded in a partial tree search procedure, this method has solved optimally

half of the tested problems, in less than 40 minutes and given approximate integer solutions with good qual-

ity (within 5% off the lower bound) for the remaining problems in less than 47 minutes using CPLEX 6.0.2.

In spite of the huge size of the considered integer linear programs (up to 17,000 variables and 268,316

constraints with the first formulation and up to 17,000 variables and 12,791 constraints with the enhanced

formulation), our approach has enabled us to find optimal or good approximate solutions within reason-

able computation times.

We notice that the model discussed and solved here considers a specific application through which a gen-

eral methodology has been developed, using state-of-the-art integer programming concepts and tools.

This model does not pretend to be readily applicable to all types of Crew Assignment Problems in all

airline companies, because of the huge variety of regulation rules and collective agreements. However, as

illustrated by the various extensions discussed in Section 6, we do feel that the proposed methodology

has a real potential for wider applicability.

Among the possible future research directions suggested by the present work, it might be worth inves-

tigating more extensive use of polyhedral results in order to further improve the enhanced formulation

(ILP2) proposed here. In fact, we have concentrated our efforts on how to handle the binary exclusion con-

straints while other constraints in the model might equally deserve further investigations.

Acknowledgments

We are grateful to Mr. Fathallah from the Tunisian airline company TunisAir for his fruitful help in the

description of the problem treated here and for providing real data, which allowed us to conduct our

computational tests and prove the computational efficiency and the practical applicability of our approach.

We also thank the referees for their valuable comments which lead to an improved revised version of the

paper.

References

Barnhart, C., Shenoi, R.G., 1998. An approximate model and Solution approach for the long-haul crew pairing problem.

Transportation Science 32, 221–231.

Berge, C., 1970. Graphes et Hypergraphes, DUNOD, Paris.

208

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

Page 23

Desaulniers, G., Desrosiers, J., Dumas, Y., Marc, S., Rioux, B., Solomon, M., Soumis, F., 1997. Crew pairing at Air France. European

Journal of Operational Research 97, 245–259.

Gamache, M., Soumis, F., Marquis, G., Desrosiers, J., 1994. A column generation approach for large scale aricrew rostering problems.

Les Cahiers du GERAD, G-94-20, Ecole des Hautes Etudes Commerciales, Montre ´al, Canada.

Gamache, M., Soumis, F., Villeneuve, D., Desrosiers, J., Ge ´linas, E., 1998. The preferential bidding system at Air Canada.

Transportation Science 32, 246–255.

Golumbic, M.C., 1980. Algorithmic Graph Theory and Perfect Graphs. Academic Press.

Gondran, M., Minoux, M., 1995. Graphes et Algorithmes. Eyrolles, Paris.

Hoffman, K.L., Padberg, M., 1993. Solving airline crew scheduling problems by branch-and-cut. Management Science 39, 657–682.

Lavoie, S., Minoux, M., Odier, E., 1988. A new approach for crew-pairing problems by column generation and application to air

transport. European Journal of Operational Research 35, 45–58.

Lettovsky, L., Johnson, E.L., Nemhauser, G.L., 2000. Airline crew recovery. Transportation Science 34, 337–348.

Minoux, M., 1984. Column generation techniques in combinatorial optimization, a new application to crew-pairing problems. In:

Proceedings XXIVth AGIFORS Symposium, Strasbourg, France, September 1984.

Nemhauser, G.L., Wolsey, L.A., 1988. Integer and Combinatorial Optimization. John Wiley, Chichester.

Ribeiro, C.C., Minoux, M., Penna, M.C., 1989. An optimal column-generation-with-ranking algorithm for very large scale set

partitioning problems in traffic assignment. European Journal of Operational Research 41, 232–239.

Stojkovic, M., Soumis, F., Desrosiers, J., 1998. The operational airline crew scheduling problem. Transportation Science 32, 232–245.

Vance, P.H., Atamtu ¨rk, A., Barnhart, C., Gelman, E., Johnson, E.L., Krishna, A., Mahidhara, D., Nemhauser, G.L., Rebello, R.,

1997. A heuristic Branch-and-Price approach for the airline crew pairing problem. Technical Report LEC-97-06, Georgia Institute

of Technology.

Zeghal, F.M., 2002. Re ´solution de programmes line ´aires en nombres entiers de grandes tailles et application a ` un proble `me

d?affectation en transport ae ´rien. Ph.D. Dissertation, Universite ´ Paris 6, France.

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

209