You are on page 1of 32

Airline Crew Scheduling:

A New Formulation and Decomposition


Algorithm
Pamela H. Vance
Cynthia Barnharty
Ellis L. Johnson
George L. Nemhauser
School of Industrial and Systems Engineering
Georgia Institute of Technology
Atlanta, Georgia 30332-0205 z
July 5, 1994
Revised: May 12, 1995
Abstract
Airline crew scheduling is concerned with nding a minimum cost assign-
ment of ight crews to a given ight schedule while satisfying restrictions dic-
tated by collective bargaining agreements and the Federal Aviation Administra-
tion. Traditionally, the problem has been modeled as a set partitioning problem.
In this paper, we present a new model based on breaking the decision process
into two stages. In the rst stage we select a set of duty periods that cover the
ights in the schedule. Then, in the second stage, we attempt to build pairings
using those duty periods. We suggest a decomposition approach for solving
the model and present computational results for test problems provided by a
major carrier. Our formulation provides a tighter linear programming bound
than that of the conventional set partitioning formulation but is more dicult
to solve.

1
1 Introduction
In this paper we present a new formulation and decomposition approach for the
airline crew scheduling problem. The main advantage of our formulation is that its
linear programming (LP) relaxation provides a stronger bound on the optimal integer
programming (IP) objective function than that of the LP relaxation of the traditional
set partitioning formulation. In fact, we have shown that for some real problem
instances, the LP relaxation of our formulation provides an integer optimal solution
while the set partitioning formulation has a fractional LP solution. Our formulation
is solved using dynamic column generation to limit the number of variables that must
be explicitly included in the problem matrix. The disadvantage of our approach is
that the LP relaxation of this new formulation has proved to be more dicult to solve
than that of the traditional formulation.
In the remainder of Section 1, we describe the crew scheduling problem and present
an overview of work that has been done on it. In Section 2, we present a duty-period
based formulation of the airline crew scheduling problem. We also develop a column
generation algorithm for solving the LP relaxation of this new formulation. This
algorithm breaks the decision process into two stages. In the rst stage we select
a set of duty periods that cover the ights in the schedule. Then, in the second
stage, we attempt to build pairings using those duty periods. In Section 3, we modify
the formulation to speed up the convergence of the column generation algorithm.
Computational results for solving the LP relaxation of the model are presented in
Section 4. In Section 5, we summarize our work.

1.1 Problem Description


The objective of the crew scheduling problem is to nd a minimum cost assignment
of ight crews to a given ight schedule. In particular, the ight schedule considered
includes all ights that have been assigned to a single aircraft type. The crews to be
assigned are all quali ed to y this particular aircraft type and thus can be treated
identically. The assignment of aircraft types to the ight legs, or eet assignment,
is completed before the crew scheduling decision. Models and algorithms for eet
assignment are given in Abara (1989), Hane et al. (1993), and Subramanian et al.
(1994).
 Currently at Auburn University
y Currently at MIT
z This research was supported by NSF SES-91-22674, NSF DDM-9058074, and American Airlines.

2
Although we are considering the problem of scheduling pilots, a similar problem
also exists for scheduling ight attendants. The ight attendant problem tends to be
much larger since a ight attendant may be quali ed to serve on more than one type of
aircraft. Thus, we may not be able to consider the various aircraft types individually.
Also, the restrictions on the assignment of ight attendants to ight segments may
di er signi cantly from those for the pilots. However, the ight attendant problem
does have the same general structure, and similar methodology could be applied.
There are a number of Federal Aviation Administration (FAA) and contractual
restrictions on the assignment of crews to ights. Before listing them in detail, we
start with a few de nitions. A ight leg or segment is a single nonstop ight. A duty
period consists of a sequence of ight legs with short rest periods or sits separating
them. Also included in a duty period are brief and debrief periods at the beginning
and end of the duty period respectively. A duty period can be viewed as a single
workday for a crew. A pairing is a sequence of duty periods with overnight rests
between them. Each pairing begins and ends at the same crew base, which are the
cities where crews are stationed. In some cases a pairing includes ights that the crew
ies as passengers. This type of ight is called a deadhead. Deadheads are typically
used to reposition a crew to a city where they are needed to cover a ight, or to
enable the crew to return to their base at the end of a pairing.

1.2 Restrictions on Construction of Legal Pairings


The FAA and contractual restrictions de ne the structure and cost of legal duty
periods and pairings. In this section we outline some of the types of restrictions that
are typical in the industry. We also present a general cost structure common to many
domestic carriers.
Within a duty period, there are prescribed maximum and minimum sit times
between ight segments called maxsit and minsit respectively. The elapsed time of
a duty period including the brief and debrief periods called elapse must be less than
a maximum allowable value called maxelapse. The total number of hours of actual
ying time called fly in a duty period cannot be greater than a maximum value called
maxfly. The cost of a duty period, bd, expressed in hours is the maximum of three
quantities: a guaranteed minimum number of hours, mg1; a fraction, f 1, times the
elapsed time of the duty; and the actual ying time in the duty period. The cost can
be expressed as:
bd = maxfmg1; f 1  elapse; flyg: (1)
3
Typical values of the parameters that de ne legal duty periods and their costs for
a domestic carrier are maxsit = 4 hours, minsit = 0:5 hours, maxelapse = 12
hours, maxfly = 8 hours, mg1 = 3 hours, and f 1 = 4=7. These values are used
in our implementation. Some of these restrictions may be soft, for instance, duties
with elapsed times longer than 12 hours may be allowed in certain cases if a longer
overnight rest is given before or after. However, in our study, all restrictions were
treated as strict.
Legal pairings may be composed of up to a maximum number of duty periods
called maxduties. A pairing must allow a minimum number of hours of rest between
duties, called minrest. In some cases, for instance when a duty violates maxfly or a
previous rest was shorter than minrest, a longer compensatory rest may be required.
However, since we did not allow these violations in our implementation, these more
complicated rest rules were not considered. The cost of a pairing p in hours, cp, is
the maximum of three quantities: a minimum guarantee, mg2, times the number of
duties in the pairing, NDP; a fraction, f 2, times the total elapsed time of the pairing,
PTAFB;bd.and the sum of the costs of the individual duties that make up the pairing,
d2p The cost can be expressed as:
cp = maxfNDP  mg2; f 2  TAFB;
X b g: (2)
d
d2p
The values used in our study were maxduties = 3, mg2 = 4:75, and f 2 = 2=7.
Because of the cost structure for duties and pairings, a lower bound on the cost
of a given schedule is the total number of hours of ying in the schedule. Penalties
are incurred by pairings that have high TAFB relative to the number of hours own
and pairings that have few hours of ying per duty. Our objective is to nd a set of
pairings that partitions the ights and has cost as close to the total ying time of the
schedule as possible.
Contractual obligations also require that the total ying be divided among the
ight crews at di erent crew bases. These crew base constraints require that the total
amount of ying in hours assigned to crews from a given crew base must be within
a speci ed interval. These restrictions ensure that crews at the various bases will all
have the opportunity to receive credit for approximately the same number of hours
of work each month. Crew base constraints are not considered in the instances we
study.

