INTEGRATED PROCESS PLANNING AND SCHEDULING USING GENETIC ALGORITHMS

Original scientific paper Process planning and scheduling are two of the most important functions in any manufacturing system. Traditionally process planning and scheduling are considered as two separate functions. In this paper a Genetic Algorithm (GA) for integrated process planning and scheduling is proposed where selection of the best process plan and scheduling of jobs in a job shop environment are done simultaneously. In the proposed approach a domain independent spreadsheet based approach is presented to solve this class of problems. The precedence relations among job operations are considered in the model, based on which implicit representation of a feasible process plans for each job can be done. To verify the performance and feasibility of the presented approach, the proposed algorithm has been evaluated against a number of benchmark problems that have been adapted from the previously published literature. The experimental results show that the proposed approach can efficiently achieve optimal or near-optimal solutions for the problems adopted from literature. It is also demonstrated that the proposed algorithm is of general purpose in application and could be used for the optimisation of any objective function without changing the model or the basic GA routine.


Introduction
Process planning and scheduling are considered to be two of the most important factors in any manufacturing environment.Process planning is defined as an act of preparing detailed work instructions for producing a part.It is the determination of machining processes and parameters to convert a piece part from its initial form to a final predetermined form.The objective of process planning activity is to determine an optimal process plan and the required manufacturing resources while scheduling is concerned with the allocation of tasks to resources over a period of time.The objective of scheduling is to maximise or minimise a desired objective function while satisfying various production constraints.
Traditionally, scheduling and process planning have been dealt as separate entities.When scheduling and process planning are taken as two separate functions, it is assumed that process plan is fixed and there are no alternatives for any of the operations.The basic input for the scheduling function comes from process planning [1,2].Scheduling is concerned with the timing aspect of a job, whereas process planning lays emphasis on the technical processing requirements.As the process planner does not have any control or view of the actual shop floor status, the process planning function comes in conflict with the scheduling function [3][4][5].Hence, in today's competitive environment productivity can be significantly improved by employing efficient methods by integrating the scheduling and process planning functions.Unless both functions are integrated, potential benefits cannot be reaped from the availability of alternative operations.
In this research paper an integrated approach for process planning and scheduling is presented where both functions are looked at simultaneously.The objective of the research is thus to choose a process plan from a set of plans and schedule the jobs on available resources to maximise or minimise the desired objective function.A spreadsheet based domain independent genetic algorithm is presented to solve this class of problem.The main strength of the proposed approach is that it can be employed to solve the problem by using any objective function without changing the logic of the GA routine or the spreadsheet model.Furthermore, due to logical arrangement of the shop model in the form of tables within the spreadsheet environment, the proposed approach facilitates the shop floor manager to carry out what-if analysis.
The rest of the paper is organised as follows: an overview of the recent research related to integrated process planning and scheduling is presented in section 2. Problem definition and assumptions are presented in section 3.An introduction to GA and its structure as implemented in this research is given in section 4. Computational analysis and comparison of the proposed approach with earlier studies is given in section 5. Finally, conclusions are presented in section 6.

