0% found this document useful (0 votes)
8 views23 pages

Transportation Research B: David Torres Sanchez, Burak Boyacı, Konstantinos G. Zografos

This paper presents an optimization framework for airline fleet maintenance scheduling that incorporates tail assignment considerations to minimize operating costs and ensure compliance with maintenance regulations. The framework utilizes two multi-objective mixed integer linear programming formulations and an iterative algorithm to efficiently create maintenance schedules for multiple airlines and workshops. Computational tests demonstrate the framework's ability to generate near-optimal maintenance schedules within minutes, even for large instances involving thousands of flights and aircraft.

Uploaded by

AdeelKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views23 pages

Transportation Research B: David Torres Sanchez, Burak Boyacı, Konstantinos G. Zografos

This paper presents an optimization framework for airline fleet maintenance scheduling that incorporates tail assignment considerations to minimize operating costs and ensure compliance with maintenance regulations. The framework utilizes two multi-objective mixed integer linear programming formulations and an iterative algorithm to efficiently create maintenance schedules for multiple airlines and workshops. Computational tests demonstrate the framework's ability to generate near-optimal maintenance schedules within minutes, even for large instances involving thousands of flights and aircraft.

Uploaded by

AdeelKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Transportation Research Part B 133 (2020) 142–164

Contents lists available at ScienceDirect

Transportation Research Part B


journal homepage: www.elsevier.com/locate/trb

An optimisation framework for airline fleet maintenance


scheduling with tail assignment considerations
David Torres Sanchez a, Burak Boyacı b, Konstantinos G. Zografos b,∗
a
STOR-i CDT, Lancaster University, Lancaster, LA1 4YX, UK
b
Centre for Transport and Logistics (CENTRAL), Lancaster University Management School, Lancaster, LA1 4YX, UK

a r t i c l e i n f o a b s t r a c t

Article history: Fierce competition between airlines has led to the need of minimising the operating costs
Received 3 March 2019 while also ensuring quality of service. Given the large proportion of operating costs ded-
Revised 14 November 2019
icated to aircraft maintenance, cooperation between airlines and their respective main-
Accepted 22 December 2019
tenance provider is paramount. In this research, we propose a framework to develop
Available online 20 January 2020
commercially viable and maintenance feasible flight and maintenance schedules. Such
Keywords: framework involves two multi-objective mixed integer linear programming (MMILP) for-
Airline maintenance scheduling mulations and an iterative algorithm. The first formulation, the airline fleet maintenance
Tail assignment scheduling (AMS) with violations, minimises the number of maintenance regulation viola-
Multi-objective mixed integer linear tions and the number of not airworthy aircraft; subject to limited workshop resources and
programming current maintenance regulations on individual aircraft flying hours. The second formula-
tion, the AMS with tail assignment (TA) allows aircraft to be assigned to different flights.
In this case, subject to similar constraints as the first formulation, six lexicographically
ordered objective functions are minimised. Namely, the number of violations, maximum
resource level, number of tail reassignments, number of maintenance interventions, over-
all resource usage, and the amount of maintenance required by each aircraft at the end
of the planning horizon. The iterative algorithm ensures fast computational times while
providing good quality solutions. Additionally, by tracking aircraft and using precise fly-
ing hours between maintenance opportunities, we ensure that the aircraft are airworthy
at all times. Computational tests on real flight schedules over a 30-day planning hori-
zon show that even with multiple airlines and workshops (160 0 0 flights, 529 aircraft, 8
maintenance workshops), our solution approach can construct near-optimal maintenance
schedules within minutes.
© 2020 Elsevier Ltd. All rights reserved.

1. Introduction

There are a number of operational decisions associated with airlines, from ticket prices to flight times, crew rosters,
and aircraft maintenance. When making these decisions, airlines have to take into account their own economic interests
influenced by demand, costs, and sometimes even the actions of their competitors. In such a competitive environment,
airlines aim to minimise their operating costs while providing competitive services. Significant proportion of operating costs
are dedicated to maintenance. For instance, 20.5% of the average direct operating cost per medium-haul trip are dedicated


Corresponding author.
E-mail addresses: [email protected] (D.T. Sanchez), [email protected] (B. Boyacı), [email protected] (K.G. Zografos).

https://doi.org/10.1016/j.trb.2019.12.008
0191-2615/© 2020 Elsevier Ltd. All rights reserved.
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 143

Table 1
Typical maintenance frequencies in calendar months (MO), flying hours (FH), or flight cycles (FC)
(Cook and Tanner, 2008; Martins, 2016).

B737-300 275 FH 825 FH 18 MO 48 MO


B737-400 275 FH 825 FH 18 MO 48 MO
B737-500 275 FH 825 FH 18 MO 48 MO
B737-800 500 FH n/a 4000-6000 FH 96-144 MO
B757-200 500-600 FH n/a 18 MO/6000 FH/3000 FC 72 MO
F100 500 FH n/a 5000 FH 12000 FH
B767-300ER 600 FH n/a 18 MO/6000 FH 72 MO
B747-400 600 FH n/a 18 MO/7500 FH 72 MO
A319 600 FH n/a 18-20 MO/6000 FH/3000 FC 72 MO
A320 600 FH n/a 18-20 MO/6000 FH/3000 FC 72 MO

to maintenance on an Airbus A330-200 (Aircraft Analysis & Fleet Planning, 2005). Therefore, it is of paramount importance
to develop decision making tools that will allow airlines to optimise their aircraft maintenance decisions.
Maintenance types are classified according to: short, medium and long-term interventions. Short-term or line mainte-
nance does not require modelling or advanced planning as they are carried out as standard procedures at airport gates.
Medium and long-term maintenance interventions include:

1. Airframe checks (A, B, C and D);


2. Engine performance restoration (EPR) and life limited parts replacement (ELR);
3. Landing gear overhaul (LG), and;
4. Auxiliary power unit (APU) performance restoration.

Civil Aviation Authorities Regulations impose that maintenance has to be performed after a certain number of months
(MO), flying hours (FH), or flight cycles (FC), at certified maintenance workshops. In the medium-term, A checks have to be
performed every 80–100 FH (every 7 to 9 days), requiring 10–20 man-hours, while B checks typically occur every 50 0-60 0
FH (every two months), requiring 10 0–30 0 man-hours (Department for BIS, 2016). However, in practice, Type B checks are
included as part of a longer A check, or a bundle of A checks (Qantas, 2016). Long-term maintenance, including C and D
checks, LG, EPR, ELR, and APU are performed once every 1–6 years and can last over 10 days (Ackert, 2011). It is worth
noting that there is a large variability in the duration of maintenance checks due to the fact that different aircraft types
have different maintenance requirements.
Table 1 shows the frequency of the four airframe checks for various aircraft types. As one would expect, the time between
checks increases for more modern aircraft and B checks disappear, being contained in longer A checks. Maintenance is
performed before any of the three criteria (MO, FH or FC) is met. For instance, for the B737-200, a C check is performed
after 18 MO, 60 0 0 FH, or 30 0 0 FC, whichever occurs first. The justification for this practice is to ensure coverage of overused
aircraft operating short-haul flights. In these cases, FC are accumulated faster than FH (Cook and Tanner, 2008). Moreover,
usual frequencies of long-term maintenance, for the A320, for instance, are 13500 FC for both the EPR and the ELR, 120
MO/20 0 0 0 FC for the LG, and 750 0 0 FH for the APU (Ackert, 2011).
For maintenance to be performed effectively, there is an essential underlying process, airline fleet maintenance schedul-
ing (AMS). The AMS problem deals with the construction of a schedule that minimises maintenance costs, resource usage,
and the disruption to airline operations, while satisfying current safety regulations by different civil aviation authorities
(Sriram and Haghani, 2003). Given the frequency of the maintenance checks, the decision horizon for medium-term main-
tenance should be a month, and, at least, six months for long-term maintenance.
A challenge for the AMS problem is to allocate maintenance-related resources in a cost-effective fashion. These resources
are geographically dispersed throughout distant and distinct maintenance workshops. Some examples of resources include
limited specialised tools, spare parts, and certified technicians. Additionally, regulated checks depend on the state of the
aircraft and employ different resources.
The major contribution of this paper is the framework that deals with the requirements introduced by 30-day planning
horizon instances, with multiple airlines and workshops, and tight resource availabilities. Such framework can be broken
down into three steps. Firstly, the preprocessing step identifies maintenance opportunities (MOPs). These opportunities arise
when flights have large turnaround times during which aircraft can be maintained. This preprocessing allows us to formulate
and solve the problem efficiently. Next, in the case when not enough MOPs are found and maintenance regulations are
violated, we identify when these occur and we reassign aircraft to different flights to generate more MOPs. In other words,
we re-solve the tail assignment (TA) problem. Lastly, to preserve tractability and improve the quality of solutions, we provide
a two-stage iterative algorithm. The first stage selects a conflicting period which identifies the smallest number of flights
whose reassignment might lead to a maintenance feasible solution. Such period starts from the maintenance regulation
violation, and ends at the next available MOP. The second stage makes the timeline more granular to improve resource
allocation. Further contributions introduced by this work are: the presentation of a new type of multi-objective optimisation
formulation for the AMS which copes with single and multi-workshop cases, the focus on workshop resource allocation, the
consideration of different fleet types and their respective maintenance requirements, and, the introduction of a solution
144 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

framework that solves problems of realistic size in short time showing the potential of this framework which promotes
cooperation between airlines.
The remainder of this paper is organised as follows: Section 2, discusses the relevant literature. Section 3 presents the
proposed modelling approaches and the corresponding underlying concepts. The first model, minimises the number of main-
tenance regulation violations, adhering to the criteria presented in Table 1. The second model solves a reduced TA problem
within the AMS considering violations. Section 4 presents the solution methodology and the model application. Computa-
tional experiments are given in Section 5, while Section 6 summarises the conclusions and provides recommendations for
future research.

2. Literature review