4
1.3 The Domestic Daily Problem
Domestic and international crew scheduling problems di er due to di erences in the
structure of the ight networks. The hub and spoke structure of the ight network
typical of domestic carriers adds to the complexity of the problem since it leads to
an explosion in the number of possible connections a crew can make and thus the
number of possible pairings.
In our study, we consider the domestic daily problem, that is, assigning crews to
the collection of domestic (U.S.) ights for a single carrier own by a given aircraft
type in one day. The underlying assumptions are that these same ights appear in
the schedule every day. This is not true in practice since the ight schedule is usually
curtailed somewhat on weekends. Typically, any ight own at least four days a week
is included in the daily problem.
Since some of the ights in the daily problem are not own every day of the week,
the daily solution must be modi ed. This modi cation is speci ed by solving the
weekly exceptions problem. The weekly exceptions problem considers ights that
were not included in the daily problem because they are own less than four days a
week and ights from the daily problem that are in broken daily pairings. A daily
pairing is broken if it cannot be own on a particular day of the week because one or
more of the ights in the pairing is not own on that day. The ights in the broken
pairing that are own on the day in question must be covered by some other pairing.
Every month, the airline may modify some of the ights o ered in its schedule.
The transition problem addresses nding crew schedules to cover ights during a
transition between old and new ight schedules. Domestic crew scheduling problems
are typically solved in three stages: daily, weekly exceptions, and transition.
Modeling the problem on a daily basis adds an additional restriction on the pair-
ings. Speci cally, no multiple day pairing in which the same ight segment appears
in more than one duty period is feasible in a daily problem. When a solution to a
daily crew scheduling problem is implemented, each ight in each pairing must be
covered exactly once each day. Thus, on any given day, there will be two crews ying
the same two day pairing, one ying the rst day of the pairing and the other ying
the second. If a two day pairing were allowed to cover the same ight twice, then
two crews would cover the same ight. We could allow these pairings with repeated
ight segments if we assumed that one of the crews would deadhead on the repeated
ight, but we would have to make sure that the cost assigned to the pairing re ected
that deadhead cost. Deadheading requires that the crew be paid for their time and
the airline must either pay for tickets for the crew (if they use a ight operated by

5
another airline), or y the crew in seats that might otherwise be lled by paying pas-
sengers. For these reasons, some airlines prefer not to allow deadheading in domestic
operations if a feasible solution can be found without it. Deadheading is not allowed
in the domestic daily crew scheduling instances we considered.

1.4 Previous Work on Crew Scheduling


A survey of older work on crew scheduling can be found in Arabeyre et al. (1969).
Etschmaier and Mathaisel (1985) provide a more recent, but by no means up-to-date,
survey. Anbil et al. (1991a), (1991b), (1993), Barutt and Hull (1990), Desrosiers at
al. (1991), Gershko (1989), Ho man and Padberg (1993), and Lavoie et al. (1988)
present more recent algorithms and practice.
Most current approaches to crew scheduling center around the set partitioning
problem
min
Xc y
p p
p2P
Xy = 1 i2F (3)
p
p:i2p
yp 2 f0; 1g p 2 P
where yp = 1 if pairing p is in the solution, and 0 otherwise. F is the set of ight
segments and P is the set of pairings. A column p has a 1 in row i if ight i is own
by pairing p, and cp is the cost of pairing p.
In order to use this formulation, pairings must either be enumerated or generated
dynamically. Enumerating pairings can be a complex task due to the large number of
rules that must be checked to ensure their legality and to the large number of pairings.
This is usually accomplished by rst enumerating all the possible duty periods for the
schedule and then enumerating all the possible ways to combine these duty periods
to form pairings. Duty period enumeration can be accomplished by a depth- rst-
search approach. For each ight segment, a tree can be constructed whose root node
represents that ight segment. The root node has a child representing each of the
possible connecting ight segments. At each successive level in the tree, each node
has a child for every possible connection. The depth of the tree will be limited by
the maximum allowable number of ight segments in a duty period. Each path from
the root node to any of its descendants (including only itself) in the tree represents
a candidate duty period. These candidate duty periods must then be checked to

6
ensure that they do not violate any of the legality restrictions. Pairings can also be
enumerated in this manner by constructing a tree with duty periods as the nodes.
Because of the large number of variables in (3) for real instances, for example,
an 800 ight problem may have billions of pairings, a local optimization approach
as discussed by Anbil et al. (1991b) and Gershko (1989) is often used. Graves et
al. (1993) describe the crew scheduling optimization system used by United Airlines.
The system uses a variation of the set partitioning formulation to nd an initial fea-
sible solution by allowing ights to be overcovered or uncovered by paying a penalty.
Once an initial feasible solution is found, local optimization is used to nd potential
improvements.
To obtain a better estimate of the global optimum, Anbil, Tanga, and Johnson
(1991b) found an optimal solution over a large subset of the possible pairings to the
LP relaxation of (3) for an 800 ight instance of a domestic daily problem. Five
and a half million feasible pairings were enumerated and the optimal LP solution
was found over this set using a SPRINT approach. In a SPRINT approach, several
thousand columns are loaded into the LP solver and the LP is optimized over those
columns. Then, most of the nonbasic columns are discarded, and several thousand
more columns are added. This process is continued until all columns have been
considered. At the end, however, it is necessary to price out all nonbasic columns
in order to prove optimality. Other approaches have used constrained shortest path
methods on specially structured networks to price out attractive pairings. See for
example Minoux (1984), Lavoie, Minoux, and Odier (1988); Desrosiers et al. (1991)
; and Barnhart et al. (1994). Ho man and Padberg (1993) found optimal integer
solutions to problems with a maximum of 300,000 pairings using a branch-and-cut
algorithm. In their approach, crew base constraints were explicitly considered. Barutt
and Hull (1990) used parallel computing to enumerate pairings eciently.

2 A Duty-Period-Based Formulation
Rather than considering crew scheduling as choosing pairings to partition the sched-
uled ights as in formulation (3), we break the decision process into two stages. First,
we select a set of duty periods that partitions the ight segments and then we select
a set of pairings that partitions these duty periods. By looking at the problem in this
manner, we motivate a new decomposition scheme that chooses good pairing solu-
tions by rst identifying good sets of duty periods to use as the building blocks of the
pairings. Although the formulation we present here is larger than (3) and yields the

7
same LP bound, the decomposed version which will be presented in Section 2.2 has
a tighter LP bound. The remainder of Section 2 deals with establishing the bound
and with solving the master and subproblems that arise from decomposition.

2.1 The Formulation


Our duty-period-based formulation of the crew pairing problem is given by:

min
Xb x +
X c^ z
d d p p
d2D p2P
Xx = 1 i2F
d
dX
:i2d
?xd + zp = 0 d2D (4)
p:d2p
xd 2 f0; 1g d 2 D
zp 2 f0; 1g p 2 P
where xd = 1 if duty d is chosen, and 0 otherwise; zp = 1 if pairing p is chosen, and
0 otherwise. F is the set of ights in the schedule, D the set of duty periods, P the
set of pairings, bd the cost of duty period d, and c^p the excess cost of pairing p. The
excess cost of a pairing is the di erence between the pairing cost and the sum of the
costs of the duty periods that compose the pairing. The excess cost will always be
nonnegative since the cost of a pairing is the maximum of three quantities, one of
which is the sum of the costs of the duty periods that compose the pairing.
The rst set of constraints enforce that each ight is covered by exactly one duty
period. The second set requires that a pairing be chosen to cover each duty that is
being used to cover a ight.
The formulation (4) will have more columns and rows than (3). As in (3), there is
a column in (4) for each pairing. However, in general the pairing columns in (4) will
be sparser since they contain nonzeroes for each duty in a given pairing instead of
each ight. For the parameters used in our implementation, the maximum number of
nonzeroes in any of these pairing columns will be three rather than fteen as in (3).
There is also an additional column for each duty period, but this shouldn't greatly
impact the total number of columns since the number of duties is generally orders
of magnitude less than the number of pairings. Formulation (4) will also have more
rows since, in addition to a row for each ight as in (3), there is also a row for each
duty period.
8
Proposition 1 The LP relaxation of formulation (4) gives the same bound as the
LP relaxation of formulation (3).
Proof Notice that the variables zp and yp represent the same pairings. The zp's
represent them in terms of the duties that they contain and the yp's in terms of the
ights they contain.
P To go from one LP solution to the other we set zp = yp for
p 2 P , and xd = p:d2p zp. From the choice of y; z, the second set of constraints in
(4) are satis ed. The equivalence of partitioning ights and duties follows from
X x = X X z = X y = 1:
d p p
d:i2d d:i2d p:d2p p:i2p
Now,
P we show that the solutions y and x ; z provide the same LP bound. Note
 

