A novel decision support system for optimizing aircraft maintenance check schedule and task allocation

Modern aircraft have thousands of parts, systems, and components that need to be recurrently inspected or replaced. To keep the fleet airworthy, maintenance planners have to schedule the maintenance checks for each aircraft and the associated tasks. In practice, these two complex problems are solved following the experience of planners, resulting in sub-efficient solutions. This paper presents the first decision support system (DSS) developed for optimizing both aircraft maintenance check schedule and task allocation. The DSS integrates aircraft maintenance check scheduling, task allocation to each maintenance check, and shift planning in the same framework. The practical relevance of the DSS is illustrated through three test cases. The results show that the DSS can be used not only to optimize maintenance plans but also to study future maintenance policies. The results reveal substantial improvements in all key performance indicators compared with the planning approach followed by a partner airline.


Introduction
Aircraft maintenance is a sequence of activities, including overhaul, repair, inspection, or modification of an aircraft or aircraft systems, components, and structures to ensure an aircraft retains an airworthy condition. In the aviation industry, a commercial aircraft must undergo regular maintenance to prevent component and system failures during operations. Many of the aircraft maintenance activities take place after an aircraft has been operating certain flight hours (FH), flight cycles (FC), or calendar days (DY). The FH, FC, and DY are known as usage parameters to indicate aircraft utilization. The maximum usage parameters allowed in operation are defined as inspection intervals.
Modern aircraft have thousands of parts, systems, and components that need to be recurrently inspected, serviced, and replaced. Many airlines adopt a top-down approach to plan aircraft maintenance: • Step 1 -Maintenance Check Scheduling First group major maintenance tasks with the same or similar inspection intervals into letter checks: A-, B-, 1 C-and D-check, as showed in Table 1. Each check type is coupled with an elapsed time (time required for the execution of tasks within letter checks + time estimated for other tasks). Maintenance planners then create a letter check schedule (3-5 years for C-/D-check and 6-12 months for Acheck) according to pre-defined elapsed time of each check type. The letter checks are performed in the hangar.

• Step 2 -Maintenance Task Allocation
Although some tasks can quickly be packaged into the letter checks, a large number of other tasks (e.g., more than 70% for an Airbus A320 aircraft) are dephased from the inspection intervals of these checks. It means that they either have to be manually allocated by maintenance operators to different maintenance events based on the suitability of the task to that check and the urgency of performing the task.
Despite the rapid expansion of the global air travel industry and the increase of fleet size, the advances in aircraft maintenance planning (AMP) have been struggling to keep up with the times. In practice, AMP involves scheduling maintenance checks to each aircraft, allocating tasks to each check, planning the workforce for each task, inventory optimization, and coordination of maintenance tools. For small airlines, AMP is not so demanding and can be done manually according to the experience of maintenance planners. For large airlines, the AMP problem becomes more complexmaintenance planners have to spend several days or weeks on scheduling maintenance activities because of the lack of efficient tools. Since, on average, 9%-10% of the total cost of airlines goes to aircraft maintenance, which is equivalent to about $2.5 M per aircraft per year [2], the savings derived from efficient AMP can be very substantial.
To facilitate the AMP process, many companies engage in developing AMP systems. For example, Ref. [3] developed one of the first AMP tools to improve maintenance efficiency and reduce associated cost. After that, many companies followed and developed various tools, e.g., Solumina MRO from iBASEt, Airline Suite from C.A.L.M Systems INC., WinAir from AV-Base Systems, and Maintenix from IFS, etc. To our best knowledge, all the available commercial tools focus on managing and tracking the status of the maintenance tasks, providing a valuable computer-aid solution to manual planning. However, none of them has the function of producing an optimized maintenance schedule automatically.
AMP is challenging due to the lack of optimization approaches for planning maintenance checks and associated tasks, even though there are many available computer-aid solutions. Two distinct limitations in the current academic and industrial state of the art can be discerned, as further discussed in Section 2: 1) a lack of decision support system (DSS) to optimize the maintenance check (A-, B-, C-and D-checks) schedule; 2) a lack of DSS for optimizing aircraft maintenance check and task execution in an integrated manner. In the literature, there is no work integrating the two problems in a single optimization framework.
In 2015, the AIRMES project was launched by Clean Sky Joint Undertaking, a public-private partnership between the European Commission and the European aeronautics industry, to optimize end-to-end maintenance activities within an airline operator's environment [4]. We developed a DSS during the project to automate the maintenance planning process and provide maintenance check scheduling optimization, optimal task allocation, and shift planning in one comprehensive solution. The contribution of our research is threefold: • The DSS integrates aircraft maintenance check scheduling, maintenance task allocation, and work shift planning in the same framework. In practice, these processes are solved using different tools, while in the literature, these are seen as three different problems handled separately. • We demonstrate that the DSS can improve aircraft utilization and reduce maintenance costs, compared with the current practice of airlines. It reduces the time needed for AMP from days or hours to 20-30 min. • We also present the usefulness of the DSS in helping airlines evaluate different aircraft maintenance strategies before implementation.
This paper presents the architecture of the resulting DSS and the corresponding optimization modules for maintenance check schedule, task allocation, and shift planning. We also discuss the applicability of the DSS by presenting the results from a case study with one major European airline and several industry partners. The case study validates the utility of the DSS for both maintenance planning optimization and future scenario analysis.
The outline of this paper is as follows: Section 2 gives an overview of the relevant literature on the aircraft maintenance domain. The DSS architecture is presented in Section 3, aircraft maintenance check scheduling optimization, task allocation, and shift planning as well as their corresponding algorithms. Section 4 describes the demonstration exercise with data from the partner airline. The last section summarizes the research with concluding remarks and gives an outlook on future work.

