SABANCI UNIVERSITY
Orhanlı-Tuzla, 34956 Istanbul, Turkey
Phone: +90 (216) 483-9500
Fax: +90 (216) 483-9550
http://www.sabanciuniv.edu
http://fens.sabanciuniv.edu/msie
July 12, 2008
Robust Crew Pairing for Managing Extra Flights
Hatice Tekiner
Manufacturing Systems and Industrial Engineering,
Faculty of Engineering and Natural Sciences, Sabancı University, 34956 Istanbul, Turkey.
htekiner@su.sabanciuniv.edu
Ş. İlker Birbil
Manufacturing Systems and Industrial Engineering,
Faculty of Engineering and Natural Sciences, Sabancı University, 34956 Istanbul, Turkey.
sibirbil@sabanciuniv.edu
Kerem Bülbül
Manufacturing Systems and Industrial Engineering,
Faculty of Engineering and Natural Sciences, Sabancı University, 34956 Istanbul, Turkey.
bulbul@sabanciuniv.edu
A: This paper discusses a modeling approach to robust crew pairing when a set of extra flights is likely to
be added to the regular flight schedule. The set of these possible extra flights is known at the planning stage. We
demonstrate that these extra flights may be incorporated into the schedule if necessary by modifying the planned
crew pairings appropriately and without delaying or canceling existing flights. To this end, we either identify a
pair of crews whose schedules may be (partially) swapped while adding an extra flight into the schedule or show
that an extra flight may be inserted into the schedule of a crew without affecting others. We note that deadheading
may be necessary in either case. For these two types of solutions, we define the appropriate feasibility rules with
respect to the common airline regulations. We then propose two robust mathematical programming models that
consider incorporating such solutions into the set of selected pairings while keeping the increase in the crew cost
at an acceptable level. The baseline solution for comparison is found by a conventional crew pairing model in the
literature which ignores robustness at the planning stage and relies on recovery procedures at the time of operation.
We also propose the variations of the two models, where the double counting of the possible solutions across extra
flights is prevented. Finally, we conduct computational experiments on a set of data generated from the actual
data of an airline company. We solve the crew pairing problem both with the proposed robust models and the
conventional model. Our results demonstrate the benefits of the proposed modeling approach and indicate that the
proposed robust models provide natural options to recovery without disrupting the existing flights at a relatively
small incremental cost, which is visible at the planning stage.
Keywords: Robustness; crew pairing; extra flights; charters; mathematical models; computational study
1. Introduction. The airlines have been applying operations research techniques to their planning
problems at strategic, tactical and operational levels since the 1950’s. In particular, the American airline
companies have been using mathematical techniques heavily in order to increase their profitability and
market shares after the Airline Deregulation Act of 1978 intensified the competition. The demand for
mathematical approaches from the airlines prompted a rapid development of many existing and new
areas in operations research; such as, revenue and yield management, network planning and design,
and so on. One of the major areas of focus has been the airline crew scheduling problem as the crew costs
come only second to the fuel costs for a typical airline and is widely studied in the literature [4, 10]. Due
to the complex regulations and the large size of the problems, the construction of an effective schedule
is a very challenging task. Therefore, the crew scheduling problem is generally divided into crew pairing
and crew assignment problems. In the crew pairing problem, the objective is to determine a crew for each
flight leg in the schedule, and in this problem a crew is considered as an entity, i.e., the composition
of the crew and the identities of its crew members are not taken into account. In the crew assignment
problem, a schedule for each crew member is determined by assigning the individual crew members
to the constructed pairings. The crew rosters are typically created for an entire month and published
at the end of the previous month. Therefore, the crew scheduling problem is considered as a tactical
level problem, and crew schedules are subject to change depending on operational contingencies. In this
1
2
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
study, we concentrate on the crew pairing problem, and in particular we focus on the robustness of the
generated pairings to certain types of changes at the time of operation.
Advances in mathematical programming techniques and the speed of computers allowed the airlines
to remove the slacks in their crew schedules and decrease their planned costs over the last two decades.
However, this at the same time implies that the crew schedules became more sensitive to irregularities
or disruptions in airline operations leading to a potentially substantial gap between the actual and the
planned costs. Weather conditions, airport congestion and employee sicknesses are typical causes of
such disruptions, and some studies in the literature construct robust schedules hedging against flight
cancellations and delays [8, 15]. In our study, the source of disruptions is a set of extra flights added
to the flight schedule during operation, and our objective is to relieve the adverse effects of these new
flights by considering them while generating crew pairings.
This study was partly motivated by our interactions with the smaller local airlines in Turkey. The
majority of the literature is concentrated on large size problems for major airline companies [1, 16].
However, our conversations with the officials of local airlines revealed a gap between the current state of
the literature and the types of planning and operational problems faced by these airlines. One of these
issues is the management of flights added to the schedule at short notice, e.g., charter flights. Currently,
such disruptions are typically handled by employing recovery procedures during operation [11]. In this
study, we focus on the effects of extra flights on the crew costs and demonstrate the benefits of accounting
for potential changes during planning.
There may be several reasons for adding new flights into the schedule during operation. For instance,
some local airline companies observe demand to popular holiday destinations during the summer
and add new flights as needed in order to ensure full flights. For domestic destinations, such flights
would typically be added on Friday afternoons and early Monday mornings in selected weeks. In
addition, certain types of customers, such as businessmen, government officials, sports teams, and so
on, occasionally demand charter flights outside the regular schedule at short notice. Moreover, the need
for scheduling an extra flight may also arise due to the way the airline industry is regulated. Crew
members are typically licensed to fly either on a single aircraft type (cockpit crew) or on two or three
aircraft types (cabin crew). Therefore, the crew pairing problem decomposes by fleet type and is solved
separately for each fleet type. However, the aircraft type for a given flight may later be changed due
to maintenance (breakdown) or demand (upgrade/downgrade to a larger/smaller aircraft) concerns. In
essence, this implies that a flight is deleted from the schedule of one fleet and is added to another one.
(Note that this is an issue for any type of airline.) In any case, the visibility of the airlines into these
events is generally low, and most of the local airline companies disregard the possibility of adding extra
flights while constructing monthly crew schedules and postpone this issue to the operational level. In
this paper, we provide crew pairing models that can account for this uncertainty given a robustness
budget. We first solve the crew pairing problem by ignoring the set of potential extra flights, which
provides us with a baseline crew cost. Given the solution to this model, inserting an extra flight into the
schedule requires recovery actions during operation. This typically leads to delays and/or cancellations
of existing flights depending on the relative importance of the extra flight and may cause substantial cost
hikes. Then, we set up and solve robust crew pairing models which provide us with recovery options
for each extra flight if possible. These recovery options do not affect the existing flights in the schedule.
In the proposed models, the total crew pairing cost is constrained to be no more than a user-specified
percentage above the baseline cost provided by the conventional model. We assume here that each
potential extra flight is associated with a time window of possible departure times. In other words,
the airline may add an extra flight at any time in its respective time window without disrupting other
flights. Therefore, we only require that the airline determines certain time intervals in which it would
ever consider adding extra flights based on past experiences, etc.
The outline of the paper is as follows. In Section 2, we introduce some common definitions used in
airline crew pairing. We then provide a literature survey about the airline crew pairing problem and the
concept of robustness. This is followed, in Section 3, by the description of our problem. In this section,
we also explain the possible solutions to cover an extra flight and then formally introduce our models in
Section 4. Subsequently, we give our computational results in Section 5. Finally, we state our conclusions
and discuss some future research directions in Section 6.
2. The Crew Pairing Problem. A crew pairing is a sequence of flights separated by connection times
at the airports and rest periods at the end of each work day. A pairing may span several work days and
is flown by a single crew. In the crew pairing problem, the objective is to select a subset of all feasible
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
3
pairings in order to cover each flight leg in the flight schedule exactly once with the minimum total crew
cost. This problem may be stated as a set partitioning problem
P
cp yp
min
p∈P
P
s.t
aip yp = 1, i ∈ F ,
(1)
p∈P
yp ∈ {0, 1},
p ∈ P,
where F is the set of all flights, P is the set of all possible pairings, cp is the cost of pairing p ∈ P, aip = 1
if flight leg i is covered by pairing p, and 0 otherwise, and yp is a binary variable assuming a value of 1 if
pairing p is selected, and 0 otherwise. The objective is to minimize the total cost of selected pairings. The
set of equality constraints guarantees that each flight is covered only once. Additional side constraints,
such as staff capacity constraints limiting the number of pairings originating at a particular airport, may
also be included in this model.
There is a large body of literature available on airline crew pairing. (See [3, 10] for surveys.) The main
difficulty in solving the crew pairing problem is the huge number of pairings (variables/columns) present
in (1). Even problems with a few hundred flights may have billions of possible pairings [3], and it becomes
computationally prohibitive to explicitly enumerate all possible pairings and then solve (1). Therefore,
most methods developed for the crew pairing problem focus on either local optimization methods or
column generation based methods in which new pairings are introduced only as needed. Anbil et.al. use
local improvement heuristics [1]. These heuristics begin with an initial solution and then select a small
subset of the pairings in the current solution. All pairings are generated for the flights that are covered
by the selected subset, and then, the crew pairing problem is solved for these flight legs to find a set of
pairings with a lower cost covering these flights. If a better solution is found, then the original pairings
are replaced by the newly identified set of pairings. In a follow-up study, Anbil et.al. introduce a method
which employs the optimum dual variables in the linear programming (LP) relaxation of (1), which in
this case includes only a small subset of all possible pairings, in order to identify promising pairings
which may lower the total cost [2]. In early works, like Crainic and Rousseau [6], the column generation
idea is used to solve the LP relaxation of the crew pairing problem. Subsequently, dynamic column
generation techniques are implemented within branch-and-bound schemes to find integer solutions.
For instance, Vance et.al. generate columns dynamically throughout the branch-and-bound tree, and at
each node of the search tree, they apply column generation with the follow-on branching rule [16]. The
follow-on branching rule is based on a branching rule developed earlier by Ryan and Foster [13] and
states that given a fractional solution and a pair of corresponding flight legs, these two flights must be
covered consecutively on one branch, and cannot follow each other on the other branch. A different
modeling approach to the crew pairing problem is provided by Vance et.al. [17] who first construct work
days (duty periods) composed of several flights legs and then string these work days together in order
to form pairings. They solve their formulation by dynamic column generation and demonstrate that it
leads to tighter LP bounds than the conventional set partitioning formulation (1).
In all of these studies, the reduced cost of a pairing with respect to the current LP relaxation (restricted
master problem) is the pricing criterion in the column generation. In other words, the reduced cost
determines whether a pairing is introduced as a new variable into the problem or not. There are also other
pricing criteria employed in the literature. For example, Bixby et.al. introduce a new pricing criterion
obtained by dividing the pairing cost by the sum of the dual values of the constraints corresponding
to the flights covered by the pairing [5]. They observe a significant decline in the number of iterations
required to solve the LP relaxations. Makri and Klabjan also use the same criterion [12] and develop
pruning rules to fathom the column enumeration.
Recently, robust approaches to crew pairing started to emerge. Schaefer et.al. solve the crew pairing
problem with the objective of minimizing the expected total cost [14]. These authors approximate the
objective function coefficients in the model by simulation where they delay the flights if necessary
until all required resources become available (push-back recovery). The crew pairing problem under
uncertainty is also considered in Yen and Birge [18]. They formulate the crew pairing problem as a twostage stochastic program and explore the effect of sit time between successive flights on the robustness
of the solution. Ehrgott and Ryan penalize the connections without enough time to absorb the expected
delay [8]. Then, they solve a bi-criteria optimization problem where the objective is to minimize the total
cost along with the total penalty. Another approach to the robust crew pairing problem is presented
in Shebalov and Klabjan [15]. These authors define the concept of move-up crews, i.e., crews whose
schedules may be swapped if necessary during operation, as a means of achieving robustness. In their
4
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
model, they maximize the total number of move-up crews while controlling the crew cost.
An issue closely related to the robust crew pairing problem is crew recovery. In this problem, the
objective is to restore the disrupted schedules as quickly as possible during operation. A model for this
problem is presented by Lettovsk ý et.al. [11]. By using preprocessing techniques, these authors first
determine the crews whose schedules are to be re-constructed for recovery. Then, the possible pairings
for these crews are generated, and the crew recovery model is solved.
All of the papers cited above strive to build more robust schedules with respect to disruptions. The
disruptions taken into account in these papers, however, are due to delays or cancellations of flights.
None of these studies considers disruptions due to extra flights added to the flight schedule. In this paper,
we follow an idea similar to that proposed by Shebalov and Klabjan [15] and also define move-up crews
as a resolution against disruptions. Thus, we propose an underlying recovery procedure that involves
swapping crew schedules when extra flights are introduced into the schedule. We propose two robust
models that aim at incorporating recovery opportunities as well as the variations of these two models
that prevent double counting of the possible solutions across extra flights. The proposed models in this
paper differ from that of Shebalov and Klabjan. The foremost difference is that we explicitly consider
disruptions caused by the extra flights added to the flight schedule. To resolve these disruptions, we
develop several possible solutions that involve a set of pairing pairs as well as repositioning flights
(deadheads). Shebalov and Klabjan, on the other hand, focus on a set of pairings that yield swapping
solutions at the hub airports without considering a specific type of disruption. In addition, the resulting
mathematical model here becomes more involved than that in their paper, because the set of pairing
pairs requires adding constraints to and deleting constraints from the model depending on the selected
pairings. We further discuss this issue in Section 4. In Shebalov and Klabjan [15], the number of
constraints in the model is constant regardless of the number of pairings included in the model. We
observe that our model may lead to longer connection times; a concept that is promoted in [14, 8, 18].
We also give an in-depth study of the double counting issue in Section 5.
We next summarize some frequently used crew scheduling terminology that we also adopt in this
paper. A flight leg (segment) is a nonstop flight. A sequence of flight legs over a working day of a crew,
where the arrival station of a flight is equal to the departure station of the next flight, is called a duty
period. The flight legs in a duty period are separated with short rest periods. The time between two
flight legs in a duty period is referred to as sit time. The sit time is restricted to be between a minimum
and a maximum sit time. The validity of a duty period is determined according to regulations imposed
by national and international organizations (e.g. Federal Aviation Administration, International Airport
Transportation Association). The cost of a duty period is determined by the maximum of three quantities:
a fraction of the elapsed time of the duty, the minimum guaranteed pay per duty (expressed as time),
and the total flight time in the duty period. A thorough account of the feasibility rules and the cost
structure is given by Barnhart et.al. [3] and Johnson et.al.[10]. A pairing is a sequence of duty periods
with an overnight rest between two successive duty periods. The overnight rest is generally called a rest
or a layover. There are also lower and upper bounds for the rest time. Each pairing begins and ends
at the same crew base. A crew base is an airline station where the crews are stationed. There are some
additional feasibility rules for a pairing such as; the total time on duty in a pairing cannot exceed some
threshold value, a crew can be away from its base at most for a certain amount of time (total away from
base), and so on. The cost of a pairing is also given by the maximum of three quantities: the total cost of
the duties in the pairing, a fraction of the total elapsed time of the pairing, and the minimum guaranteed
pay per duty (expressed as time) multiplied by the number of duties in the pairing. We again refer the
interested reader to Barnhart et.al. [3] and Johnson et.al. [10] for the details about the constraints and the
cost structure. It is also common that crew members fly as passengers for repositioning purposes or in
order to return to base after the last flight in the pairing. This is frequently referred to as deadheading.
3. Problem Statement and Solution Approaches. The problem studied in this paper is about hindering the adverse affects of a set of extra flights potentially added to the regular flight schedule. To
follow the remaining part of this section, we summarize our notation in Table 1.
Although the exact times for possible extra flights are not known in advance, it can be assumed that
the time interval (time window) in which an extra flight might be added is given. This assumption is
not too restrictive, since the information about the time windows can usually be gathered using past
experiences or mining the historical data. Figure 1 shows the time window for an extra flight k. In the
figure, the horizontal lines denote the departure and arrival cities, and the movement from left to right
shows the advance of time. To denote the earliest departure and the latest arrival times of flight k, we
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
K
dk
ak
td (k)
ta (k)
t f (i)
t(i, j)
th (i, j)
T f (i)
T f (i)
T e (i)
T e (i)
tmin
s
tmax
s
tmin
r
tmax
r
Tbmax
Tmax
f
5
:
:
:
:
:
:
:
:
set of all possible extra flights
departure station of extra flight k
arrival station of extra flight k
departure time of extra flight k
arrival time of extra flight k
flight time of flight i
time between arrival of flight i and departure of flight j
deadhead time from ai to d j
:
total flight time until arrival of flight i, including flight time of i
:
total remaining flight time after flight i, excluding flight time of i
:
total elapsed time until arrival of flight i
:
:
:
:
:
:
:
total remaining elapsed time from the departure of the flight immediately following i
minimum sit time
maximum sit time
minimum rest time
maximum rest time
upper bound on the duration of a pairing (total away from base)
upper bound on the total flight time in a pairing
Table 1: The notation used in the paper.
use two fictitious flights k′ and k′′ , respectively.
Time
Departure city, dk
td (k′ )
k′
Arrival city, ak
td (k′′ )
td (k)
k′′
k
ta (k′ )
ta (k)
ta (k′′ )
Figure 1: The time window for the extra flight k.
To cover the extra flights, the airline companies mostly use deadheading. However, using more than
two deadheads to cover an extra flight is quite rare and undesirable. Therefore, we assume that no more
than two deadheads are allowed in a solution. As discussed in Section 2, we use the term deadhead
if a crew flies as passengers for repositioning purposes. Depending on the regulations, the time spent
during repositioning may be partially counted as flight time in the duty period. Therefore, we allow the
deadhead time th (i, j) to be different than the corresponding actual flight time. Moreover, the minimum
sit and rest times for a deadhead flight can be different than those for a regular flight. The value tmin
(i, j)
hs
is the minimum required time to cover flight j after flight i, whereas tmax
(i,
j)
is
the
upper
bound
on
the
hs
connection time between flights i and j under two conditions; first, the crew deadheads from the arrival
station of flight i to the departure station of flight j and second, all connections between departures and
arrivals are sits:
tmin
(i, j) = tmin
+ th (i, j) + tmin
s
s ,
hs
max
max
ths (i, j) = ts + th (i, j) + tmax
.
s
The value tmin
(i, j) is the minimum required time to cover flight j after flight i, whereas tmax
(i, j) is
hr
hr
the upper bound on the connection time between flights i and j under two conditions; first the crew
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
6
deadheads from the arrival station of flight i to the departure station of flight j and second, one of the
connections is a rest period:
+ th (i, j) + tmin
tmin
(i, j) = tmin
r ,
s
hr
max
max
.
thr (i, j) = ts + th (i, j) + tmax
r
To deal with the proposed problem of managing extra flights, we examined all possible recovery
options with at most two deadheads. This led to the classification of the possible solutions into the
following two types:
Type A. Two pairings are selected such that swapping the crews of these pairings covers an extra flight.
Type B. One pairing is selected such that there is enough time between two consecutive legs of this
pairing to cover the extra flight.
There are nine possible solutions; six of these solutions are of type A, (A.1, · · · , A.6), the remaining
three are of type B, (B.1, B.2, B.3). A solution can be implemented, only if it satisfies a set of feasibility
conditions. These conditions are related to the connection times, the total flight time and the total
elapsed time. When a crew pairing model secures a large number of these feasible solutions, we
call such a model a robust mathematical model. The main ideas behind the solutions as well as the
corresponding feasibility conditions are quite similar. Moreover, we extensively use figures to illustrate
different solutions. Therefore, we list in this section only two type A solutions (A.1 and A.4) and one
type B solution (B.1). The remaining type A and type B solutions are given in Appendices A and B,
respectively.
Two pairings can form a type A solution only if the pairings are also feasible after swapping. Let
p ∈ P be the pairing that covers flights i1 and i2 , consecutively. Similarly, let q ∈ P be the pairing that
covers flights j1 and j2 in the given order (see Figure 2). We say that p and q compose a type A solution
for the extra flight k, if the crews of these two pairings are from the same base, and they also satisfy
certain feasibility conditions that are mainly concerned with the relative arrival-departure times and
the connection times between the swapped flights. After swapping, the first pairing is composed of
flights up to and including flight i1 as well as the flight j2 and its subsequent flights, where the extra
flight k is inserted between flights i1 and j2 . Similarly, the second pairing is composed of flights up to
and including flight j1 as well as the flight i2 and its subsequent flights. When necessary, deadheads
are inserted between i1 and j2 as well as between j1 and i2 . The set of pairing pairs (p, q), which form
(feasible) type A solutions for the extra flight k is denoted by PA (k):
PA (k) = (p, q) : p, q ∈ P and they form a type A solution for the extra flight k .
One of the type A solutions with one deadhead is illustrated in Figure 2. The proposed solution A.1
can be implemented only if the pairing pair (p, q) satisfies the following feasibility conditions:
(tmin
≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
) or (tmin
≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
),
s
s
r
r
′′
′
max
min
′′
′
max
(tmin
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
)
or
(t
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
)
,
2
2
2
2
s
s
r
r
T f (i1 ) + t f (k) + T f (j2 ) ≤ Tmax
,
f
T e (i1 ) + t(i1 , j2 ) + T e (j2 ) ≤ Tbmax ,
(A.1)
tmin
(j1 , i2 ) ≤ t(j1 , i2 ) ≤ tmax
(j1 , i2 ) or tmin
(j1 , i2 ) ≤ t( j1 , i2 ) ≤ tmax
(j1 , i2 ) ,
hs
hr
hs
hr
T f (j1 ) + th (j1 , i2 ) + T f (i2 ) ≤ Tmax
and T e ( j1 ) + t(j1 , i2 ) + T e (i2 ) ≤ Tbmax .
f
The first two conditions in (A.1) ensure that the connection times between flight i1 and the extra flight
k and between flight k and the subsequent flight j2 are within the allowable limits. The third and fourth
conditions impose the limits on the total flight time and the total elapsed time for the original pairing p,
respectively. The fifth condition requires that there is sufficient time to deadhead from ak to dk in order
to cover flight i2 after flight j1 , and the last condition is the total flight and the elapsed time constraints
for the original pairing q.
Similarly, one of the type A solutions with two deadheads is illustrated in Figure 3. This solution A.4
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
7
t(i1 , k′′ )
i1
t(i1 , k′ )
dk
ta (i1 )
k
j1
i1
i2
ta (j1 )
td ( j2 )
t(k′ , j2 )
td (i2 )
ta (i1 )
j1
j2
k′
ak
i2
td (k)
dk
td (i2 )
′′
deadhead
ak
k
ta ( j1 )
j2
td ( j2 )
ta (k)
t(k′′ , j2 )
t(j1 , i2 )
(a) Pairings p, q, and the time window for the extra flight.
(b) A.1 solution for the extra flight k with one deadhead.
Figure 2: A sample A.1 solution on the flight network.
is valid only if the pairing pair (p, q) satisfies the following feasibility conditions:
max
max
′
′
′′
′′
min
′
′
′′
′′
(tmin
(i
,
k
)
≤
t(i
,
k
)
and
t(i
,
k
)
≤
t
(i
,
k
))
or
(t
(i
,
k
)
≤
t(i
,
k
)
and
t(i
,
k
)
≤
t
(i
,
k
))
,
1
1
1
1
1
1
1
1
hs
hr
hs
hr
max ′
max ′
′′
′′
′
min ′′
′′
′
(tmin
(k
,
j
)
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
(k
,
j
))
or
(t
(k
,
j
)
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
(k
,
j
))
,
2
2
2
2
2
2
2
2
hs
hr
hs
hr
T f (i1 ) + th (i1 , k) + t f (k) + th (k, j2 ) + T f (j2 ) ≤ Tmax
,
f
T e (i1 ) + t(i1 , j2 ) + T e (j2 ) ≤ Tbmax ,
,
≤ t( j1 , i2 ) ≤ tmax
or tmin
≤ t(j1 , i2 ) ≤ tmax
tmin
r
r
s
s
and T e (j1 ) + t(j1 , i2 ) + T e (i2 ) ≤ Tbmax .
T f (j1 ) + T f (i2 ) ≤ Tmax
f
(A.4)
t( j1 , i2 )
i1
ta (i1 )
dk
ta (j1 )
i1
j2
i2
s
td (i2 )
ta (i1 )
td ( j2 )
j2
i2
s
ta ( j1 )
td (i2 )
td (j2 )
deadhead
j1
dk
k′′
′′
t(i1 , k )
t(i1 , k′ )
td (k)
deadhead
k
k′
ak
j1
t(k′ , j2 )
ak
ta (k)
′′
t(k , j2 )
(a) Pairings p, q, and the time window for the extra flight.
(b) A.4 solution for the extra flight k with two deadheads.
Figure 3: A sample A.4 solution on the flight network.
Type B solutions require only one pairing. A pairing forms a type B solution only if the selected
pairing has available connection times to cover the extra flight, and the remaining work schedule for
the involved crew does not violate the constraints. As before, we ensure the validity of a solution by
checking different feasibility rules. The set of pairings that form type B solutions for the extra flight k is
given as
PB (k) = p ∈ P : p forms a type B solution for the extra flight k .
Figure 4 illustrates one of the type B solutions. This solution B.1 can be implemented only if the
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
8
pairing satisfies the following feasibility conditions:
′
min
′
tmin
≤
t(i
,
k
)
or
t
≤
t(i
,
k
)
,
1
1
s
r
max ′
max ′
′′
′′
′
min ′′
′′
′
(tmin
(k
,
i
)
≤
t(k
,
i
)
and
t(k
,
i
)
≤
t
(k
,
i
))
or
(t
(k
,
i
)
≤
t(k
,
i
)
and
t(k
,
i
)
≤
t
(k
,
i
))
,
2
2
2
2
2
2
2
2
hs
hr
hs
hr
.
T f (i1 ) + t f (k) + th (k, i2 ) + T f (i2 ) ≤ Tmax
f
(B.1)
t(i1 , k′ )
i1
i1
i2
dk
ta (i1 )
ak
td (i2 )
k′′
k
i2
td (k)
dk
ta (i1 )
td (i2 )
k
deadhead
′
ak
ta (k)
t(k′ , i2 )
t(k′′ , i2 )
(a) Pairing p and the time window for the extra flight.
(b) B.1 solution for the extra flight k with one deadhead.
Figure 4: A sample B.1 solution on the flight network.
4. The Mathematical Models. The goal in our modeling approach is to promote the pairings,
which constitute type A or type B solutions for the set of extra flights, to appear in the optimal solutions.
Therefore, we implicitly assume that as the number of such pairings increases, the schedule becomes more
robust for managing the potential extra flights [15]. However, this approach leads to longer connection
times in selected pairings, and the resulting total cost may be higher than that of the conventional model
(1). To deal with this trade-off, we first solve the conventional crew pairing problem (1) and store its
optimal objective function value denoted by Copt . We then add a constraint to the proposed robust
models such that the total cost of the selected pairings does not exceed Copt by more than a user-defined
percentage ǫ.
Let xk(p,q) be a new decision variable used for counting the pairing pairs (p, q) that form a type A solution
for the extra flight k. We define xk(p,q) equal to 1, if pairing pair (p, q) ∈ PA (k) is selected; and 0, otherwise.
In addition, let wkp be an auxiliary binary variable that is set to 1 if extra flight k can be accommodated in
the schedule by a type B solution formed by pairing p ∈ PB (k). In our models, the cost cp of pairing
P p is
calculated by a formula commonly used in the literature [3]. That is, cp = max{ fp ∗ Te (p), nd ∗ mg, d∈p cd },
where Te (p) is the total elapsed time of pairing p, fp is a fraction, nd is the number of duties in pairing p,
mg is the minimum guaranteed time for a duty period, and cd is the cost of duty d in pairing p. Similarly,
the cost of a duty period d is expressed as cd = max{T f (d), fd ∗ Te (d), mg}, where T f (d) and Te (d) are the
total flight time and the total elapsed time of duty period d, respectively, and fd is a fraction. Note that
the cost of a pairing is entirely defined in terms of time. The proposed robust mathematical model then
becomes
P P
P
max
wkp
xk(p,q) +
p∈PB (k)
k∈K (p,q)∈PA (k)
P
aip yp = 1,
i ∈ F,
s.t
p∈P
2xk(p,q) ≤ yp + yq ,
(p, q) ∈ PA (k), k ∈ K ,
wkp ≤ yp ,
P
cp yp ≤ (1 + ǫ)Copt ,
p ∈ PB (k), k ∈ K ,
p∈P
xk(p,q)
∈ {0, 1},
(p, q) ∈ PA (k), k ∈ K ,
wkp ∈ {0, 1},
p ∈ PB (k), k ∈ K ,
yp ∈ {0, 1},
p ∈ P.
(2)
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
9
The objective function maximizes the total number of type A and B solutions for all extra flights. The first
set of constraints are the standard set partitioning constraints. The second and third set of constraints
ensure that a type A solution (p, q) ∈ PA (k) is counted only if both pairings p and q are selected, and
p ∈ PB (k) is not accounted for as a type B solution unless p is selected as a pairing, respectively. To keep
the cost of the selected pairings at an acceptable level, the fourth constraint is included in the model.
The constant ǫ in this constraint represents how much extra cost we can tolerate. In practice, covering
some of the extra flights may be more important than others. This can be achieved by assigning greater
weights to the solutions corresponding to these extra flights in the objective of (2).
The model proposed above makes no attempt to provide a solution for each extra flight, and while
the optimal solution for (2) may present several ways of covering an extra flight k1 , it may fail to provide
any solution to another extra flight k2 even if such an alternate optimal solution exists. In this case,
the following constraint may be included in (2), where lbs is a lower bound on the number of solutions
required for each extra flight. Constraints of this form may also be incorporated if it is absolutely crucial
to cover a subset of the extra flights.
P
P
wkp ≥ lbs , k ∈ K .
xk(p,q) +
p∈PB (k)
(p,q)∈PA (k)
Alternatively, one may solve the model (3) below which would provide the largest value of lbs as its
optimal objective function value z. This type of objective may be used to distribute the solutions among
the extra flights as equitably as possible.
max z
s.t
P
aip yp
p∈P
2xk(p,q) ≤
wkp
≤ yp ,
P
(p,q)∈PA (k)
P
i ∈ F,
yp + yq ,
(p, q) ∈ PA (k), k ∈ K ,
p ∈ PB (k), k ∈ K ,
xk(p,q) +
P
p∈PB (k)
wkp ≥ z,
k ∈ K,
(3)
cp yp ≤ (1 + ǫ)Copt ,
p∈P
xk(p,q)
wkp
=1
∈ {0, 1},
∈ {0, 1},
yp ∈ {0, 1},
(p, q) ∈ PA (k), k ∈ K ,
p ∈ PB (k), k ∈ K ,
p ∈ P.
As we mentioned in Section 1, it is quite common in practice to use a column generation method for
solving the crew pairing problem. It is important to note here that the second set of constraints in (2) and
(3) depend on the selected pairing pairs. Therefore, when a column (pairing) is generated and if another
pairing yielding a type A solution together with this pairing is already present in the column pool, then
one constraint should be added to the model. Similarly, when a column is discarded, the constraints
formed by the pairs involving this column should be deleted from the model. Thus, both the number
of columns and rows in the restricted master problem may change with every iteration. This type of
approach is both theoretically and practically more challenging and is not commonly considered in the
literature [7].
Our model does not incorporate any constraints in order to prevent a pairing from participating in
several type A or B solutions. When two solutions for the same extra flight share pairings, no conflict
arises, and the decision maker may implement any of these solutions, depending on other criteria.
However, if a pairing is included in different solutions for more than one extra flight, then we may
face a problem if both extra flights need to be inserted into the schedule on the same day. This issue
is referred to as double counting [15]. Figure 5 illustrates an instance of double counting, where there
are three pairings A, B and C, covering flights a1 -a2 , b1 -b2 and c1 -c2 , respectively, and the extra flights
are denoted by k1 and k2 . In this example, pairing C forms a type A.1 solution for extra flight k1 with
pairing A, and also a type A.3 solution for extra flight k2 with pairing B. Both of these solutions would
be counted separately by the model (2). However, if both k1 and k2 have to be flown on the same day,
then we can use pairing C to cover only one of these extra flights. In the following, we present two
additional models that tackle this double counting issue, where the parameter ubs controls the number
of solutions a pairing p may appear in for a given extra flight, and a new set of binary variables ukp keep
track of whether pairing p participates in any type A or B solution for extra flight k.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
10
a1
a2
b1
k1
c1
c2
k2
b2
Figure 5: An illustration of the double counting problem.
P P
P
k
k
max
wp
x(p,q) +
p∈PB (k)
k∈K (p,q)∈PA (k)
P
s.t
aip yp = 1,
p∈P
2xk(p,q)
≤ yp + yq ,
wkp ≤ yp ,
P
(p,q)∈PA (k)
P k
up ≤
k∈K
P
i ∈ F,
(p, q) ∈ PA (k), k ∈ K ,
p ∈ PB (k), k ∈ K ,
xk(p,q) +
P
p∈PB (k)
wkp ≤ ubs ukp ,
p ∈ P, k ∈ K ,
p ∈ P,
yp ,
(4)
cp yp ≤ (1 + ǫ)Copt ,
p∈P
xk(p,q)
∈ {0, 1},
(p, q) ∈ PA (k), k ∈ K ,
wkp ∈ {0, 1},
p ∈ PB (k), k ∈ K ,
ukp
p ∈ P, k ∈ K ,
∈ {0, 1},
yp ∈ {0, 1},
p ∈ P.
The model (4) maximizes the total number of type A and B solutions for all extra flights like (2), but
restricts how a given pairing may be used for forming solutions for a given extra flight and across
multiple extra flights. The forth set of constraints enforces that a given pairing appears in at most ubs
solutions for a given extra flight, and the fifth set of constraints mandates that a pairing cannot be shared
in solutions across extra flights. The corresponding model for (3) that bans double counting is presented
below.
max z
s.t
P
aip yp
p∈P
2xk(p,q) ≤
=1
i ∈ F,
yp + yq ,
(p, q) ∈ PA (k), k ∈ K ,
wkp ≤ yp ,
P
xk(p,q) +
P
xk(p,q) +
(p,q)∈PA (k)
(p,q)∈PA (k)
P k
up ≤
k∈K
P
p ∈ PB (k), k ∈ K ,
P
wkp ≥ z,
k ∈ K,
P
wkp ≤ ubs ukp ,
p ∈ P, k ∈ K ,
p∈PB (k)
p∈PB (k)
yp ,
p ∈ P,
cp yp ≤ (1 + ǫ)Copt ,
p∈P
xk(p,q)
wkp
∈ {0, 1},
∈ {0, 1},
(p, q) ∈ PA (k), k ∈ K ,
p ∈ PB (k), k ∈ K ,
ukp ∈ {0, 1},
p ∈ P, k ∈ K ,
yp ∈ {0, 1},
p ∈ P.
(5)
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
11
Double counting is promoted in the original models (2) and (3) as it may increase the objective function
without increasing the pairing cost. This may be desirable as it restricts the number of crews whose
schedules will potentially be subject to change, facilitating the recovery process in the face of disruptions.
However, allowing double counting is a risk prone approach, in case multiple extra flights are added
simultaneously to the schedule. On the other hand, if we take a completely risk averse stance and enforce
that each pairing can contribute to the solutions of at most one extra flight, then we must accept a higher
pairing cost upfront and also run the danger of failing to identify potential solutions if only a subset of
the potential extra flights have to be handled. These concepts will be illustrated by the computational
results detailed in the next section, and one of our main conclusions in this research is that relying on
just a specific type of model may lead to costly errors in the crew pairings generated. Sound decision
making for the robust crew pairing problem for managing extra flights presented in this paper requires
that all of the models above are employed in an integrated fashion.
5. Computational Results. To illustrate the proposed solution approach, we conduct numerical
experiments on three problems adapted from the actual data of a local airline company. We solve these
problems by both the conventional model (1) and the proposed robust models (2-5). We then compare
the pairing solutions obtained on the basis of the swapping (type A solutions) and insertion (type B
solutions) opportunities they include. The results indicate on one hand that the proposed robust models
provide natural options to recovery without disrupting existing flights at a relatively small incremental
cost, which is visible at the planning stage. On the other hand, the conventional model yields crew
pairing solutions with little slack, and restoring crew schedules after disruptions in this case relies on
recovery procedures at the time of operation. Thus, the resulting additional cost is unpredictable during
the planning stage (see Section 1 for an in-depth discussion).
Our personal communications with two airline companies in Turkey indicate that deadheading is a
common practice in the Turkish airline industry. Following this observation, we implicitly assume in
our analysis that the cost of deadheading is small relative to the cost of delaying or canceling flights. We
also note that adhering to the scheduled flight times bears a substantial importance for preserving the
reputation of an airline and preventing loss of customer goodwill.
Our focus in this paper is on demonstrating the value of a robust model in managing extra flights
rather than solving large scale problems. Therefore, we make no attempt to solve our models by large
scale mathematical programming techniques like branch-and-price. The problem instances we consider
are small enough that allows us to construct all feasible pairings. We only consider one-day pairings.
The cost and feasibility parameters used in this study are given in Table 2. We allow for shorter sit
connections when inserting an extra flight into the schedule. In all robust models, we allow the total
cost to exceed that of the conventional model by at most 3%. When we deal with the robust models that
avoid double counting, we assume that a pairing may appear in at most 2 solutions for a given extra
flight. We generate the flight network, all feasible pairings for each crew base in the network, and the
sets PA (k) and PB (k) for all k ∈ K by a C++ code. Then, both the conventional model (1) and the robust
models (2-5) are implemented and solved using ILOG OPL Studio 5.5/CPLEX 11.0 [9] running on an HP
workstation with 2 Intel Xeon Quadcore 1.6 GHz processors and 4 GB memory.
fp , fd
mg
tmin
s
tmin
s
tmax
s
Tmax
f
Tbmax
ǫ
ubs
=
=
=
=
=
=
=
=
=
0.875
200 min.
60 min. for regular flights
30 min. for extra flights
240 min.
480 min.
1440 min.
0.03
2
Table 2: The parameters used in generating pairings and finding type A and B solutions.
In the first problem, there are 38 flights between the cities Istanbul (IST), Ankara (ANK), Izmir
(IZM), and Antalya (ANT). Four and two aircraft are assigned to the crew bases Istanbul and Ankara,
respectively. The complete flight data is given in Table 18 of Appendix C. The company anticipates that
it may add an extra flight k1 from Ankara to Istanbul some time between 14:30 (earliest arrival time;
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
12
see Figure 1) and 16:30 (latest arrival time; see Figure 1) on certain weekdays due to a recent increase
in business travel. In addition, to capture some of the demand by summer travelers, an extra flight k2
from Istanbul to Izmir during the time window 16:30-18:00 is also considered. The length of both of
these extra flights is one hour. The company is reluctant to offer these flights on a regular basis due to
the volatility of demand caused by high competition. Therefore, pairings are constructed by excluding
these flights. However, if sufficient demand is realized, then the extra flights are incorporated into the
flight schedule by delaying and/or canceling some regular flights if necessary.
In this problem, 309 and 209 pairings originate from IST and ANK, respectively. The optimal cost of
the conventional crew pairing model (1) is Copt = 4722 minutes. The pairings selected in the optimal
solution are presented in Table 3. We also solve the problem by the robust models with double counting
(2) and (3), and by the robust models with no double counting (4) and (5). For this particular problem
instance, all robust models find the same optimal pairings as shown in Table 4.
Pairing ID
7
64
160
186
334
412
1
2
4
9
29
31
32
6
7
12
3
13
15
10
8
17
35
33
Flight IDs
19 21
16 20
11 25
30 5
23 37
14 18
22
34
24
38
27
28
26
36
Table 3: Optimal pairings from the conventional model (1) for the 38-flight instance.
Pairing ID
5
67
160
192
323
419
1
2
4
9
29
31
32
6
7
12
3
13
Flight IDs
15 19 14
10 16 21
8 11 25
17 34 26
35 20 30
33 23 37
18
5
24
36
22
28
38
27
Table 4: Optimal pairings from the robust models (2 - 5) for the 38-flight instance.
In Table 5, the optimal solutions of the conventional model (1) and the proposed robust models (2)
to (5) are compared on the basis of the type A and B solutions they include. If the company uses the
conventional model to construct its pairings, adding the extra flights k1 and k2 during their respective
required time windows would entail substantial modifications to the existing pairings, possibly delaying
and canceling some of the other flights in the schedule. On the other hand, the optimal solution of our
robust models offers a type A.1 solution for covering k1 comprised by pairings 192 and 67 and a type A.2
solution for covering k2 made up by pairings 5 and 160. The total cost of this set of robust optimal pairings
is 4837 minutes, which is less than 2.5% above the total cost of the conventional model. These recovery
options for incorporating the extra flights k1 and k2 are illustrated in Figures 6 and 7, respectively. Note
that both extra flights are covered by only one solution, and hence the robust models (2) and (3) yield the
same optimal pairings. Similarly, the pairings to be swapped for the extra flights k1 and k2 are distinct;
hence, the double counting problem discussed in Section 4 is not present here. This also explains the
identical optimal solutions obtained from (4) and (5) that prevent double counting across extra flights.
CM (1)
RM (2-5)
Cost
4722
4837
k1
k2
(ANK-IST)
(IST-IZM)
(sec.)
A.1; (192,67)
A.2; (5,160)
<1
<1
CPU Time
CM: Conventional Model
RM: Robust Model
Table 5: Recovery options provided by the conventional and proposed models for the 38-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
13
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00
IZM
IST
2
6
12
9
10
16
5
21
17
26
k1
ANK
34
36
38
ANT
Pairing 67
Pairing 192
(a) The original flights covered by pairings 192 and 67.
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00
IZM
IST
2
6
12
9
10
16
5
21
26
17
deadhead
k1
ANK
34
36
38
ANT
(b) The solution after swapping (Type A.1).
Figure 6: Adding the extra flight k1 from ANK to IST at 15:00 in the 38-flight instance.
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00
IZM
IST
19
k2
15
1
24
8
4
ANK
32
ANT
7
25
14
18
11
Pairing 160
Pairing 5
(a) The original flights covered by pairings 5 and 160.
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00
IZM
19
24
deadhead
IST
k2
15
1
8
4
ANK
32
ANT
7
25
14
11
18
(b) The solution after swapping (Type A.2).
Figure 7: Adding the extra flight k2 from IST to IZM at 16:30 in the 38-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
14
In the second sample problem, we have 58 flights between the cities Istanbul (IST), Ankara (ANK),
Izmir (IZM), Antalya (ANT), Adana (ADA), Dalaman (DAL), and Bodrum (BOD). Istanbul is the only
crew base with 10 aircraft. See Table 19 of Appendix C for the complete flight data. In this problem, the
flights from Istanbul to Ankara at 15:00 and Istanbul to Antalya at 11:25 are in high demand. In order
to cope with this demand, the company schedules charter flights by hiring aircraft from other airline
companies whenever possible. The time windows considered for the additional flights IST-ANK (extra
flight k1 ) and IST-ANT (extra flight k2 ) are 15:00-16:30 and 11:40-13:10, respectively. The flight duration
from Istanbul to Ankara is one hour, while it takes 75 minutes to fly from Istanbul to Antalya.
For this sample problem, the conventional crew pairing model (1) yields a total cost of 7089 minutes
based on a total number of 2213 pairings. Table 6 presents the optimal pairings for the conventional
model, whereas tables 7 to 10 present the optimal pairings for the proposed robust models. As in the
previous example, our robust models achieve slightly higher pairing costs as shown in Table 11.
Pairing ID
53
119
215
617
686
909
962
1359
1424
1796
1
2
7
8
9
27
28
41
42
43
4
5
17
18
19
30
31
52
50
51
33
37
44
46
3
45
14
47
29
10
Flight IDs
35 16
39
53 11
55 15
6 38
54 12
24
56
32 34
20 13
26
21
25
40
22
48
49
57
58
36
23
Table 6: Optimal pairings from the conventional model (1) for the 58-flight instance.
Pairing ID
91
148
507
715
904
970
1039
1680
1796
2108
1
7
8
9
27
28
41
42
43
44
4
17
18
19
30
31
50
52
51
53
46
2
3
29
33
47
11
45
10
14
Flight IDs
55 48
5 37
6 38
32 34
35 16
56
21 15
54 12
20 13
24
57
39
40
36
26
25
22
23
49
58
Table 7: Optimal pairings from the robust model (2) for the 58-flight instance.
We next compare the conventional and proposed robust models for the second sample problem. From
Table 11, we observe that only k2 can be incorporated into the flight schedule by swapping crew schedules
if the pairings are formed by solving the conventional model (1). As the third row, labeled as RM (2),
shows the first robust model (2) allows both extra flights to be covered if an increase of 1.7% in total
cost can be tolerated. Possible ways of restoring crew pairings suggested by (2) after inserting flights k1
and k2 are displayed in Figure 8. Note that if both extra flights k1 and k2 are to be accommodated, then
only the type A.1 solution (91,970) may be selected for k2 since pairings 1039 and 2108 are required for
covering k1 . This is an expected result, since the first robust model does not prevent double counting
but tries to increase the number of possible recovery options.
As shown in row RM (3) of Table 11, the total cost of the second robust model is slightly less than
that of the first model. However, the solution of the second robust model seems to suffer from double
counting. In our experiments, we observed that the pairing problems usually have multiple optimal
solutions. Since the second model (3) does not prevent double counting, the solver returns one of those
optimal solutions. Having obtained the solutions for the first robust model, this observation becomes
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
15
Pairing ID
51
139
508
692
854
971
1179
1478
2002
2108
1
7
8
9
27
28
41
42
43
44
4
17
18
19
30
31
51
50
52
53
Flight IDs
33 35 15
2
5 13
3
6 48
11 21 16
10 20 12
47 56 49
29 32 38
46 55 34
45 54 37
14 24
25
23
57
26
22
58
40
36
39
Table 8: Optimal pairings from the robust model (3) for the 58-flight instance.
Pairing ID
34
148
507
724
898
946
1106
1622
1870
2126
1
7
8
9
27
28
41
42
43
44
4
17
18
19
30
31
50
52
51
53
11
2
3
33
29
12
46
10
45
47
Flight IDs
21 16
5 37
6 38
35 48
32 34
22
55 15
20 13
54 14
56
26
39
40
57
36
25
23
24
49
58
Table 9: Optimal pairings from the robust model (4) for the 58-flight instance.
clear; an alternate solution that does not suffer from double counting could have been obtained by
selecting the pairing pairs (2108, 692) and (1039,970).
The last two rows in Table 11 give the solutions obtained by the robust models that prevent double
counting. The objective of the third model (4) is to maximize the total number of type A and type B
solutions. Therefore, as the solutions in the fifth row show, if the sole objective is to increase the number
of solutions, then the highest number is attained when no recovery option is provided for extra flight
k1 . As the last row that are obtained with the fourth model (5) shows, there are in fact solutions for both
extra flights when the objective is to distribute the solutions equitably.
The results obtained for all proposed robust models clearly show that one needs to analyze all the
models to properly consider alternate recovery options. On one hand, the decision maker may prefer to
ignore double counting and aim at obtaining as many recovery options as possible. This choice becomes
important especially when the chance of adding all the extra flights to the flight schedule at the same
time is rather slim. On the other hand, crew pairings generated by (4) and (5) should be given more
attention, when covering all extra flights simultaneously is crucial for the airline. This may be the case
when the total revenue generated from the extra flights constitutes a significant portion of the profit
or the reputation of the airline (especially for the one that is new in the business) bears the utmost
importance for the management.
In the final column of Table 11, we observe that the computational effort for solving both the classical
model and the robust models is still within a few minutes. The robust models are clearly harder to
solve than the classical model, and maximizing the total number of type A and B solutions by solving
(2) or (4) is computationally less expensive than distributing the solutions equitably among the extra
flights by solving (3) or (5). In addition, it appears that the robust models (4) and (5) with no double
counting across extra flights lead to shorter solution times than their counterpart models (2) and (3) that
allow double counting. We conjecture that this is related to the decreased number of alternate optimal
solutions and symmetry in the B&B tree due to the additional constraints in (4) and (5).
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
16
Pairing ID
45
95
239
603
724
851
970
1111
1621
1829
1
2
7
8
9
27
28
41
42
43
4
5
17
18
19
30
31
50
52
51
29
12
44
45
33
3
47
46
10
11
Flight IDs
32 15
22
53 14
54 37
35 48
6 34
56
55 38
20 13
21 16
25
24
39
57
36
49
58
40
23
26
Table 10: Optimal pairings from the robust model (5) for the 58-flight instance.
k1
k2
(IST-ANK)
(IST-ANT)
(sec.)
-
A.2; (53,1359),(1424,1359)
A.1; (91,970),(1039,970)
A.2; (91,2108),(1039,2108)
A.2; (51,2108)
A.1; (34,946),(1106,946)
A.2; (34,2126),(1106,2126)
A.1; (1111,970)
<1
201
CM (1)
Cost
7089
RM (2)
7209
A.1; (2108,1039)
RM (3)
7191
A.1; (2108,692)
RM (4)
7183
-
RM (5)
7145
A.1; (239,1829)
CPU Time
270
18
105
CM: Conventional Model
RM: Robust Model
Table 11: Recovery options provided by the conventional and proposed models for the 58-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
17
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
BOD
DAL
ADA
ANT
IZM
IST
50
41
44
53
24
k2
14
11 k1
15
21
ANK
25
Pairing 1039
Pairing 2108
(a) The original flights covered by pairings 1039 and 2108.
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
BOD
DAL
ADA
ANT
IZM
IST
50
41
53
24
44
14
11 k1
15
deadhead
21
ANK
25
(b) The solution after swapping for the extra flight k1 from IST to ANK at 15:30. (Type A.1)
06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
BOD
DAL
ADA
ANT
deadhead
IZM
IST
ANK
50
41
44
53
24
k2
14
11
15
21
25
(c) The solution after swapping for the extra flight k2 from IST to ANT at 11:55. (Type A.2)
Figure 8: Adding the extra flights in the 58-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
18
In our last sample problem, we have 96 flights between the cities Istanbul (IST), Ankara (ANK), Izmir
(IZM), Antalya (ANT), and Adana (ADA). Twelve and six aircraft are assigned to the crew bases Istanbul
and Ankara, respectively. See Table 20 of Appendix C for the complete flight data. In this sample
problem, there are three extra flights: IST-ANK (k1 ), ANK-IST (k2 ), and IST-IZM (k3 ). The flight duration
for all three extra flights is 65 minutes. The time windows for the extra flights are 07:35-08:55, 09:10-10:30
and 07:40-09:45, respectively.
Table 12 presents the optimal pairings for the conventional model, whereas tables 13 to 16 present the
optimal pairings for the proposed robust models. As shown in Table 17, the total cost for the conventional
model (1) is 12730 minutes based on 2977 pairings originating from IST and on 4389 pairings originating
from ANK. Notice that no type B solution is identified for the first two sample problems. In those
problems, we observe that the pairings include flight patterns such as base-destination-base with short
connection times. Therefore, forming a type B solution by squeezing an extra flight in between becomes
impossible. However, in the last sample problem not only we obtain type B solutions but also one A.6
solution. These solutions for the extra flights are illustrated in Figure 9.
Pairing ID
109
451
769
1223
1367
1788
2081
2340
2624
2664
2811
2818
3068
3468
3566
3958
4253
4301
1
2
5
25
33
35
37
39
51
65
73
79
3
4
6
10
55
61
7
8
15
30
34
36
38
40
52
66
74
80
9
41
11
85
56
62
Flight IDs
67 68 47
12 21
18 26 89
53 54
91 92 71
45 46
14 57 58
69 70 83
93 94
43 44 49
77 78
16 23 75
17 81 82
42 22 95
20 27
86 28 59
19 24 63
13 87 88
48
90
72
31
84
50
76
32
96
60
64
29
Table 12: Optimal pairings from the conventional model (1) for the 96-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
Pairing ID
109
461
706
929
1047
1364
1805
2068
2622
2679
2811
2818
3243
3468
3660
3958
4253
4319
19
1
2
5
9
11
33
35
37
51
65
73
79
3
4
6
10
55
61
7
8
13
17
20
34
36
38
52
66
74
80
39
41
43
85
56
62
Flight IDs
67 68 47
12 57 58
18 26 89
71 72
25 30 93
91 92 49
69 70 83
14 21
53 54
45 46
77 78
16 23 75
40 87 88
42 22 95
44 27
86 28 59
19 24 63
15 81 82
48
31
90
94
50
84
76
29
96
60
64
32
Table 13: Optimal pairings from the robust model (2) for the 96-flight instance.
Pairing ID
115
461
769
1045
1364
1752
2068
2340
2623
2679
2812
2842
3058
3476
3660
3958
4253
4301
1
2
5
11
33
35
37
39
51
65
73
79
3
4
6
10
55
61
7
8
15
20
34
36
38
40
52
66
74
80
9
41
43
85
56
62
Flight IDs
67 68 71
12 57 58
18 26 89
25 30 53
91 92 49
16 23
14 21
69 70 83
77 78
45 46
93 94
47 48 75
17 22 95
42 81 82
44 27
86 28 59
19 24 63
13 87 88
72
31
90
54
50
84
76
96
32
60
64
29
Table 14: Optimal pairings from the robust model (3) for the 96-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
20
Pairing ID
109
451
706
917
1046
1367
1805
2118
2622
2647
2812
2818
3243
3468
3660
3958
4253
4319
1
2
5
9
11
33
35
37
51
65
73
79
3
4
6
10
55
61
7
8
13
17
20
34
36
38
52
66
74
80
39
41
43
85
56
62
Flight IDs
67 68 47
12 21
18 26 89
49 50
25 30 77
91 92 71
69 70 83
45 46
53 54
14 57 58
93 94
16 23 75
40 87 88
42 22 95
44 27
86 28 59
19 24 63
15 81 82
48
90
78
72
84
31
76
29
96
60
64
32
Table 15: Optimal pairings from the robust model (4) for the 96-flight instance.
Pairing ID
137
461
706
1224
1339
1772
2145
2313
2624
2649
2810
2851
3058
3479
3567
3909
4253
4319
1
2
5
25
33
35
37
39
51
65
73
79
3
4
6
10
55
61
7
8
13
30
34
36
38
40
52
66
74
80
9
41
11
14
56
62
Flight IDs
91 92 71
12 57 58
18 26 89
77 78
67 68 47
43 44 49
85 86
45 46 83
93 94
16 23 75
53 54
69 70
17 22 95
42 87 88
20 27 59
21 28
19 24 63
15 81 82
72
31
90
48
50
84
76
96
29
60
64
32
Table 16: Optimal pairings from the robust model (5) for the 96-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
21
The recovery options for the conventional and proposed robust models are given in Table 17. The
second row shows that only the second extra flight k2 can be recovered by the conventional model. The
results for the first robust model (2) in the third row yield nine type A and type B solutions with an
increase of 3% in the total cost. When we distribute the solutions equitably with the proposed model (3),
we are able to obtain two solutions for extra flights k1 and k2 , and one for extra flight k3 with a slightly
less increase in the total cost (2.9%). However, among these solutions we are not able to obtain recovery
options without double counting. This is also clear from rows four and five, where the solutions are
given for the robust models (4) and (5), respectively. Both of these models prevent double counting, and
hence, the results show that it is not possible to cover all the extra flights without double counting. In
fact the pairing 3660 plays a crucial role, since it is involved in all the recovery options for both extra
flights k1 and k3 . In case we solve only (4) and (5), we would not be aware of the alternate solutions
suggested by (2) and (3). Therefore, insisting on models with no double counting reflects a risk averse
behavior in some situations. Overall, we remark that none of the models is superior to the others and it
is beneficial for the decision makers to solve all the proposed models.
The solution times in Table 17 confirm the pattern that started to emerge in Table 11. The times
for solving the robust models increase steeply with the number of flights in the problem and indicate
that there is a clear need to develop elaborate simultaneous row and column generation approaches for
obtaining the optimal solutions to our proposed robust models.
CM (1)
Cost
12730
RM (2)
13111
RM (3)
13103
RM (4)
13111
RM (5)
12805
k1
k2
k3
(IST-ANK)
(ANK-IST)
(IST-IZM)
(sec.)
A.1; (3660,4319)
A.2; (3068,3566)
A.1; (929,1805),(929,2068),
(929,2679),(4319,3660),(929,461)
-
<1
5, 424
A.2; (3468,3660)
B.1; 3660
A.1; (3660,3058)
B.1; 3660
A.2; (3468,3660)
B.1; 3660
-
B.2; 3660
A.1; (3660,3058)
B.2; 3660
A.1; (917,1805),(917,2118)
-
CPU Time
71, 837
A.6; (3660,3058)
-
562
16, 275
CM: Conventional Model
RM: Robust Model
Table 17: Recovery options provided by the conventional and proposed models for the 96-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
22
04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
ADA
96
ANT
IZM
44
IST
ANK
9
3
k3
k1
43
22
k2
6
17
27
95
Pairing 3058
Pairing 3660
(a) The original flights covered by pairings 3058 and 3660.
04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
ADA
ANT
IZM
44
43
IST
27
k1
deadhead
6
ANK
(b) The solution for the extra flight k1 from IST to ANK at 07:35 (Type B.1)
04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
ADA
ANT
IZM
44
43
IST
27
deadhead
k2
6
ANK
(c) The solution for the extra flight k2 from ANK to IST at 09:10 (Type B.2)
04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00 01:00 02:00 03:00
ADA
96
ANT
IZM
44
k3
IST
deadhead
43
9
22
27
deadhead
ANK
3
6
17
95
(d) The solution after swapping for the extra flight k3 from IST to IZM at 07:40 (Type A.6)
Figure 9: Adding the extra flights in the 96-flight instance.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
23
6. Conclusions and Future Research. In this study, we addressed the effects of a set of extra flights
added to the flight schedule during operation in the context of the crew pairing problem. We argued that
the adverse consequences of operational disruptions can be alleviated more effectively by incorporating
robustness measures into the planning process. In particular, we introduced various recovery plans
for managing extra flights and demonstrated that these plans can readily be incorporated into the crew
pairing models at the planning stage. Our computational results suggest that substantially more robust
crew schedules can be achieved at a relatively small incremental cost.
In this paper, we captured the cost of robustness as a budget constraint. In the future, we plan to
explore this problem as a multi-objective optimization problem in order to identify the trade-off between
the planned crew costs and robustness more precisely. Another interesting research direction is solving
the proposed robust model (2) by column generation techniques for large instances. An interesting facet
of this problem is that the cardinality of the second set of constraints in (2-5) depends on the pairings
included in the model. Clearly, a constraint 2xk(p,q) ≤ yp + yq , where the pairings p and q form a type A
solution for an extra flight k, would only be included in the formulation if both p and q are generated.
Therefore, an algorithm that solves large instances of (2-5) may need to dynamically generate and delete
both columns and constraints.
Acknowledgments. This research has been supported by The Scientific and Technological Research
Council of Turkey under grant 106M472. We thank the anonymous referee for the invaluable suggestions
and comments that helped us improve the paper considerably.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
24
Appendix A. The Remaining Type A Solutions
(tmin
≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
) or (tmin
≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
),
s
s
r
r
max ′
max ′
′′
′′
′
min ′′
′′
′
(tmin
(k
,
j
)
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
(k
,
j
))
or
(t
(k
,
j
)
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
(k
,
j
))
,
2
2
2
2
2
2
2
2
hs
hr
hs
hr
T f (i1 ) + t f (k) + th (k, j2 ) + T f (j2 ) ≤ Tmax
,
f
T e (i1 ) + t(i1 , j2 ) + T e (j2 ) ≤ Tbmax ,
tmin
≤ t(j1 , i2 ) ≤ tmax
or tmin
≤ t(j1 , i2 ) ≤ tmax
s
s
r
r
T f (j1 ) + T f (i2 ) ≤ Tmax
and T e (j1 ) + t(j1 , i2 ) + T e (i2 ) ≤ Tbmax .
f
(A.2)
t(i1 , k′ )
t(i1 , k′′ )
i1
i2
td (i2 )
ta ( j1 )
dk
ta (i1 )
t d ( j2 )
k′′
j1
ta ( j1 )
dk
ta (i1 )
j2
i2
td (k)
k
td (i2 )
ak
td ( j2 )
deadhead
j1
k′
ak
i1
j2
ta (k)
t(k′ , j2 )
t(k′′ , j2 )
t( j1 , i2 )
(a) Pairings p, q, and the time window for the extra flight.
(b) A.2 solution for the extra flight k with one deadhead.
Figure 10: A sample A.2 solution on the flight network.
(tmin
(i1 , k′ ) ≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
(i1 , k′′ )) or (tmin
(i1 , k′ ) ≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
(i1 , k′′ )) ,
hs
hr
hs
hr
),
≤ t(k′′ , j2 ) and t(k′ , j2 ) ≤ tmax
) or (tmin
≤ t(k′′ , j2 ) and t(k′ , j2 ) ≤ tmax
(tmin
r
r
s
s
T f (i1 ) + th (i1 , k) + t f (k) + T f (j2 ) ≤ Tmax
,
f
T e (i1 ) + t(i1 , j2 ) + T e (j2 ) ≤ Tbmax ,
,
≤ t(j1 , i2 ) ≤ tmax
or tmin
≤ t(j1 , i2 ) ≤ tmax
tmin
r
r
s
s
T f (j1 ) + T f (i2 ) ≤ Tmax
and T e (j1 ) + t( j1 , i2 ) + T e (i2 ) ≤ Tbmax .
f
(A.3)
t(i1 , k′ )
t(i1 , k′′ )
dk
i1
ak
ta (i1 )
i2
k′
ta ( j1 )
td (i2 )
i1
j2
td ( j2 )
t(k′ , j2 )
j1
td (k)
dk
k′′
t(k′′ , j2 )
ak
k
deadhead
ta (i1 )
ta (j1 )
i2
ta (k)
td (i2 )
j2
td (j2 )
j1
t( j1 , i2 )
(a) Pairings p, q, and the time window for the extra flight.
(b) A.3 solution for the extra flight k with one deadhead.
Figure 11: A sample A.3 solution on the flight network.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
25
(tmin
(i1 , k′ ) ≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
(i1 , k′′ )) or (tmin
(i1 , k′ ) ≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
(i1 , k′′ )) ,
hs
hr
hs
hr
),
≤ t(k′′ , j2 ) and t(k′ , j2 ) ≤ tmax
) or (tmin
≤ t(k′′ , j2 ) and t(k′ , j2 ) ≤ tmax
(tmin
r
r
s
s
T f (i1 ) + th (i1 , k) + t f (k) + T f (j2 ) ≤ Tmax
,
f
T e (i1 ) + t(i1 , j2 ) + T e (j2 ) ≤ Tbmax ,
tmin
(j1 , i2 ) ≤ t(j1 , i2 ) ≤ tmax
(j1 , i2 ) or tmin
(j1 , i2 ) ≤ t( j1 , i2 ) ≤ tmax
(j1 , i2 ) ,
hs
hr
hs
hr
T f (j1 ) + th (j1 , i2 ) + T f (i2 ) ≤ Tmax
and T e ( j1 ) + t(j1 , i2 ) + T e (i2 ) ≤ Tbmax .
f
(A.5)
t(i1 , k′ )
t(i1 , k′′ )
i1
i1
i2
t( j1 , i2 )
s
i2
s
ta (i1 )
ta (i1 )
td (i2 )
td (i2 )
deadhead
dk
j1
j1
j2
k′
ak
ta ( j1 )
td (k)
dk
k′′
td ( j2 )
t(k′ , j2 )
k
deadhead
j2
ak
ta (j1 )
td ( j2 )
ta (k)
′′
t(k , j2 )
(a) Pairings p, q, and the time window for the extra flight.
(b) A.5 solution for the extra flight k with two deadheads.
Figure 12: A sample A.5 solution on the flight network.
(tmin
≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
) or (tmin
≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
),
s
s
r
r
max ′
max ′
min ′′
′′
′′
′
′′
′
(tmin
(k
,
j
))
or
(t
(k
,
j
))
,
(k
,
j
)
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
(k
,
j
)
≤
t(k
,
j
)
and
t(k
,
j
)
≤
t
2
2
2
2
2
2
2
2
hs
hr
hs
hr
,
T f (i1 ) + t f (k) + th (k, j2 ) + T f (j2 ) ≤ Tmax
f
T e (i1 ) + t(i1 , j2 ) + T e (j2 ) ≤ Tbmax ,
tmin
( j1 , i2 ) ≤ t(j1 , i2 ) ≤ tmax
(j1 , i2 ) or tmin
(j1 , i2 ) ≤ t(j1 , i2 ) ≤ tmax
(j1 , i2 ) ,
hs
hr
hs
hr
T f ( j1 ) + th ( j1 , i2 ) + T f (i2 ) ≤ Tmax
and T e (j1 ) + t(j1 , i2 ) + T e (i2 ) ≤ Tbmax .
f
(A.6)
t( j1 , i2 )
t(i1 , k′′ )
j1
j2
t(i1 , k′ )
s
j2
j1
s
ta ( j1 )
ta ( j1 )
td ( j2 )
td (i2 )
dk
ak
i1
td (k)
dk
k′′
ta (i1 )
k′
ak
ta (i1 )
i1
td ( j2 )
deadhead
i2
i2
td (i2 )
deadhead
k
t(k′ , j2 )
ta (k)
′′
t(k , j2 )
(a) Pairings p, q, and the time window for the extra flight.
(b) A.6 solution for the extra flight k with two deadheads.
Figure 13: A sample A.6 solution on the flight network.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
26
Appendix B. The Remaining Type B Solutions
max
max
′
′
′′
′′
min
′
′
′′
′′
(tmin
(i
,
k
)
≤
t(i
,
k
)
and
t(i
,
k
)
≤
t
(i
,
k
))
or
(t
(i
,
k
)
≤
t(i
,
k
)
and
t(i
,
k
)
≤
t
(i
,
k
))
,
1
1
1
1
1
1
1
1
hs
hr
hr
hs
min
′′
min
′′
ts ≤ t(k , i2 ) or tr ≤ t(k , i2 ) ,
T f (i1 ) + th (i1 , k) + t f (k) + T f (i2 ) ≤ Tmax
.
f
(B.2)
t(i1 , k′ )
t(i1 , k′′ )
dk
i1
i2
k′
ak
td (k)
dk
k′′
td (i2 )
ta (i1 )
i1
k
deadhead
i2
ak
ta (k)
ta (i1 )
td (i2 )
t(k′′ , i2 )
(a) Pairing p and the time window for the extra flight.
(b) B.2 solution for the extra flight k with one deadhead.
Figure 14: A sample B.2 solution on the flight network.
max
′′
′′
min
′
′
′′
(i
,
k
))
,
(i
,
k
))
or
(t
(i
,
k
)
≤
t(i
,
k
)
and
t(i
,
k
)
≤
t
(tmin
(i1 , k′ ) ≤ t(i1 , k′ ) and t(i1 , k′′ ) ≤ tmax
1
1
1
1
1
hr
hs
hr
hs
max ′
max ′
min ′′
′′
′
min ′′
′′
′
(ths (k , i2 ) ≤ t(k , i2 ) and t(k , i2 ) ≤ ths (k , i2 )) or (thr (k , i2 ) ≤ t(k , i2 ) and t(k , i2 ) ≤ thr (k , i2 )) ,
T f (i1 ) + th (i1 , k) + t f (k) + th (k, i2 ) + T f (i2 ) ≤ Tmax
.
f
(B.3)
i1
i1
i2
s
i2
s
ta (i1 )
td (i2 )
ta (i1 )
td (i2 )
deadhead
dk
dk
k′′
td (k)
deadhead
k
k′
ak
′′
t(i1 , k )
t(i1 , k′ )
ak
ta (k)
t(k′ , i2 )
t(k′′ , i2 )
(a) Pairing p and the time window for the extra flight.
(b) B.3 solution for the extra flight k with two deadheads.
Figure 15: A sample B.3 solution on the flight network.
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
27
Appendix C. The Flight Data for the Computational Study. The flight data for all three problem
instances used in the computational study are given in Tables 18-20, respectively. In these tables, the
second and fifth columns denote the origin and destination pairs, and the third and sixth columns display
the associated arrival and departure times.
Flight ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Org. - Dest.
IST-ANK
IST-IZM
IZM-ANK
IST-ANT
IZM-ANK
IZM-IST
ANT-IST
IST-ANT
IST-IZM
IST-IZM
ANT-IST
IZM-IST
IST-ANK
IST-ANT
IST-IZM
IZM-IST
IST-ANK
ANT-IST
IZM-IST
Dept. T. - Arr. T.
07:00-08:00
06:00-07:00
10:05-11:20
08:25-09:40
19:20-20:40
09:00-10:00
11:00-12:10
14:25-15:50
09:00-10:00
11:00-12:00
16:50-18:05
11:00-12:00
11:00-12:00
19:00-20:15
13:00-14:00
13:00-14:00
13:00-14:00
21:15-22:30
15:00-16:00
Flight ID
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Org. - Dest.
IST-ANK
IST-IZM
IZM-IST
IST-ANK
IZM-IST
IST-IZM
IST-ANK
IST-ANK
IST-ANK
ANK-IZM
ANK-IZM
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
Table 18: Flight data for the 38-flight instance.
Dept. T. - Arr. T.
15:00-16:00
17:00-18:00
19:20-20:20
17:00-18:00
22:00-23:00
20:00-21:00
19:00-20:00
22:00-23:00
23:45-00:45
07:45-09:05
17:00-18:20
08:00-09:00
11:00-12:00
14:00-15:00
17:00-18:00
13:00-14:00
21:00-22:00
20:00-21:00
22:00-23:00
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
28
Flight ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Org. - Dest.
IST-ADA
IST-ADA
IST-ADA
ADA-IST
ADA-IST
ADA-IST
IST-ANK
IST-ANK
IST-ANK
IST-ANK
IST-ANK
IST-ANK
IST-ANK
IST-ANK
IST-ANK
IST-ANK
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
ANK-IST
IST-ANT
IST-ANT
IST-ANT
Dept. T. - Arr. T.
07:00-08:35
11:15-12:50
14:15-15:50
09:35-11:10
13:50-15:25
16:50-18:25
07:00-08:00
09:00-10:00
10:00-11:00
13:00-14:00
15:00-16:00
17:00-18:00
17:30-18:30
18:00-19:00
19:00-20:00
20:00-21:00
09:00-10:00
11:00-12:00
12:00-13:00
15:00-16:00
17:00-18:00
19:00-20:00
19:30-20:30
20:00-21:00
21:00-22:00
22:00-23:00
07:20-08:35
11:25-12:40
14:25-15:40
Flight ID
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Org. - Dest.
ANT-IST
ANT-IST
ANT-IST
IST-BOD
IST-BOD
BOD-IST
BOD-IST
IST-DAL
IST-DAL
DAL-IST
DAL-IST
IST-IZM
IST-IZM
IST-IZM
IST-IZM
IST-IZM
IST-IZM
IST-IZM
IST-IZM
IST-IZM
IZM-IST
IZM-IST
IZM-IST
IZM-IST
IZM-IST
IZM-IST
IZM-IST
IZM-IST
IZM-IST
Table 19: Flight data for the 58-flight instance.
Dept. T. - Arr. T.
10:40-11:55
13:40-14:55
16:45-18:00
14:30-15:40
19:30-20:40
16:45-17:55
21:40-22:50
17:20-18:40
19:35-20:50
19:40:21:00
21:50-23:05
07:00-08:00
08:00-09:00
08:30-09:30
11:00-12:00
13:00-14:00
15:00-16:00
16:00-17:00
20:00-21:00
23:45-00:45
10:00-11:00
10:30-11:30
11:00-12:00
13:00-14:00
15:00-16:00
17:00-18:00
19:20-20:20
22:00-23:00
01:45-02:45
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
Flight ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Org. - Dest.
IST-ANK
IST-ANK
ANK-IST
ANK-IST
IST-ANK
ANK-IST
ANK-IST
ANK-IST
IST-ANK
ANK-IST
IST-ANK
IST-ANK
ANK-IST
IST-ANK
ANK-IST
IST-ANK
ANK-IST
IST-ANK
ANK-IST
ANK-IST
ANK-IST
IST-ANK
ANK-IST
IST-ANK
IST-ANK
ANK-IST
IST-ANK
IST-ANK
IST-ANK
ANK-IST
ANK-IST
IST-ANK
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
Dept. T. - Arr. T.
04:00-05:05
05:10-6:15
04:15-05:20
05:30-06:35
06:40-07:45
06:00-07:05
07:00-08:05
07:30-08:35
07:00-08:05
08:00-09:05
09:00-10:05
10:00-11:05
09:00-10:05
11:00-12:05
11:00-12:05
13:00-14:05
12:00-13:05
14:00-15:05
13:00-14:05
14:00-15:05
15:00-16:05
15:00-16:05
16:00-17:05
16:00-17:05
16:15-17:20
17:00-18:05
17:00-18:05
18:00-19:05
19:00-20:05
19:00-20:05
20:00-21:05
20:00-21:05
05:00-06:05
07:05-08:10
06:00-07:05
08:05-09:10
06:40-07:45
08:45-09:50
07:00-08:05
09:05-10:10
09:00-10:05
11:05-12:10
11:00-12:05
13:10-14:15
13:00-14:05
15:05-16:10
14:00-15:05
16:10-17:15
29
Flight ID
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Org. - Dest.
IST-IZM
IZM-IST
IST-IZM
IZM-IST
IST-IZM
IZM-IST
ANK-IZM
IZM-ANK
ANK-IZM
IZM-ANK
ANK-IZM
IZM-ANK
ANK-ANT
ANT-ANK
ANK-ANT
ANT-ANK
IST-ANT
ANT-IST
IST-ANT
ANT-IST
IST-ANT
ANT-IST
IST-ANT
ANT-IST
IST-ANT
ANT-IST
IST-ANT
ANT-IST
IST-ANT
ANT-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
IST-ADA
ADA-IST
ANK-ADA
ADA-ANK
Table 20: Flight data for the 96-flight instance.
Dept. T. - Arr. T.
16:00-17:05
18:05-19:10
17:00-18:05
19:05-20:10
21:45-22:50
23:50-00:55
05:45-07:00
08:00-09:15
15:00-16:15
17:15:18:30
20:50-22:05
23:10-00:25
04:15-05:15
06:15-07:15
19:00-20:00
21:00-22:00
06:25-07:40
08:40-09:55
09:30-10:45
11:45-13:00
12:45-14:00
15:00-16:15
15:30-16:45
17:55-19:10
17:00-18:15
19:15-20:30
18:30-19:45
20:45-22:00
21:55-23:10
00:15-01:30
06:20-07:50
08:50-10:20
15:00-16:30
17:30-19:00
17:20-18:50
19:55-21:35
12:15-13:45
14:45-16:25
14:00-15:30
16:30-18:00
19:30-21:00
22:00-23:30
09:15-10:45
11:45-13:15
21:35-23:05
01:30-02:00
17:30-18:30
19:30-20:30
Tekiner, Birbil and Bülbül: Managing extra flights
Sabancı University, Technical Report, c July 12, 2008
30
References
[1] R. Anbil, E. Gelman, B. Patty, and R. Tanga, Recent advances in crew-pairing optimization at American Airlines,
Interfaces 21 (1991), 62–74.
[2] R. Anbil, E.L. Johnson, and R. Tanga, A global approach to crew-pairing optimization, IBM Systems Journal 31
(1992), no. 1, 71–78.
[3] C. Barnhart, A.M. Cohn, E.L. Johnson, D. Klabjan, G.L. Nemhauser, and P.H. Vance, Airline crew scheduling, Handbook of Transportation Science (R.W. Hall, ed.), Springer, 2003,
http://www-personal.umich.edu/˜amycohn/PAPERS/cs_survey.pdf, pp. 517–561.
[4] C. Barnhart, E.L. Johnson, G.L. Nemhauser, M.W.P. Savelsbergh, and P.H. Vance, Branch and price: Column
generation for solving huge integer programs, Operations Research 46 (1998), no. 3, 316–329.
[5] R. Bixby, J.W. Gregory, I.J. Lustig, R. Marsten, and D. Shanno, Very large scale linear programming: A case study in
combining interior point and simplex methods, Operations Research 40 (1992), 885–897.
[6] T.G. Crainic and J.M. Rousseau, The column generation principle and the airline crew scheduling problem, Infor 25
(1987), no. 2, 136–151.
[7] G. Desaulniers, J. Desrosiers, and M.M. Solomon (eds.), Column generation, GERAD 25th Anniversary Series,
Springer, 2005.
[8] M. Ehrgott and D.M. Ryan, Constructing robust crew schedules with bicriteria optimization, Journal of Multi-Criteria
Decision Analysis 11 (2002), 139–150.
[9] ILOG, June 2008, http://www.ilog.com/products/#optimization.
[10] E.L. Johnson and B. Gopalakrishnan, Airline crew scheduling: State-of-the-art, Annals of Operations Research 140
(2005), 305–337.
[11] L. Lettovsk ý, E.L. Johnson, and G.L. Nemhauser, Airline crew recovery, Transportation Science 34 (2000), no. 4,
337–348.
[12] A. Makri and D. Klabjan, A new pricing scheme for airline crew scheduling, INFORMS Journal on Computing 16
(2004), no. 1, 56–67.
[13] D.M. Ryan and B. Foster, An integer programming approach to scheduling, Computer Scheduling of Public Transport
Urban Passenger Vehicle and Crew Scheduling (A. Wren, ed.), North-Holland Publishing Company, 1981,
pp. 269–280.
[14] A.J. Schaefer, E.L. Johnson, A.J. Kleywegt, and G.L. Nemhauser, Airline crew scheduling under uncertainty,
Transportation Science 39 (2005), no. 3, 340–348.
[15] S. Shebalov and D. Klabjan, Robust airline crew pairing: Move-up crews, Transportation Science 40 (2006), no. 3,
300–312.
[16] P.H. Vance, A. Atamtürk, C. Barnhart, E. Gelman, E.L. Johnson, A. Krishna, D. Mahidhara, G.L.
Nemhauser, and R. Rebello, A heuristic branch-and-price approach for the airline crew pairing problem,
http://www.crewingsolutions.com/docs/branch&price%20ACPO%20Vance%20lec9706.pdf, June 1997.
[17] P.H. Vance, C. Barnhart, E.L. Johnson, and G.L. Nemhauser, Airline crew scheduling: A new formulation and
decomposition algorithm, Operations Research 45 (1997), no. 2, 188–200.
[18] J.W. Yen and J.R. Birge, A stochastic programming approach to the airline crew scheduling problem, Transportation
Science 40 (2006), no. 1, 3–14.