# A Fuzzy Crew Rostering Model Based on Crew Preferences and Seniorities considering Training Courses: A Robust Optimization Approach

Authors: Bahareh Shafipour-Omrani; Alireza Rashidi Komijan; Seyed Jafar Sadjadi; Kaveh Khalili-Damghani; Vahidreza Ghezavati
Journal: Computational Intelligence and Neuroscience
 (2022)

---

## Abstract

Crew scheduling problem is divided into crew pairing problem (CPP) and crew rostering problem (CRP). In this paper, a rostering model is presented to assign crew to pairings in such a way that total weighted preference is maximized. Crew members declare which parings they wish to be assigned and which ones are undesirable for them. A score is calculated in the objective function if a crew member is assigned to his/her preferred pairing, and a penalty is considered if he/she is assigned to an undesirable pairing. Moreover, crew seniorities are considered in calculating total preference. In addition, the model considers standard rules and regulations as well as crew attendance at the required training courses. The model is formulated in such a way that inconsistent crew members are not assigned to a flight. Due to the uncertainty in determining of the seniority weight, this parameter is considered as fuzzy. At the end, the robust counterpart of the nominal model is developed due to the uncertainty of time away from the base (TAFB). In this research, the issue of inconsistent crew in rostering problem is considered for the first time. Moreover, a new scoring mechanism is introduced to calculate desirable and undesirable assignments in the objective function. The proposed CRP is solved using the genetic algorithm (GA), and its performance is verified in comparison with GAMS in some test problems. On average, the optimality gap in GA is only 0.5 percent. Finally, the proposed model is examined with real-world data from Air India Airline. In comparison with the previous research studies, the suggested model (scoring mechanism) reduced the number of undesirable rosters by 61.59%.


---

## Body

## 1. Introduction

Using the mathematical models in airline operations is an interest field for researchers. Because of the complexity of optimization problems in the airlines, they are usually divided into several smaller problems: flight scheduling (FS), fleet assignment (FA), aircraft maintenance routing (AMR), and crew scheduling (CS) [1, 2]. Flight scheduling is the starting point of airline operations [3]. Flight scheduling output is utilized as fleet assignment input. The purpose of fleet assignment is to assign fleet types to flights scheduled in the previous step. Following FA problem, individual aircraft routing is planned so that maintenance requirements are satisfied [4].One of the major topics in airlines is crew scheduling problem (CSP). Due to its complexity, CSP is separated into two phases: crew pairing problem (CPP) and crew rostering problem (CRP) [5]. Pairings are generated in CPP based on carrier rules and regulations [6]. A pairing includes a set of sequential duty days separated by layovers. The purpose of CPP is to cover all flights in such a way that crew cost is minimized. The pairings created in the CPP are assigned to crew in CRP, and each (co)pilot’s roster is determined [7]. Although the CPP focuses on cost minimization, the aim of CRP is to maximize crew satisfaction by assigning balanced workload and meeting crew preferences. There are three different approaches in CRP: bidline, personalized with strict seniority, and personalized with global objective [8]. In bidline approach, which was common in North American airlines, anonymous monthly schedules, called rosters, are generated. Then, crew members bid for the rosters according to their preference based on seniority. In a personalized approach with strict seniority, which is an emerging approach in North America, crew preferences are met sequentially in decreasing order of seniority. In personalized approach with global objective, crew assignment is done in such a way that total satisfaction is maximized without considering seniority [9].Crew rostering problem is one of key the phases of airline scheduling. If crew members are assigned to their favorite rosters, a high degree of satisfactions is resulted. Using mathematical models in rostering problem leads to crew satisfaction. In this paper, crew members are assigned to rosters in such a way that maximum satisfaction is reached. To calculate the satisfaction, a new scoring system is used. On the other hand, the issue of travel safety is one of the most important issues for airlines. Assignment of inconsistent crew to a single flight threatens flight safety considerably. As a main motivation, we develop the proposed model to prevent assignment of inconsonant crew to a single flight.A new model for CRP is formulated in this paper. The objective function maximizes total weighted preference. Instead of using simple bidline or personalized approach, a new mechanism for calculating preference is used in this paper. At first, each crew member declares if he/she prefers to be assigned to a given pairing or not. If they are assigned to one of their preferred pairings, one positive score is calculated in the objective function. Similarly, a negative score (penalty) is considered if a crew member is assigned to an undesirable pairing. The objective function maximizes crew preferences considering seniority. On the other hand, the model considers a crucial qualitative factor in crew assignment to flights. As some of the crew members may be inconstant and have bad work relations to each other, the model prevents to assign them to a single flight. Assignment of the inconsistent crew to a flight may lead to irrecoverable damage. Moreover, crew attendance at the required training courses and some of the airline regulations such as maximum time away from the base (TAFB) and maximum flying hours are considered in assigning crew to rosters. As TAFB is an uncertain parameter in real-world cases, robust counterpart of the proposed model is formulated using the approach of Bertsimas and Sim [10]. A genetic algorithm is used to solve the model for an Indian airline (Air India). GA efficiency in solving the proposed model is examined by an exact solution obtained by CPLEX in GAMS for a variety of small and medium-size examples. This paper benefits from two main contributions. The first one is using a scoring mechanism instead of bidding for preferred pairings. Against previous research studies, both willingness and unwillingness of crew in assigning to each pairing are considered. The second one is considering the issue of inconsistent crew. This important qualitative factor should be considered to ensure a safe travel for passengers.The organization of the paper is as follows. The literature on the crew rostering problem is discussed in Section2. In Section 3, problem statement and mathematical model are described in detail. Section 4 discusses the solution approach, application of the CRP model in a real-world case study, and the obtained results. Finally, Section 5 concludes with findings and ideas for future studies.


## 2. Literature Review

In this section, a comprehensive review on the CRP is presented. Different research studies have been classified based on if their contributions are in solution approach (heuristic, metaheuristic, and exact) or development of the mathematical model. Although many studies have concentrated on developing solution approaches, only a few ones have contribution in mathematical formulation.


### 2.1. Development of the Solution Approach

Boubaker et al. [11] proposed two heuristic algorithms to solve the CRP. The first approach was the standard branch-and-price algorithm, and the second one was a combination of Elhallaoui et al. [12] with the branch-and-price. Computational findings indicated that the combined method for large-scale problems performed better than standard ones. Maenhout and Vanhoucke [13] considered the use of the additional crew and developed a scatter search algorithm to solve the CSP. The result of comparing the proposed approach with the branch-and-price algorithm and variable neighborhood search demonstrated that this technique could result in high-quality solutions. Saddoune et al. [14] discussed the weaknesses of the traditional approaches, solved the CRP using the dynamic column generation method, and implemented it in an American airline. An integrated approach for aircraft and crew schedule recovery problems was proposed by Zhang et al. [15]. To solve the real problem, they used a two-level metaheuristic algorithm and showed that it could lead to high-quality solutions. Zhang et al. [16] used the Tabu search algorithm to solve the CRP and used the concept of search memory, which accelerated the convergence. By testing the samples, the findings indicated that their method achieves near to optimal solutions in a reasonable time. Doi et al. [17] addressed obtaining a fair roster for the crew by applying a two-level decomposition approach. Zhang et al. [18] developed three multiobjective evolutionary algorithms to search for Pareto solutions. The experimental results on a Chinese airline proved that the proposed technique was capable to improve the rosters’ quality by balancing the crew workload. Zhang et al. [19] presented an implicit mathematical model using bidline approach and developed a new variable neighborhood search to solve it. The results indicated that the proposed approach could provide high-quality solutions for two different scenarios of the crew workload. Chutima and Arayikanon [20] formulated a CSP in a low-cost airline and solved it using a multiobjective evolutionary optimization algorithm (MOEA). Comparing the proposed algorithm results with the honeybee mating optimization (HBMO) indicated that MOEA was superior in terms of convergence criteria. The improved discrete particle swarm optimization (IDPSO) method was proposed by Zheng [21] to solve CSP. The findings showed that IDPSO’s performance was very efficient. Zhou et al. [22] improved an ant colony algorithm to solve the CRP in a biobjective model optimizing fairness and satisfaction. They proposed a hybrid complementary heuristic strategy and a local search strategy to solve the model adequately. They showed that the novel method led to higher-quality solutions than the greedy algorithm and other prominent multiobjective optimization techniques. Chutima and Krisanaphan [23] considered crew cost minimization as well as balancing the workload of pilots. They solved the proposed model with the adaptive nondominated sorting differential evolution algorithm III (ANSDE-III) and compared the results with the NSGA-III and the multiobjective differential evolutionary approach (MODE). The results showed that ANSDE-III performed better than other algorithms.


