The multi-objective airline crew pairing problem tries to find a subset of feasible pairings such that all flights are covered and each objective function is minimized. For this problem, we propose two mathematical models: a novel mathematical model that contains logical relationships, and an integer programming model based on all feasible pairings enumerated by a depth-first search method. To solve the problem, we propose an improved multi-objective evolutionary algorithm, which is a non-dominated sorting genetic algorithm that distinguishes individuals using the distance between the objective vector corresponding to each solution and an adaptive evaluation vector. The proposed algorithm uses the direction of the adaptive evaluation vector and the Pareto orientation for guidance to derive Pareto solutions. We also use a repairing strategy and a local optimization strategy for deriving feasible and better solutions. For this problem, in our experimental results, the performance of the proposed algorithm is superior to those of the traditional nondominated sorting genetic algorithm Ⅱ and another multi-objective genetic algorithm.
The airline planning problem is a very challenging problem. However, because of the high complexity of this problem, it is often divided into four subproblems: flight arrangement problem, fleet assignment problem, aircraft routing problem, and crew scheduling problem. In fact, the optimal solution of each subproblem is the input of the next subproblem. These topics have been reviewed by Wen et al.[1]
Because crew costs are the second largest after fuel costs for airlines, the crew scheduling problem is of great significance. However, the crew scheduling problem is an NP-hard problem, which means that it can not be exactly solved within a reasonable computational time. Thus, the crew scheduling problem usually consists of two subproblems: the crew pairing problem and the crew rostering problem. Most researchers have been concentrated on the crew pairing problem[2-3]. Evolutionary algorithms (EAs) are often used to solve the single-objective airline crew pairing problem. To derive a solution, the solving process using evolutionary algorithms generally is segmented into two stages: the enumeration of the feasible pairings and the optimization process. Zeren and Özkol[4] proposed a perturbation operator to improve a genetic algorithm, this operator enhanced the convergence of the genetic algorithm and the stability of the results. In addition, they also considered the case of multiple crew bases. Çetin and Deveci[5] proposed an improved genetic algorithm with updating search space to solve the crew pairing problem with medium scale. Moreover, their study possessed characteristics of multiple objectives. But they still solved the single-objective crew pairing problem. In 2018, they also proposed two variants of a genetic algorithm and a memetic algorithm[6]. In their experimental results, they indicated that the performance of the memetic algorithm was better than that of the other genetic algorithms. Currently, many authors focus on the single-objective crew pairing problem, where this problem finds a subset of minimum-cost feasible pairings that cover all flights. However, for the multi-objective crew pairing problem, few authors have conducted the research.
Generally, for a multi-objective problem, traditional approaches are used to reformulate the multi-objective problem into a single objective problem. The weighted sum is one of the conventional approaches. On one side, the priority of objectives can be considered to set the weighted parameter of each objective by the weighted sum approach in the solving process. However, we often do not know their priority or what setting weighted parameters is appropriate, and the derived solution may depend on the used weighted parameters. On the other side, in the solving process, one tries to find the best solution that is often the global maximum or global minimum for a single objective problem. However, for the multi-objective problem, the best solution may not exist[7], there exists a set of Pareto-optimal or non-dominated solutions. Therefore, we prefer to find multiple Pareto solutions by a multi-objective optimization algorithm in this paper. Multi-objective evolutionary algorithms (MOEAs) are one of the most effective tools for finding multiple Pareto solutions[8]. In recent decades, MOEAs have been constantly studied and applied. Schaffer[9] proposed a vector evaluated genetic algorithm (VEGA) for solving multi-objective optimization problems, and the author opened up a new research field of MOEAs. Subsequently, various MOEAs have been proposed to solve multi-objective optimization problems. Horn et al.[10] proposed a niched Pareto genetic algorithm (NPGA). Srinivas and Deb[7] proposed a non-dominated sorting genetic algorithm (NSGA), and indicated that the NSGA was better than the VEGA through experimental comparisons. Deb et al.[11] proposed a non-dominated sorting genetic algorithm with lower complexity and elitism, the algorithm is called NSGA-Ⅱ. There are also many other MOEAs, for example, MOGA[12], SPEA[13], MOEA/D[14], NSGA-Ⅲ[15], and LMEA[16]. In these algorithms, in particular, NSGA-Ⅱ is extensively applied in many fields. NSGA-Ⅱ uses the fast non-dominated sorting method for ranking and the crowded distance for preserving diversity at each rank. NSGA-Ⅱ and its variants have been applied successfully by Chen et al.[8] to solve the integrated aircraft routing and crew pairing problems, and by Chen et al.[17] to address the integrated short-haul airline crew scheduling problem. In addition, Chou et al.[18] proposed a method of inequality-based multiobjective genetic algorithm (called MMGA) for solving an aircraft routing problem.
In this paper, to solve a multi-objective airline crew pairing problem (MOCPP), we first propose a novel mathematical formulation and an integer programming formulation. Secondly, we propose an improved multi-objective evolutionary algorithm, namely, a non-dominated sorting genetic algorithm with the distance between the objective vector corresponding to each solution and an adaptive evaluation vector (NSGA-AEV). In other words, we propose a novel method for preserving diversity in this improved multi-objective evolutionary algorithm, where the novel method contains the distance between the objective vector corresponding to each solution and an adaptive evaluation vector, instead of the crowded distance used in NSGA-Ⅱ. Therefore, NSGA-AEV contains the direction of the adaptive evaluation vector and the Pareto orientation as guidance in the iterative process. By contrast, NSGA-Ⅱ only provides the Pareto-based guidance. A repair strategy and a local optimization strategy are used to find feasible and better solutions. Finally, we will indicate that the performance of NSGA-AEV is better than those of NSGA-Ⅱ and MMGA, via the comparison of the experimental results.
1 Problem definition
For the MOCPP, we consider several aspects relevant to operational costs. The number of duties determines the number of required crew, which further determines the personnel cost structure. Overnight at the nonbase incurs additional overnight expenses for crews to perform their next duty. The deadhead not only adds extra transportation costs but also may lead to reducing crew availability.
Given a crew base and a set of flights operated by an aircraft type, the MOCPP tries to find a subset of feasible pairings such that the total number of duties, the total number of deadheads, and the total number of overnights are minimized, where each flight is covered at least once by pairings and each pairing starts and ends at the same base. A pairing contains a sequence of one or more duties separated by overnights. A duty is a time period that is composed of a sequence of flights or deadheads separated by sit time. For two successive flights in a pairing, the arrival airport of a flight must be the departure airport of the next flight. A flight is the time period from aircraft take-off to landing, it is also called flight leg or leg. If a flight in which the crew is treated as passengers transfers the crew from one airport to another for performing subsequent flights or back to base, this flight is called a deadhead. Because two successive flights within a duty need time for a turnaround, this time is called sit time or transition time. A connection between two successive duties in a pairing is called an overnight, layover or rest.
In addition, duties and pairings satisfy some constraints for safety. Each duty must be subject to the maximum number of landings (denoted as ), the maximum flying time (denoted as ), and the maximum duty elapsed time (denoted as ). We denote by and the minimum and maximum of the sit time, respectively. Each pairing must be subject to the maximum number of duties (denoted as ) and the maximum pairing elapsed time (denoted as ). We denote by the minimum overnight delivery.
2 Problem formulation
According to the definition of the MOCPP, in this section, we propose a novel mathematical formulation that contains logical relationships and an integer programming formulation based on all enumerated feasible pairings.
2.1 A novel mathematical formulation
Haouari et al.[19] proposed a digraph that contains four arc types for the daily crew pairing problem. Similarly, we also present a digraph that contains four arc types for the MOCPP. We denote by the set of all flights, by the set of flights that depart from the crew base, and by the set of flights that arrive at the crew base, where each flight is characterized by the corresponding duration, the departure time, the departure airport, the arrival time, and the arrival airport. Let b be the crew base. We define and as the sit time between two successive flights and in a duty, and the overnight time between two successive flights and that belong to two different duties in a pairing, respectively. The sit time and overnight time are computed as follows:
• , if ;
• , if .
We define an acyclic digraph for a given flight schedule, where {o,d} is the set of nodes and is the set of arcs. Figure 1 shows an example of the graph . Each flight is represented by a node. The source node and sink node represent the crew base that a pairing starts and ends. Each legal connection between and is represented by an arc . The set E is composed of the set of start arcs,the set of sit-time arcs, the set of overnight arcs, and the set of end arcs that are defined as follows:
• An arc if and only if . The arc means that the first flight of a pairing starts from the crew base .
• An arc if and only if flights and are successive in a duty. Namely, the arc must satisfy (i) ; (ii) ; (iii) ; and (iv) .
• An arc if and only if flights and are successive and belong to two different duties in the pairing. Namely, the arc must satisfy (i) ; (ii) ; and (iii) .
• An arc if and only if . The arc means that the last flight of a pairing ends at the crew base .
Since each path from the source node to the sink node in corresponds to a pairing, we denote by all paths from the source node to the sink node in . For a path and a flight , we denote by the total accumulated number of landings from the source node to the node , by the total accumulated duty flying time from the source node to the node , by the total accumulated duty elapsed time from the source node to the node , by the total accumulated number of duties from the source node to the node , and by the total accumulated pairing elapsed time from the source node to the node , where , , , , and are computed as follows:
• For an arc , if , then , , , , and .
• For an arc , if , then , , , , and .
• For an arc , if , then , , , , and .
Because the MOCPP finds a subset of pairings such that all objective functions are minimal, each flight is covered, and each pairing satisfies all restrictions and rules of pairing construction, we need to find this subset that satisfies all conditions. We denote by the subset of . Let be all flights covered by . In addition, if a path contains the node , it is defined as ; otherwise . The restrictions of the problem are formulated as follows:
• The number of landings per duty in a pairing restriction
where
The number of landings per duty in a feasible pairing should not exceed .
• The flying time per duty in a pairing restriction
where
The duty flying time should not exceed in a feasible pairing.
• The duty elapsed time per duty in a pairing restriction
where
The duty elapsed time should not exceed in a feasible pairing.
• The number of duties in a pairing restriction
,
where
The number of duties should not exceed for a feasible pairing.
• The pairing elapsed time restriction
where
The pairing elapsed time should not exceed for a feasible pairing.
• The complete including all flights restriction
where
Each flight is covered at least once by feasible pairings.
Next, the objective functions of the problem are formulated as follows:
• The total number of duties is defined as
where is the number of duties for the pairing .
• The total number of deadheads is defined as
where is the number of deadheads for the pairing .
• The total number of overnights at the nonbase is defined as
where is the number of overnights at the nonbase for the pairing .
Finally, we propose the following formulation
minimize , , ;
subject to .
where is a subset of and is also a variable. The objective function (1) finds a subset of to minimize the total number of duties, the total number of deadheads, and the total number of overnights. In the formula (2), constraints ensure that each pairing in is feasible, in addition, constraint ensures that each flight is covered at least once by pairings in , and flights covered more than once by pairings are considered as deadheads.
The formulation is not a traditional programming formulation. In fact, it is a formulation that contains logical relationships.
2.2 Integer programming formulation
To solve the proposed formulation, we must find all paths from the source node to the sink node in, but this can lead to a very long computational time. To reduce the computational time, we enumerate all feasible pairings by a depth-first search algorithm[6, 20]. In addition, because of the large restrictions of pairing construction, for the computational convenience, we enumerate all feasible duties by the depth-first search algorithm. Subsequently, we enumerate all feasible pairings based on all feasible duties by the depth-first search algorithm. Next, we propose an integer programming formulation based on all feasible pairings.
We denote the set of all feasible pairings by . Based on all feasible pairings, the MOCPP is reformulated as follows
subject to
Three objective functions (3)-(5) find a subset of feasible pairings to minimize the total number of duties, the total number of deadheads, and the total number of overnights. Constraint (6) ensures that each flight is included at least once in feasible pairings, and flights covered more than once by pairings are considered as deadheads. In the formula (7), is a binary variable and means that if pairing p is selected, then ; otherwise, .
3 Solution methodology
In this section, to solve the MOCPP, we propose an improved multi-objective evolutionary algorithm called NSGA-AEV. The biggest difference between MOEAs and EAs is the fitness assignment of the population. Therefore, like other genetic algorithms (GAs), the iterative process of NSGA-AEV also includes these stages: initial population generation, fitness calculation, selection, crossover, and mutation. In addition, a chromosome in NSGA-AEV is a solution of the MOCPP, which is also called an individual. The proposed NSGA-AEV is described in detail below.
Consider any two feasible solutions and corresponding to objective vectors and , respectively. dominates if and only if the following expression is satisfied
where , and is the number of objective functions, it is denoted as or . If a solution can not be dominated by others, then the solution is called a Pareto-optimal solution (Pareto solution) or non-dominated solution. All Pareto-optimal solutions form a Pareto-optimal set.
Liu et al.[21] have indicated that the convergence rate of GAs with an optimal vector treated as a guiding search direction may be more effective than that with the guidance of multiple directions. However, the centralized search direction may cause the loss of some properties in this way. To avoid this, we use the Pareto orientation and the direction of the adaptive evaluation vector (AEV) for guidance in this paper.
3.1 The non-dominated sorting and ranking method
We use the same method used in NSGA-Ⅱ for the non-dominated sorting and ranking. Please refer to Deb et al.[11] for more details on the non-dominated sorting and ranking method. The aim of the non-dominated sorting and ranking is to group all individuals in the population into several ranks. Figure 2(a) shows an example that individuals in the population are grouped into three ranks. At this example, all individuals at the same rank don't dominate each other, and each individual at a lower rank dominates each individual at a higher rank.
3.2 The proposed preserving diversity method
Because it is unknown whether an optimal solution and its corresponding objective vector exist for the MOCPP, an adaptive evaluation vector (AEV) is used for guidance. Firstly, we compute the minimum value of each objective function for the current population. Secondly, these minimum values are formed as the following vector: . The value of AEV may vary in the iterative process. To preserve diversity, the distance between the AEV and the objective vector corresponding to each individual is computed. The pseudo-code of the proposed algorithm is given in Algorithm 1.
In step 1, we initialise . The value of the AEV is computed in step 2. In steps 3-5, when is less than or equal to the maximum number of ranks, we set all individuals … at the rank and set . When is less than or equal to the number of objective functions, the objective function values of all individuals at the rank are computed in steps 6 and 7. In step 8, the distance between the - objective function value of each individual at the rank and the component of the AEV is computed by the expression (8). In addition, because the denominator of equation (8) may be zero, to avoid this, we add 1 to the denominator of equation (8). In step 9, is assigned the value of +1. When all distances of each individual at the rank are computed, the summation of all distances of each individual is computed by the expression (9) in step 11. In fact, the summation is regarded as the distance between each individual at the rank and the AEV, so it is referred to as the distance mentioned in the following text. In Fig.2(a), we show an example that distinguishes between two different individuals at the same rank. At this example, we denote the distance between the individual and AEV by , and the distance between the individual and AEV by . Here, and are different so that and are distinguished. In Fig.2(b), we show that the crowded distance between the individuals is the sum of and , where and are the side lengths of the moment, respectively. The crowded distance between the individuals is related to individuals -1 and +1 at the same rank.By Fig.2(a) and 2(b), we observe that the proposed distance has direction that AEV is used for guidance, however, the crowded distance has no direction for guidance. Therefore, at each iteration, the solutions found by using the proposed distance may be better than those found by using the crowded distance.
We analyze the computational complexity of Algorithm 1. The value of the AEV is computed when this algorithm is applied to the current population. Because the - component of the AEV is the minimum value of the - objective function, the sorting algorithm is used. Therefore, the computational complexity of the algorithm is , where and is the number of objective functions and the size of the current population, respectively.
3.3 Fitness assignment
For the fitness assignment, we use the following method. For any two different individuals and , if the formula
is satisfied, then is better than . The above expression signifies that an individual at a lower rank is better than those at a higher rank, or an individual close to the AEV is better than those far away when their ranks are equal. For example, in Fig.2(a), the individual at the first rank is better than the individual or at the third rank. Because the individual and are at the third rank and the distance is less than the distance , the individual is better than the individual .
3.4 Coding and decoding of crew pairings
There are two coding types that are a binary coding and a real coding based on row and column[6], respectively, for solutions of the MOCPP in a GA. Because the MOCPP is formulated as a 0-1 integer programming formulation, we use binary coding. The length of a chromosome using binary coding represents the number of all feasible pairings. In addition, each gene in the chromosome represents a corresponding pairing whether it is selected. If a pairing is selected, its corresponding gene will become the value of 1. If a pairing is not selected, its corresponding gene will become the value of 0. Figure 3 shows an example of a chromosome containing eight genes (pairings).
3.5 Initial population
Zeren and Özkol[4] proposed a method to generate an initial population that includes N feasible individuals. The method can find higher quality initial individuals. It means that if no gene covers a flight in an individual, then one of all pairings covering the flight is selected for assigning the gene. Thus, the number of deadheads is reduced by the method. Although N feasible individuals are created by the method, they are not necessarily optimal or sub-optimal.
3.6 Genetic operators
Because two different individuals in the population are always compared in the fitness assignment method, we use a binary tournament selection method with higher efficiency[4]. However, other selection methods may be considered beyond two individuals at the population, such as, the front reservation method used in Chen et al.[17]. For crew pairing problem, Park and Ryu[22] proposed a greedy crossover method. Aydemir-Karadag et al.[2] proposed a problem specific crossover procedure and an inner mutation. Çetin and Deveci[5] used one point crossover and a bit-flip mutation approaches to generate a new offspring. Deveci and Çetin[6] still used these approaches to generate a new offspring. Chen et al.[17] used uniform crossover, partially matched crossover, reset mutation, and reverse mutation approaches for an integrated crew scheduling problem. In this paper, we use one point crossover approach that has better performance and a bit-flip mutation approach which avoids the algorithm falling into local search.
3.7 Repairing strategy
A feasible individual should include each flight in the set of all flights. However, the individuals in offspring generated by the crossover and mutation phases may not be ensured to be feasible. Beasley and Chu[23] proposed a method to repair non-feasible individuals. Firstly, flights not included in an individual are identified. Secondly, the following expression is used to decide that pairings covering identified flights in the first step are added to the individual, so that non-feasible individuals are feasible
.
The numerator of the expression (10) uses the cost of crew pairing as in Beasley and Chu[23]. Every time period can have expenditures in a pairing, so we use the total pairing elapsed time to replace the cost of the pairing. Please refer to Beasley and Chu[23] for more details on the repairing strategy.
3.8 Local optimization strategy
To reduce redundant pairings for each individual, we use a local optimization strategy. The aim of the local optimization strategy is to judge whether an individual is feasible when the pairings included by the individual are removed from the individual. Please refer to Algorithm 5 described in Çetin and Deveci[5] for more details on the local optimization strategy.
3.9 Detailed steps of NSGA-AEV
The parameters of NSGA-AEV are denoted as follows: population size , crossover probability , mutation probability , and the maximum number of generations. The pseudo-code of NSGA-AEV is given in Algorithm 2. Figure 4 shows the flowchart of NSGA-AEV.
4 Computational experiments
We use a real-world data set from 2021 China Graduate Mathematical Modeling Competition. The dataset includes 206 flights and a base. The convergence of NSGA-AEV is analyzed. The comparison of convergence of NSGA-AEV, NSGA-Ⅱ and MMGA is discussed under the same circumstances. The genetic parameters are set as follows: population size 50, crossover probability 0.9, mutation probability 0.2, and the maximum generation 1 000 (the total number of iteration is 1 001 from 0 to 1 000 generation) through repeated experiments. The specifications of the hardware environment and programming language are 13th Gen Intel(R) Core(TM) i9-13900K at 3.00 GHz and Python, respectively.
4.1 Convergence of NSGA-AEV
Figure 5 shows that the case of solutions derived by NSGA-AEV with the repairing strategy and without a repairing strategy is very different. With the repairing strategy, the solutions derived by NSGA-AEV are feasible from 0 to 1 000 generations. On the contrary, without a repairing strategy, we derive many non-feasible solutions, and the number of non-feasible solutions may increase in the iterative process. Therefore, for the MOCPP, if there is no the search direction of feasible solutions, this algorithm may not be convergent or derive many non-feasible solutions.
Figures 6 and 7 show the minimum sum of all objective function values and the case of the number of iterations reaching convergence in ten runs for NSGA-AEV with the local optimization (LOS) and without a local optimization strategy, respectively. The minimum sum of all objective function values means that the minimum sum of objective vector components is given at each iteration. The quality of solutions derived by NSGA-AEV with the local optimization strategy is higher than that of solutions derived by NSGA-AEV without a local optimization strategy in Fig.6. On the other hand, in Fig.7, we observe that the convergence rate of NSGA-AEV without a local optimization strategy is slower than that of NSGA-AEV with the local optimization strategy for most runs excluding runs 3, 5, and 6. Thus, if NSGA-AEV does not use the local optimization strategy, then it may fall into local Pareto solutions.
4.2 Comparison of convergence of NSGA-AEV, NSGA-Ⅱ, and MMGA
We use the number of iterations reaching convergence (NIRC) and the performance measure function [13] for the comparison of convergence of NSGA-AEV, NSGA-Ⅱ and MMGA.
Firstly, in Table 1, we see that the convergence rate of NSGA-AEV is faster than those of NSGA-Ⅱ and MMGA in most runs. The main reason is that the search direction of NSGA-AEV is more concentrated than those of NSGA-Ⅱ and MMGA. However, the average CPU time (i.e. runtime) of NSGA-AEV is longer than those of NSGA-Ⅱ and MMGA in Table 1. The main reason is that the CPU time spends computing AEV in the proposed preserving diversity algorithm of NSGA-AEV so that the CPU time of NSGA-AEV is increased.
Secondly, the function is defined as follows
where and are two sets of Pareto solutions and means that or . The equation means that the existing solutions in dominate or are equal to all solutions in . On the contrary, the equation means that non-existent solutions in dominate or are equal to any solution in . Since and may not be equal, we have to consider both and . The qualities of solutions are exposed by the result analysis of and . Mostly, the true Pareto-optimal set for a real-world problem is usually intractable. However, the function does not require a true Pareto-optimal set, so it is used to measure the solution quality for a real-world problem. Table 2 shows the results of performance measure by approach for NSGA-AEV and NSGA-Ⅱ in 20 runs. The results indicate that the performance of NSGA-AEV outperforms that of NSGA-Ⅱ for the MOCPP in most runs. In addition, Table 3 shows the results of performance measure by approach for NSGA-AEV and MMGA in 20 runs. The results indicate that the performance of NSGA-AEV outperforms that of MMGA for the MOCPP in most runs. In fact, we only derive a Pareto solution by NSGA-AEV or NSGA-Ⅱ in each run, so the values of are 1 or 0. Although, at each run, we may derive multiple Pareto solutions by MMGA, the Pareto solution derived by NSGA-AEV can or can not dominate or be dominated by all Pareto solutions by MMGA so that the values of are also 1 or 0.
5 Conclusion
The MOCPP has been solved in this paper. For the MOCPP, we consider some practical constraints and three objective functions which are the total number of duties, the total number of deadheads, and the total number of overnights. We propose two mathematical models and a novel algorithm, namely, NSGA-AEV to solve the MOCPP.
Finally, we indicate that NSGA-AEV not only explores high quality non-dominated solutions and improves the convergence by the repairing strategy and the local optimization strategy, but also performs better than NSGA-Ⅱ and MMGA under performance indices.
The contribution of three aspects is included in this paper: 1) we propose a novel mathematical formulation, and an integer programming model that is based on all feasible pairings enumerated by a depth-first search method; 2) we propose a novel algorithm NSGA-AEV that preserves the diversity of the population by the distance between the objective vector corresponding to each solution and an adaptive evaluation vector; 3)we use a repairing strategy and a local optimization strategy to explore high quality non-dominated solutions.
WenX, SunX T, SunY G, et al. Airline crew scheduling: models and algorithms[J]. Transportation Research Part E: Logistics and Transportation Review, 2021, 149: 102304. DOI: 10.1016/j.tre.2021.102304 .
[2]
Aydemir-KaradagA, DengizB, BolatA. Crew pairing optimization based on hybrid approaches[J]. Computers & Industrial Engineering, 2013, 65(1): 87-96. DOI: 10.1016/j.cie.2011.12.005 .
[3]
CrawfordB, CastroC, MonfroyE. A hybrid ant algorithm for the airline crew pairing problem[M]//Lecture Notes in Computer Science. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006: 381-391. DOI:10.1007/11925231_36 .
[4]
ZerenB, Özkolİ. An improved genetic algorithm for crew pairing optimization[J]. Journal of Intelligent Learning Systems and Applications, 2012, 4(1): 70-80. DOI: 10.4236/jilsa.2012.41007 .
[5]
Çetin DemirelN, DeveciM. Novel search space updating heuristics-based genetic algorithm for optimizing medium-scale airline crew pairing problems[J]. International Journal of Computational Intelligence Systems, 2017, 10(1): 1082-1101. DOI: 10.2991/ijcis.2017.10.1.72 .
SrinivasN, DebK. Multiobjective optimization using nondominated sorting in genetic algorithms[J]. Evolutionary Computation, 1994, 2(3): 221-248. DOI:10.1162/evco.1994.2.3.221 .
[8]
ChenC H, ChouF I, ChouJ H. Multiobjective evolutionary scheduling and rescheduling of integrated aircraft routing and crew pairing problems[J]. IEEE Access, 2020, 8: 35018-35030. DOI: 10.1109/ACCESS.2020.2974245 .
[9]
SchafferJ D. Some experiments in machine learning using vector evaluated genetic algorithms[D]. Nashville, USA: Vanderbilt University, 1985.
[10]
HornJ, NafpliotisN, GoldbergD E. A niched Pareto genetic algorithm for multiobjective optimization[C]//Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence. Orlando, FL, USA. IEEE, 1994: 82-87. DOI: 10.1109/ICEC.1994.350037 .
[11]
DebK, PratapA, AgarwalS, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J]. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182-197. DOI: 10.1109/4235.996017 .
[12]
FonsecaC M, FlemingP J. Genetic algorithms for multiobjective optimization: formulation discussion and generalization[C]//Proceedings of the 5th International Conference on Genetic Algorithms. ACM, 1993: 416-423. DOI:10.5555/645513.657757 .
[13]
ZitzlerE, ThieleL. Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach[J]. IEEE Transactions on Evolutionary Computation, 1999, 3(4): 257-271. DOI:10.1109/4235.797969 .
[14]
LiH, ZhangQ F. Multiobjective optimization problems with complicated Pareto sets, MOEA/D and NSGA-Ⅱ[J]. IEEE Transactions on Evolutionary Computation, 2009, 13(2): 284-302. DOI: 10.1109/TEVC.2008.925798 .
[15]
DebK, JainH. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part Ⅰ: Solving problems with box constraints[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4): 577-601. DOI: 10.1109/TEVC.2013.2281535 .
[16]
ZhangX Y, TianY, ChengR, et al. A decision variable clustering-based evolutionary algorithm for large-scale many-objective optimization[J]. IEEE Transactions on Evolutionary Computation, 2018, 22(1): 97-112. DOI: 10.1109/TEVC.2016.2600642 .
[17]
ChenC H, LiuT K, ChouJ H. Integrated short-haul airline crew scheduling using multiobjective optimization genetic algorithms[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2013, 43(5): 1077-1090. DOI:10.1109/TSMC.2012.2234943 .
[18]
ChouT Y, LiuT K, LeeC N, et al. Method of inequality-based multiobjective genetic algorithm for domestic daily aircraft routing[J]. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 2008, 38(2): 299-308. DOI: 10.1109/TSMCA.2007.914784 .
[19]
HaouariM, MansourF Z, SheraliH D. A new compact formulation for the daily crew pairing problem[J]. Transportation Science, 2019, 53(3): 811-828. DOI: 10.1287/trsc.2018.0860 .
[20]
DuX B. Research on Integrated Optimization of Airline Crew Scheduling[D]. Beijing: Beijing Jiaotong University, 2020.
[21]
LiuT K, ChenC H, ChouJ H. Optimization of short-haul aircraft schedule recovery problems using a hybrid multiobjective genetic algorithm[J]. Expert Systems with Applications, 2010, 37(3): 2307-2315. DOI: 10.1016/j.eswa.2009.07.068 .
[22]
ParkT, RyuK R. Crew pairing optimization by a genetic algorithm with unexpressed genes[J]. Journal of Intelligent Manufacturing, 2006, 17(4): 375-383. DOI: 10.1007/s10845-005-0011-z .
[23]
BeasleyJ E, ChuP C. A genetic algorithm for the set covering problem[J]. European Journal of Operational Research, 1996, 94(2): 392-404. DOI: 10.1016/0377-2217(95)00159-X .