The airline planning process or airline scheduling problem involves several stages: flight scheduling, sometimes referred
to as schedule design; fleet assignment, which assigns fleet types to flights (Hane et al., 1993); TA, sometimes called aircraft
routing or aircraft rotation and involves assigning individual aircraft to flights (Clarke et al., 1997); maintenance scheduling
(MS); and, finally, crew scheduling. These were traditionally modelled by formulating each stage separately and solving them
sequentially, i.e. the output of one stage is the input for the next. Fig. 1 presents the order of solving the different types of
problems identified above (solid lines), along with some common feedback loops (dashed lines) and the associated typical
planning horizons.
The sequential modelling and solution of the airline scheduling problem does not take into consideration the restrictions
of the subsequent problems. The benefit of the sequential approach is the reduction in computational complexity. Even
though the sequential feedback system is a close approximation, the solution can be improved by modelling the interde-
pendence of each stage in an integrated model (Cordeau et al., 2001). Integrated models have been developed to provide
better quality results and consider the combination of two or more stages into a single problem (Desaulniers et al., 1997;
Clarke et al., 1997; Barnhart et al., 1998; Cohn and Barnhart, 2003; Sriram and Haghani, 2003; Mercier et al., 2005; Sarac
et al., 2006; Liang and Chaovalitwongse, 2013; Safaei and Jardine, 2018). In particular, MS is frequently contained within the
TA, in which case it is called aircraft maintenance routing (AMR) problem (Gopalan and Talluri, 1998).
The most common types of mixed integer programming formulations for the integrated airline scheduling problem can
be classified into three groups,

String-based models: a type of formulation that models the problem using strings, i.e. sequences of connected
flights that begin and end at a maintenance workshop, and, that satisfy flow balance and maintenance regulations
(Desaulniers et al., 1997).
Time-Space Network (TSN) models: in a TSN network, each airport is represented by a time line showing the planning
horizon. Nodes show every departure/arrival at the corresponding airport time line and arcs show flights and connec-
tions (Hane et al., 1993). For example, in Fig. 2, there are two airports, A and B. Solid arcs represent scheduled flights,
while grey dashed arcs represent deadhead flights. A flight path between the two timelines, shown in blue, starts at

Fig. 1. Stages of the airline scheduling problem.

Fig. 2. Time-Space Network (TSN) example.


D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 145

airport A at time period 1 (node A1 ), flies to airport B arriving at time period 2 (node B2 ), then is grounded at airport
B until time period 3 (node B3 ), and so on;
Multi-Commodity Network Flow (MCNF) models: based on a fleet-flow time-space network (layered TSN models), each
aircraft represents separate commodities and flow has to be preserved. Formulations of this type typically include
constraints regarding capacities (passengers and fleet) and flow conservation (aircraft, flight, and airport) (Levin, 1971).

The first string-based formulations were introduced by Desaulniers et al. (1997), for the FA problem, and
Barnhart et al. (1998), for the TA problem. They both implemented a branch and bound scheme as their solu-
tion method. Even though they included maintenance regulations, workshop resources or FH were not considered.
Sarac et al. (2006), Cohn and Barnhart (2003) and Papadakos (2009) used the same type of formulation for the AMR
problem. Papadakos (2009) produced a computational case study for a medium-sized data set (700 flights, 167 aircraft).
The heuristic algorithm used required 16 h to solve the problem under consideration. Sarac et al. (2006) implemented a
branch-and-price algorithm and used legal remaining FH to influence decisions. Aside from the excessive solution times,
string-based formulations are not capable of generating all strings even for small instances. Furthermore, these models do
not include resource usage for maintenance activities.
The TSN formulation, introduced by Hane et al. (1993), has been used widely within the integrated airline scheduling
framework, (Clarke et al., 1997; Hicks et al., 2005; Orhan et al., 2012; Haouari et al., 2013; Liang and Chaovalitwongse,
2013). However, given that TSNs do not allow individual aircraft to be tracked, aggregated maintenance constraints are
implemented. This means that models are forced to, for instance, minimise total weekly maintenance operations. More re-
cently, Safaei and Jardine (2018) examined the AMR problem with generalised maintenance constraints and legal remaining
FH considerations. They used test instances for a single airline. The computational study, for a relatively large data set (7
days, 772 flights, 18 aircraft), solutions show financial impact but computational times are not provided.
Using the MCNF formulation, introduced by Levin (1971), the problem can be solved using column generation (Yan and
Tseng, 2002; Sriram and Haghani, 2003; Mercier et al., 2005). Particularly, Sriram and Haghani (2003), presented some
influential work, based on the TA formulation by Feo and Bard (1989), which solved the AMR incorporating A and B checks.
They used a heuristic algorithm that solved a small test instance (58 flights, 75 airports) in 5 min.
All the publications mentioned thus far are limited to daily or weekly schedules and assume cyclical repetitions of the
flights and hence maintenance operations. Khaled et al. (2018), however, considered individual maintenance requirements
for a 30-day plan. They used an improved TSN formulation for the AMR problem, which allowed them to effectively schedule
A checks, constrained by individual aircraft legal remaining FH. They assumed that maintenance is generally performed at
night. Due to the type of formulation, solution times increased noticeably for a large number of flights (timed out at 3 h for
1494 flights and a single airline). Li et al. (2016), dealt with the AMR problem for fighter jets. This formulation, which relied
on a single workshop assumption, also employed legal remaining FH to determine the frequency of maintenance. Further
assumptions included: no resource considerations, only one type of maintenance, and the disregard of aircraft “health” at
the end of the planning horizon. The test set considered is of 25 days and 200 aircraft but no solution times are provided.
In addition, the timeline is discretised by splitting each day into two 12 hour intervals, clearly, this incurs a huge loss in
accuracy.
In different context, we find formulations that account for long-term planning horizons; specifically, in the resource
constrained project scheduling problem (RCPSP) literature. The RCPSP is a generalisation of machine scheduling problem
where jobs are scheduled according to some predefined order, or precedence, subject to different resource demands and
capacity constraints. Usually, the objective is to minimise the duration of the project (collection of ordered jobs), commonly,
under a non-preemption assumption (jobs have to processed fully) (Koné et al., 2011; Brucker and Knust, 2012; Kopanos
et al., 2014; Naber, 2017). The reader may refer to a recent and thorough review article by Habibi et al. (2018). On the long-
term RCPSP, Koné et al. (2011) proposed two formulations which they named “event-based RCPSP” formulations. Events
correspond to start and/or end times of activities. Since their formulations involve fewer variables than the formulations
indexed by time, they have the capacity to deal with longer planning horizons.
As can be seen in the summary of the literature in Table 2, no publications have addressed the long-term AMS problem
with multiple airlines, workshops and resource considerations, while providing fast solution times. Additionally, we take
into account individual aircraft maintenance requirements and their respective flight operations. The key contributions of
the present paper are,

Reassignment. We include the option of reassigning some flights to obtain longer maintenance opportunities.
Efficient resource allocation. Maintenance models do not always consider the different resources available throughout
maintenance workshops. Therefore, we incorporate workshop resource restrictions.
Individual aircraft considerations. Different aircraft may have different maintenance duration and requirements, and
different accumulation of FH. Hence, we include this in our model.
Long-term planning horizon. Short-term, or operational planning, is not suitable for most aircraft maintenance. Further,
personnel and equipment hire are significantly expensive. Thus, it is extremely useful for maintenance operators to
plan longer in advance.
Two-stage iterative algorithm. We employ a two-stage algorithm that provides good solutions for large instances in
reasonable computational time.
146 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

Table 2
Summary of selected literature. MS = inclusion of maintenance scheduling, FH = use of legal remaining flying hours,
RC = workshop resource considerations, H = time horizon (days), Sched. Type = scheduling type, Airlines = number of air-
lines considered, W = number of workshops considered, F = number of flights (in largest test instance), A = number of aircraft
(in largest test instance), T = computational time (of largest test instance).

Article MS FH RC Sched. Type Airlines W H F A T

Desaulniers et al. (1997) × × × cyclical single 1 1 383 91 1h


Barnhart et al. (1998)  × × cyclical single 1 7 1124 89 10h
Sriram and Haghani (2003)  × × cyclical single 20 7 rand. 13 4.5h
Mercier et al. (2005)  × × cyclical two NS 1 707 143 13h
Sarac et al. (2006)    cyclical single 5 1 175 32 2h
Papadakos (2009)  × × cyclical single 6 7 705 167 16h
Haouari et al. (2013)  × × cyclical single 16 1 344 138 10s
Liang and Chaovalitwongse (2013)  × × cyclical single 6 7 1780 110 4h
Khaled et al. (2018)   × adaptive single 9 30 1494 40 3h
Presentpaper    adaptive single 1 30 3869 49 1.2h
Presentpaper    adaptive multiple 8 30 16000 529 1.8h

Single and multi-workshop tests cases. Our generic framework, allows us to model both single and multi-workshop
cases.

3. The proposed modelling approach

In order to be able to adequately model the problem, we first state the necessary assumptions, highlight the concepts
used and define the appropriate notation. After this, we propose two multi-objective mixed integer linear programming
(MMILP) formulations that schedule different types of maintenance for a medium/long-term planning horizon e.g. airframe
checks A and C. To check if regulation requirements are being fulfilled, we employ different maintenance requirement (MR)
variables for each type of maintenance and aircraft type, which vary with FH.
In the first formulation, given an input flight schedule, we aim to determine whether a feasible maintenance schedule
exists. We call this the AMS formulation. If a feasible maintenance schedule does not exist, we seek to minimise the number
of infeasibilities, or violations. Such violations represent the cases when the limit imposed by the regulations on the FH are
exceeded. To minimise the violations, we introduce the second formulation which extends the AMS formulation to account
for an appropriate TA problem.

3.1. Assumptions

To ease the formulation of the problem, we make some modelling assumptions.

1. Maintenance can only be performed in the pre-identified MOPs;


2. Maintenance can be done at any workshop, if the aircraft has a MOP there; unless otherwise specified by an airline;
3. Maintenance cannot be preempted;
4. To extend MOPs, we may reassign flights to different aircraft, i.e. we may modify the airlines’ preferred TA;
5. Resources can be shared amongst different airlines at the maintenance workshops.

3.2. Concepts

