Airline Crew Scheduling with Regularity - Diego Klabjan

3 downloads 63 Views 305KB Size Report
United Airlines. December 5, 2000. Abstract. The airline crew scheduling problem is the problem of assigning crew itineraries to flights. The problem is hard due ...
Airline Crew Scheduling with Regularity Diego Klabjan ∗ Ellis L. Johnson George L. Nemhauser Email: diego,ellis.johnson,[email protected] School of Industrial and Systems Engineering Georgia Institute of Technology Atlanta, GA 30332-0205 Eric Gelman Srini Ramaswamy Research and Development Information Services Division United Airlines December 5, 2000

Abstract The airline crew scheduling problem is the problem of assigning crew itineraries to flights. The problem is hard due to a large number of itineraries and the complicated cost function of an itinerary. The classic approach, which uses a set partitioning formulation, only captures the objective function of minimizing cost. We add a second goal of maximizing the repetition or regularity of itineraries over a weekly horizon and we develop models that capture regularity. We present a new algorithm that solves the crew scheduling problem over a weekly horizon. Solutions are reported that improve on existing solutions used by an airline.

The domestic flight schedules of major U.S. airlines consist of many flights that are flown every day of the week and some exceptions that do not repeat daily, e.g. some flights may be flown every day except Saturday. Thus the schedule repeats weekly, but not quite daily and it is necessary to consider a weekly horizon. The weekly crew scheduling problem is to find crew itineraries or pairings that partition all the flights in the weekly schedule. Using the traditional approach, we would minimize the weekly crew cost. However it would be unlikely that the resulting pairings could be repeated many times in the weekly horizon unless such constraints were specifically imposed. Thus the solution would lack regularity. ∗ Current address: Department of Mechanical and Industrial Engineering, University of Illinois at UrbanaChampaign, Urbana, IL, 61801

1

Regularity is important with respect to crew (and plane) schedules, since regular solutions are much easier to implement and manage, and, if possible, crews prefer to repeat itineraries. In current practice, airlines attempt to achieve some regularity by solving a two-stage problem, called daily/exceptions. First, the crew scheduling problem with the assumption that all flights flown at least 4 consecutive days per week are operated every day is solved as a daily problem by adding fictitious flights to the schedule. Then pairings that contain fictitious flights are removed from the solution and all of the real flights in these removed pairings, together with any flights that are operated fewer than 4 days per week, are put into an auxiliary weekly exceptions problem that is solved separately. The auxiliary problem generally has a sparse schedule that requires deadheading and even its optimal solution yields a high weekly cost. Moreover, if there are many removed pairings, the regularity achieved in stage one will be reduced substantially. The alternative is to impose regularity constraints or penalties directly on a weekly problem. To the best of our knowledge, this has not been attempted before since it was believed that such an approach would not be computationally tractable. Here we present a new model, called the weekly crew scheduling model with regularity, that captures both cost and regularity in a weekly schedule. We demonstrate that by using approximations and integer programming as a heuristic, we obtain solutions that improve on current practice with respect to both regularity and cost. The rest of the paper is organized as follows. In Section 1 we give a high level description of the models and the methodology. In Section 2 we expand this description by presenting the models and the cost structure. In Section 3 we give details on how we solve the large scale IPs resulting from the models. Section 4 reports computational results. Airline Crew Scheduling Most US airlines domestic operations are based on a hub and spoke network. Airports with high activity are called hubs and the low activity airports are called spokes. A segment is a nonstop flight. For each segment i, let depi /arri be the departure/arrival station and let dti /ati be the departure/arrival time. A duty is a working day of a crew that consists of a sequence of flights and is subject to FAA and company rules. A connection within a duty is called a sit connection. There is a minimum and maximum sit connection time, denoted by minSit and maxSit, respectively. The minimum sit connection time requirement can be violated only if the crew follows the plane turn, i.e. they do not change planes. The cost of a duty, measured in minutes, is usually the maximum of three quantities: the flying time, a fraction of the elapsed time, and the duty minimum guaranteed pay. Crew bases are designated stations where crews are based. A pairing is a sequence of duties, starting and ending at a crew base. A connection between two duties is called an overnight connection or layover. We refer to the time of a layover as the rest. Like sit connection times, there is a lower and an upper bound on the rest. We denote by minRest and maxRest the minimum and maximum allowed rest time, respectively. The cost of a pairing is also the maximum of three quantities: the sum of the duty costs in the pairing, a fraction of the time away from base and a minimum guaranteed pay times the number of duties. Formally, the cost dcd of a duty d and the cost pcp of a pairing p are

2

defined as 

dcd = max {

f li , f d · duty elapsed time, dmg},

i∈d



pcp = max{

dcd , f p · time away from base, pmg ·

d∈p

(1) 

1} ,

(2)

d∈p

where f li is the flying time of segment i, f d and f p are constants that weight the corresponding elapsed time, and dmg, pmg are minimum guarantees for the duty and pairing pay, respectively. The excess cost or pay-and-credit, denoted by αp of a pairing p, is defined as the  cost minus the flying time of the pairing, i.e. αp = pcp − i∈p f li . Note that the excess cost is always nonnegative. The flight time credit (FTC) of a pairing is the excess cost times 100 divided by the flying time, i.e. it is pay-and-credit expressed as a percentage of total flying time in the pairing. A pairing is also subject to many FAA rules. In all of our data sets there was a limit of 10 segments per duty and 4 duties per pairing. Traditionally a crew scheduling problem is modeled as the set partitioning problem min{αx : Ax = 1, x binary},

(3)

where each variable corresponds to a pairing, aij = 1 if segment i is in pairing j and 0 otherwise, and αj is the pay-and-credit of pairing j. The problem is difficult since the number of pairings, i.e. columns, can be extremely large. The number of pairings varies from 200,000 for small fleets, to about a billion for medium size fleets and to billions for large fleets. Furthermore since the cost function of a pairing is nonlinear and the legality rules are complex, it is hard to perform delayed column generation, i.e. generating columns only as they are needed in the optimization algorithm. The literature on crew scheduling is abundant. A recent survey can be found in Barnhart et al. (1999). The Segment Timeline Network The segment timeline network has two distinct nodes for each flight, one for its arrival and the other for its departure. For each flight there is an arc connecting the two nodes. Additionally the network has an arc between the arrival node of a flight and the departure node of a flight if either the connection corresponds to a plane turn or the connection time between the two flights is within [minSit, maxSit] ∪ [minRest, maxRest], and the arrival station of the first flight is the same as the departure station of the second flight. We assume that the arcs wrap around in time, e.g. a flight on Sunday can connect to a flight on Monday. Each pairing is a path in the segment timeline network however, due to pairing feasibility rules, a path is not necessarily a pairing.

1

Overview of the Approach

Our goal is to create a solvable model that captures the trade-off between cost and regularity by varying the objective function. With these two objectives in mind a promising way for solving the problem is to partition the legs into groups in such a way that within each group regularity is easily achievable. For example, if all the legs in a group are flown every day of 3

