1. Home
  2. Archives
  3. Vol 45 (2013) Issue 3
  4. Articles

Optimization Model for an Airline Crew Rostering Problem: Case of Garuda Indonesia

Abstract

This paper discusses the cockpit crew rostering problem at Garuda Indonesia, taking into account a number of internal cockpit crew labor regulations. These internal labor regulations are in general more restrictive at Garuda Indonesia than at other airlines, so that modeling the cockpit crew rostering problem for Garuda Indonesia is challenging. We have derived mathematical expressions for the cockpit crew labor regulations and some technical matters. We model a non-linear integer programming for the rostering problem, using the average relative deviation of total flight time to the ideal flight time as the objective function. The optimization model have been tested for all classes of cockpit crews of Garuda Indonesia, using a simulated annealing method for solving the problem. We obtained satisfactory rosters for all crew members in a short amount of computing time. This shows that the optimization problem is well-defined.

Keywords

1 Introduction

We have considered a problem faced by Garuda Indonesia, the flag carrier of Indonesia, in expanding their business. Although global economic conditions are still unfavorable, the market for the airline industry in Indonesia is still expanding. Garuda Indonesia has responded to this conducive environment by expanding its fleet, increasing flight frequencies on specific routes and opening several new routes for both domestic and international flights.

A larger flight network leads to a more complex crew rostering problem. Rostering means assigning each cockpit crew pairing, which is an element of

Received March 8th, 2012, 1st Revision May 27th, 2013, 2nd Revision September 6th, 2013, Accepted for publication September 11th, 2013. Copyright © 2013 Published by ITB Journal Publisher, ISSN: 2337-5760, DOI: 10.5614/j.math.fund.sci.2013.45.3.2

&lt;sup>1</sup> A pairing is a sequence of flights starting and ending at the cockpit crew base.

the minimum set of pairings,2 to a group of cockpit crews in such a way that no labor regulations are violated when the cockpit crew runs their assignments. Over time, cockpit crew rostering in the airline industry has become a slightly cumbersome process, being carried out semi-manually by experienced staff members. This approach is surely inefficient and furthermore we may find unfair assignments to cockpit crew. A roster can give some cockpit crews a very tight schedule, while others get a much less tight schedule. The rostering needs to be carried out in such a way that it results in a relatively equal workload for each crew member in an efficient way.

The crew rostering problem at Garuda Indonesia is extra complex because of a number of internal crew labor regulations on the top of crew labor regulations issued by international, regional and national airline regulators. These internal regulations represent the wish of the cockpit crews to avoid exhausting assignments. It is clear that they are more restrictive than the other regulations, otherwise it would not have been necessary to issue them.

In our study we have developed an optimization model for the cockpit crew rostering problem at Garuda Indonesia. We have derived mathematical expressions for the cockpit crew labor regulations and a number of technical matters.3 Some are corrected expressions for similar constraints proposed by Lucic and Teodorovic [1]. Using the expressions from [1] may lead to errors in counting the working time of the cockpit crews (see fourth paragraph of Section 3 for details) that result in incompact rosters. Moreover, in the case of a rostering problem where the number of cockpit crews is very restricted, the use of the expressions from [1] leads to an infeasible problem. The expressions become the constraints of the optimization model. We have used the average relative deviation of the monthly flight time from the average ideal monthly flight time as the objective function. We think that minimization of this objective function, while respecting all other constraints, will result in a roster in which the workloads of the cockpit crews are relatively equal.

An enormous amount of papers on airline crew rostering problems has been published. Studies by Chang [2], Gamache, et al. [3], Kovari [4], Lederer and Nambimadom [5], Medard and Sawhney [6], Vance, et al. [7], Yan and Tu [8] are concerned with the modeling of airline crew rostering problems. Many solution methods for crew rostering problems have been proposed, for example in AhmadBeygi, et al. [9], Barnhart, et al. [10], Deng and Lin [11], Goumopoulos and Housos [12], Gamache [13], Hoffman and Padberg, [14].

The minimum set of pairings covers all flights in the schedule and is constructed by solving the crewpairing problem.