Related work
The aviation industry is extremely competitive in Europe. The average net profit of airlines usually represents only up to 4%-5% of revenues and about 9%-10% of the total cost goes to aircraft maintenance [2]. Efficient AMP is one useful way of reducing maintenance costs. The benefit of efficient AMP is two-fold: on the one hand, the increased aircraft availability indicates that there will be more aircraft available for commercial operations, and eventually, generating more revenues; on the other hand, it decreases the number of aircraft maintenance inspections, and therefore, reduces the maintenance operation costs in the long term. This section reviews the previous research on AMP from long-term planning (3-5 years) to short-term planning (several days to weeks).

Long-term aircraft maintenance planning
Long-term AMP aims to generate an aircraft heavy maintenance schedule (C-and D-checks) before determining the tasks within each check, also known as aircraft maintenance check scheduling (AMCS). It is indispensable since C-check has an interval of 18-24 months, and Dcheck is usually scheduled once every 6 years; airlines need a C-and Dcheck schedule to further plan the A-and B-checks and the associated tasks for all the (A-, B-, C-, and D-) checks. In 1977, Air Canada developed one of the first DSSs for the long-term AMCS, called AMOS [3]. AMOS was considered a computer-aid manual planning approach since the developers did not see the value of finding an optimal solution that could rapidly become obsolete due to uncertainty. It helped Air Canada reduce the time for planning a 5-year C-check schedule for its fleet from 3 weeks to a few hours. Besides, Ref. [3] defined the long-term (3-5 years) planning, and it is the only available reference of the long-term AMP category before 2020.
Following this research direction, Ref. [5] proposed a dynamic programming (DP) based methodology for long-term AMCS within the AIRMES project in 2020, adopting the assumptions, problem formulation presented in [3]. It aimed to optimize the aircraft maintenance check schedule for the future 3-5 years. This work is the first step towards building an integrated AMP framework, focusing on long-term AMP. The DP-based methodology generates an optimized 4-year schedule for both light and heavy maintenance within 15 min. The optimized maintenance check schedule can be further used to plan the maintenance tasks within each check and daily work shift.

Short-term aircraft maintenance planning
In contrast to the little available literature about long-term AMCS, there are many studies on short-term AMP in the topics of aircraft maintenance routing, maintenance personnel management, and maintenance task scheduling. The reason is that by optimizing short-term maintenance activities, airlines can see tangible benefits in a few days or weeks.

Aircraft maintenance routing
Aircraft maintenance routing (AMR) is to design flight routes for every aircraft to meet the maintenance requirements set by Federal Aviation Administration (FAA) and individual airline companies. Extensive research works have contributed to AMR through flight schedule design [6,7], determining routes flown by each aircraft [8][9][10], fleet assignment (assigning an aircraft model for each flight) [11][12][13],  [14][15][16], or even addressing the aircraft routing in conjunction with crew pairing [17][18][19]. These studies usually consider aircraft maintenance as an operational requirement but did not plan the maintenance checks or tasks.

Maintenance personnel planning
Maintenance personnel planning (MPP) is one of the main research directions of short-term AMP. An effective maintenance workforce supply can reduce operations costs while ensuring aviation safety and punctuality. It has attracted lots of attention from both industry and academia. Early in 1994, KLM Royal Dutch Airline and Erasmus University Rotterdam developed a DSS to smooth the workload of aircraft maintenance personnel by increasing the number of peaks of workloads and reducing the peak length [20]. It helped KLM improved the utilization of maintenance technicians (the ratio of productivity labor-hours to total available labor-hour). After that, many researchers envisioned the potential benefits and continued the MPP study, such as optimizing the workforce supply [21][22][23], or minimizing the total labor cost [24,25]. However, MPP usually assumes that maintenance tasks are given rather than planning the tasks.