The integrated airline scheduling literature reveals that the models used for short-term planning are not easily scalable
for our 30-day planning horizon. Additionally, not much attention is paid to either resource usage for maintenance activities
or aircraft health-state monitoring. However, as mentioned in the literature review section, Koné et al. (2011) presented a
formulation for the long-term resource constrained project scheduling problem (RCPSP) that challenged the classical dis-
cretisation of time. Instead, they index the variables using some pre-defined “events”.
Koné et al. (2011), independently formalised the same idea as Sousa and Wolsey (1992), and refer to this type of for-
mulation as an “event-based RCPSP”. Events represent either the start or the end of an activity. Compared to traditional
time indexation, their formulations involve considerably fewer variables, therefore, being ideal for problems with long plan-
ning horizons. Koné et al. (2013) extended the formulation to account for non-renewable resources. More authors have used
a similar indexation of continuous time. Naber (2017) focused on removing the assumption regarding fixed resources per
activity in the RCPSP by allowing flexibility of resource usage.
In the present paper, events represent turnaround times, the time between arrival and departure, at a certain mainte-
nance workshop where the total time is sufficient to perform at least one type of maintenance. We regard these as MOPs.
Thus, provided with a flight schedule, MOPs are easily identified and pose no restrictive assumption on the aircraft or air-
lines considered. For more information on how these are created, see Section 4.1.
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 147

3.3. Airline fleet maintenance scheduling with violations

The AMS with violations model checks, subject to regulations, whether a feasible maintenance schedule exists given a
flight schedule. Violations of regulations, contrary to most other works, are not included as constraints but as an objective
which we try to minimise. Hence, the impasse that infeasibilities bring is avoided and more conclusions can be inferred
about the process. First, the necessary sets, parameters and variables are defined, then we introduce the MMILP formulation.

3.3.1. Notation
To formulate the problem, we introduce the following notation. The set of all aircraft is denoted by K and indexed with
k. In order to distinguish aircraft by type and airline, we introduce the set T with function t : K → T ; t(k) maps a specific
aircraft k ∈ K to its corresponding fleet type and airline. Each aircraft has its own corresponding MOPs contained in the set
MOPk which we can index with j. Moreover, we can subdivide each MOP into time intervals. These provide an alternative
discretisation of time and represent either the start or end time of some MOP. All time intervals are contained in the set I,
indexed by i. Each element i, has a start and end time, denoted with sti and eti respectively, and a maintenance workshop
Wi . Some common maintenance checks are collected in the set C, indexed by c. Resources are contained in the set R. The
demand for resource r ∈ R varies per check c ∈ C, this is denoted by brc . Moreover, the duration of maintenance may vary
within aircraft types. Hence, for an aircraft k, of type t(k), we define the duration of a single check c ∈ C to take t(k),c time
units to complete.
For convenience, we can identify the following subsets. Let Ik be the subset of intervals where aircraft k is available for
maintenance. Similarly, let Ki be the subset of aircraft available for maintenance at interval i. The resources available at the
maintenance workshop of interval i, Wi , are contained in the set RW i ⊆ R.
Each MOP can be represented by a set of consecutive intervals. For j ∈ MOPk , we can identify the corresponding intervals
j
as i ∈ MOPk ⊆ Ik . This idea is illustrated in Fig. 3, where an example for an aircraft k with three MOPs is shown. The number-
ing indicates the interval number. Each of MOP is labelled with a different j = 1, 2, 3. It is worth noting that every interval
is assigned to exactly one MOP. We can identify the interval sets Ik = {1, 2, 3, 7, 8, 11, 12} ⊂ I = {1, . . . , 12}. Thus, given the
definition of MOPs, intervals in I \ Ik = {4, 5, 6, 9, 10} must belong to another aircraft (not pictured). Moreover, if i is part
of a MOP for aircraft k, i ∈ Ik , we can say that aircraft k is not flying at interval i, hence, is available for maintenance.
Conversely, if i is not part of any MOP for aircraft k, i ∈ / Ik , we can say that aircraft k is flying at interval i.
In order to employ FH accurately in the model, we introduce two additional parameters. Let F H ik be the FH for aircraft k
at interval i, and, Lt (k ),c be the limit on FH imposed by regulations for aircraft of type t(k) and check c. In order to update the
FH parameter, we consider the flights between consecutive MOPs. For a given interval i and aircraft k, interval i is bounded
by
sup{MOPkj−1 } < i ≤ sup{MOPkj } (1)

for some MOPk provided that j = 1, i > sup{MOPk1 } and i ≤ sup{MOPk } (J = |MOPk |) (proof provided in Appendix A). That is,
j J

provided that the interval under consideration starts after the end of the first MOP and before the end of the last MOP. If
j−1 j
this is the case, we define F H ik to consider only the flights that aircraft k operates between MOPk and MOPk . Otherwise,
if i starts before the end of the first MOP, i.e. i ≤ sup{MOPk1 }, we define F H ik to consider only the flights that aircraft k
operates between the beginning of the planning horizon and MOPk1 . Conversely, if i starts after the end of the last MOP, i.e.
i > sup{MOPk }, we define F H ik to consider only the flights that aircraft k operates between MOPk and the end of the planning
J J

horizon. In Fig. 3, if i ∈ {7, 8} = MOPk2 ⊂ Ik , or i ∈ {4, 5, 6} ∈


/ Ik , we have sup{MOPk1 } < i ≤ sup{MOPk2 }, then, F H ik considers
the flights between MOPk1 and MOPk2 . If i ∈ {9, 10} ∈
/ Ik , we have sup{MOPk2 } < i ≤ sup{MOPk3 }, then, F H ik considers the flights
between MOPk2 and MOPk3 .
Using the previous two parameters, we can define the deterioration that a certain number of FH incurs on an aircraft for
a specific check type. For an interval i, check c and aircraft k, the deterioration parameter is defined as,
F H ik
DRikc = . (2)
Lt (k ),c
In the next subsection, we provide the notation needed to describe the proposed mathematical model. However, it is
useful to discuss two of the variables in detail. To account for the legal remaining FH, we define a variable, wikc ∈ [0, 1], that

Fig. 3. Timeline showing the deconstruction of three MOPs into sets of consecutive intervals.
148 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

tracks the MR at the beginning of interval i, for check type c and aircraft k. Where a value close to 0 represents that no
maintenance is required, and a value close to 1 represents that maintenance is urgently required. This variable is updated
by using the deterioration parameter DRikc . We define a binary variable to identify regulation violations, vikc gets the value 1
if the regulation for check c is violated at interval i by aircraft k, while it is 0 otherwise.

3.3.2. Definitions
Sets
C: Set of checks indexed by c;
I: Set of intervals indexed by i;
Ik : Set of intervals where aircraft k is available for maintenance, Ik ⊆ I;
K: Set of all aircraft indexed by k;
Ki : Set of aircraft available for maintenance at interval i, Ki ⊆ K;
MOPk : Set of MOPs for aircraft k, indexed by j;
j j
MOPk : Set of intervals that constitute the jth MOP for aircraft k, MOPk ⊆ Ik ;
R: Set of resources indexed by r;
RW i : Set of resources available at the workshop of interval i, Wi , RW i ⊆ R;
T : Set of aircraft types with t : K → T .

Parameters
brc : Demand of resource r to process check c;
DRikc : Deterioration (per flying hour) at interval i for check c and aircraft k;
t(k),c : Duration of check c for an aircraft of type t(k);
sti /eti : Start/end time of interval i ∈ I.

Variables
Bir : The capacity for resource r at interval i.
wikc : A continuous variable with values between 0 and 1 to represent the MR for aircraft k for check c at the beginning of
interval i. 0 means that the aircraft requires no maintenance, 1 means that the aircraft requires maintenance urgently.
mikc : 1, if a maintenance check c for aircraft k starts /continues at the beginning of interval i; 0, otherwise.
vikc : 1, if regulation for check c is being violated at interval i for aircraft k; 0, otherwise.
i : 1, if there is a change between the consecutive variables, mi and mi−1 ; 0, otherwise.
zkc kc kc

3.3.3. Formulation

Model 3.1. Interval MMILP formulation for AMS with violations.



min vikc (3)
k c i
  sup {I }
min wkc k (4)
k c

Subject to
Maintenance Requirement
vikc = 0 ∀k, c, i ∈/ Ik ; (5)

mikc = 0 ∀k, c, i ∈/ Ik ; (6)


 
wikc ≥ wikc−1 + DRikc 1 − mikc − mikc − vikc ∀k, c, i = inf{I }; (7)

sup{MOPkj } inf{MOPkj+1 }
wkc ≤ DRkc ∀k, c, j = |MOPk |; (8)

Maintenance

mikc ≤ 1 ∀k, i ∈ Ik ; (9)
c

(et i − st i )mikc ≥ t (k),c mikc ∀k, c, j, i ∈ MOPkj ; (10)
i ∈MOPkj
Transitivity Constraints

zkc
{
inf MOPkj } ≥ minf {MOPkj } ∀k, c, j; (11)
kc
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 149

i
zkc ≥ mikc − mikc−1 ∀k, c, j; i, i − 1 ∈ MOPkj ; (12)

i
zkc ≤1 ∀k, c, j; (13)
i∈MOPkj

Resources

brc mikc ≤ Bir ∀i, r ∈ RW i ; (14)
k∈Ki c

Variables
wikc ∈ [0, 1] ∀k, c, i; (15)

Bir ∈ R+ ∀k, i, r ∈ RW i ; (16)

mikc , zkc
i
, vikc ∈ {0, 1} ∀k, c, i. (17)

