Planning of Aircraft Fleet Maintenance Teams

: This paper addresses a support information system for the planning of aircraft maintenance teams, assisting maintenance managers in delivering an aircraft on time. The developed planning of aircraft maintenance teams is a computer application based on a mathematical programming problem written as a minimization one. The initial decision variables are positive integer variables specifying the allocation of available technicians by skills to maintenance teams. The objective function is a nonlinear function balancing the time spent and costs incurred with aircraft ﬂeet maintenance. The data involve technicians’ skills, hours of work to perform maintenance tasks, costs related to facilities, and the aircraft downtime cost. The realism of this planning entails random possibilities associated with maintenance workload data, and the inference by a procedure of Monte Carlo simulation provides a proper set of workloads, instead of going through all the possibilities. The based formalization is a nonlinear integer programming problem, converted into an equivalent pure linear integer programming problem, using a transformation from initial positive integer variables to Boolean ones. A case study addresses the use of this support information system to plan a team for aircraft maintenance of three lines under the uncertainty of workloads, and a discussion of results shows the serviceableness of the proposed support information system.


Introduction
The airline industry is nowadays facing a significant crisis caused by the Severe Acute Respiratory Syndrome Coronavirus-2 (SARS-CoV-2), which might in the future be embodied as the most impacting crisis in the history of the industry. According to the latest data in March 2021, the intra-Europe and intercontinental flights are 66% and 58% below 2019 flight levels, respectively, and worldwide flight departures are 40% lower than pre-pandemic levels [1]. This crisis affects all the aviation industry, e.g., aircraft and engine manufacturers, components and materials supply chain, and maintenance and repair organizations (MROs). Some companies will not survive, and many will face mergers and acquisitions. The sector looks for more efficient, cost-effective processes, values flexibility, and searches for new opportunities to endure.
The airline market is highly regulated and monitored, impacting the efficiency of the operation [2]. An airline company that achieves a competitive improvement in aircraft maintenance has gains by giving wings for lower fares, less downtime, higher hangar availability, greater aircraft rotation, and lower operating cost [3]. Therefore, aircraft MRO service is a pivotal action for the airline business in allowing for the reduction of operating costs, improving aircraft punctuality [4] and efficiency [5], while increasing safety and decreasing the likelihood of incidents and accidents [6,7].

Aircraft Maintenance
An aircraft MRO is an organization specialized in performing maintenance, repair and overhaul, and actions on an aircraft and components, from the entry into service until the disposal of the aircraft. The aircraft age, a mix of hours flown and landing cycles, regulations issued by aviation authorities, and engineering analysis is data to plan the maintenance package. Daily, the aircraft MRO performs scheduled maintenance tasks, from simple routine ones to complex overhauls to overcome systems and components going into degrading performance. For instance, line maintenance is the scheduled maintenance during the time in transit between flights; A-Check has a duration from 6 to 36 h depending on the fleet, is roughly run every two months, and includes visual inspections, lubrication, and quick components replacements; C-Check, which may be several weeks depending on how heavy the level of disassembly and structural inspection is, runs every 18 to 24 months. Some typical disassembly and structural inspection are the removal of seats, toilets, galleys, overhead compartments, engines, and landing gears.
Airline companies expect that the aircraft fleet is as most fully utilized as possible during the stated useful lifetimes, putting pressure on MROs to mitigate losses of revenue due to downtime and demanding minimal cost and improved reliability. Therefore, an MRO to be competitive must have efficient, efficacious, and effective management. The cost imputed to an aircraft by an MRO is due to the following aspects: direct maintenance cost, including direct labor and materials needed for maintenance tasks, and maintenance burden, including airline overhead, acquisition and maintaining cost of equipment, tools, buildings facilities, and other indirect costs [17]. In addition, meaningful is the opportunity cost due to the number of days for which an aircraft is out of service since inhibited revenue is a virtual disbursement [18]. The direct labor hours of a check is the sum of the duration each group of certified skilled technicians takes to perform the work manageable by the respective skill. In the case study of this paper, direct labor due to teams of certified skilled technicians engaged in performing maintenance tasks have the following skills, i.e., avionics, systems, and structures. The planning of aircraft maintenance teams is overwhelming for decision-makers to decide without a support information system, i.e., is not compliable with the inherently human expertise. For instance, in Section 5 Case Study, although there are only three aircraft, the number of decisions and constraints involved does not allow an expert to take the most appropriate decision, implying a higher downtime. In addition, in 2018, airlines reported to the International Air Transport Association (IATA) an average direct maintenance cost of $3.6 million per aircraft and 14% of this value was due to base maintenance [19], meaning a yearly cost of around $0.5 million in hangar maintenance per aircraft. Additionally, to the direct maintenance cost, the opportunity cost due to downtime affects the total maintenance cost by around 5% daily penalty [20]. Thus, considering the average values, the impact of delaying the hangar downtime by not allocating an optimal team of technicians of the correct skills has a daily impact of $25,000, showing the relevance of this paper for the airline industry.

