Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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.