Related research
Khoshnevis and Chen [6] were among the first to address the integration of scheduling and process planning functions and treated scheduling and process planning as a unified whole.The authors use various dispatching rules to develop heuristic methods to generate efficient process plans and schedule.They also demonstrate that the integrated approach reduces the number of late parts, flow times and total tardiness while improving machine utilization, all at the cost of increased total processing time.The developed system also considers setup and transfer times of the jobs.Chen and Khoshnevis [7] discuss the basic issues involved in the integration of the scheduling and process planning functions.The authors also discuss the potential benefits of the integrated approach.
Zhang and Merchant [8] proposed an integrated process planning model that is based on distributed process planning model.Based on manufacturing resource availability and real time feedback from shop floor, the model works in three levels, i.e., pre-planning, pairing planning, and final planning.Brandimarte and Calderini [9] present a two-phase hierarchical approach for integrated process plan selection and job shop scheduling.In the first phase efficient process plans are generated based on load balancing and cost.The second phase then considers each process plan and the corresponding schedule is generated using a tabu search (TS) with makespan as the objective function while keeping the cost of the solution constant as determined in the first phase.The authors use a two level hierarchical TS algorithm to further improve process plan selection.
Jain and Elmaraghy [10] present a GA based scheduling system when there are alternative process plans.Based on the current status of the shop and various uncertainties that may disrupt the schedule, the authors also cater for rescheduling of a previously generated schedule.The authors cater for four different uncertainties, namely: rush orders, order cancellations, increased order priority arrival and machine breakdowns.In case of disruption, the system status is updated and GA is rerun at that point of time to reschedule the remaining manufacturing tasks.Gu et al. [11] propose a biddingbased approach for the integration of computer-aided design, process planning and real time scheduling.The product is registered as soon as it arrives at the manufacturing facility.Product's requirements are then broadcast by the shop floor manager.The autonomous machines in the shop have knowledge about their tooling, capabilities, functionality, and schedules.Each machine has its own process planner.The machines respond to the request by a product in a way that is consistent with their capacities and capabilities.Whenever two or more machines offer certain process(es) for the same requirements, the candidate machines enter into negotiation mode.A machine will win a contract based on due date, processing time and cost.The machine winning the bid updates its schedule and advises the product to request raw material for processing.The proposed idea was implemented using a multi-agent system in an objectoriented programming language.
Saygin and Kilic [12] address the integration of process planning with scheduling in flexible manufacturing systems.The authors propose a Dissimilarity Maximisation Method (DMM) for selecting the appropriate process plans from a set of alternate plans.The proposed method consists of four integrated stages that include process selection, machine tool selection, scheduling and rescheduling modules.The proposed method is based on an integer linear programming formulations and the objective function used is the minimising waiting time of parts and the makespan.It is further demonstrated that alternative process plans result in better system performance.
Morad and Zalzala [13] propose a GA for the simultaneous optimisation of process plans and scheduling.While considering alternative machines for various operations, the authors consider different cost to operate for the machines and their capabilities, as well as different processing times.The problem is formulated as a multi-objective problem with the minimisation of total processing cost, total number of parts rejected and makespan.Comparative analysis indicates that the proposed approach outperforms traditional sequential method as well as multi-objective GA based on Pareto optimal concept.Lee and Kim [14] demonstrate that if process planning and scheduling functions are fully integrated, manufacturing systems can achieve higher productivity and improved performance.The authors propose a simulation based GA for integrated problem solving.The performance measures used are minimisation of makespan and lateness.In the first step, the performance measures are computed by the simulation module based on process plan combinations rather than process plan alternatives.The computed performance measures are then passed onto a GA module to improve the solution quality until the scheduling objectives are satisfied.
Lee et al. [15] present a heuristic approach based on GA for IPPS when each customer order can be outsourced and is restricted by a due date.The objective is to minimise makespan.Experimental analysis shows that the proposed approach is capable of dealing with large and complicated problems.Moon et al. [16] consider the integration of process planning and scheduling for the multi-plants supply chain scenario and present a heuristic approach based on GA for the minimisation of total tardiness.The authors also consider sequence dependent setup times, due dates for the jobs / orders and transportation times for machines and inter plant orders.
Kim et al. [17] present a symbiotic evolutionary algorithm to concurrently solve process planning and scheduling in flexible job shops.The performance measure for the process planning function is the minimisation of absolute deviation of machine loads while for scheduling problem the objective is minimisation of makespan and mean flow time.The 24test bed problems with varying flexibility levels are also proposed by the authors.The performance of proposed symbiotic approach is considered with a co-operative coevolutionary genetic algorithm and a hierarchical approach.The proposed approach outperforms the other two approaches.Moon and Seo [18] also consider the integration of process planning and scheduling in a multiplant environment.The performance measure used is the minimisation of makespan while also considering transportation times between machines and plants.Shao et al. [19] also consider integrated process planning and scheduling problem and propose a GA based approach to solve the problem.Minimisation of makespan is considered as the objective function.In order to improve the performance of the proposed approach, the authors develop efficient operator schemes and genetic representation.Mohapatra et al. [20] propose an improved controlled elitist non-dominated sorting GA for IPPS where the objective function is the minimisation of machining cost, makespan and idle time of machines.Zhang and Wong [21] also present an object-coding GA for IPPS.The proposed GA uses machining operations for the representation of chromosomes and corresponding genetic operations.The genetic operators are customised to cater for new genetic representation.Zhang et al. [22] consider process planning and scheduling in remanufacturing environment and propose a simulationbased multi-objective GA.The authors consider two objective functions, one for process planning while the other for the scheduling phase.Pareto-based optimization principles are applied to identify a group of potential trade off solutions.Authors also use a Monte Carlo simulation to evaluate the solution quality.
Ausaf et al. [23] propose a priority based heuristic algorithm for the optimisation of IPPS.In the proposed approach operations are selected by establishing job and machine priorities using different priority rules.Priority assignment and dispatching rules are used simultaneously to generate the process plans and schedules for all jobs and machines.The objective function used is the minimisation of makespan.Phanden et al. [24] use a GA based simulation approach to minimise mean tardiness and makespan.The authors demonstrate that the proposed approach performs better than a hierarchical approach and can quickly integrate process planning and scheduling within the existing departments of the company.
Li et al. [25] also consider multi-objective integrated process planning and scheduling and present a genetic algorithm.The authors use simultaneous minimisation of makespan, total machine workload and maximal machine workload as the objective function.Chu and You [26] also solve integrated planning and scheduling.The authors propose a dynamic optimization method for sequential batch processes with fixed batch sizes.Seker et al. [27] propose a neuro-fuzzy model for IPPS.The model uses GA and fuzzy neural network to minimise makespan.