the week, then every pairing covering these legs can be repeated every day in the week. We partition the legs into g-regular groups, g = 4, . . . , 7, where the legs in a g-regular group can be partitioned with pairings that can be repeated g consecutive days of the week. Note that repeating a pairing g days is not related to the number of duties in the pairing, it means that each flight in the pairing is flown on g consecutive days. For example, if pairing p covers flights i and j on Monday, and flight k on Tuesday, then this pairing can be repeated at least 2 consecutive days if i, j are also flown on Tuesday and k is flown on Wednesday.

1.1

Notation and Problem Definition

A g-regular leg, g = 4, 5, 6, 7, is the set of segments with the same departure and arrival station, with the same local departure and arrival time, such that the segments in the set are operated on g consecutive days, and g is the maximum number with this property. There are g segments in a g-regular leg. In other words, this set is a repetition of segments flown over several consecutive days, which is very common in domestic schedules. All other segments are irregular legs but for convenience we call them 1-regular legs. We use this terminology even for a segment that might be repeated 2 or 3 times a week because we consider each of these segments individually. For example, if a segment is operated on 5 days among which at most 4 are consecutive days, then this segment yields one 4-regular leg and one 1-regular leg. Specifically, a segment operated on Monday through Thursday and Saturday yields a 4-regular leg representing the operations on Monday through Thursday and one 1-regular leg corresponding to the Saturday segment. We denote by Lg the set of all g-regular legs and if i ∈ Lg , we define gi = g, i.e. gi = |i|. A regular leg is an element of L(4, 7) = ∪7g=4 Lg . Note that only regular legs are considered in daily problems. We use the term leg to refer to either a regular leg or a 1-regular leg. For a leg i, we denote by id ∈ i the segment that is operated on day d ∈ W , where W = {Mo, Tu, We, Th, Fr, Sa, Su} is used to denote the days of the week together with modulo addition defined in the usual wrap around fashion, e.g. Mo + 1 = Tu, Sa + 4 = We. Note that each pairing can be represented as a sequence of segments id . A g-regular pairing is a pairing that can be repeated on g consecutive days. Specifically, a pairing p = (i1d(i1 ) , . . . , ikd(ik ) ) can be a g-regular pairing if for all j = 1, . . . , k the segments ijd(ij )+h are operated for each h, 1 ≤ h ≤ g − 1. We use the notation id ∈ p to denote id ∈

{i1d(i1 ) , . . . , ikd(ik ) } and in this case we say that segment id is covered by pairing p. Similarly, we say that leg i is covered by pairing p and we write i ∈ p if there is a day d ∈ W such that id ∈ p. Typically d is known from the context.

4

Example 1. Consider the following schedule. Leg 1 2 3 4 5 6 7 8 9 10

Dep. Sta. LAX ORD DCA LAX SFO ORD ORD DCA SFO DCA

Arr. Sta. ORD DCA LAX SFO ORD LAX DCA SFO ORD SFO

Dep. Time 14:05 20:30 14:10 10:00 08:00 11:30 07:30 12:00 07:00 16:00

Arr. Time 19:45 23:15 18:00 11:30 13:40 14:15 10:30 15:30 11:30 19:00

Days not Flown 67 6

12345 7

g 7 5 6 7 7 7 7 7 7 1

The next to last column indicates that the second regular leg is not flown on weekends and that the third one is not flown on Saturday. The last 1-regular leg is operated only on Saturday. The schedule consists of 9 regular legs and one irregular leg. There are seven 7-regular legs (g1 = g4 = g5 = g6 = g7 = g8 = g9 = 7), a single 5-regular leg (g2 = 5), and a single 6-regular leg (g3 = 6). The 2 duty pairing (1Mo , 2Mo , 3Tu ) can be at most a 4-regular pairing since regular leg 3 is not operated on Saturday, whereas the 3- and 2-duty pairings (4Mo , 5Tu , 6We ) and (7Mo , 8Mo , 9Tu ) can be g-regular pairings for any g ≤ 7. A possible partition of the regular legs is to assign the 7-regular legs 4, 5, 6, 7, 8, 9 to the 7regular group and legs 1, 2, 3 to the 4-regular group. With such an assignment the segments in S = {1Fr , 1Sa , 1Su , 2Fr , 3Su , 3Mo , 10Sa } still need to be partitioned with 1-regular pairings. An alternative partition is to assign legs 4, 5, 6 to the 7-regular group, legs 1, 2, 3 to the 4-regular group and legs 7, 8, 9 to the 6-regular group. In this case the 4-regular pairing (1Mo , 2Mo , 3Tu ) partitions the 4-regular group, the 7-regular pairing (4Mo , 5Tu , 6We ) the 7-regular group, the 6-regular pairing (7Su , 8Su , 9Mo ) partitions the 6-regular group, and 1-regular pairings have to partition the remaining segments consisting of S ∪ {7Sa , 8Sa , 9Su }. The first solution clearly yields higher regularity, however the second solution is likely to produce lower pay-and-credit since there are more opportunities for good pairings in S ∪ {7Sa , 8Sa , 9Su }.

1.2

The Regularity Model

A model that partitions the legs into groups requires binary variables for each pairing p in the weekly horizon and a variable for each leg assigning this leg to a regular group. However just knowing the group of a leg is not enough since we have to specify exactly which flights are covered by a pairing in this group. In the second assignment of Example 1, the group covered by 1-regular pairings depends on the 6-regular pairing selected to cover legs 7, 8, 9. The constraints in the model are to assign each regular leg to a regular group, to partition each group by pairings, and to cover the remaining segments of legs with pairings. The trade-off between regularity and cost is controlled by adjusting the pairing cost and the cost of assigning a leg to a group. Next we present the formulation of the model. We partition the regular legs into regular groups. Specifically, for a g-regular group, g = 4, 5, 6, 7, we require that there are g-regular 5

pairings that partition the regular legs in the group. By definition regular legs i from a g-regular group have gi ≥ g. We define variables for each regular leg that assign the regular leg to a regular group and also specify the day on which the regular leg is in the regular group. If a g-regular leg i is assigned to a g -regular group and g < g, then there are still some segments of i that need to be covered. The 1-regular group consists of all such segments and all the 1-regular legs and is partitioned with 1-regular pairings. In the first assignment of Example 1, the 1-regular group consists of the segments in S whereas in the second assignment the 1-regular group is the set S ∪ {7Sa , 8Sa , 9Su }. The number of segments in the 1-regular group is our measure of regularity, the lower the number, the higher the regularity. Let Sg , g ∈ {1, 4, 5, 6, 7}, be the set of all g-regular pairings. Note that to avoid repetition, we specify that all 7-regular pairings start on Monday. The sets Sg are not disjoint, e.g. a 7-regular pairing has 7 copies in S6 , one for each start day of the week. Let G(4, 6) = {4, 5, 6} and for each leg i ∈ L1 ∪ L4 ∪ L5 ∪ L6 , let sdi be the day of the week such that i is operated on sdi but not on sdi − 1. For i ∈ L7 we define sdi = Mo. Thus i = {isdi , . . . , isdi +gi −1 }. For example, the schedule from Example 1 yields sd2 = Mo and sd3 = Su. For i ∈ L(4, 7), d ∈ W, g ∈ G(4, 6) ∪ {7}, we define rigd to be the set of all days d˜ such that id˜ needs to be covered by a 1-regular pairing, if id is covered by a gregular pairing, i.e. rigd = {sdi , . . . , sdi + gi − 1} \ {d, . . . , d + g − 1}. In Example 1 we have r3,4,Mo = {Fr, Su}, r8,5,We = {Mo, Tu}. The following binary variables are needed in the model. Regularity variables For each i ∈ L(4, 7), for each g, 4 ≤ g ≤ gi , and for each day d ∈ {sdi , sdi + 1, . . . , sdi + gi − g}, we define a binary variable xigd . If i ∈ L7 and g < 7, then a variable is defined for each d ∈ W . We set xigd = 1 if and only if the segment id is covered by a pairing p ∈ Sg , i.e. id ∈ p. Example 2. The regularity variables for the schedule given in Example 1 are d ∈ W, i = 1, 4, 5, 6, 7, 8, 9