Framework Setting
The purpose of this paper is to assess the planning of aircraft fleet maintenance teams by defining an appropriate set of certified skilled technicians from a group of available ones [10]. The required data are the values related to the costs breakdown and industrial limitations that influence the allocation of technicians to work in accordance with the required skills for aircraft maintenance. The data are usually obtained, as in other decision contexts, according to the hypothesis that the experience acquired and conveniently updated is the most relevant asset to project future decisions. Thus, the data come from information on past aircraft fleet maintenance checks carried out by an MRO, allowing determining the most convenient number of technicians per skill. Consider from the MRO the data concerning a feasible set F = {1, 2, . . . , F} of fleet f to go under a maintenance program. The fleet f is a set K f = 1, 2, . . . , K f of aircraft k to go under check c belonging to a set of checks C k = {1, 2, . . . , C k } that are by contract and regulation mandatory on aircraft k performed by certified skilled technicians X s in the set of skills = {1, 2, . . . , S}, having skill s. In addition, consider that the aircraft fleet f aircraft k under check c has a maintenance cost MC f kc and revenue opportunity cost RC f kc , that is, the cost that the company incurs for not flying aircraft k. Then, the sum of all MC f kc plus RC f kc is, by assignment, the total cost imputed to maintenance TC on the fleets F, i.e., the expression for cost TC is as follows: where t f kc is the time spent on the respective check, and for fleet f aircraft k to go under check c, and MC f kc has three main parcels as follows: where MHC f kc is the cost associated with the labor required to perform the maintenance check, that is, the cost due to the hours of work incurred by the use of certified technicians with appropriate skills to perform check c, MSC f kc is the cost of executing the work package assigned to the aircraft check due to necessary components, materials, and services, that is, the amount disbursed by the MRO in materials, standard parts, chemicals, consumables, components, and expenses with subcontracting services, FAC f kc is the cost associated with facilities required to perform check c, and cost MHC f kc is shown as follows: where where DC f k is the daily amount of the lost revenue on fleet f aircraft k. If the time spent on maintenance is less than the scheduled, the aircraft is considered available for flights before the scheduled delivery date. This availability, shortening maintenance time and consequently giving the potential for additional revenue, is an asset that favors the airline. The total number of certified skilled technicians is limited to the available workforce, and the constraint is as follows: where X s is the total number of available certified skilled technicians assigned to the feasible set F of fleets f to go under maintenance. In addition, an aircraft under check has a confined working space where the maximum number of technicians can work simultaneously under safety conditions. Therefore, due to the confined spaces available for work, the constraint is as follows: where A f kc is the maximum number of technicians of all skills assigned to work simultaneously on fleet f aircraft k under check c.