The presence of internal labor regulations creates more constraints in the present optimization model than there are in cockpit crew rostering models from other studies.

Like we have done in this paper, most of them construct the roster in two stages: first solve the crew-pairing problem and then solve the crew rostering problem. A new approach where the crew pairing problem and the crew rostering problem are solved simultaneously has been proposed in Souai and Teghem [15].

We still rely on the two-stage approach because we have developed an efficient algorithm for constructing the minimum set of crew pairings in a short amount of time. The second reason is, as stated before, that Garuda Indonesia has a number of internal crew labor regulations which are very restricting so that deriving mathematical expressions for these regulations is very challenging. The derivation of the proper mathematical expressions (and the optimization problem as a whole) is the subject of this paper. We need to ensure that the mathematical expressions result in a satisfactory roster before we proceed to the process of simultaneously constructing crew pairings and crew roster.

We can apply the simulated annealing method as proposed in [1] for solving the optimization. An initial feasible solution for the simulated annealing method can be obtained by applying a pairing-by-pairing algorithm that mimics the pilot-by-pilot method from [1], whereby we exchange the position of the pairings and the cockpit crews from the pilot-by-pilot method. We have applied the pairing-by-pairing method and the simulated annealing method to all classes of cockpit crews of Garuda Indonesia and obtained satisfactory rosters in a short amount of time. We checked that all cockpit crew labor regulations were satisfied, so that we can say that our optimization model is well-defined and ready for application in day-to-day operation by the airline.

This paper is organized as follows. After this introduction, in Section 2, we present the labor regulations whose mathematical expressions are part of the constraints of the optimization problem. The mathematical model will be presented in Section 3. In Section 4 we present the pairing-by-pairing method that was used for determining feasible pairings. In Section 5, we present the implementation of the optimization model to a class of cockpit crew, including the numerical results. This paper ends with the conclusion in Section 6. The nomenclature is given in Section 7.

2 Cockpit Crew Labor Regulations

Altogether, the cockpit crew regulations of Garuda Indonesia can be classified as the regulations for one day, two days, three days, seven days, one month, three months, and one year of working time; regulations for two consecutive pairings run by the same crew; and regulations for medical examinations, training, and annual leave. The regulations for one day and two days of working

time have been considered in the construction of crew pairings. In the following we only consider the remaining regulations, for which the mathematical expressions are presented in Section 3.

a. Flight time

If an airline has a number of aircrafts with different licenses for flying them, we have a number of classes of crews, consisting of the crews with the same license. The maximum cumulative flight time during a time period depends on the class of crew. For example, for one class of crew the maximum cumulative flight time can be 24 hours for every consecutive three calendar days, 30 hours for every seven consecutive days, 110 hours for every calendar month, 300 hours for every three calendar months, and 1050 hours for one calendar year.

b. Days off

(i) One day off will be given to a cockpit crew following six consecutive days of assignment. Every cockpit crew has a number of days off after assignment to a pairing which takes the cockpit crew 'away from base' (AFB). The amount of days off is described in Table 1.

Table 1 Number of days off according to length of AFB.

Length of
AFB (days)
Minimum Days
Off (days)
Length of
AFB (days)
Minimum Days
Off (days)
5213 - 156
6 – 8316 - 187
9 – 10419 - 208
11 – 125

(ii) One or more days off will be given to a cockpit crew after attending a training, course, seminar or activity other than flight duty. The amount of days off depends on the length of the activity, as described in Table 2.

Table 2 Number of days off according to length of activity.

Length of Activity (days)Days Off (days)
3 - 61
7 - 142
15 - 223
23 - 305
> 307

(iii)Every cockpit crew has a minimum of (in total) eight days off in one calendar month.

c. Rest Period

A minimum rest period of nine hours will be given to a crew member who has finished performing an assignment prior to the next assignment. This rest period is calculated from 180 minutes after the end of the last assignment. In total, this type of rest period takes 15 hours and is called 'lay over time'. A minimum rest period of 18 hours will also be given if during a 72-hour period a cockpit crew has reached 24 flight hours or more.

These regulations are some of the internal regulations we have mentioned before.