that d2p bd + c^p = cp for all pairings p. The objective function of (3) gives
X c y = X (c^ + X b )z
p p p d p
p2P p2P
=
X c^ z +d2X
p
X b z
p p d p
p2P d2D p:d2p
=
X c^ z + X b x:
p p d d
p2P d2D
The nal expression is the objective function value of (4). 2
2.2 A Decomposition Scheme
If we apply Dantzig-Wolfe decomposition [Dantzig and Wolfe (1960)] to (4) and en-
force the set partitioning constraints corresponding to the ights
X x =1 i2F
d
d:i2d
in the subproblem, we obtain the following master problem formulation:
X
min CS wS +
X c^ z
p p
S 2S p2P
Xw = 1
S
X SX2S
? wS + zp = 0 d2D (5)
S :d2S p:d2p
wS 2 f0; 1g S 2 S
zp 2 f0; 1g p 2 P
9
where S indexes sets of duty periods that partition the ights. We refer to these
columns as duty period sets. wS = 1 if set S is used to cover the ights, and 0
otherwise; and zp = 1 if pairing p is used, and 0 otherwise. S is the set of duty
period sets in the formulation and P is the set of pairings. The cost CS associated
with set S is the sum of the costs of the individual duty periods in that set, Pd2S bd.
The rst constraint enforces that exactly one of the candidate sets is chosen. The
other constraints, like those in (4), require that a pairing is chosen to cover each duty
period that is used to cover a ight. We refer to (5) with only a subset of the columns
present as the restricted master problem.
Example 1 We illustrate the di erent formulations using an example with seven
ights. Although the example is somewhat contrived, it provides a compact illustra-
tion of the strength of the di erent LP relaxations.

