# The Need for Ecosystem 4.0 to Support Maintenance 4.0: An Aviation Assembly Line Case
## 3 Case Study
### Mathematical Model  
Given that the preventive maintenance of an assembly line is an unavoidable part of the operation, robots must be stopped for regular maintenance activities. In this regard, time spent in maintenance is unproductive, reducing the availability of KPI's in the assembly process. The aim of the proposed model is therefore to reduce this unproductive time brought on by preventive maintenance. [PERSON] [25] presents a similar objective function, however, focusing on the cost incurred by the labour hours. Since this paper focuses on the overall efficiency of the assembly line, the repair teams are considered to have a fixed cost to be on standby for maintenance, thus this cost is not relevant at his point. The assembly  
Figure 2: Wing flow assembly, adapted from Diez-Olivan [15]. line described in Section 3.1 was mathematically modelled according to the parameters, variables and formulation presented below:  
_Parameters_  
I: set of maintenance activities;  
J: set of maintenance teams;  
R: set of robots;  
K: set of robot types;  
T: total number of maintenance activities required;  
W: total working hours of maintenance teams in a period. _Robot_Vector_: vector that lists the robot types and their position in the assembly line  
_Experience_Matrix_: defines the \(J\) teams' experience and knowledge in maintaining each of the K robot types. In alignment with the observations in the assembly line during the field exploration, it was adopted as a system of five experience levels as suggested by the International Labour Organisation [26] as explained below:  
* Level 1--shallow experience: performs 25% slower than the MTTR for a team to execute the maintenance tasks;
* Level 2--low experience: performs 10% slower than MTTR for a team to execute the maintenance tasks;
* Level 3--average experience: it takes a time equal to the MTTR to execute the maintenance task;
* Level 4--high experience: performs 10% faster than the MTTR to execute the maintenance task; and
* Level 5--very high experience: performs 25% faster than the MTTR to execute the maintenance task. _Experience_Factor_: vector that lists the experience levels used to calculate how long it takes for the team to perform a maintenance task. _Average_\({}_{ir}\): average time to perform maintenance task \(i\) for robot \(r\). _t_\({}_{ijr}\): the time required by team \(j\) to perform maintenance activity \(i\) on robot \(r\). _Decision variables_  
_z_\({}_{ijr}\): decision variable that assumes the value one (1) if team \(j\) performs maintenance activity \(i\) on robot \(r\). C: number of cancelled maintenance activities  
_Objective Function_  
\[\min\sum_{i\in I}\sum_{j\in I}\sum_{r\in R}t_{ijr}z_{ijr} \tag{1}\]  
_Restrictions_  
\[\sum_{j\in I}z_{ijr}\leq 1\ \forall\ i\in I,\ \forall\ r\in R \tag{2}\]  
\[\sum_{r\in R}t_{ijr}z_{ijr}\leq W\ \forall\ i\in I,\ \forall\ j\in J \tag{3}\]  
\[C+\ \sum_{i\in I}\sum_{j\in I}\sum_{r\in R}z_{ijr}=T \tag{4}\]  
\[z_{ijr}\in\{0,1\}\ \forall\ i\in I,\ \forall\ j\in J,\ \forall\ r\in R \tag{5}\]  
The objective function, Equation (1), aims to minimize the robot downtimes by reducing maintenance man-hours over the 15 years of operation considered. Here, \(t_{ijr}\) is defined in Equation (6):  
\[t_{ijr}=Average_{ir}\ \times\ Experience\_Factor\Big{(}\ ExperienceMatrix_{j,RobotVector_{r}} \Big{)} \tag{6}\]  
Equation (2) is a restriction that imposes that maintenance activity must only be done once by one team. Equation (3) determines that the maintenance man-hours cannot exceed the established maximum work hours of a team in a certain period, which, in this case, is 16 man-hours/day in seven days, meaning there are a total of 112 man-hours each seven days. Variable C in Equation (4) represents the number of tasks that could not be performed because of unavailable labour. Equation (5) defines variable \(z_{ijr}\) as binary, equal to 1 if maintenance \(i\), for robot \(r\), is performed in time \(t\) and equal to 0 otherwise.