d. Annual Leave

Every cockpit crew is entitled to annual leave, whereby its length depends on the aggregate working period at the airline.

e. Training

Every cockpit crew has to attend training twice in every calendar year. The length of the training is five days in one calendar year.

f. Medical Examination

Every cockpit crew has to attend a one-day medical examination once in every six calendar months.

3 Mathematical Model

In this section, we derive an optimization model for the cockpit crew rostering problem at Garuda Indonesia. The constraints of the optimization model are a representation of the labor regulations that have been described in the previous section and some technical constraints. We assume that the number of cockpit crews is sufficient for running the flight schedule. Later in this section we discuss how to choose the objective function that represents a measure of fairness for all cockpit crews.

We assume that each cockpit crew member always works with the same group of cockpit crew members. We also assume that each cockpit crew member in the same group has the same schedule for training, medical examination, and annual leave. Relaxation of these assumptions will not change the optimization model, but in the more general model we have to consider individual cockpit crew members instead of groups of cockpit crew members. For brevity, we call a group of cockpit crew members as a cockpit crew.

Given the minimum set of cockpit crew pairings and the set of cockpit crews, with cardinality n and m, respectively, we assume that there are DM days in the month to consider. We define the decision variable ,which has value 1 if pairing i is served by cockpit crew j, and 0 otherwise. We define some parameters, listed in Section 7 (Nomenclature). For readability, we also define the following functions of some constraints.

For i = 1, ..., n and j = 1, ..., m, define

\[nt_{i}(j) = t_{i} - \sum_{i_{1}=i+1}^{n} x_{i_{1},j} \ p_{i,i_{1}}\] (1)

The value of \(nt_i(j)\) counts the number of working days that cockpit crew j takes if it is assigned to pairing i, excluding the (possible) overlapping working day due to assignment to another pairing. As an illustration, suppose that cockpit crew j is assigned to pairing 1, which starts on day 1 and ends on day 2; and pairing 4, which starts on day 2 and ends on day 5. Both pairings overlap on day 2. We get \(nt_i(j) = 2 - 1 = 1\). The number of working days on day 2 is calculated in \(nt_4(j)\) where its value can be established once we know the other pairings assigned to cockpit crew j. With this function, we can avoid the double counting-error regarding working day 2 that we found in [1]. This parameter will be used later for calculating the (net) number of working days of the cockpit crews.

In order to obtain a feasible roster, the following constraints must be satisfied.

a. Each pairing must be served by exactly one cockpit crew

For \[i = 1, ..., n\]

\[\sum_{i=1}^{m} x_{i,j} = 1. (2)\]

b. No-overlap constraint between two pairings assigned to one cockpit crew

For \[i = 1, ..., (n - 1)\] and \(j = 1, ..., m\),

\[x_{i,j} \sum_{i,j=i+1}^{n} x_{i,j} s_{i,i_1} = 0.\] (3)

c. For each cockpit crew, the accumulative flight time during a certain time period may not exceed the maximum accumulative flight time

For \[j = 1, ..., m\] and \(d = 1, ..., DM\),

\[\sum_{i=1}^{n} x_{i,j} \sum_{l=d}^{d+6} ft_{i,l} \le M_1.\] (4)

\[\sum_{i=1}^{n} ft_i x_{i,j} \le M_2. \tag{5}\]

\[\sum_{i=1}^{n} ft_i x_{i,j} \le M_2. \tag{6}\]

\[\sum_{i=1}^{n} ft_i x_{i,j} \le M_4 - aft_{j,y}. \tag{7}\]

Constraint (4) expresses the flight time limitation on seven consecutive days, constraint (5) expresses the monthly flight time limitation, while (6) and (7) ensure that the assignment in the month under consideration will not violate flight time limitations in three consecutive calendar months and in one calendar year, respectively.

d. One day off after an assignment in the last six consecutive working days

For j = 1, ..., m, and d = 1, ..., DM - 6,

\[\sum_{i=1}^{n} x_{i,j} \sum_{l=d}^{d+6} q_{i,l} \min \{ nt_i(j), p+6-(l-1) \} \le 6.\] (8)