Maintenance task scheduling
Maintenance task scheduling (MTS) refers to allocating maintenance tasks to time slots so that the tasks can be executed before due dates. It includes task scheduling for aircraft line maintenance (coordinating maintenance tasks to be carried out at the gate during turnaround time and the required maintenance resources), daily hangar maintenance, or work shift. There are some studies addressing the MTS for line maintenance, such as spreading the workload more uniformly across shifts [26], improving aircraft availability and reducing maintenance costs [27], or optimizing both workforce and tasks [28]. MTS for line maintenance planning has an operational nature. It only focuses on optimizing a limited number of maintenance tasks during aircraft turnaround time.
Task scheduling for daily aircraft hangar maintenance can be seen in [29]. According to the authors, optimizing the daily hangar maintenance tasks to be executed 24 h beforehand also maximizes the availability of fighting jets for the missions of the next day. The authors call attention to the fact that if we want to plan the daily maintenance task for each letter check, we have to look into a planning horizon longer than 24 h, especially for the C-/D-check. Besides, the daily maintenance task plan bridges the gap between AMCS and associated work shift planning. That is, we can better plan each morning/afternoon/evening shift and prepare the tools and aircraft spare parts if we know the daily maintenance tasks in advance. Hence, Ref. [30] proposed a bin packing approach to determine daily maintenance tasks (for each A-/B-/C-/Dcheck) given a long-term (3-5 years) maintenance check schedule for AIRMES. As a result, it gives a long-term (3-5 years) plan of maintenance tasks for each day and a heterogeneous fleet of aircraft.

Concluding remarks for literature review
To our best knowledge, most of the studies in the AMP domain focus either on AMR or MPP, assuming that the maintenance tasks are given. There are some studies on MTS, yet most of them focus on line maintenance problems. The long-term and short-term AMP was not yet considered in a single framework, nor was a DSS presented in the literature addressing the AMP. Synthesizing the literature review gives rise to two challenges in the AMP domain: 1. No DSS for aircraft maintenance planning optimization (AMPO) is presented in the academic literature that can generate an optimally integrated maintenance check and task execution plan at the fleet level.
2. Commercial DSSs addressing the fleet maintenance check level are relatively rare. Even so, they do not optimize the maintenance check schedule.
In practice, maintenance planners have to spend a significant amount of time and effort scheduling the aircraft letter checks and coordinating associated tasks execution activities. It can happen that with the aid of current DSSs, the maintenance planners still obtain an inefficient plan; this may, in the long-term, result in more letter checks and higher operation costs.
The DSS presented in this paper contributes to bridging two main research streams, long-term and short-term AMP, by integrating the AMCS problem and its methodology presented in [5], the MTS problem and the associated algorithm presented in [30], and a shift planning approach into the same framework.

System architecture
To address the challenges identified in Section 2, we developed a DSS specifically for AMP using the programming language Python and for Windows operating system. The DSS is a stand-alone software prototype and has already been converted to an executable file. It can be run on any individual PC without installation or a license. The DSS consists of three components (layers), a database, a model, and a graphical user interface (GUI): -Database: Store the input data, including the maintenance planning document (MPD) for aircraft manufacturers, fleet status, operational constraints, and available workforce from airlines. In this section, we present the structure of the DSS layer by layer, as illustrated in Fig. 1. We begin with description of database layer (Section 3.1) and input, followed by a detailed introduction of the optimization models and algorithm (Section 3.2). In Section 3.3, we outline the GUI of the DSS.

Database and input data
The database stores the input in the format of comma-separated values (CSV) and output in Excel. We classify the input into four categories:

Maintenance planning document
The maintenance planning document (MPD) is provided by the aircraft manufacturer. It specifies the maintenance tasks according to the aircraft structure, systems, and components, as well as corresponding inspection intervals (as described in Table 1). The MPD gives strict criteria for aircraft maintenanceall letter checks and tasks have to be performed before the corresponding usage parameters reached their maximums (intervals). Any violation of maintenance task execution will prevent the aircraft from flying because of safety concerns.

Fleet status
We use Table 2 to illustrate the structure input data. The column Fleet shows the aircraft type. Tail No. indicates the aircraft tail number. Before and Next represent the previous and next letter checks respectively. DY, FH and FC are the usage parameters of the fleet. fh/day and fc/day are the average daily utilization of the fleet. Phase-In indicates when an aircraft starts in commercial operation. This is relevant information as old aircraft will phase out after a certain number of checks, and meanwhile, airlines have new aircraft in operation. If an aircraft will phase out, we give "− 1" to its next A-/C-/D-check, meaning that no more A-/ C-/D-check needs to be scheduled. If the phase-in date of an aircraft is later than the current date, this aircraft only starts flying from the phasein date, and before that, its usage parameters remain 0.

Operational constraints
The operational constraints can be divided into two categories: commercial constraints and maintenance constraints. The operations center of airlines defines the commercial constraints. For example, the operations center may limit the availability of the aircraft to perform maintenance during commercial peak seasons (e.g., during the summer or specific holidays), or it may impose an earlier time limit to the maintenance check of a specific aircraft following the end of a leasing contract or the chartering of an aircraft to third parties.
The maintenance constraints are defined by the maintenance department, which specifies the maintenance capacity according to available maintenance resources, e.g., maintenance tools, workforce, and aircraft spare parts. This capacity is expressed as maintenance slots per day that define how many aircraft can be at the hangar for a specific type of maintenance. Furthermore, other maintenance constraints may apply, such as that no heavy checks can start on the same day to avoid high demanding works in parallel or that some aircraft already have maintenance predefined before computing the schedule. The latter takes place, e.g., when part of the maintenance program is executed by thirdparties or partially depends on third-parties, not being subject to rescheduling. A typical example of this is the replacement of landing gears or engines. Besides, maintenance task execution follows the sequence of opening the access panel, inspection, maintenance, and closing the access panel.