The proposed formulation is a MMILP with two lexicographically ordered objective functions. The functions involved
minimise the following objectives (in order of importance), the number of violations, and the total MR at the last interval.
Objective (3) minimises the number of regulation violations. Objective (4) minimises the total MR at the end of the plan-
ning horizon. Recall that a value close to 0 for the wikc variable indicates that the aircraft requires no maintenance; hence,
sup {I }
minimising wkc k corresponds to minimising the amount of maintenance required by each individual aircraft at the end
of the planning horizon.
The first two MR constraints (5) and (6) ensure that neither a violation nor maintenance occur when an aircraft is
operating flights. Precisely, constraints (5) and (6) ensure that if aircraft k is flying at interval i, i.e. i ∈
/ Ik , then, for any
check c, neither a violation nor maintenance intervention may occur.
Constraints (7) enforce a recurrence relation for the MR variable. For time interval i, aircraft k, and check type c, we
update the MR variable depending on whether or not aircraft k is flying at interval i. If aircraft k is not flying at interval
j −1
i, i.e. i ∈ Ik and i ∈ MOPk for some j; the current MR, wikc , is updated using the previous MR, wikc , plus the appropriate
j−1 j
deterioration, DRikc (the deterioration incurred by the flights between MOPk and MOPk , as defined in Eq. (2)), or drops to
0 if either a violation or maintenance occur. Please recall that the first priority objective minimises the number of violations.
/ Ik , then, by constraints (5) and (6), mikc = 0 and vikc = 0, hence,
On the other hand, if aircraft k is flying at interval i, i.e. i ∈
the recurrence relation is enforced.
Constraints (8) ensure that the MR variable at the end of a MOP stays within the regulation limits (captured within
the deterioration parameter) at least until the next MOP. That is, for a given aircraft k, check type c and MOP j (with
j
sup{MOP }
j = |MOPk |), the MR at the end of the MOP, wkc k
, should remain feasible to operate the upcoming flights between
j+1
j j+1 inf{MOP }
MOPk and MOPk . Using the definition of the deterioration parameter, this is encapsulated in DRkc k
, since, by Eq. (1),
sup{MOPk } < inf{MOPk } ≤ sup{MOPk }.
j j+1 j+1

Constraints (9) and (10) enforce the maintenance restrictions. Constraints (9) assure that no more than one maintenance
type is scheduled for the same interval. Constraints (10) guarantee that the aircraft is available for the minimum time
required for each maintenance type. More precisely, the sum of the duration of consecutive intervals has to be greater than
the minimum prespecified duration of the check.
j
Transitivity constraints, (11), (12), and (13), ensure that if we decide to maintain in MOPk , preemptions are not allowed
(proof provided in Appendix A). Constraints (11) initialise the auxiliary variable using the first interval in the MOP. Con-
straints (12) establish that when a maintenance starts, i.e. the difference between consecutive maintenance variables is
1, the auxiliary variable is 1. Constraints (13) ensure that at most one auxiliary variable is 1, or equivalently we cannot
start a maintenance more than once. Hence, wherever we terminate maintenance, all auxiliary variables thereafter must
be 0.
Constraints (14) ensure that a maintenance intervention of some type is only scheduled if there are sufficient resources
available at the workshop. The total number of checks over all aircraft present at a given interval cannot exceed the capacity
for each resource. The last four constraints (15)–(17) define the domains of the variables.

3.4. Airline fleet maintenance scheduling with tail assignment

In this section we extend the AMS formulation previously discussed, to include reassignment variables for the periods
where regulations are being violated. In order to determine where this occurs, we solve Model (3.1), and identify which
violation variables, vikc , have the value 1. Using this information we efficiently select reassignable and preassigned flights
which allow us to solve the joint AMS and TA problem.
150 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

3.4.1. Notation
To formulate the AMS with TA, we first expand the notation introduced for Model (3.1). All flights are contained in the
set F, which we can index with f. More precisely, it contains flight legs (sequence of multiple flights) between MOPs. Also,
let I f be the subset of intervals at which flight f ∈ F occurs, and K f be the subset of aircraft free to operate flight f.
Additionally, for a given interval i, we can identify the set of flights that either, depart at the end of interval i, or, arrive
at the start of interval i. Let us denote the departure set with
 
i
Fdep = f : f ∈ F, inf{I f } = i ,
and, the arrival set with
 
i
Farr = f : f ∈ F, sup{I f } = i .
In order to control the number of reassignment variables, we can identify the subsets of flights which are reassignable
and those which are fixed or preassigned. Such that, if a flight is reassignable, then we can reassign it to another aircraft; in
contrast, if a flight is preassigned, then it is operated by the preassigned aircraft. Let FR ⊂ F and FR ⊂ F be two (disjoint)
subsets (with FR ∪ FR = F), that contain those flights which are reassignable and preassigned, respectively. Also, let Of for
flight f ∈ FR , with O f ⊆ K f , contain the aircraft preassigned to flight f. To preserve efficiency and minimise the changes in
the airlines’ preferred TA, instead of setting all flights to be reassignable, we select an appropriate subset of flights. More
details on the selection process can be found in Section 4.2.1.
f
We can redefine the deterioration parameter in terms of flights, DRkc , which represents the deterioration for the opera-
tion of flight f for check c and aircraft k. Similarly, as for the previous model,

f FH f
DRkc =
Lt (k ),c
f
where FHf are the FH that correspond to flight f. Lastly, the violation variable can also be expressed in terms of flights, vkc
gets the value 1 if a regulation is being violated before flight f for aircraft k and check c, while it is 0 otherwise.

3.4.2. Definitions
Sets
F: Set of all flights indexed by f;
FR : Set of reassignable flights, FR ⊂ F;
FR : Set of preassigned flights, FR ⊂ F;
i : Set of flights which are scheduled to depart at the end of interval i;
Fdep
i : Set of flights which are scheduled to arrive at the start of interval i;
Farr
I : Set of intervals occupied by flight f, I f ⊆ I;
f

K f : Set of aircraft available to operate flight f, K f ⊆ K;


Of : Set of aircraft preassigned to operate flight f ∈ FR , O f ⊆ K f .

Parameters
f
DRkc : Deterioration for the operation of flight f for check c and aircraft k.

Variables
f
ak : 1, if the flight f is (re)assigned to aircraft k; 0, otherwise.
Br : The maximum capacity for resource r.
f
vkc : 1, if the regulation for check c is being violated before flight f for aircraft k; 0, otherwise.

3.4.3. Formulation

Model 3.2. Interval MMILP formulation for AMS with TA.



min vkcf (18)
f k∈K f c

min Br (19)
r
 
min akf (20)
f k∈K f \ Of
   
min et i − st i mikc (21)
k c i
 
min et i − st i Bir (22)
i r
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 151

  sup {I }
min wkc k (23)
k c

Subject to
Preassigned Flights
akf = 1 ∀ f ∈ FR , k ∈ O f ; (24)

vkcf = 0 ∀ f ∈ FR , k ∈ O f ; (25)
c

Maintenance Requirement
 f f 
wikc ≥ wikc−1 + f
DRkc ak − vkc − mikc ∀k, c, i = inf{I }; (26)
f ∈Farr
i

sup{MOPkj } 
wkc ≤ f
DRkc akf ∀k, c, j; (27)
j
sup{MOP }
f ∈Fdep k

Reassignment
 f
mikc+1 ≤ 1 − ak ∀k, c, i = sup{I }; (28)
f ∈Fdep
i


akf = 1 ∀f; (29)
k

Maintenance
Constraints 6, 9 and 10
Transitivity Constraints
Constraints 11 − 13
Resources
Constraints 14
Bir ≤ Br ∀i, r ∈ RW i ; (30)

Variables
akf ∈ {0, 1} ∀k, f ; (31)

vkcf ∈ {0, 1} ∀k, c, f ; (32)

Br ∈ R + ∀r (33)
Constraints 15 − 17

The proposed formulation is a MMILP with six lexicographically ordered objective functions. The functions involved min-
imise the following objectives (in the order of importance), the number of violations, maximum resource level, number of
reassigned flights, number of maintenance interventions, overall resource usage, and total MR. Objective (18), with largest
priority, minimises the number of regulation violations. Objective (19) minimises the sum of maximum level for each re-
source. Objective (20) minimises the number of strictly reassigned flights (i.e. assigned to an aircraft different from the one
in the input TA), thus minimising the number of changes in the airlines’ preferred TA. Objective (21) minimises the num-
ber of maintenance interventions weighted with the duration of intervals. Objective (22) minimises the resource level per
interval, again, weighted with the duration of intervals. Finally, as in the previous model, with least priority, objective (23),
minimises the total MR at the last interval.
f
Constraints (24) ensure that if flight f is preassigned to aircraft k ∈ Of , then ak = 1. Similarly, constraints (25) ensure that
f
if flight f is preassigned to aircraft k ∈ Of , then a violation cannot occur vkc = 0 for any check c.
The MR constraints are a simple extension of those in Model (3.1). Constraints (26) enforce a recurrence relation where
−1
the current MR, wikc , is updated using the previous MR, wikc , plus a deterioration term if the aircraft has been assigned the
flights prior to the interval under consideration, or drops to 0 if either a violation or maintenance occurs. In the case when
f
flight f is reassignable, i.e. f ∈ FR , and if flight f is not reassigned to aircraft k, ak = 0, then the MR is only updated if a
violation or maintenance occurs. On the other hand, in the case of either, flight f being reassigned to aircraft k, or, flight f
152 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

f f
being preassigned to aircraft k ( f ∈ FR and k ∈ Of ), we have, ak = 1. Thus, by constraints (25) and (28), vkc = 0 and mikc = 0,
f
thus, the MR is deteriorated according to the appropriate deterioration, DRkc .
Therefore, the recurrence relation is enforced.
Constraints (27) ensure that the MR remains feasible for the operation of any of the flights that depart the end of interval
j
sup{MOP }
i. That is, for a given aircraft k, check type c and MOP j, the MR at the end of the MOP, wkc k
, should remain feasible to
j
sup{MOP }
operate whichever flights are assigned to aircraft k departing at the end of the MOP. Such flights are contained in Fdep k
.
As for the reassignment, constraints (28) ensures that maintenance is not performed if an aircraft departs. More specif-
ically, if an aircraft k is reassigned and due to depart on a flight after interval i = sup{I }, then, at interval i + 1 (after the
+1
aircraft has departed) maintenance cannot be performed, hence, mikc = 0. Constraints (29) ensure that all flights have ex-
actly one aircraft assigned to them.
Constraints (30) establish the value for the maximum resource level for each resource. The remaining constraints, (main-
tenance, transitivity and resource constraints) as well as variable definitions, can be borrowed from Model (3.1). The last
constraints (31)–(33), define the domains of the extra variables.

4. Solution methodology