xi,7,Mo, xi,6,d , xi,5,d , xi,4,d x2,5,Mo , x2,4,Mo , x2,4,Tu x3,6,Su , x3,5,Su , x3,5,Mo , x3,4,Su , x3,4,Mo , x3,4,Tu .

Pairing variables Let the pairing variable yp = 1, p ∈ S7 ∪ S6 ∪ S5 ∪ S4 ∪ S1 , if and only if the pairing p is in the final weekly crew schedule. For simplicity of notation we define R ⊆ L(4, 7) × G(4, 6) × W to be R = {(i, g, d) : id , id+1 , . . . , id+g−1 exist in the schedule} and Q = R ∪ {(i, 7, Mo) : i ∈ L7 }. Note that there is a regularity variable for each element in Q and the elements of R correspond to the regularity variables for g ∈ G(4, 6).

6

The full regularity model is min





g · αp · yp +

g∈G(4,6)∪{1,7} p∈Sg

βg · xigd

(i,g,d)∈Q



i ∈ L(4, 7)

(4)

yp = xi,7,Mo

i ∈ L7

(5)

yp = xigd

(i, g, d) ∈ R

(6)

yp = 1

i ∈ L1

(7)

i ∈ L(4, 7), d ∈ W, id ∈ i

(8)

xigd = 1

(i,g,d)∈Q



p∈S7 :i∈p



p∈Sg :id ∈p



p∈S1 :i∈p



p∈S1 :id ∈p



yp =

xigd˜

g∈G(4,6) ˜ d:d∈r ig d˜ ˜ (i,g,d)∈Q

y binary, x binary .

(9)

Note that in (9) x binary can be relaxed to x ≥ 0 since from (5) and (6) x binary is implied. The objective function is discussed in Section 2.3. Here it suffices to note that the first term is the usual pairing cost and that the second term is a regularity penalty. The generalized upper bound constraints ( 4) require that each regular leg be assigned to exactly one regular group. Each regular group has to be partitioned with pairings as specified in constraints ( 5) and ( 6). Constraints ( 7) and ( 8) yield the same property for the 1-regular group. It is easy to see that we need to cover id , i ∈ L(4, 7), in the 1-regular group if and only if 

xigd˜ = 1 .

g∈G(4,6) ˜ d:d∈r ˜ ig d

˜ (i,g,d)∈Q

Hence there is no need for regularity variables to be defined for the 1-regular group. A 7-regular pairing can be assigned by the model to cover, for example, the 5-regular group. Therefore this model is difficult to solve because of the large number of pairing variables, which can be billions even for small size fleets, and in addition can have 10,000 rows for large fleets. The model requires that each regular leg is assigned to a regular group. We make this requirement to control regularity further and to reduce the size of the model, but it can be dropped by considering G(2, 6) = {2, 3, 4, 5, 6} instead of G(4, 6). The decomposition approach of first solving the daily problem on all the 7-regular legs does not work since the 7-regular legs are usually not balanced and therefore the problem is infeasible.

1.3

Key Ideas of the Approach

In order to reduce the size of the model, we resort to an approximate model that does not use all of the pairings. Since most legs are flown every day of the week, we anticipate that 7

the 7-regular group will have the largest flying time and therefore we want to have low payand-credit in this group. We require that pairings partition the legs in the 7-regular group but for the remaining groups we only require that paths in the segment timeline network partition the legs. Modeling paths requires far fewer variables than modeling pairings since it suffices to have binary variables that connect segments together. Note that the number of pairings grows exponentially with the number of legs but the number of connections is only quadratic in the number of legs. The drawback of this approximation is that we get only 7-regular pairings and the paths that partition the remaining part of the schedule are not necessarily pairings, i.e. they are not necessarily feasible. The solution to the approximate model yields a set of 7-regular pairings that become part of the weekly crew schedule, which in turn leads to a smaller flight schedule, and we iterate the procedure on the smaller schedule by eliminating the 7-regular group and by not producing anymore 7-regular pairings. Note that not necessarily all of the 7-regular legs are assigned to the 7-regular group and therefore the 7-regular pairings obtained by the model need not partition all of the 7-regular legs. In the second iteration we obtain only 6-regular pairings and we again partition the remaining groups with paths. We repeat the procedure two more times to obtain 5-regular and 4regular pairings. Thus we solve a series of four approximate models. Finally, we solve a weekly problem over the resulting 1-regular legs. This approach is described in more detail in Section 3.

2

Approximate Regularity Models

Now we define the four approximate models, denoted by RM for the first model, which finds only 7-regular pairings, and by MRMg , g = 6, 5, 4, for the other three models. Each MRMg model finds only g-regular pairings, and partitions the remaining legs using paths. The MRM model is a better approximation than the RM model since the paths must begin and end at the same crew base. We first define the RM model structure in Section 2.1 and then discuss the MRMg models in Section 2.2. The cost functions are explained in Section 2.3.

2.1

The Model

As in the full regularity model, we partition the regular legs into regular groups. For the 7-regular group we require that there are 7-regular pairings that partition all the regular legs in the group. However, for the remaining g-regular groups, 4 ≤ g ≤ 6 and g = 1, we require that paths in the segment timeline network partition the legs in the group. ‘Modeling’ paths requires only arc variables. We use the same regularity variables as in the full regularity model and only a subset of the pairing variables is needed. Pairing variables Let the pairing variable yp = 1, p ∈ S7 , if and only if the pairing p is in the final weekly crew schedule. We need variables that capture the connection arcs in the segment timeline network. A connection arc (aid , hjd˜), where aid is the node in the segment timeline network representing the arrival of segment id and hjd˜ is the node in the segment timeline network representing the departure of segment jd˜, is a g-regular connection if it can be repeated on g consecutive 8

