Comparative Study of Heuristics Algorithms in Solving Flexible Job Shop Scheduling Problem with Condition Based Maintenance

Purpose: This paper focuses on a classic optimization problem in operations research, the flexible job shop scheduling problem (FJSP), to discuss the method to deal with uncertainty in a manufacturing system. Design/methodology/approach: In this paper, condition based maintenance (CBM), a kind of preventive maintenance, is suggested to reduce unavailability of machines. Different to the simultaneous scheduling algorithm (SSA) used in the previous article (Neale & Cameron,1979), an inserting algorithm (IA) is applied, in which firstly a pre-schedule is obtained through heuristic algorithm and then maintenance tasks are inserted into the pre-schedule scheme. Findings: It is encouraging that a new better solution for an instance in benchmark of FJSP is obtained in this research. Moreover, factually SSA used in literature for solving normal FJSPPM (FJSP with PM) is not suitable for the dynamic FJSPPM. Through application in the benchmark of normal FJSPPM, it is found that although IA obtains inferior results compared to SSA used in literature, it performs much better in executing speed. Originality/value: Different to traditional scheduling of FJSP, uncertainty of machines is taken into account, which increases the complexity of the problem. An inserting algorithm (IA)


Introduction
There is a lot of research which endeavors in the improvement of production (Wang & Liu, 2013).Among the various production manners, the job shop is a promising one used widely in practice.Job shop is a common and basic type of manufacturing system, especially in the production with multiple types and small quantity.The model of Job shop scheduling problem (JSSP) has become a very interesting research topic since 1960s.It was demonstrated NPcomplete when m ≥ 2 (m is the number of machines) (Garey, Johnson & Sethi, 1976).Flexible job shop scheduling problem (FJSP), as an extension and generalization of JSSP, is more complicated.FJSP extends JSSP with alternative machine routings, by assuming that a machine is capable of performing more than one type of operation (Hussain & Joshi, 1998;Nasr & Elsayed, 1990;Najid, Dauzere-Peres & Zaidat, 2002;Thomalla, 2001).
It is known that the efficient and effective production is based on the consistent operation of machines.However, the unavailability of machines is a prevalent phenomenon in a manufacturing system.In practical manufacturing environment, there are always some uncertainties inducing unavailability of machines, such as unavailability of staff, operational errors of staff, machine breakdown, and so forth.Besides the final scrap, machine breakdown cannot be avoided, especially in term of modern machine, which is always with a sophisticated structure.Therefore, ensuring machines performing in good condition attracts many researchers and practitioners.Among them, preventive maintenance (PM) is widely studied.P M is demonstrated effective to increase availability of machines in both practice and theory.
-519-Journal of Industrial Engineering and Management -http://dx.doi.org/10.3926/jiem.1038 In this work, we suggest to apply condition based maintenance (CBM) to increase machine reliability in work procedure.CBM is a maintenance policy in which PM is triggered after identifying a symptom of impending failure with the aid of condition-monitoring techniques.
The real-time attribute makes FJSP dynamic, for which we can mark this dynamic scheduling problem as DFJSPPM.In order to solve this problem, different to the simultaneous scheduling algorithm used in Kacem, Hammadi and Borne (2002), in which maintenance tasks and the existing normal jobs are scheduled simultaneously in an integrated procedure.Obviously, it is based on the prediction of maintenance tasks before the execution of jobs.This is not suitable for the proposed problem, in which the maintenance is not forecasted in advance.With the real-time attribution, the maintenance task emerges unexpectedly.Therefore, we propose an inserting algorithm (IA) to add PM into the pre-schedule scheme obtained in the normal problem of FJSP.In this case, the quality of the final result depends mostly on the preschedule scheme acquired in the solution of normal FJSP.
As the problem is rather innovative, there is no benchmark used to demonstrate the effectiveness of our proposed algorithm in the comparative study with other algorithms.We compare IA with a simulated scheduling algorithm (SSA) which is used in Neale and Cameron (1979).Meanwhile, comparative study of the three kinds of heuristic algorithms is carried out to obtain a better preschedule scheme.
The structure of the paper is as follows: in section 2, the problem of DFJSPPM is interpreted; solution approach is detailed in section 3; section 4 is an experiment for demonstrating the effects of the proposed approach; we conclude our work in section 5.