### 2.2. Development of CR Models

Chen and Chou [24] formulated pilot roster recovery problem with the aim of minimizing the maximum flight time of each pilot after a disruption and reduced exchange costs. They solved the model with the nondominated sorting genetic algorithm II (NSGA-II) to find Pareto solutions and applied the constraint-loosening mechanism (CLM). The results indicated that the proposed method led to high-quality solutions to the CR problem. Crew changeability in case of delay and disruption was offered by Ilagan and Sy [25]. According to the results, although the proposed model had increased costs, the delay had been significantly reduced. Kasirzadeh et al. [26] formulated the personalized CR problem with undetermined pairings and fixed pilots. The model aimed to optimize crews’ preferences and their cost. They used the approach of Saddoune et al. [14] and obtained an acceptable level of crew satisfaction. Armas et al. [27] proposed the CRP with the aim of fair distribution of workload among crew members, and they applied regulations that had not been considered in previous studies. To solve this model, they used the multistart randomized heuristic algorithm and showed that this algorithm has the ability to solve the problem with high quality. An integrated model for CSP was presented by Zeighami and Soumis [8]. They considered pilots’ vacation requests in the CP to generate better pairings. The authors formulated the model by minimizing pairing costs and maximizing the desired number of vacations. The experiment results showed that combining Benders’ decomposition algorithm and column generation could significantly save CPU time. Quesnel et al. [28] considered rewards for the pairings that matched the crews’ preferences in the objective function. They solved the model via column generation and implemented it to a North American airline. The findings demonstrated that the suggested model could improve CRP solutions compared to previous studies. Mirjafari et al. [29] presented an integrated model for aircraft routing and CSP with the aim of minimizing crew, aircraft replacement, maintenance, and deadhead flight costs. They suggest a new frame for maintenance operations based on flight hours. Because the Lagrangian relaxation method results have a lower gap to an optimum solution, this method is better than the particle swarm optimization (PSO) algorithm. A new integrated model for fleet assignment and crew scheduling problems was proposed by Rashidi Komijan et al. [1]. They considered closed routes for crews and fleets simultaneously. To compare the effectiveness of the two methods, PSO and vibration damping optimization (VDO) algorithm solved ten large-scale examples. The findings showed that VDO leads to optimal results in a reasonable time. Saemi et al. [30] suggested an integrated CSP to minimize crew costs. The approach presented a better answer than computing CPP and CRP consecutively. It was also possible to add a day(s) off in a pairing to allow crew members to attend training courses and complete health checks. A multiobjective personalized model for the airline multiskilled was proposed by Baradaran and Hosseinian [31]. The multiskilled crew used in this model was assigned to flights and aircraft due to the crew’s experience. They used multiobjective differential evolution (MODE) and nondominated sorting genetic algorithm II (NSGA-II) to analyze the model. According to the results, the suggested model and algorithms could generate adequate schedules for CS problems, according to comparisons between algorithms. Ben Ahmed et al. [32] assigned the aircraft and crew to each flight simultaneously and included maintenance constraints in their model. They solved the robust mixed-integer programming model using the decomposition approach and achieved good results. Table 1 briefly compares the proposed CRP model with the previous research studies.Table 1
Comparison between previous research studies and the proposed model.
PaperModeling approachSolution methodObjective functionContributionNonintegratedIntegratedScoring mechanismOthersModelSolution approachSaddoune et al. [14]∗—Dynamic column generation—Min weighting cost—∗Zhang et al. [15]—∗2-stage heuristic—Min cost—∗Chen and Chou [24]∗—MetaheuristicMinmax flight timeRecovery crew—Zhang et al. [16]∗—Metaheuristic—Min delay—∗Ilagan and Sy [25]∗—Metaheuristic—Min costCrew swaps—Armas et al. [27]∗—Multistart heuristic—Max satisfactionWork balancing—Doi et al. [17]∗—Metaheuristic—Min working time deviation—∗Zhang et al. [19]∗—Metaheuristic—Min cost—∗Zeighami and Soumis [8]—∗Benders’ decomposition and column generation—Min weighting costPilots’ vacation—Mirjafari et al. [29]—∗Lagrangian relaxation—Min crew, maintenance, and deadhead costsFairly assigning night flights—Chutima and Arayikanon [20]∗—Metaheuristic—Min repeated flight and max senior pilot preference—∗Zhou et al. [22]∗—Metaheuristic—Max satisfaction—∗Rashidi Komijan et al. [1]—∗Metaheuristic—Min costsTimes balancing—Saemi et al. [30]—∗Metaheuristic—Min costsConsidering more days for crew courses and medical checks—Baradaran et al. [31]∗—Metaheuristic—Max vacations planned and min penalty costsMultiskilled model—Ahmed et al. [32]—∗Benders—Min costsSimultaneously assigning aircraft and crews—Chutima et al. [23]∗—Metaheuristic—Min costs—∗This paper (2022)∗—Metaheuristic∗To our best knowledge and Table1, previous research studies mainly focused on cost minimization, fair workload distribution, and use of bidline and personalized approaches for crew rostering. This paper includes two main contributions. The first one is related to the issue of inconsistent (co)-pilots. This critical qualitative component should be evaluated to ensure passenger safety. The model prevents to use inconsistent crew in a single flight. The second contribution is that instead of suggesting preferred pairings, a scoring method is used. In contrast to previous studies, this strategy takes into account both the crew’s willingness and unwillingness to assign to each pairing. In other words, one positive score is calculated for each favorable allocation and one negative score is considered for each undesirable allocation in the objective function. Total weighted preference is maximized by considering crew seniority.


## 2.1. Development of the Solution Approach

Boubaker et al. [11] proposed two heuristic algorithms to solve the CRP. The first approach was the standard branch-and-price algorithm, and the second one was a combination of Elhallaoui et al. [12] with the branch-and-price. Computational findings indicated that the combined method for large-scale problems performed better than standard ones. Maenhout and Vanhoucke [13] considered the use of the additional crew and developed a scatter search algorithm to solve the CSP. The result of comparing the proposed approach with the branch-and-price algorithm and variable neighborhood search demonstrated that this technique could result in high-quality solutions. Saddoune et al. [14] discussed the weaknesses of the traditional approaches, solved the CRP using the dynamic column generation method, and implemented it in an American airline. An integrated approach for aircraft and crew schedule recovery problems was proposed by Zhang et al. [15]. To solve the real problem, they used a two-level metaheuristic algorithm and showed that it could lead to high-quality solutions. Zhang et al. [16] used the Tabu search algorithm to solve the CRP and used the concept of search memory, which accelerated the convergence. By testing the samples, the findings indicated that their method achieves near to optimal solutions in a reasonable time. Doi et al. [17] addressed obtaining a fair roster for the crew by applying a two-level decomposition approach. Zhang et al. [18] developed three multiobjective evolutionary algorithms to search for Pareto solutions. The experimental results on a Chinese airline proved that the proposed technique was capable to improve the rosters’ quality by balancing the crew workload. Zhang et al. [19] presented an implicit mathematical model using bidline approach and developed a new variable neighborhood search to solve it. The results indicated that the proposed approach could provide high-quality solutions for two different scenarios of the crew workload. Chutima and Arayikanon [20] formulated a CSP in a low-cost airline and solved it using a multiobjective evolutionary optimization algorithm (MOEA). Comparing the proposed algorithm results with the honeybee mating optimization (HBMO) indicated that MOEA was superior in terms of convergence criteria. The improved discrete particle swarm optimization (IDPSO) method was proposed by Zheng [21] to solve CSP. The findings showed that IDPSO’s performance was very efficient. Zhou et al. [22] improved an ant colony algorithm to solve the CRP in a biobjective model optimizing fairness and satisfaction. They proposed a hybrid complementary heuristic strategy and a local search strategy to solve the model adequately. They showed that the novel method led to higher-quality solutions than the greedy algorithm and other prominent multiobjective optimization techniques. Chutima and Krisanaphan [23] considered crew cost minimization as well as balancing the workload of pilots. They solved the proposed model with the adaptive nondominated sorting differential evolution algorithm III (ANSDE-III) and compared the results with the NSGA-III and the multiobjective differential evolutionary approach (MODE). The results showed that ANSDE-III performed better than other algorithms.