This expression is a correction of a similar constraint in [1], which for the Garuda Indonesia case will be given by:

\[\sum_{i=1}^{n} x_{i,j} \sum_{l=d}^{d+6} q_{i,l} \ t_{j} \le 6.\] (9)

We use \(min \{nt_i(j), p + 6 - (l - 1)\}\) instead of \(t_j\), for the following two reasons. Firstly, the use of \(t_j\) will lead to a double-counting error in the calculating process of the cockpit crews' working days. This can occur on a certain day when a cockpit crew is assigned to two different pairings on that same day, as illustrated in the example right after the definition of \(nt_i(j)\). Secondly, we need to use the minimum of \(nt_i(j)\) and the number of days to go to the end of the time period under consideration as the net number of working days cockpit crew j takes if it carries out pairing i.

e. Minimum of eight days off in one month

For \[j=1,\ldots,m\],

\[\sum_{i=1}^{n} x_{i,j} \, nt_i(j) \le DM - 8. \tag{10}\]

Note that the function \(nt_i(j)\) is used in the expression above for the reason explained in (d).

f. 18 hours of rest time after a minimum of 24 flying hours in three consecutive days

For j = 1, ..., m and d = 1, ..., DM - 2,

\[\left(\sum_{i=1}^{n} x_{i,j} \sum_{l=d}^{d+2} ft_{i,l} - 24\right) \left(\sum_{i=1}^{n} \sum_{i_1 \in J_d}^{n} x_{i_1,j} (q_{i,(d+3)} - 1)(w_{i,i_1} - 1)\right) \ge 0,\] (11)

where \(J_d\) is the set of pairings that starts on day d+3 or later. For j=1,...,m, the first term of the left-hand side of (11) has a non-negative value if during three consecutive days starting on day d, the cockpit crew j each have an accumulative flight time of more than 24 hours. If this is the case, we have to make sure that they take a minimum of 18 hours rest time. Since the maximal flight time in one day is nine hours, they had a maximum of 18 hours flight time on days 1 and 2, therefore on the third day the cockpit crews have flown at least six hours. Taking the minimum 18 hours of rest time means that the next pairing assigned to them will start on the fourth day. This is why in the second term of the left-hand side of (11) we only consider the pairings that start on the fourth day, which is denoted by \(J_d\).

g. Each cockpit crew gets \(l_{d_1}\) days off after assignment to a long AFB pairing

For i = 1, ..., n, and j = 1, ..., m

\[x_{i,j}to_{i,d_1}\sum_{l=1}^{DM}q_{i,l}\sum_{i_1=i+1}^{n}\sum_{l_1=d_1}^{d_1+l_{d_1}-1}q_{i,l+l_1}x_{i_1,j}=0,\] (12)

where \(d_1\) is the length of the AFB pairing. Its value and the length of the days off following the pairing are described in Table 1.

\[x_{i,j}to_{i,d_1} \sum_{l=1}^{DM} q_{i,l} \sum_{l_{1=1}}^{d_1+l_{d_1}-1} me_{j,l+l_1} = 0,\] (13)

\[x_{i,j}to_{i,d_1} \sum_{l=1}^{DM} q_{i,l} \sum_{l=1}^{d_1+l_{d_1}-1} tr_{j,l+l_1} = 0.\] (14)

h. Each cockpit crew gets \(L_{d_2}\) day-off after attending training, courses, seminars or activities other than flight duty

For \[j = 1, ..., m, l = 1, ..., DM\],

\[\left(\sum_{l_{1=l}}^{l+d_2-1} \left(me_{j,l} + tr_{j,l}\right) - d_2 + 1\right) \left(\sum_{i=1}^{n} \sum_{l_1=1}^{L_{d_2}} x_{i,j} \ q_{i,l+d_2+l_1}\right) \le 0, \quad (15)\] where \(d_2\) is the length of the activity.

i. No assignment on days of training

For i = 1, ..., n and j = 1, ..., m,

\[\sum_{l=1}^{DM} x_{i,j} \, tr_{j,l} c_{i,l} = 0. \tag{16}\]