Workload of each task and available workforce
The workload of each task is provided by the airline. Each task associates a task code, a set of skill types required to perform the task, labor hours for each skill type defined by the MPD. If there are urgent unscheduled tasks, they can be added to the input with corresponding duration, workforce, and due dates.
The available workforce is the input given by airlines and divided per skill types (e.g., engines and flight control systems, avionics, aircraft metallic structure, and painting, etc.). The available workforce includes the total number of maintenance technicians per skill type, the number of hours a technician work per day on average, and the number of available technicians on each week in the year. The available workforce constrains the task allocation to maintenance checks because it is limited per day, according to the daily workforce schedule. Since aircraft maintenance work is usually ongoing 24 h every day, airlines divide the daily workforce into three groups of workers to perform their duties and call those groups morning shift, afternoon shift, and night shift. In the input data, the maintenance planners of airlines have to specify the maximum number of technicians in one shift and also for one task.

Optimization model and algorithms
The model layer has three optimization models in total: a maintenance check scheduling model (AMPO-1 in Fig. 1), a maintenance task allocation model (AMPO-2), and a shift planning model (AMPO-3). The design of the model layer follows the top-down approach. The DSS first generates an optimal aircraft maintenance check schedule in AMPO-1, then allocates the maintenance tasks to each maintenance check in AMPO-2. After that, it plans the shifts according to the maintenance tasks to be executed in each letter check.
The reason for following the top-down approach is that it is impossible to plan the work shifts before knowing the task execution or plan all maintenance tasks one after another for the entire fleet without knowing the maintenance check schedule. The maintenance check schedule indicates in which letter check a maintenance task could be allocated without violating the safety regulation defined by the MPD. The work shifts can only be planned based on the maintenance check schedule and the tasks to be executed within each check. The overall optimization process entails the following seven steps: Step I: Extract maintenance check and task inspection interval The Model component extracts the maintenance check interval and  inspection intervals of all tasks from the MPD stored in the database. The inspection intervals are the maximum DY/FH/FC allowed in commercial operation. Step

