27
MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering Problem by Successive Bipartite Weighted Matching Xugang Ye* Applied Mathematics and Statistics, Johns Hopkins University Baltimore, MD, 21218, USA Abstract In large airlines, the planning and scheduling of aircrafts and crews is a very important operation. It starts from the analysis of the customers’ demands, passes the stages including timetable construction, fleet planning, and crew pairing, finally ends up with crew rostering. During the past decades, researches had been focused on two complex problems: crew pairing problem and crew rostering problem. Since the crew pairing problem is more related to the cost of airlines, it received much more attentions than the crew rostering problem. The aim of this paper is to identify, formulate and solve a crew rostering problem common in large airlines. In this paper, we model the crew rostering problem as a multi-objective 0-1 integer programming with some non-deterministic parameters. While satisfying the constraints stemming from the nature of the problem and the airlines’ rules and regulations, the objectives are to let all pilots in same fleet at same hub have approximately equal cumulative flying time, let all copilots in same fleet at same hub have approximately equal cumulative flying time as well. Due to its large scale and NP-hardness, we build a sequential constructive heuristic algorithm to find satisfactory solution. The basic idea is to sequentially decompose the dispatching process into a series of subphases. In each subphase, we partition the partial rostering problem into three subproblems. Each of the three subproblems can be formulated as a bipartite weighted matching problem. We design a network flow method to solve this bipartite weighted matching problem. In the numerical simulation, the overall algorithm is tested for its effectiveness and efficiency. Keywords: Crew rostering; Pilot; Copilot; 0-1 integer programming; Heuristics; Bipartite weighted matching 1. Introduction and Literature Review 1.1. Background and Related Basic Concepts Usually, in large airline companies, the planning and scheduling of aircrafts and crews contains four sequential stages: timetable construction, fleet planning, crew pairing, and crew rostering. The solution from one stage defines the data for the next. In reality, the four stages are typically assigned to four different departments, which simultaneously work on their part of the resource planning problem. These departments communicate in order to adjust their plans to each other and to update each other with changes. The first draft of plans for a given planning period may be updated several times until the final plans are fixed and published. In the operational phase these plans may still be changed. The construction of timetable is to match the expectations of the marketing department with the available fleets and with constraints on the transportation network. The output of this process is a number of flight legs (non-stop flights), which an airline decides to operate. The fleet planning is to decide on the *Contact: [email protected]

Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

1

Solving Airline’s Pilot – Copilot Rostering Problem

by Successive Bipartite Weighted Matching

Xugang Ye*

Applied Mathematics and Statistics, Johns Hopkins University

Baltimore, MD, 21218, USA

Abstract In large airlines, the planning and scheduling of aircrafts and crews is a very important operation. It starts from the

analysis of the customers’ demands, passes the stages including timetable construction, fleet planning, and crew

pairing, finally ends up with crew rostering. During the past decades, researches had been focused on two complex

problems: crew pairing problem and crew rostering problem. Since the crew pairing problem is more related to the

cost of airlines, it received much more attentions than the crew rostering problem. The aim of this paper is to identify,

formulate and solve a crew rostering problem common in large airlines. In this paper, we model the crew rostering

problem as a multi-objective 0-1 integer programming with some non-deterministic parameters. While satisfying the

constraints stemming from the nature of the problem and the airlines’ rules and regulations, the objectives are to let

all pilots in same fleet at same hub have approximately equal cumulative flying time, let all copilots in same fleet at

same hub have approximately equal cumulative flying time as well. Due to its large scale and NP-hardness, we build

a sequential constructive heuristic algorithm to find satisfactory solution. The basic idea is to sequentially decompose

the dispatching process into a series of subphases. In each subphase, we partition the partial rostering problem into

three subproblems. Each of the three subproblems can be formulated as a bipartite weighted matching problem. We

design a network flow method to solve this bipartite weighted matching problem. In the numerical simulation, the

overall algorithm is tested for its effectiveness and efficiency.

Keywords: Crew rostering; Pilot; Copilot; 0-1 integer programming; Heuristics; Bipartite weighted matching

1. Introduction and Literature Review 1.1. Background and Related Basic Concepts Usually, in large airline companies, the planning and scheduling of aircrafts and crews contains four sequential stages: timetable construction, fleet planning, crew pairing, and crew rostering. The solution from one stage defines the data for the next. In reality, the four stages are typically assigned to four different departments, which simultaneously work on their part of the resource planning problem. These departments communicate

in order to adjust their plans to each other and to update each other with changes. The first draft of plans for a given planning period may be updated several times until the final plans are fixed and published. In the operational phase these plans may still be changed. The construction of timetable is to match the expectations of the marketing department with the available fleets and with constraints on the transportation network. The output of this process is a number of flight legs (non-stop flights), which an airline decides to operate. The fleet planning is to decide on the

*Contact: [email protected]

Page 2: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

2

allocation of aircrafts to the flight legs. The expected revenue of a particular flight leg depends on the type of the aircraft used on the leg. Also some aircraft may not be able to operate from some airports. The primary issue here is to ensure feasibility of the timetable given the available fleet. If this is not possible, the timetable must clearly be changed. Given the feasibility the objective is to maximize the expected revenue less operating costs. After all the necessary flight legs are generated, pairings are to be constructed. A pairing is a sequence of flight legs for an unspecified crewmember starting and ending at the same crew base. The crewmember will usually be working on these legs. But a pairing may also contain so called deadheads where the crewmember is not working but is just transported as a passenger. Legs are naturally grouped in so called working days, which are separated by lay-overs (necessary overnight stops and rests). For short and medium range transportation, a pairing may consist of one up to about five working days. For long-range transportation, a much longer pairing is often permitted. Legal pairings must satisfy a large number of governmental regulations and collective agreements, which may vary from airline to airline. The fourth planning problem denoted as the crew rostering is to assign pairings to named individuals. The objective is to cover all works (pairings) as well as training requirements, vacation requests etc while addressing safety issue by strictly satisfying work rules and regulations. Also crew-related cost and crew satisfaction should be considered seriously. 1.2. Crew Pairing Problem As mentioned above, crew pairing is the necessary preparation for the solution process of the crew rostering. The aim of the crew pairing is to find a set of pairings that covers, at minimum of cost, all flights in considered period. Usually, on any flight

leg there are two cockpit crewmembers: a pilot and a copilot. Although a pilot may substitute a copilot when needed, there is no way that a copilot can substitute a pilot. Based on the airline rules and regulations for the safety consideration, cockpit crews are usually only qualified to fly one type of aircraft within a certain period, therefore within a single pairing, all legs that are actual flights must be carried by the same type of aircrafts. A cockpit crew can only be a passenger in an aircraft different from the type he/she is currently qualified to operate. When a cockpit crew is transported as a passenger, he/she is assigned a pairing that contains deadheads just mentioned above. Major North American airlines operate a so-called hub and spoke network (see Barutt, 1990; Anbil, 1991; Graves et al., 1993). A few airports (the hubs) are regularly connected to each other and to many other airports (the spokes). Based on the network structure, a pairing should start from and return to the same hub. The timetable is constructed such that passengers arriving at a hub can make connections to many outgoing flights without much delay. In practice this means that a large number of flights arrive at the hub within a short time interval. Shortly after, a large number of flights leave the hub. This enables the airline to offer transportation between most spokes via the hub with minimal waiting time. It is easy to realize that this kind of network structure creates extremely many possible pairings. Construction of pairings must respect governmental rules and collective agreements, as well as crew availability. In United States the Federal Aviation Administration (FAA) regulations tend to be the most important rules (see Anbil, 1991; Anbil and Barnhart, 1993). These rules limit the length of duty periods and specify the rest necessary between the working days. There are exceptions to the rules permitting violation of some limits if some extra rest is given, but still the rules are relatively simple and identical for all airlines.

Page 3: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

3

Airlines’ specific collective agreements may change this picture slightly, but the structure of the problem is the same for all major North American airlines (see Andersson et al., 1997). North American airlines typically operate the same fights Monday to Friday. During the weekend a subset of these fights are operated. In North America crews are usually paid on the basis of so called credit hours. These are calculated as the maximum of actual flying time and some guaranteed minimum hours (see Anbil et al., 1992; Schaefer et al., 2005). Airline’s crew cost can be substantially high. For example, American Airline (AA) reports spending over 1.3 billion per year on salaries, benefits, and travel expenses of aircrews (see Anbil et al., 1993), Hence, to find good solution to crew pairing problem implies enormous savings. With the rapid development of computer technology, techniques like column generation and set covering/partitioning modeling as well as modern heuristic optimization algorithms for large-scale integer linear programming had made it possible to find a good or near optimal solution to a crew pairing problem. The crew pairing problem is usually solved on the level of flight legs for the entire crew, instead of considering selected crew types and/or functions (see Mellouli, 2003). Due to the high combinatorial complexity, most solution approaches focus on the process of pairing generation on the one hand, and pairing selection of a least-cost subset on the other, (see e.g., Anbil et al., 1991; Graves, 1993). The selection process then is realized via solving a set partitioning problem or a set covering problem (see e.g., Bixby et al., 1992; Hoffman and Padberg, 1993), meanwhile mostly by applying the column generation approach (see e.g., Desaulniers et al., 1997; Lavoie et al., 1988; Vance et al., 1997). Alternatively, network flow models are applied (see e.g., Guo et al., 1999; Mellouli, 2001; Yan and Tu,

2002), and there are also modern heuristics such as genetic algorithms (see e.g., El Moudani et al., 2001), simulated annealing algorithms (see Osman et al., 1995). A recent and comprehensive survey of researches on deterministic airline crew pairing is provided in Barnhart et al., 2002. The problem of crew pairing under uncertainty had also been considered recently (see Yen et al., 2000; Ehrgott and Ryan, 2002). 1.3. Crew Rostering Problem In contrast to the crew pairing problem, crew rostering problem is solved for individual crew members. The set of pairings created during the crew pairing stage is assigned in a way that considers all governmental rules, airline regulations, and union-company agreements, as well as pre-scheduled activities such as simulator trainings, planned vacations, sick leaves, requested day-offs, and medication holds etc (see Mellouli et al., 2001; Barnhart et al., 2003). With such considerations, some crewmembers (especially cockpit crews) may not be able to appear in roster temporarily, nevertheless, all flights are to be properly staffed with all onboard crew functions. Crew rostering is also realized in decomposed patterns (see Ryan, 1992). The problems for different crew types (cockpit crews who operate the aircraft; cabin crews who provide services to passengers) are separated since cabin crews are often qualified to fly multiple types of airplanes. The problems may or may not be separated for different crew functions (pilot, also known as captain; copilot, also known as first officer etc.). In team-oriented rostering, the assignment problems for pilots and copilots are not independent. The problems for different fleets (each fleet consists of a number of airplanes of same type) and different hubs must separate (see Anbil et al., 1991; Ryan, 1992; Andersson et al., 1997). Among all airlines the individual aims of the crew rostering might differ,