## 2.2. Development of CR Models

Chen and Chou [24] formulated pilot roster recovery problem with the aim of minimizing the maximum flight time of each pilot after a disruption and reduced exchange costs. They solved the model with the nondominated sorting genetic algorithm II (NSGA-II) to find Pareto solutions and applied the constraint-loosening mechanism (CLM). The results indicated that the proposed method led to high-quality solutions to the CR problem. Crew changeability in case of delay and disruption was offered by Ilagan and Sy [25]. According to the results, although the proposed model had increased costs, the delay had been significantly reduced. Kasirzadeh et al. [26] formulated the personalized CR problem with undetermined pairings and fixed pilots. The model aimed to optimize crews’ preferences and their cost. They used the approach of Saddoune et al. [14] and obtained an acceptable level of crew satisfaction. Armas et al. [27] proposed the CRP with the aim of fair distribution of workload among crew members, and they applied regulations that had not been considered in previous studies. To solve this model, they used the multistart randomized heuristic algorithm and showed that this algorithm has the ability to solve the problem with high quality. An integrated model for CSP was presented by Zeighami and Soumis [8]. They considered pilots’ vacation requests in the CP to generate better pairings. The authors formulated the model by minimizing pairing costs and maximizing the desired number of vacations. The experiment results showed that combining Benders’ decomposition algorithm and column generation could significantly save CPU time. Quesnel et al. [28] considered rewards for the pairings that matched the crews’ preferences in the objective function. They solved the model via column generation and implemented it to a North American airline. The findings demonstrated that the suggested model could improve CRP solutions compared to previous studies. Mirjafari et al. [29] presented an integrated model for aircraft routing and CSP with the aim of minimizing crew, aircraft replacement, maintenance, and deadhead flight costs. They suggest a new frame for maintenance operations based on flight hours. Because the Lagrangian relaxation method results have a lower gap to an optimum solution, this method is better than the particle swarm optimization (PSO) algorithm. A new integrated model for fleet assignment and crew scheduling problems was proposed by Rashidi Komijan et al. [1]. They considered closed routes for crews and fleets simultaneously. To compare the effectiveness of the two methods, PSO and vibration damping optimization (VDO) algorithm solved ten large-scale examples. The findings showed that VDO leads to optimal results in a reasonable time. Saemi et al. [30] suggested an integrated CSP to minimize crew costs. The approach presented a better answer than computing CPP and CRP consecutively. It was also possible to add a day(s) off in a pairing to allow crew members to attend training courses and complete health checks. A multiobjective personalized model for the airline multiskilled was proposed by Baradaran and Hosseinian [31]. The multiskilled crew used in this model was assigned to flights and aircraft due to the crew’s experience. They used multiobjective differential evolution (MODE) and nondominated sorting genetic algorithm II (NSGA-II) to analyze the model. According to the results, the suggested model and algorithms could generate adequate schedules for CS problems, according to comparisons between algorithms. Ben Ahmed et al. [32] assigned the aircraft and crew to each flight simultaneously and included maintenance constraints in their model. They solved the robust mixed-integer programming model using the decomposition approach and achieved good results. Table 1 briefly compares the proposed CRP model with the previous research studies.Table 1
Comparison between previous research studies and the proposed model.
PaperModeling approachSolution methodObjective functionContributionNonintegratedIntegratedScoring mechanismOthersModelSolution approachSaddoune et al. [14]∗—Dynamic column generation—Min weighting cost—∗Zhang et al. [15]—∗2-stage heuristic—Min cost—∗Chen and Chou [24]∗—MetaheuristicMinmax flight timeRecovery crew—Zhang et al. [16]∗—Metaheuristic—Min delay—∗Ilagan and Sy [25]∗—Metaheuristic—Min costCrew swaps—Armas et al. [27]∗—Multistart heuristic—Max satisfactionWork balancing—Doi et al. [17]∗—Metaheuristic—Min working time deviation—∗Zhang et al. [19]∗—Metaheuristic—Min cost—∗Zeighami and Soumis [8]—∗Benders’ decomposition and column generation—Min weighting costPilots’ vacation—Mirjafari et al. [29]—∗Lagrangian relaxation—Min crew, maintenance, and deadhead costsFairly assigning night flights—Chutima and Arayikanon [20]∗—Metaheuristic—Min repeated flight and max senior pilot preference—∗Zhou et al. [22]∗—Metaheuristic—Max satisfaction—∗Rashidi Komijan et al. [1]—∗Metaheuristic—Min costsTimes balancing—Saemi et al. [30]—∗Metaheuristic—Min costsConsidering more days for crew courses and medical checks—Baradaran et al. [31]∗—Metaheuristic—Max vacations planned and min penalty costsMultiskilled model—Ahmed et al. [32]—∗Benders—Min costsSimultaneously assigning aircraft and crews—Chutima et al. [23]∗—Metaheuristic—Min costs—∗This paper (2022)∗—Metaheuristic∗To our best knowledge and Table1, previous research studies mainly focused on cost minimization, fair workload distribution, and use of bidline and personalized approaches for crew rostering. This paper includes two main contributions. The first one is related to the issue of inconsistent (co)-pilots. This critical qualitative component should be evaluated to ensure passenger safety. The model prevents to use inconsistent crew in a single flight. The second contribution is that instead of suggesting preferred pairings, a scoring method is used. In contrast to previous studies, this strategy takes into account both the crew’s willingness and unwillingness to assign to each pairing. In other words, one positive score is calculated for each favorable allocation and one negative score is considered for each undesirable allocation in the objective function. Total weighted preference is maximized by considering crew seniority.


## 3. Problem Statement