Problem formulation
The IPPS problem can be defined as follows: there are n jobs required to be scheduled on m machines.Each job has possible alternative operation sequences requiring alternative machining resources.The aim of integrated process planning and scheduling is to minimise makespan or any other objective function by selecting a suitable process plan and also the machining resource for each job along with a complete schedule that satisfies all precedence constraints.
The problem under study is subject to following assumptions: -All jobs and machines are independent of each other.
-All jobs have same priorities.
-At a given time, each machine can process only one operation.-Multiple operations of a job cannot be processed simultaneously.-There is no pre-emption of jobs, i.e., an operation / job once started cannot be stopped.-Unless otherwise stated, all jobs and machines are available at time zero.-Setting up time of a machine for a particular operation is negligible and is included in the processing time.-Inter machine transportation time of jobs between machines is also negligible.-There are no machine breakdowns or any other interruptions on the shop floor.

Genetic algorithms
GA is an iterative search and optimisation technique that is inspired from natural evolution and belongs to stochastic class of techniques.GAs were first coined by Holland [28].GAs work on a population of prospective solutions for the problem in hand.Each member of the population is called chromosome.In each iteration two parents (prospective solutions) are selected for crossover.
In the crossover operation, information among both the parents is swapped to produce a child solution.In the next step, mutation is performed whereby some genes of the chromosome (child solution) are randomly modified.In every iteration, the fitness of child solution is compared with other members of the population.The principle of "survival of the fittest" guides the whole process.If the child solution is fitter than other members of the population it replaces the worst performing member, otherwise it is discarded itself.This iterative process continues till a stopping criteria is reached.In each successive iteration fitter solutions are selected to form a new population. Job-Operation Machine corresponding to each operation In this research, the model for IPPS problem has been built in Microsoft Excel.Various process plan variables, production / operation constraints, and objective function are defined within the spreadsheet model and linked together using built in functions of the spreadsheet software.The GA module works as an add-in to the spreadsheet.
Fig. 1, spreadsheet acts a breeding ground for the chromosomes (solutions).After crossover and mutation operations, the child solution is passed back to the spreadsheet.The solution is evaluated for retention in population with respect to its objective function value.The best solution is then sent back to the spreadsheet as soon as stopping criterium is reached.
The tabular layout of the spreadsheet environment makes understanding easy for shop floor managers.The current implementation is also able to generate Gantt chart for the final solution.Furthermore, spreadsheets are also conveniently used for what-if analysis.

Solution representation
Problem representation is one of the major issues in GAs.Chromosome representation for the IPPS consists of two portions.First portion caters for job-operation combination while the second portion is for machine assignment.The chromosome representation for a sample problem consisting of 5-jobs that are to be processed on 4 machines is as given in Fig. 2.