II: Collect DY/FH/FC of each aircraft and remaining utilization of all systems and components
The Model component loads the fleet status (current DY/FH/FC for each check type since its previous execution) and average aircraft daily utilization (FH/day and FC/day) stored in the database (the second step in the model layer of Fig. 1). It also collects the usage parameters of all aircraft systems and components and computes the remaining utilization of each system and component. For example, consider a component of an aircraft with max usage parameters 120 DY, 1000 FH, and 600 FC, and this aircraft has daily utilization of 10 FH/day and 5 FC/day. Given current usage parameters 500 FH and 250 FC, the remaining utilization of this component would be 50 days.
Step III: Identify maintenance opportunities and detailed operational constraints According to the input constraints from the operation center and maintenance department of airlines, the Model component identifies the maintenance opportunities. The maintenance opportunities indicate the time-window when a specific check type is allowed to be performed and the corresponding check capacity. Table 3 presents a format of maintenance opportunities stored in the database after input processing: For a specific maintenance check type, if a time window is not within any Start Date and End Date in Table 3, it means that the associated capacity for this period is 0.
Step IV: Generate optimal aircraft maintenance check schedule (AMPO-1) After processing and loading the input data, the user can specify the planning horizon for aircraft maintenance check scheduling (AMCS) optimization. The default planning horizon is three years to ensure that it includes at least one C-check for each aircraft, but the user can choose from two to six years.
The model formulation of AMPO-1 can be seen in Appendix A. Currently, there is only one objective function within the DSS for AMCS, minimizing the unused flight hours of the entire fleet [3] for a period specified by the user. It is possible to add more objectives or even multiobjectives later on. The optimal letter check schedule is generated using a dynamic programming (DP) based methodology, as presented in [5]. The idea is to check whether the maintenance capacity in the future is sufficient or not for each maintenance action (e.g., performing a C-check or several A-checks). This methodology follows a forward induction approach, incorporating a maintenance priority solution to deal with the multi-dimensional action vector, as well as a discretization and state aggregation strategy to reduce outcome space at each time stage. If the input data does not lead to a feasible maintenance check schedule, the DSS will suggest the best dates for adding necessary maintenance slots to make it feasible.
Step V: Generate optimal task allocation for maintenance checks for each aircraft (AMPO-2) Once the AMPO-1 plans the optimal letter check schedule for the entire fleet, the DSS allocates the maintenance tasks to each letter check, assuming that there are sufficient aircraft spare parts and maintenance tools. The task allocation aims at minimizing the total cost in task execution, subject to the daily available workforce. It adopts an algorithm based on the worst-fit decreasing (WFD) [30]. The task allocation algorithm treats the maintenance resources within each check as bins and the maintenance tasks as items. It consists of: • Bin Definition: The task allocation within AMPO-2 divides the entire aircraft letter check schedule into time segments (bins) according to the number of parallel maintenance checks. For example, in Fig. 2 The algorithm allocates the items (tasks) following the rules of "the most urgent item (task) first". Each maintenance task must be allocated before its due date; otherwise, it generates extra capacities and notifies the DSS user.
The model formulation of AMPO-2 is presented in Appendix B, the task allocation algorithm is described in detail in [30]. For the maintenance tasks that have to be executed in a strict order, the task allocation algorithm groups those tasks into a package, and this task package is also considered as one item (one big task). After that, the algorithm allocates the item (task package) to a bin (time segment of a maintenance check). In this way, it ensures that all tasks within the package will be executed. For instance, the maintenance tasks presented in Table 4 have to be executed in the order of: In this example, technicians have to execute task 1200-A (open the panel at component xxx) first. Otherwise, they cannot continue to inspect or replace the component xxx. After the technicians complete the task 1200-C, they have to execute 1200-D (close the panel at component xxx). The task allocation algorithm groups these four tasks into one package and label it as "Item 1200", providing information of the sequence when presenting the results to the user.
Step VI: Integrate the optimal maintenance check schedule and task allocation plan In this step, the DSS first creates a folder for each aircraft with the name "aircraft tail number + Time + Date", and decouples the entire maintenance check schedule obtained from AMPO-1 according to aircraft tail numbers. In each folder, it saves the associated maintenance checks in the format of Excel. Next, the DSS organizes all the maintenance tasks from AMPO-2 within the same letter check in one table in CSV format and puts this CSV file in the folder according to the aircraft tail number of the letter check. The user can compare or keep track of the historical optimization results according to the time and date in the folder name.
Step VII: Plan the maintenance workforce and shifts (AMPO-3) The Model component also has an algorithm (AMPO-3) to plan the shift (morning/afternoon/night), create job cards, and estimate the workload after the AMPO-2 completes the task allocation for all letter checks. Due to the uncertainty associated with the workforce available per shift in the long term, the optimal maintenance check schedule and task execution plan may quickly become obsolete. Thus, the AMPO-3 only creates the work shifts and job cards for the initial weeks (1-2 weeks) of the planning horizon.
The shift planning algorithm allocates the maintenance tasks to each shift, respecting the workforce available per shift and the sequence of opening access panel, inspection, maintenance, and closing access panel (and this is the only task execution sequence we have to follow in both AMPO-2 and AMPO-3 according to the specification of our airline partner). Fig. 3 illustrates the workflow of shift planning function (AMPO-3). AMPO-3 first assigns the tasks of opening the access panel to the morning shift. If there is no available workforce left in the morning shift, it continues to assign those tasks to the afternoon shift (or even night shift) until all the tasks of opening access panels are allocated. Next, the algorithm assigns the inspection works, and after that, the maintenance tasks. The tasks of closing the access panel are allocated at last. The shift planning process continues until it loops over the task execution plans of all maintenance checks. When it finishes, the DSS will store the results in the database according to the aircraft tail number of the tasks.

Graphical user interface
The GUI serves the purpose of interacting with DSS users. The DSS users can load input data, start the AMPO, visualize the optimization results and associated KPIs, change operational constraints (planning horizon, the number of maintenance slots, or reserve slots for specific maintenance activities), and export the output data via the GUI. Those actions are the basic requirements for the GUI from the DSS users, identified by the AIRMES project group.
The GUI of the DSS has a single main window, divided into five screens. The user can see the maintenance check schedule of all aircraft for the entire planning horizon on a daily basis or per hangar view on different screens. The GUI also displays key performance indicators (KPIs), the tasks allocated per maintenance check, the workforce assigned per day (of the first few weeks), the identification of the maintenance interval tolerances used, the maintenance slots generated as additional to the given capacity. The user can also use the GUI to set the planning horizon, modify the start dates of specific maintenance checks, and change the operational constraints, such as adding/reducing maintenance slots or reserve maintenance slots for other maintenance activities. We use Figs. 4 and 5 to illustrate the main features of the DSS.
In Fig. 4, the marker ① indicates the main screen of the DSS. The main screen displays the aircraft maintenance check schedule per day per aircraft, computation time, and the number of extra maintenance slots created during optimization for a specific planning horizon. The marker ② indicates the 2 nd screen of the DSS. The 2 nd screen displays the maintenance check schedule for the entire fleet in the hangar view. The marker ③ indicates the screen of displaying the KPIs, including the mean FH, mean FC, total maintenance checks, distribution of unused FH and FC for each check type, and the number of merged A-in C-/D-Checks.
In the 2 nd screen, the DSS user can further see the maintenance tasks of each check. If the DSS user selects a maintenance check, a dialogue box will be popped up to display the aircraft tail number, maintenance check label, current DY, FH, and FC. The user can click the button "Show Tasks", as indicated by marker ④ in Fig. 5. The DSS will display a list of maintenance tasks within the check and a figure that shows the workload distribution and the work shifts. The user can also change the start date of a specific check by clicking the button indicated by marker ⑤. The DSS will re-optimize the entire schedule according to the new specification from the user.