Problem Formulation
The goal of the support information system for the planning of aircraft maintenance teams is to find, from a set of certified skilled technicians, the team assignment for the maintenance of the set of fleets F. This goal is in the framework of mathematical programming the minimization of the incurred cost of maintenance as shown by Equation (1), subject to the constraints shown as Equations (7) and (8). An illustration of the setting for the problem is in Figure 1.  Only costs that depend directly or indirectly on labor hours incurred by the workforce of certified skilled technicians having appropriate skills to perform the required checks are relevant for the goal of achieving the minimization. Other costs which are not dependent on the decision variables are not meaningful in the scope of the problem formulation. The relevant costs are the variable term of cost shown by Equation (2) and cost shown by Equation (6). The mathematical programming problem is as follows: where are the decision variables, giving the number of certified skilled technicians having appropriate skills to perform the checks. The problem is a nonlinear integer programming problem due to the objective function. The time spent with the maintenance of the fleet is a function of given as follows: As is well-known, the objective function of a mathematical programming problem divided by a positive non-null value provides an equivalent objective function to establish the same optimal decisions. For instance, consider a value smw as follows: = min { ( + )ℎ ; = 1,2, … , ; = 1,2, … , ; = 1,2, … , }.
Then, let: where is the parameter cost ratio for each check of aircraft of fleet relative to the values of the check used as a reference for the maintenance parameter costs. In addition, the problem can be rewritten as a pure integer linear problem to benefit from well-established commercial solvers. The rewritten problem followed in this paper uses the transformation of variables as follows:  Only costs that depend directly or indirectly on labor hours incurred by the workforce of certified skilled technicians having appropriate skills to perform the required checks are relevant for the goal of achieving the minimization. Other costs which are not dependent on the decision variables are not meaningful in the scope of the problem formulation. The relevant costs are the variable term of cost MC f kc shown by Equation (2) and cost RC f kc shown by Equation (6). The mathematical programming problem is as follows: where x f kcs are the decision variables, giving the number of certified skilled technicians having appropriate skills to perform the checks. The problem is a nonlinear integer programming problem due to the objective function. The time spent with the maintenance of the fleet T f is a function of x f kcs given as follows: As is well-known, the objective function of a mathematical programming problem divided by a positive non-null value provides an equivalent objective function to establish the same optimal decisions. For instance, consider a value smw as follows: Then, let: (14) where CR f kc is the parameter cost ratio for each check c of aircraft k of fleet f relative to the values of the check used as a reference for the maintenance parameter costs. In addition, the problem can be rewritten as a pure integer linear problem to benefit from well-established commercial solvers. The rewritten problem followed in this paper uses the transformation of variables as follows: (15) where u sj are the new decision variables, having the Boolean value of 1 if the assignment is performed by technician j; otherwise, the Boolean value is null. The inverse transformation of Equation (15) is trivial, and every integer decision variable x f kcs , having values in the set {1, 2, . . . , X s } introduces X s new Boolean variables u sj , giving a total number of Boolean variables # Boo as follows: where # Boo is at least equal to S and may have a much larger number than the total number of the integer variables. After using the transformation of variables given by Equation (15) in Equations (9)-(12), the transformed equation is the formulation for the support information system proposed in this paper stated as follows: In Equations (17)-(21), there are no nonlinear terms, i.e., the transformed equation is a pure linear integer programming problem with only Boolean decision variables, beneficiating from the efficiency and efficacy of the available commercial optimization solvers, i.e., circumventing the use of nonlinear integer solvers. Other constraints are possible, as long as the transformation of variables shown by Equation (15) does not pass nonlinearities into the transformed formulation. However, for the sake of simplicity, the constraint due to the available workforce shown by Equation (10) and the space for work shown by Equation (11) are the only ones explicitly in the formalization.

Case Study
Consider an airline demanding from an MRO three lines of maintenance, one line for large regional aircraft (LRJs), and two lines for small regional aircraft (SRJs). The three lines require the support of a direct labor team of certified skilled technicians in systems, structures, and avionics. The setting for the problem is two fleets, one with two aircraft and the other with one aircraft, and a partition of the production workforce into three sets of skills, as shown in Figure 2. due to the available workforce shown by Equation (10) and the space for work shown by Equation (11) are the only ones explicitly in the formalization.