j. No assignment on days of medical examination

For i = 1, ..., n and j = 1, ..., m,

\[\sum_{l=1}^{DM} x_{i,j} \, m e_{j,l} c_{i,l} = 0. \tag{17}\]

k. No assignment on days of annual leave

For i = 1, ..., n and j = 1, ..., m,

\[\sum_{l=1}^{DM} x_{i,j} \, al_{j,l} c_{i,l} = 0. \tag{18}\]

The input parameters \(tr_{j,l}, me_{j,l}\) and \(al_{j,l}\), for \(j=1,\ldots,m\), must satisfy the following conditions:

\[\sum_{l=1}^{DM} me_{j,l} \le me_j - ame_j, \tag{19}\]

\[\sum_{l=1}^{DM} tr_{j,l} \le tr_j - atr_j, \tag{20}\]

\[\sum_{l=1}^{DM} al_{j,l} \le al_j - aal_j, \tag{21}\]

\[\sum_{l=1}^{DM} me_{j,l} + tr_{j,l} + al_{j,l} = 1.\] (22)

Satisfaction of constraints (19), (20), and (21) means that a cockpit crew's planned medical examination, training and annual leave do not violate regulations. Constraint (22) ensures that in one day a cockpit crew can only be at a training or a medical examination or on annual leave. We can check the satisfaction of these constraints before we proceed to solve the optimization model that will be presented in the following, to that ensure we have proper input for the optimization model.

The ideal average monthly flight time of each cockpit crew is

\[W = \frac{\sum_{i=1}^{n} ft_i}{m}.\] (23)

The average relative deviation of the monthly flight time from the ideal average flight time is then given by

\[D(\mathbf{x}) = \frac{\sum_{j=1}^{m} \left| \left( \sum_{i=1}^{n} f t_i x_{ij} - W \right) \right|}{m},\] (24)

where x is a vector with elements \(x_{i,j}\), i = 1, ..., n, j = 1, ..., m

The crew rostering problem can then be written as minimize \(D(\mathbf{x})\)

subject to (2) - (22),

\[x_{i,j} = 0 \text{ or } 1, i = 1, ..., n, j = 1, ..., m\] (25)

where \(D(\mathbf{x})\) is given in (24). Note that the deviation \(D(\mathbf{x})\) is only one of many measures of fairness among cockpit crews. We can choose other measures, such as the deviations proposed in [1], as the objective function without loss of generality. We can also choose the deviation and the crews' cost as the objective functions, so that the optimization model becomes a multi-objective optimization model.

4 Solution Method

The optimization problem (25) can be solved with several solution methods. We have used simulated annealing, because we think that heuristic methods are more efficient compared to exact methods and because simulated annealing is very easy to apply to our optimization problem.

Each iteration of the simulated annealing algorithm has to produce a feasible roster. For constructing a feasible roster, we use the pairing-by-pairing method as described in the following. This algorithm mimics the pilot-by-pilot method in [1], whereby we exchange the position of the pairings and the cockpit crews from the pilot-by-pilot method. We think the pairing-by-pairing method can be used to determine a feasible roster more efficiently compared to the pilot-bypilot method if the set of cockpit crew pairings is sorted with respect to the departure times from the earliest to the latest. We try to assign the first pairing to a certain cockpit crew that is available, then we try to assign the second pairing to another cockpit crew, and so on. With this approach, the sequence of pairings that is assigned to a certain cockpit crew will be a sequence of pairings sorted with respect to departure time. Therefore, when attempting to assign another pairing to the candidate cockpit crew, checking satisfaction of a number of constraints related to labor regulations on a certain number of consecutive days does not have to happen from the first day of the month, but only from a specific day prior to the last pairing that has been assigned to the candidate cockpit crew. The efficiency of our method comes from this process.

The pairing-by-pairing method comprises of the following steps:

Algorithm Pairing-by-Pairing

Step 1. k = 1.

Step 2. Assign pairing k to a specific cockpit crew randomly chosen from the list of cockpit crew except the cockpit crew assigned to pairing k-1, such that all constraints are satisfied.