The solution approach chosen only requires flight schedules, and resource capacities and demands for maintenance ser-
vices. To improve the efficiency of the solutions, after a preprocessing routine, we implement an iterative algorithm. The
algorithm is displayed in Fig. 4 and pseudocode presented in Algorithm 1. The algorithm consists of two stages, conflicting
period selection and interval splitting. The conflicting period selection stage involves selecting the sets of reassignable and
preassigned flights, and resolving. This stage terminates when all the violations are removed or when the size of the con-
flicting periods cannot be increased any further. During subsequent iterations, the interval splitting stage identifies intervals
where maintenance occurs, splits them and resolves the problem. Splitting time intervals allows the model to assign more
maintenance to the existing schedule since it makes time intervals more granular.

4.1. Preprocessing routine

Flight schedules are crucial for the model as they give the initial TA and accurate FH in order to update the MR through-
out the planning horizon. We obtained flight schedules from Flightradar24 AB (2018) using pyflightdata, the Python
module (Allamraju, 2014). We gathered data globally for an extended period. Following the data gathering stage, we pre-

Fig. 4. Flow chart outlining the process of the iterative algorithm.


D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 153

Algorithm 1 Solution procedure with conflicting period selection and interval splitting.
1: Initialisations
2: iter, A = 0  Iteration counter and accuracy measure
3:  = 0.01  Set Tolerance
4: maxiter= 50  Maximum number of iterations
5: Intervals= I  Interval set
6: V, CP, oldIntervals = []  Empty array for violations, conflicting periods, and old intervals
7: while iter < maxiter and A < 1 −  do
8: if iter= 0 then
9: Solve Model 3.1  For the first iteration
10: else
11: Solve Model 3.2  For iterations ≥ 1
12: end if
13: Update V and A  Update violations and accuracy measure using new solution
14: if V is not empty then  If violations have not been removed
15: SelectCP(V )  Call function to update conflicting periods
16: else
 
17: which= {i : i ∈ I, k c mikc ≥ 1}  Identify intervals with maintenance scheduled
18: oldIntervals = Intervals
19: SplitIntervals(which, Intervals)  Call function to split intervals
20: if |Intervals| = |oldIntervals| then  No intervals have been added
21: Break  Stop the algorithm
22: end if
23: end if
24: Increment iter
25: end while
26:
27: function SelectCP(V )  Updates the conflicting periods for all violations
28: for i in V do
29: Compute J i
30: if i not in CP then If the violation is new

31: CP = CP ∪ CP(1,i)  Update CP withfirst conflicting period
32: else  If violation has occurred
at a previous iteration
33: for m in 2 → |J i | do  Iterate
through elements in Ji
34: if CP(m-1,i)in CP then  Find already used CP
35: CP = CP \ CP(m-1,i)  Remove it from conflicting periods
36: CP = CP ∪ CP(m,i)  Update CP with the next, m-th conflicting period
37: Break
38: end if
39: end for
40: end if
41: end for
42: Intervals = Intervals ∪ CP  Update intervals
43: end function
44:
45: function SplitIntervals(which, Intervals)  Splits intervals in which
46: for i in which do
47: Using Method 1, 2, or 3; split i into i1 and i2
48: Intervals= Intervals\{i} ∪ {i1 , i2 }  Update Intervals
49: end for
50: end function

process the flight schedule data. Preprocessing involves filtering schedules through the nearest airport to the maintenance
workshops under consideration. After this, we identify airlines and aircraft types of interest so we can track and update the
aircraft’s FH appropriately. This gives a reduced network with accurate FH for each aircraft. For eight maintenance work-
shops over a 30-day planning horizon (between dates 14/11/16 and 15/12/16), prior to preprocessing, we have 23927 flights
and 1643 aircraft of two types (Airbus A320 and Fokker 100). Then, we proceed to identify MOPs i.e. turnaround times
sufficient to perform at least the shortest maintenance type. We choose a turnaround time of at least 5 h to allow for at
154 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

least a short maintenance intervention. Using aircraft MOPs, we generate intervals by identifying all start and end times of
the MOPs and storing them in an ordered set.
As part of this stage, we pre-determine which variables are not required in the model, hence, for efficiency, they are
not created. Specifically, all the variables involved in constraints (5) and (6) in Model (3.1), and constraints (24), (25), and
(28) in Model (3.2), have known values and it is unnecessary to create them. Therefore, in practice, since the reassignment
variables that involve preassigned flights are not present in Model (3.2), when MR constraints involve preassigned flights,
we simply use MR constraints from Model (3.1). For this reason, the number of reassignment variables is determined by
selecting the sets of reassignable and preassigned flights.

4.2. Solution procedure

To ensure efficiency and solution accuracy, we propose an iterative solution procedure which has two stages, conflicting
period selection, and interval splitting. The aim of the conflicting period selection stage is to, by using the identification of
regulation violations, select the number of reassignment variables. In each iteration, if the regulation violations involved have
not been removed, we increase the size of the conflicting period (which determines the number of reassignment variables)
and resolve Model (3.2). In the interval splitting stage, once all infeasibilites have been removed or all reassignment variables
have been introduced, we split intervals where maintenance takes place and resolve Model (3.2). This ensures flexibility as
it allows the additional generated intervals to be allocated to different aircraft.

4.2.1. Conflicting period selection


An illustration of the conflicting period selection stage is given in Fig. 5. For a certain violation, say at interval i, with
{k1 , k2 , k3 , . . . , kK } ∈ Ki , we select the initial conflicting period as shown in red with j(1i ) as the upper bound, as the next
j i
interval where Ki ⊆ K (1) . We classify flights either in the reassignable subset (FR ), if they are involved in the conflict, or in
the preassigned subset (FR ), otherwise. This regulates the number of reassignment variables, and keeps the solution process
of Model (3.2) efficient. If in the new solution, interval i still has a violation, we increase the size of the conflicting period to
j i
reach j(2i ) , the next interval where Ki ⊆ K (2) . Again, we update the sets of reassignable and preassigned flights and resolve
the problem. If the violation has not been removed, we move on to the next interval with matching aircraft. We continue
this process until the violation is removed or the end of the planning horizon is reached, in which case, all the reassignment
variables, corresponding to violation i, would have been introduced.
In order to identify the conflicting period, we have to identify where violations occur. For the first iteration, the set V
that contain all intervals for which at least one violation occurs is given by,


V = i : i ∈ I, vikc ≥ 1
k c

thereafter, it is given by,


 
V = i : i ∈ If, f ∈ F
where,


F= f : f ∈ F, vkcf ≥ 1 .
k c

For every interval with a violation, i ∈ V, we can identify the set of aircraft involved, Ki . Then, we can find the interval
where the aircraft in Ki will meet again, say K j , with Ki ⊆ K j , where j > i. Hence, the reassignable flights, FR , are those

Fig. 5. Conflicting period selection.


D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 155

that occur between intervals i and j, the conflicting period, and for k ∈ Ki . All the flights, outside of the conflicting period
are preassigned, thus, FR = F \ FR . More generally, the set of intervals Ji , which contain the set of aircraft Ki , can be written
as,
J i = { j : j ∈ I, j > i, Ki ⊆ K j }. (34)
With this, we can write the first conflicting period as
CP (1, i ) = {i : i ∈ I, i ≤ i ≤ j(1i ) , ∃k ∈ K i ∧ k ∈ K i } (35)

where j(1i ) is the first element in Ji . We use this to update the sets of reassignable and preassigned flights appropriately. The
set of reassignable flights is given by,
FR = { f : inf{I f } ≥ i, sup{I f } ≤ j(1i ) }

and K f = Ki for f ∈ FR . The set of preassigned flights can be found using the updated set of reassignable flights, while Of ,
the set of aircraft preassigned to operate flight f ∈ FR is given by the initial TA. Additionally, we need to update the aircraft
present at the intervals in the conflicting period. Thus, we set
Ki = Ki ∪ Ki for i ∈ CP (1, i ).
By solving Model (3.2) after these updates, we can reassign the flights to any of the aircraft involved in the conflict. In the
next iterations, if the violation is removed, then without loss of generality, we may assume that the remaining schedule can
remain unchanged. However, if solving Model (3.2) has not led to the elimination of the violation, we expand the conflicting
period and resolve. For this, we use CP(m, i), for m = 2, . . . , |J i |, which uses the mth element of Ji , j(m
i . Similarly, to update
)
the set of reassignable flights, we set,
FR = { f : inf{I f } ≥ i, sup{I f } ≤ j(m
i
)}

with, K f = Ki for f ∈ FR , and,


Ki = Ki ∪ Ki for i ∈ CP (m, i ).
With the set of preassigned flights and aircraft being updated as previously, using the new set of reassignable flights. We
do this for every interval with a violation i ∈ V, until either the violation is eliminated or the end of the planning horizon
is reached.

4.2.2. Interval splitting


The interval splitting stage favours the redistribution of resources by using a more granular timeline with each iteration.
Resources are occupied for the duration of the interval if maintenance is being performed. When long intervals occur, given
the non-preemption assumption, resources can be held even after the maintenance has been finalised (exceeding the min-
imum maintenance duration). Therefore, we consider the effect of splitting intervals, using different criteria, and resolving
the problem. For example, in Fig. 6, given the intervals, in the first iteration we have a MOP of 9 h. Suppose that the main-
tenance scheduled for this MOP only takes 8 h. So, in the first iteration, the last hour of the last interval is being wastefully
allocated. Splitting, therefore, allows for the resources to be allocated to different aircraft. By splitting in half, in iteration 3,
we see that the last hour is no longer being held.
Let us define three simple splitting methods. Suppose, after solving the problem, we have mikc = 1, so we split interval i
using the following,

1. Binary segmentation (split in half);


2. Golden ratio (split by Golden ratio);
3. Minimum cut (split that allows at least the shortest type of maintenance).

Methods 1 and 2 are well-known and are regularly employed in search algorithms (Nocedal and Wright, 2006). Method
3 splits intervals that allows the shortest type of maintenance. Going back to the example in Fig. 6, recall that the duration
of the maintenance is 8 h, splitting using Method 3 would produce a single split at the 8th hour in the second iteration.

Fig. 6. Interval splitting stage for a 9 h MOP using binary segmentation for three iterations.
156 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