In this paper, a new mathematical model for the CRP is proposed. The objective function calculates the total weighted preference of the crew. We assume that each crew member declares his/her preferred and undesirable pairings. By assigning a crew member to his/her preferred pairing, a positive score is calculated in the objective function. Similarly, if a crew member is assigned to his/her undesirable pairing, a negative score (penalty) is calculated. The objective function maximizes total weighted preference by considering crew seniority.In each airline, some of the crew members may have bad relations with each other. Assigning inconsistent crew to a single flight may threaten flight safety. To cover this qualitative factor, the model should prevent to assign inconsistent crew to a flight. Also, several rules and regulations which are common in airlines are considered in the model. Some of these rules are as follows:(i)
Time away from the base should not exceed a predefined value(ii)
Maximum and minimum flying hours of crew are restricted(iii)
An inexperienced co-pilot must be accompanied by an experienced pilot(iv)
Some of the crew members should attend at training coursesDue to the uncertainty of time away from the base (TAFB), the approach of Bertsimas and Sim [10] is used to formulate the robust counterpart. The advantage of using the approach of Bertsimas and Sim [10] is that the robust model will be linear. Also, the most well-known Indian airline, Air India, is considered as a real-life case. To formulate the model, necessary notations, parameters, and variables are firstly described:(1)Max∑c∈C∑p∈Pwc˜scorecp−∑c∈C∑p∈Pwc˜penaltycp,(2)∑c∈C1Xcp=1,∀p∈P,(3)∑c∈C2Xcp=1,∀p∈P,(4)Xcp+Xc′p≤1,∀c,c′∈Cinc;p∈P,(5)TAFBpXcp≤TAFBcmax,∀c∈C;p∈P,(6)TFcmin≤∑p∈PFpXcp≤TFcmax,∀c∈C,(7)Xcp+Xcp′≤0,∀c∈C;p,p′∈NA,(8)Xcp≤∑c′∈C1′Xc′p,∀c∈C2′;p∈P,(9)∑d∈DYcd≥1,∀c∈Cinst,(10)∑p∈PdXcp+Ycd≤1,∀c∈Cinst;d∈D,(11)2scorecp≤Prefcp+Xcp,∀c∈C;p∈P,(12)penaltycp≥Xcp−Prefcp,∀c∈C;p∈P,(13)Xcp≤Basecp,∀c∈C;p∈P,(14)Xcp,Ycdp:Binary,(15)scorecp,penaltycp≥0.The objective function maximizes total weighted preference of the crew. The way of calculating score and penalty is described in the constraints. Equations (2) and (3) ensure that each pairing is handled by one pilot and one co-pilot. Constraint (4) prevents assignment of inconsistent crew to a pairing. According to (5), the TAFB for each crew should not exceed the maximum allowed value. Relation (6) indicates that the total flying hours for a crew member should fall in the defined interval. Some pairings cannot be handled sequentially due to some reasons such as the destination of the first one is not the same as the origin of the next one. Constraint (7) prevents the assignment of a crew member to such pairings. Constraint (8) states that in each pairing, an inexperienced co-pilot must be accompanied with an experienced pilot. Relation (9) is about attendance of crew at the training course or meetings. Constraint (10) prevents concurrence of attendance at the training course and handling a pairing. Constraints (11) and (12) show the way of calculating score and penalty, which have been used in objective function. According to (11), one score is calculated if a crew member is assigned to his/her preferred pairing. Similarly, if he/she is assigned to an undesirable pairing, a penalty is considered. Constraint (13) ensures that a crew member can only be assigned to the pairings that origin from his/her home base. Finally, Constraints (14) and (15) indicate decision variable types.The seniority weight of pilots is in the range [0, 1]. Since the nature of this parameter is fuzzy, the Jimenez et al. [33] method has used to convert this uncertain coefficient in the objective function to definite. For more information, refer the study by Jimenez et al. [33]. For this matter, the triangular fuzzy distribution has chosen because of its simplicity and efficiency. After performing the calculations, the following equation replaces the indefinite objective function (1).(16)Max∑c∈C∑p∈Pwcp+2wcm+wco4scorecp−∑c∈C∑p∈Pwcp+2wcm+wco4penaltycp.As TAFB is an uncertain parameter, the robust counterpart of the nominal model is formulated using the approach of Bertsimas and Sim [10]. TAFB includes total flying time, sit times, and layovers. TAFBp¯ and TAFBp^ have assumed the nominal value and tolerance of time away from the base for pairing p. According to Bertsimas and Sim [10], protection level (Γ) is defined to make the model robustness. In other words, the solution’s robustness is regulated by defining a protection level, which specifies a maximum deviation from the nominal TAFB. The main purpose of this parameter is to make the solutions generated workable for all uncertain scenarios. If at most ⌊Γi⌋ of technical coefficients of the constraint i change in the defined interval, the model will definitely be robust. Also, a technical coefficient can be changed up toΓi−⌊Γi⌋ without violating the relation. Moreover, σcp and θcp are variables defined to formulate robust counterpart.To formulate robust counterpart, constraint (5) is replaced by the following constraints.(17)TAFBp¯Xcp+Γθcp+σcp≤TAFBcmax∀c∈C;p∈P,(18)θcp+σcp≥TAFB^pXcp∀c∈C;p∈P,(19)θcp≥0,σcp≥0∀c∈C;p∈P.


## 4. Solution Approach

According to NP-hard nature of the crew rostering problem, an appropriate optimization strategy is required [34]. Many rules and policies may deploy for crew rostering with thousands of variables in a real-world problem. Furthermore, the presence of binary variables makes the solution approach more complicated.Various papers in the literature use genetic algorithm to solve the airline crew scheduling problem. The GA is the second commonly applied solution technique and first metaheuristic approach for the CSP after column generation [35]. One of the benefits of the GA is the ability to manage numerous solution search areas [36]. As a consequence, the genetic algorithm is deployed as solution strategy for this study. In this section, problems are solved by a genetic algorithm in different sizes to evaluate the efficiency of the proposed approach. The GA outcomes are assessed and compared to the CPLEX solver in GAMS. Also, the solution method presented in this work and the components of the algorithm utilized are highlighted in Section 4.1.


### 4.1. Genetic Algorithm

#### 4.1.1. Presentation of Solution

The genetic algorithm uses the concept of chromosome to set parameters that offers a proposed problem solution. In practice, the chromosome is a string of solutions to solve the problem. The proposed chromosome can be designed as a string of discrete variables, binary numbers, and a continuous vector based on type of the problem. As a result, choosing an appropriate display form of the chromosome is an essential aspect of algorithm design. The designed chromosome for the proposed CRP is made up of the two-row vector. The number of columns in this vector is equal to the number of pairingsP. The first and second rows specify the pilot number and the co-pilot number, respectively.


#### 4.1.2. Generating the Initial Solution

In this paper, the co-pilots are randomly assigned to each pairing. Therefore, each compatible co-pilot gets selected to operate in pairingP. As an example, 6 pairings, 5 pilots, and 5 co-pilots are available (pilots are numbered from 1–5, and co-pilots are numbered from 6–10). An initial solution for the co-pilots assigned to the pairing is shown in Figure 1. To avoid assigning of a crew member to nonconsecutive pairings, Constraint (7) is applied to prevent the generation of infeasible solutions.Figure 1
Chromosome with 5 co-pilots and 6 pairings.Pilot assignment process begins after all co-pilots get placed in their pairings. Each eligible pilot may get assigned to pairingP randomly, if the following conditions met:(1)
The pilot should not be in conflict with the co-pilot(2)
An inexperienced co-pilot must be accompanied by an experienced pilot in each pairing(3)
Set of flights which may be assigned to a specific pilot in a sequenceThe pilot row is determined according to Figure2 for the chromosome.Figure 2
Chromosome with 5 pilots, 5 co-pilots, and 6 pairings.


#### 4.1.3. Generating a New Solution

A suitable operator for generating a random neighborhood solution depends on to the nature of the problem. The CRP is an allocation problem; therefore, we considered the appropriate operators to generate new solutions. These operators are defined in the following section.(1) Mutation Operator. By using the swap operator, two pilots or two co-pilots are selected from two pairings and get swapped if the following conditions are met:(i)
The co-pilot and the pilot are inconsistent(ii)
If an inexperienced co-pilot is not paired with an experienced pilot(iii)
Pairings that may not be done sequentially by one pilot or co-pilotFor the mutation operator, a random number between 0 and 1 is generated. If the number is less than 0.5, a swap operation is performed on the co-pilots, and if it is greater than 0.5, it is performed on the pilots. Swapping the co-pilots of pairingsP5 and P3 is presented in Figure 3.Figure 3
Swap operator.(2) Crossover Operator. Figure 4 shows the single crossover operator for the CRP. Selecting the pilot/co-pilot row is similar to Section 4.1.3.1 for crossover operator as well.Figure 4
Single crossover.The proposed chromosome in this paper complies with all constraints of the model except for the maximum/minimum flight hours for crews and maximum time away from the base for crews. To tackle this problem, a penalty function strategy is applied. Therefore, the average violation of these constraints is multiplied by a big number and then subtracted from the objective function.


#### 4.1.4. Genetic Parameter Tuning

In the genetic algorithm, maximum iterations, population size, crossover rate, and mutation rate parameters affect the performance of the algorithm. In this study, the Taguchi [37] is applied to get the best value for mentioned parameters. Each of the GA parameters is considered at three levels, as presented in Table 2.Table 2
GA parameter levels.
ParametersLevelsMax iter200, 300, 400Pop size80, 100, 120CR0.4, 0.5, 0.6MR0.2, 0.3, 0.4Not all but only part of the factors may reach to their best level in Taguchi’s [37] method. Each obtained result from Taguchi [37] method experiment is converting to a “signal-to-noise” ratio. At this rate, the optimal value (average) is called the signal, and the undesirable value (standard deviation) is called the noise. According to the objective function which is to maximize the crew’s satisfaction, the higher S/N means more desirability of results. Therefore, the maximum point of the graph is selected for each parameter. Also, the corresponding level is considered as the optimal level. The estimated values for GA parameters using the Taguchi [37] method are illustrated in Table 3 and Figure 5.Table 3
GA parameter values.
Max iterPop sizeCRMR4001000.30.4Figure 5
The S/N ratio for the genetic algorithm.