Problem statement
The theoretical basis of CBM is the P−F curve, which describes the deterioration process of the machine and can be referred in Zheng (2012).The principle of CBM is executing maintenance before breakdown occurs.The time period of executing maintenance is decided by the data analysis with the machine monitoring.The advantage of CBM is that it transforms the state of maintenance from passiveness to activeness.It gets rid of the disadvantage of the cyclic maintenance, which may induce inadequate maintenance or over maintenance.As CBM is based on condition monitoring, time windows of executing maintenance are not fixed and cannot be predicted.As monitoring is real-time, production system with maintenance is dynamic, without static periods or intervals before the execution of the whole work in job shop.
Take an example in Figure 1.Before some hidden failures (point P) are detected, maintenance tasks are not considered in scheduling problem.Manufacturing is executed according to a preschedule solution of the normal FJSP.When arriving point P, the maintenance tasks have to be considered to add into the work in progress.In our work, we use an Inserting Algorithm (IA) to add PM to the pre-determined scheme.This is the stage to respond to the disruption of adding PM into the preschedule scheme.
Compared to the model of FJSP, elements of PM are added in FJSPPM as follows: There are Lj maintenance tasks which have to be processed on machine j during the planning horizon.The maintenance task corresponds to a predefined time window T, within which the starting time of the maintenance task can be moved.Likewise, some hypotheses are added: (1) Maintenance task is considered as a special job; the duration of maintenance is concluded in makespan of jobs; (2) The machine is restored to good working condition after maintenance.The Mathematical model of the problem is as follows: Notations used: min F1= max(max1≤i≤ncini, max1≤j≤myjLj) (1) tEjl≤yjl≤tLjl, ∀l, j (5) Objective function ( 1) is minimization of makespan, which is the max value between the latest completion time of job and that of maintenance.Inequality (2) ensures no-overlapping constraints between operations on the same machine.In-equality (3) ensures no-overlapping constraints between preventive maintenance tasks and operations on the same machine.
Equation ( 4) states that only one machine should be selected from the set of available machines for each operation.Inequality (5) states that the preventive maintenance tasks have to be executed within their time windows.Inequalities ( 7) and ( 8) ensure the feasibility of the two variables.

Solution approach
The solution procedure of FJSPPM is decomposed into two stages: stage1 to solve FJSP for a pre-schedule scheme; stage 2 to insert PM tasks to the pre-schedule solution with an inserting algorithm (IA).For solving FJSP, three heuristic algorithms are applied to obtain the best solution, genetic algorithm (GA), ant colony optimization algorithm (ACO) and artificial bee colony algorithm (ABC).

Integrated Genetic Algorithm for FJSP
For the application of GA to solve FJSP, an integrated GA is proposed, in which the two sub problems, machine assignment and sequence scheduling, are integrated in one GA procedure.
The overall structure of integrated GA is described as follows: (1) Coding: the genes of chromosome represent machine assignment of operations, with size (n, ni); (2) Initial population: It is initialized that machine for each operation is randomly selected from the set of available machines, Aij , to guarantee its feasibility.
(3) Offspring generation: provide diversification in the population and avoids being stuck in local solution.In the crossover procedure, we use entire row or column crossover, to keep feasibility of individuals.In mutation procedure, individual and its mutation position is selected randomly and within the mutation probability.In order to ensure feasibility of solutions, the mutated value is also in the set of available machines.
(4) Fitness evaluation: Makespan is used as the fitness value, obtained in the decoding procedure, in which scheduling algorithm is used to get sequence scheduling.Operations on the same machine are sequenced according to the position of occurrence.
(5) Sequence scheduling: Firstly, according to processing sequence to schedule all operations of all jobs, e.g. the first operation of each job is firstly scheduled, and then the second operation, and so on, until all operations are scheduled.
The procedure of integrated GA is interpreted in Figure 2.

Ant Colony Optimization Algorithm for FJSP
In this approach, the two sub problems, machine assignment and sequence scheduling of FJSP, are integrated as well.It is assumed that the ant colony deposes two kinds of pheromone, τmijk and τiji'j', to control the two sub problems respectively.The operation of the pheromone is interpreted as follows: (1) Machine assignment Machine assignment is executed in the first stage.An ant chooses machine k for operation Oij with probability: (9) Where α_m and β_m are parameters to control weights of pheromone fitness and heuristic respectively.ηijk represents the rule of choosing machines.ηijk=1/Tijk is the processing time of operation Oij on machine k.Aij is the set of available machines for operation Oij.
(2) Sequence scheduling Sequence scheduling is executed after machine assignment.Take an example of 3 jobs and 3 machines.Machine assignment is obtained from the preceding stage: operations O13, O32, O33 and O23 will be executed on machine 1; O11, O31 and O22 will be executed on machine 2; O21 and O12 will be executed on machine 3. Set A includes the available jobs which wait to be executed,