To compare the splitting methods and identify good solutions, we compute an accuracy measure representing the usage
of MOPs. The accuracy measure can be expressed as the ratio of the minimum time required for a check over the actual
time scheduled for the check. That is,
  
c k t (k),c
j
A=     . (36)
c k j i∈MOP j
(et i − st i )mikc
k

Given constraints (10), which specify that maintenance scheduled should be at least of the minimum required duration; we
have that A ≤ 1. Therefore, a schedule that has an accuracy value close to 1, is one that does not schedule more maintenance
than strictly required, and is, thus, efficient.

4.2.3. Algorithm
As outlined in Fig. 4 and in the pseudocode of Algorithm 1, the algorithm requires some inputs. Specifically, a set of
intervals, set of aircraft, FH for each aircraft, maintenance regulations and durations, and, resource capacities and demands.
Once these are provided, in the first iteration, Model (3.1) is solved. If there are violations; i.e. there is no feasible mainte-
nance schedule or, equivalently, V = ∅; we implement the conflicting period selection stage and resolve Model (3.2) until
the violations have been removed. After this, we iterate the interval splitting stage and resolve Model (3.2) until either, the
resource allocation is good enough, equivalently, A ≥ 1 −  (where  is the tolerance), or, no more intervals are added.

5. Model application and computational tests

We tested the iterative algorithm using flight schedules obtained for the maintenance workshops under consideration
over the 30-day period selected. The results shown in this section use preprocessed flight data between dates 14/11/16 and
15/12/16 (see Section 4.1 for more information on the data gathering and preprocessing). The iterative algorithm was written
in Python, using Gurobi Optimization Version 8.0 (2018) to solve the models. Two computational studies are presented,
one for the single workshop case (five workshops treated independently) and one for the multi-workshop case (up to eight
workshops treated simultaneously).
As for the experimental set-up, we restrict the interval splitting stage of the algorithm such that the resulting intervals
are at least 5 s long. Solution times for each iteration are limited to 500 s for each objective. The parameters used for the
computational tests include the standard duration and frequencies for the regulated medium-term maintenance checks, as
mentioned in Section 1. Specifically, according to Table 1, for the two types of aircraft under consideration, the values of
regulation parameter, Lt (k ),c , is given in Table 3. Here, we see the type of aircraft (Airbus A320 and Fokker 100), check type
(c = 1 or 2) and the corresponding maintenance regulation parameter values, Lt (k ),c . Using these values, c = 1 corresponds
to an A check and c = 2 corresponds to a C check. Resource demand and capacity bounds, shown in Table 4, vary for four
different types of renewable resources. A realistic interpretation of resources is as follows, r1 – number of hangar bays, r2
– certified technicians, r3 , r4 – different types of specialised tools. The value for the tolerance,  , which determines the
required accuracy level as A ≥ 1 −  , is set to be 0.01. The initial MR variable is sampled from a Uniform distribution as
follows,
inf{Ik }
wkc ∼ Uni f (0, 0.3 ) ∀k, c.
Sensitivity analysis around the chosen value produces distinct maintenance schedules and resource profiles but does not af-
fect the computational performance of the algorithm. For instance, higher values lead to more maintenance being scheduled
towards the start of the planning horizon; conversely, lower values lead to more maintenance being scheduled towards the
end of the planning horizon.

Table 3
Maintenance regulation parameter values for two check types (1
and 2) and two aircraft types (A320 and F100).

t(k) c=1 c=2

Airbus A320 Lt (k ),c = 600FH Lt (k ),c = 6000FH


Fokker 100 Lt (k ),c = 500FH Lt (k ),c = 5000FH

Table 4
Sample resource demands and limit capacities for four types of
resources (ri for i = 1, 2, 3, 4) and two maintenance types (1 and
2).

r br1 br2 Br

r1 1 1 25
r2 3 5 25
r3 2 3 25
r4 1 2 25
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 157

In addition, the formulations are solved using lexicographic ordered objectives with priorities as suggested by airline
practitioners. In the order of importance, the objectives which are minimised, namely,

1. The number of violations (objective (18)),


2. The maximum resource level (objective (19)),
3. The number of strictly reassigned flights (objective (20)),
4. The weighted number of maintenance interventions (objective (21)),
5. The total MR at the end of the planning horizon (objective (23)).

Given that we are seeking for a maintenance feasible schedule, assigning the number of violations, in any but the highest
priority level leads to infeasible maintenance schedules. Apart from this, as tests revealed, the order of the other objectives
does not affect the integrity of the solutions or the computational times.

5.1. Single workshop case

In the case when maintenance workshops can be treated independently, we can solve the problem for each workshop
individually. This situation can occur, for example, due to the geographical location of the workshops or upon a particular
airlines’ request or restrictions. In this case, we implement the algorithm in parallel for each maintenance workshop under
consideration. It is worth noting that due to the preprocessing routine, which leads to considering only flights with large
turnaround times and just two specific aircraft types, the number of flights and aircraft are significantly reduced compared
those seen in ordinary operations; for more information see Section 4.1. The details for the five workshops, are as follows,

Atlanta Hartsfield-Jackson International Airport: with 1048 flights and 115 aircraft, produces 389 intervals;
Bangkok Suvarnabhumi Airport: with 3869 flights and 49 aircraft, produces 843 intervals;
Cairo International Airport: with 781 flights and 34 aircraft, produces 279 intervals;
Dubai International Airport: with 223 flights and 11 aircraft, produces 63 intervals;
Tokyo Haneda International Airport: with 978 flights and 10 aircraft, produces 162 intervals.

In all cases under consideration, after a single iteration of the conflicting period selection stage, violations are removed
and the interval splitting stage begins. In order to compare the three splitting methods, we study four different aspects,
namely, the final number of intervals, total run times, accuracy measure, and objective function value. Table 5 breaks down
the objective function for the largest workshop, while the results for the workshops under consideration are shown in
Table 6. Specifically, Table 6 shows the accuracy measure plots per iteration, final number of intervals, and total run times.
In the accuracy measure plots, as shown in the legend, Method 1 is represented with solid lines, Method 2 with dashed
lines, and Method 3 with dot-dashed lines.
The trend with the number of intervals per iteration is increasing for all methods, which is expected. The final number
of intervals, as shown in Table 6, is the number of intervals at the last iteration. Method 3 offers the least final num-
ber of intervals throughout, which is reflected in its solution times. Method 1 reveals a higher number of intervals than
Method 2.
The run times for the largest workshop, Bangkok, using Method 3 takes 72 min to terminate the algorithm. For the
remaining, small to medium-sized workshops, it takes between 0.36 s to 4 min to reach a good solution. Computational
times for Method 1 and Method 2 (both significantly larger than Method 3) with the latter showing lower solution times.
The accuracy measure per iteration appears as a plot in the second column in Table 6. As can be seen, the accuracy
measure evolves differently depending on the workshop. It takes a varying number of iterations across workshops for the
algorithm to terminate. In all cases, more clear for Atlanta and Dubai, the required level of accuracy (0.99) is not reached; the
algorithm terminates due to no more intervals being created. For the cases of Tokyo and Dubai, using Method 3, terminates

Table 5
Objective function breakdown for the Bangkok workshop. The best method in each iteration is highlighted
in bold.

Iteration Method / Obj. Obj. (18) Obj. (19) Obj. (20) Obj. (21) Obj. (22) Obj. (23)

1 Method 1 0 70 3 305 2184 54


Method 2 0 70 3 305 2184 54
Method 3 0 70 3 305 2184 54
2 Method 1 0 70 3 216 1559 62
Method 2 0 70 3 209 1509 52
Method 3 0 70 3 210 1523 60
3 Method 1 0 77 3 179 1304 66
Method 2 0 77 3 179 1303 60
Method 3 0 70 3 173 1258 60
4 Method 1 0 77 3 169 1231 71
Method 2 0 77 3 169 1234 101
Method 3 0 70 3 169 1233 55
158 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

Table 6
Comparison across 5 workshops during the interval splitting stage for the three different splitting methods.

Station Accuracy measure (per iteration) Features Splitting methods

Atlanta Method 1 Method 2 Method 3


Final # intervals 3343 3187 551
Total CPU time (min) 60 52 4

Bangkok Final # intervals 2713 2653 919


Total CPU time (min) 105 95 72

Cairo Final # intervals 3431 3117 349


Total CPU time (min) 68 47 5.5

Dubai Final # intervals 473 457 85


Total CPU time (s) 6.6 4.4 0.36

Tokyo Final # intervals 845 771 189


Total CPU time (min) 234 72 3.3
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 159

Fig. 7. Resource profiles for the Bangkok workshop for the first and last (4th) iterations of the interval splitting stage using Method 3.

the algorithm in very few iterations; whereas the rest take slightly more. Between Methods 1 and 2, both provide very
similar quality solutions.
A breakdown of the different components of the objective function value for the Bangkok workshop is given in Table 5.
The table shows the different values for each objective per iteration and for the corresponding splitting method. In each
iteration, the best method is shown in bold. This is determined by comparing objectives in decreasing order of priority
until differing objectives are found, and one method presents an objective value lower than the rest. Note that objectives
(18) (number of violations) and (20) (number of reassigned flights) remain constant. Objectives (21) (weighted number of
maintenance interventions) and (22) (weighted overall resource usage) decrease, while objectives (19) (maximum resource
level) and (23) (total MR at the end of the planning horizon) show some fluctuation. The decrease in the fourth and fifth
priority objectives is due to them being the only ones weighted with the duration of the intervals, and, therefore, are the
only ones that are decreasing as the duration of maintenance interventions also decrease. The first iteration is the starting
point where no splitting has occurred, hence, objectives have the same values throughout the three splitting methods. In the
second iteration, Method 2 is better than Method 3 as it presents the same first three priority objectives (Obj. (18)–(20)) and
a lower value in the fourth priority objective (Obj. (21)). Iterations thereafter show that Method 3 dominates with a lower
second priority objective (Obj. (19)). Additionally, Method 3 provides healthier fleet overall, as suggested by the consistently
lower value of objective (23).
Due to its good solution times, lowest objective values, and overall higher accuracy measure we can claim that, for the
single workshop case, the interval splitting stage performs better using Method 3. Furthermore, it is worth noting that the
aircraft are, also, kept in a healthier state at the end of the planning horizon. For this reason, we present more detailed
results using Method 3 for the largest workshop (Bangkok).
Fig. 7 shows two resource profiles (first and last iteration) for resource r1 at the Bangkok workshop. From Fig. 7a and
b, we see that the resource profiles become considerably less populated and thinner. This means that the resource usage is
more efficient. Particularly, by the last iteration, the solution tends to have slightly higher resource levels to avoid performing
160 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

