A Genetic Algorithm Approach for Multi-category Preventive Maintenance Scheduling

In the literature, preventive maintenance (PM) tasks are treated as one category of work such that they were interchangeable in scheduling. It is not practical in the real production system as different categories of maintenance tasks should be independent. Thus, this work modeled a new Production-Maintenance Scheduling (PMS) problem that considered different categories of maintenance with different maintenance intervals and durations. To solve the new problem, we developed a genetic algorithms approach named the Second Generation of Genetic Algorithms with Dominant Gene (GADGII). The numerical results showed that the proposed GADGII outperforms the traditional GADG with shorter makespans.


Introduction
The optimization of production and maintenance scheduling (PMS) is a popular issue for researchers. In the last decade, many integrated models for production-maintenance scheduling (PMS) problems have appeared in the literature. The purpose of the models is to harmonize both production and maintenance activities during operation. The key feature of these models is that the start times of maintenance tasks are regarded as decision variables. Thus, production and maintenance activities can be jointly scheduled. Berrichi et al. [1] proposed a Multi-Objective Ant Colony Optimization (MOACO) approach for PMS problems. They aimed to determine the best assignment of production and maintenance activities to machines, minimizing the makespan and the system unavailability simultaneously. The proposed MOACO approach was shown to outperform two popular genetic algorithms (GAs): NSGA II [2] and SPEA 2 [3]. Ben Ali et al. [4] proposed an elitist multi-objective genetic algorithm for a job shop PMS problem. They considered periodic unavailability periods for maintenance and two types of PM tasks. One type of PM task was independent from machine loading that was scheduled regularly with a fixed time interval T 1 . Another one was linked to machine operation time that was scheduled after T 2 process time. The objectives of the models were to minimize the makespan and the total maintenance cost. Moradi et al. [5] proposed a bi-objective evolutionary genetic algorithm approach for a flexible job shop PMS problem. In their model, the number of maintenance activities and the maintenance intervals were not fixed. The aims of the model were to minimize the makespan and the system unavailability.
To our best knowledge, most of the studies assumed that all preventive maintenance tasks were in one category of work such that they were interchangeable in scheduling. However, in the real situation, most of them are independent, with different maintenance intervals and durations. In this connection, this study formulated a new scheduling problem that allows multi-category preventive maintenance (PM) tasks. An advanced genetic algorithm (GA) approach, named the Second Generation of Genetic Algorithms with Dominant Gene (GADGII), was developed to solve the new problem with the objective of makespan minimization. The performance of GADGII was compared with the traditional GADG.

Production Scheduling Problem Considering Mould Allocation
This section presents a production scheduling problem in a plastic production system with consideration of mould allocation during operation. The problem is to determine the machines and moulds assigned (X jqm and Y jqd ) for each jobs and formula a production schedule as a solution to the problem. The objective function is the minimization of the makespan of all jobs (C max ) as shown below: The problem is subjected to the following constraints: Referring to the above constraints, Constraint (2) ensures that in the specific time unit, each machine can perform one job only. Similarly, Constraint (3) ensures that each injection mould can perform one job only in the specific time unit. Constraints (4) and (5) defined that all jobs must be performed on a machine one time. Constraints (6) and (7) defined that all jobs must be performed on an injection mould one time. Constraint (8) shows the non-negativity of the start time of all jobs.

Modelling of Multi-Category Preventive
Maintenance Scheduling In this model, each maintenance task is classified into a specific maintenance category and mode, which is defined as ok. For example, machine maintenance and mould maintenance are classified as Mode 1 and Mode 2 respectively. For machine maintenance, there are four categories of maintenance tasks, namely, lubrication, cleaning, inspection and replacement. For mould maintenance, there are also four categories of maintenance tasks, namely, lubrication, polishing, replacement and overhaul. The presentation of the maintenance tasks is shown in Table 1. In this study, the classification of the maintenance modes is decided by the types of resources, machines and moulds. However, the classification is not limited to the type of resources. The maintenance modes can be classified by components, functional areas, and failure modes of a machine or a production system. It depends on the industrial requirements and maintenance staff justification. In addition, the concept of age is applied to each maintenance category to represent the resource condition. The age of each maintenance category is the cumulated operation time after the completion of the last maintenance. The maximum age (P ok ) for each maintenance category is predefined to maintain the performance of the resource at a certain level. When the cumulated operation time from the last maintenance (A okmj ) reaches the maximum age (P ok ), a maintenance task of the category (o k ) will be performed. After performing the maintenance task, the cumulated operation time from the last maintenance (A okmj ) becomes zero. The next maintenance task of the category (o k ) will start when the maximum age (P ok ) is reached again.

Second Generation of Genetic Algorithms with Dominant Gene (GADGII)
Chan et al. [6] proposed a Genetic Algorithms with Dominant Gene (GADG). It was proven that it outperforms various existing approaches, including Simple Genetic Algorithms (SGA), Adaptive Genetic Algorithms (AGA), Lagrangian Relaxation, Petri Nets and Ant Colony [7]. Also, it works well for solving PMS problems [8][9][10]. The concept of GADG is to recognize the genes that represent a good structure of a chromosome. The structure of a chromosome is very important and represents the quality of a solution. To prevent the loss of the good structure, in GADG, these changed genes will be recorded and marked as dominant genes (DGs). Those DGs will have more chance to grow stronger during the evolution procedure.