Step 3. k = k + 1.

Step 4. If k > n, stop. Otherwise go to Step 2.

We can refer to [1] for a brief explanation of the application of simulated annealing for the optimization of rostering problems.

5 Numerical Results

We have tested the optimization problem for all classes of cockpit crews of Garuda Indonesia and obtained satisfactory rosters in a short amount of time. Here, we present the results of the application of our model to an Airbus 330 cockpit crew for the winter 2010 schedule. The rostering of this class of cockpit crew is challenging since most of the pairings are multi-day pairings. In the instant month, there are 287 cockpit crew pairings, one of them is a six-day pairing in which the cockpit crews assigned to such a pairing must have three days off after the assignment, and 21 of them are five-day pairings in which the cockpit crews assigned to such a pairing must have two days off after the assignment.

The total flight time of all pairings is 3012.5 hours. There are 43 cockpit crews to carry out all pairings. The ideal average monthly flight time is 70.05 hours, which is less than the maximum accumulative flight time for one month.

We are given the cockpit crew's plans for medical examination, training, annual leave and (mandatory) days off as described in Table 3, 4, and 5.

Table 3 Cockpit crew's plans for medical examination.

Crew
Number
Start Day of
Medical
Examination
Length of
Medical
Examination
8111
12161
16231
20311
2691
33171

Table 4 Cockpit crew's plan for training.

Crew
Number
Start Day of
Training
Length of
Training
3232
1653
29232
3953

Table 5 Cockpit crew's plans for annual leave.

Crew
Number
Start Day of
Annual Leave
Length of Anual
Leave
181
2261
3291
4191
5121

The total flight time and days off in the instant month are shown in Table 6 and day-to-day assignments are shown in Figure 1.

CrewDay8
Number1234567891011121314151617181920212223242526272829303]
139393939ALALAL117117117164164164164213239239239239239
24040707070127127151151151183235235235ALAL
3434343439696121121121_1561562 2199TT269269ALALL
415353538989891321651658ALALALAL245245265LL
5232323Week.T G S848410.70lovo SALALAL171171171171900000237237AN 2000267267
62626262626100100100-100190190190233233250250-_
73434343481051051051492349 9258258258L
8-17545454549595ME129129129129179179179212212253253100-
9-1515888575757San Alice9393931,000001362000136Service Si180180Summer-227227259· V 3 3 3 3 3 3259259--
10_292929666666109109109138172172172172-224224224-_
1188850507474741151151431431592 0188188207251251284
1255510**595970910.7122122122* 40ME1.1019419419421624724724726128628628
1313131313_78979797100140140140140-1751702161000022226426428728728728720
143333310-00102102_1021021001751/522222222222228028028028028
1522252549
m
49
T
Т8282821231232 - 51171.471691000000000169204204230251275275
16-252525TT1C19898981241241471471671 11741002002141Same?254254205205205205
171827-4861
48
6183101101
99
99154134
142
142167167
177
189
177
201209209240
242
240
242
240
242
272273285283
191818
28
28486262621031081081421461461461//1841842012192192/32/32/3-
203535350.2028080111111111-144157157104104211219219211419281281281М
2177733565656809292118157137137196186211226226226282202IVL
2299_3060607979791102492009133V-12133-187187187220243243243243202202202202
23,,42424272727212124124124124133170170107101107232232232271271271
2436363636878711011011012715815815810000000229252252252
252222-63757575-10116116154154154150W210257Sec. 3278278
26664444-555114125125161Same161-197197231231231263
273755555555126126160220220220220
28121212126565656565137137100010101781782060.000100000249249249249249
291010464646696969131131131162162200200200TT266
303030307171107107130130Sec. 1130182182182182228228261261261261
3124242467818181119119150150150205205246246246
32313158585858106106106139139139203203203203241241277277277
33323252526868112112112112ME195195195244244262262262
34202020207777777777168168192208208208256256279279279
35444454576767676128128128173173218218218218272272
3641414186868686135135163163163185185185225225270270270270
3738858585145145145198198221221221268268283283283
382121646464113113141141141196196196196255255255
39191919TTT90909090148148148191191191223223223223223Ĺ
401111114747478888888888166166166166193193236236236236276276L
411451515194949494152152152152202202202238274274274274274
421616161616104120120155176176176217217248248248
433333337373737373153153181181181215215215260260260l.