Fig. 8. Result comparison (objectives (21), (22)) for Method 3 vs traditional discretisation for different time steps.

maintenance during busy flight periods. This leads to most maintenance occurring during night and early morning shifts, as
one would expect.
Since terminating the algorithm when A ≥ 1 −  , or when no more intervals can be added, does not guarantee an optimal
solution we conducted some further testing. For the Atlanta workshop, we compare our solution (using Method 3) to one
obtained with a traditional discretisation method. We discretised time intervals using a varying time step, 2, 3, 4, 5, 6, 7, 8,
9, 10, 15 min, and solved the problem once with a 5 h time restriction per objective. Fig. 8 shows, on the left-hand y-axis,
the percentage error when comparing the optimal objectives (21) (weighted number of maintenance interventions) obtained
using our method with the traditional discretisation for different time steps. The right-hand y-axis, with a grey dashed line,
shows the computational times when using the traditional discretisation for different step sizes.
The percentage error for objectives (21), and (22), are shown using a solid red, and blue lines respectively. The corre-
sponding error for the lower bounds are shown in the same colours but with dot-dashed lines. As with previous cases,
objectives (18)–(20) remain constant, so they have not been included in the figure. It can be observed that the percentage
error increases as the time step decreases. This means that the solution obtained with the traditional discretisation is im-
proving, with respect to our optimal solution, as the step size is reduced. Our solution provides better solutions for step
sizes of 8 min and above (hence the negative percentage error values). The optimal solution for a time step of 4 min (the
smallest available as 2 and 3 min timed-out) shows only 0.6% improvement for both objectives. While for the lower bounds
for the smallest time step (2 min) show 6.6% improvement in objective (21), and 8% in objective (22). Nevertheless, our
solution gives a value 20% lower over all step sizes for the second priority objective (objective (19)). Thus, given the priority
of the objectives, Method 3 dominates all the solutions studied produced using traditional discretisation, thus, producing
near optimal solutions.
The dashed line in Fig. 8, plotted against the right-hand y-axis, reveals that implementing a traditional time discretisation
comes at a huge computational cost. Specifically, the discretisation with the smallest time step (2 min) is around 188 times
slower than our solution. The reason why our method is significantly more efficient is because it only makes time intervals
more granular when it is required and where the solution is more sensitive.

5.2. Multi-workshop case

To allow for interdependence between airlines and workshops, we consider several multi-workshop cases. Here, the al-
gorithm solves the problem for all the workshops simultaneously. The first multi-workshop case considers four of the work-
shops used in the single workshop case. Using Atlanta, Cairo, Dubai and Tokyo, we produce a multi-workshop test set with
3002 flights and 167 aircraft, which produces 900 intervals. The interdependence for this case, due to their close proximity,
is between Cairo and Dubai.
After a single iteration of the conflicting period selection, all violations are removed. Hence, the interval splitting stage
begins. Table 7 shows, the intervals, computational time and accuracy measure value for each of the splitting methods. In
each iteration, the best method is shown in bold. As with the single workshop, this is determined by comparing objectives
in decreasing order of priority until differing objectives are found, and one method presents an objective value lower than
the rest. To avoid repetition, these have not been included due to their resemblance with the results in the single workshop
case. The computational times reveal that Method 3 is the fastest (with a total of 1158 intervals and 9 min), followed by
Method 2 (with a total of 4812 intervals and 58 min) and then Method 1 (with a total of 5020 intervals and 62 min). The
highest accuracy measure, however, is no longer associated with Method 3, but with Method 1.
Given that it shows lowest solution times and objective values, provides a healthier fleet, and exhibits an acceptable
accuracy measure we suggest that, for the multi-workshop case, the interval splitting stage should be implemented us-
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 161

Table 7
Method comparison for the 4-workshop case.

Iteration Method Intervals CPU time (s) Accuracy Measure

1 Method 1 900 59 0.72


Method 2 900 57 0.72
Method 3 900 61 0.72
2 Method 1 1384 610 0.86
Method 2 1390 414 0.83
Method 3 1076 123 0.84
3 Method 1 2556 1252 0.93
Method 2 2586 1258 0.92
Method 3 1134 148 0.90
4 Method 1 5020 1777 0.99
Method 2 4812 1739 0.98
Method 3 1158 200 0.94

ing Method 3. However, if more accuracy is sought, one can resort to Method 1 at the expense of higher computational
times. When compared with the average accuracy measure obtained individually for the four workshops, Method 1 shows a
6% increase. This suggests that modelling interdependence between workshops, or, inter-airline cooperation, leads to more
efficient allocation of resources.
Fig. 10 shows the maintenance schedules produced using Method 3 for the four workshops involved in the multi-
workshop test set. The x-axis represents the date and the y-axis shows each individual aircraft tail number. Hence, the
plot shows when in the planning horizon a specific aircraft is being served, which type of maintenance it is receiving, and
where the maintenance is taking place. Note that only one check 2 (c = 2 which corresponds to a C check) is scheduled in
the busiest workshop, Atlanta, on the first day (14/12). The rest of the maintenance shown are checks c = 1 which corre-
spond to A checks.
To study the scalability of the framework, four additional multi-workshop cases were created. They include, a 5 work-
shop case with 6871 flights and 216 aircraft, a 6 workshop case with 9681 flights and 260 aircraft, a 7 workshop case
with 12402 flights and 429 aircraft, and, the largest, an 8 workshop case with 160 0 0 flights and 529 aircraft. Additional
to the five workshops considered in the single workshop case, the 8 workshop case considers workshops based in Abu
Dhabi International Airport, Beijing Capital International Airport, and, Madrid Barajas Airport. These cases were solved us-
ing Method 3 and until the algorithm was terminated; the least accuracy level achieved was of 0.97. The resulting com-
putational comparison, in Fig. 9, shows the computational times (red line on the left-hand y-axis) and final number of
intervals (grey dashed line on the right-hand y-axis) for the different multi-workshop cases. The evolution of the CPU
time and number of intervals seems to increase linearly with the number of workshops; the 8 multi-workshop case fi-
nalises with 5292 intervals and in 108 min. Therefore, it is possible that the framework is scalable for larger data sets.
Clearly, this depends on the size and number of flights introduced each new workshop. Nonetheless, given the size of
the largest instance considered, we have managed to demonstrate the computational efficiency and the potential of this
framework.

Fig. 9. Computational comparison for Method 3 applied to different multi-workshop cases.


162 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

Fig. 10. Maintenance schedules produced by using Method 3 for each aircraft and workshop in the first multi-workshop case.

6. Conclusions

We have solved the airline fleet maintenance scheduling problem considering tail assignment. Previous studies that tackle
a similar problem have modelled a short-term planning horizon and tend to be computationally expensive even for moder-
ately sized data sets. By using aircraft individual legal remaining flying hours and our interval based formulations, we tackle
the problem while providing solutions in reasonable time. We present two multi-objective mixed integer linear program-
D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164 163

ming formulations for this purpose. The first acts as a feasibility check for an input flight schedule and provides an initial
set of variables for the tail assignment. If a feasible maintenance schedule was not found, the second formulation employs
the location of the regulation violations to formulate a combined maintenance and tail assignment problem. This explores
the different options across an aircraft journey and decides on the optimal allocation of flights, maintenance and resources.
Additionally, our approach accounts for multiple resources and for generic types of maintenance.
In order to improve solutions, we implement a heuristic algorithm that consists of two stages: conflicting period selection
and interval splitting. The conflicting period selection stage increases the size of the tail assignment problem gradually until
we are able to produce a feasible maintenance schedule. After this, the interval splitting stage improves resource allocation.
Test results show that the algorithm is efficient, since it can solve large instances in reasonable computational time, for
a 30-day planning horizon and provides good quality solutions. We solved a multi-workshop test case with 8 workshops,
160 0 0 flights and 529 aircraft in under 2h. Highlighting the importance of developing new efficient formulations. Solutions
present airlines with alternatives to their initial tail assignment during the planning stage. These solutions focus on satisfy-
ing maintenance regulations and keeping the aircraft healthy, while remaining commercially viable for the airlines. Results
promote inter-airline cooperation, which allows for workshop resource sharing between airlines, since it provides a more
efficient resource allocation per workshop.
Some limitations are worth noting. Stopping the iterative algorithm when the accuracy measure is maximal does not
guarantee an optimal solution. Clearly, if continued indefinitely, the algorithm would reach the optimal solution, however,
applying the stopping criterion gives a good quality solution in reasonable time. We compared the solution obtained using
our method to the one obtained using a traditional discretisation with a small time step. This revealed that our solution is
better and around 188 times faster, however, the theoretical proof remains to be done. Additionally, we have not considered
the complications that may arise from some of the long-term maintenance types. In some cases, for example with life
limited replacements, the inclusion of inventory control for spares and those being fixed would be paramount. Further
work includes the implementation of a rolling horizon and the application of clustering for maintenance workshops with
intersecting flights. Due to the lexicographic optimisation approach, the optimal solution(s) of the higher order objectives
determine the optimal values of the lower order objectives. The solution space of the proposed formulation can be further
expanded by relaxing the optimal value of the first priority objective, i.e. allowing for tolerance. An alternative way to model
the problem is to use a Goal Programming formulation and seek to minimise the weighted sum of the deviation from
the optimum value of each objective. It is apparent that, the preferences of the decision maker(s) in terms of preference
ordering (lexicographic optimisation) or weights (Goal Programming) will drive the outcome of the optimisation process.
Future research may involve further experimentation of the decision maker(s) preferences in terms of the preferences of the
decision maker(s).