### 4.2. Computational Results for Test Problems

The model is solved for a real case: Air India airline. Before solving the case study, 30 test problems in different scales are generated and solved using GAMS and GA to justify GA’s efficiency in solving the proposed model. This operation is performed on a laptop with 16 GB RAM and Windows 10 64 bit. To illustrate the model results, a problem with 10 crew members is explained in detail. In this example,C1′, C2′, and C3′ are assumed experienced pilots, while C6′ and C7′ are inexperienced co-pilots. Table 4 shows the data for this test problem. By solving the model, crew assignment is done. According to Table 5, one pilot and one co-pilot who are not inconsistent are assigned to each pairing. Crew’s rosters can be easily concluded from Table 5. To illustrate, Figure 6 displays the first pilot’s monthly roster. As the planning horizon is one month, a crew member may handle several pairings if flight hour constraints are met.Table 4
Data for 10-crew problem.
CrewsTAFBcmax (hour)TFcmax (hour)TFcmin (hour)Inconsistent withPilotsC1′15001000150C8C2′15001200150—C3′15001200150—C415001200150—C515001200150C7′Co-pilotsC6′14001100100—C7′14001100100C5C814001200100C1′C914001200100—C1014001200100—Table 5
Crew assignment to pairings.
PairingsCrewsPilotCo-pilotp1C1′C6′p2C3′C6′p3C2′C7′p4C3′C8p5C3′C7′p6C4C10p7C4C10p8C5C8p9C3′C6′p10C1′C9p11C5C10p12C4C8p13C3′C7′p14C2′C9p15C5C10p16C3′C9p17C3′C6′p18C5C8p19C3′C10p20C4C9p21C2′C10p22C4C8p23C1′C7′p24C2′C7′p25C5C9p26C2′C6′p27C3′C8p28C4C10p29C1′C9p30C5C10p31C4C8p32C1′C10Figure 6
The first pilot’s monthly roster.The results of applying the proposed model for 30 numerical examples with different sizes are presented in Table6. In solving numerical examples by GAMS, the CPU time has been set to 10,800 seconds. According to Table 5, the performance of the GA to solve the proposed model is justified due to two reasons: (1) the maximum optimality gap between the genetic algorithm and exact solution is only 1.482%, and (2) in medium and large-sized problems, the CPU times in the GA are considerably less than GAMS.Table 6
The results of test problems.
Problem no.No. of pairingNo. of crewGAMSGAGap (%)ZCPU time (s)ZCPU time (s)Small1321019.4251.51319.42514.7690.0002401426.0133.03126.01316.0110.0003701845.80662.78245.80617.1920.00041002267.219785.03267.21917.8110.00051302685.756921.65785.74419.7030.014616030103.3521002.140101.8220.0021.482719034118.4841095.006117.32120.8920.981822038133.1051101.482132.00821.4750.824925042153.0761125.015152.60123.3430.3101028046165.0812925.515165.00027.1070.049Medium1135060190.3804500.703188.23440.9611.1271240066227.3456938.796227.01146.1450.1461345072253.2619441.422252.63147.4120.2481450078278.20510800299.00859.604—1555084305.82910800320.95263.843—1660090333.30710800392.00068.060—1765096361.16110800444.13271.949—18700102385.51310800486.06084.737—19750108400.19210800505.82298.110—20800114434.37710800589.19498.364—Large211000200539.37310800871.750133.021—221500250801.701108001003.108152.605—232000300934.006108001236.115179.881—2425003501170.196108001501.914197.001—2530004001242.201108001600.691205.514—2635004501413.135108001985.340231.109—2740005001496.866108002010.646253.002—2845005501606.530108002174.000269.836—2950006001689.977108002586.109342.168—3055006501842.583108003004.212379.617—A comparison between the CPU times in GA and GAMS is shown in Figure7. As maximum solution time has been set to 10,800 seconds in GAMS, computations in problems 14–30 are terminated after three hours.Figure 7
A CPU time comparison between the exact method and GA.A comparison of the results between the results of GAMS and genetic algorithm is shown in Figure8. The results of the objective function are shown in Figure 8. The green and orange points represent the objective function values resulted from GA and GAMS, respectively. It is worth noting that GAMS solution time has been limited to three hours. As a result, GAMS did not reach the optimum solution in problems 14 to 30.Figure 8
Comparison of the objective function values resulted from GAMS and genetic algorithm.


### 4.3. Case Study

Air India is a well-known airline in India, headquartered in New Delhi. As one of the biggest international airlines, Air India has 11% of the domestic market share [38]. Air India’s main hub is Indira Gandhi International Airport in New Delhi, with a secondary hub at Chhatrapati Shivaji Maharaj International Airport in Mumbai. According to reports in 2019, Air India fleets include Airbus and Boeing that serve 170 destinations all over the world [32].To solve the proposed model for the case study, a genetic algorithm was applied and the Taguchi [37] approach was used to adjust its parameters. This case included 6190 pairings and 1340 (co)-pilots. The model was solved in 761.188 seconds, and the optimum value of the objective function was 5034.002. The convergence of the GA results is shown in Figure 9. Converging after 400 iterations indicates good solution quality.Figure 9
Convergence of the GA results for Air India data.As discussed in Section3, the objective function includes two terms: score and penalty for assigning crew to desirable/undesirable pairings. According to the Air India results, crew members were assigned to their preferred pairings in 72% of assignments. Table 7 shows the monthly rosters of 20 experienced pilots, and 20 co-pilots as a small sample. Moreover, the attendance days of 90 co-pilots in the required training courses are presented in Table 8.Table 7
Monthly rosters for Air India.
PilotsPairingsCo-pilotsPairingsC1′p3-p15-p410-p892-p2001-p3871C791p93-p297-p305-p1165-p1374C2′p765-p1380-p4200-p4811-p6152C792p728-p923-p1224-p2411-p3005C3′p1-p938-p1778-p5499-p6002-p6112C793p999-p1717-p2060-p3525C4′p57-p21-p743-p766-p1001C794p14-p783-p1183-p4625-p5365C5′p216-p1230-p2571-p4921-p5101-p5314C795p1338-p3902-p4382-p4902-p6190C6′p8-p841-p3598-p4009-p4021-p4566C796p210-p1403-p3788-p5582-p6128C7′p943-p2223-p3467-p5005-p5127-p5128C797p48-p655-p804-p893C8′p51-p394-p1857-p2311-p6188C798p1195-p3109-p5198-p5727C9′p1072-p3725-p4000-p4282-p5920C799p375-p831-p1289-p3911-p3927C10′p790-p1943-p2144-p2756-p3512-p6180C800p202-p876-p934-p1010-p1256C11′p21-p726-p1451-p2727-p5934-p6107C801p1689-p4405-p4816-p4970-p5037C12′p1191-p2980-p3104-p3788-p5582-p6128C802p234-p928-p1440-p1796C13′p285-p961-p1367-p3504-p4597-p5202C803p656-p1275-p2239-p3061-p3400C14′p1036-p4436-p4677-p4920-p5135C804p1008-p1115-p1152-p4636C15′p30-p673-p1558-p2640-p3525-p5555C805p1261-p1674-p1730-p1954-p2338C16′p470-p1379-p1776-p1969-p1985-p6161C806p313-p630-p1177-p2646-p4789C17′p1321-p3040-p5162-p5343-p5691-p6002C807p880-p1326-p1687-p2053-p2188C18′p811-p1296-p2239-p3061-p3400C808p1453-p2007-p2396-p5731-p5766C19′p277-p952-p3028-p4816-p5582-p6128C809p934-p2915-p3251-p3256C20′p500-p942-p1101-p5366-p5712-p6001C810p496-p1831-p3140-p6024-p6097Table 8
Attendance in training courses held on different days.
Co-pilotsTraining coursed1d2d3d4d5C701′×C702′×C703′×C704′×C705′××C706′×C707′×C708′×C709′×C710′×C711′×C712′×C713′×C714′×C715′×C716′×C717′××C718′×C719′×C720′×C721′×C722′×C723′×C724′×C725′×C726′×C727′×C728′×C729′××C730′×C731′×C732′×C733′×C734′×C735′××C736′×C737′×C738′×C739′×C740′×C741′×C742′×C743′×C744′××C745′×C746′×C747′×C748′×C749′×C750′×C751′×C752′××C753′×C754′×C755′×C756′×C757′×C758′×C759′×C760′×C761′××C762′×C763′×C764′××C765′×C766′×C767′×C768′×C769′××C770′×C771′×C772′×C773′×C774′×C775′×C776′×C777′×C778′×C779′×C780′×C781′×C782′×C783′×C784′×C785′×C786′×C787′×C788′×C789′×C790′×To compare the performance of the proposed model with the previous research studies in which undesirable assignment penalty had not been considered, penalty term was removed from the objective function and constraint (12) was also disabled. By removing penalty concept, 2065 undesirable pairings are assigned to crews. This means that each crew will have an average of at least two undesirable pairings per month. However, our proposed model has reduced the number of undesirable rosters to 739, which is about 61.59% less than the previous models.