days starting with day d, i.e. the segments id , id+1 , . . . , id+g−1 and jd˜, jd+1 must ˜ , . . . , jd+g−1 ˜ exist in the schedule. A g-regular path is a path in the segment timeline network that can be repeated on g consecutive days. Every connection arc in a g-regular path is a g-regular connection. Connection variables For each g-regular connection (ai , hj ) from the segment timeline network, g ∈ G(4, 6) ∪ {1}, we define a binary variable zijg whose value is 1 if and only if segments i and j appear consecutively in the same g-regular path. If leg i is in a g-regular group, g < 7, then there must be a connection arc that ‘covers’ the departure of i and there must be another connection arc that ‘covers’ the arrival of i, see Figure 1. We call this property, the extendibility of a path. Since we want the path covering i to be repeated g times, the corresponding connections must be repeated as well. If the arrival or departure station of a leg is at a crew base, then we do not require the extendibility of a path since pairings terminate and start at crew bases. Since the activity at crew bases is high due to the hub and spoke structure, there are many opportunities to patch these paths into paths that start and end at the same crew base, and eventually into pairings.

Figure 1: Extendibility of a path Paths can be constructed from connection variables that equal 1. In addition, xi,7,Mo = 1 if and only if the 7-regular leg i is covered by a pairing p ∈ S7 and xigd = 1, 4 ≤ g < 7 if and only if id is covered by a g-regular path in the segment timeline network. Example 3. Some connection variables for the schedule given in Example 1 are z1Mo ,6Mo ,7 , z4Mo ,5Mo ,7 , z5Mo ,6Mo ,7 z1Mo ,6Tu ,1 , z10Sa ,5Su ,1 , z2Fr ,10Sa ,1 z3Su ,4Mo ,6 , z1Mo ,2Mo ,5 , z2Mo ,3Tu ,4 , z4Tu ,5We ,5 . Deadheads are generally required for weekly problems. Since one of our objectives is not to use too many of them, we only consider the airline’s own flights that either depart or arrive at a crew base as potential deadheads. For bigger fleets, deadheads are not needed in regular groups, but they are always required for the 1-regular group. In addition to connection variables, the extendibility of paths can also be obtained by deadhead variables that are defined as follows, where CB is the set of all crew bases. 9

Deadhead connection variables For each segment i, for each g ∈ G(4, 6) ∪ {1}, and for each cb ∈ CB such that arri = cb we define a binary variable ucb ig which corresponds to the closest in time deadhead j from the arrival of segment i to the crew base cb such that the connection (i, j) is a g-regular connection and the connection time is within [minSit, maxSit] ∪ [minRest, maxRest]. If such a deadhead j does not exist, cb to cover the the variable is not defined. Similarly we define deadhead variables vig cb departure of every segment. We set ucb ig = 1 or vig = 1 if and only if the deadhead is chosen. Based on this definition, each flight has two deadheads to each crew base, one covering the departure and the other one covering the arrival. The only exception is if the arrival or departure station of the flight is at a crew base in which case there is no deadhead to this crew base. Next we give the objective function and the constraints of the model. The objective function is min





7 · αp · yp +

βg xigd +

(i,g,d)∈Q

p∈S7



γijg zijg +

i,j,g



δig vicbd ,g +

id ,g,cb



δig ucb id ,g ,

id ,g,cb

(10)

where the summation is only over all defined variables. The cost coefficients are discussed in Section 2.3. Next we discuss the constraints. The generalized upper bounds constraints are 

xigd = 1

i ∈ L(4, 7)

(11)

(i,g,d)∈Q

and they require that each regular leg be assigned to exactly one regular group. The 7-regular group has to be partition with 7-regular pairings which is achieved by 

yp = xi,7,Mo

i ∈ L7 .

(12)

p∈S7 :i∈p

The remaining regular groups have to be partitioned with paths. The constraints 

zid jg +

j





ucb id g = xigd

(i, g, d) ∈ R, arri ∈ / CB

(13)

vicbd g = xigd

(i, g, d) ∈ R, depi ∈ / CB

(14)

cb∈CB

zjid g +

j



cb∈CB

express the extendibility property of paths in regular groups. They reflect the fact that a path can be extended either with a connection or with a deadhead. Each 1-regular leg from L1 must be covered by a path in the 1-regular group, hence 

zij1 +

j

 j



ucb ig = 1

i ∈ L1 , arri ∈ / CB

(15)

cb vig =1

i ∈ L1 , depi ∈ / CB .

(16)

cb∈CB

zji1 +



cb∈CB

10

We express that the ‘remnants’ of regular legs must be covered by paths in the 1-regular group by 

zid j1 +

j



ucb id 1 =

cb∈CB



xigd˜

i ∈ L(4, 7), d ∈ W, arri ∈ / CB, id ∈ i

(17)

xigd˜

i ∈ L(4, 7), d ∈ W, depi ∈ / CB, id ∈ i .

(18)

g∈G(4,6) ˜ d:d∈r ˜ ig d

 j

zjid 1 +

 cb∈CB

˜ (i,g,d)∈Q

vicbd 1 =



g∈G(4,6) ˜ d:d∈r ig d˜ ˜ (i,g,d)∈Q

The regularity model, denoted by RM, has the objective function (10), constraints ( 11)( 18) and integrality constraints x binary, y binary, z ≥ 0, v ≥ 0, u ≥ 0 . Note that given a binary x, the resulting problem for z, u and v is an assignment problem and therefore their integrality is implied by the integrality of x. Observe also that the integrality of y implies the integrality of xi,7,Mo , i ∈ L7 and therefore we can relax the integrality of these variables. Several enhancements, such as path balancedness at crew bases, crew base to crew base legs, mixing pairings and paths within a group, and extendibility of paths beyond a crew base, are presented in Klabjan (1999).

2.2

The Multicommodity Approximate Regularity Models

The connection variables equal to 1 in the RM model yield paths in the segment timeline network that start and end at crew bases, however a pairing must start and end at the same crew base. So if there is more than one crew base, we make a copy of the segment timeline network and we associate a single crew base cb with the network. If the RM model is applied to such an underlying network, it yields paths that start and end at the crew base cb. Each network requires its own set of regularity and connection variables and by linking the regularity variables, we can assign a regular leg to a unique path. This is the idea of the multicommodity regularity model, denoted by MRM7 . For each connection variable from the RM model we have |CB| connection variables, one for each crew base. We keep the same pairing and deadhead variables from RM, but the regularity variables need to be modified slightly and there are new variables that assign ‘remnant’ segments to a particular network. We need new 1-regular regularity variables since if a regular leg i is assigned to the network with a crew base index cb, a segment of i that still needs to be covered by a path can be covered in any network with an index cb . Regularity variables For each i ∈ L7 , let xi,7,Mo = 1 if i is assigned to the 7-regular group and 0 otherwise. For each i ∈ L(4, 7) ∪ L1 , for each g ∈ {1} ∪ {4, . . . , min{6, gi }}, for each cb ∈ CB, and for each day d ∈ {sdi , sdi + 1, . . . , sdi + gi − g} we define a binary regularity variable xcb igd . If i ∈ L7 , then the variables are defined for each d ∈ W . The cost of 1-regular regularity variables is denoted by c1 and is discussed in Section 2.3. 11