CRediT authorship contribution statement

David Torres Sanchez: Conceptualization, Methodology, Software, Validation, Formal analysis, Data curation, Visualiza-
tion, Writing - review & editing. Burak Boyacı: Conceptualization, Methodology, Supervision, Writing - review & editing.
Konstantinos G. Zografos: Conceptualization, Supervision, Writing - review & editing.

Acknowledgements

We thank Richard Standing, from R2 Data Labs (Rolls-Royce), for his guidance and suggestions. We would also like to
thank the reviewers for their helpful comments that shaped and improved this paper. We gratefully acknowledge the sup-
port of the EPSRC funded EP/L015692/1 STOR-i Centre for Doctoral Training and Rolls-Royce.

Supplementary material

Supplementary material associated with this article can be found, in the online version, at doi:10.1016/j.trb.2019.12.008.

References

Ackert, S., 2011. The Relationship Between an Aircraft’s Value and its Maintenance Status. Technical Report. Aircraft Monitor. http://www.aircraftmonitor.
com/uploads/1/5/9/9/15993320/the_relationship_between_an_aicrafts_value__its_maintenance_status___v1.pdf. Accessed: 07/01/2020.
Aircraft Analysis & Fleet Planning, 2005. Can the 787 & A350 Transform the Economics of Long-Haul Services? Technical Report. Aircraft commerce. https:
//www.aircraft-commerce.com/articles/articles-by-subject/. Accessed: 07/01/2020.
Allamraju, H., 2014. Flighradar24 Unofficial API: Pyflightdata. Accessed: 07/01/2020.
Barnhart, C., Boland, N.L., Clarke, L.W., Johnson, E.L., Nemhauser, G.L., Shenoi, R.G., 1998. Flight string models for aircraft fleeting and routing. Transp. Sci.
32 (3), 208–220. doi:10.1287/trsc.32.3.208.
Brucker, P., Knust, S., 2012. Complex Scheduling, second ed. GOR-Publications/Springer, Berlin, Heidelberg doi:10.1007/3- 540- 29546- 1.
Clarke, L., Johnson, E., Nemhauser, G., Zhu, Z., 1997. The aircraft rotation problem. Ann. Oper. Res. 69 (0), 33–46. doi:10.1023/A:1018945415148.
Cohn, A.M., Barnhart, C., 2003. Improving crew scheduling by incorporating key maintenance routing decisions. Oper. Res. 51 (3), 387–396. doi:10.1287/
opre.51.3.387.14759.
Cook, A., Tanner, G., 2008. Innovative Cooperative Actions of R&D in EUROCONTROL Programme CARE INO III: Dynamic Cost Indexing: Aircraft maintenance
– marginal delay costs. Technical Report. Transport Studies Group, University of Westminster. https://www.eurocontrol.int/eec/gallery/content/public/
documents/projects/CARE/CARE_INO_III/DCI_TDD9-0_Airline_maintenance_marginal_delay_costs.pdf. Accessed: 07/01/2020.
164 D.T. Sanchez, B. Boyacı and K.G. Zografos / Transportation Research Part B 133 (2020) 142–164

Cordeau, J.-F., Stojković, G., Soumis, F., Desrosiers, J., 2001. Benders decomposition for simultaneous aircraft routing and crew scheduling. Transp. Sci. 35 (4),
375–388. doi:10.1287/trsc.35.4.375.10432.
Department for BIS, 2016. UK Aerospace Maintenance, Repair, Overhaul & Logistics Industry Analysis. https://assets.publishing.service.gov.uk/government/
uploads/system/uploads/attachment_data/file/502588/bis- 16- 132- uk- mrol- analysis.pdf. Accessed: 07/01/2020.
Desaulniers, G., Desrosiers, J., Dumas, Y., Solomon, M.M., Soumis, F., 1997. Daily aircraft routing and scheduling. Manag. Sci. 43 (6), 841–855. doi:10.1287/
mnsc.43.6.841.
Feo, T.A., Bard, J.F., 1989. Flight scheduling and maintenance base planning. Manag. Sci. 35 (12), 1415–1432. doi:10.1287/mnsc.35.12.1415.
Flightradar24 AB, 2018. Flightradar24. www.flightradar24.comAccessed: 07/01/2020.
Gopalan, R., Talluri, K.T., 1998. The aircraft maintenance routing problem. Oper. Res. 46 (2), 260–271. doi:10.1287/opre.46.2.260.
Gurobi Optimization version 8.0, I., 2018. Gurobi Optimizer Reference Manual. https://www.gurobi.com/documentation/8.0/refman/index.html. Accessed:
07/01/2020.
Habibi, F., Barzinpour, F., Sadjadi, S., 2018. Resource-constrained project scheduling problem: review of past and recent developments. J. Project Manag. 3
(2), 55–88. doi:10.5267/j.jpm.2018.1.005.
Hane, C.A., Barnhart, C., Johnson, E.L., Marsten, R.E., Nemhauser, G.L., Sigismondi, G., 1993. The fleet assignment problem: solving a large-scale integer
program. Math. Programm. 70 (1–3), 211–232. doi:10.1007/BF01585938.
Haouari, M., Shao, S., Sherali, H.D., 2013. A lifted compact formulation for the daily aircraft maintenance routing problem. Transp. Sci. 47 (4), 508–525.
doi:10.1287/trsc.1120.0433.
Hicks, R., Madrid, R., Milligan, C., Pruneau, R., Kanaley, M., Dumas, Y., Lacroix, B., Desrosiers, J., Soumis, F., 2005. Bombardier flexjet significantly improves
its fractional aircraft ownership operations. Interfaces 35 (1), 49–60. doi:10.1287/inte.1040.0113.
Khaled, O., Minoux, M., Mousseau, V., Michel, S., Ceugniet, X., 2018. A compact otimization model for the tail assignment problem. Eur. J. Oper. Res. 264
(2), 548–557. doi:10.1016/j.ejor.2017.06.045.
Koné, O., Artigues, C., Lopez, P., Mongeau, M., 2011. Event-based MILP models for resource-constrained project scheduling problems. Comput. Oper. Res. 38,
3–13. doi:10.1016/j.cor.2009.12.011.
Koné, O., Artigues, C., Lopez, P., Mongeau, M., 2013. Comparison of mixed integer linear programming models for the resource-constrained project schedul-
ing problem with consumption and production of resources. Flex. Serv. Manuf. J. 25 (1–2), 25–47. doi:10.1007/s10696- 012- 9152- 5.
Kopanos, G.M., Kyriakidis, T.S., Georgiadis, M.C., 2014. New continuous-time and discrete-time mathematical formulations for resource-constrained project
scheduling problems. Comput. Chem. Eng. 68, 96–106. doi:10.1016/j.compchemeng.2014.05.009.
Levin, A., 1971. Scheduling and Fleet Routing Models for Transportation Systems. Transp. Sci. 5 (3), 232–255. doi:10.1287/trsc.5.3.232.
Li, Z., Guo, J., Zhou, R., 2016. Maintenance scheduling optimization based on reliability and prognostics information. In: Annual Reliability and Maintain-
ability Symposium (RAMS), pp. 1–5. doi:10.1109/RAMS.2016.7448069.
Liang, Z., Chaovalitwongse, W., 2013. A network-based model for the integrated weekly aircraft maintenance routing and fleet assignment problem. Transp.
Sci. 47, 493–507. doi:10.1287/trsc.1120.0434.
Martins, P.M.S., 2016. Systematization and optimization of Fokker 100’s Maintenance Plan. Technical Report. Instituto Superior Técnico, Lisboa, Portugal.
Accessed: 07/01/2020.
Mercier, A., Cordeau, J.F., Soumis, F., 2005. A computational study of Benders decomposition for the integrated aircraft routing and crew scheduling problem.
Comput. Oper. Res. 32 (6), 1451–1476. doi:10.1016/j.cor.2003.11.013.
Naber, A., 2017. Resource-constrained project scheduling with flexible resource profiles in continuous time. Computers & Oper. Res. 84, 33–45. doi:10.1016/
j.cor.2017.02.018.
Nocedal, J., Wright, S., 2006. Numerical Optimization: Springer Series in Operations Research and Financial Engineering. Springer doi:10.1007/
978- 0- 387- 40065- 5.
Orhan, I., Kapanoglu, M., Karakoc, T.H., 2012. Concurrent aircraft routing and maintenance scheduling using goal programming. Journal of the Faculty of
Engineering andArchitecture of Gazi University 27 (1), 11–26. https://www.researchgate.net/publication/256457265_Concurrent_Aircraft_Routing_and_
Maintenance_Scheduling_Using_Goal_Programming. Accessed: 07/01/2020.
Papadakos, N., 2009. Integrated airline scheduling. Comput. Oper. Res. 36 (1), 176–195. doi:10.1016/j.cor.20 07.08.0 02.
Qantas, 2016. Qantas News Room: The A, C and D of Aircraft Maintenance. http://www.qantasnewsroom.com.au/roo-tales/
the- a- c- and- d- of- aircraft- maintenance/. Accessed: 07/01/2020.
Safaei, N., Jardine, A.K., 2018. Aircraft routing with generalized maintenance constraints. Omega 80, 111–122. doi:10.1016/j.omega.2017.08.013.
Sarac, A., Batta, R., Rump, C.M., 2006. A branch-and-price approach for operational aircraft maintenance routing. Eur. J. Oper. Res. 175 (3), 1850–1869.
doi:10.1016/j.ejor.2004.10.033.
Sousa, J.P., Wolsey, L.A., 1992. A time indexed formulation of non-preemptive single machine scheduling problems. Math. Programm. 54 (1–3), 353–367.
doi:10.1007/BF01586059.
Sriram, C., Haghani, A., 2003. An optimization model for aircraft maintenance scheduling and re-assignment. Transp. Res. Part A Policy Pract. 37 (1), 29–48.
doi:10.1016/S0965-8564(02)0 0 0 04-6.
Yan, S., Tseng, C.-H., 2002. A passenger demand model for airline flight scheduling and fleet routing. Comput. Oper. Res. 29 (11), 1559–1581. doi:10.1016/
S0305-0548(01)0 0 046-6.

You might also like