### 4.4. Robust Optimization

In this section, Bertsimas and Sim [10] approach is used to formulate the robust counterpart of the proposed model. The approach of Bertsimas and Sim leads to a linear robust model, while it is independent of knowing the distribution of data and control of the level of protection through parameter Γ [39].TAFB is subject to several factors such as flight time, flight duration, and connection time, which makes it an uncertain parameter. By considering different values for Γ (0≤Γ≤1), the robust model was solved for numerical example 3, and the results of GAMS and GA were compared. After justifying the performance of the GA, the robust model was applied to the case study and the results were analyzed (Table 9).Table 9
Robust model results.
CaseNo. of crewNo. of pairing⌈GAMSGAGPA (%)ZCPU time (U)zCPU time (U)Numerical example 3 (small-scale)1870045.80663.12045.80619.0430.0000.145.7979326.90645.80132.1520.0090.245.7974109.89145.79737.7660.0000.343.81516977.54744.22141.0080.9270.443.36111378.53143.89635.4231.2340.542.7896024.20843.05728.1090.6260.642.2297466.00242.61226.1550.9070.742.2291509.37342.57729.0000.8240.842.2293882.04142.41629.9760.4430.942.2291557.60042.41633.4410.443142.2292493.14342.41634.2120.443Case study134061900——5034.002784.006—0.1——5030.811797.155—0.2——5023.722849.000—0.3——4988.430835.637—0.4——4988.430802.543—0.5——4971.959871.012—0.6——4965.123896.424—0.7——4954.700903.111—0.8——4954.361928.639—0.9——4954.361930.007—1——4954.361995.295—As represented in Table9, the optimality gap of GA for numerical example 3 is negligible. Therefore, the performance of GA to solve the robust model is acceptable. According to the robust model applied to the case study, the model acts more conservatively by increasing of the Γ. In the case of Γ=1, it guarantees that feasible solution to be at its maximum value and the objective function to be at its minimum value. Figure 10 shows the total weighted desirability obtained from the genetic algorithm for 400 iterations.Figure 10
The obtained total weighted desirability from the genetic algorithm for case study.


## 4.1. Genetic Algorithm

### 4.1.1. Presentation of Solution

The genetic algorithm uses the concept of chromosome to set parameters that offers a proposed problem solution. In practice, the chromosome is a string of solutions to solve the problem. The proposed chromosome can be designed as a string of discrete variables, binary numbers, and a continuous vector based on type of the problem. As a result, choosing an appropriate display form of the chromosome is an essential aspect of algorithm design. The designed chromosome for the proposed CRP is made up of the two-row vector. The number of columns in this vector is equal to the number of pairingsP. The first and second rows specify the pilot number and the co-pilot number, respectively.


### 4.1.2. Generating the Initial Solution

In this paper, the co-pilots are randomly assigned to each pairing. Therefore, each compatible co-pilot gets selected to operate in pairingP. As an example, 6 pairings, 5 pilots, and 5 co-pilots are available (pilots are numbered from 1–5, and co-pilots are numbered from 6–10). An initial solution for the co-pilots assigned to the pairing is shown in Figure 1. To avoid assigning of a crew member to nonconsecutive pairings, Constraint (7) is applied to prevent the generation of infeasible solutions.Figure 1
Chromosome with 5 co-pilots and 6 pairings.Pilot assignment process begins after all co-pilots get placed in their pairings. Each eligible pilot may get assigned to pairingP randomly, if the following conditions met:(1)
The pilot should not be in conflict with the co-pilot(2)
An inexperienced co-pilot must be accompanied by an experienced pilot in each pairing(3)
Set of flights which may be assigned to a specific pilot in a sequenceThe pilot row is determined according to Figure2 for the chromosome.Figure 2
Chromosome with 5 pilots, 5 co-pilots, and 6 pairings.


### 4.1.3. Generating a New Solution

A suitable operator for generating a random neighborhood solution depends on to the nature of the problem. The CRP is an allocation problem; therefore, we considered the appropriate operators to generate new solutions. These operators are defined in the following section.(1) Mutation Operator. By using the swap operator, two pilots or two co-pilots are selected from two pairings and get swapped if the following conditions are met:(i)
The co-pilot and the pilot are inconsistent(ii)
If an inexperienced co-pilot is not paired with an experienced pilot(iii)
Pairings that may not be done sequentially by one pilot or co-pilotFor the mutation operator, a random number between 0 and 1 is generated. If the number is less than 0.5, a swap operation is performed on the co-pilots, and if it is greater than 0.5, it is performed on the pilots. Swapping the co-pilots of pairingsP5 and P3 is presented in Figure 3.Figure 3
Swap operator.(2) Crossover Operator. Figure 4 shows the single crossover operator for the CRP. Selecting the pilot/co-pilot row is similar to Section 4.1.3.1 for crossover operator as well.Figure 4
Single crossover.The proposed chromosome in this paper complies with all constraints of the model except for the maximum/minimum flight hours for crews and maximum time away from the base for crews. To tackle this problem, a penalty function strategy is applied. Therefore, the average violation of these constraints is multiplied by a big number and then subtracted from the objective function.


### 4.1.4. Genetic Parameter Tuning

In the genetic algorithm, maximum iterations, population size, crossover rate, and mutation rate parameters affect the performance of the algorithm. In this study, the Taguchi [37] is applied to get the best value for mentioned parameters. Each of the GA parameters is considered at three levels, as presented in Table 2.Table 2
GA parameter levels.
ParametersLevelsMax iter200, 300, 400Pop size80, 100, 120CR0.4, 0.5, 0.6MR0.2, 0.3, 0.4Not all but only part of the factors may reach to their best level in Taguchi’s [37] method. Each obtained result from Taguchi [37] method experiment is converting to a “signal-to-noise” ratio. At this rate, the optimal value (average) is called the signal, and the undesirable value (standard deviation) is called the noise. According to the objective function which is to maximize the crew’s satisfaction, the higher S/N means more desirability of results. Therefore, the maximum point of the graph is selected for each parameter. Also, the corresponding level is considered as the optimal level. The estimated values for GA parameters using the Taguchi [37] method are illustrated in Table 3 and Figure 5.Table 3
GA parameter values.
Max iterPop sizeCRMR4001000.30.4Figure 5
The S/N ratio for the genetic algorithm.


## 4.1.1. Presentation of Solution

The genetic algorithm uses the concept of chromosome to set parameters that offers a proposed problem solution. In practice, the chromosome is a string of solutions to solve the problem. The proposed chromosome can be designed as a string of discrete variables, binary numbers, and a continuous vector based on type of the problem. As a result, choosing an appropriate display form of the chromosome is an essential aspect of algorithm design. The designed chromosome for the proposed CRP is made up of the two-row vector. The number of columns in this vector is equal to the number of pairingsP. The first and second rows specify the pilot number and the co-pilot number, respectively.


## 4.1.2. Generating the Initial Solution