Case Study
Consider an airline demanding from an MRO three lines of maintenance, one line for large regional aircraft (LRJs), and two lines for small regional aircraft (SRJs). The three lines require the support of a direct labor team of certified skilled technicians in systems, structures, and avionics. The setting for the problem is two fleets, one with two aircraft and the other with one aircraft, and a partition of the production workforce into three sets of skills, as shown in Figure 2.   . Some of the data for this planning, especially the one concerned with the costs and the time spent on the check per skilled technicians, have uncertainty, i.e., for the same maintenance, more than one scenario of data occurs in the stored data of the MRO. Eventually, the number of scenarios is high, implying a reduction, for instance, the identification of scenarios showing considerable similarity. However, this identification, given by clustering methodology, deserves an appropriate treatment by an artificial intelligence application, which is out of the scope of this paper. Therefore, the data in the case study are, by assumption, previously treated to deliver the characteristic one for the parameters of the MRO. On average, the ratio of labor hours between SRJ and LRJ checks is 96%, and the partition of labor hours by skills is in Table 1. Table 1. Average labor by skill relative to each fleet average total labor.

Aircraft Systems (%) Structures (%) Avionics (%)
Small regional aircraft (SRJ) 61% 25% 14% Large regional aircraft (LRJ) 72% 18% 11% The average downtime cost ratio due to the revenue loss of SRJs relative to that of LRJs is 50%. The average facilities daily costs relative to the daily downtime cost is in Table 2. Table 2. Aircraft facilities daily cost relative to each aircraft's daily downtime cost.