We set xcb igd = 1 if and only if segment id is covered by a g-regular path that starts and ends at the crew base cb. Example 4. If LAX and ORD are the only two crew bases, then the regularity variables for the schedule given in Example 1 are d ∈ W, i = 1, 4, 5, 6, 7, 8, 9

xi,7,Mo , xji,6,d , xji,5,d , xji,4,d

j ∈ {LAX, ORD}

xj2,5,Mo , xj2,4,Mo , xj2,4,Tu xj3,6,Su , xj3,5,Su , xj3,5,Mo , xj3,4,Su , xj3,4,Mo , xj3,4,Tu xj10,1,Sa

j ∈ {LAX, ORD} j ∈ {LAX, ORD} j ∈ {LAX, ORD} d ∈ W, i = 1, 4, 5, 6, 7, 8, 9

xji1d

j ∈ {LAX, ORD}

xj2,1,Mo , xj2,1,Fr xj3,1,Su , xj3,1,Mo , xj3,1,Th , xj3,1,Fr

j ∈ {LAX, ORD} j ∈ {LAX, ORD} .

The generalized upper bound constraints now read xi,7,Mo +



xcb igd = 1

i ∈ L7 ,

xcb igd = 1

i ∈ L4 ∪ L5 ∪ L6 .

g∈G(4,6) d∈W cb∈CB



(19)

(i,g,d)∈R cb∈CB

In addition each 1-regular leg has to be assigned so that 

xcb i,1,sdi = 1

i ∈ L1 ,

(20)

cb∈CB

and we need constraints (12) to partition the 7-regular group with pairings. To express the extendibility property of paths in groups we have 

cb zicbd jg + ucb id g = xigd

(i, g, d) ∈ R ∪ P, arri = cb, cb ∈ CB

(21)

cb zji + vicbd g = xcb igd dg

(i, g, d) ∈ R ∪ P, arri = cb, cb ∈ CB ,

(22)

j

 j

where P = {(i, 1, sdi ) : i ∈ L1 }. To complete the formulation, we need to link the regular regularity variables and the 1-regular regularity variables using the constraints  g∈G(4,6) ˜ d:d∈r ig d˜ ˜ (i,g,d)∈Q cb∈CB

xcb = ig d˜



i ∈ L(4, 7), d ∈ W, id ∈ i .

xcb i1d

cb∈CB

12

(23)

The MRM7 model has more variables and rows than the RM model but it yields a stronger approximation. Note that as in the case with the RM model we can relax the integrality of xi,7,Mo , i ∈ L7 . 2.2.1

The Generalized Multicommodity Approximate Regularity Model

The overall algorithm produces pairings in decreasing order of regularity in stages. We produce 7-regular pairings in stage 1, 6-regular pairings in stage 2, etc. We present a model, denoted by MRMg , that generalizes the MRM7 model by having only g-regular groups, 4 ≤ g ≤ g < 7, where g is a fixed group index. The g -regular group is partitioned with pairings and all other groups are partitioned with paths. For example, this model is used in stage 2, where 7-regular pairings have already been obtained and we want to obtain 6-regular pairings so that g = 6. 7

In this section let G(4, g − 1) = {g − 1, . . . , 4} and let L(g , 7) = ∪  Li be the set of all i=g

regular legs that can be covered by pairings from Sg . We only list the parts of the model that differ from the MRM7 model. The connection and the deadhead variables can be recycled from the MRM7 model.  i = {sdi , sdi + Regularity variables For each regular leg i ∈ L(g , 7) and for each day d ∈ D   1, . . . , sdi + gi − g } we define a g -regularity binary variable xid . If i ∈ L7 , then the  i = W . xid = 1 if and only if variables are defined for each d ∈ W and in this case D  the segment id is covered by a g -regular pairing. For each leg i ∈ L(4, 7) ∪ L1 , for each g ∈ {1} ∪ G(4, g − 1), for each day d ∈ {sdi , sdi + 1, . . . , sdi + gi − g}, and for each cb ∈ CB we define a binary variable xcb igd . If i ∈ L7 , then the variables are defined for each d ∈ W .

Example 5. If LAX and ORD are the only two crew bases and g = 5, then the regularity variables for the schedule given in Example 1 are xid , xji,4,d

d ∈ W, i = 1, 4, 5, 6, j ∈ {LAX, ORD}

x2,Mo , xj2,4,Mo , xj2,4,Tu

j ∈ {LAX, ORD}

x3,Su , x3,Mo , xj3,4,Su , xj3,4,Mo , xj3,4,Tu

j ∈ {LAX, ORD}

xj7,1,Sa xji1d xj2,1,Mo , xj2,1,Fr xj3,1,Su , xj3,1,Mo , xj3,1,Th , xj3,1,Fr

j ∈ {LAX, ORD} d ∈ W, i = 1, 4, 5, 6, j ∈ {LAX, ORD} j ∈ {LAX, ORD} j ∈ {LAX, ORD} .

Pairing variables Let yp = 1 if pairing p ∈ Sg is selected and 0 otherwise. The constraints (19) are used for each i ∈ L(4, 7) − L(g , 7) and all of the constraints (20) are used. The generalized upper bound constraints  i d∈D

xid +



i ∈ L(g , 7)

xcb igd = 1

(i,g,d)∈R cb∈CB

13

are added for regular legs in L(g , 7). Since the g -regular group has to be partitioned with pairings, we add 

yp = xid

i . i ∈ L(g , 7), d ∈ D

p∈Sg :id ∈p

We need (21) and (22) to express the extendibility property of paths. For each i ∈ L(4, 7) − L(g , 7) constraints (23) are added and for i ∈ L(g , 7) we need  ˜ d:d∈r ig  d˜ ˜ D i d∈

xid˜ +

 g∈G(4,g  −1) ˜ d:d∈r ˜

xcb = ig d˜



xcb i1d

i ∈ L(g , 7), d ∈ W, id ∈ i .

cb∈CB

ig d

˜ (i,g,d)∈Q cb∈CB

Note that the integrality of pairing variables implies the integrality of the g -regularity variables xid , however the remaining regularity variables are required to be binary.

2.3 2.3.1

Cost Function Cost of Regularity and Pairing Variables

The cost of regularity variables depends only on the group index since there is no reason for prefering to assign one leg rather than another leg to a g-regular group. Because one of the objectives is to maximize regularity, if g < g˜, then βg > βg˜ . However, if the absolute gap between βg and βg˜ is too large, then the objective may emphasize regularity too much. On the other hand, if the gaps are small enough, then the order of magnitude should not matter because of the generalized upper bound constraints (11). We use the values β7 = 1, β6 = 2, β5 = 3, β4 = 4. Regarding the pairing cost, since a g-regular pairing is repeated g times a week, it contributes g times its pay-and-credit toward the weekly pay-and-credit. The trade-off between excess cost and regularity can be controlled by varying the relative values of the coefficients βg . 2.3.2

Cost of Connection Variables