In this paper, the co-pilots are randomly assigned to each pairing. Therefore, each compatible co-pilot gets selected to operate in pairingP. As an example, 6 pairings, 5 pilots, and 5 co-pilots are available (pilots are numbered from 1–5, and co-pilots are numbered from 6–10). An initial solution for the co-pilots assigned to the pairing is shown in Figure 1. To avoid assigning of a crew member to nonconsecutive pairings, Constraint (7) is applied to prevent the generation of infeasible solutions.Figure 1
Chromosome with 5 co-pilots and 6 pairings.Pilot assignment process begins after all co-pilots get placed in their pairings. Each eligible pilot may get assigned to pairingP randomly, if the following conditions met:(1)
The pilot should not be in conflict with the co-pilot(2)
An inexperienced co-pilot must be accompanied by an experienced pilot in each pairing(3)
Set of flights which may be assigned to a specific pilot in a sequenceThe pilot row is determined according to Figure2 for the chromosome.Figure 2
Chromosome with 5 pilots, 5 co-pilots, and 6 pairings.


## 4.1.3. Generating a New Solution

A suitable operator for generating a random neighborhood solution depends on to the nature of the problem. The CRP is an allocation problem; therefore, we considered the appropriate operators to generate new solutions. These operators are defined in the following section.(1) Mutation Operator. By using the swap operator, two pilots or two co-pilots are selected from two pairings and get swapped if the following conditions are met:(i)
The co-pilot and the pilot are inconsistent(ii)
If an inexperienced co-pilot is not paired with an experienced pilot(iii)
Pairings that may not be done sequentially by one pilot or co-pilotFor the mutation operator, a random number between 0 and 1 is generated. If the number is less than 0.5, a swap operation is performed on the co-pilots, and if it is greater than 0.5, it is performed on the pilots. Swapping the co-pilots of pairingsP5 and P3 is presented in Figure 3.Figure 3
Swap operator.(2) Crossover Operator. Figure 4 shows the single crossover operator for the CRP. Selecting the pilot/co-pilot row is similar to Section 4.1.3.1 for crossover operator as well.Figure 4
Single crossover.The proposed chromosome in this paper complies with all constraints of the model except for the maximum/minimum flight hours for crews and maximum time away from the base for crews. To tackle this problem, a penalty function strategy is applied. Therefore, the average violation of these constraints is multiplied by a big number and then subtracted from the objective function.


## 4.1.4. Genetic Parameter Tuning

In the genetic algorithm, maximum iterations, population size, crossover rate, and mutation rate parameters affect the performance of the algorithm. In this study, the Taguchi [37] is applied to get the best value for mentioned parameters. Each of the GA parameters is considered at three levels, as presented in Table 2.Table 2
GA parameter levels.
ParametersLevelsMax iter200, 300, 400Pop size80, 100, 120CR0.4, 0.5, 0.6MR0.2, 0.3, 0.4Not all but only part of the factors may reach to their best level in Taguchi’s [37] method. Each obtained result from Taguchi [37] method experiment is converting to a “signal-to-noise” ratio. At this rate, the optimal value (average) is called the signal, and the undesirable value (standard deviation) is called the noise. According to the objective function which is to maximize the crew’s satisfaction, the higher S/N means more desirability of results. Therefore, the maximum point of the graph is selected for each parameter. Also, the corresponding level is considered as the optimal level. The estimated values for GA parameters using the Taguchi [37] method are illustrated in Table 3 and Figure 5.Table 3
GA parameter values.
Max iterPop sizeCRMR4001000.30.4Figure 5
The S/N ratio for the genetic algorithm.


## 4.2. Computational Results for Test Problems

The model is solved for a real case: Air India airline. Before solving the case study, 30 test problems in different scales are generated and solved using GAMS and GA to justify GA’s efficiency in solving the proposed model. This operation is performed on a laptop with 16 GB RAM and Windows 10 64 bit. To illustrate the model results, a problem with 10 crew members is explained in detail. In this example,C1′, C2′, and C3′ are assumed experienced pilots, while C6′ and C7′ are inexperienced co-pilots. Table 4 shows the data for this test problem. By solving the model, crew assignment is done. According to Table 5, one pilot and one co-pilot who are not inconsistent are assigned to each pairing. Crew’s rosters can be easily concluded from Table 5. To illustrate, Figure 6 displays the first pilot’s monthly roster. As the planning horizon is one month, a crew member may handle several pairings if flight hour constraints are met.Table 4
Data for 10-crew problem.
CrewsTAFBcmax (hour)TFcmax (hour)TFcmin (hour)Inconsistent withPilotsC1′15001000150C8C2′15001200150—C3′15001200150—C415001200150—C515001200150C7′Co-pilotsC6′14001100100—C7′14001100100C5C814001200100C1′C914001200100—C1014001200100—Table 5
Crew assignment to pairings.
PairingsCrewsPilotCo-pilotp1C1′C6′p2C3′C6′p3C2′C7′p4C3′C8p5C3′C7′p6C4C10p7C4C10p8C5C8p9C3′C6′p10C1′C9p11C5C10p12C4C8p13C3′C7′p14C2′C9p15C5C10p16C3′C9p17C3′C6′p18C5C8p19C3′C10p20C4C9p21C2′C10p22C4C8p23C1′C7′p24C2′C7′p25C5C9p26C2′C6′p27C3′C8p28C4C10p29C1′C9p30C5C10p31C4C8p32C1′C10Figure 6
The first pilot’s monthly roster.The results of applying the proposed model for 30 numerical examples with different sizes are presented in Table6. In solving numerical examples by GAMS, the CPU time has been set to 10,800 seconds. According to Table 5, the performance of the GA to solve the proposed model is justified due to two reasons: (1) the maximum optimality gap between the genetic algorithm and exact solution is only 1.482%, and (2) in medium and large-sized problems, the CPU times in the GA are considerably less than GAMS.Table 6
The results of test problems.
Problem no.No. of pairingNo. of crewGAMSGAGap (%)ZCPU time (s)ZCPU time (s)Small1321019.4251.51319.42514.7690.0002401426.0133.03126.01316.0110.0003701845.80662.78245.80617.1920.00041002267.219785.03267.21917.8110.00051302685.756921.65785.74419.7030.014616030103.3521002.140101.8220.0021.482719034118.4841095.006117.32120.8920.981822038133.1051101.482132.00821.4750.824925042153.0761125.015152.60123.3430.3101028046165.0812925.515165.00027.1070.049Medium1135060190.3804500.703188.23440.9611.1271240066227.3456938.796227.01146.1450.1461345072253.2619441.422252.63147.4120.2481450078278.20510800299.00859.604—1555084305.82910800320.95263.843—1660090333.30710800392.00068.060—1765096361.16110800444.13271.949—18700102385.51310800486.06084.737—19750108400.19210800505.82298.110—20800114434.37710800589.19498.364—Large211000200539.37310800871.750133.021—221500250801.701108001003.108152.605—232000300934.006108001236.115179.881—2425003501170.196108001501.914197.001—2530004001242.201108001600.691205.514—2635004501413.135108001985.340231.109—2740005001496.866108002010.646253.002—2845005501606.530108002174.000269.836—2950006001689.977108002586.109342.168—3055006501842.583108003004.212379.617—A comparison between the CPU times in GA and GAMS is shown in Figure7. As maximum solution time has been set to 10,800 seconds in GAMS, computations in problems 14–30 are terminated after three hours.Figure 7
A CPU time comparison between the exact method and GA.A comparison of the results between the results of GAMS and genetic algorithm is shown in Figure8. The results of the objective function are shown in Figure 8. The green and orange points represent the objective function values resulted from GA and GAMS, respectively. It is worth noting that GAMS solution time has been limited to three hours. As a result, GAMS did not reach the optimum solution in problems 14 to 30.Figure 8
Comparison of the objective function values resulted from GAMS and genetic algorithm.


## 4.3. Case Study