Facilities LRJ (%) SRJ (%)
Daily cost 17. 5 10 Labor, one factor of production for the check, is scarce in availability and subject to constraints, due to not only the limited skilled technicians under assignment but also the maximum number of technicians due to the confined spaces for SRJ and LRJ checks in compliance with the data shown in Table 3. A Monte Carlo simulation implemented in Python generates hundreds of possible maintenance checks, assuming a normal distribution of the population. A random subsample of 99 different scenarios for each of the three aircraft under maintenance stored in a data structure generated 970,299 combinations of maintenance possibilities. The generation of scenarios runs only once to simulate a historic data bank. The problem Equations (17)-(21), modeled in the programing language Python and solved by the solver GLPK Integer Optimizer v4.57 by considering a sample of 970,299 skill workload groupings of systems, structures, and avionics provided by Monte Carlo simulation, assigns the number of technicians needed and the percentage of maintenance checks performed by an optimal team dimension, as shown in Table 4.  Table 4 shows the optimal number of technicians required to accomplish the percentage per skill displayed in the workload scenarios selected by the Monte Carlo simulation. This simulation allows feature extraction about the team allocation, ordered triple per skills (systems, structures, and avionics) of technicians that accomplish the maintenance of a percentage of the total amount of the sampled scenarios. For instance, the SRJ 1 needs a team with the triple (9,6,3) technicians to complete at least 50% of the sampled population highlighted in orange, a team of technicians with the triple (13,8,4) to complete at least 90% of the sampled population highlighted in yellow, and a team of technicians with the triple (16,11,6) to complete 100% of the sampled population highlighted in green, but this last allocation is infeasible due to the confined space for this aircraft, i.e., the maximum number of 25 technicians at work is exceeded. The SRJ 2 needs teams of technicians with the triple (9,5,3), (13,7,4), and (16,10,6) to complete at least 50% (orange), 90% (yellow), and precisely 100% (green) of the sampled population, respectively, but the last team allocation is infeasible. The LRJ needs teams of technicians with the triple (17,7,4), (21, 10, 5), and (24, 12, 7) to complete at least 50% (orange), 90% (yellow), and precisely 100% (green) of the sampled population, respectively, but the last allocation is infeasible, i.e., 40 technicians allowed is exceeded. This feature extraction from the scenarios and the other data of the case study allows concluding that, due to the available 63 technicians, only at least 50% of the sampled scenarios are possible to be completed. Therefore, an increase in the number of available technicians is favored, ensuring the completion of a wider percentage above 50% of the sampled scenarios.
The number of different teams, the statistic mode, and the allocation of technicians derived from the data collected from the optimization using the GLPK to address the 970,299 scenarios are in Table 5.  Table 5 shows that the GLPK provided 848 different teams for the SRJ 1 , and the more frequent team appearing 19,840 times has 9 systems, 5 structures, and 3 avionics technicians. For the SRJ 2 , the GLPK sets 854 different teams, and the most frequent team has 8 systems, 5 structures, and 3 avionics technicians appearing 22,381 times. For the LRJ, the most frequent team has 18 systems, 8 structures, and 4 avionics technicians. The SRJ 1 and SRJ 2 teams have a similar configuration, i.e., the difference is just only one more system technician. This configuration is, as expected, due to the inputs coming from two random samples of the same distribution. The LRJ has a different team setting, as the sample is from a different distribution and the maintenance for this aircraft allows 60% more mechanics to work simultaneously on the aircraft.
The distribution of the number of technicians into teams for the three aircrafts is in Figure 3. The number of different teams, the statistic mode, and the allocation of technicians derived from the data collected from the optimization using the GLPK to address the 970,299 scenarios are in Table 5.  Table 5 shows that the GLPK provided 848 different teams for the SRJ1, and the more frequent team appearing 19,840 times has 9 systems, 5 structures, and 3 avionics technicians. For the SRJ2, the GLPK sets 854 different teams, and the most frequent team has 8 systems, 5 structures, and 3 avionics technicians appearing 22,381 times. For the LRJ, the most frequent team has 18 systems, 8 structures, and 4 avionics technicians. The SRJ1 and SRJ2 teams have a similar configuration, i.e., the difference is just only one more system technician. This configuration is, as expected, due to the inputs coming from two random samples of the same distribution. The LRJ has a different team setting, as the sample is from a different distribution and the maintenance for this aircraft allows 60% more mechanics to work simultaneously on the aircraft.
The distribution of the number of technicians into teams for the three aircrafts is in Figure 3. Figure 3. Distribution of the total number of technicians in the teams for the small regional aircraft(SRJ)1, the SRJ2, and the large regional aircraft (LRJ). Figure 3 shows that, until 24 technicians, the distributions for SRJ1 and SRJ2 have a similar shape implied by the fact of coming from using the same sample. The SRJ1 has a mode of 17 technicians, and the SRJ2 has 16 technicians. The pick at 25 technicians for SRJ's is due to the constraint of confined spaces becoming active. This allows increasing the allocation of technicians to the LRJ, having a mode of 30 technicians. It would be interesting for the MRO to improve maintenance processes to increase the maximum number of technicians around the SRJ, increasing the support teams, removing some of the work out of the aircraft, and improving the allocation of technicians. Figure 3. Distribution of the total number of technicians in the teams for the small regional aircraft(SRJ) 1 , the SRJ 2 , and the large regional aircraft (LRJ). Figure 3 shows that, until 24 technicians, the distributions for SRJ 1 and SRJ 2 have a similar shape implied by the fact of coming from using the same sample. The SRJ 1 has a mode of 17 technicians, and the SRJ 2 has 16 technicians. The pick at 25 technicians for SRJ's is due to the constraint of confined spaces becoming active. This allows increasing the allocation of technicians to the LRJ, having a mode of 30 technicians. It would be interesting for the MRO to improve maintenance processes to increase the maximum number of technicians around the SRJ, increasing the support teams, removing some of the work out of the aircraft, and improving the allocation of technicians.
The data regarding the absolute frequencies of teams are in Figure 4.  Figure 4 shows the absolute frequencies of teams considering for illustration purposes of the scenarios, where the integer solution provides the allocation of a team with 3 avionics technicians for the SRJ1 and the SRJ2 and 4 avionics technicians for the LRJ, showing the data associated with 47%, 46%, and 34% of the total amount of scenarios, respectively.