Demonstration and evaluation
The DSS was demonstrated and validated in a demonstration exercise organized as part of the AIRMES project, on 51 aircraft, in March 2019. The exercise was carried out in collaboration with one of the major European airlines and one of the leading aircraft manufacturers and observed by the Clean Sky 2 Joint Undertaking partners involved in the related research effort.
This exercise aimed to validate the value of the DSS and demonstrate its applicability, primarily for AMP optimization and the study of future maintenance scenarios. For this reason, two test cases were performed and discussed. In the first test case, we aimed to validate the DSS and benchmark its performance by comparing the solution obtained with the maintenance schedule of the airline. In the second test case, we investigated the current considerations of the airline about its future maintenance policies and fleet developments. The results were checked and validated by the airline experts, providing valuable insights to the airline on future maintenance limitations and solutions.

Standard aircraft maintenance check scheduling optimization on fleet maintenance data
We received the input for AMCS on March 19 th 2019 and optimized the A-and C-checks for the A320 family of our airline partner from

Table 4
An example of tasks that have to be executed in the order of A → B → C → D.
We compared our results with the maintenance schedule available at the airline (Airline Schedule). According to the results illustrated in Figs. 6 and 7, the AMPO-1 of the DSS outperforms the planning approach of the airline. The AMPO-1 results in 6946.5 FH for C-check and 705.1 FH for A-check, higher than 6783.8 FH and 701.1 FH from the maintenance schedule of the airline, but the result of AMPO-1 has one fewer C-check and three fewer A-checks. Our airline partner also checks the maintenance check schedule obtained using the DSS and agrees that the DSS generates a better schedule than the maintenance planners. Besides, the AMPO-1 of the DSS optimizes both the aircraft A-and C-check schedule for 2019-2021 within only 10 min. It means that the DSS user can run the DSS to update its aircraft maintenance check schedule if there are changes instead of manually shuffling the A-/C-checks to make another feasible one.
From a saving and revenue management perspective, since airlines spend on average $150 K-$350 K on a C-check [1] and $10 K-$15 K on an A-check, one fewer C-check and three fewer A-checks in total can result in a potential saving of $0.1 M-$0.4 M for the considered time horizon of roughly three years. Furthermore, a C-check lasts about 1-4 weeks, and an A-check lasts 24 h in this case study. One reduced Cchecks and three fewer A-checks are equivalent to about 10-31 days of aircraft availability for commercial operations. This may generate a     considerable amount of revenue for the airline. According to an economic evaluation performed by another Clean Sky project, the implementation of the DSS can potentially reduce the base maintenance costs by 2.7% for point-to-point carrier airlines, 0.5% for large hub and spoke carrier airlines, and 2.4% for small hub and spoke carrier airlines.
Following the demonstration of AMPO-1, we continued to test the task allocation (AMPO-2) of the DSS. The AMPO-2 allocated the maintenance tasks using the optimal maintenance check schedule created by the AMPO-1. It addressed the task allocation for maintenance check schedule of Mar 20 th 2019-Dec 31 st 2021 within 10 min. The outcome of AMPO-2 is an optimal task allocation plan for the entire fleet and all letter checks, including over 60,000 tasks. An example of the outcome from AMPO-2 can be seen in Fig. 8. To verify the AMPO-2, we compared the optimal task allocation plan with the results from a commercial optimization solver. The comparison showed that the AMPO-2 produces results within an optimality gap of only 0.028%. Our airline partner also validated the optimal task allocation plan and its feasibility by benchmarking our solution with the task allocation solution they had for the following year. The maintenance planners of the airline stated that the results from optimal task allocation are feasible for practical implementation.
After the AMPO-2 completed the optimal task allocation for all maintenance checks, the AMPO-3 planned the work shifts and creates job cards for technicians. Our airline partner set the horizon of shift planning for two weeks. Fig. 9 shows an example of the results from AMPO-3. The 1 st column shows the aircraft tail number. The 2 nd and 3 rd columns indicate the date and work shifts. The 4 th column describes the item or action, and the 5 th column tells the maintenance planner where the maintenance work is in the aircraft. The last eight columns imply the workload needed for each skill type. The airline evaluated the work shifts after the demonstration and indicated that the work shifts of the first 2-3 days are almost the same as they planned, yet the difference becomes dramatic in the second week. It is worth mentioning that, for example, if a task requires one labor-hour for a specific skill type, it can be one technician spending an hour, or two technicians spend half an hour, or even four technicians spend 15 min performing the task.