Test of proposed algorithms applied for FJSP
We compare the performance of our proposed three approaches with optimal solutions obtained in Xia and Wu (2005) and Neale and Cameron (1979).Results from our approach and best solutions in literature are illustrated in Table 1.PSO + SA: in Xia and Wu (2005), a hybrid approach of Simulated Annealing and Particle Swarm Optimization was used for FJSP.hGA: GA with neighborhood search in Neale and Cameron(1979).From Table 1, we can see that our proposed approach, integrated GA, performs better than the two approaches in literature in small scale instance.For instance of large scale, it is also competitive.It is exiting that through integrated IA, a better solution for the instance J8M8 is obtained, which is shown in Figure 3.
As well, we can see that integrated IA performs much better than our proposed algorithms, ACO and ABC.The parameters used in ACO, integrated GA and ABC are interpreted in Table 2,

Test of inserting algorithm to add PM
The two approaches, IA and SSA are compared to the three examples in Neale and Cameron (1979).The three examples of FJSPPM are as follows: J8M8PM is with one maintenance task on each machine; J10M10PM with one maintenance task on each machine; J15M10PM, with two maintenance tasks on each machine.Results are illustrated in Table 5.The value obtained by hGA with SSA is in Neale and Cameron (1979).Corresponding to the pre-schedule scheme of J8M8 obtained above, the result of solving J8M8PM is shown in Figure 4.

Conclusions
Unavailability of machines, as a main form of uncertainty in manufacturing system, has attracted much attention of many researchers and practitioners.In our study of uncertainty in a manufacturing system, we concentrate on the flexible job scheduling problem.In order to ensure availability of machines in FJSP, condition based maintenance, a kind of preventive maintenance, is suggested to add into a pre-schedule scheme obtained through solving normal FJSP, which forms the proposed inserting algorithm.It is found that the quality of the final result of scheduling depends on the pre-schedule scheme acquired in the stage of solving normal FJSP.In order to find the best solution of FJSP, a comparative study of three heuristics is carried out, the integrated GA, ACO and ABC.In the comparative study, it is encouraging that a new best solution for an instance of FJSP, J8M8 is obtained.To demonstrate the effectiveness of the proposed IA, the benchmark of normal FJSPPM is applied.Although IA obtains inferior results compared to SSA used in literature, it performs much better in executing speed.With IA, we used vide internal between jobs.It is a module independent from the module of solving FJSP.We can easily change either of them to improve the solution.This advantage will be useful when the scheduling problem needed to connect to other management system, like ERP.Moreover, factually SSA in literature for solving normal FJSPPM is not suitable for the dynamic FJSPPM.In the future research, improving of IA is expected, as well the heuristic algorithm for solving normal FJSP.

•
Parameter s n : Total number of j obs; m: Total number of machines; ni: Total number of operations of Job i; Lj: Total number of maintenance tasks on Machine j; Oik: The k th operation of Job i; PMjl: l th potential maintenance on Machine j; p: Maximum number of maintenances needed on one machine; Aik: The set of available machines for Operation Oik; tikj: Processing time of Oik on Machine j; CMj: Unit processing cost on machine j; pjl: Duration of Maintenance task PMjl; [tEjl, tLjl] : Time window associated with maintenance, where tEjl is the earliest starting time, and tLjl is the latest starting time of Maintenance task PMjl.• Decision variables x ikj ={1(if machine j is selected for Operation Oik),0(otherwise)) cik: Completion time of the Operation Oik; y jl : Completion time of Maintenance task Pm jl .Different to the classic model of FJSP with makespan of jobs as objective function, we add processing time of PM.Constraints of PM tasks are surely added.Our model is given as follows:

Figure 2 .
Figure 2. Flowchart of integrated GA for FJSP initially, A = {O11, O21, O31}.Set Tabu represents the operations which have already been scheduled, initially, Tabu = {0}.The first operation is chosen from the set A randomly.Here, we pick up O11 for example.Simultaneously, update Set A and Tabu: A = {O12, O21, O31}, Tabu = {O11}.After choosing the first operation of one job randomly, the ant chooses the next operation in accordance with probability: (10) obtained in subsequent experiments through executing the program 100 times to get an average value.

Table 3 and
Table 4 respectively.

Table 1 .
Result of integrated GA for FJSP

Table 3 .
Parameter of integrated GA

Table 4 .
Parameter of ABC Figure 3. Gantt chart of best solution in J8M8