Crossover operation
A permutation representation has been used for the job-operation combination.To preserve the precedence constraint relationship of different operations of the same job, an order crossover operator [29] is used.In an order crossover operator, a 0-1 bit string is generated to determine the contribution of each parent towards the offspring solution.The example of an order crossover is shown in Fig. 3. Consider eight jobs A-E-C-F-B-H-D-G to be the genes of the chromosome.Elements of first parent corresponding to "1" are copied into the offspring in the same position as they appear in parent 1, while the elements corresponding to "0" appear in the offspring in the same order as they appear in parent 2.
In Fig. 3, elements corresponding to bit string "1" in parent 1 are C, B, D, G.In the offspring these elements are inherited in the same position as they appear in parent 1.Elements A, E, F and H correspond to bit string "0".These elements appear in the offspring in the same order as they appear in parent 2, though at different locations.
For machine assignment, i.e., genes 11-20 in Fig. 2, a uniform crossover [29] is used.Fig. 4 gives an example of uniform crossover.Uniform crossover uses a fixed mixing ratio to determine the contribution of each parent.In this type of crossover, contribution of each parent is at gene level, rather than at segment level.
During the crossover operation, a random mask of 0-1 bit string is generated that corresponds to the crossover rate.For a crossover rate of 0.5, half of the genes in the offspring would be inhereted from parent 1, while the other half would be inhereted from parent 2. The genes that correspond to bit "1" are taken from parent 1, while those corresponding to "0" are taken from parent 2.

Mutation operation
The purpose of mutation operation is to ensure diversity in the population.Mutation operation prevents the GA from trapping in "blind corners" or "local optima".For job-operation combination block, the mutation is performed by randomly selecting two genes and swapping their positions.Mutation rate guides the swapping of genes.The number of exchanges is decreased or increased corresponding to a decrease or an increase in the mutation rate.For the machine assignment block, mutation is performed by generating a random number between 1 and total number of machines available (or as applicable) for that particular operation.For each machine block a random number between 0 and 1 is generated.For a mutation rate of 0.06, if the machine block gets a number that is less than or equal to 0.06 then that particular block is mutated otherwise not.

Precedence constraints
In a job shop environment, some tasks must follow others, i.e., some operations cannot be started until and unless other operations have been completed.In order to ensure that precedence constraints are met, a routine is run to check whether the offspring formed meets the precedence constraints or not.If not, the offspring is accordingly modified so that all precedence constraints are met by changing the position of the precedence violating operations.

Selection / reproduction
A rank-based mechanism is used for the selection of parents for the crossover operation.The rank-based mechanism is a function of the fitness value of each chromosome.This rank-based approach ensures a smooth probability curve thus to avoid good organisms to completely dominate the evolution process at an early stage.
The GA implemented in this research uses a steady state reproduction [30].As compared to generational replacement, where in each generation the whole of the population is replaced, steady state replacement only replaces the worst performing member of the population.This ensures that all genes are not lost and better features of the population are carried over to the next generation.

Experiments, results and analysis
The effectiveness and efficiency of the proposed approach is validated by carrying out simulation experiments problem sets taken from already published literature.The experimental analysis was carried on 2.0 GHz Core i3 computer with 2 GB RAM.

Experiment 1
First problem set is adapted from Nasr and Elsayed [31].It comprises 4-jobs to be processed on 6-machines.Each job has 3-operations.Multiple machines can be used to process each operation.Minimisation of mean flow time is used as the objective function.Nasr and Elsayed obtained mean flow time value of 12.25 using mixed integer programming.The same problem was also attempted by Moon et al. [32] and Othman et al. [33], both using genetic algorithms.In both the studies the mean flow time value obtained by GA was 11.75.The proposed GA approach also found the same value which is an optimal solution within 3 secs.The same problem was also solved for the minimisation of makespan by [32].The optimal makespan for the problem is 17.GA approach by Moon et al. [32] got the same value as compared to 18 by Nasr and Elsayed [31].The proposed GA also obtained the same value without the need to change the basic GA routine or the spreadsheet model that indicates the general purpose attribute of the proposed solution approach.

Experiment 2
Second problem set is taken from Sundaram and Fu [34].The problem consists of 5-jobs to be scheduled on 5machines.Each job consists of 4 sub operations and there exist precedence constraints among the operations.Some operations also have alternative process plan i.e., an alternative machine to process the task.The objective function was the minimisation of makespan.The original paper obtained a makespan value of 38.The proposed approach got the makespan value of 33 within 10 secs of algorithm running.The same value for the makespan was also achieved by Lihong and Shengping [35] using a GA and Ausaf et al. [23] by using a priority-based heuristic algorithm.