The sum of the cost of connection variables along a path must approximate the pay-andcredit. Let i and j be two segments such that the connection variable zijg is defined. Let ctij be the connection time. We deal separately with the cost of sit and overnight connections. Sit Connections The cost of a connection variable should reflect that large connection times within a pairing increase cost. In addition the cost should be a continuous function of ctij , except at plane turn connections. For sit connections we can approximate the ‘pay-and-credit’ by f d·ctij since the connection time counts toward the duty elapsed time and it is weighted by f d, see (1). It is very likely

14

that short connections do not substantially contribute toward the pay-and-credit and hence we would like to encourage them. Plane turn connections are particularly appealing. Connections with time ctij shorter than a fixed value, denoted by ShortT ime, are treated as short connections and are given a bonus. Let T urnCost be the fixed cost of turn connections and let ShortCost be the fixed cost of short connections. The contribution of a g-regular path toward the weekly pay-and-credit is g times its one day pay-and-credit and hence we weight the cost by a factor of g. The cost function for sit connections    T urnCost

γijg

ctij < minSit, = g · ShortCost ctij ≤ ShortT ime,   f d · (ct − ShortT ime) + ShortCost ct ≤ maxSit. ij ij

is shown in Figure 2.

Figure 2: Connection cost curve for sit connections Short connections at crew bases are needed to produce a diversity of pairings, which is especially needed later for the g-regular pairings with g < 7. We achieve this with the connection cost. We have found empirically that if all connection costs are positive, the model does not select many sit connections at crew bases for later stages. Therefore we assign negative values T urnCost = −50 and ShortCost = −30 for sit connections at crew bases and positive values T urnCost = 15 and ShortCost = 30 for connections at other stations. 15

Overnight Connections We approximate the pay-and-credit contribution of overnight connections with the time away from base factor by weighting the connection time with f p, see (2). Like short sit connections, short overnight connections get a bonus. If the connection time is larger than 24 hours, then it is very likely to produce high pay-and-credit and hence we weight such connections with a larger factor. Since the span of the rest time is much larger than the range of sit connection times, we split the rest period into four subintervals. Specifically, if the connection time is short, we assign a constant cost and in the other three subintervals the slopes are f p, k3 · f p, k4 · f p, where k4 > k3 > 1 are parameters. Let f bp, sbp, tbp be the first, second, and third break point time, respectively, and let F irstCost be the fixed cost assigned to connections in the first interval. One component of the connection cost function is

γij =

  F irstCost      f p · (ctij − f bp) + F irstCost  

f p · (k3 ctij + (1 − k3 )sbp − f bp)

  + F irstCost     f p · (k4 ctij + (k3 − k4 )tbp   

+ (1 − k3 )sbp − f bp) + F irstCost

minRest ≤ ctij ≤ f bp, ctij ≤ sbp, ctij ≤ tbp, tbp ≤ ctij ≤ maxRest

and is shown in Figure 3 for k3 = 2 and k4 = 5.

Figure 3: The component c of the overnight connection cost We also incorporate some aspects of duty feasibility into the overnight connection cost. 16

If the flight time of segment i is ‘long’, then it is preferable for segment i to be followed by an overnight connection. On the other hand, since duties with a short flying time usually produce high pay-and-credit, if the flying time is ‘short’, we prefer the next connection to be a sit connection. In this case, we penalize the overnight rest where the penalty is a decreasing function of the flying time. If the local departure time of a segment is early in the morning, then we prefer the next connection to be a sit connection rather than an overnight connection since a natural span of duties covers the morning and afternoon. Similarly, if the local arrival time of a segment is late in the evening, we prefer to end a duty. We also create penalties to deal with these situations. Let [bmw, emw] be the morning time window, let [bew, eew] be the evening time window, let ke < kd < 1 be two constants, and let F lightP enalty be a constant such that F lightP enalty > maxi∈L(4,7)∪L1 f li . Then    f p · (F lightP enalty − f li )

pfi =

bmw ≤ dti ≤ emw, ke · f p · (F lightP enalty − f li ) bew ≤ ati ≤ eew,   kd · f p · (F lightP enalty − f l ) otherwise. i

Finally, we combine the two components of the overnight connection cost to obtain γijg = g · (pfi + γij ) . 2.3.3

Cost of Deadhead Connection Variables

Let j be the deadhead departing from the arrival station of segment i and going to a crew base that has the shortest connection time from i, i.e. j defines ucb ig . The only contribution of a deadhead toward the cost of a pairing is extra connection time since deadheading does not count toward flying time. However, if we took only the pay-and-credit contribution as the cost of a deadhead connection, then we would get too many deadheads. This is undesirable since deadheads decrease revenue. We assume that the extra cost is proportional to the flight time of the deadhead, which is the case for the flight fare. Let DhdF actor be the proportionality factor and let ctij = dtj − ati . We assign the cost δig = g · (q · (ctij + f lj ) + f lj · DhdF actor) , cb is obtained in the same where q = f d if ctij ≤ maxSit and q = f p otherwise. The cost of vig way.

3 3.1

Solution Methodology General Algorithm

The overall algorithm, which is given in Algorithm 1, produces pairings in decreasing order of regularity in stages. We produce 7-regular pairings in stage 1 (g = 7), and then k-regular pairings in stage 8 − k for k = 6, 5 and 4. Next we describe each step in detail.

17

Algorithm 1: Crew Scheduling with Regularity 1: 2: 3: 4: 5: 6: 7: 8:

9:

for g = 7 to 4 do Generate a subset S¯g of random g-regular pairings from Sg . if g = 7 then Form the regularity model RM using only pairings from S¯g . else Form the multicommodity regularity model MRMg using only pairings from S¯g . end if Solve the LP relaxation of the model. Select a subset of columns for the IP. Solve the IP using only the selected columns. Solve the crew scheduling problem on the legs assigned to the g-regular group and let Sˆg be the g-regular pairings in the solution. Select a subset of low FTC pairings from Sˆg to be part of the final weekly crew schedule. Reduce the flight schedule. end for Find 1-regular pairings that partition the remaining schedule.

Step 1, pairing generation: In stage 1 we generate approximately 10 to 20 million random 7-regular pairings, see Klabjan et al. (1999). Since we do not need to cover all of the 7-regular legs by pairings in stage 1, it might suffice to consider only very low FTC 7-regular pairings in stage 1. But then we might have to use very high FTC pairings in later stages. As a compromise, we generate a substantial number of low FTC 7-regular pairings and some with moderate FTC. Specifically, the random generation is carried out twice by first generating pairings with FTC less than 0.5% and then generating pairings with FTC less than 8%. About a third of the low FTC pairings are generated. The set S¯7 of pairings that form the input to RM consists of all the randomly generated pairings. In the remaining stages with g < 7, we proceed as follows. First we generate a segment timeline network. For each regular leg i in the current schedule with g ≤ gi < 7 we add segments isdi , . . . , isdi +gi −g to the segment timeline network. In addition, for each 7-regular leg i that is still in the schedule and for each d ∈ W , we add id to the segment timeline network . Even though the schedule is substantially reduced in stage 1, the total number of pairings for the remaining stages might still be too large. If this is the case, we generate approximately 10 million random pairings in the segment timeline network which form the set of g-regular pairings S¯g . Steps 2 and 3, model formation: The weaker model RM is used in stage 1 to make the model computationally tractable. In the remaining stages we use MRMg since in stage 1 we substantially reduce the flight schedule. The models consider only pairings from S¯g . Step 4, LP solving: After creating the input pairings S¯g and the formulation, we first solve the LP relaxation of the model. These LP relaxations have 10,000 to 30,000 rows and up to 30 million columns. We solve the LP relaxations with a parallel primal-dual algorithm, Klabjan, Johnson and Nemhauser (2000). Linear relaxations of the MRMg models are highly 18