Evaluation of aircraft maintenance strategies using the DSS
In the second test case, we used the DSS to evaluate different maintenance strategies before implementation. Each strategy is modeled as a test scenario, and all scenarios are compared to the baseline scenario (Airline Schedule). Three maintenance strategies (test scenarios) were proposed by the airline: 1. Scenario 1: increase the number of daily C-check slots from three to four but shorten the period in which C-checks can be performed from the current October-May to November-March; 2. Scenario 2: increase the fleet size from 51 to 66 aircraft without changing the maintenance periods or number of slots available; 3. Scenario 3: increase the fleet size from 51 to 66 aircraft but now increasing the A-check slots by one on Fridays.  9. An example of work shifts planned by AMPO-3.

Table 5
Summary of KPIs from the airline schedule (3 rd column), the AMCS optimization for the first test case (4 th column), and the different scenarios from the second test case (5 th -7 th column). The "Airline Schedule" serves as the baseline scenario. "Gain" represents the potential income generated per aircraft from having more days for commercial operations (due to more/few days for A-or C-checks) compared with the baseline scenario. "Saving" represents the reduction of maintenance costs per aircraft due to more/fewer checks. "Cost" represents the costs per aircraft for creating extra slots. KPIs  According to our airline partner: 1) One day of operation generates on average $97.5 K of revenue.
2) The A-check of an A320 family aircraft lasts one working day and costs on average $12.5 K.
3) The C-check of an A320 family aircraft lasts on average 13.6 working days (slots). 4) One fewer A-(C-)check means the entire fleet can have 1(13.6) more days for operations.
5) The C-check of an A320 family aircraft costs on average $250 K ($18.4 K per working day).
6) The cost of creating one extra A-/C-check slot is three times as one normal slot. sufficient to handle the increased A320 fleet size according to the results shown in Table 5. Eventually, it leads to a huge loss, − $339.8 K, on average per aircraft. Apart from the loss from C-check due to fewer commercial operations (− $20.1 K) and performing more C-check (− $3.8 K), A-check contributes most to the loss, − $243.8 K from commercial operations and -$31.3 K from performing more A-checks. Besides, it needs to spend $40.9 K on average per aircraft on creating extra A-check slots.
To cope with the soaring A-check demand from increased fleet size, the airline proposes to add one A-check slot on Friday, as described in Scenario 3. According to the DSS results, creating one additional aircraft A-check slot on Friday (Scenario 3) significantly reduces the need for extra A-check capacity from 75 to 9 compared with Scenario 2, meaning that the cost of creating extra slots is reduced (from $40.9 K to $3.4 K). However, it also increases the number of checks for both check types, resulting in a huge revenue loss from commercial operations. The total loss increases by 437.3 − 339.8 = 97.5K on average per aircraft compared with Scenario 2. We found out that the optimization algorithm schedules C-check more frequently to provide more opportunities to merge the A-checks in C-checks (since the airline primarily wanted to avoid creating extra slots). Based on the results of Scenario 2 and Scenario 3, we suggested that adding one A-check slot per week is not sufficient for the increase of fleet size, and the airline should consider adding more A-check slots to cope with the increased maintenance check demand.

Conclusion
This paper presents a novel decision support system (DSS) that addresses aircraft maintenance planning optimization in an integrated fashion, automating repetitive tasks while enabling fast, efficient, human-in-the-loop decision making for optimized planning purposes. First of all, the DSS is capable of optimizing the aircraft maintenance check schedule. Secondly, based on the optimal maintenance check schedule, the DSS allocates maintenance tasks to each maintenance check considering the overlapping situation (having multiple checks on going in the same period). Thirdly, the DSS plans the work shift respecting the task sequence in practice. It can potentially help airlines improve their maintenance planning efficiency, reduce the related maintenance operation costs, and even assess their maintenance strategies. Therefore, the DSS makes significant contributions relevant to both scientific research and industry application.
The DSS bridges the gap between long-term AMCS and short-term shift planning. It integrates aircraft maintenance check scheduling, maintenance task allocation and, work shift planning in the same platform. A demonstration exercise with a major European airline shows that the DSS can generate a comprehensive optimal maintenance plan for a planning horizon of three years within half an hour. It means airlines can use the DSS to reduce the time needed for aircraft maintenance planning from several days to about 30 min. More importantly, considering the uncertainty that might impact aircraft utilization or maintenance activities, we make it possible for the maintenance planners to run the DSS in a short time to update the current plan. Whenever there are changes in the aircraft maintenance tasks or maintenance activities, maintenance planners can quickly make new decisions using the DSS and re-organize the tools, workforce or promptly prepare the aircraft spare parts.
Besides, the demonstration exercise results show that the DSS reduces the number of A-/C-checks by three/one while increasing the expected average FH of A-/C-check by 2.4%/0.6% for a planning horizon of 3 years compared with the maintenance check schedule made using the planning approach of the airline. The reduced A-and C-checks could lead to a significant saving in maintenance costs. The improved aircraft utilization also indicates that there will be more aircraft available for day-to-day commercial operations to generate additional revenue. After the demonstration exercise, the DSS was tested and classified by the Clean Sky Joint Undertaking partners to be at a Technology Readiness Level Six (TRL 6). Nevertheless, the tool still has some limitations that have to be addressed in the future if a higher TRL is aimed: • The primary goal of AIRMES was on the development of the optimization algorithms, so future efforts should focus on improving the GUI. • Define requirements and specifications that will facilitate direct integration of the DSS with other information systems used by airlines, including the development of the Application Programming Interface (API) and, potentially, a Software Development Kit (SDK). • Include the number of aircraft spare parts in the constraints in the task allocation (AMPO-2) model.
Another interesting direction is to incorporate condition-based maintenance (CBM) by taking health prognostics and diagnostics into consideration when developing maintenance plans. Although including CBM in the DSS will increase model complexity and computation time, it will prepare the tool to cope with a current trend in the aircraft maintenance research and operational communities.
Finally, it is worth mentioning that although the DSS is tailored to aircraft maintenance planning optimization, it can also be adjusted to address similar problems, such as train or bus maintenance planning for the coming days or weeks, or to match the maintenance demand with operation timetables. For example, the main screen of the DSS can be changed to display daily operation hours and maintenance duration. The algorithm described in [5] can be adapted for similar maintenance scheduling or even more general scheduling problems (e.g., vehicle routing or production planning) since the idea of the algorithm is to estimate the consequence of each possible (maintenance) action before making a decision. For such applications, the DSS framework can be maintained. objective function and constraints. A detailed description of the aircraft maintenance check scheduling (AMCS) model and the associated optimization algorithm can be found in [5].

