Expert Systems with Applications 38 (2011) 10770–10779
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
Modified genetic algorithms for manufacturing process planning in multiple parts manufacturing lines F. Musharavati, A.S.M. Hamouda ⇑ Department of Mechanical and Industrial Engineering, Qatar University, P.O. Box 2713, Doha, Qatar
a r t i c l e
i n f o
Keywords: Manufacturing process planning (MPP) Modified genetic algorithm (MGA) Simple genetic algorithm (SGA) Simulated annealing (SA) Multiple parts manufacturing lines (MPMLs)
a b s t r a c t Manufacturing process planning for multiple parts manufacturing is cast as a hard optimization problem for which a modified genetic algorithm is proposed in this paper. A cyclic crossover operation for an integer-based representation is implemented to ensure that recombination will not result in any violation of processing constraints. Unlike classical approaches, in which the mutation operator alone is used to foil the tendency towards premature convergence, a combination of a neighborhood search based mutation operator and a threshold operator were implemented. This combined approach was designed to; (a) improve the exploring potential and (b) increase population diversity of neighborhoods, in the genetic search process. Capabilities of a modified genetic algorithm method were tested through an application example of a multiple parts reconfigurable manufacturing line. Simulation results show that the proposed modified genetic algorithm method is more effective in generating manufacturing process plans when compared to; a simple genetic algorithm, and simulated annealing. A computational analysis indicates that improved, near optimal manufacturing process planning solutions for multiple parts manufacturing lines can be obtained by using a modified genetic algorithm method. Ó 2011 Elsevier Ltd. All rights reserved.
1. Introduction One of the most important functions in manufacturing engineering is process planning. Manufacturing process planning has a wide engineering background. As pointed out in Scallan (2003), the actual activities in manufacturing process planning depends on the type of manufacturing system as well as the nature of the products of manufacture. Most of the process planning methods, tools and techniques discussed in manufacturing engineering literature are more related to mature manufacturing system technologies such as; job shop systems (Zhang & Nee, 2001), cellular manufacturing systems (Morad & Zalzala, 1999) and flexible manufacturing systems (Saygin & Kilic, 1999). Little, however, is available to guide process planners for recent, new and innovative manufacturing styles. An example of such deficiencies is found in reconfigurable manufacturing systems (RMSs) that manufacture multiple parts in a given planning horizon. There is, therefore, a need to review conventional process planning methods, tools and techniques for application in new manufacturing styles. For multiple parts production, interface issues such as parts flow intensities, machine load limits, part loading constraints as well as manufacturing capability limits cannot be ignored during ⇑ Corresponding author. E-mail address:
[email protected] (A.S.M. Hamouda). 0957-4174/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.01.129
the process planning phase. This requirement makes it difficult to implement process plans of a linear nature. Moreover, the dynamics in the operational and structural complexity in multiple parts manufacturing lines (MPMLs) that allow reconfigurable flow of parts will render linear process plans infeasible with time. To circumvent this challenge, flexible process plans that can accommodate reconfigurable flow of multiple parts should be implemented. To generate such flexible process plans, a multidimensional approach that captures some of the issues mentioned above is described in this paper. In light of the discussion above, the manufacturing process planning problem for reconfigurable MPMLs can be described as follows. Given a set of flexible production machines for the manufacture of a multiple parts production scenario with multiple parts of total number, np, belonging to a number of part families, npf, the total number of feasible manufacturing process plans can be estimated mathematically as follows: Let each part, p, require Y activities for manufacture, where Y is multi-dimensional. Let the ith sub-activity have y(i) alternatives, and let each part require xi elements in dimension i of D dimensions, where D e Y. Then the total number of feasible plans, z, can be approximated by the following expression
z¼
D Y i¼2
X npf X np x! yðiÞ ðxi x1 Þ! i¼1 i¼1
ð1Þ
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
Although the expression in Eq. (1) is approximate, it serves to demonstrate that it is difficult to find an optimal solution by enumerating all the feasible solutions. Consequently, this manufacturing process planning problem is a hard optimization problem. Since manufacturing process planning is crucial in the operations of a reconfigurable MPML, it is important to develop effective optimization methods that are capable of recommending high-quality process planning solutions with a reasonable computational effort. Over the past years, hard optimization problems have been solved through algorithm design techniques that are robust in nature and non-math-knowledge dependent (Hromkovicˇ, 2004). This includes heuristics such as simulated annealing (SA) and genetic algorithms (GAs). Genetic algorithms have found wide applications in many engineering fields including manufacturing process planning (Zhang & Nee, 2001; Zhang et al., 1997). However, it is difficult to ensure the convergence of GAs since there is a possibility of premature convergence in the genetic search process. Moreover, it is time consuming to parameterize a genetic algorithm implementation. For successful practical applications, it is almost always necessary to devise techniques that enhance a genetic algorithm application in a specific problem domain. It has been observed that more recent successful applications of GAs in complex solution spaces have tended to focus more on modified genetic algorithms in a bid to implement GAs that are more competent than the simple genetic algorithm (Chen, 2006; Li & Wang, 2007; Wang, Cai, Guo, & Zhou, 2007). This work explores the effectiveness of a modified genetic algorithm (MGA) method in obtaining optimal manufacturing process planning solutions for reconfigurable MPMLs. In the practical implementations of genetic algorithms, it has been observed that the effectiveness of an implemented genetic algorithm in solving a given problem depends on the chosen fitness function and the appropriateness of the genetic operators used (Chen, 2006). Therefore, in modifying the genetic algorithms, the emphasis in this work was to model the problem rigorously by adopting a decision-making perspective that focuses on generic issues such as capturing relevant production information, evaluating alternatives and selecting the best alternative. Unlike conventional approaches, this approach helps to reduce alternative choices in the decision making process towards optimization. The steps in developing the modified genetic algorithm method used in this work were as follows. Firstly, a comprehensive fitness function that captures and models a rigorous evaluation criterion was devised. Secondly, a cyclic crossover operator for an integerbased representation was implemented to ensure that recombination will not result in any violation of processing constraints. Thirdly, heuristics that support the progression of the genetic algorithm towards convergence were devised. Fourthly, a combination of a neighborhood search based mutation operator and a customized threshold operator were implemented to foil the tendency towards premature convergence in the genetic search process. In exploring the effectiveness of the proposed modified genetic algorithm, an application example of a multiple parts reconfigurable manufacturing line was used. The appropriateness of the MGA in generating manufacturing process plans for a MPML was compared with that of a simple genetic algorithm (SGA) and a simulated annealing (SA) algorithm. The reminder of the paper is organized as follows: In Section 2, the proposed modified genetic algorithm method is discussed. In Section 3, the representation of the solution and optimization operators for the MPMLs is presented. In Section 4, the proposed MGA is applied to an instance of a manufacturing process planning optimization problem and the corresponding computational and comparative results are presented. Finally, concluding remarks are given in Section 5.
10771
2. Modified genetic algorithm method Genetic algorithms are stochastic search techniques that start with a set of random solutions, i.e. a population, and each individual in the population is called a chromosome. The chromosomes evolve through successive iterations, i.e. generations, during which the chromosomes are evaluated by means of a fitness function. As the evolution process continues, the genetic search process eventually converges to an optimal solution. In developing a genetic algorithm solution, it is always necessary to select an appropriate representation scheme. 2.1. Representation scheme Most genetic algorithms (GAs) in the literature employ a binary code for encoding various problems. However, it has been discussed that in certain situations, the binary code is not always suitable (Lian et al., 2005). In this work, an integer-based code was devised to encode the manufacturing process planning problem. In this code, an array of strings is used to represent a valid manufacturing process plan. Thus, for x operations or preferably x processing types (PTs), an x-PT string is used to represent a sequence of various processing types in the manufacturing process plan for a specific part. In this representation, each string is composed of x segments. Each segment represents a combination of processing types (PTs), selected from those available, for the complete manufacture of a part. This means that if the production scenario is composed of a total of np parts, then the process planning solution will contain np strings, each string specifying the required processes for the manufacture of a particular part in the production scenario. Therefore, in providing a solution, the aim is to find an optimal manufacturing process plan that is composed of np strings, for which each string represents the required processing types for each of the multiple parts flowing in the system. Suppose each part is assumed to have v alternative manufacturing process plans. If the parts belong to a family of products, and the manufacturing line has a total number of stages N, composed of w processing machines (or processing modules) that can be used for processing the parts then;
1
10772
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
Fig. 1. Chromosome representation of manufacturing process plans.
Table 1 Decoding the combination and permutation states of the process route for part i.
I d e n t i t y( I D)
1 2 10
Optimum processing route 2 3 ……. N Stage Operation 1 3 ……. w Process 12 20 ……. 7 Decision Value
Processing
the second row entities, i.e. 2 1 3 w, represents specific processes. A combination of the first row and second row entities represents a processing identity. Several combinations of processing identities represent the optimum processing route for a part, as follows:
1_2 2_1 3_3 …… N_w In the process plan string represented above, the digit in the first row of Table 1 is written first and corresponds to a specific stage in the manufacturing system. For the example, in the optimum processing route given above, the part visits processing stages 1, 2, 3 up to N in order to complete the manufacturing process. The digit in the second row of Table 1 is written next and corresponds to a specific process machine that has been selected to perform a required operation on the part. The processing machines in the second row are chosen according to the decision value (hypothetical in this table) as specified in the third row of Table 1. In the mapping strategy described above, it is assumed that each processing type (PT) can be carried out by a number of alternative processing machines (since a reconfigurable manufacturing line consists of flexible and reconfigurable processing machines) that make up the manufacturing line. For multiple parts, an array of strings representing optimum processing routes for each part in the production scenario will represent the required manufacturing process plan for producing multiple parts in the given production scenario. 2.2. Genetic algorithm modifications The logic behind the genetic algorithm methodology used in this work can be described as follows: Assuming that we have np parts to manufacture and each part can have several alternative manufacturing process plans to follow in the manufacturing system, then each of the selected chromosomes will contain np process routings and one (1) process routing forms a gene in the chromosome.
In the logic described above, the experimental population will contain NC chromosomes, where NC np. In running a genetic algorithm, an initial solution is often required. Problem specific knowledge was used to devise a heuristic procedure for generating a valid initial manufacturing process plan. A cyclic crossover operator was used to create new ‘‘individuals’’ from the experimental population.
2.2.1. Cyclic crossover operation The implemented cyclic crossover operation was designed to take features from both parents as described below. Thus, for each of the NC chromosomes in the population, the idea is to randomly select a chromosome. For each of the np genes in a chromosome the idea is to randomly create a string for the ith part and then randomly exchange genes in the initial population. The logic can be explained as follows: Suppose, the number of parts in a given production scenario, i.e. part to be manufactured, is seven (7). Let chromosome I be: 2 3 7 6 5 4 1, i.e. process route (which gives details of specific processing machines, excluding processing stages for clarity) for 2nd part, then for 3rd, etc. in that order. Let chromosome II be: 70 60 10 40 50 30 20 . We then choose a random number in [1, 7] and suppose 3 is randomly selected. Therefore, offspring A, produced by mating chromosomes I and II, can be written as: 2 3 7 6’ 1’ 4’ 5’, i.e. the first three (3) genes from chromosome I in same order, followed by other genes from chromosome II in the order they are encountered in chromosome II. Consequently, offspring, B, becomes 7’3’2’6 5 4 1. In this way, the crossover operation will cover the whole manufacturing process plan consisting of np process routing for all parts. Using the logic described in the previous paragraph, the crossover operation changes the order between the processing machines (PMs) in a string solution. This operator is very important since it allows the realization of sequence changes in the PMs in a bid to arrive at an optimal sequencing of the selected PMs. Through crossover, the strings obtained from reproduction are mated at a given probability, i.e. crossover rate. The advantage of the cyclic crossover lies in that it ensures that recombination will not result in any violation of processing constraints and each PM appears in the offspring once. A mutation operator was developed to create new offsprings from individuals in the experimental population. 2.2.2. Mutation operation The implemented mutation operator was based on the neighborhood search technique. Such an operator was developed to change the processing machines (PMs), among alternatives, used for any processing type (PT) in a string. This aspect of the algorithm is essential since it allows random changes in selecting processing machines for the manufacturing process planning solution. PM mutation was used to change the processing machine, i.e. current processing machines, to perform a specific process if more than one processing machines can be applied. In a reconfigurable MPML, it is possible to have more than one processing machine that can perform a required process since the implemented processing machines are both flexible and reconfigurable. To reduce the total processing machine changes in the procedure described above, processing machine alternatives for the remaining processes are checked concurrently. If the current processing machine is used in performing any of the remaining processes and at the same time the process has the selected processing machine in its alternatives, the selected processing machine is selected to replace the current processing machine for that process. By carrying out this procedure, the number of processing machine changes can be reduced without violating the processing constraints.
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
In order to foil the tendency of the algorithm to get stuck in local optima due to premature population convergence, the usual approach in a simple genetic algorithm (SGA) is to employ a mutation operator as described in the previous paragraph. Such a strategy works well depending on the specifications of the problem domain as well as the complexity of the search space (Zhang & Nee, 2001). For manufacture of multiple parts through a heterogeneous collection of flexible and reconfigurable manufacturing machines/ modules/devices, there are alternative processing machines (PMs) for any given process. Since multiple parts are considered in this work, there is a high chance of having many similar processing requirements that need similar alternative processing machines. In the analogical reference to the natural evolution process, the situation described above results in an increase in the number of similar chromosomes in the population. Such an increment spoils the ability of the mutation operator alone to maintain high population diversity. One solution to this problem is to devise a diversity control mechanism that foils the tendency to premature convergence (Cheng & Gen, 2001). A threshold operator described in the next section was used to control the diversity of population.
2.2.3. Threshold operation In light of the discussion in the previous paragraph and the recommendations in Chen (2006), Wang et al. (2007), and Li and Wang (2007), a customized threshold operator was incorporated in the development of the implemented modified genetic algorithm (MGA). The purpose of the threshold operator was to augment the mutation operator in foiling the tendency towards premature convergence by improving population diversity. In the analogical mapping from the evolution process, the threshold operation is similar to the one-way movement of either individuals or their genes into a population in a bid to improve the population diversity. Since this operation is a one way movement, i.e. immigration, there is bound to be a transitional interval beyond which immigration for further increase in population diversity may result in non-convergence of the algorithm or a recurrence of premature convergence. Therefore, the proposed threshold operator utilizes the idea of a threshold limit value. In general, a threshold is a point that must be exceeded or not exceeded in order to begin producing a certain desired or undesirable effect. In the implemented threshold operation, this is the point at which further increase in population diversity either results in non-convergence to an optimal solution or increases the number of similar chromosomes in the population, thereby resulting in premature convergence. Thus, by setting a threshold limit value, non-convergence to an optimal solution or the recurrence of premature convergence can be prevented. The idea in implementing a ‘‘threshold limit’’ is to control population diversity. The aim is to improve the population diversity up to a threshold limit. This ensures that there is movement, though limited, away from low population diversity. In implementing this concept, a procedure was introduced to monitor the diversity of the population and compare it with a threshold limit value. This ensures convergence in probability, while avoiding premature convergence. Through the threshold operation, the gene immigrants are mated at a given probability, i.e. diversity rate, within a transitional interval determined by the threshold limit value. In order to implement this concept successfully, ideas from literature on genetics and information entropy were utilized (Cheng & Gen, 2001). A control parameter, a, whose value is decided by the relationship between the population size and the number of alternative entities in the solution space, was used to control the probability of improvement, i.e. diversity rate.
10773
3. Manufacturing process planning optimization model 3.1. Model inputs Inputs in the modeling procedure for generating manufacturing process plans included: processing precedence relationships (PPRs); processing machine library; processing cost estimates; product information (part similarity coefficients (PSCs), production volumes); manufacturing system information (processing machine chain similarity coefficients (PMSCs)).
In order to model the domain over which the solution is required, problem specific knowledge was utilized. This included: the number of part families, npf; part types and number of part types for each family to be processed; the processes to be used inclusive of alternatives; the type of processing machines (PMs) or processing modules available to the manufacturing system; the initial manufacturing configuration. The solution space is given by the number of processing types (PTs) required for each part, or alternatively the available processing machines (PMs) for each process type, and the possible sequencing of the processing machines (PMs) for each part with respect to processing and resource constraints. 3.1.1. Representing product information A multiple parts manufacturing line (MPML) manufactures parts that belong to a product family. Let the number of part families be NPF = (npfi), where i = 1, 2, 3, . . . , npf, and let the number of parts in a family be NP = (npi), where i = 1, 2, 3, . . . , np. Input matrices can be defined from such product information as follows: Part Array (PA) is defined as an array of parts in a given production scenario to be manufactured in the system, i.e. PA = [pi]T, where pi is a unique identity of the ith part in the production scenario. Production Volume Array (PVA) is defined as an array of production volume demands for parts in the production scenario, i.e. PVA = [pvi]T, where pvi is the volume of the ith part. Production Cost Array (PCA) is defined as an array of estimated manufacturing costs for parts in the production scenario, i.e. PCA = [pci]T, where pci is the production cost of the ith part. 3.1.2. Representing manufacturing system information Parts manufacturing requirements are represented by an array of processing machines (PMs), defined by the process types (PTs) or operations and arranged in a number of processing stages. Let the number of stages be N = (ni), where i = 1, 2, 3 ,. . . , n, let the number of processing machines be W = (wi), where i = 1, 2, 3, . . . , w. In processing multiple parts, it is always necessary to determine an optimal order of feeding (loading) parts into the manufacturing system since the change-over costs between processing consecutive parts i and j have an impact on the overall processing costs. For this reason, a part similarity coefficient (PSC), which is a measure of similarity between any two parts i and j was used to arrive at a partial ordering for processing parts (Luong, Kazerooni, & Abhary, 2001). In a multiresource manufacturing environment
10774
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
equipped with flexible and reconfigurable processes, it is also necessary to predetermine a process routing based on cost effective set-ups in processing consecutive parts. For this reason, a process machine chain similarity coefficient (PMSC) between any two processing machines, i and j was used to partially order the processes available to the manufacturing system (Luong et al., 2001). Let the part similarity coefficient between parts i and j be PSC = (psci,j), where i and j are an ordered pair of parts, and let the processing machine similarity coefficient between machines i and j be PMSC = (pmsci,j), where i and j are an ordered pair of processing machines in the manufacturing system. Input matrices for the manufacturing system can be defined as follows: Process Machine (PM) array is defined as an array of available processing machines from which alternative processing machines can be specified for each part, i.e. PM = [PMi], where PMi is a unique identity of the ith processing machine. The part similarity coefficient (PSC) matrix can be written as PSC = [PSCi,j], where PSCi,j is the similarity coefficient between parts i and j. The processing machine similarity coefficient matrix can be written as PMSC = [PMSCi,j], where PMSCi,j is the processing module similarity coefficient between process modules i and j. Since the optimization process is conducted subject to processing constraints, i.e. processing precedence relationships (PPRs), input matrices can be defined to represent PPRs as follows: the processing precedence relationships matrices can be written as PPR = [PPRi] for i = 1, 2, 3, . . . , np, where PPRi is a matrix representing the processing types precedence relationships to be observed in processing part i.
The various total cost function items used are defined in the following equations. The processing machine usage cost can be represented mathematically as;
PMC½ ¼
K X
PMCIi
ð3Þ
i¼1
where PMC[ ] is the processing machine usage cost array, K is the total number of processing types (or operations) required to complete processing of part i, PMCI is the processing machine cost index for using processing machine PMi. The cost array associated with a process change, i.e. process change cost (PCC), represented as PCC[ ], is given by:
PCC½ ¼ PCCI
K1 X
XðPMiþ1 PMi Þ
where PCCI is the process change cost index and PMi is the processing machine i. In Eq. (4), the omega expression is defined as:
XðPMiþ1 PMi Þ ¼
SCC½ ¼ SCCI
K1 X ½ð1 XðPMiþ1 PMi ÞÞ XðTADiþ1 TADi Þ
ð5Þ
ð6Þ
i¼1
where SCCI is the set-up change cost index and the tool approach distance (TAD) represents the required processing machine (PM) key characteristic in processing consecutive parts. In Eq. (6), the omega expression is defined as:
pmsci;j 0
if TADiþ1 –TADi if TADiþ1 ¼ TADi
ð7Þ
where pmsci,j is the processing machine chain similarity coefficient. Also, TADi+1 = TADi if the required processing machines are in the same stage, otherwise a factor of pmsci,j has to be used, as defined above. The cost array associated with reconfiguration changes, i.e. reconfiguration change costs (RCC), represented as RCC[ ], is given by: K 1 X ½ð1 XðPMiþ1 PMi ÞÞ XðXSiþ1 XSi Þ
RCC½ ¼ RCCI
ð8Þ
i¼1
The fitness function is based on an implicit function that combines a number of processing cost components, FTPC. The mathematical model for the fitness function can be represented as follows: np X npf X K X Min FðyÞ ¼ total processing costs ¼ ½ðv i;j F TPC Þ
if PMiþ1 ¼ PMi
The cost array associated with a set-up change, i.e. setup change cost (SCC) represented as SCC[ ], is given by:
3.2. Fitness function
(a) processing precedence relationships (PPRs); (b) manufacturing capabilities limits.
1 if PMiþ1 –PMi 0
XðTADiþ1 TADi Þ ¼ The aim in operating a reconfigurable MPML is to allow the manufacturing system to respond to changing production requirements without degrading the overall manufacturing system performance. The fitness function used for selecting optimal manufacturing process plans can be defined as follows: Minimize Total Processing Costs, F(y), subject to:
ð4Þ
i¼1
where RCCI is the reconfiguration cost index and XS defines a reconfiguration scenario and represents the differences in key part features for the manufacture of consecutive different part types. In Eq. (8), the omega expression is defined as:
XðXSiþ1 XSi Þ ¼ ð2Þ
n¼1 k¼1 i¼1
where, vi,j = 1/PSCi,j. The parameter, vij, is a penalty cost factor that represents the change-over cost in processing multiple parts. It effectively represents partial part load scheduling in the system, i.e. the order of processing parts in the manufacturing system. Other symbols are defined as follows: PSCi,j – part similarity coefficient; FTPC – total processing cost function, obtained by adding the cost components represented in Eqs. )(2)–(12) in the following paragraphs; npf – is the number of part families; np – is the number of parts in a part family; K – number of processing types (operations) to be performed to produce a part.
psi;j
if XSiþ1 –XSi
0
if XSiþ1 ¼ XSi
ð9Þ
The cost array associated with use of tools, i.e. tool costs (TC) represented as TC[ ], is given by:
TC½ ¼ TCI
K X
Ti
ð10Þ
i¼1
where TCI is the tool cost index for using tool i and Ti is the processing time required for part i. The cost array associated with tool change, TCC[ ], is given by:
TCC½ ¼ TCCI
K 1 X ½ð1 XðPMiþ1 PMi ÞÞ XðT iþ1 T i Þ
ð11Þ
i¼1
where TCCI is tool change cost index. In Eq. (11), the omega expression is defined as:
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
XðT iþ1 T i Þ ¼
psi;j
if T iþ1 –T i
0
if T iþ1 ¼ T i
ð12Þ
The materials handling cost (HC) array, represented as HC[ ] is given by:
HC½ ¼ HCI
K 1 X
di;j
ð13Þ
i¼1
where HCI is the materials handling cost index and d is the distance between processing modules i and j in the manufacturing grid. The total processing cost function, FTPC, is the sum of the cost items represented in Eqs. (3)–(13). 3.3. Model outputs
10775
PM = PMi, where i = 1, 2, 3, . . . , w, where w is the total number of processing machines required in the optimal manufacturing process planning set. Thus, for each processing type or operation, the goal is to find the suitable combination of all processing machines (PMs) and their appropriate sequencing without violating precedence processing constraints. A manufacturing process planning solution (i.e. a sequenced string of PMs and their respective processing stages for each part in the production scenario) that fulfills this goal is regarded as a valid solution. Because multiple parts are being considered, the solution is expected to be an optimal array of strings that detail the selected processes and their sequences for each part in addition to a partial ordering for the processing parts. 4. Application of the genetic algorithm methodology
The output from the proposed solution approach consists of: a number of processing types (PTs) or operations required for each of the multiple parts; the corresponding optimal sequence of processing machines (PMs) required to perform each operation; a partial ordering for loading parts into the manufacturing system.
In order to study the effectiveness of the proposed modified genetic algorithm (MGA) method in generating optimal manufacturing process planning solutions, a comparison was made with a simple genetic algorithm (SGA), and a simulated annealing (SA) algorithm. The details of the simulated annealing algorithm are found in Musharavati, Ismail, Hamouda, and Ramli (2008). 4.1. Test manufacturing system
Thus for each part, the goal is to find all the PTs, and hence all the corresponding PMs, that are required to convert raw materials into the finished parts using the available technological processing capabilities. The resulting PTs or PMs for each part can be expressed as one or several sets in the manufacturing process planning solution as follows:
The capabilities of the genetic algorithm methodology was tested by considering a multiple parts reconfigurable flow line that produces twenty (20) parts belonging to the same family. The test manufacturing system was composed of four (4) processing stages and a total of sixteen (16) processing machines/modules. Raw
Input: PPRs, PM library, PTs, PVA, PA, PCA, PSC, PMA, PMS
Generate feasible initial manufacturing process plan
Gen=1
Compute Fitness Values
Selection Crossover Operation Mutation Operation Threshold Operation
No
Threshold limit reached?
Yes No
Stopping criteria reached?
Yes Output: optimal MPP Fig. 2. A flow chart of the implemented modified genetic algorithm.
10776
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
materials enter the system through an input stage and exit the system through an output stage.
The parameters used in running the genetic algorithms were as follows: Population diversity control parameter, a = 3, threshold limit = 0.8, population size = 50, mutation rate = 0.7, crossover rate = 0.7, generation limit = 10 000. The above mentioned parameters were arrived at through a parameterization method based on the simplex approach described in Hallian (2001). The modified genetic algorithm steps are shown in the flowchart in Fig. 2.
10500
Total Processing Costs
4.2. Genetic algorithm parameters and program flow chart
11000
10000 Curve 2
Curve 1
9500 9000 8500 8000 7500 7000 0
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Generations
4.3. Results and discussion
Key
All algorithms were coded in C/C++ and were run on a Pentium 4, 2.0 GHz PC with 512 MB. For all algorithms, the total processing cost criterion that includes all the cost items as defined in the model presented in Eq. (2) was used as the fitness function. Algorithm performance data was collected from fifty (50) runs for all algorithms. The simulation mean performance curve for the simulated annealing algorithm is shown in Fig. 3. Fig. 3 shows the convergence characteristics of the optimization process when simulated annealing was used. It is a plot of the total processing costs against the number of iterations. The optimum cost was found at 7308 and the solution time was twenty-seven (27) minutes. The solution time of twenty-seven (27) minutes may be considered more efficient in comparison to an attempt to generate such an optimal solution manually. For comparison purposes, the simulation mean performance curves for the SGA and the MGA are shown on the same scale in Fig. 4. Fig. 4 depicts the convergence characteristics of the optimization process for the two (2) genetic algorithms. It shows a plot of the total processing costs against the number of generations, produced by averaging fifty (50) algorithm runs. Curve 1 in Fig. 4 represents the convergence characteristics for the SGA while curve 2 represents that for the MGA. The best solution for the SGA was found at 8303, and the corresponding solution time was 20.89 minutes, while the best solution for the MGA was found at 7175 and the solution time was 21.92 minutes. The results shown in Fig. 4 suggest that the optimization performance of the MGA is better than that of the SGA since a lower, and hence better, optimal solution value was obtained. On the other hand, the computation times seem to imply that the SGA is more efficient, time wise, than the MGA. However, the best solution values quoted above and their corresponding times are single statistic values that do not necessary represent the overall behavior of the algorithms on the long run.
Total Processing Costs
30000 25000 20000
Curve 1 representing optimization characteristics of the SGA Curve 2 representing optimization characteristics of the MGA
Fig. 4. Simulation performance curve for the simple genetic algorithm (SGA) and the modified genetic algorithm (MGA).
In order to generalize and compare the overall behaviors of the three (3) algorithms, averages values of the performance metrics were computed. Table 2 shows a comparison of the mean cost function values and mean computation times required to reach an optimal solution. A comparison of columns 2 and 4 shows that for all algorithms the trends in the cost function values does not change i.e. the values for MGA are lowest in all cases. This trend demonstrates the superiority of the MGA over the SGA and SA. Unlike the best solution time metric in column 3, comparison of mean values in column 5 shows that on average, the computation time performance of MGA is slightly better than that of SGA. The worst computation time performance was obtained when the SA algorithm was implemented. A student t-test analysis for a 95% confidence level revealed that the p-values for the mean fitness and mean times for all algorithms was less than 0.05. Hence it can be inferred that the differences in the values shown in Table 2 are statistically significant. However a similar comparison of the two genetic algorithms (i.e. SGA and MGA) reveals that the p-values for the mean fitness functions are less than 0.05 while that for the mean times was greater than 0.05. Therefore, it can further be inferred that there is no significant difference, statistically, between the computation times of the two genetic algorithms (i.e. SGA and MGA). On the other hand, there is a significant difference in the computed mean fitness values when the two genetic algorithms are compared. The significant differences in the mean fitness values of the two genetic algorithms can be explained by considering the key features of the two implemented genetic algorithms. The two algorithms only differ in the sense that MGA implements a combination of a neighborhood search based mutation operator and a threshold operator to foil premature convergence while SGA implements the mutation operator only. Therefore, the significant differences in the mean fitness values, which show superiority of MGA over SGA, may be attributed to the influence of the combined implementation of the mutation operator and a
15000 10000
Table 2 Comparison of the results of fifty (50) runs of the three algorithms.
5000 0 0
50
100
150
200
250
Algorithm
Best (fitness)
Solution time (min)
Mean (fitness)
Mean time (min)
SA SGA MGA
7308 8303 7175
27.0 20.9 21.9
12,086 12,197 11,624
33.8 21.7 21.5
300
Iterations Fig. 3. Mean optimization performance curve for the simulated annealing (SA) algorithm.
10777
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779 Table 3 One of the best optimal manufacturing process plan generated by the simulated annealing (SA) algorithm. Pi
Optimum process route profile
1 1_2 2_6 2_6 2_6 2 1_2 2_6 2_5 2_5 3 1_1 2_5 2_5 2_2 4 1_2 2_5 2_13 3_3 5 1_2 2_5 2_6 2_6 6 1_2 2_5 2_13 2_5 7 1_1 2_5 2_5 2_2 8 1_2 2_5 2_5 2_2 9 1_2 2_5 2_1 2_4 10 1_2 2_5 2_5 2_6 11 1_2 2_5 2_5 2_5 12 1_2 2_6 2_6 2_2 13 1_2 2_5 3_3 3_4 14 1_2 2_6 2_6 2_5 15 1_2 2_5 2_5 2_4 16 1_2 2_6 2_5 2_6 17 1_2 2_6 2_6 2_4 18 1_2 2_5 2_5 2_4 19 1_2 2_5 2_5 2_2 20 1_2 2_6 2_1 2_5 Number of changes in the manufacturing
PL
2_2 2_2 2_1 2_1 2_3 2_3 4_2 2_2 2_14 2_4 3_3 2_3 2_3 2_4 2_4 2_4 2_2 2_5 2_2 3_2 3_3 3_3 4_2 4_1 4_2 2_5 2_4 2_4 2_2 2_6 2_6 2_5 2_13 2_4 3_3 3_2 3_3 2_2 2_6 process = 343
3_3 2_4 3_3
4_2 3_3 4_2
4_2
2_4 4_2 3_2 3_3 3_3 3_3 4_1
3_2
3_3
4_1
3_3 3_4 4_2 4_2 4_2
4_1 4_1
4_2 4_2
3_3 3_3 2_4 3_3 4_1 3_4 2_5
4_2 4_2 2_2 4_2 4_2 4_1 2_5
2_5
3_3
4_1
4_2 2_4
3_3
4_2
4_2
4_2
4 16 13 14 19 20 1 2 8 10 3 11 15 12 17 18 6 7 5 9
Processing evaluation a
b
c
d
e
f (%)
4 6 5 4 9 6 7 7 6 6 5 4 5 5 6 9 6 5 7 9 121
7 8 7 4 10 6 9 9 7 7 7 5 5 7 8 11 7 7 8 10 149
0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 8
4 3 3 3 4 3 3 3 2 3 3 2 1 3 3 5 4 3 2 4 61
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 4
31 44 38 31 63 38 50 50 44 38 38 31 38 38 38 50 44 38 50 50 A = 42
a – number of process module changes; b – number of setup changes; c – number of tool changes; d – number of reconfiguration changes; e – number of Productive Reserve Capacity Used; and f – percentage of available process module seized.
Table 4 One of the best optimal manufacturing process plan generated by the simple genetic algorithm (SGA). Pi
Optimum processing route
1 1_2 2_13 2_5 2_5 2_2 2_2 2 1_2 2_14 2_14 2_14 2_4 2_1 3 1_1 2_13 2_13 2_2 2_14 2_14 4 1_2 2_14 2_14 3_3 4_2 5 1_2 2_14 2_4 2_4 2_1 2_2 6 1_2 2_14 2_14 2_1 2_4 3_3 7 1_1 2_13 2_1 2_2 2_3 2_13 8 1_2 2_13 2_4 2_4 2_6 2_2 9 1_2 2_5 2_13 2_13 2_2 2_4 10 1_2 2_14 2_14 2_3 2_2 2_14 11 1_2 2_14 2_14 2_3 3_2 3_3 12 1_2 2_6 2_6 2_2 3_3 4_2 13 1_2 2_13 3_3 3_4 4_1 4_2 14 1_2 2_13 2_13 2_14 2_4 2_1 15 1_2 2_13 2_13 2_2 2_6 2_4 16 1_2 2_14 2_14 2_5 2_5 2_3 17 1_2 2_6 2_6 2_6 2_4 2_13 18 1_2 2_14 2_14 2_4 2_4 3_3 19 1_2 2_14 2_1 2_2 3_2 3_3 20 1_2 2_13 2_13 2_14 2_13 2_4 Number of changes in the manufacturing process = 496
PL
3_3 2_1 3_3
4_2 3_3 4_2
4_2
2_14 4_2 3_2 3_3 3_3 3_3 4_1
3_2
3_3
4_1
3_3 3_4 4_2 4_2 4_2
4_1 4_1
4_2 4_2
3_3 3_3 2_4 3_3 4_1 3_4 2_6
4_2 4_2 2_6 4_2 4_2 4_1 2_2
2_2
3_3
4_1
4_2 2_13
3_3
4_2
4_2
4_2
7 9 20 13 1 5 6 12 19 10 14 17 3 2 18 15 8 11 4 16
Processing Evaluation a
b
c
d
e
f (%)
9 5 9 6 9 5 9 8 6 6 6 4 5 6 6 9 5 5 8 9 135
9 7 10 7 10 6 9 9 7 7 7 5 5 8 7 11 7 7 8 10 156
6 5 7 4 4 3 4 2 3 5 3 0 2 4 3 3 2 3 2 5 70
5 5 8 5 6 4 5 4 4 6 4 2 3 5 3 5 5 5 3 6 93
2 2 5 3 2 2 2 1 2 3 2 0 1 3 2 2 1 2 1 4 42
56 38 50 44 56 38 56 56 44 38 44 31 38 44 44 63 38 38 56 56 A = 46
a – number of process module changes; b – number of setup changes; c – number of tool changes; d – number of reconfiguration changes; e – number of Productive Reserve Capacity Used; f – percentage of available process module seized.
threshold operator in the MGA. Therefore, MGA offers better solution quality in terms of the cost function value in comparison to SGA. Some of the best manufacturing process planning solutions obtained from SA, SGA and MGA are shown in Tables 3–5 respectively. In Tables 3–5, Pi is the part identification number, PL is the part processing partial order or part loading scheme as recommended by the algorithms. The optimum processing routes indicated in Tables 3–5 are the process routings recommended by the algorithms. Tables 3–5 also show the respective number of changes for each part processing together with the percentage of the available processing machines actually used for processing each of the multiple
parts. The optimum processing routes also indicate that there is provision for repeat, parallel and alternative processing. Comparison of the manufacturing process plans in Tables 3–5 reveals significant reductions in the total changes in the manufacturing process; i.e. for the case of the SA algorithm, 393, followed by MGA, 431, and the highest was obtained for the SGA, 496. On the other hand, the average percentage of available process machines/modules seized during the manufacturing process is highest for the SGA, 46%, followed by that for the MGA, 45% and lowest for the SA algorithm, 42%. In implementing the genetic algorithm method, it must be stressed that the genetic algorithm is stochastic in nature. This
10778
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779
Table 5 One of the optimal manufacturing process plan for the modified genetic algorithm (MGA). Pi
Optimum processing route
1 1_2 2_13 2_5 2_5 2_2 2_2 2 1_2 2_6 2_5 2_4 2_1 2_1 3 1_1 2_5 2_6 2_2 2_3 2_3 4 1_2 2_14 2_14 3_3 4_2 5 1_2 2_5 2_1 2_14 2_4 2_14 6 1_2 2_13 2_14 2_5 2_4 3_3 7 1_1 2_5 2_6 2_5 2_2 2_5 8 1_2 2_5 2_1 2_2 2_5 2_4 9 1_2 2_13 2_13 2_2 2_14 2_4 10 1_2 2_14 2_5 2_3 2_3 2_2 11 1_2 2_14 2_13 2_14 3_2 3_3 12 1_2 2_14 2_14 2_2 3_3 4_2 13 1_2 2_5 3_3 3_4 4_1 4_2 14 1_2 2_6 2_5 2_1 2_6 2_4 15 1_2 2_13 2_1 2_13 2_4 2_2 16 1_2 2_14 2_14 2_14 2_6 2_6 17 1_2 2_6 2_6 2_6 2_4 2_13 18 1_2 2_5 2_14 2_4 2_1 3_3 19 1_2 2_13 2_13 2_2 3_2 3_3 20 1_2 2_13 2_13 2_14 2_4 2_1 Number of changes in the manufacturing process = 431
PL
3_3 2_4 3_3
4_2 3_3 4_2
4_2
2_2 4_2 3_2 3_3 3_3 3_3 4_1
3_2
3_3
4_1
3_3 3_4 4_2 4_2 4_2
4_1 4_1
4_2 4_2
3_3 3_3 2_4 3_3 4_1 3_4 2_2
4_2 4_2 2_6 4_2 4_2 4_1 2_5
2_2
3_3
4_1
4_2 2_14
3_3
4_2
4_2
4_2
1 16 4 17 3 13 10 11 8 12 2 14 9 15 18 7 19 5 20 6
Processing evaluation a
b
c
d
e
f (%)
5 7 6 3 10 6 9 9 6 6 7 4 5 7 7 8 5 7 7 9 133
7 8 7 4 10 6 9 9 7 7 7 5 5 7 7 11 7 7 8 10 148
2 0 0 3 4 3 0 0 5 2 4 3 0 0 4 4 2 2 3 5 46
5 2 2 4 5 4 1 1 6 4 5 4 1 1 5 6 5 3 4 7 75
1 0 0 2 2 2 0 0 3 1 3 2 0 0 2 3 1 1 2 4 29
38 44 44 25 63 44 50 56 44 44 44 31 38 44 44 50 38 50 50 56 A = 45
a – number of process module changes; b – number of setup changes; c – number of tool changes; d – number of reconfiguration changes; e – number of Productive Reserve Capacity Used; f – percentage of available process module seized.
means that several runs of the genetic algorithm will produce several optimal manufacturing process plans. This property of a stochastic search is important in today’s customer responsive production styles in which alternative but optimal (or near optimal) manufacturing process plans should be made available to human process planners. Such alternative plans can be used to leverage manufacturing outputs in competitive environments where short windows of opportunities can arise randomly. For reconfigurable MPMLs availability of alternative manufacturing process plans can be used to enhance logical reconfiguration tasks in manufacturing execution systems. In particular, the knowledge of partial ordering of parts of manufacture, as indicated in column PL of Tables 3–5, allows smooth addition and deletion of product profiles in reconfigurable manufacturing lines that produce multiple parts. The manufacturing process plans generated by the MGA method may either be similar or different since, unlike a deterministic algorithm, the stochastic search process will pass through different steps and sequences in seeking optimality in each different algorithm run. Therefore, as exemplified in Tables 3–5, differences in the resultant manufacturing process plans will be apparent in terms of:
menting a genetic algorithm methodology. Capabilities of three (3) algorithms, one (1) simulated annealing (SA) and two (2) genetic algorithms; i.e. the simple genetic algorithm (SGA) and a modified genetic algorithm (MGA), in generating manufacturing process plans were tested. It was observed that all three (3) algorithms are able to find a near optimal manufacturing process planning solution. The solutions were obtained with satisfactory convergence in real time. Therefore, all three (3) algorithms can be used to generate feasible manufacturing process plans for reconfigurable multiple parts manufacturing. A computational study, based on a case illustration, demonstrated the practical use of implementing the modified genetic algorithm (MGA) method. In comparison to both simulated annealing (SA) and a simple genetic algorithm (SGA), it was clear that the modified genetic algorithm can obtain better solution quality for the same experimental settings. Therefore, significant improvements towards obtaining near optimal manufacturing process planning solution for a reconfigurable multiple parts manufacturing line can be achieved by implementing a modified genetic algorithm method.
the quality of the optimal solutions, as indicated by computed final fitness values; properties of the optimum processing routes, as indicated in Tables 3–5; properties of the part loading schemes, PL, as indicated in Tables 3–5.
Chen, Y. (2006). Extending the scalability of linkage learning in genetic algorithms: Theory and practice. Berlin: Springer- Verlag. Cheng, R., & Gen, M. (2001). Production planning and scheduling using genetic algorithms. In J. Wang & A. Kusiak (Eds.), Computational intelligence in manufacturing handbook (pp. 10.1–10.34). Boca Raton, FL: CRC Press LLC. Hallian, J. (2001). Feature selection and classification in the diagnosis of cervical cancer. In L. Chambers (Ed.), The practical handbook of genetic algorithm applications (2nd ed., pp. 167–202). London: Chapman Hall. Hromkovicˇ, J. (2004). Algorithms for hard problems: Introduction to combinatorial optimization, randomization, approximation, and heuristics (2nd ed.). Berlin; New York: Springer-Verlag. Li, B., & Wang, L. (2007). A hybrid quantum-inspired genetic algorithm for multiobjective flow shop scheduling. IEEE Transactions on Systems, Man and Cybernetics: Part B, 37(3), 576–591. Luong, L. H. S., Kazerooni, M., & Abhary, K. (2001). Genetic algorithms in manufacturing systems design. In J. Wang & A. Kusiak (Eds.), Computational intelligence in manufacturing handbook (pp. 6.1–6.25). Boca Raton, FL: CRC Press LLC. Morad, . N., & Zalzala, A. (1999). Genetic algorithms in integrated process planning and scheduling. Journal of Intelligent Manufacturing, 10(2), 268–280. Musharavati, F., Ismail, N., Hamouda, A. M. S., & Ramli, A. R. (2008). A metaheuristic approach to manufacturing process planning in reconfigurable manufacturing systems. Jurnal Teknologi, 48(A), 55–70.
Such differences provide variety to the process planners in selecting the best plan to implement with respect to the prevailing manufacturing conditions and circumstances.
5. Conclusion In this paper, the issue of generating manufacturing process plans for reconfigurable multiple parts manufacturing lines has been discussed. Modeling the decision making process in an optimization framework was found to be helpful and feasible in imple-
References
F. Musharavati, A.S.M. Hamouda / Expert Systems with Applications 38 (2011) 10770–10779 Saygin, C., & Kilic, S. E. (1999). Integrating flexible process plans with scheduling in flexible manufacturing systems. International Journal of Advanced Manufacturing Technology, 15(4), 268–280. Scallan, P. (2003). Process planning: The design/manufacture interface. Boston, MA: Butterworth and Heinemann. Wang, Y., Cai, Z., Guo, G., & Zhou, Y. (2007). Multiobjective optimization and hybrid evolutionary algorithm to solve constrained optimization problems. IEEE Transactions on Systems, Man and Cybernetics: Part B, 37(3), 560–575.
10779
Zhang, F., & Nee, A. Y. C. (2001). Applications of genetic algorithms and simulated annealing in process planning optimization. In J. Wang & A. Kusiak (Eds.), Computational intelligence in manufacturing handbook (pp. 9.1–9.26). Boca Raton, FL: CRC Press LLC. Zhang, F., Zhang, Y. F., & Nee, A. Y. C. (1997). Using genetic algorithms in process planning for job shop machining. IEE Transactions on Evolutionary Computation, 1(4), 278–289.