primal degenerate and hence perturbation is needed. Step 5, selecting columns for IP: A subset of low reduced cost columns is selected for the IP using a randomized greedy approach based on the reduced cost. First we select all pairings with reduced cost below a given number K > 0, Klabjan et al. (1999). Since K > 0, we choose all of the basic pairings. If rc is the reduced cost of a pairing, then a pairing whose reduced cost is above K is selected for the IP with probability exp(−τ · rc2 ), where τ is computed in such a way that the average number of selected pairings is approximately 100,000. Note that the actual number is a function of the number of legs in the problem and for smaller problems it is possible to select all of the pairings. Finally connection and deadhead variables with the best reduced cost are selected and all of the regularity variables are selected. The number of variables in IP is approximately 200,000 but the actual number depends on the number of legs in the problem. Step 6, IP solving: Since the objective of a model is to obtain some ‘good’ g-regular parings, we relax the models by allowing fractional values for all but the pairing variables. Note that the integrality of pairing variables implies that all the variables xigd are binary. The optimization of the relaxed problem is aborted after the first integer solution is found. We observed that fixing variables with value 1 at the root node LP relaxation does not produce good solutions. ˆ g the Step 7, solving the problem on the legs in the g-regular group: Denote by L set of all g-regular legs that are assigned to the g-regular group and by S˜g the set of gregular pairings given by the solution to the model. Since the IP solution is found only on a subset of pairings from Sg and we abort the IP optimization after the first integer solution is obtained, the pairings from S˜g are unlikely to yield an optimal solution to the crew schedulˆ g . Therefore the crew scheduling problem on the ing problem on the g-regular legs from L ˆ g is solved next, giving the set of g-regular pairings Sˆg . This problem is g-regular legs from L solved by using the approach from Klabjan et al. (1999). Step 8, reducing the flight schedule: Since models tend to select many g-regular pairings, some of them are ‘kept active’ for later stages, i.e. they are not put in the weekly crew schedule. We select a subset of low FTC pairings from Sˆg and these pairings become part of the final weekly crew schedule. Specifically, the schedule is updated by removing all segments id , id+1 , . . . , id+g−1 with xigd = 1 and id covered by a selected pairing. Step 9, finding 1-regular pairings on the remaining schedule: Finally, we complete the weekly crew schedule by solving the weekly problem on the remaining schedule with the solution methodology presented in Klabjan et al. (1999). Here, and only here, because of the sparsity of the schedule, it is necessary to use deadheads in pairings. Note that our use of deadhead variables in the approximate regularity models is only with respect to paths and not pairings.

3.2

Modifications

We give modifications to the algorithm that are geared toward reducing the computational time but are data dependant. 19

In our data sets, most legs are 7-regular, there are no 4-regular legs and all the 6- and 5regular legs are operated every weekday. Since there are no 4-regular legs, we reduce the size of the models by considering G(5, 6) = {5, 6} instead of G(4, 6) and by producing only 7-,6-,5and 1-regular pairings. Since the pairings in Sg , g ∈ G(5, 6), contain only Sunday, Monday, and Tuesday segments of 5- and 6-regular legs and some segments from 7-regular legs, to make the models even smaller, we set W = {Sa, Su, Mo, Tu, We}. Therefore only segments from the 7-regular legs flown on days in W are considered in 5- and 6-regular pairings. This restriction on W substantially reduces the number of rows, and the number of regularity and connection variables in the models. If the segment timeline network on regular legs in stage 3 is sparse, there are not many opportunities to recover infeasible paths, i.e. we cannot patch together paths into pairings, and therefore the stage 3 solution has high FTC. To overcome this difficulty, from the stage 1 and stage 2 solutions, we add to the weekly crew schedule, in Step 8, only pairings with 0 pay-and-credit. However, if the number of 0 pay-and-credit pairings is large, before solving stage 3, we remove from the weekly crew schedule all pairings that ‘go through’ low activity stations in the schedule for stage 3 and we add segments covered by these pairings back to the flight schedule, i.e. we create an extra operation in Step 8 in the case g = 6. Even with the modification just given, in stage 3 we were unable to find good integer solutions to the model MRM5 , so we used a different heuristic. We find 5- and 1-regular pairings independently by removing the 1-regular part from the stage 3 model. The resulting, much easier, problem that yields only 5-regular pairings, is a set partitioning problem whose rows correspond to regular legs and columns to 5-regular pairings. The problem is solved using the daily crew scheduling algorithm given in Klabjan et al. (1999). To gain some flexibility in pairings, we let W be the set of all days in a week. Due to this approximation of the model in stage 3, we can no longer claim that there are paths partitioning the segments in the 1-regular group. Experiments have shown that the problem on the 1-regular group still has good solutions. Algorithm 1 is designed for fleets having more than 200 regular legs. For smaller fleets in Step 1 all of the pairings in Sg , 5 ≤ g ≤ 7, are generated and considered and therefore in this case S¯g = Sg . In addition, MRM7 is used in stage 1. The distinction between small and large fleets, which is 200 legs for our data, depends primarily on the number of pairings, which is related to the pairing feasibility parameters, and on the underlying computing environment.

4

Computational Results

All computational experiments are performed on clusters of machines. Two clusters are used, the first consisting of 16 200MHz Quad Pentium Pros and the second comprised of 48 300MHz Dual Pentium IIs, resulting in 160 processors available for parallel program execution. All machines are linked via 100 MB point-to-point Fast Ethernet switched via a Cisco 5500 network switch. Each machine with a Quad Pentium has 256MBytes of main memory whereas the remaining 48 nodes have 512MBytes of main memory per machine.

20

4.1

Results

The input data given in Table 1 consists of three fleets, a small one f s, a medium one f m, and a large one f l. The “Flight time” column gives the flying time in the weekly horizon. These fleets have 3 to 8 crew bases. Name

|L7 |

|L6 |

|L5 |

|L1 |

Total

fs fm fl

90 273 331

24 64 104

5 5 15

0 38 42

119 380 492

Table 1: Input data