Experiment 3
Data set for experiment 3 is adapted from Li et al. [36].The data set has six jobs to be scheduled on five machines with minimisation of makespan as an objective.An approach based on evolutionary algorithm was proposed by Li et al. [36] for IPPS problem.The paper reported a makespan value of 27.The proposed GA was also able to find the same value within 10 secs.

Experiment 4
Data set for Experiment 4 is adapted from Leung et al. [37].The problem was originally formulated by Lee and DiCesare [38].Data set consists of 5-jobs to be processed on 3-machines.Each job has 4 operations that are to be processed on one or more machines according to machine dependent processing times.The proposed GA approach found the makespan value of 360 as compared to 380, 420 and 439 using ACO by Leung et al. [37], ACO by Kumar et al. [39] and petri-nets by Lee and DiCesare [38] respectively.In a recent paper Lihong and Shengping [35] also attempted the same problem and obtained the makespan value of 360 by using an improved genetic algorithm (IGA).Tab. 1 gives the comparative results for different solution approaches.Petri nets [38] ACO [39] ACO [36] IGA [35] Proposed GA 439 420 380 360 360

Experiment 5
Experiment 5 problem is adapted from Moon et al. [40].The problem has 5-jobs to be scheduled on 5machines.Each job has 2 to 4 operations.The objective function addressed by Moon et al. [40] was minimisation of makespan.Using an evolutionary search approach, Moon et al. [40] found the makespan value of 16.Same problem was also attempted by Shao et al. [19] using a modified genetic algorithm, a hybrid GA by Amin-Naseri and Afshari [41] and an improved by Lihong and Shengping [35].The later three studies obtained a makespan value 14 as compared to 16 by Moon et al. [40].The proposed GA approach also found a makespan value of 14 which was better than above mentioned earlier studies.

Experiment 6
Data set for experiment 6 has been adapted from Lee et al. [15].Problem consists of 8-jobs to be processed on 6-machines.There are 20 operations to be performed on 6-machines.The objective is to minimise makespan.The solution obtained by the proposed GA is compared with GA based heuristic approach by Lee et al. [15], GA by Li et al. [42], artificial immune system integrated with fuzzy logic controller (AIS-FLC) by Chan et al. [43] and a GA hybridised with a local search procedure (HGA) by Amin-Naseri and Afshari [41].The comparative results of all the above algorithms are given in Tab. 2. GA [15] GA [42] AIS-FLC [43] HGA [41] Proposed GA 34 23 26 23 23

Experiment 7
Experiment 7 data was adapted from Li et al. [36].The data set consists of 6-jobs to be scheduled on 5machines.Each job has three alternative process plans.The objective is to find the best process plan and schedule the so that makespan is minimised.By using an evolutionary algorithm approach Li et al. [36] found the best makespan as 92.The same problem was also addressed by Lian et al. [44] and they found the makespan value as 90 using an imperialist competitive algorithm.The proposed GA was also able to find the makespan value of 90 in less than 10 secs.

Experiment 8
Data for experiment 8 was originally presented by Chryssolouris et al. [45].The data set consists of 10-jobs to be scheduled on 9-machines and also considers setup times.The problem has also been solved by Jain and Elmaraghy [10] using GA, Wong et al. [46] using an agent based negotiation approach and Lihong and Shengping [35] using an improved GA (IGA).The value of makespan by the three studies was 6 456, 6 574 and 5 998.The proposed GA approach presented in this paper found a better value by the makespan equal to 5 924.The comparative results in tabular form are given in Tab. 3.
Table 3 Comparative results for experiment 8 for makespan GA [10] Agent Based [46] IGA [35] Proposed GA 6 456 6 574 5 998 5 924 The results presented in Tab. 3 indicate that the proposed GA approach found solution that was considerably better than previous approaches.The same problem was also run for minimisation of mean flow time.The comparative results for minimisation of mean flow time are given in Tab. 4.