CRediT authorship contribution statement
subject to: The objective of the aircraft maintenance check scheduling is to minimize the sum of the total unused flight hours χ i, t We proposed a dynamic programming (DP) based methodology to address the AMCS. First of all, we find out how many possible actions (i.e., how many checks can be performed for each check type) of a day. Secondly, for each possible action, we calculate if the number of available slots in the future is sufficient after performing the action. Among the possible actions, we only keep the ones that require minimal extra slots and the associated fleet status after performing the action and then move forward to the next day using the new fleet status. The detail of the DP-based methodology can also be found in [5].

Appendix B. AMPO-2 model formulation
Aircraft maintenance task allocation model In Appendix B, we present the model formulation of AMPO-2 (aircraft maintenance task allocation for each letter check) of the DSS and briefly explain the objective function and constraints. A detailed description of the task allocation model and the associated solution approach can be found in [30]. x t i,k ∈ {0, 1}, ∀k ∈ K, ∀i ∈ N k , ∀t ∈ T k (B.7) The objective function (B.1) aims at minimizing the total de-escalation costs, which can be calculated by comparing how earlier the task item is allocated when compared with its desired due day [31]: We developed a task allocation heuristic based on the worst-fit decreasing algorithm (WFD). First of all, we divide the entire maintenance check schedule into several time segments, according to the periods of overlapped maintenance checks (i.e., periods that several aircraft having the same type of maintenance checks). Next, we sort the time segments according to their associated available labor-hours in descending order. After that, we allocate each maintenance task to the last possible segment before its due dates. The detail of the task allocation can be found in [30]. Nomenclature Sets i: task indicator K: set of aircraft. N k : set of task items for aircraft k (k ∈ K). T k : set of time segments for aircraft k (k ∈ K). R i, k : set of time segments for task item i (i ∈ N k ) of aircraft k (k ∈ K). J: set of skills. O i, k unit set with the task item that follows task item i (i ∈ N k ) of aircraft k (k ∈ K). Parameters c i, k t : cost of allocating task item i (i ∈ N k ) from aircraft k (k ∈ K) to maintenance opportunity belonging to time segment t (t ∈ T k ).
GR j t : amount of available labor hours of skill type j (j ∈ J) at time segment t. GR i, k j : amount of labor hours of skill type j prescribed to perform task item i of aircraft k. σ j, l : "non-routine rate" indicating the amount of labor hours needed from skill type l for every labor-hour prescribed from skill type j (note: σ j, j ≥ 1.0 ∀ j ∈ J). d i,k : maximum number of days between rescheduling task item i (t ∈ T k ) for aircraft k (k ∈ K). d t : number of days from the start of the planning horizon till maintenance opportunity belonging to time segment t. fh i,k : maximum number of flight-hours between rescheduling task item i for aircraft k. fh t : number of accumulated flight-hours from the start of the planning horizon till maintenance opportunity belonging to time segment t. fc i,k : maximum number of flight-cycles between rescheduling task item i for aircraft k. fc t : number of accumulated flight-cycles from the start of the planning horizon till maintenance opportunity belonging to time segment t. O_day i : total days of aircraft operations from the start of the planning horizon to the due date of performing task item i, following the task fix interval and if no resource constraints are considered. interval i : average fix interval for task item i measured in days. labor_rate j : labor rate, per hour, of skill type j (j ∈ J). other_costs i, k : non-labor costs associated with task item i (i ∈ N k ) of aircraft k (k ∈ K), such as costs of spare parts and tooling.
Decision variables x i, k t : 1 if task item i is assigned to maintenance opportunity belonging to time segment t for aircraft k, and 0 otherwise.