Page 4: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

4

but in general it can be expected that they consist of two goals: cost minimization for the airline and maximization of quality-of-life criteria for the crews. Cost minimization is the primary goal during the bad economy period, in which airline companies seek to improve the utilization of the aircrews by minimizing the necessary number of employees. Maximization of quality-of-life criteria is usually related to the crew satisfaction. There are some different concepts to address quality-of-life criteria, e.g., by considering crew requests or their preferences during the scheduling process. Bidline systems (see Campbell et al., 1997; Jarrah and Diamond, 1997) are widely used. They allow the individual crewmembers express their preferences through a bidding process. The eventual assignment of a specific schedule to a specific person is often based on individual priority rankings (e.g., seniority). Personalized rostering (see Nicoletti, 1975; Day and Ryan, 1997; Gamache et al., 1999; Teodorovic, 1999; Strauss, 2001; Kohl and Karisch, 2004), also known as fair-and-equal share, is also commonly used where fairness of workload among crewmembers is the primary goal. The entire rostering system not only needs to consider the individual requests and preferential ranking but also needs to eliminate the conflicts between the individual priorities and the covering of all the pairings. Hence, a third concept called preferential bidding (see Gamache et al., 1998) becomes more and more popular since it bypasses the drawbacks of other methods. Preferential bidding represents a compromise between the bidline and the rostering approaches in that it generates personalized schedules that also take into account a set of bids that have been weighted to reflect the employees' preferences. The crew rostering problem is most often treated as a 0-1 integer programming problem with a defined objective function (or several objective functions)

and a specific set of constraints. Therefore, the problem is combinatorial by nature. Numerous models have been developed in the past three decades. For some important papers see Agard (1970), Nicoletti (1975), Antosik (1978), Buhr (1978), Moore et al. (1978), Tingley (1979), Marchettini (1980), Giafferri et al. (1982), Glanert (1984), Sarra (1988), Byrne (1988) and Ryan (1992), Dawid et al. (2001), Day and Ryan (1997), Desaulniers et al. (1997), Gamache and Soumis (1998), Gamache et al. (1999), Butchers et al. (2001), Kohl and Karisch (2004). Within the great number of models, some common constraints can be identified to reflect the intrinsic characteristics of the crew rostering problem. They may include monthly limitation on flying time, monthly limitation on the number of takeoffs/landings, monthly limitation on working days, monthly requirement on free day insertions (between assigned pairings), no time-overlapping requirement etc. An objective function often has cost term corresponding to assigning some pairing to some pilot. Cost coefficients can be divided into categories based on the different crew functions and the different aircraft types of fleets. The cost concerns can come from the undue travel/hotel expenses and overtime working compensation as the result of bad dispatching and scheduling. The cost concerns can also come from the possibility of not enough cockpit crewmembers. When that happens, some flights have to be cancelled, hence the loss of profit induced. Some cost-related objective functions can be found as minimizing overtime work expenses and the number of pilots who fly less than the guaranteed amount (see Antosik, 1978), and minimizing the total number of flights in uncovered pairings (Gamache et al., 1994; Cappanera and Gallo, 2004) etc. Some objective functions that aim to find optimal personalized rosters had also been used, those objectives include minimizing the discrepancy of monthly flight time

Page 5: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

5

among crewmembers (see Buhr, 1978), minimizing the discrepancy of days on duty during the month among crewmembers (see Buhr, 1978), minimizing the difference of monthly flight time among the pilots and the difference of monthly foreign travel allowance (see Lucic and Teodorovic, 1999), and minimizing the number of team changes (see Thiel, 2004) etc. The rostering problem is known to be complex and difficult, it often gives rise to large-scale instances. However, to obtain good solutions in a reasonable time is the main concern. Practically, it is very often not possible to find an optimal solution. Therefore, heuristic procedures are mostly used to find satisfactory results. The central idea of the heuristic procedures in literatures is to decompose large problems into numerous small problems either by days (see Nicoletti, 1975; Antosik, 1978; Buhr, 1978; Marchettini, 1980; Glanert, 1984; Sarra 1988) or by crews (see Moore et al., 1978; Byrne, 1988). There are also attempts given to model the crew rostering as set partitioning model by column generation and solve it as integer programming by techniques like relaxation, branch and bound etc (see Ryan, 1992; Gamache and Soumis, 1993; Gamache et al. 1994). 1.4. Irregularity Airline operations are also facing never-ending irregular situations or disruptions. A variety of events such as sever weather occurrences, aircraft mechanical failures, air traffic control problems and crew unavailability etc will affect the execution of the published flight schedules. The impact of the disruptions is significant. The cost arises from every stage of the airline resource planning and scheduling: work needs to be done to adjust timetables, aircrafts need to be redeployed, pairings need to be reconstructed, and rosters need to be updated accordingly. The perturbations come continuously and pass through the entire airline operation system very quickly. Statistics had shown

that most airlines have delay rates around 20% and cancellation rates around 3%, the cost implication is in millions or tens of millions dollars annually, depending on the size of the airline (see McCarney, 1996). Recovery is the process reacting to a disruption: it returns the airline to its original schedule, at the minimum cost, as soon as possible. Optimal recovery decisions are hard to determine since the disruptions come stochastically in real-time fashion and have extensive influences. In practice, most airlines make recovery decisions manually with little optimization-based decision support (see Lettovsky, 1997; Wei, Yu, and Song, 1997; Schaefer et al., 2005). However, some researches had been done on aircraft re-routing (see Teodorovic and Stojkovic, 1990; Jarrah et al., 1993; Argüello et al., 1997; Yan and Tu, 1997; Thengvall et al., 2001; and Benjamin et al., 2003), crew pairing repair (see Wei et al., 1997; Yen, 2000; and Ehrgott and Ryan 2002). 2. Problem Statement and Formulation The aim of this paper is to identify, formulate and solve a crew rostering problem common in large airlines. A large airline usually has several hubs (home bases) through which a lot of spokes (airports) are connected. At each hub, many airplanes from multiple fleets depart and return each day. Within each fleet, there is exactly one type of aircraft. On each aircraft, there are two major cockpit crews that operate the flying process through technical cooperation: a pilot (or captain) and a copilot (or first officer). Based on the crew pairing construction, a pilot and a copilot with the licenses for same airplane meet at a home base, perform the duties on a series of flights (in one pairing) carried by the same type of aircrafts, return to the same home base after several working days, and then separately wait for new tasks if still available. Since the flight safety is largely

Page 6: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

6

determined by the performance of the cockpit crews, in this paper, consideration is given to the feasibility of the team formation before a pairing is assigned. We predetermine whether a pilot can be teamed with a copilot according to the two aircrews’ ages, experiences, and if these two crews have personal conflict. A pilot and a copilot are recommended not to work together if both of them are over some years’ old; or both of them have just obtained their licenses; or both of them have accumulated relatively more records of operation errors; or there exists personal conflict between them. Just as mentioned in the introduction section, either a pilot or a copilot may not be temporarily available due to the events such as trainings, planned vacations, sick leaves, requested day-offs, and medication holds etc. Those events not only result from the governmental rules, airline regulations, and union-company agreements but also reflect the aircrews’ preferences and needs. In this paper, we put the crews’ temporary unavailability into consideration. Since airline’s flight schedules are always subject to perturbations, the crew pairings are also under the incessant repairs or reconstructions. Therefore, the assignments for aircrews are under ceaseless changes. Because the result of the crew pairing problem constitutes the input data/parameters of the crew rostering problem, before we attempt to numerically solve the crew rostering problem we need a specific result of crew pairing. In this paper, we assume that the crew pairing results are given (although the pairings are under nondeterministic changes). For aircrews, the important information on a pairing consists of the hub location, fleet type, start time, end time, actual flying time, the total duration, and the number of takeoffs and landings (or equivalently, the number of legs). Since the crew rostering problem decomposes by hub location and fleet type, we consider the crew rostering in same fleet at same hub, this then

implies that we only need to specify each pairing’s start time, end time, actual flying time, the total duration, and the number of takeoffs and landings as the input data/parameters, the perturbation of which can be generated through Monte Carlo Simulation. No matter what change happens to the fleet’s routing and all pairings’ structure, from an aircrew’s point of view, the disruptions are translated into the changes of those basic data/parameters. In this paper, the crew rostering’s objective functions consist of minimizing the discrepancy of cumulative flying time among all the pilots in same fleet at same hub and minimizing the discrepancy of cumulative flying time among all the copilots in same fleet at same hub. Those objectives reflect the idea of personalized rostering in which even distribution of workload (as the common preference of the aircrews) is emphasized. We also emphasize that the aircrew’s individual preferences are, in some degree, reflected in the constraints of the model we present in this paper. Concerns on the crew-related cost are also, to some degree, reflected in the constraints. For example, the requirement of covering all the pairings, monthly limitation on the flying time, monthly limitation on the number of working days, and monthly limitation on the number of flight legs are put into constraints. To reduce the number of employees also implies to reduce the crew-related costs, however, disruption may result in an airline’s irregular operations in which unavailability of the aircrews may incur other kind of costs (e.g. flight cancellation etc.). This tells that the number of aircrews must not be too “tight”. In this paper, we only answer the question that whether the current number of pilots and copilots are enough to cover all the flights. Also in this paper, we assume that the number of pilots is more than the number of copilots. In the case that the number of copilots is not enough to cover all the planned pairings, some pilots can be used as copilots. If there still exists