Air India is a well-known airline in India, headquartered in New Delhi. As one of the biggest international airlines, Air India has 11% of the domestic market share [38]. Air India’s main hub is Indira Gandhi International Airport in New Delhi, with a secondary hub at Chhatrapati Shivaji Maharaj International Airport in Mumbai. According to reports in 2019, Air India fleets include Airbus and Boeing that serve 170 destinations all over the world [32].To solve the proposed model for the case study, a genetic algorithm was applied and the Taguchi [37] approach was used to adjust its parameters. This case included 6190 pairings and 1340 (co)-pilots. The model was solved in 761.188 seconds, and the optimum value of the objective function was 5034.002. The convergence of the GA results is shown in Figure 9. Converging after 400 iterations indicates good solution quality.Figure 9
Convergence of the GA results for Air India data.As discussed in Section3, the objective function includes two terms: score and penalty for assigning crew to desirable/undesirable pairings. According to the Air India results, crew members were assigned to their preferred pairings in 72% of assignments. Table 7 shows the monthly rosters of 20 experienced pilots, and 20 co-pilots as a small sample. Moreover, the attendance days of 90 co-pilots in the required training courses are presented in Table 8.Table 7
Monthly rosters for Air India.
PilotsPairingsCo-pilotsPairingsC1′p3-p15-p410-p892-p2001-p3871C791p93-p297-p305-p1165-p1374C2′p765-p1380-p4200-p4811-p6152C792p728-p923-p1224-p2411-p3005C3′p1-p938-p1778-p5499-p6002-p6112C793p999-p1717-p2060-p3525C4′p57-p21-p743-p766-p1001C794p14-p783-p1183-p4625-p5365C5′p216-p1230-p2571-p4921-p5101-p5314C795p1338-p3902-p4382-p4902-p6190C6′p8-p841-p3598-p4009-p4021-p4566C796p210-p1403-p3788-p5582-p6128C7′p943-p2223-p3467-p5005-p5127-p5128C797p48-p655-p804-p893C8′p51-p394-p1857-p2311-p6188C798p1195-p3109-p5198-p5727C9′p1072-p3725-p4000-p4282-p5920C799p375-p831-p1289-p3911-p3927C10′p790-p1943-p2144-p2756-p3512-p6180C800p202-p876-p934-p1010-p1256C11′p21-p726-p1451-p2727-p5934-p6107C801p1689-p4405-p4816-p4970-p5037C12′p1191-p2980-p3104-p3788-p5582-p6128C802p234-p928-p1440-p1796C13′p285-p961-p1367-p3504-p4597-p5202C803p656-p1275-p2239-p3061-p3400C14′p1036-p4436-p4677-p4920-p5135C804p1008-p1115-p1152-p4636C15′p30-p673-p1558-p2640-p3525-p5555C805p1261-p1674-p1730-p1954-p2338C16′p470-p1379-p1776-p1969-p1985-p6161C806p313-p630-p1177-p2646-p4789C17′p1321-p3040-p5162-p5343-p5691-p6002C807p880-p1326-p1687-p2053-p2188C18′p811-p1296-p2239-p3061-p3400C808p1453-p2007-p2396-p5731-p5766C19′p277-p952-p3028-p4816-p5582-p6128C809p934-p2915-p3251-p3256C20′p500-p942-p1101-p5366-p5712-p6001C810p496-p1831-p3140-p6024-p6097Table 8
Attendance in training courses held on different days.
Co-pilotsTraining coursed1d2d3d4d5C701′×C702′×C703′×C704′×C705′××C706′×C707′×C708′×C709′×C710′×C711′×C712′×C713′×C714′×C715′×C716′×C717′××C718′×C719′×C720′×C721′×C722′×C723′×C724′×C725′×C726′×C727′×C728′×C729′××C730′×C731′×C732′×C733′×C734′×C735′××C736′×C737′×C738′×C739′×C740′×C741′×C742′×C743′×C744′××C745′×C746′×C747′×C748′×C749′×C750′×C751′×C752′××C753′×C754′×C755′×C756′×C757′×C758′×C759′×C760′×C761′××C762′×C763′×C764′××C765′×C766′×C767′×C768′×C769′××C770′×C771′×C772′×C773′×C774′×C775′×C776′×C777′×C778′×C779′×C780′×C781′×C782′×C783′×C784′×C785′×C786′×C787′×C788′×C789′×C790′×To compare the performance of the proposed model with the previous research studies in which undesirable assignment penalty had not been considered, penalty term was removed from the objective function and constraint (12) was also disabled. By removing penalty concept, 2065 undesirable pairings are assigned to crews. This means that each crew will have an average of at least two undesirable pairings per month. However, our proposed model has reduced the number of undesirable rosters to 739, which is about 61.59% less than the previous models.


## 4.4. Robust Optimization

In this section, Bertsimas and Sim [10] approach is used to formulate the robust counterpart of the proposed model. The approach of Bertsimas and Sim leads to a linear robust model, while it is independent of knowing the distribution of data and control of the level of protection through parameter Γ [39].TAFB is subject to several factors such as flight time, flight duration, and connection time, which makes it an uncertain parameter. By considering different values for Γ (0≤Γ≤1), the robust model was solved for numerical example 3, and the results of GAMS and GA were compared. After justifying the performance of the GA, the robust model was applied to the case study and the results were analyzed (Table 9).Table 9
Robust model results.
CaseNo. of crewNo. of pairing⌈GAMSGAGPA (%)ZCPU time (U)zCPU time (U)Numerical example 3 (small-scale)1870045.80663.12045.80619.0430.0000.145.7979326.90645.80132.1520.0090.245.7974109.89145.79737.7660.0000.343.81516977.54744.22141.0080.9270.443.36111378.53143.89635.4231.2340.542.7896024.20843.05728.1090.6260.642.2297466.00242.61226.1550.9070.742.2291509.37342.57729.0000.8240.842.2293882.04142.41629.9760.4430.942.2291557.60042.41633.4410.443142.2292493.14342.41634.2120.443Case study134061900——5034.002784.006—0.1——5030.811797.155—0.2——5023.722849.000—0.3——4988.430835.637—0.4——4988.430802.543—0.5——4971.959871.012—0.6——4965.123896.424—0.7——4954.700903.111—0.8——4954.361928.639—0.9——4954.361930.007—1——4954.361995.295—As represented in Table9, the optimality gap of GA for numerical example 3 is negligible. Therefore, the performance of GA to solve the robust model is acceptable. According to the robust model applied to the case study, the model acts more conservatively by increasing of the Γ. In the case of Γ=1, it guarantees that feasible solution to be at its maximum value and the objective function to be at its minimum value. Figure 10 shows the total weighted desirability obtained from the genetic algorithm for 400 iterations.Figure 10
The obtained total weighted desirability from the genetic algorithm for case study.


## 5. Conclusions

Crew scheduling problem is often divided into CPP and CRP and solved consecutively to reduce complexity. In this article, a novel MIP model was introduced for CRP. The difference between the proposed model and previous research is considering a scoring mechanism instead of bidding for preferred pairings, crew seniorities, and inconsistent crew. In addition, the model considers common rules and regulations as well as crew attendance at the required training courses. With this advantage, obviously, better solutions are obtained. Moreover, the robust counterpart of the nominal CRP model was presented to the uncertainty of mission time of the crews (TAFB). In addition, the suggested model’s efficiency was assessed using real-world data from Air India Airline. Because the model was NP-hard, the CPLEX solver in GAMS was used for 13 first test problems, and the GA was utilized for 30 test problems with different scales and the case study. The results show that GA has a 1.482% average gap in optimum solution compared to exact solution. The proposed CRP is computed utilizing Air India data, which is one of the largest international carriers. Air India provides services to 170 destinations in 31 countries. The proposed model was tested for 6190 pairings and 1340 crews. For this real-world data, the objective function value was 5034.002 with 761.188 seconds of computational time. This research has two limitations that can be improved in future research studies. The first one is that (co)-pilots’ medical checks have not been considered. The second one is that reserve crew have not been included in the model. Moreover, the following suggestions can be considered for future research [40–42]:(i)
Considering a fair distribution of working time among crew members(ii)
Providing an integrated model for CRP with other steps of the airline scheduling problem, and considering disruption for the crew rostering(iii)
Developing the cooperative game between airlines to exchange crews among them



---

*Source: 8415169-2022-08-29.xml*