Effects of parameter values on GA performance
As mentioned earlier, GA is a population based search technique and belongs to the stochastic class of search algorithms.The performance of GA is therefore dependent upon crossover rate, population size, and the mutation rate.In order to study the effect of three mentioned parameters on the overall performance of the proposed GA approach, a detailed empirical analysis was carried out.The problem data presented in Experiment 8 being one of the biggest problems solved in this research paper was taken as a case study to look into the effect of various GA parameters.Repeated simulation runs were conducted for each of the combinations of the parameter levels mentioned in Tab. 5.For each combination of the parameters mentioned in Tab. 5, the algorithm was run for 10 repetitions.To eliminate bias from the search a different random population was generated for each of the combinations of parameters.In order to study the effect of the parameters, 600 simulations were conducted in total.The values for the population size mentioned in Tab. 5 represent the range of values usually seen in the literature, with mutation rate of 0.07 included to highlight the effect of a relatively large mutation rate.Similarly, crossover rates selected are also representative of the entire range of values.
The results of the simulations indicate that the performance of the GA is unaffected to the crossover rate.The overall performance of the GA is also insensitive to the mutation rate which possessed a 'range' over which its value is suitable rather than a more precise value.Correspondingly, the performance of GA is also fairly insensitive to population size provided the mutation rate is in the 'good' range.The benchmark problems presented in section 5 show that the proposed approach performs well on a wide range of shop models and objective functions with a 'general purpose' set of parameters.
The simulation experiments carried out support that it is not difficult to tune the GA parameters, as there appears to be a significant degree of tolerance afforded to the 'best' or 'suitable' values.The strengths of the effects of the three parameters on various performance criteria are summarized in the connectance diagram in Fig. 5.

Crossover Rate Mutation Rate Population Size
Optimum Solution

Conclusions
In any manufacturing environment, process planning and scheduling are considered to be two of the most important functions.A spreadsheet based GA application was presented for the IPPS problem.The IPPS model was developed in spreadsheet environment using built-in functions of the spreadsheet software.The proposed method was tested on a number of benchmark problems taken from already published literature.The performance of the proposed approach produced results that were equal or better than previously reported studies.Different objective functions were used to evaluate the approach.It was demonstrated that the proposed approach can be used to optimise and measure performance without changing the spreadsheet model or the basic GA routine.
The main strength or contribution of the proposed genetic algorithm approach is that it is a domain independent general purpose approach whereby it can be used for the optimisation of any shop model or objective function without changing the basic optimisation routine or the spreadsheet model.This strength has been demonstrated in the experimental analysis where the proposed GA approach was able to solve a variety of problems having varying job-machine arrangement with different objective functions without changing the spreadsheet model or the basic optimisation routine.Even using the setup times does not require any change in the spreadsheet model of the basic GA routine as has been demonstrated in Experiment 8.
The empirical analysis presented in section 6 indicates that crossover rate often plays an insignificant role in the performance of the GA, that conforms to the results by Haida and Akimoto [47] and Gupta et al. [48].The results also highlight that there is a certain degree of insensitivity to the mutation rate as long as the mutation values lie between a fairly broad 'good' range rather than coming from more precise point.However, performance soon starts to greatly outside of this 'good' range.It is observed that a low mutation rate is desirable when the population size is large, and vice versa.When the mutation rate is in the 'good' range, it greatly reduces the sensitivity to population size.As a consequence of these findings it has been argued that GA's have the potential to make a general-purpose real-world scheduler.
Furthermore, as spreadsheets are widely used on a shop floor environment, the proposed approach also aids the shop floor manager to carry out what-if analysis.In the proposed methodology, the schedule can be represented graphically by taking advantage of the spreadhseet's charting function.The proposed approach can also generate Gantt chart for the final schedule to view the final solution in graphical form.
The proposed approach considered only a subset of integrated process planning and scheduling problems.The capability of the proposed approach can be further enhanced by integrating it with various priority rules which can accelerate the process of finding a better solution more quickly as these priority rules can guide the search towards better solutions quickly.The capability of the proposed approach can be further enhanced by implementing rescheduling feature which can thus cater for scheduled maintenance or machine breakdowns.

Figure 1
Figure 1 GA -Spreadsheet interface architecture

Figure 2
Figure 2 Solution representation for integrated process planning and scheduling

Figure 3 Figure 4
Figure 3 Example of an order crossover

Figure 5
Figure 5 Connectance Diagram showing the Effects of GA parameters

Table 1
Comparative results of experiment 4

Table 2
Comparative results of proposed GA and other techniques for experiment 6

Table 5
GA Parameter values for the simulation runs