Page 7: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

7

uncovered pairing, a report of aircrew shortage is generated. Two generic integer-programming formulations of the crew rostering problem considered in this paper are stated as follows: Indices: Suppose there are m1 pilots and m2 copilots in a fleet at a hub, suppose there are n pairings in a period. Let i index the ith pilot, i = 1, 2, …, m1; let j index the jth copilot, j = 1, 2, …, m2; let k (q) index the kth (qth) pairing, k (q) = 1, 2, …, n. Data: Let Sk, Ek , Tk , Dk , Lk be the start time, end time, actual flying time (minutes, positive integer), duration (total service time, minutes, positive integer), number of legs of the kth pairing, respectively. Without losing generality, assume

S1 < S2 < … < Sn. Let T(m)

, D(m) , L(m) be the monthly limitations on

the actual flying time, working time, and number of flight legs. Let pij indicate whether the ith pilot and the jth copilot can work together, i.e. pij = 0 ⇔

“can”; pij = 1 ⇔ “can not”. Let )1(ikr indicate whether

the ith pilot has day-off conflict with the start and

end times of the kth pairing, i.e. )1(ikr = 0 ⇔

“no”; )1(ikr = 1 ⇔ “yes”. Let )2(

jkr indicate whether the

jth copilot has day-off conflict with the start and

end times of the kth pairing, i.e. )2(jkr = 0 ⇔ “no”;

)2(jkr = 1 ⇔ “yes”. Let )1(

iE be the end time of the

pairing the ith pilot performs immediately before

his/her availability of this period. Let )2(jE be the

end time of the pairing the jth copilot performs

immediately before his/her availability of this period. Let zi

(0) be the initial actual cumulative flying time (minutes, positive integer) of the ith pilot. Let fj

(0) be the initial actual cumulative flying time (minutes, positive integer) of the jth copilot. Let Ck indicate whether the kth pairing is to be cancelled, i.e. Ck = 1 ⇔ “yes”; Ck = 0 ⇔ “no”. Decision Variables:

⎩⎨⎧

=otherwise,0

pairing;th in the ispilot th theif1 kixik

⎩⎨⎧

=otherwise.0

pairing;th in the iscopilot th theif1 kjy jk

Formulations: Model 1: Both pilots and copilots are enough many to cover all the pairings. Min 'zz − Min 'ff − S.t.

izTxzzn

kkiki ∀≥+≥ ∑

=

'1

)0( ,

jfTyffn

kkjkj ∀≥+≥ ∑

=

'1

)0( ,

kiExS iikk ,)1( ∀⋅≥ ,

qkqkiqik EEqkiSExx <∀∀≤⋅−+ :,;)1( ,

kjEyS jjkk ,)2( ∀⋅≥ ,

qkqkjqjk EEqkjSEyy <∀∀≤⋅−+ :,;)1( ,

kxm

iik ∀=∑

=

11

1

,

kym

jjk ∀=∑

=

12

1

,

kjipyx ijjkik ,,2 ∀≤++ ,

(2.3)

(2.1) (2.2)

(2.5)

(2.7)

(2.4)

(2.8)

(2.9)

(2.10)

(2.6)

(2.11)

Page 8: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

8

kirx ikik ,1 )1( ∀−≤ ,

kjry jkjk ,1 )2( ∀−≤ ,

days 30:'','

;

'''

)(''

'

≤−∀

∀≤∑=

kk

mk

kkkik

SEkk

iTTx

days 30:'','

;

'''

)(''

'

≤−∀

∀≤∑=

kk

mk

kkkjk

SEkk

jTTy

days 30:'','

;

'''

)(''

'

≤−∀

∀≤∑=

kk

mk

kkkik

SEkk

iDDx

days 30:'','

;

'''

)(''

'

≤−∀

∀≤∑=

kk

mk

kkkjk

SEkk

jDDy

days 30:'','

;

'''

)(''

'

≤−∀

∀≤∑=

kk

mk

kkkik

SEkk

iLLx

days 30:'','

;

'''

)(''

'

≤−∀

∀≤∑=

kk

mk

kkkjk

SEkk

jLLy

kiCx kik ,1 ∀≤+ ,

kjCy kjk ,1 ∀≤+ ,

kjiyx jkik ,,}1,0{, ∀∈ ,

.',,', +Ζ∈ffzz

The objective functions (2.1-2.2) and the constraint groups (2.3-2.4) are to equalize the actual cumulative flying time among the pilots and equalize the actual cumulative flying time among the copilots. The constraint groups (2.5-2.8) are to avoid the schedule conflict. The constraint groups (2.9-2.10) indicate that exactly one pilot and one copilot are assigned to each pairing. The constraint group (2.11) is to satisfy the conditions that allow a pilot and a copilot to work together. The constraint

groups (2.12-2.13) are to eliminate the conflict between the schedule and the requested day-offs. The constraint groups (2.14-2.19) are to satisfy the monthly limitation requirements. The constraint groups (2.20-2.21) imply that if a pairing is cancelled, the predispatched aircrews will be reavailable for other tasks. The remaining constraint groups (2.22-2.23) imply that the problem is integer programming with majority of the decision variables as binary. Model 2: Pilots are enough many to cover all the pairings. There are not enough many copilots to cover all the pairings. In this case, pilots in backup list are selected to fill all the vacancies (assume that there are enough many pilots in backup list). However, a copilot is always scheduled with priority over a pilot who is to be used as copilot. In this setting, since there may be two pilots in

same pairing additional data is needed as )1('iip ,

which indicates whether the ith pilot and the i′th

pilot can work together, i.e. )1('iip = 0 ⇔ “can”;

)1('iip = 1 ⇔ “can not”.

With the same components as (2.1-2.8) and (2.11-2.23) in model 1, the model 2 also include:

Max 'f

as the additional objective function with priority over the objective functions (2.1-2.2). The constraint groups (2.9-2.10) should be adjusted into:

kxm

iik ∀≥∑

=

11

1

,

kyxm

jjk

m

iik ∀=+∑∑

==

221

11

,

(2.12)

(2.13)

(2.14)

(2.15)

(2.16)

(2.17)

(2.18)

(2.19)

(2.20)

(2.21)

(2.2′)

(2.9′)

(2.10′)

(2.22)

(2.23)

Page 9: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

9

to indicate that there are exactly two aircrews in each pairing, one is a pilot, the other is a copilot or another pilot. Another additional constraint group is

kiipxx iikiik ,',2)1('' ∀≤++ ,

which is to satisfy the conditions that allow a pilot and another pilot to work together. 3. Model Analysis 3.1. Intractability With additional assumptions, both the model 1 and the model 2 can be reduced to the classical set partition problem, which is NP-complete (see Papadimitriou, 1982). Assume that there are only two pilots and two copilots, each pilot can work together with any copilot, none of them has any day-off. Assume that there is no time overlap between any two pairings, and the minimum difference between the start time of a pairing and the end time of another pairing is large enough so that the constraint groups (2.14-2.19) are redundant. With those additional assumptions, the model 1 can be reduced into two separate identical simple models:

Min ∑∑==

−n

kkk

n

kkk TxTx

12

11

S.t.

kxx kk ∀=+ 121 ,

kxx kk ∀∈ }1,0{, 21

and

Min ∑∑==

−n

kkk

n

kkk TyTy

12

11

S.t.

kyy kk ∀=+ 121 ,

kyy kk ∀∈ }1,0{, 21 .

The two models (3.1.1-3.1.3) and (3.1.4-3.1.6) are the same classical set partition problem since all Tk’s are positive integers. Since the model 1 can be reduced into NP- complete problem, it in itself is NP-hard. Similar analysis can apply to the model 2. Assume that there are only two pilots and one copilot, both of the pilots can work together with this copilot, and these two pilots can work together too. Other additional assumptions are as same as those made for the reduction of model 1. The model 2 is then reduced into:

Max ∑=

n

kkkTy

11

Min ∑∑==

−n

kkk

n

kkk TxTx

12

11

S.t.

kxx kk ∀≥+ 121 ,

kyxx kkk ∀=++ 2121 ,

kyxx kkk ∀∈ }1,0{,, 121 .

The optimal value of objective function (3.1.7) can be reached by letting all y1k’s equal to 1. Then, the remaining problem is as same as (3.1.1-3.1.3), which is NP-complete. This implies that the model 2 is also NP-hard. 3.2. Scale Clearly, an instance of dispatching tens of pilots and copilots to thousands of pairings will lead to tens of thousand of variables and millions of constraints. Hence, the general ILP/MILP solvers based on branch and cut and interior point methods and the metaheristic procedures such as genetic algorithm, simulated annealing algorithm, tabu search, and neuron-network method are not good candidates for solving the rostering models 1 and 2 in the real time decision environment. Since

(2.11′)

(3.1.1)

(3.1.2)

(3.1.3)

(3.1.4)

(3.1.5)

(3.1.6)

(3.1.7)

(3.1.8)

(3.1.9)

(3.1.10)

(3.1.11)

Page 10: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

10

finding satisfactory solution in reasonable time is the main concern of the airline companies, efficient heuristics based on the anatomy of the problem’s structure is needed. 3.3. Data Uncertainty The Data uncertainty has two-fold aspects. One is crew-related uncertainty. In model 1 and model 2,

the data with crew-related uncertainty are all )1(ikr ’s

and )2(jkr ’s. The other is flight-related uncertainty.

Also in model 1 and model 2, the data with flight-related uncertainty are all Sk’s, Ek’s , Tk’s , Dk’s , Lk’s and Ck’s (flight-related uncertainty can be viewed as the random perturbations added to the regular schedule and is usually in the forms of delay and cancellation). The data uncertainty makes the long period planning unreliable. This implies that the methods that emphasize the global view of the problem are vulnerable or even impractical in a dynamic and information intensive decision environment. On the other hand, based on the nature of the airlines’ operations, within a short period the data uncertainty can be ignored, hence, the decomposition heuristics based on day-by-day assignment of pairings to employees selected from a pool of available crew members seem to be the better options. 4. The Master Algorithm The algorithm proposed in this paper is based on the idea of sequentially constructing the roster day by day. Before each day begins, a list of regular assignable pairings starting on that day is determined as the result of regular crew pairing construction and a list of available aircrews on that day are screened out to cover those pairings. There are three subproblems to solve and each one can be formulated as a bipartite weighted matching

problem. The first one is to generate optimal feasible assignments for the available pilots such that a pairing with relatively more flying time is assigned to a pilot with relatively less cumulative flying time, a pairing with relatively less flying time is assigned to a pilot with relatively more cumulative flying time. If some pairings are not covered, a report of aircrew shortage is generated. If the solution of the first problem covers all the pairings, the second problem is to be solved. And the remaining available pilots form the backup list from which some could be picked up in case of temporary aircrew shortage. The second problem is to generate optimal feasible assignments for the available copilots such that a pairing with relatively more flying time is assigned to a copilot with relatively less cumulative flying time, a pairing with relatively less flying time is assigned to a copilot with relatively more cumulative flying time. If every pairing is covered, the partial rostering problem on that day is then solved. If some pairings are not covered, the third problem is to be solved. It’s to select pilots from the backup pilots of the first problem to fill the vacancies left by the second problem, the problem is as same as the first problem except the pairing group and the pilot group are redefined. If some pairings are still not covered, a report of aircrew shortage is generated. If every pairing is covered, the partial rostering problem on that day is then solved. Under the assumption of enough aircrews, the report of aircrew shortage will not appear. Since there exists the possibility that some of the flights on that day are delayed or even cancelled, the pairings that contain such flights must be repaired or reconstructed, hence the crew assignments on that day are to be adjusted accordingly. In the adjustment, some crews’ availabilities are redetermined according to the updated pairing information, and then they are

Page 11: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

11

redispatched in such way that all the new pairings are to be covered, and the better objective values are pursued. The adjustment procedures are highly dynamic in the sense that an aircrew who is dispatched into a pairing starting in the morning may wait until afternoon, or he/she may be put into the available list on the next day for the new round of regular tasks, or under some bad circumstance wait longer for an available task. In this paper, we assume that pairing information is updated once per day in the early morning. We also assume that for

an aircrew, if his/her preassigned pairing is delayed but the start time is still within the day, he/she still perform the task; if his/her preassigned pairing is delayed in such way that the earliest start time can only be in the following days, this pairing are viewed as cancelled, and then this aircrew is put into the available list on the next day for the new day’s whole planning. We describe the heuristic as the following algorithm 4.1 in this section, and describe the submodels/ subalgorithms in sections 5 and 6.

Algorithm 4.1: Mater algorithm for model 1 and model 2.

Step 1. Read the current calendar date.

Step 2. Update the pairing information (based on the regular pairing information and the result of pairing reconstruction and

alternation).

Step 3. Read the pairings that start on the current day: {Ωk: k = 1, 2, …, R}.

Step 4. Update the crew information:

Step 4.1. Calculate the crews’ actual cumulative amount of flying time.

Step 4.2. Calculate the crews’ actual cumulative amount of duty time.

Step 4.3. Calculate the crews’ actual cumulative number of flight legs.

Step 5. Check if any of the monthly limitations on actual cumulative amount of flying time, actual cumulative amount of duty

time, and actual cumulative number of flight legs is violated. If the answer is “yes” report the shortage in aircrews and

then go to step 14; otherwise go to step 6.

Step 6. Update the crews’ availabilities and read the available pilots: {vi: i=1, 2, …, r1} and copilots:{uj: j = 1, 2, …, r2}.

Step 7. Find the optimal feasible bipartite matching between the pairing group {Ωk: k = 1, 2, …, R} and the pilot group:{vi: i =

1, 2, …, r1}. If Ω1, Ω2, …, ΩR are all covered, go to step 8; Otherwise go to step 14.

Step 8. Find the optimal feasible bipartite matching between the pairing-pilot group {(Ωk, vk′): k = 1, 2, …, R} found in step 7

and the copilot group {uj: j = 1, 2, …, r2}. If (Ω1, v1′), (Ω2, v2′), …, (ΩR, vR′) are all covered go to step 10; otherwise

go to step 9.

Step 9. Find the optimal feasible bipartite matching between the group of uncovered pairing-pilot pairs in step 8 and the group

of remaining pilots in step 7. If all the uncovered pairing-pilot pairs in step 8 are covered go to step 10; otherwise go to

step 14.

Step 10. Carry out the assignments already determined and update the crews’ availabilities. If a pairing is cancelled, the

aircrews in this pairing are put into the available list on the next calendar day.

Step 11. Update into the next calendar date.

Step 12. Check whether the end of the period is reached: If the answer is “yes” go to step 13; otherwise go to step 1.

Step 13. Output the actual cumulative rostering results, and then go to step 15.

Step 14. Output the records of aircrew shortage, request aircrews or cancel pairings, and then go to step2.

Step 15. Stop.

Page 12: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

12

5 Submodels We establish the fundamental model for the three subproblems in section 4 and claim that the model of each of the three subproblems can be deduced from this model. Fundamental model: Suppose on some day we consider r available aircrews (either all pilots or all copilots): Ψi, i=1, 2, …, r and ρ pairings that start on that day: ωj, j = 1, 2, …, ρ. First, we sort the aircrews according to their current cumulative flying time in ascending order and sort the pairings according to their flying time in descending order. Without losing generality, we can assume that

)()()( 21 rttt ψψψ ≤≤≤ L

)()()( 21 ρωωω fff ≥≥≥ L

where t(⋅) denotes the current cumulative flying time, f(⋅) denotes the flying time. If there is no aircrew-pairing conflict (defined as the schedule conflict between the day-off and the pairing), we prefer a matching as:

),(,),,(),,( 2211 rr ωψωψωψ L if ρ≤r

),(,),,(),,( 2211 ρρ ωψωψωψ L if ρ>r

where (Ψi , ω j) indicates the aircrew Ψi and the pairing ωj are matched together. We define this preference as ideal matching. Under the circumstance that there exists aircrew-pairing conflict, we want a matching as close to the ideal matching as possible. Here we formulate the problem as a weighted matching problem in an undirected bipartite graph. The construction of the weights is a crucial step. At first, let G = (V, U, E, W) denote an undirected bipartite graph with V = {Ψi: i = 1, 2, …, r}, U = {ωj: j = 1, 2, …, ρ}, E = {Ψiωj: i = 1, 2,…, r; j = 1,

2, …, ρ}, and W = {wij: i = 1, 2,…,r; j = 1, 2, …, ρ}, where wij denotes the weight of the edge Ψiωj. Then, we assign values to the weights. Let τij: i = 1, 2, …, r; j = 1, 2, …, ρ be the penalty parameters that indicate whether the aircrew Ψi has day-off conflict with the pairing ωj, i.e. τij = +∞ ⇔ “yes”; τij = 0 ⇔ “no”. If r < ρ, let:

1111 τ=w ,

1212 τ=w ,

jjj ffw 111 )()( τωω +−= ,

where j = 1, 2, …, ρ, j ≠ 1, 2.

1,1, −− = iiiiw τ ,

iiiiw τ= ,

1,1, ++ = iiiiw τ ,

where i=2, …, r.

ijjiij ffw τωω +−= )()( ,

where i = 2, …, r; j = 1, 2, …, ρ; j ≠ i-1, i, i+1. If r = ρ, let:

1111 τ=w ,

1212 τ=w ,

jjj ffw 111 )()( τωω +−= ,

where j=1, 2, …, ρ, j ≠ 1, 2.

1,1, −− = iiiiw τ ,

iiiiw τ= ,

1,1, ++ = iiiiw τ ,

where i = 2, …, r-1.

Page 13: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

13

ijjiij ffw τωω +−= )()( ,

where i =2, …, r-1; j =1,2, …, ρ; j ≠ i-1, i, i+1.

1,1, −− = rrrrw τ ,

rrrrw τ=, ,

rjjrjr ffw τωω +−= )()(, ,

where j=1, 2, …, ρ, j ≠ r-1, r. If r > ρ, let:

1111 τ=w ,

2121 τ=w ,

111 )()( iii ttw τψψ +−= ,

where i = 1, 2, …, r, i ≠ 1, 2.

jjjjw ,1,1 −− = τ ,

jjjjw τ= ,

jjjjw ,1,1 ++ = τ ,

where j = 2, …, ρ.

ijjiij ttw τψψ +−= )()( ,

where i = 1, …, r; j = 2, …, ρ; i ≠ j-1, j, j+1. After we set up the values of the weights of the undirected bipartite graph G, we can propose the model of the bipartite weighted matching problem.

Max ∑∑= =

r

i jij

1 1

ρ

ξ

Min ∑∑= =

⋅r

i jijij w

1 1

ρ

ξ

S.t.

;,,2,1,11

ρξ L=≤∑=

jr

iij

;,,2,1,11

rij

ij L=≤∑=

ρ

ξ

ρξ ,,2,1;,,2,1 }1,0{ LL ==∈ jriij .

where the decision variable ξij indicates whether (Ψi , ω j) is selected as the member of the optimal matching, i.e. ξij = 1 ⇔ “yes”; ξij = 0 ⇔ “no”. It should be noted that the value of the objective function (5.2) must be finite for the corresponding solution to be feasible. Submodel 1: This model is the partial rostering problem regarding the available pilots on some day. In the general model we can let {Ψi: i=1, 2, …, r } = {vi: i=1, 2, …, r1} and {ωj: j = 1, 2, …, ρ} = {Ωk: k = 1, 2, …, R} to specify this submodel. If an optimal matching that saturates the pairing group {Ωk: k = 1, 2, … , R} can not be found, a report of pilot shortage is to be generated. Otherwise, suppose the solution of this submodel is {(vk′, Ωk): k = 1, 2, …, R}, where {vk′: k=1, 2, …, R} ⊆ {vi: i=1, 2, …, r1}. Submodel 2: This model is the partial rostering problem regarding the available copilots on the same day as that in submodel 1. In order to specify the submodel 2, in the general model we let {Ψi: i = 1, 2, …, r} = {uj: j = 1, 2, …, r2}, {ωj: j = 1, 2, …, ρ} = {Ωk: k = 1, 2, …, R} and redefine penalty parameters: τij, i = 1, 2, …, r; j=1, 2, …, ρ as τij = +∞ if the copilot ui can not work together with the pilot vj′ or the copilot ui has day-off conflict with the start and end times of the pairing Ωj; τij = 0 otherwise. This redefinition is to use τij to indicate whether the triple (vj′, ui, Ωj) is feasible, i.e. τij = +∞ ⇔ “no”; τij = 0 ⇔ “yes”. If an optimal matching that saturates the pairing group {Ωk: k = 1,

(5.1)

(5.2)

(5.3)

(5.4)

(5.5)

Page 14: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

14

2, … , R} can be found, the partial rostering problem on that day is then solved. Otherwise, suppose the uncovered pairings are {Ωk′: k = 1, 2, … , l} ⊆ {Ωk: k = 1, 2, … , R} and the corresponding pairing-pilot group is {( vk′′, Ωk′): k = 1, 2, …, l} ⊆ {(vk′, Ωk): k = 1, 2, …, R}. Submodel 3: This is the vacancy filling problem. In order to specify the submodel 3, in the general model we let {Ψi: i=1, 2, …, r} = { vi′′′: i = 1, 2, …, r1- R} = {vi: i = 1, 2, …, r1} - {vk′: k = 1, 2, …, R}, {ωj: j = 1, 2, …, ρ} = {Ωk′: k = 1, 2, …, l} and redefine penalty parameters: τij, i = 1, 2, …, r; j=1, 2, …, ρ as τij = +∞ if the pilot vi′′′ can not work together with the pilot vj′′ or the pilot vi′′′ has day-off conflict with the start and end times of the pairing Ωj′; τij = 0 otherwise. This redefinition is to use τij to indicate whether the triple (vi′′′, vj′′, Ωj′) is feasible, i.e. τij = +∞ ⇔ “no”; τij = 0 ⇔ “yes”. If an optimal matching that saturates the pairing group {Ωk′: k = 1, 2, …, l} can be found, the partial rostering problem on that day is then solved. Otherwise, a report of aircrew shortage is to be generated. 6 Subalgorithm We introduce a minimum-cost maximum flow algorithm for solving the fundamental model in section 5, hence to solve the submodels 1, 2 and 3. The basic idea is to transform the weighted matching problem of an undirected bipartite graph into a minimum-cost maximum-flow problem. In solving the problem of the transformed version, we use the technique associated with the concept of augmenting path and shortest path. We find augmenting paths from the flow digraph. We find shortest paths from the cost digraph (or residual network). Once we find an augmenting path from the flow digraph. We can update the flow digraph

along the augmenting path to get a new feasible flow that has a greater flow volume. The problem of finding an augmenting path from the flow digraph is equivalent to the problem of finding a path from the cost digraph. Therefore, by finding a shortest path from the cost digraph, we can find a minimum-cost augmenting path from the flow digraph. If every update in the flow digraph happens along some minimum-cost augmenting path, we will finally obtain a minimum-cost flow with the flow volume that we want. Then, back to the weighted matching problem of the undirected bipartite graph, we obtain the matching we want. In finding the shortest path from the cost digraph, we use Bellman-Ford algorithm since the cost digraph may contain the arcs with negative weight values. For the undirected bipartite graph G = (V, U, E, W), let’s first construct the associated flow digraph N1 = (s, t, V, U, A1, C, F), where: s: the starting node; t: the ending node; V = {ψi: i = 1, 2, …, r}: set of nodes denoting the aircrews; U = {ωj: j = 1, 2, …, ρ}: set of nodes denoting the pairings; A1 = {(s, ψi), (ψi, ωj), (ωj, t): i = 1, 2, …, r; j = 1, 2, …, ρ}: set of the arcs; C = {c(s, ψi) = 1, c(ψi, ωj) = 1, c(ωj, t) = 1: i = 1, 2,…, r; j = 1, 2, …, ρ}: set of the flow capacity of the arcs; F = {f(s, ψi) = 0 or 1, f(ψi, ωj) = 0 or 1, f(ωj, t) = 0 or 1: i = 1, 2,…, r; j = 1, 2, …, ρ}: set of the flow along the arcs; Definition 6.1. A flow F of the flow digraph N1 from s to t is a feasible flow if the conservation conditions are satisfied:

,,,2,1),(),(1

rifsfj

jii L== ∑=

ρ

ωψψ (6.1)

Page 15: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

15

.,,2,1),(),(1

ρξψω L== ∑=

jftfr

ijij

Definition 6.2. For the flow digraph N1, the cost of a feasible flow F is defined as:

∑∑= =

⋅=r

i jijji wfFb

1 1

),()(ρ

ωψ

where wij denotes the weight of the edge ψiωj of the undirected bipartite graph G. Lemma 6.1. There exists a bijection between the matching set of the undirected bipartite graph G and the feasible flow set of the flow digraph N1. Proof. By definition 6.1, we have that

∑=

=≤=ρ

ψωψ1

,,2,1,1),(),(j

iji risff L ,

∑=

=≤=r

ijji jtff

1

.,,2,1,1),(),( ρωωψ L

Hence, we claim that finding an edge of a matching from the undirected bipartite graph G is equivalent to finding an arc flow f(ψi, ωj) = 1 of a feasible flow from the flow digraph N1, so the conclusion of the lemma follows. Theorem 6.1. There exists a bijection between the minimum-weight maximum-matching set of the undirected bipartite graph G and the minimum-cost maximum feasible flow set of the flow digraph N1. Proof. The lemma 6.1 and the definition 6.2 show the conclusion. Remark: this theorem is the foundation for transforming the minimum-weight maximum - matching problem of the undirected bipartite graph G into a minimum-cost maximum-flow problem of the flow digraph N1. Definition 6.3. For a feasible flow F of the flow digraph N1 = (s, t, V, U, A1, C, F) from s to t, an augmenting path P is a path from s to t in the undirected graph resulting from N1 by ignoring arc directions, with the following two properties: (i) For every arc (α, β) ∈ A1 that is traversed by P in

the forward direction (called a forward arc), we have f (α, β) = 0. That is, forward arcs of P are “not full”. (ii) For every arc (α, β) ∈ A1 that is traversed by P in the reverse direction (called a backward arc), we have f (α, β) = 1. That is, backward arcs of P are “not empty”. Definition 6.4. Given a feasible flow F of the flow digraph N1, a flow adjustment along an augmenting path P is defined as:

⎪⎩

⎪⎨⎧

∈−

∈+=

+

PfPf

f),(1),(),(1),(

),('βαβα

βαβαβα

where P+ denotes the set of forward arcs along P, and P-

denotes the set of backward arcs along P. Lemma 6.2. If a feasible flow F of the flow digraph N1 has flow volume R, after a flow adjustment along an augmenting path P, the new flow F′ ={{f′ (α, β): (α, β) ∈ P}, {f (α, β): (α, β) ∉ P}} is still a feasible flow and has a new flow volume R+1. Proof. The flow adjustment definition (6.6) implies that the conservation conditions (6.1-6.2) still hold. So, the first conclusion follows. The flow adjustment also implies that:

1),(1),('11

+=+= ∑∑==

Rsfsfr

ii

r

ii ψψ

1),(1),('11

+=+= ∑∑==

Rtftfj

jj

j

ρρ

ωω

which proves the second conclusion. Remark: this lemma implies that flow adjustment along an augmenting path can increase the flow volume while maintaining the flow feasibility. So, starting from a zero-volume flow, which is the most basic initial feasible flow with zero cost, we can update one and another until we obtain a feasible flow with the flow volume that we want. A natural question is: when doing this, how could we minimize the cost increment of every flow update? This is the problem of finding the minimum-cost augmenting path.

(6.2)

(6.3)

(6.4)

(6.5)

(6.6)

(6.7)

(6.8)

Page 16: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

16

Definition 6.5. The cost of an augmenting path P (denoted as b(P)) associated with a feasible flow F (the flow volume is R) of the flow digraph N1 is defined as the cost increment, when along P, F is updated into F′, the flow volume is increased from R up to R+1, with the following expression:

.),(),(

),('),()(

,,),(

,,),(

≠≠∈

≠≠∈

⋅−

⋅=

tsP

tsP

fw

fwPb

βαβα

βαβα

βαβα

βαβα

where w(α, β) denotes the weight of the edge αβ of the undirected bipartite graph G. We use (α, β) ∈ P to denote that the arc (α, β) in the flow digraph N1

is traversed by the augmenting path P. Theorem 6.2. The cost increment introduced by updating a feasible flow F of the flow digraph N1 through the flow adjustment along an augmenting path P is equal to b(P). Hence to minimize the incremental cost in every flow update is equivalent to find a minimum-cost augmenting path along which the flow adjustment is to be made. Proof. Since the flow update only happens on some augmenting path, the conclusions of this theorem follow. For the undirected bipartite graph G = (V, U, E, W), let’s construct the associated cost digraph N2 = (s, t, V, U, A2, b), where: s: the starting node; t: the ending node; V = {ψi: i = 1, 2, …, r}: set of nodes denoting the aircrews; U = {ωj: j = 1, 2, …, ρ}: set of nodes denoting the pairings; A2 = {(s, ψi), (ψi, s), (ψi, ωj), (ωj, ψi), (ωj, t), (t, ωj): i = 1, 2, …, r; j = 1, 2, …, ρ}: set of the arcs; b = {b(s, ψi), b(ψi, s), b(ψi, ωj), b(ωj, ψi), b(ωj, t), b(t, ωj): i = 1, 2, …, r; j = 1, 2, …, ρ}: set of the costs/weights of the arcs.

We define b that is associated with a feasible flow F of the flow digraph N1: For (α, β) ∈ A1, α = s or β = t let

0),(),( == αββα bb , For every arc (α, β) ∈ A1, α ≠ s and β ≠ t let

⎩⎨⎧

=∞+=

=,1),(if;0),(if),(

),(βαβαβα

βαffw

b

⎩⎨⎧

=∞+=−

=,0),(if;1),(if),(

),(βαβαβα

αβffw

b

Theorem 6.3. The problem of finding a minimum- cost augmenting path from the flow digraph N1 is equivalent to finding a shortest path from the associated cost digraph N2. Proof. Consider the set {(α, β): (α, β) ∈ A1, α ≠ s and β ≠ t}, from (6.10-6.12), the cost/weight of a path H in the cost digraph N2 can be written as

)(Hb ∑∑∈∈

+=HHbb

),(),(),(),(

αββα

αββα

∑∑==

−=1),(0),(

),(),(βαβα

βαβαff

ww

,),(),(_),(),(

∑∑∈∈

−=+ PP

wwβαβα

βαβα

where P+ and P- denote the set of forward arcs and the set of backward arcs traversed by the augmenting path P, respectively. On the other hand, from (6.9), we have that

)(Pb )],(),('[),(,,),(

βαβαβαβαβα

ffwtsP

−⋅= ∑≠≠∈

)],(),('[),(,,),(

βαβαβαβαβα

ffwtsP

−⋅= ∑≠≠∈ +

)],(),('[),(,,),(

βαβαβαβαβα

ffwtsP

−⋅+ ∑≠≠∈ −

,),(),(,,),(,,),( _

∑∑≠≠∈≠≠∈

−=+ tsPtsP

wwβαβαβαβα

βαβα

Combine (6.13) and (6.14), we have that )()( PbHb =

This implies that the cost of an augmenting path P (denoted as b(P)) associated with a feasible flow F of the flow digraph N1 is equal to the cost/weight of

(6.9)

(6.10)

(6.11)

(6.12)

(6.13)

(6.14)

(6.15)

Page 17: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

17

a path in the associated cost digraph N2, hence, the conclusion of the theorem follows. Remark: it should be noted that once a shortest path from N2 is found, the minimum- cost augmenting path from N1 is then found. If there is no path of finite cost/weight in N2, there is no augmenting path in N1, then, the minimum-cost maximum flow in N1 is found, and hence, the minimum-weight maximum matching in G is found. We see that the bipartite weighted matching problem is finally reduced to the well-known shortest path problem. Since the cost digraph N2

may contain the arcs with negative costs/weights, Bellman-Ford algorithm is a good choice. For convenience, let’s write: a1 = s, a2 = ψ1, …, ar+1 = ψr, ar+2 = ω1 , …, ar+ρ+1 = ωρ , a r+ρ+2 = t. And let φ = r + ρ + 2.The Bellman-Ford Algorithm can be written as a system of iteration equations:

,0),( 11)1( =aaL

,,,2),,(),( 11)1( φL== jaabaaL jj

,0),( 11)1( =+ aaLθ

.2,,2,1;,,2

))},,(),((min

),,(min{),(

1)(

:

1)(

1)1(

−==

+

=

+

φθφ

θ

θθ

LLj

aabaaL

aaLaaL

jiijii

jj

This system of equations directly leads to: Theorem 6.4. In (6.16-6.19) the label L(θ )(a1 ,aj), j ≠ 1 is the length of the shortest path from a1 to aj ( j = 2, 3,…, φ), with at most θ arcs. and Corollary 6.1. If the cost digraph N2 does not contain negative cycle, L(θ)(a1 ,aj), j = 2, 3,…, φ convergence when θ ≤ φ -1. The following theorem tells why Bellman-Ford algorithm can always find a shortest path from s to t in N2, with no more than φ -1 arcs.

Theorem 6.5. The cost digraph N2 does not contain negative cycle. Proof. By induction on the number of updates on N2. Basic step: in initial cost digraph N2

(0), every arc has nonnegative weight, hence, the cost digraph does not contain negative cycle, therefore, Bellman-Ford algorithm can find a shortest path from s to t in N2

(0). Inductive step: assume that in some cost digraph N2

(μ) obtained after μ updates, there is no negative cycle and a shortest path H is found. We want to show that there is no negative cycle in N2

(μ+1). Assume that there is a negative cycle M in N2

(μ+1). Then based on (6.10-6.12), some arc in M must also appear in H, but with reverse direction. Let’s denote this arc as (M1, M2). Since the difference between N2

(μ) and N2(μ+1) is only in H,

it’s obvious that H- (M2, M1) + M - (M1, M2) is a path from s to t in N2

(μ). However, this path is “shorter” than H, hence, a contradiction. The overall complexity of the minimum-cost maximum flow algorithm can be written as: O(R⋅S), where S is the complexity of the Bellman-Ford algorithm depending on the number of nodes and the number of arcs in the cost digraph N2, R is the flow volume that we want, it is a given positive integer. So, the overall complexity is polynomial no more than 4th order. 7 Effectiveness of the Master Algorithm 7.1. Improving Property Consider the ith pilot (copilot) and the jth pilot (copilot), i, j=1, 2,…, m1(m2), i ≠ j. Suppose before some day, the cumulative flying time is counted as zi and zj, respectively. After this day, the cumulative flying time is counted as zi′ and zj′, when added Ti ( ≥ 0 ) and Tj ( ≥ 0 ), respectively. Ti = 0 or Tj = 0 if no pairing assigned or the pairing is canceled. Without losing generality, let zi ≤ zj, Ti ≥ Tj. Then, we have

(6.16)

(6.17)

(6.18)

(6.19)

Page 18: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

18

'''ijij zzz −=Δ

)( iijj TzTz +−+=

ijij TTzz −+−=

ijij Tz Δ−Δ=

where, 0≥−=Δ ijij zzz , 0≤−=Δ ijij TTT

From (7.1.1), we have the results of comparing

'ijzΔ with ijzΔ as follows.

If 0=Δ ijT , we have that

ijij zz Δ=Δ ' ;

If 0>Δ ijT , we have that

ijij zz Δ<Δ ' if ijij Tz Δ>Δ21 ;

ijij zz Δ=Δ ' if ijij Tz Δ=Δ21 ;

ijij zz Δ>Δ ' if ijij Tz Δ<Δ21 .

The comparison results imply that if the difference of the cumulative flying time between two aircrews with same license is greater than some threshold, the long-range assignments will reduce this difference. The comparison results also imply that the absolute balance cannot be achieved. From the global point of view, the master algorithm 4.1 will reduce the discrepancy of the cumulative flying time among the aircrews with same license if the discrepancy is initially large enough until it is decreased down to some level. 7.2. Upper bound If the master algorithm 4.1 can reduce the discrepancy of the cumulative flying time among the aircrews with same license from some high

level down to some low level, a question is what this level could be? Consider the simple case. Assume that for any aircrew there is no day-off conflict with any pairing schedule and there is no restriction on who can/cannot work together with him or her; also assume that any pairing has regular schedule, then, according to the comparison results (7.1.1-7.1.5), the long-range assignments will lead to the following result: Theorem 7.2.1. In the simple case, the master algorithm 4.1 will reduce the discrepancy of the cumulative flying time among the aircrews with same license from some high level down to a level

below kk

Tmax21 when measuring with absolute

difference or below kk

Tmax22

1 when measuring

with standard deviation. Proof. In the simple case, after long-range assignments, any│Δzij│=│zi –zj│, i, j = 1, 2, …, m( = m1 or m2), i ≠ j will satisfy:

jiij zzz −=Δ

ijijTΔ< max

21

)0max(21

−≤ kkT kk

Tmax21

= ,

and by algebraic operations, we have

∑ Δji

ijz,

2∑∑ −−−=

ii

ii zzzzm 22 )]([2)(2

2)1(2 smm −= , where s denotes the standard deviation. By (7.1.6) and (7.1.7), we have

kkTs max

221

≤ .

A real-world case is much more complicated since the assumptions in the simple case are removed. Here, the theoretic analysis is omitted since a lot of

(7.1.1)

(7.1.2)

(7.1.3)

(7.1.4)

(7.1.5)

(7.1.6)

(7.1.7)

(7.1.8)

Page 19: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

19

probability theories will involve. We only give an intuitive claim: If the events such as teaming unfeasibility, conflict between day-off and pairing schedule, pairing alternation/cancellation etc occur with small probabilities, the upper bounds in (7.1.6) and (7.1.8) still hold, with a large probability. More detailed analysis will be conducted in later study. 8. Numerical Results In this section, we test the master algorithm 4.1 numerically under two situations: the first is when both pilots and copilots are enough many, i.e. there is no report of shortage in both pilots and copilots; the second is when there are enough many pilots but not enough many copilots, i.e. there is report of shortage in copilots on some day, the copilot vacancies are filled by backup pilots, and there is no further report of aircrew shortage. The numerical test consists of three steps: the first step is data simulation; the second step is algorithm implementation; the last step is result presentation. The data simulation is to create the data of pairings and aircrews. For a pairing, the data acquired by the algorithm includes start time, end time, number of flight legs, actual flying time, and cancellation status (whether it is cancelled). For an aircrew, the

data acquired by the algorithm includes the identification number, name, license (pilot or copilot), day-offs, current task and availability, current cumulative flying time (mins.), unfeasible teammates etc. Samples of the pairing data and the aircrew data are shown by Tables 1 and 2. The master algorithm 4.1 as well as the subalgorithm (minimum-cost maximum flow algorithm) is implemented with Matlab 7.0 and tested in Dell Dimension 4600 with P4 2.66 G CPU and 1.0 G DDR MEM. The results of every day’s assignments are generated throughout a calendar period (e.g. from 05/01/2005 to 01/02/2006). There are 17 regular pairings starting on each day. Each pairing spans two or three days. The random perturbations on monthly/seasonally flight schedule are simulated by computer program to mimic the changes of the flight plan, which may lead to the delay, reconstruction, or cancellation of some pairings. The result presentation consists of two-fold aspects: one is to display the improvement of the objective values during the iteration progress of the master algorithm; the other is to verify the feasibility of the solution. In this paper, we provide the graphic presentations of the numerical results.

Table 1. A sample of pairing data

Pairing

No. Start time End time Duty time (mins.) Flying time (mins.)

Number of

flight legs State

… … … … … … …

35 05/03/2005 7:00:00 05/05/2005 9:17:00 3017 604 5 On time

36 05/03/2005 7:30:00 05/05/2005 8:14:00 2924 521 4 On time

37 05/03/2005 8:15:00 05/05/2005 17:45:00 3450 645 7 On time

… … … … … … …

44 05/03/2005 16:20:00 05/05/2005 20:35:00 3135 601 6 On time

45 05/03/2005 16:55:00 05/05/2005 11:30:00 2555 382 3 On time

… … … … … … …

49 05/03/2005 20:40:00 05/06/2005 10:10:00 3690 595 6 On time

Table continued on next page

Page 20: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

20

50 05/03/2005 21:20:00 05/06/2005 14:50:00 3930 506 4 On time

51 05/03/2005 22:30:00 05/06/2005 19:10:00 4120 805 8 On time

… … … … … … … …

Table 2. A sample of aircrew data

ID No. Name License Cumulative duty

time (mins.)

Cumulative flying

time (mins.)

Cumulative Num. of

flight legs

Unfeasible

teammates

Unfeasible

teammates Current status

… … … … … … … … …

20 10020 Pilot 54195 8739 94 2 copilots 1 pilot Waiting

21 10021 Pilot 69051 11674 114 None None In task

22 10022 Pilot 62554 10238 96 None None Waiting

… … … … … … … … …

28 20028 Copilot 65704 10156 98 1 pilot ⎯ Waiting

29 20029 Copilot 66359 11631 112 None ⎯ In task

30 20030 Copilot 67114 11879 115 None ⎯ In task

… … … … … … … … …

Table 1- continued

0 10 20 30 40 50 60 700

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

ID No. of pilots

Num

ber o

f day

-offs

Counting the cumulative number of day-offs of pilots

Calendar date in considered period

ID N

o. o

f cop

ilots

Day-off simulation for copilots

50 100 150 200

10

20

30

40

50

60

0 10 20 30 40 50 60 700

0.5

1

1.5

2

2.5

3

ID No. of copilots

Num

ber o

f day

-offs

Counting the cumulative number of day-offs of copilots

Figure.1. Graphic presentation of day-off simulation results of aircrews

Calendar date in considered period

ID N

o. o

f pilo

ts

Day-off simulation for pilots

50 100 150 200

10

20

30

40

50

60

Page 21: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

21

Figure. 2. Graphic presentation of results of aircrew teaming infeasibility simulation

ID No. of pilots

ID N

o. o

f cop

ilots

Simulation of pilot-copilot teaming infeasibility

10 20 30 40 50 60

10

20

30

40

50

60

ID No. of pilots

ID N

o. o

f pilo

ts

Simulation of pilot-pilot teaming infeasibility

10 20 30 40 50 60

10

20

30

40

50

60

Figure. 3. Graphic presentation of results of pairing perturbation simulation

500 1000 1500 2000 2500 3000 3500 4000-1

0

1

2

3

4

5

6

7

ID No. of Pairing

Pai

ring

stat

e

Simulation of pairing perturbation

0: Pairing cancelled0.5: Pairing finishes one day earlier than regular plan1: Pairing finishes as regular plan2: Pairing finishes one day later than regular plan3: Pairing finishes two days later than regular plan4: Pairing finishes three days later than regular plan

0 10 20 30 40 50 60 700

2000

4000

6000

8000

ID No. of pilots

Cum

ulat

ive

flyin

g tim

e

0 10 20 30 40 50 60 700

2000

4000

6000

8000

ID No. of copilots

Cum

ulat

ive

flyin

g tim

e

0 10 20 30 40 50 60-2

-1

0

1

2

ID No. of pilots

Sta

tus

of p

ilots

0 10 20 30 40 50 60-2

-1

0

1

2

ID No. of copilots

Sta

tus

of c

opilo

ts

-1: In day-off0: Waiting1: In task

-1: In day-off0: Waiting1: In task

Figure. 4. Graphic presentation of simulation results of initial statuses and cumulative flying time

Page 22: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

22

Figures (1-4) give the graphic representation of a set of data under the condition that both the pilots and the copilots are enough many. There are 64 pilots, 64 copilots. The considered period is simulated as from 05/01/2005 to 01/02/2006. In regular plan, there are 17 pairings starting on each day. Figure 1 shows the simulation and counting results of the random day-offs of both the pilots and the copilots throughout this period. Figure 2 shows the simulation results of the aircrews’ teaming infeasibilities. Figure 3 shows the simulation results of the perturbations on the regularly planned pairings throughout this period. If a pairing starts late but still within the planned

date, it is viewed as starting as planned; if a pairing fails to start on the planned date, it is viewed as cancelled. When a pairing is carried out, its schedule may still be subject to changes, which may lead to earlier or later completion. Figure 4 shows the simulation results of the aircrews’ initial cumulative flying time (mins.) and statuses. The implementation of the master algorithm 4.1 will be connected to these initial conditions. Figure 5 gives the graphic presentation of the improvements of the objective values as the rostering process progresses under the algorithm’s commands. Figure 6 gives a local view of the dispatching result. The results are exported as an excel file.

Figure. 5. Graphic presentation of the improvements of the objective values

0 10 20 30 40 50 60 700

0.5

1

1.5

2x 104

ID No. of pilots

Cum

ulat

ive

flyin

g tim

e of

pilo

ts

0 10 20 30 40 50 60 700

0.5

1

1.5

2x 104

ID No. of copilotsCum

ulat

ive

flyin

g tim

e of

cop

ilots

0 10 20 30 40 50 60-2

-1

0

1

2

ID No. of pilots

Sta

tus

of p

ilots

0 10 20 30 40 50 60-2

-1

0

1

2

ID No. of copilots

Sta

tus

of c

opilo

ts

0 10 20 30 40 50 60 70 800

500

1000

1500

Date

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

pilo

ts

0 10 20 30 40 50 60 70 800

500

1000

1500

Date

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

copi

lots

Stdv. of cumulative flying time

Upper bound

Stdv. of cumulative flying time

Upper bound

-1: In day-off0: Waiting1: In task

-1: In day-off0: Waiting1: In task

Page 23: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

23

From the Figure 5, we see that after about 40 days, the standard deviations of the cumulative flying time (mins.) of both the pilots and the copilots drop below the level indicated by (7.1.8). Graphically, the distributions of the cumulative flying time of both the pilots and the copilots appear very even. The Figure 6 displays the dynamic dispatching

results. For each pairing, a pilot and a copilot are assigned. There is no teaming infeasibility, and no schedule conflict. Figure 7 gives a graphic presentation of the regulation satisfaction. No limit specified by regulation is exceeded. The workload statistics shows that there are enough aircrews in the current period. The following two Figures (8-9)

Figure. 6. Graphic presentation of the dispatching result

Remark. Teaming infeasibility: none

Schedule conflict: none

Aircrew shortage report: none

5 6 7 80

10

20

30

40

50

60

70

80

90

100

Month

Max

imum

mon

thly

cum

ulat

ive

flyin

g tim

e (h

rs.)

Regulation limit

5 6 7 8

0

100

200

300

400

500

600

700

800

Month

Max

imum

mon

thly

cum

ulat

ive

duty

tim

e (h

rs.)

Regulation limit

5 6 7 8

0

10

20

30

40

50

60

70

80

Month

Max

imum

mon

thly

cum

ulat

ive

fligh

t leg

s

Regulation limit

Figure. 7. Graphic presentation of the regulation satisfaction Left: The maximum monthly cumulative flying time (hrs.)

Middle: The maximum monthly cumulative duty time (hrs.)

Right: The maximum monthly cumulative number of flight legs

Page 24: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

24

are part of the graphic presentations of a result under the circumstance that there are not enough copilots to cover all the pairings on some days. An aircrew shortage report is generated to reflect this situation. There is no teaming infeasibility and no schedule conflict. All the regulation limits are not exceeded. From the Figure 8 we see that in a pairing (Task No. 62) there is a pilot (No. 10056)

performing the pilot function, and a pilot (No. 10008) performing the copilot function. In majority pairings, exact one pilot and exact one copilot are dispatched. From the Figure 9, we see that after about 70 days, the standard deviations of the cumulative flying time (mins.) of both the pilots and the copilots drop below the level indicated by the inequality (7.1.8).

Pilot: 10024; Copilot: 20016

Pilot: 10056; Pilot: 10008

Remark. Teaming infeasibility: none

Schedule conflict: none

Aircrew shortage report: type Ⅱ, copilots are not enough to cover all the pairings

Figure. 8. Graphic presentation of the dispatching result when there are not enough copilots and some pilots are selected to fill the copilot vacancies.

0 2 0 4 0 6 0 8 0 1 0 00

2 0 0

4 0 0

6 0 0

8 0 0

1 0 0 0

1 2 0 0

1 4 0 0

D a t e

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

pilo

ts

0 2 0 4 0 6 0 8 0 1 0 00

2 0 0

4 0 0

6 0 0

8 0 0

1 0 0 0

1 2 0 0

1 4 0 0

D a t e

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

copi

lots

S t d v. o f c u m u la t ive fly in g t im e U p p e r b o u n d

S t d v. o f c u m u la t ive fly in g t im e U p p e r b o u n d

Figure. 9. Graphic presentation of the improvements of objective values when there are not enough copilots and some pilots are selected to fill the copilot vacancies.

Page 25: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

25

The following Figure 10 and Table 3 show the master algorithm’s effectiveness and the efficiency in multiple simulations. The Figure 10 shows the improvements of the objective values in multiple simulations under two situations: the two upper subfigures are the results when both the pilots and

the copilots are enough many; the two lower ones are the results when the copilots are not enough many, the vacancies are filled by some pilots on some days. The Table 3 shows the simulation time and computing time in 6 cases. We see that the efficiency of the master algorithm is very high.

Table 3. Some statistics on computational efficiency Number of

months

Number of regular

pairings/day Number of pilots

Number of

copilots

Enough

pilots?

Enough

copilots?

All pairing

covered?

Simulation

time (s)

Computing

time (s)

1 17 64 64 Yes Yes Yes 3.39 14.53

2 17 64 64 Yes Yes Yes 2.78 27.89

3 17 64 64 Yes Yes Yes 2.87 41.18

1 17 64 54 Yes No Yes 3.17 12.42

2 17 64 54 Yes No Yes 3.00 24.31

3 17 64 54 Yes No Yes 2.58 35.63

0 2 0 40 60 8 0 1 000

5 0 0

10 00

15 00

D a te

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

pilo

ts

0 2 0 4 0 6 0 80 10 00

20 0

40 0

60 0

80 0

1 00 0

1 20 0

1 40 0

D a te

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

copi

lots

S tdv.o f c u m u la t ive fly in g t im e U p pe r b ou n d

S tdv.o f c u m u la t ive fly ing t im e U p pe r b o un d

0 10 20 30 40 50 60 70 800

200

400

600

800

1000

1200

1400

Date

Std

v. o

f cum

ulat

ive

flyin

g tim

e am

ong

pilo

ts

0 10 20 30 40 50 60 70 800

200

400

600

800

1000

1200

1400

DateS

tdv.

of c

umul

ativ

e fly

ing

time

amon

g co

pilo

ts

S tdv. of c um ulat ive fly ing t im eUpper bound

S tdv. of cum ulative fly ing tim eUpper bound

Multiple simulations under the circumstance that both the pilots and the copilots are enough many (left: for pilot group; right: for copilot group)

Multiple simulations under the circumstance that the pilots are enough many, there are not enough copilots, some pilots are selected to fill the

copilot vacancies on some days (left: for pilot group; right: for copilot group).

Figure. 10. Graphic presentation of the improvement of objective values in multiple simulations

Page 26: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

26

Conclusion This paper proposes a crew rostering problem in airlines. A heuristic algorithm based on the successive bipartite weighted matching is built to solve this problem. Both the theoretical analysis and the numerical tests show that the algorithm is effective and efficient. The connectivity between the algorithm for dynamic rostering and the simulation on initial condition implies the compatibility of the algorithm with the existing crew rostering systems. Possible extension of this work includes the consideration on more frequent updates of pairing plan within one day; the consideration on the insertion of newly hired aircrews; and the consideration on the aircrew shift among multiple homebases and among multiple fleets etc. References

[1] Anbil, R., C. Barnhart, L. Hatay, E. L. Johnson, and

Ramakrishnan. 1992. Crew-Pairing Optimization at

American Airlines Decision Technologies. In T. A.

Ciriani and R.C. Leachman (eds.), Optimization in

Industrial Environments, pp. 7–24. Wiley.

[2] Anbil, R., E. Gelman, B. Patty, and R. Tanga. 1991.

Recent Advances in Crew-Pairing Optimization at

American Airlines. Interfaces 21(1), 62–74.

[3] Andersson, E., Housos, E., Kohl, N., Wedelin, D.

1997. Crew pairing optimization, in: OR in airline

industry, Eds. Yu, G., Kluwer Acad. Publ., Boston.

[4] Barnhart, C., Cohn A. M., Johnson E. L., Klabjan, D.,

Nemhauser G. L., Vance P. H. 2003. Airline Crew

Scheduling. In: Hall, R. W. (ed.) Handbook of

Transportation Sci., Kluwer Scientific Publishers.

[5] Barnhart, C., Johnson, E. L., Nemhauser, G. L.,

Savelsbergh, M. W. P., Vance, P. H. 1998. Column

generation for solving huge integer programs.

Operations Research 46 316-329.

[6] Barutt, J. and T. Hull. 1990. Airline Crew Scheduling

– Supercomputers and Algorithms. SIAM News.

[7] Bixby, R., Gregory, J., Lustig, I., Marsten, R., Shano,

D. 1992. Very Large-Scale Linear Programming: A

Case Study in Combining Interior Point and Simplex

Methods. Operations Research 40: 885-897.

[8] Byrne, J. 1988. A preferential bidding system for

technical aircrew. AGIFORS Sympos. Proc. 28 87–99.

[9] Campbell, K.W., R. B. Durfee, and G. S. Hines. 1997.

FedEx Generates Bid Lines Using Simulated

Annealing. Interfaces 27(2), 1–16.

[10] Cappanera and Gallo. 2004. A Multicommodity Flow

Approach to the Crew Rostering Problem. Operations

Research 52(4), pp. 583–596.

[11] Desaulniers, G., Desrosiers, J., Dumas, Y., Marc, S.,

Rioux, B., Solomon, M. M., Soumis, F. 1997. Crew

pairing at Air France. European Journal of

Operational Research 97: 245-259, Elsevier Science.

[12] Ehrgott, M., D. M. Ryan. 2002. Constructing robust

crew schedules with bi-criteria optimization. J.

Multi-Criteria Decision Anal. 11(3) 139–150.

[13] E. I. Moudani W., Cosenza C. S. N., de Coligny M.

2001. A Bi-Criterion Approach for the Airline Crew

Rostering Problem. Lecture Notes in Computer

Science. Springer-Verlag Heidelberg. ISSN

0302-9743.

[14] Gamache, M., F. Soumis, D. Villeneuve, J. Desrosiers,

É. Gélinas. 1998. The preferential bidding system at

Air Canada. Transportation Sci. 32(3) 246–255.

[15] Gamache, M., F. Soumis, G. Marquis, J. Desrosiers.

1999. A column generation approach for large-scale

aircrew rostering problems. Operations Research 47(2)

247–263.

[16] Gamache, M., F. Soumis. 1998. A method for

optimally solving the rostering problem. G. Yu, ed.

Operations Research in the Airline Industry. Kluwer,

Boston, MA, 124–157.

[17] Graves, G. W., R. D. McBride, I. Gershkoff, D.

Anderson, and D. Mahidhara. 1993. Flight Crew

Scheduling. Management Science 39 (6), 736–745.

[18] Hoffman K. L., Padberg M. 1993. Solving Airline

Crew Scheduling Problems by Branch and Cut.

Page 27: Solving Airline’s Pilot – Copilot Rostering Problem by ...xye/papers_and_ppts/ppts/JHU_paper1...MSRI Workshop, May 2006, Berkeley, CA 1 Solving Airline’s Pilot – Copilot Rostering

MSRI Workshop, May 2006, Berkeley, CA

27

Management Science 39: 657-682.

[19] Jarrah, A. I. Z. and J. T. Diamond. 1997. The Problem

of Generating Crew Bidlines. Interfaces 27(4), 49–64.

[20] Kohl, N., S. E. Karisch. 2004. Airline crew rostering:

Problem types, modeling, and optimization. Ann.

Operations Research 127 223–257. Available at

www.carmen.se/research_development/research_repo

rts.htm.

[21] Lavoie S., Minoux M., Odier E. 1988. A new

approach for crew pairing problems by column

generation with an application to air transportation.

European Journal of Operational Research 35:45-58.

[22] Lucic, P, Teodorovoc, D. 1999. Simulated annealing

for the multi-objective aircrew rostering problem,

Transportation Research Part A 33:19-45.

[23] Marchetfini, F. 1980. Automatic monthly cabin crew

rostering procedure, AGIFORS Symposium

Proceeding, 20, 23-59.

[24] Mellouli, T. 2003. Scheduling and Routing Processes

in Public Transport Systems. Professorial dissertation,

University of Paderborn.

[25] Papadimitriou C H, Steiglitz K. 1982. Combinatorial

Optimization: Algorithm and Complexity. New Jersey:

Prentice-Hall INC.

[26] Ryan, D. M. 1992. The Solution of Massive

Generalized Set Partitioning Problems in Air Crew

Rostering. Jounal of the Operational Research Society,

43, 459-467.

[27] Ryan, D. M. and Palkner, J. C. 1988. On the Integer

Properties of Scheduling Set Partitioning Models.

European Journal of Operatioal Research, 35,

442-456.

[28] Sarra, D. 1988. The automatic assignment model.

AGIFORS Sympos.Proc. 28 23–37.

[29] Schaefer, A. J., E. L. Johnson, A. J. Kleywegt and G.

L. Nemhauser. 2005. Airline Crew Scheduling under

Uncertainty, Transportation Science 39(3): 340-348.

[30] Yan, S., Tu, Y. 2002. A network model for airline

cabin crew scheduling. European Journal of

Operational Research 140: 531-540, Elsevier Science.

[31] Yen, J. W. 2000. A stochastic programming

formulation of the stochastic crew scheduling

problem. Ph.D. thesis, University of Michigan, Ann

Arbor, MI.

[32] Yu, G. and B. Thengvall. 2001. Optimization in the

Airline Industry. Handbook on Applied Optimization,

edited by P.M. Pardalos and M.G.C. Resende, Oxford

University Press.