We implemented two different approaches, in one the stage 2 problem is solved and in the other one it is not. The approach denoted by ‘csr2’ follows the flow described in Section 3, i.e. all 3 stages are solved. The second approach, denoted by ‘csr1’ eliminates the computationally intensive stage 2, i.e. 6-regular pairings are not considered. Stage 1 is identical in both approaches. In ‘csr1’ we then solve stage 3 with the heuristic described in Section 3.2 and at the end we perform Step 9 of Algorithm 1. Note that in our implementation of ‘csr1’ we used a larger stage 3 than in ‘csr2’. The solution qualities of the different approaches are shown in Table 2. The ‘d/e’ methodology refers to the daily/exceptions approach used in current practice by most major airlines, see e.g. Vance et al. (1997). The sizes of the daily problems range from 300 to 1,600 legs, whereas the exceptions problems have 100 to 2000 segments. The measure of regularity, given in the last column, is the number of segments in the weekly crew schedule that are covered by g-regular pairings for 1 ≤ g ≤ 3, the larger the number the lower the regularity. Our approach produces solutions that are better in all three aspects: FTC, number of deadheads and regularity. On average, the regularity is twice as good. The table also shows the trade-off between regularity and FTC. The solutions corresponding to the ‘csr2’ approach are less regular but have lower FTC. Using the methodology from Section 3, the trade-off can be easily controlled with either the cost β of the regularity variables or the number of pairings from stage 1 and stage 2 that are ‘kept active’ for stage 3. Even though Table 2 suggests that ‘csr1’ produces more regular solutions than ‘csr2’, this is not necessarily the case in general. Table 3 gives further insight into the structure of solutions. Note that the ‘csr1’ approach does not yield any 6-regular pairings since it skips stage 2. Our solutions have a majority of their flying time in the 5- and 7-regular pairings whereas the daily/exceptions solutions have many 6-regular pairings and also have a substantial number of 4-regular pairings. Both of our approaches give many more 7-regular pairings and have fewer 1-regular pairings than the standard methodology. The result that for fs ‘csr2’ uses no 6-regular pairings is purely coincidental. In Table 4 we give details on the ‘csr2’ approach for the f l fleet. The stage 2 problem has a large number of rows, leading to a high execution time for both the linear and the integer program. The “(IP-LP)/LP” row reports the gap between the value of the LP relaxation and the value of the obtained integer solution. The “Num. nodes” row reports the number of evaluated nodes in the branch-and-bound tree before stopping with the first integer solution. 21

Name fs

fm



Meth. d/e csr1 csr2 d/e csr1 csr2 d/e csr1 csr2

FTC 9.2% 7.0% 5.6% 4.2% 3.8% 2.5% 2.27% 2.20% 1.96%

Dhds 28 12 10 14 10 14 25 10 8

Measure of regularity 276 120 127 622 318 390 1365 520 567

Table 2: Solution quality

Name fs

fm



Meth. d/e csr1 csr2 d/e csr1 csr2 d/e csr1 csr2

7-regular fl. time 34% 40% 38% 31% 51% 31% 5% 33% 20%

6-regular fl. time 14% 0% 0% 26% 0% 14% 26% 0% 15%

5-regular fl. time 20% 45% 46% 18% 35% 38% 15% 49% 46%

4-regular fl. time 14% 0% 0% 7% 0 0 20% 0 0

1-regular fl. time 18% 15% 16% 18% 14% 17% 34% 18% 19%

Table 3: Flying time distribution

Integer programs are solved sequentially except that strong branching in stage 3 is performed in parallel, see Klabjan et al. (1999). The “Num. regular legs” and the ”FTC” rows list the number of regular legs in the group partitioned by pairings and the FTC of pairings in the group, respectively. The regular legs in the group are given by the IP solution to the model, i.e. before taking out high pay-and-credit pairings for later stages. The ”Best FTC” row shows the FTC of the best solution we were able to obtain on the selected regular legs. The comparison of the two ‘FTC rows’ reveals that the stage 1 solution yields pairings that are quite far from optimal. In contrast, the stage 2 solution is optimal on regular legs in the 6-regular group since there are substantially fewer pairings on the starting days of 6-regular legs that are assigned to the 6-regular group. The IP problems are solved with the commercial branch-and-bound mixed integer programming solver CPLEX, CPLEX Optimization (1997). A steepest edge dual simplex algorithm is selected as the LP solver and the strong branching rule on variable dichotomy is used as a branching strategy. The execution times are reported in Table 5. The time for ‘csr1’ is relatively moderate while solving the stage 2 problem in the ‘csr2’ approach is extremely time 22

Num. rows Num. cols (IP-LP)/LP Num. nodes Exe. time (hrs) Num. processors Num. regular legs FTC Best FTC

Stage 1 LP IP 11,316 17 · 106 200,036 15% 22 2 7 8 1 235 2.09% 0.85%

Stage 2 LP IP 28,447 10 · 106 201,376 14% 18 17 14 16 1 223 2.9% 2.9%

Stage 3 LP IP 293 92 · 106 86,075 56% 57 0.1 1 8 40 293 1.46% 1.46%

Table 4: Solution details for the csr2 approach on the f l fleet

consuming. Given the solution qualities, the ‘csr1’ approach appears to be more practical. Its execution times are comparable to the execution times of daily/exceptions approaches, Vance et al. (1997). Name fs fm fl

Meth. csr1 csr2 csr1 csr2 csr1 csr2

Stage 1 0.2 0.2 8 8 12 12

Stage 2 0 0.2 0 28 0 31

Stage 3 0 0.2 1 2 2 2

Weekly 0.2 0.2 1 1 2 2

TOTAL 0.4 0.8 10 39 16 47

Table 5: Execution time in hours

5

Acknowledgments

This work was supported by NSF grant DMI-9700285 and United Airlines. Intel Corporation funded the parallel computing environment and ILOG provided the linear programming solver used in computational experiments. We are especially grateful to an unusually thorough and meticulous anonymous referee whose suggestion greatly helped to improve the exposition.

References Barnhart, C., Johnson, E., Nemhauser, G. and Vance, P. 1999. Crew Scheduling. In Handbook of Transportation Science. R. W. Hall (editor). Kluwer Scientific Publishers, 493–521.

23

CPLEX Optimization 1997. Using the CPLEX Callable Library, 5.0 edn, ILOG Inc. Klabjan, D. 1999. Topics in Airline Crew Scheduling and Large Scale Optimization. Ph.D. Dissertation, Georgia Institute of Technology. Klabjan, D., Johnson, E. and Nemhauser, G. 2000. A Parallel Primal-Dual Algorithm. Operations Research Letters, 27, 47–55. Klabjan, D., Johnson, E., Nemhauser, G., Gelman, E. and Ramaswamy, S. 1999. Solving Large Airline Crew Scheduling Problems: Random Pairing Generation and Strong Branching, Technical Report TLI/LEC-99-11, Georgia Institute of Technology. To appear in Computational Optimization and Applications. ¨rk, A., Barnhart, C., Gelman, E., Johnson, E., Krishna, A., Vance, P., Atamtu Mahidhara, D., Nemhauser, G. and Rebello, R. 1997. A Heuristic Branch-and-Price Approach for the Airline Crew Pairing Problem, Technical Report LEC-97-06, Georgia Institute of Technology.

24