Figure 1 Day-to-day assignment.

We can see in Figure 1 that every cockpit crew that is assigned to a five-day pairing (pairings no. 3, 16, 23, 65, 73, 77, 88, 100,102, 140, 149, 158, 171, 211, 219, 220, 223, 224, 239, 249, 274, 288) has two days off after the assignment. In the next month, two days off must be given to cockpit crew 11 and three days off must be given to cockpit crew 14 after assignment to pairings 286 and 280, respectively. These mandatory days off must be considered as input for the next month's rostering.

Table 6The total flight time and days off.
Crew
Number
Total
Flying
Time
Total
Days Off
Crew
Number
Total
Flying
Time
Total
Days Off
145,3112380,312
259,9152454,510
373,3102577,610
452,3102649,713
553,2132766,415
654,1132864,610
767,4142979,59
866,1113075,010
991,9103177,014
1060,0143280,610
1178,483358,412
1284,1103471,611
1380,093568,511
1448,283677,410
1578,5123778,913
1661,0123876,714
1778,3103952,010
1888,5104070,78
1972,9134192,99
2068,4104258,714
2180,584383,312
2274,413

If we use the expressions in [1] for constraints (8) and (9), instant testing becomes infeasible. This means that the schedule cannot be carried out by 43 cockpit crews. This proves that the mathematical expressions (8) and (9) are correct and with these expressions we can obtain compact rosters.

6 Conclusion

In this paper, an optimization model for the cockpit crew rostering problem at Garuda Indonesia was presented. The optimization problem has a large number of constraints that represent international, regional, national and internal cockpit crew labor regulations. Some of the constraints have a non-linear form, so that the optimization problem is a large-size non-linear binary problem that needs an appropriate solution method. We have applied a simulated annealing method for solving the problem, where feasible rosters are constructed by applying a random method called pairing-by-pairing. The satisfactory roster presented in Figure 1 was obtained in a short amount of computing time, although we realize that some techniques can be added in order to make the pairing-by-pairing method run more efficiently. For example, making a list of constraints from the hardest to the easiest (in satisfying), and performing the pairing-by-pairing method in such a way that in assigning a cockpit crew pairing to a candidate cockpit crew we check satisfaction of the hardest constraint first, then if it is satisfied we proceed to checking satisfaction of the next constraint in the list, and so on.

Nomenclature

For  = 1, … ,  ,

1, if cockpit crew starts annual leave on day , alj,l = / 0, otherwise

aalj = The accumulative number of days of annual leave that have been taken by cockpit crew j

aftj,2 = The accumulative flight time of cockpit crew j during the two previous months

aftj,y = The accumulative flight time of cockpit crew j during the current year

amej = The accumulative days of medical examination that have been taken by cockpit crew j

atrj = The accumulative days of training that have been taken by cockpit crew j 1, if pairing covers on day , ci,l = / 0, otherwise

fti = The total flight time of pairing i

fti,l = The net flight time of pairing i on its lth day 1, if cockpit crew starts medical examination on day ,

-, = / 0, otherwise

M1 = The maximum accumulative flight time in seven consecutive days M2 = The maximum accumulative flight time in one calendar month

M3 = The maximum accumulative flight time in three consecutive

calendar months

M4 = The maximum accumulative flight time in one calendar year

