International Journal of Applied Mathematics and Statistics, Int. J. Appl. Math. Stat.; Vol. 53; Issue No. 4; Year 2015, ISSN 0973-1377 (Print), ISSN 0973-7545 (Online) Copyright © 2015 by CESER PUBLICATIONS
A Solution Method for Airline Crew Recovery Problems K. Novianingsih1,2 , R. Hadianti1 , S. Uttunggadewa1 and E. Soewono1 1
Department of Mathematics Institut Teknologi Bandung Jl. Ganesha No.10, Bandung 40132, Indonesia 2 Department of Mathematics Universitas Pendidikan Indonesia Jl. Dr. Setiabudhi No. 229, Bandung 40154, Indonesia
[email protected]
ABSTRACT In airline day-to-day operations, schedule disruptions often occur due to some factors. Since the disruptions can cause flight delays or cancelations, the airline should perform a number of recovery actions to re-schedule crews in a short period of time. In this paper, we construct an optimization model of an airline crew recovery problem. We propose an efficient solution method for solving the optimization model. First, we identify the possibility of crew swapping, and then we perform the swappings if it is possible. Crew swappings are quite easy to be implemented, and the problem is directly solved as soon as the swappings are done. If swapping is impossible, we use other procedure for finding a good feasible solution, and then we improve this solution by applying the improvement procedure. We test our method to an airline schedules, and it is shown that the problem can be solved in very short period of time. Keywords: crew recovery, crew pairing, recovery action, schedule disruption, flight delay. 2000 Mathematics Subject Classification: 68U01, 90C06, 90C90.
1
Introduction
An airline crew scheduling problem can be modeled as a set covering problem min{cx : Ax ≥ 1, x ∈ {0, 1}},
(1.1)
where A = (af p is a matrix where its columns represent possible pairings of the schedule, in which af p = 1 if flight f is in pairing p and af p = 0 otherwise. A pairing is a sequence of flights starting and ending at a crew base. To construct a pairing, a number of Federal Aviation Administration (FAA) regulations and airline working rules must be complied, see AhmadBeygi (AhmadBeygi, Cohn and Weir, 2009) for more detail explanation. The solution of (1.1) consists of a set of selected pairings which cover all flights in the schedule. The selected pairings will be assigned to crews, and the assignment yields crew schedules for www.ceser.in/ceserp www.ceserp.com/cp-jour www.ceserpublications.com
International Journal of Applied Mathematics and Statistics
a period of time. Typically, the crew schedules are constructed under an assumption that each flight in the schedule will be operated as planned. But in day-to-day operations, several factors, like bad weather conditions, equipment failure, or high aircraft traffic, could disrupt the planned schedule operations. The disruption could induce some crew problems. For example, if one flight is delayed, the delay will reduce the connecting time between the delayed flight and the next flight in a planned crew schedule. If the new connecting time is less than the minimum required connecting time, the crew will be unable to serve the next flight on time. To serve the planned schedule by the original crew, delaying the next flight should be decided by the airline. Another crew problems due to a disruption are rest problem, duty problem, unassigned problem, see Abdelghany et al. (Abdelghany, Ekollu, Narasimhan and Abdelghany, 2004) for more discussion. Disruptions on schedule operations could induce flight delays. In worse cases, disruptions might cause flight cancelations. These happen if the airline can not recover schedule disruptions. To avoid serious impact due to schedule disruptions such as many flight delays and flight cancelations, the airline should perform recovery actions to re-schedule crew assignments in short period of time. Recovery is a process to respond disruptions in a schedule. The expensive recovery actions like ferrying an aircraft will increase airline operating cost. The optimal recovery actions to re-schedule crew assignments should be decided by airline in order to minimize additional operating cost due to flight delays. The optimization problem for finding the optimal crew recovery actions is known as crew recovery problem. In this paper, we model a crew recovery problem as an integer optimization model. A crew recovery problem is a large-scale and NP-hard problem. This condition made the optimal recovery solution of the recovery problem is hard to determined. Since the recovery problem should be solve in short period of time, several heuristic approaches have been proposed by a number of authors in order to get efficient solution methods. A multi-commodity integer network flow was proposed by Wei (Wei, Yu and Song, 1997). An heuristic base search algorithm was developed to repair crew pairings. Lettovsky et al. (Lettovsky, Johnson and Nemhauser, 2000) derived an integer programming model of small scale of a crew recovery problem. The primaldual approaches were used to solve the model. Yu et al. (Yu, Arguello, Song, MC Cowan and White, 2003) constructed a recovery model similar with (Lettovsky et al., 2000) where different types of aircrafts was considered. The decision support tool for a crew recovery process was developed by Abdelghany et al. (Abdelghany et al., 2004). A sequence of optimization assignment problems was solved in chronological order. Stojkovic and Soumis (Stojkovic and Soumis, 2001) presented an integer nonlinear multi-commodity flow model for the operational pilot scheduling problem. A dantzig-Wolfe decomposition combined with a branch-and-bound method has been used to solve the problem. To reduce computation time of the recovery algorithm, Johson et al (Johson, Kleywegt and Nemhauser, 2005) proposed a search scheme to identify the disrupted crews and build a compact storage for generating columns. Merdard and Sawhney (Medard and Sawhney, 2007)proposed an efficient way to solve crew problem on the day of operations by using column generation and shortest-path algorithms. Chang
138
International Journal of Applied Mathematics and Statistics
(Chang, 2012) developed a duty based approach for solving air crew recovery problem. Genetic algorithm was implemented to reach the optimal revised schedule in a short period of time. The contribution of this research is not only on an optimization model, but also it contributes on the method to solve the recovery problem. We propose two-stage approach for solving an airline crew recovery problem. First, we generate all possible paths for each crew after identify active flights. We consider the possibility of crew swapping before solve the optimization model. If the crew swapping is possible, we perform the swapping by changing the assignments between two crews. Otherwise, we re-schedule the assignment of all crews by implementing an heuristic algorithm for constructing crew schedules. The algorithm works iteratively based on random search. Some criteria functions are derived to control the solution. Some parameters are defined to obtain the best solution in short time. We test our method to an airline schedules. The computational results of the test data show that our solution method work effectively. The paper is organize as follows. We describe the problem description in Section 2. The mathematical model of an airline crew recovery problem is presented in Section 3. Section 4 gives the solution method for solving the problem. Section 5 shows the computational results of applying our method to an airline schedule data. We brief the conclusion and further work in Section 6.
2
Problem Description
The first stage of an airline crew scheduling problem is a crew pairing problem. The problem is solved by generating pairings, and then we select a set of pairings with the lowest cost which cover all flights in the schedule. A number of restrictions defined by FAA regulations and airline crew working rules should be fulfilled when generate the pairings. A pairing can last one day or more, and it can be considered as a set of duties where two consecutive duties separated by a rest period. A duty is a set of consecutive flights that is started by a briefing and finished by a debriefing. There is a minimum length of the rest period that be required. The length of a duty is limited by the maximum flight duty time (FDT). Figure 1 illustrates an example of a pairing which contains two duties. Flight 1, flight 2, and flight 3 include in the first duty of the pairing while flight 4 and flight 5 include in the second duty.
Figure 1: An example of a pairing.
In one day, a crew flies for maximum 8 hours. There are minimum connecting time required 139
International Journal of Applied Mathematics and Statistics
between two consecutive flights in a duty, which is called as the connecting time. The length of the connection times are vary depending on the connecting airports. A pairing must begin and end in a specific airport which called as a crew base. There is also a limit time between the beginning of the pairing and the ending of the pairing. For more explanation of the legality rules for constructing a pairing can be obtained in (Abdelghany et al., 2004). We define an illegal pairing as a pairing that violates the pairing rules. The illegal pairings can not be include in a crew schedule. A flight delay can disrupt the crew schedules and then it affects a legal pairing to become an illegal pairing. Due to the disruption, some crew problems might occur. For example, assume that the connecting time between flight 2 and flight 3 of Fig. 1 is the same with the the minimum required connecting time. Due to a bad weather condition, flight 2 is delayed. Without any action, the delay causes the new connecting time between flight 2 and flight 3 is less than the minimum required connecting time. If the airline decides that the original crew is still assigned to serve duty 1, then the flight 3 must be delayed. But this delay might cause other crew problems. The first possible problem is that the new FDT # 1 will be larger than the maximum FDT. For this case, the original crew would not be able to fly flight 3, and the new crew should be assigned to serve flight 3. The second problem is the rest period between duty 1 and duty 2 might violate the minimum required rest period. If it happens, flight 4 must be delayed. To solve the problems, the airline should repair illegal pairings and decide the optimal recovery actions to cover disrupted flights. A recovery action is an action decided by an airline to solve the schedule operating problems due to a schedule disruption. Several possible recovery actions to re-schedule crew assignments due to a flight delay may be considered. The airline might delay some flights to solve the connecting problems. A crew can be deadhead to cover an flight on other airport or to return the crew to the crew base, some crew can exchange their assignments to avoid a number of delayed flights. A process to exchange the flight assignments between two crews is called as a crew swapping. In special case, a flight might be canceled since there is no connecting crew whose available to serve the flight. In the delay problem described above paragraph, the recovery actions are delaying and crew swapping. Suppose that the planned crew schedules are given and a flight delay occurs. The objective of airline crew recovery problem is to re-schedule assignment of crews such that the total cost of the re-schedule is minimum. We assume that: 1. We have flight schedules which all flights in the schedules can be served by one-day pairings; 2. The aircraft are always available to serve the flights; 3. We allow any flight cancellation for uncover flights. Based on the assumptions, we then are able to perform crew swapping, flight cancellation, and deadheads as the recovery actions.
140
International Journal of Applied Mathematics and Statistics
3
Mathematical Model
In this section, we derive a mathematical model of airline crew recovery problem in which the recovery actions that can be performed are mention in the previous section.
3.1
Parameters
Let F and C be a set of flights and a set of crews, respectively. For each f ∈ F and k ∈ C, let: • depf and arrf be the departure and the arrival of flight f , respectively, • deptf and arrtf be the departure time and the arrival time flight f , respectively, • deptf and arrtf be the new departure time and the new arrival time of f , respectively, • F Tf = arrtf − deptf be the flight time of flight f , • Fk be a set of flights which is planned to be served by crew k. • Pk be a set of feasible paths of crew k. Let s ∈ F be a flight which experiences a delay, and SR be the start time of recovery process. Then SR = depts . A set of active flights of crew k, defined by AFk = {f ∈ Fk : deptf ≥ arrts , is a set of flights which possible to be assigned to crew k in recovery process. For each crew k ∈ C, we can identify the ready time and the ready position of the crews in recovery system. The ready time of crew k, denoted by RTk , is the time where the crew can start to fly. While the ready position of crew k, denoted by RPk , is the start position of crew k for serving a flight. So, we have RTk = max{SR, arrtr + M C}, where r is the last flight in Fk \AFk and M C is the minimum crew connecting time, and RPk = arrr . Let M AXF T be the maximum of total flight times that can be assigned to a crew in a day, and M AXF DT be the maximum length of time that a duty can be served by a crew in a day. The value of M AXF T and M AXF DT are constant and the same for all crews. When the recovery process is began, the remaining total flight time of crew k ∈ C is calculated by RF Tk = M AXF T − i∈Fk \AFk F Ti . Let brf be the briefing period before the first flight of a
duty. We calculate a duty limit of crew k ∈ C by DLk = M AXF DT − (arrtn − deptm − brf ), where m and n are the first flight and the last flight in (F k\AF k).
A sequence of flights {f1 , ..., fn }, where fj ∈ AF , j = 1, ..., n, and AF is a set of all active flights, is a feasible path of crew k ∈ C in recovery process, if it satisfies the following conditions: 1. depf1 = RPk and arrfn = crew base; 2. arrfi = depfi+1 , for i = 1, ..., (n − 1); 3. i F Ti ≤ RF Tk and arrtfn −deptf1 +dbr ≤ DLk ,
deptfi+1 −arrtfi ≥ M C, for i = 1, ..., (n−1); 4.
where i = 1, ..., n and dbr is the debriefing period after the last flight in a duty. Figure 2 illustrates an example of planned schedules where there are three crews with their flight assignments. Assume that in schedule operation, flight 6 is delayed. So, we have F = 141
International Journal of Applied Mathematics and Statistics
{1, 2, ..., 13}, AF1 = {3, 4}, AF2 = {7, 8, 9}, and AF3 = {12, 13}. Let M C = 35 minutes, for each crew, we also have RT1 =11:30, RT2 =13:45, RT3 =13:35, and RP1 = RP2 = RP3 = CGK, where CGK is the crew base. Assume that the remaining total flight time and the remaining flight duty time for each crew does not exceed the maximum M AXF T and M AXF DT , we obtain that the feasible paths of each crew are: P1 = {{3, 4}, {7, 8, 9}, {12, 13}}, P2 = {{3, 4}, {12, 13}}, and P3 = {{3, 4}, {12, 13}}. For this case, there are two possibilities of crew swapping. The first possibility of a crew swapping is between crew 1 and crew 2 where crew 1 is assigned to {7, 8, 9} and crew 2 is assigned to {3, 4}. The second one is a crew swapping between crew 2 and crew 3 where crew 2 is assigned to {12, 13} and crew 3 is assigned to {7, 8, 9}.
Figure 2: An example of a schedule disruption. Let ckp be the cost for assigning crew k to a path p ∈ Pk . Let df , and ef be the cost for deadheading and canceling flight f , respectively. In our recovery system, during re-scheduling a crew might be no assigned path. Let gk be cost of no assigned path to crew k. We define parameters af p = 1 if flight f is covered by path p, and af p = 0 otherwise. In the following subsection, we derive mathematical expression of crew recovery problem.
3.2
Crew Recovery Model
We define variables of the crew recovery model as follow: 1, if path p is assigned to crew k; xkp = 0, otherwise. 1, if flight f is canceled; = yf 0, otherwise. 1, if crew k is not assigned to a path; = zk 0, otherwise. Mathematically, the crew recovery problem can be formulated as the following integer optimization problem. 142
International Journal of Applied Mathematics and Statistics
Minimize:
ckp xkp +
k∈C p∈Pk
f ∈AF
Subject to:
⎛ df ⎝
⎞ ckp xkp + yf − 1⎠ +
e f yf +
f ∈AF
k∈C p∈Pk
g k zk ,
(3.1)
k∈C
ckp xkp + yf ≥ 1, ∀f ∈ AF,
(3.2)
xkp + zk = 1, ∀k ∈ C,
(3.3)
k∈C p∈Pk
p∈Pk
xkp , yf , zk ∈ {0, 1}, ∀p ∈ Pk , ∀f ∈ AF, ∀k ∈ C.
(3.4)
The objective function (3.1) is to minimize total recovery cost. The cost consists of crew assignment cost, deadheading cost, cancellation cost, and cost of returning crew to the crew base. Constraints (3.2) ensure that all flights are operated or canceled. Constrains (3.3) state that each crew is assigned to a feasible path or to deadhead the crew to the crew base. Constrains (3.4) ensure that the decision variables are binary. Now, the problem in crew recovery can be considered as the problem to assign a set of feasible paths to the crews such that the total recovery cost is minimum.
4
The Solution Method
The numerous number of feasible paths induced by a flight delay make the problem (3.1)(3.4) hard to be solved by any exact method. In this paper, we solve the problem (3.1)-(3.4) heuristically. First, we identify the possibility of crew swapping. The swapping is quite easy to be implemented because we only need to change the assignment between two crews and we keep the assignment of the others crews, but for some cases, swapping can not be performed. In that case, we propose other algorithm for re-scheduling crews. The algorithm is inspired by an heuristic algorithm for solving crew pairing problem proposed in Novianingsih et al. (Novianingsih, Hadianti, Uttunggadewa and Soewono, 2014) and an heuristic algorithm for solving set covering problem proposed by Lan et al. (Lan, DePuy and Whitehouse, 2007). The algorithm consists of two main procedures in which the first procedure is aimed for finding a good feasible solution. This solution is then improved in the second procedure for obtaining better solution. We first propose the algorithm for swapping. Suppose that there is a flight delay. In the first step, we identify a set of candidate crews for swapping. Then, we choose a path of a candidate crew and a path of the disrupted crew with the lowest cost that will be exchanged. The disrupted crew is a crew who has a delayed flight in his pairing. For k ∈ C, let F Pkp be a set
of active flights which are covered by path p ∈ Pk . Assume that k ∗ is a disrupted crew. We 143
International Journal of Applied Mathematics and Statistics
identify candidate crews for swapping as CS = {k ∈ C, k = k ∗ : ∃q ∈ Pk F Pkq ∩ AFk∗ = ∅}.
The crew swapping between crew k ∗ and crew r ∈ CS is possible to be performed if there are p ∈ Pk∗ and q ∈ Pr such that F Pkp∗ ∪ F Prq = AFk∗ ∪ AFr . If F Pkp∗ ∩ F Prq = ∅, the swapping will
be done without deadhead. Otherwise, deadhead will include in the crew swapping. If CS = ∅, this means that there is no candidate crew for swapping. The following procedure is used when CS = ∅, or in other word, we can perform it for swapping process.
Swapping Procedure Step 1 Set j ← 1, b ← ∞, f ← 1, and SW ← ∅. Step 2 Find P Sj = {(p, q) : p ∈ Pk∗ , q ∈ Pj , F Pkp∗ ∪ F Prq = AFk∗ ∪ AFr and F Pkp∗ ∩ F Prq = ∅}.
Step 3 If P Sj = ∅, go to step 4. Otherwise,
3.1 Find (s, t) ∈ P Sj such that ck∗ s + cjt = min{ck∗ v + cju : (u, v) ∈ P Sj }. 3.2 If ck∗ s + cjt < b then SW ← (s, t), f ← j and b ← ck∗ s + cj t. Step 4 Set j ← j + 1. Step 5 If j > |CS|, stop. Then go to step 6. Otherwise, go to step 2. Step 6 Assign t to crew k ∗ and assign s to crew f . Step 7 Stop. If there is no candidate crews for swapping, then we can solve the problem by the following procedures. First, a feasible solution which consists a set of paths that cover all active flights is constructed. Then we calculate cost of the solution according the objective value of the recovery model. For obtaining the better solution, we generate a new solution from the old solution by changing a number of elements in the old solution. Solution with least cost will be maintained. Let S be a vector of |C| elements where the i-th element of S represents a path that is assigned to crew i. We set the element by zero if no path which is assigned to crew i. Iteratively, we will improve the elements of S so that we obtain a better objective value. In order to find a good feasible solution S, we perform the first procedure which we call as the Constructing Feasible Solution (CFS) Procedure. Let U be a set of uncover flights, that is a set of active flights which are not assigned to a crew. A feasible solution S can be obtained easily by covering the uncover flights U . But to find a good cover, we induce a function fk (p) which represents how well a path p ∈ Pk can be assigned to crew k ∈ C. The function fk (p) is defined as fk (p) =
ckp + d f tf , |U ∩ Fp | f ∈AF
where Fp is a set of active flights which are covered by path p, and tf is the number of deadheading flights f if path p will be selected as the solution in the next iteration. In fk (p) we only consider two components of costs, i.e crew assigning cost and deadheading cost. We assume that these two components are principles in covering the uncover flights rather than the others two components of costs (cancelation flights and cancelation crew assignment). The smaller 144
International Journal of Applied Mathematics and Statistics
fk (p) is the better assignment of path p to crew k. In CFS Procedure, we construct CPk as a set of candidate paths that to be assigned to crew k. Then we choose one element of CPk randomly to be assigned to crew k. But, we realize that a feasible solution with minimum value of fk (p) can be different with a feasible solution with minimum value of the objective function (3.1). Then we define two threshold parameters, i.e pr and re, for capturing this fact in constructing CPk . The parameter pr defines the percentage of paths in Pk with the smallest fk (p) will be added in CPk . The remaining value (i.e 100 pr) defines the percentage of paths in Pk with a tolerance value no more than the percentage in re of the smallest fk (p) will be added in CPk . So, we have two sets of CPk , that are CPk = {j ∈ Pk : fk (j) = min{fk (p) : p ∈ Pk }},
(4.1)
CPk = {j ∈ Pk : fk (j) ≤ (1 + re). min{fk (p) : p ∈ Pk }}.
(4.2)
and For example, if we set pr = 30 then the probability of choosing one path in the first set is 0.3. The remaining 0.7 defines the probability one path in the second set of CPk will be selected. Let wf be a number of paths that cover active flight f in S. The following paragraph present the complete step in CFS Procedure. CFS Procedure Initialization: Set U ← AF , S = 0, zk ← 1 for all k ∈ C, wf ← 0, yf ← 1 for all f ∈ AF , and xkp ← 0 for all p ∈ Pk . Step 1 Set k ← 1, Step 2 If S(k)=0, 2.1 If Pk = ∅, calculate score fk (p) for all p ∈ Pk . Otherwise go to step 3. 2.2 Generate a random number Q = rand(1, 100). 2.3 If Q < pr, construct CPk in (4.1). Otherwise, construct CPk in (4.2). 2.4 Choose one path j in CPk randomly. 2.5 Set S(k) = j, U ← (U − Fj ), xkj ← 1, zj ← 0, yf ← 0 and wf = wf + 1, for all f Fj . 2.6 If U = ∅, stop. Otherwise set k ← k + 1, then go to step 2. Otherwise, set k ← k + 1. Step 3 If k > |C|, stop. Otherwise go to step 2. The above procedure produces a solution S which consists of a set of paths that are assigned to crews. Since we want to minimize the total assigned cost for all crews according to (3.1), we calculate the total cost of the solution S by the following formula: ckp xkp + df (wf + yf − 1) + e f yf + g k zk . Z(S) = kC p∈Pk
f ∈AF
f ∈AF
k∈C
Notice that the feasible solution obtained from the CFS Procedure is not guaranteed to have the minimum value of the objective function (3.1). Then, the solution resulted by the first procedure will be improved by the second procedure that we call as Improvement Procedure. First, 145
International Journal of Applied Mathematics and Statistics
a number of paths in S are randomly removed. We define parameter mo which represents percentage of paths in S that will be deleted. The number of removed paths in S are determined by |S|.mo. After we identify the uncover flights, we execute the first procedure again to obtain a new feasible solution S. If we have Z(S) > Z(S), we update the previous solution S by the current solution S. Otherwise, we keep the incumbent solution S. We repeat to run the procedure until the maximum number of iteration (we use a parameter maxiter). Improvement Procedure Step 1 Set l ← 1. Step 2 Randomly remove |S|.mo elements of S. Let we call them as D. Step 3 For all d ∈ D, set S(d) ← 0, xdS(d) ← 0 , zd ← 0 and yt ← 1, wt ← (wt − 1) for all t ∈ FS(d) . Step 4 Find U = {f ∈ AF : wf = 0}. Step 5 If U = ∅, go to step 6. Otherwise set k ← D(1) and go to step 2 of CFS procedure. Step 6 Calculate the new objective value z ∗ . If z < z ∗ , keep the old solution. Otherwise, set z ← z ∗ , and update S, zi , wf , yf and xip . Step 7 Set l ← l + 1. Step 8 If l > maxiter, stop. Otherwise, go to step 2. Finally, we brief a solution method for solving an airline crew recovery problem in as follow: Input: The planned crew schedule and a flight delay Output: The new crew schedules. Algorithm: Recovery Procedure Step 1 Identify active flights. Step 2 For each crew, identify ready time of crew, duty limit, and crew position. Step 3 Find all possible paths for each crew and calculate cost for each possible path. Step 4 Identify the possibility of crew swapping by finding CS. If CS = ∅, run Swapping Procedure. Otherwise, go to step 6. Step 5 If SW = ∅, go to step 6. Otherwise, go to step 8. Step 6 Solve the problem (3.1)-(3.4) by running CFS Prosedure. Step 7 Run Improvement Procedure. Step 8 Stop.
5
Computational Results
We consider one-day flight schedule of an airline which consists of 214 flights. Those flights are covered by 48 pairings. The pairings are served by 48 group of crews where each pairing is assigned to one crew. We generate a number of single flight delays where the delay duration is vary for each flight delay. We run Recovery Procedure in Section 4 for re-schedule crew for each trial.
146
International Journal of Applied Mathematics and Statistics
Before we implement our method for solving recovery problem in our case study, we analyze parameters of the CFS Procedure and the Improvement Procedure. The value of parameters will affect to the running times and the quality of the solution. By testing the algorithm on a number of recovery problems, we learned that the best value of the parameter setting for the algorithms are pr = 3040, re = 40 − 60, mo = 50 − 60, and maxiter ≥ 10000. We apply the Recovery Procedure for solving recovery problem for each delay trial. For each trial, we execute two version algorithms: one is the complete Recovery Procedure and two is the Recovery Procedure without swapping (step 4). We set the parameters of the Recovery Procedure as pr = 40, re = 40, mo = 50, and maxiter = 15000. We record the computation time and the total cost for each trial, and we present in Table 1.
Trial
# Active
Table 1: Computational results for all delay trials. # Possible With swapping Without swapping
flights
paths
Running time (min.)
Cost
Running time (min.)
Cost
1
25
90
0.3
140
0.6
140
2
102
2705
1.1
461
1.9
462
3
35
82
0.2
187
0.4
187
4
201
4512
1.1
692
2.9
692
5
50
375
1.5
251
0.9
251
6
76
1005
0.4
374
1.2
376
7
106
2998
0.7
506
2.0
506
8
85
1022
0.4
378
1.2
378
9
8
15
0.5
103
0.2
103
10
181
3104
0.8
690
2.1
690
11
65
331
1.5
260
0.9
260
12
38
406
0.3
165
1.0
165
13
142
2887
0.6
523
2.0
523
14
22
26
1.2
142
0.3
142
15
60
893
0.4
263
1.1
263
16
144
3580
0.9
611
2.4
611
17
18
8
0.5
159
0.2
159
18
98
1568
0.4
488
1.3
488
19
79
201
1.4
320
0.8
320
20
136
2302
0.5
525
1.6
525
21
187
1903
0.5
670
1.4
671
22
156
3227
0.9
684
2.2
684
23
115
3001
0.8
498
2.0
498
24
90
2554
0.5
407
1.8
407
25
200
4026
1.0
722
2.8
722
In Table 1, there are some cases where the candidate crews for swapping are not found (Trial 147
International Journal of Applied Mathematics and Statistics
5,9,11,14,17,19). In these cases, we experienced that the computation times of the Recovery Procedure with swapping are bigger than the RRecovery Procedure without swapping. But, in the remaining cases where there are the candidate crews for swapping, the computation times of Recovery Procedure with swapping are smaller than the other procedure. This shows that in general, the swapping process will reduce computation time of recovery crew. If we consider the computation time on Table 1 in the last second column, we can show that the number of feasible paths in recovery process are linear to the computation time for re-scheduling crews. These facts show that we may assume that our solution method can construct a new crew schedule in polynomial time. The costs in Column 5 and Column 7 of Table 1 are the total cost for re-assigning all active flights to crews. According Table 1, we observe that for the trials where there is no candidate crews for swapping, the total cost for re-scheduling crews resulted by the Recovery Procedure with swapping is always the same with the total cost for re-scheduling crew resulted by the Recovery Procedure without swapping. For the others trials, we can see that although we do not always obtain the same costs, but the difference of the total costs is very small. Moreover, the Recovery Procedure with swapping never give the higher costs than the other. Finally, we conclude that although the existence of swapping is not always be found, the swapping is important to performed as the first procedure in recovery process.
6
Conclusion and Further Research
This paper study an optimization model for an airline crew recovery problem in which some recovery actions can be performed. We propose an heuristic method for solving the problem. The method consists of tree procedures: swapping, feasible solution construction, and improvement. We put the swapping procedure as the first procedure to be performed since the swapping can solve the problem efficiently. If it is not possible, we then proceed to the other procedures. According the test data, we conclude that the method can work efficiently. In our future research, we will focus on the crew recovery problem which include the possibility for delaying active flights by deriving a re-timing model for a crew recovery problem.
Acknowledgment This research was founded by Riset Desentralisasi ITB 2013 No.122.79/AL.J/DIPA/PN/SPK/2013. We thank Garuda Indonesia Airline for supporting the data.
References Abdelghany, A., Ekollu, G., Narasimhan, R. and Abdelghany, K. 2004. A proactive crew recovery decision support tool for commercial airline during irreguler operations, Annals of Operation Research 127: 309–331.
148
International Journal of Applied Mathematics and Statistics
AhmadBeygi, S., Cohn, A. and Weir, M. 2009. An integer programming approach to generating airline crew pairings, Computer and Operations Research 36: 1284–1298. Chang, S-. 2012 . A duty based approach in solving the aircrew recovery problem. Journal of Air Transport Management 19: 16–20. Johson, E. L, Kleywegt, A. J. and Nemhauser, G. L. 2005 . Airline crew scheduling under uncertainty. Transportation Science 39: 340–348. Lan, G., DePuy, G. W. and Whitehouse, G. E. 2007 . An efective and simple heuristic for set covering problem. European Journal of Operation Research 176: 1387–1403. Lettovsky, L., Johnson, E. L. and Nemhauser, G. L. 2000 . Airline crew recovery. Transportation Science 34: 337–348. Medard, C. P. and Sawhney, N. 2017 . Airline crew scheduling from planning to operations. European Journal of Operational Research 183: 1013–1027. Novianingsih, K., Hadianti, R., Uttunggadewa, S. and Soewono, E. 2014 .An heuristic algorithm for solving airline crew pairing problem, in preparation. Stojkovic, M. and Soumis, F. 2001 . An optimization model for simultaneous operational flight and pilot scheduling problem. Management Science 47: 1290–1305. Wei, G., Yu, G., and Song, M. 1997 . Optimization model and algorithm for crew management during airline irregular operations. Journal of Combinatorial Optimization 1: 305–321. Yu, G., Arguello, M., Song, G., MC Cowan, S. M. and White, A. 2003 . A new era for crew recovery at continental airlines. Interfaces 33: 5–22.
149