Discussion
According to [10], the maintenance cost may increase by more than 10%, when non-optimal solutions are chosen. Figure 4 and Table 5 show the dispersion of optimal solutions for the wide variety of maintenance workloads and the most frequent solutions are only optimal for 1.9%, 2.3%, and 0.8% of the possibilities for the SRJ1, SRJ2, and LRJ, respectively. This result indicates the importance of having a software package to support the decision of the allocation of skilled technicians to aircraft maintenance checks. The definition of teams has to be dynamic when a new aircraft enters an MRO for maintenance. The team allocation decision will consider the amount of work that has still not been completed for ongoing maintenance checks and the total amount of work of the entering aircraft. Other aspects such as availability of materials, support equipment, and tools must be taken into account when defining the amount of work available for the team of technicians.
The solvers COBYLA and SLSQP are available in the SciPy optimize package, and the implementation for this case study is straightforward. The methods allow not only a multivariable approach but also the use of restrictions. These two algorithms provide solutions in a continuous space; thus, relaxing the decision variables to continuous ones is possible to obtain a continuous approximation to the integer result. COBYLA and SLSQP provide the exact same solution as the integer solver GLPK for 14.0% and 14.4% of the cases, respectively. Both solvers missed the exact solution around 15% of the cases by 1 technician, around 9% of the cases by 2 technicians, around 4% of the cases by 3 tech-  Figure 4 shows the absolute frequencies of teams considering for illustration purposes of the scenarios, where the integer solution provides the allocation of a team with 3 avionics technicians for the SRJ 1 and the SRJ 2 and 4 avionics technicians for the LRJ, showing the data associated with 47%, 46%, and 34% of the total amount of scenarios, respectively.

Discussion
According to [10], the maintenance cost may increase by more than 10%, when nonoptimal solutions are chosen. Figure 4 and Table 5 show the dispersion of optimal solutions for the wide variety of maintenance workloads and the most frequent solutions are only optimal for 1.9%, 2.3%, and 0.8% of the possibilities for the SRJ 1 , SRJ 2 , and LRJ, respectively. This result indicates the importance of having a software package to support the decision of the allocation of skilled technicians to aircraft maintenance checks. The definition of teams has to be dynamic when a new aircraft enters an MRO for maintenance. The team allocation decision will consider the amount of work that has still not been completed for ongoing maintenance checks and the total amount of work of the entering aircraft. Other aspects such as availability of materials, support equipment, and tools must be taken into account when defining the amount of work available for the team of technicians.
The solvers COBYLA and SLSQP are available in the SciPy optimize package, and the implementation for this case study is straightforward. The methods allow not only a multivariable approach but also the use of restrictions. These two algorithms provide solutions in a continuous space; thus, relaxing the decision variables to continuous ones is possible to obtain a continuous approximation to the integer result. COBYLA and SLSQP provide the exact same solution as the integer solver GLPK for 14.0% and 14.4% of the cases, respectively. Both solvers missed the exact solution around 15% of the cases by 1 technician, around 9% of the cases by 2 technicians, around 4% of the cases by 3 technicians. The COBYLA solver missed the exact solution for 59% of the cases by more than 3 technicians. SLSPQ missed the exact solution for 58% of the cases by more than 3 technicians. This result shows that the non-integer solvers are not suited for the allocation of technicians to maintenance.

Conclusions
The claim that the adequate allocation of technicians to teams for the maintenance of aircraft promotes the mitigation of expenses from airlines is a fact with board consensus in the technical literature. This is due to the possible reduction of costs incurred in the MRO operation of facilities and fleet downtime. The reduction of costs, due to the operation of the facilities and fleet downtime, requires a support information system for aiding the management in the decision of allocation of technicians to teams. Thus, a line of research and development of support for this decision offers a powerful aid to the planning of aircraft fleet maintenance. This paper is a contribution to this planning taken into consideration: the maintenance time required and the partition per skill, the aircraft facilities daily cost and cost arising due to the fleet downtime, the availability of certified technicians per skill, and the confined spaces for the workforce to work in safe conditions. The allocation of technicians to teams is an integer decision problem, and the relaxation of the integer decisions to continuous ones easily solved is, in general, not suitable for this problem due to solutions that are non-integer, severely jeopardizing feasibility. So, the planning developed in this paper is in the framework of an optimization problem written as a non-linear integer programming. This problem, further subject to a transformation of variables from integers to Boolean decision variables, is transformed into a pure linear integer programming problem, allowing the computation by an efficient and efficacious solver well-established for this optimization. A case study shows some of the applications of this planning regarding the extraction of features associated with the cost due to MRO facilities and fleet downtime, the availability of certified technicians per skill, the confined spaces, and scenarios for the workload designed by a Monte Carlo method.