Encoding
A new encoding is adopted in GADGII as shown in Figure  1. Instead of separating all types of maintenance tasks, the new encoding allows grouping of the maintenance tasks into different categories and modes. The parameter L represents the maintenance modes and each mode consists of k maintenance categories. The length of the parameter L varies with the number of maintenance modes. For example, if there are four maintenance tasks for the machines and moulds, the maintenance tasks for the machines can be regarded as mode L1 and the maintenance tasks for the mould can be regarded as mode L2. Four types of maintenance are indicated in each mode with values of 1 to 4. Even though there are four types of maintenance, only one parameter is required in the new encoding. The length of the chromosomes can be reduced in GADGII.

Crossover
In the traditional GADG, the dominant genes (DGs) are exchanged amount the parent chromosomes to generate offspring. However, a validation process is required to figure out the conflicting DGs in the same location and same job [8]. The validation process requires additional computational time that affects the overall performance of GADG when the problem size increases. In GADGII, the procedure of DGs exchange is modified and no validation process is required, as shown in Figure 2. Firstly, the DGs from the partner are imported, and have the first priority to reserve the location of the offspring. Secondly, the remaining genes of the parent itself are inserted to the offspring in order. In Figure 2, the DG (2,2,0,3,1) of parent 1 is in conflict with the DG (1,2,0,0,1) of parent 2 due to the same job allocation. Also, the DG (1,4,2,0,1) of parent 1 is in conflict with the DG (1,3,0,1,1) of parent 2 due to the same location. With the crossover procedure of GADGII, these conflicting DGs are ignored and the schedule can be repaired automatically without any validation process. The overall computational time can therefore be reduced.

Mutation
In the traditional GADG, there are two types of mutation, as shown in Figure 3. In Type One mutation, two genes of a chromosome are randomly selected. They exchange locations each other, with their parameters remaining unchanged. The purpose is to rearrange the job sequence of the production schedule. In Type Two mutation, one of the parameters of a random-selected gene is mutated in order to diversify the solutions. In GADGII, additional mutation is performed to increase the searchability of the maintenance decision variables, as shown in Figure 4. For the random-selected gene, the variables of each maintenance mode are mutated.

Genetic Evolution
The evolution procedure of GADGII is similar to the traditional GADG. Firstly, a set of chromosomes is randomly generated to form an initial solution pool. All chromosomes are evaluated by a fitness function, as follows: The fitness value of a chromosome is calculated by one minus the quotient of the makespan of Chromosome k divided by the sum of makespans of all chromosomes, after which, all chromosomes undergo a roulette wheel selection procedure. The chromosomes with higher fitness value have higher chance of being selected. During selection, an Elitist Strategy is also adopted to select the best chromosome into the mating pool. Next, the selected chromosomes undergo the crossover and mutation operations in turn. After the crossover or mutation, the offspring chromosomes again undergo the evaluation and selection procedures. The generation of offspring chromosomes continues until the predefined number of generation is reached. The best chromosome found within the generations is outputted.

Numerical Examples
This section aims to justify the performance of GADGII in the PMS problem that considers multi-category preventive maintenance. The PMS problem is solved to compare the performance of GADGII with the traditional GADG [11]. The problem sets involved thirty production jobs, three injection machines and five injection moulds. For the maintenance activities, there are two types of maintenance required for the machines and the moulds. In this study, additional maintenance activities are considered in the problem. The GADG and GADGII are programmed in the Visual Basic for Applications (VBA) environment. The computer used for programming execution is with Intel Core 2 Duo 2.13GHz CPU. For each set of problem data, both GADG and GADGII run for times with 10,000 evolutions independently. The minimum makespan, average makespan and the standard deviation of the ten solutions are calculated and outputted. Table 2 shows the eight maintenance activities considered in this example. The traditional GADG will reserve eight binary decision variables for maintenance allocation, whereas GADGII will group the eight activities into four maintenance modes and two maintenance categories. As mentioned, the classifications of the maintenance modes and categories depend on the industrial requirements and the maintenance staff justification. In this case, the maintenance activities for the machines are classified by the maintenance functions, which are preventive action and inspection. The maintenance activities for the moulds are classified by the key components of the moulds: cavity and slide. With GADGII, users can define the suitable classifications for machine and mould maintenance independently, which helps users to manage the maintenance activities when the number of maintenance activities increase. Table 3 shows the simulation results of the ten problem sets considering eight maintenance activities. Clearly, GADGII performs very well for the new problems. It outperforms GADG with 5 to 10% improvement of the minimum makespans and average makespans. For a more complicated PMS problem that involves more categories of maintenance activities, GADGII is more capable for harmonizing the production and maintenance activities.

Conclusions
This work proposed a genetic algorithm approach, named Second Generation of Genetic Algorithms with Dominant Gene (GADGII), to solve a production-maintenance scheduling (PMS) problem that considers multi-category preventive maintenance tasks. For benchmarking, the PMS problems solved by [11] were adopted to justify the performance of GADGII. The experimental results showed that GADGII outperforms traditional GADG with 5 to 10% improvements of minimum makespans and average makespans.