## 5 Results  
To generate results, we conducted experiments involving different instance dimensions, formulated from all possible combinations of machines and jobs, with the number of machines being either 5, 10, or 20 and the number of jobs being 10, 25, or 50. For each unique configuration, we produced 30 distinct instances. We simulated the processing times from a normal distribution, setting the mean at 100 units of time with a standard deviation of 25 units. We generated random values within 30 to 50 units of time for the duration of the maintenance activities assigned to each machine. Finally, we calculated the efficiency rates for each machine using the approach outlined in Section 3. For the algorithm's parameters, we set a population size of 100, several iterations of 50, and the percentage of elitist selection is 10% of the population size. Through these experiments, we gathered the mean running times, mean best objective function value of the final solution, and mean improvement percentage of the objective function (comparing the objective function values of the best initial and final solutions). Most importantly, we computed the mean improvement percentage from the initial solution to the final solution, indicating the overall effectiveness of our memetic algorithm in optimizing the JSSP-VME-MT. The results are displayed in Tables 2-4. Figure 11: Graphic example of swapping maintenance blocks. Figure 10: Graphic example of maintenance activity deletion. The following figures present the measurements aggregated by the number of jobs and machines for a better understanding of the results. We observe a clear trend by initially focusing on the mean objective function values. As the number of jobs and machines increases, the objective function value also rises, indicating higher overall times for job completion, including maintenance activities. The results of these analyses are illustrated in Figures 12-14. This trend is intuitive, as increased jobs and machines naturally lead to more complex scheduling problems and, thus, longer total processing times. However, the growth rate of the objective function values is more pronounced when increasing the number of machines than when increasing the number of jobs. This observation suggests that incorporating additional machines into the system introduces greater complexity, likely due to the additional coordination required between more machines, each with its maintenance schedule and variable efficiency. Turning our attention to the improvement percentage of the objective function, it is evident that our MA offers an advantage. The mean improvement percentage is consistent across different numbers of jobs and machines, ranging from 1.58% to 5.77%. Even in more complex instances involving larger numbers of jobs and machines, the algorithm demonstrates its ability to enhance the solution quality over the initial solutions. These improvements underline our MA's efficacy in searching the solution space and finding improved solutions. Finally, examining the mean running times, it becomes clear that computational demands rise as the number of jobs and machines increases. Similarly to the objective function values, the increment in computational time is more pronounced when increasing the number of machines. Again, this suggests that adding additional machines adds complexity to the problem, requiring additional computational resources. However, these increased running times are a small trade-off for the improved solutions that our MA provides. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Number of Machines**} & \multicolumn{3}{c}{**Number of Jobs**} \\ \cline{2-4}  & **10** & **25** & **50** \\ \hline
5 & 1.37 & 1.40 & 1.49 \\
10 & 1.92 & 2.08 & 2.42 \\
20 & 2.71 & 3.20 & 4.04 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Mean running time (in seconds).