(1, if pairing i_1 and i_2 have a common working day,
p_{i_1,i_2}
             (0, otherwise
             (1, if pairing i is started on day l,
q_{i,l}
             (0, otherwise
             (1, if pairing i_2 starts earlier than the end of pairing i_1 plus
               the lay over time,
S_{i_1,i_2}
             0. otherwise
            The number of days covered by pairing i
t_i
             (1, if cockpit crew j starts training on day l,
tr_{i,l}
        =
             0, otherwise
             (1, if pairing i covers d working days
to_{i,d}
             (0, otherwise
             (1, if pairing i_2 starts earlier than the end of pairing i_1 plus
                the lay over time,
S_{i_1,i_2}
             (0, otherwise
             (1, if the time difference between the end of pairing i_1 and
                the beginning of pairing i_2 at least 18 hours,
             (0. otherwise

Acknowledgements

This research was funded by Hibah Desentralisasi ITB 2013 and Garuda Indonesia. The authors thank to Garuda Indonesia and the research assistants that were involved for their committed work during the research.

Research Intelligence

Data from OpenAlex ↗

Metrics

15
Citations
1.85
FWCIfield-weighted
87th
Percentilevs same year + field
Article
Work type
Open Access

Citation Trend

Citation Timeline

YearCitations
20243
20231
20222
20213
20202
20181
20173

Semantic Profile AI-classified research signals

Institution Network

References

  1. Lucic, P. & Teodorovic, D., Simulated Annealing for Multi-objective Aircrew Rostering Problem, Transportation Research, Part A, 33, pp. 19-45, 1999. DOI: 10.1016/s0965-8564(98)00021-4
  2. Chang, S.C., A New Aircrew-Scheduling Model for Short-Haul Routes, Journal of Transport Management, 8, pp. 249-260, 2002. DOI: 10.1016/s0969-6997(02)00006-6
  3. Gamache, M., Hertz, A. & Oullet, J., A Graph Coloring Model for a Feasibility Problem in Monthly Crew Scheduling with Preferential Bidding, Computer and Operations Research, 34(8), pp. 2384-2395, 2007.
  4. Kovari, B., Modern Crew Management Methods in Air Transport, Transportation. Engineering, 31(I-2), pp. 3-16, 2003.
  5. Lederer, P.J. & Nambimadom, R.S., Airline Network Design, Operations Research, 46, pp.785-804, 1999.
  6. Medard, C.P.A. & Sawhney, N., Airline Crew Scheduling from Planning to Operations, European Journal of Operational Research, 183(3), pp. 1013-1027, 2007.
  7. Vance, P.H., Barnhart, C., Johnson, E.L. & Nemhauser, G.L., Airline Crew Scheduling: A New Formulation and Decompotition Algorithm, Operations Research, 45(2), pp. 188-200, 1997. DOI: 10.1287/opre.45.2.188
  8. Yan, S. & Tu, Y., A Network Model for Airline Cabin Crew Scheduling,European Journal of Operational Research, 140, pp. 53-540, 2002. DOI: 10.1016/s0377-2217(01)00215-6
  9. AhmadBeygi, S., Cohn, A. & Weir, M., An Integer Programming Approach to Generating Airline Crew Pairings, Computer and Operations Research, 36(4), pp. 1284-1298, 2009.
  10. Barnhart, C., Johnson, E.L., Nemhauser, G.L., Savelsbergh, M.W.P. & Vance, P.H., Branch-and-Price: Column Generation for Solving Huge Integer Programs, Operations Research, 46(3), pp. 316-328, 1999.
  11. Deng, G. & Lin, W., Ant Colony Optimization-Base Algorithm for Airline Crew Scheduling Problem, Expert System with Applications, 38(5), pp. 5787-5793, 2011.
  12. Goumopoulos, C. & Housos, E., Efficients Trip Generation with a Rule Modeling System for Crew Scheduling Problems, Journal of System and Software, 69(1-2), pp. 43-56, 2004.
  13. Gamache, M., Soumis, F., Marquis, G. & Desrosiers, J., A Column Generation Approach for Large-Scale Aircrew Rostering Problems, Operations Research, 47(2), pp. 247-260, 1999. DOI: 10.1287/opre.47.2.247
  14. Hoffman, K.L. & Padberg, M., Solving Airline Crew Scheduling Problem by Branch-and-Cut, Management Science, 39(6), pp. 657-682, 1993. DOI: 10.1287/mnsc.39.6.657
  15. Souai, N. & Teghem, J., Genetic Algorithm Based Approach for Integrated Airline Crew-Pairing/CROPA and Rostering Problem, European Journal of Operational Research, 199(3), pp. 674-683, 2009.