Flight 1: CITY A { CITY B 08:00 { 09:00


Flight 2: CITY B { CITY C 10:00 { 11:00
Flight 3: CITY C { CITY D 13:00 { 14:00
Flight 4: CITY C { CITY A 07:00 { 08:00
Flight 5: CITY D { CITY A 07:00 { 08:00
Flight 6: CITY A { CITY B 17:00 { 18:00
Flight 7: CITY B { CITY C 11:00 { 12:00

Suppose the duty periods are as follows: D1 = f1g, D2 = f4g, D3 = f5g, D4 =


f6g, D5 = f7g, D6 = f1; 2g, D7 = f1; 7; 3g, and D8 = f2; 3g. Let the costs on
the duties be b1 = b2 = b3 = b4 = b5 = 1, b6 = b8 = 2, and b7 = 3. In terms
of the duties, the pairings are P1 = fD6; D2g, P2 = fD7; D3g, P3 = fD4; D8; D3 g,
P4 = fD4; D5; D2g, and P5 = fD1; D5; D2g. The pairings have excess costs c^1 = c^4 =
1; c^2 = c^3 = 0, and c^5 = 2.

10
From (3) we obtain the following formulation.

min 4y1 +4y2 +4y3 +4y4 +5y5


y1 +y2 +y5 = 1 ( ight 1)
y1 +y3 = 1 ( ight 2)
y2 +y3 = 1 ( ight 3)
y1 +y4 +y5 = 1 ( ight 4)
y2 +y3 = 1 ( ight 5)
y3 +y4 = 1 ( ight 6)
y2 +y4 +y5 = 1 ( ight 7)
y1 ; y2 ; y3 ; y4 ; y5 2 f0 1g
; :

Formulation (4) gives

min x1 +x2 +x3 +x4 +x5 +2x6 +3x7 +2x8 +z1 +z4 +2z5
x1 +x6 +x7 = 1 ( ight 1)
+x6 +x8 = 1 ( ight 2)
+x7 +x8 = 1 ( ight 3)
x2 = 1( ight 4)
x3 = 1( ight 5)
x4 = 1( ight 6)
x5 +x7 = 1( ight 7)
?x1 +z5 = 0( duty 1)
?x2 +z1 +z4 +z5 = 0( duty 2)
?x3 +z2 +z3 = 0( duty 3)
?x4 +z3 +z4 = 0( duty 4)
?x5 +z4 +z5 = 0( duty 5)
?x6 +z1 = 0( duty 6)
? x7 +z2 = 0( duty 7)
?x8 +z3 = 0( duty 8)
x1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 ; x8 ; z1 ; z2 ; z3 ; z4 ; z5 ; 2 f0 1g
; :

11
Since there is only one duty period set that partitions the ights, i.e. fD1; D2; D3; D4; D5; D8g,
formulation (5) yields
min 7w1 +z1 +z4 +2z5
w1 = 1 (convexity)
?w1 +z5 = 0 (duty 1)
?w1 +z1 +z4 +z5 = 0 (duty 2)
?w1 +z2 +z3 = 0 (duty 3)
?w1 +z3 +z4 = 0 (duty 4)
?w1 +z4 +z5 = 0 (duty 5)
+z1 = 0 (duty 6)
+z2 = 0 (duty 7)
?w1 +z3 = 0 (duty 8)
w1 ; z1 ; z2 ; z3 ; z4 ; z5 2 f0 1g
; :

2.3 Quality of LP Bound


The primary motivation for using formulation (5) instead of (3) is to obtain a better
bound from the LP relaxation and, if possible, to have a higher probability of ob-
taining an integral optimal solution from the relaxation. The LP relaxation of (5)
is
XC w
min +
X c^ z
S S p p
S 2SX p2P
wS = 1
X S
? wS + zp
X2S
= 0 d2D (6)
S :d2S p:d2p
wS  0 S 2 S
zp  0 p 2 P:
Theorem 2 The bound from (6) is greater than or equal to the bound from the LP
relaxation of (4) or (3).
Proof Let (w;^ z^) be a solution to the LP relaxation
P of (6). Construct a solution
(x; z) to the LP relaxation of (4) by letting xd = S:d2S w^S , and zp = z^p. Clearly
12
the second set of constraints in (4) are satis ed by x; z. For the rst set, we have
X x = X X w^ = X w^ = 1:
d S S
d:i2d d:i2d S :d2S S 2S
The second equality follows from the fact that each duty period set partitions the
ights, and therefore, each ight is contained in exactly one of the duty periods in
any given set. Thus, (x; z) is feasible to the LP relaxation of (4). The two LP
solutions provide the same bound since
X c^ z^ = X c^ z
p p p p
p2P p2P
and X C w^ X X b w^ X X b w^ = X b x:
S S = d S = d S d d
S 2S S 2S d2S d2D S :d2S d2D
Consider an LP solution (x; z) to (4) such that x is in
Pd = convfx :
Xx i 2 F ; xd 2 f0; 1g d 2 Dg:
d=1
d:i2d
Each integer point in Pd is the incidence vector of a duty period set S . Since x is
in Pd, x can be expressed as a convex combination of these vectors. We construct a
feasible solution to the LP relaxation of (6) as follows: let w^S be the weight assigned
to the vector representing set S for all S , in a convex combination that gives x and
let z^p P= zp. Since x is the convex combination of integer points in Pd we see that
xd = S:d2S w^S for all duties d. As before, the two solutions provide the same LP
bound.
Finally, consider an LP solution (x; z) to (4) such that x is not in Pd . The
example below establishes the existence of such an x. Since xP is not in Pd, there do
not exist weights wS on the duty period sets such that xd = S:d2S w^S for all duties
d. Therefore, there is no solution (w;^ z^) to (6) with z^p = zp for all p 2 P . Thus, for
some objective function, (6) provides a stronger LP bound than (4) and (3). 2
Example 1 (continued) For the example problem, an optimal solution to the LP
relaxation of formulation (3) is y1 = y2 = y3 = y4 = 1=2; y5 = 0, with objective
function value 8. Formulation (4) gives the same LP bound with optimal solution
x1 = 0; x2 = x3 = x4 = 1; x5 = x6 = x7 = x8 = 1=2; z1 = z2 = z3 = z4 = 1=2; z5 = 0.
The optimal solution to the LP relaxation of (6) is w1 = 1; z1 = z2 = 0; z3 = 1; z4 =
13
0; z5 = 1 with objective value 9. (6) provides a tighter LP bound because the point
x1 = 0; x2 = x3 = x4 = 1; x5 = x6 = x7 = x8 = 1=2 is not in the polyhedron
Pd . Pd is the convex hull of integer solutions to the constraints given below. Except
for integrality, this fractional solution satis es the constraints that de ne Pd, but it
cannot be expressed as a convex combination of the integer points that satisfy the
constraints. The only integer point that satis es these constraints is (1,1,1,1,1,0,0,1).
+x1 +x6 +x7 = 1
+x6 +x8 = 1
+x7 +x8 = 1
+x2 = 1
+x3 = 1
+x4 = 1
+x5 +x7 = 1
x1; x2; x3; x4; x5; x6; x7; x8 2 f0; 1g:
2.4 Optimality Conditions
Let  be the dual variable on the rst constraint of (6) and assign dual variable d
to each constraint corresponding to a duty period d. The dual of (6) is
max
X 
 ? d  CS S 2 S (7)
dX
2S
d  c^p p 2 P
d2p
; d free.
A feasible solution to a restricted version of (6) is optimal for the problem with all of
its columns if the corresponding dual solution is feasible to (7) with all possible rows
included.
There are two types of columns that need to be generated to prove the optimality
of (6). A duty period set column
P prices out favorably (i.e., should be included in the
restricted master problem) if d2S (bd + d) <  where Pis the current objective value
of (7) and (6). A pairing column prices out favorably if d2p d > c^p. In the next two
sections we discuss the two subproblems that are used to price out these two types
of columns.
14
2.5 The Duty Period Set Subproblem
Duty period set columns that price out favorably can be identi ed by solving the set
partitioning subproblem
X
min (bd + d)xd
d2D Xx = 1 i2F (8)
d
d:i2d
xd 2 f0; 1g d 2 D
where bd is the cost of duty period d and d is the dual variable associated with the
row of (6) corresponding to duty period d. When the optimal objective function value
of (8) is not less than , there is no new duty period set that prices out favorably.
The duty period set subproblem also provides lower bounds on the optimal integer
solution value to (6) as indicated by the following theorem.
Theorem 3 If there are no pairings with negative reduced cost in (6) then the optimal
solution value of the duty period set subproblem (8) provides a lower bound on the
optimal solution value of the IP (5).
Proof If there are no pairings with negative reduced cost, then Pd2p d  c^p for all
pairings p. Consider the value of an optimal integer solution to (5) with optimal duty
period set S  and optimal pairings P   P: We have
X
CS + c^p  CS +
X X
d
p2P  p2P d2p
=
X (bd + d)


d2S X 

 min
S 2S
f (bd + d)g:
d2S
The nal expression is the optimal solution value from the duty period set subproblem.
2
This result can be used to stop column generation when a solution within a speci-
ed tolerance of the optimal solution value has been identi ed. If the current solution
to (6) is integral with objective value  and no pairings with negative reduced cost
exist, the duty period set subproblem provides a lower bound on the optimal solu-
tion value. If the di erence between  and this lower bound is less than the desired
tolerance, column generation may be halted.
15
2.6 The Pairing Generation Subproblem
The second type of column, pairing columns, can be added to the formulation by
enumeration or using a constrained shortest path procedure [Desrochers and Soumis
(1988)] on a specially structured network to price out pairings with negative reduced
cost. Figure 1 shows the pairing generation network for crew base CITY A of Ex-
ample 1. The nodes represent duty periods. In the gure, each node is labeled with
.........................................................
........... .....
......
2 (4) C to A
.....
.... ....
...
............................................................. .............. ..... ..............
...................................................
........ ..
. ...... ......... ...... ... ......
......
..... ....................... .............................. .
1 (1) A to B ..
1 (1) A to B
.....
. .... . ............ ..
.................. ..... ..
.. ...... .. .. ........................................
.............. ...
.
.... .. .. ................... ....... ........... ....
.
...... ............ . .. . ....... ..... ........................ . .. .
. .. . . . .. . . ......
2 (4) C to A
........... ... . . . .. ......... .. . . . . . ..
.......................................................... ......... . .. ..
.
. ..... . .. ... ..... .....................................................................
. . .
... ...
... ... ..
... ......
........... . .
..
............... .. .......
.
. ... . ......... .
.. . . .. ...
.. ....
... ..
.
... .. ...
.. ................................................................. ........... ... ......
.. ... ... ..
. ... .. .. .....
... ... .... ...
. ...
.. .... .. ...............................................................
.. ... ... ..... .... .....
.. .. .. ......... ......
..
... ... ...
... ..... .. .....
.. ...... ......
3 (5) D to A
... ... .
. .. .. . . .. .. ..
. . ... .. .
.. .... .. .. .... .
.. .. .. ... .... . ..
... ... .. ..... .... .
.. ... ..
... ... .... ....... .......
.. ...... .................... ...... .. .. ..... ... .. ...... ...
.. .... ...................... .......... .... ... .. .. ..... ..
.........
.. .. ... .. ................................. .. ..
...
.. .......
...........
. .
... .. .. ... . ..
..
...... ...
. .... .... ........
..... .
. ..
... .
. .
. .
.. .
....... ..
. .
. .
. ........... .
..... . ... .. . . . ... .. .. .. .. ...
. . . . ..... ...................................................................
......... ...... .. ... ..
.. .... ... .. .. .... ......
......
.. ..... ... ... .. .. ... ......
4 (6) A to B .....
4 (6) A to B
.... .. ... .. .....
.... .. .. ...
.....
..... ..... .. ..... .... .. ....... .
..
....
...... . ...................... ... ... . . .. . ...... . .. .. ...... .
... ................
. . . . ...
........... ...... ..... ............... .... .... .....
. .... .. .. .. ............. . ................... ......
............................................... .
. .
.. .
.. . . . .
.... . ........... .. ...... ........... . .
.. .
. ....
. .
. .
. .
. .
. .
. ..........
. .
... .
. .
. .
. ....
. ............ .. . .. . . . ..
. .
. . .
.. . . . . .
.................................................... .
. .
.. .
. ...
.... .. ........... .......... ...... ..... .... ..
. . ................................................................ ... .................. ........ ........

5 (7) B to C
..... ................ ...... .. .
.. .... ... .
...... . ........ .. .. .. .. ..
....... .....
3 (5) D to A
.... ...... .... ... ....... ...... .. .. .. ... .. ..
.
...... ... .. .......... ... .. ... ... .
.. ... ..... ....
....... ..... ... ...
..
. ........... ....... ...... .. ...........
.. .. ....... .... ... ... .......... ..........
.. ....... .... ... ...........
...................................................... ....... ........ ....... .... ... ......
... .... .. ...
... ..
.. ..
.. ....
. . .
............
.
.. .
. .
. ...
. ............................................ .... .... . .. .. .. . ..
. ....... ... .. .... ... ........ ..... ... .. ..
.. .. ... .. ....... . .. .. . . . ..
. . ....
. ..
... ... ............ ... ... ..... ... . ... ....
. . . .
.. ..... .. ...... .. ... .. ............ .. ...
...
.
... ...... ... ......... .. ... ... .............. ... ...
... ...
. .... ...
........................................ . . ...... ...... ... ... .. ............. ...
. . .........
. . . .
..... .................. .. .
. .............. . . .
...... ... . . . . . .
............................................................. . .. . ..... ....... ..... ...... ............... . .......................................................
... .
. . . .. . .. .. . . . ... .... ............... ........
8 (2,3) B to D
... ...... .. . .
....... . ..... .... .
... ... .. . . .
...... .. .... ....
8 (1,2) A to C 6 (1,2) A to C
.. ...... . . .. . . . . . .
. .. . . .. . .....
. . .
... . . ... ... . . . . .
. ......... . .
. ... ......... . . . ..
... ...... ..
. .. . . .
... . .. .. .. .. .
. .
.
.
.... .
.... ........
.
.. ....... ....... ... ..... . ......... . ... .......... ....
......
........... .
...... .
. .. ...................................................... ..... .
. .. .... ... ... ..
. .......... ..
. . .. . .
.. .......................... . ......
....................................................... .... ...
..... . . ..... .. . . . . . . . . . . ... .
. ...
. .
. .
............ .
. ...
. ...
. ...
. .
. ..
. .
...........
.......
.
.. ....
.. .. .. . .. ... .. ....... ...............
.
. ... . ... ... ....
. . . .
... ....... .... . .
.. ........ .. .. ..
... ... ...... .............................................................. ... .... .... ................. ....
... ....
..... ...
.............. ......... .. ........ .. .. .... ...
.. ..... ..
9 (3,5) C to A
..... .. ....... .. ... .. ..
.. .....
..... .......................................... .. ... .... ........... .. . ... ... ...
..
. ...... ....................... . .
.. ......
.
..
.. ..
. . .. . .
. ... ..
. . ..
.. ................ .. .. ...... ...... .... .... ... ..
9 (3,5) C to A
..... .. .. ........ ... ...
.. ...
.
...... .. . ................................................................. ..
... .. ...
. .
.. .. ... ..... ..
..
..
.....
...... .. .... ......
. ... .. .. .... . ... .. .
... ........... ............
. . .... .. .. .
.. .. ... .... .....
..... .
. ..
... .
. .
. .
.. ...........
. .
... .
....... ..
. .
. .
. ........... . ..... .......
. .....
. ................
. ......... . . .
. . .. . .. . . ..... .....................................................
.
............ ...... ...
...
.... .. ..
. .
. ..
. . . .. ..... .. .................
... ........

7 (1,3,7) A to D
. .
7 (1,3,7) A to D
.. ..... .... .
.. ... ... .....
.... . .. .. . . .. .... ....
. . . ..
.
....
...... . .... ....
..
.. ...
. ... ... ... ...............
. ...
.
. . . .
........... .
.. .
.. .......
.
...
...
.. ..
.
. . . .
.
. ... ... ..
.... ...........
. . .
.. ..
.......
................................................. .... .. .
. . .. ... . . . ..
................................................... .
.
.... .
..
. .
. . . .......
... ..
.... .. .. . .
.. .. ... .....
.... .... ... .. .. .. .....
....
.... . ....
.. .. .. .. .. ...
.... . . ... .. . .. .....
. .
... .............................................................. ... . .. .... . ........ ...........
....... .
... .
. .. ........ .......
. .
. . .
....... . . .. ....... ..
. .
. .
. . . . .
..... ..... ...............
............
.. ........... . . ....
....
Dummy
.... .......... ....
.............
Dummy
.... . .... ....
..... ... ..
...
........ ..... ...
...
.............. ........ .....
......
................................................ .......
..................... ..
. ..
. ...
.
..................................

Figure 1: Shortest Path Network for Crew Base CITY A


the number of the duty period it represents, the ights covered by that duty (in
parentheses), and the origin and destination cities of that duty period. Two duty
period nodes are connected by an arc if the origin of the second is the same as the
destination of the rst, the di erence between the arrival time of the rst and the
departure time of the second is a legal rest, and the two duties do not contain a
common ight. Separate networks are constructed for each of the crew bases. A duty
period may appear in the networks for several di erent crew bases. Duties that begin
at the crew base considered in the network are represented by the nodes at the rst
level in the network. Any duty that does not begin at that crew base is a candidate
to be a second day duty if some rst day duty ends at its departure station. These
duties are represented by the nodes at the second level. The nodes at the third level
16
correspond to duty periods that end at the crew base. They are candidates to be third
day duties. The fourth set of nodes are duplicates of the rst day duties. A third day
duty node is connected to a fourth level node if the two corresponding duties do not
share a common ight leg. These fourth level nodes ensure that the rst and third
duties in a pairing do not cover a common ight. A new duty period, duty period
9, was added to the example to illustrate this point in Figure 1. Duty 9 consists of
ights 3 and 5. The third level copy of Duty 9 is not connected to Duty 7 on the
fourth level because they both contain ight 3. Duty 9 was included in the gure to
illustrate this point. If pairings of more than three days were allowed, we would not
be able to enforce the no-common- ight rule by this method. Dummy nodes are used
to allow pairings with fewer than three duties to be represented in the network. Any
rst or second day duty that ends at the crew base is connected to the dummy node
at level 2 or 3 respectively. Each path in this network from a rst day duty to its
copy represents a legal pairing. This network is speci c to problems with a maximum
pairing length of three days.
The cost of a pairing is the maximum of three quantities: the sum of the duty
period costs, a fraction of the time away from base of the pairing, and a minimum
guarantee times the number of duties in the pairing. At each call to the pairing
generation procedure, the algorithm nds the most negative reduced cost pairing
beginning with each duty period that originates at a crew base. This is accomplished
by using a multilabel shortest path procedure which keeps track of each of the three
cost factors for each path in the network to nd the minimum reduced cost path from
each rst day duty to its copy.
Each node in the network except for the fourth level nodes has three labels. The
rst is the cost of the corresponding duty period minus the dual variable from the
corresponding row of the LP relaxation. The second is the elapsed time of the duty
period minus the dual variable. Third is the minimum guarantee per duty minus
the dual variable. The fourth level nodes have no labels since they don't represent a
fourth duty period in the pairing. They are in the network only to ensure legality.
The arcs that represent rests carry only one label, the elapsed time of the rest. Arcs
that don't represent rests, such as the arcs from the third day duties to the fourth level
nodes have no labels associated with them. The shortest path procedure attempts to
build paths from each rst day duty to its copy. For each partial path, three labels
are stored: the sum of the rst labels on each node in the path which represents the
reduced cost if the sum of the duty period costs determines the cost of the pairing,
the sum of the second labels on each node plus the labels on the overnight arcs which
represents the reduced cost of the pairing if TAFB determines the cost, and the sum
17
of the third labels on each node which represents the reduced cost if the minimum
guarantee determines the cost. At each node j in the network, the procedure must
keep track of all nondominated paths to that node from the rst day node i under
consideration. A path from i to j is nondominated if there exists no other path from
i to j with a smaller value for all three labels. Once the procedure determines the
set of all nondominated paths from i to its copy, the reduced cost of each is found by
taking the maximum of the three labels on that path. In this manner the procedure
nds the most negative reduced cost pairing beginning with each possible rst day
duty.

2.7 Initial Solution


To initialize the column generation procedure we must have a feasible solution to the
LP relaxation of the restricted master problem. An initial solution can be obtained in
one of two ways. First, we can construct an arti cial solution using the duty periods in
any duty period set to build pairings. If some of the pairings fail to satisfy the legality
restrictions, these pairings are assigned high penalty costs. The advantage of this
approach is that arti cial solutions can be constructed easily. However, we may nd
signi cantly slower convergence when using these starting solutions since the initial
dual variables provide very poor estimates of the cost of using the duty periods in a
pairing. The second approach is to start with some known feasible solution. Feasible
solutions generally can be found since ight schedules don't change dramatically from
one planning period to the next. A feasible solution can be constructed by modifying
the previous period's solution slightly. For the instances we consider, known feasible
solutions were available.

2.8 Computational Experience


Computational experiments on small instances (< 100 ights) of crew scheduling
problems were promising. Convergence of the LP to an integer optimum was achieved
quickly after generating only a few duty period sets. Convergence was achieved some-
what more quickly if a feasible starting solution was used instead of an arti cial so-
lution, but the algorithm did converge for either initial solution type. However, it is
important to realize that for small instances the standard set partitioning problem
(3) frequently gives an integral solution and the relatively small number of possi-
ble pairings can be enumerated quickly. Therefore, optimal solutions to small crew

18
scheduling instances can be found easily using either our new or the conventional
formulation, and our approach o ers no signi cant advantage.
For larger instances, convergence of the master linear program (6) was too slow
for the algorithm to be practical. In the next section, we discuss a modi cation of
the formulation and an algorithm designed to speed up the convergence.

3 Key Set Approach


To speed up the convergence of the column generation scheme, we composed an
alternate formulation motivated by a keypath formulation of multicommodity ow
problems, see Barnhart et al. (1991). In the keypath formulation, ow is initially
assigned to a set of keypaths in the network. The decision variables represent possible
reassignments of ow from the keypaths to other paths. This type of formulation
allows use of a procedure based on both column generation and constraint relaxation.
These techniques reduce the size of the LP to be solved allowing the solution of very
large-scale problems. In addition, the authors found that fewer columns needed to be
generated in order to obtain convergence of the LP. This approach is closely related
to the linear partitioning method of Rosen (1964).
In crew scheduling terms, we think of this idea as follows: we rst choose one
duty period set that partitions the ights and call it our key set; we then add decision
variables that represent possible modi cations of the key set to form other duty period
sets. We will call these modi cations duty exchanges since they can be thought of as
exchanging a subset of the duties in the key set for a new set of duty periods. We
refer to the members of the key set as key duties and duty periods not in the key set
as new duties. A duty period exchange is then a signed set of duties. Each key duty
in an exchange carries a + sign and each new duty a ? sign. In a given exchange,
the key duties and the new duties must partition the same subset of the ight legs.
We P can transform (5) to re ect this new outlook by making the substitution wK =
1 ? S2S:S6=K wS , whereP wK is the variable of the key duty period set, and changing
the convexity row to S2S:S6=K wS  1.

3.1 Formulation
To avoid confusion between the duty period formulation (5) and the key set formu-
lation after we make the above substitutions in (5), we rename the wS variables vS ,
for S 6= K . Note that the number of vS variables is one less than the number of wS

19
variables since there is no v for the key set. Both the exchange variables and the duty
period set variables are indexed by S . When we discuss exchange S , we are referring
to the exchange which, when applied to the key set, results in duty period set S .
Making these changes we formulate the crew scheduling problem as follows:
min
X (C ? C )v + X c^ z + C
S K S p p K
S 2S:S 6=K p2P
X v  1
S
S 2S:S 6=K
X v + X z = 1 d2K
S p
S :d62S p:d2p
X X
? vS + zp = 0 d 2 D n K (9)
S :d2S p:d2p
vS 2 f0; 1g S 2 S
zp 2 f0; 1g p 2 P
where vS = 1 if the exchange that transforms the key set into set S is in the solution,
and 0 otherwise; zp = 1 if pairing p is in the solution, and 0 otherwise; p indexes the
pairings; K is the set of key duties; D is the set of all duties; S is the set of all duty
period sets; and P is the set of pairings. A duty exchange column vS is the incidence
vector of the duties in the exchange. It contains a 1 in each row d corresponding to
a key duty that is a member of the exchange, and a -1 in each row d corresponding
to a new duty that is in the exchange. c^p is the excess cost of pairing p as de ned
previously. The right hand side of 1 for each key duty period implies that either the
key duty appears in one of the pairings in the solution, or the key duty is a member of
a duty exchange in the solution. The right hand side of 0 for the other duties allows
a non-key duty to appear in a pairing in the solution only if that duty is a member
of some exchange in the solution.
The LP relaxation of formulation (9) de nes the same set of solutions as (6) since
it was obtained by algebraic substitution. In formulation (5), each duty period set
column wS has jS j + 1 nonzeroes. Duty exchange column vS has jS n K j + jK n S j + 1
nonzeroes. Thus, for duty sets which only di er slightly from the key set, the duty
exchange columns are much sparser than the duty period set columns. However, for
duty period sets that are very di erent from the key set, the duty exchange columns
will be much denser than the duty period set columns. By choosing a key set that is
close to the optimal duty period set, we hope to obtain a sparser working formulation
with (9).
20
3.2 A Formulation with Fewer Columns
Although we might expect somewhat faster convergence with (9) than with (5) due to
its sparsity, since the two formulations have nearly the same number of columns, it is
unlikely that (9) will provide enough improvement to allow us to solve large instances
of crew scheduling. For this reason, we consider a form of (9) with fewer exchange
columns.
Suppose an exchange column in formulation (9) can be represented as the sum of
two other exchange columns. If we omit the convexity row, the variable associated
with that exchange can be eliminated without eliminating any feasible solutions to
the problem. However, we may introduce new feasible solutions to the LP relaxation
which we will discuss later. We refer to exchanges whose columns cannot be expressed
as the sum of other exchange columns as simple exchanges and those that can as
compound exchanges.
Compound exchanges are generated for (9) by solving the duty period set sub-
problem to nd a duty period set S with negative reduced cost. S is transformed
into an exchange by taking the symmetric di erence of S and K . The exchange
is broken into simple exchanges by nding the connected components of a bipartite
graph G = (V; E ). Let V contain a node for each duty period in K n S and each duty
period in S n K . Connect any two nodes corresponding to duty periods that contain
a common ight. G is bipartite, since no two duty periods in the same duty period
set contain a common ight. Each connected component in this graph corresponds
to a simple exchange.
Omitting the convexity row and allowing only simple exchange columns gives the
formulation
min
X (C ? C )v + X c^ z + CK
S K S p p
p2P
S 2S
0
Xv +Xz = 1 d2K
S p
S :d62S p:d2p
X
? v + z
X = 0 d2DnK (10)
S p
S :d2S p:d2p
vS 2 f0; 1g S 2 S0
zp 2 f0; 1g p 2 P
where S0  S is the set of duty sets that can be obtained by applying a simple
exchange to the key set.

21
The formulation (10) allows more duty period sets to be represented with a smaller
number of columns. If a new duty set is the result of n simple duty exchanges with
the key duty set, then adding the n individual simple exchanges to formulation (10)
will e ectively add 2n new duty period sets to the formulation. In contrast, if the
duty period set column is added to (5) or the compound exchange column is added
to (9), only one new duty period set is added to the formulation.
Remember that the convexity constraint in (9) was relaxed to obtain this reduction
in the number of columns. If the solution to the LP relaxation of (10) is integral in v,
all the simple exchanges with vS > 0 are disjoint, because the constraints on the key
duties in (10) allow them to be included in at most one exchange. These exchanges
can be combined to form a compound exchange and thus, the corresponding solution
to (9) is integral.
The relationship between fractional solutions to the LP relaxation of (10) and
solutions to the LP relaxation of (9) is more complex. To demonstrate this corre-
spondence, construct a graph G = (V; E ) with a node for each simple exchange and
an edge connecting any two simple exchanges S1; S2 with (K n S1) \ (K n S2) 6= ;, that
is, the exchange columns vS1 and vS2 have a coecient of -1 in at least one common
row. A node packing in G is a subset of nodes U  V such that no pair of nodes in U
is joined by an edge. There is a one to one correspondence between node packings in
G and exchanges in the set S since any node packing in G is a set of disjoint simple
exchanges (i.e., simple exchange columns that do not have nonzeroes in a common
row). We say that a solution to the LP relaxation of (10) satis es convexity if there
exists a corresponding feasible solution to the LP relaxation of (9).
Theorem 4 A fractional solution v; z to the LP relaxation of (10) satis es convex-
ity if and only if v  is in the node packing polytope
Pnp = convfv 2 B jV j : Av  1g;
where A is the edge-node incidence matrix of G.
Proof Since there is a one-to-one correspondence between packings in G and ex-
changes in S, it is possible to represent v as a convex combination of exchanges in S
if and only if it is possible to represent v as a convex combination of node packings
of G. 2
A consequence of Theorem 4 is that the LP bound obtained from (10) may be
weaker than the LP bound from (9).
22
Determining whether a fractional solution v; z to the LP relaxation of (10) satis-
es convexity is NP-Complete since it is equivalent to determining whether a fractional
v that satis es Av  1 is in the node packing polytope, see Grotschel, Lovasz, and
Schrijver (1988).
We can use a maximum weight node packing heuristic to attempt to determine if
v violates convexity or to generate violated inequalities to add to the formulation.


Nemhauser and Sigismondi (1992) discuss the solution of the node packing problem.
However, adding violated inequalities complicates the column generation procedure,
see Vance (1993). Instead, branching can be used to enforce integrality (and thus
convexity). Moreover, branching rules can be chosen that will not complicate the
subproblem. Although branch-and-bound has not been implemented for this formu-
lation, a brief outline of possible branching rules is presented in the nal section of
this paper.

4 Algorithm for Solving the Key Set LP


Figure 2 shows a owchart of the algorithm for solving the LP relaxation of (10). In
the remainder of this section we discuss some of the important details of the algorithm
and report computational experience.

4.1 Choice of Key Set


Any set of duty periods that partitions the ight segments can be chosen as the key
set. However, the choice of the key set may in uence the strength of the LP relaxation
of (10). In general, it is not a good idea to start with the set of single- ight duties as
the key set, because when this key set is used, it is easy to show that the LP relaxation
of (10) has the same set of solutions as the LP relaxation of (3). If an incumbent
solution is known for the problem, the set of duty periods from that solution is a
better candidate for the key set. If there is no known incumbent solution, then a
duty period set with low total cost is a good choice. Trials were performed starting
with known feasible solutions providing the key set.

4.2 Perturbing the LP


Because of primal degeneracy, the right hand side of the master problem was per-
turbed. Since we have equality constraints, perturbation requires replacing each

23
START
.. .
....
....
.

Perturb LP
.. ..
....
....

Add New Columns ............


............
Solve LP Relaxation ......
.................
Add New Columns
..
to RMP of Restricted MP to RMP ..
..... .....
.. .. .. ..
.. .
....
....
.............................
..
................... ............
..................... ............
............
.
............ ...........

Choose Subproblem
........... ...........
.................... ............
..........
............ ........
............ ...........
...........
........... ..........
............
............
............ ........
.............
.
............
........... .......
...............
..................

.. .. .. ..
.... ....
.... ....

Solve DP Set Subproblem Solve Pairing Subproblem


.. . .. .
.... ....
.... ....
............................ .............................

Y Y
..
................... ............ ................... ............
..
..................... ............
............ ..................... ............
............
. .
............ ........... ............ ...........

DP Set Prices Out? Pairings Price Out?


........... ...........
........... ...........
.................... ............
.......... .................... ............
..........
.. ............ ........ ............ ........ ..
..... ............ ........... ............ ........... .....
.. ..
............
.......... ..........
............ ............
.......... ........
............ .. ..
.......... ..
............
............ ........
... ............
............ ........
.............
. .
............
........... .
......
............... ............
........... .......
...............
.................. ..................

.. ..
....
....
N .. ..
....
....
N
Solve Pairing Subproblem Solve DP Set Subproblem
.. . .. .
.... ....
.... ....
............................. ............................

Y N N Y
..
................... ............ ..
................... ............
..................... ............
............ ..................... ............
............
. .
............ ........... ............ ...........

Pairings Price Out? DP Set Prices Out?


........... ........... ........... ...........
.................... ............
.......... .................... ............
..........
............ ........ ............ ........
............ ........... ............ ...........
...........
........... ..........
............ ...........
........... ..........
............
............
............ ........
............. ............
............ ........
.............
. .
............
........... .......
............... ............
........... .
......
...............
.................. ..................

.. .. .. ..
.... ....
.... ....

Remove Perturbation
and Resolve LP
.. .
....
....
.

STOP

Figure 2: Algorithm for Solving LP Relaxation of Key Set Formulation


24
ratio dp calls pairing calls total CPU min
3 56 21 13.9
6 65 14 11.4
11 72 11 11.4
16 89 10 14.0
21 97 13 15.3
Table 1: Balancing the Calls to Each Subproblem

equality by two inequalities, one  and the other . A small random number between
0 and 0.01 was added to the right hand side of each  constraint and subtracted from
the right hand side of each  constraint.

4.3 Solving the Two Subproblems


General mixed integer programming techniques were used to solve the duty period
set subproblem. These subproblems are set partitioning problems with the number of
rows equal to the number of ights in the problem and the number of columns equal
to the number of duty periods. The average number of nonzeroes per column was
three while the maximum possible number was ve. For the test instances, optimal
solutions were found quickly. Often the solution to the LP relaxation was integral.
In general, for larger problems, solving these set partitioning problems quickly could
become an issue. Duty exchanges were constructed by breaking the resulting duty
period set into a set of simple exchanges.
Pairings were generated using a constrained shortest path procedure on the duty
period network described in section 2.6. The pairing generation subproblem produced
several hundred columns at one call while the duty period subproblem generally
produced fewer than ten simple exchanges. The pairing generation subproblem took
considerably more computational e ort per call than the duty period set subproblem.
To attempt to balance the computational e ort expended on the two subprob-
lems the pairing subproblem was called after every sixth call to the duty period set
subproblem. This ratio was chosen after studying its in uence on solution time.
The computational trials summarized in Table 1 show that there is no appreciable
di erence between the ratios 6 and 11 while ratios outside this range seem to give
signi cantly slower computing times. In these trials, the same sample problem was
25
solved repeatedly while the number of times the duty period set subproblem was
called between calls to the pairing subproblem was varied. The sample problem had
144 ights and 97,277 pairings.
Because of the slow convergence of the column generation algorithm, these LPs
were not solved all the way to optimality. Instead, column generation was cut o
when it could be proved that the current LP solution was within a given tolerance
of a lower bound on the optimal IP solution value. Since in the cases reported the
LP solution was also an IP solution, we had a guarantee that our IP solution was
within a preset tolerance of optimality. Let zLP be the value of the current solution
to the LP relaxation of (10) and let zDS be the value of the optimal integer solution
to the duty period set subproblem. When the pairing generation subproblem fails
to identify any pairings that price out favorably, zDS provides a lower bound on the
optimal value of the IP solution. When no pairings priced out favorably and the value
of (zLP ? zDS )=zLP was less than 0.01, column generation was terminated. Toward the
end of optimizing the LP, the pairing subproblem was called each time the solution to
the duty period set subproblem gave a value of zDS such that (zLP ? zDS )=zLP < 0:01.
If the pairing generation procedure failed to nd any pairings with negative reduced
cost, the algorithm terminated. Thus, the number of calls to the pairing subproblem
is not equal to the number of duty period calls divided by the ratio.
The rst column \ratio" gives the number of calls made to the duty period set
subproblem between successive calls to the pairing subproblem. The next two columns
\dp calls" and \pairing calls" give the total number of calls to the duty period set and
pairing subproblems respectively. The nal column \total CPU min" gives the total
computational time in minutes on an IBM RS6000/550 necessary to solve the problem
to within 1% of optimality using MINTO Version 1.5 [Nemhauser, Savelsbergh, and
Sigismondi (1994)] and CPLEX Version 2.1 [CPLEX Optimization Inc. (1990)].

4.4 Computational Experience


Computational trials were performed using ight schedule data for a single aircraft
eet provided by a major domestic carrier. An initial pairing assignment was also
provided. Test problems were generated by choosing a subset of the pairings and con-
sidering only the ights covered by these pairings. This enabled us to identify smaller
schedules with known feasible solutions. All possible duty periods were enumerated
over the ights in each test problem. The sizes of the test problems are shown in
Table 2.
Problem 1 was small enough to solve to integer optimality by enumerating all the
26
problem ights duties pairings
1 144 1795 97,277
2 174 2716 467,671
Table 2: Problem Characteristics

pairings and applying branch-and-bound to (3). Thus, its integer optimum is known
and, in fact, is the incumbent solution provided. For Problem 2, the integer optimum
is not known.
In every computational trial for Problem 1, the solution to the LP relaxation of
(10) at termination of the algorithm was the integer optimum although it could only
be proved to be within a prespeci ed tolerance of optimality within a reasonable
amount of time. For Problem 2, the algorithm also provided an integer solution
in each trial. For both test problems, the incumbent integer solution was the nal
solution produced by the algorithm. To test the eciency of the algorithm starting
from a solution other than the optimal solution, Problem 1 was also solved starting
with a known suboptimal solution. For Problem 2 the only known feasible solution
was the incumbent solution.
To compare the strength of the two LP relaxations, we found the optimal LP so-
lution of the standard set partitioning formulation (3) using the shortest path pairing
generation procedure. In both problems, the optimal solution to (3) was fractional.
This LP did, however, provide a bound that was within 0:1% of the optimal IP
solution for problem 1, and 0:3% of a known integer feasible solution for problem 2.
The results of computational trials for formulation (10) are shown in Table 3.
The column \prob." lists the test problem number, \initial solution" lists the type of
solution used to initialize the algorithm (\incumbent" if the incumbent solution was
used, or \feasible" if a feasible solution other than the incumbent solution was used),
\duty set calls" lists the number of times the duty period set subproblem was called,
\duty set CPU min" lists the total time in minutes spent solving the duty period
set subproblems, \pairing calls" lists the number of times the shortest path routine
was called to generate pairings, \columns" is the total number of columns present in
the nal master problem matrix, \tolerance" is the value of (zLP ? zDS )=zLP used
to cut o the column generation, and \total CPU min" is the total CPU time in
minutes on an IBM RS6000/550 necessary to optimize the problem to within the
speci ed tolerance using MINTO Version 1.5 and CPLEX Version 2.1. As is typical

27
prob. initial duty set duty set pairing columns tolerance total
solution calls CPU min calls CPU min
1 incumbent 65 3.3 14 5690 0.01 11.4
1 incumbent 114 5.9 21 6257 0.005 20.0
1 incumbent 340 18.4 58 8499 0.001 76.4
1 feasible 59 3.0 14 4693 0.01 13.6
1 feasible 144 7.5 28 5879 0.005 37.7
1 feasible 444 24.1 75 8643 0.001 87.3
2 incumbent 97 7.2 21 14088 0.01 113.0
2 incumbent 194 15.0 34 16303 0.005 243.3
2 incumbent 518 58.4 88 19289 0.001 620.1

Table 3: Computational Results for Key Set Formulation LP Solution


of column generation algorithms, the improvement in the LP objective function tailed
o toward the end. The three instances reported for each problem provide a measure
of the computational e ort required to obtain a tighter tolerance between the LP
solution value and the lower bound on the optimal IP objective value provided by the
duty period set subproblem. The results for the two di erent starting solutions for
problem 1 illustrate that the convergence of the algorithm is a ected by the choice
of the initial key set. In general, we expect convergence to be slower for starting
solutions that are far from optimality.
The computational results for solving the LP relaxation of (3) to optimality are
presented in Table 4. The columns \prob." gives the problem number, \initial solu-
tion" gives the type of solution used to initialize the algorithm, \pairing calls" gives
the number of calls to the pairing generator, \columns" gives the total number of
columns added to the formulation, and \total CPU min" gives the CPU time in
minutes on an IBM RS6000/550.
As mentioned previously, Problem 1 was small enough to be solved to integer
optimality by enumerating all the pairings prior to solving the LP and applying
branch-and-bound. Finding an optimal integer solution to Problem 1 in this manner
required 8.8 minutes using the standard set partitioning formulation with full enu-
meration of the pairings not including the 1.7 minutes necessary to generate all the
pairings. Thus we see for a relatively small problem, it is more ecient to enumerate

28
prob. initial pairing columns total
solution calls CPU min
1 incumbent 6 10588 3.5
1 feasible 6 14465 3.5
2 incumbent 5 44628 22.3

Table 4: Computational Results for Set Partitioning Formulation LP Solution


the pairings than to use column generation. However, for problems much larger than
Problem 1, the problem becomes too large to be loaded into memory on a computer.
These results illustrate that the new formulation (10) provides a tighter LP bound
for real problem instances. Once the LP relaxation was solved, the integer program
was also solved. It is also interesting to compare the number of columns generated
to solve each formulation. (10) required far fewer total columns than (3). We believe
this is because the dual of the LP relaxation (10) is more tightly constrained than
the dual of the LP relaxation of (3).
Unfortunately, this new LP has proved to be more dicult to solve than the
standard set partitioning formulation (3). However, for both test problems, branch-
and-bound was not necessary since the LP relaxation gave an integer solution.

5 Summary
In this paper we presented a new formulation for the airline crew scheduling prob-
lem. The main advantage of our formulation is that its LP relaxation provides a
tighter bound on the optimal IP solution value than the traditional set partitioning
formulation. We also demonstrated that for some real examples, the LP relaxation
of this new formulation provides integer optimal solutions when the LP relaxation
of the traditional formulation does not. We developed an algorithm for solving the
LP relaxation using dynamic column generation to control the number of variables
explicitly considered in the problem matrix. We also presented techniques to reduce
the number of variables in the formulation and thus speed up the convergence of the
algorithm.
The LP relaxation of this new formulation is dicult to solve. If this barrier
could be overcome, then our approach would provide a new and useful methodology

29
for airline crew scheduling.
Acknowledgements
The authors would like to thank Jim Diamond and Eric Gelman of American Airlines
Decision Technologies for sharing their crew pairing expertise and providing test data.
We also would like to thank the two referees and associate editor for suggestions that
have yielded a clearer presentation.

References
Abara, J. (1989). \Applying Integer Linear Programming to the Fleet Assignment
Problem," Interfaces 19, 20-28.
Anbil, R., Barnhart, C., Hatay, L., Johnson, E.L., and V.S. Ramakrish-
nan (1993). \Crew-Pairing Optimization at American Airlines Decision Technolo-
gies", Optimization in Industry, T.A. Cirani and R.C. Leachman eds., Wiley, 31-36.
Anbil, R., Gelman, E., Patty, B., and R. Tanga (1991a). \Recent Advances
in Crew-Pairing Optimization at American Airlines", Interfaces 21, 62-64.
Anbil, R., Tanga, R., and E.L. Johnson (1991b) \A Global Optimization Ap-
proach to Crew Scheduling", IBM Systems Journal 31, 71-78.
Arabeyre, J.P., Fearnley, J., Steiger, F.C., and W. Teather (1969). \The
Airline Crew Scheduling Problem: A Survey", Transportation Science 3, 140-163.
Barnhart, C., Johnson, E.L., Anbil, R., and L. Hatay (1994). \A Column
Generation Technique for the Long-Haul Crew Assignment Problem", Optimization
in Industry II, T.A. Cirani and R.C. Leachman eds., Wiley.
Barnhart, C., Johnson, E.L., Hane, C., and G. Sigismondi (1991). \An
Alternative Formulation and Solution Strategy for Multi-Commodity Network Flow
Problems", Telecommunications Systems, to appear.
Barutt, J., and T. Hull (1990). \Airline Crew Scheduling: Supercomputers and
Algorithms", SIAM News 23, 19-22.
CPLEX Optimization, Inc. (1990). Using the CPLEXTM Linear Optimizer.
Dantzig G.B., and P. Wolfe (1960). \Decomposition Principle for Linear Pro-
grams", Operations Research 8, 101-111.
Desrochers, M., and F. Soumis (1988). \A Generalized Permanent Labeling

30
Algorithm for the Shortest Path Problem with Time Windows", Infor 26, 191-212.
Desrosiers, J., Dumas, Y., Desrochers, M., Soumis., F., Sanso., B., and
P. Trudeau (1991). \A Breakthrough in Airline Crew Scheduling", Cahiers du
GERAD G-91-11.
Etschmaier, M.M., and D.F.X. Mathaisel (1985). \Airline Scheduling: An
Overview", Transportation Science 19, 127-138.
Gershkoff, I. (1989). \Optimizing Flight Crew Schedules", Interfaces 19, 29-43.
Graves, G.W., McBride, R.D., Gershkoff, I., Anderson, D., and D.
Mahidhara (1993). \Flight Crew Scheduling", Management Science 39, 736-745.
Grotschel, M., Lovasz, L., and A. Schrijver (1988). Geometric Algorithms
and Combinatorial Optimization, Springer-Verlag.
Hane, C.A., Barnhart, C., Johnson, E.L., Marsten, R.E., Nemhauser,
G.L., and G. Sigismondi (1993). \The Fleet Assignment Problem: Solving a
Large-Scale Integer Program", Mathematical Programming to appear.
Hoffman, K.L., and M. Padberg (1993). \ Solving Airline Crew-Scheduling
Problems by Branch-and-Cut", Management Science 39, 657-682.
Lavoie, S., Minoux, M., and E. Odier (1988). \A New Approach for Crew
Pairing Problems by Column Generation with an Application to Air Transporta-
tion", European Journal of Operational Research 35, 45-58.
Minoux. M. (1984). \Column Generation Techniques in Combinatorial Optimiza-
tion: a New Application to Crew Pairing Problems", Proceedings XXIVth AGIFORS
Symposium.
Nemhauser, G.L., Savelsbergh, M.W.P., and G.C. Sigismondi (1994). \MINTO,
a Mixed INTeger Optimizer". Operations Research Letters 15, 47-58.
Nemhauser, G.L., and G. Sigismondi (1992). \A Strong Cutting Plane/Branch-
and-Bound Algorithm for Node Packing", Journal of Operational Research 43, 443-
457.
Rosen, J.B. (1964). \Primal Partition Programming for Block Diagonal Matrices",
Numerische Mathematik 6, 250-260.
Subramanian, R., Scheff, R.P., Quillinan, J.D., Wiper, D.S., and R.E.
Marsten (1994). \Coldstart: Fleet Assignment at Delta Airlines", Interfaces 24,
104-120.

31
Vance, P.H. (1993). Crew Scheduling, Cutting Stock, and Column Generation:
Solving Huge Integer Programs, PhD Dissertation, Georgia Institute of Technology.

32

You might also like