Lee, Yuan-Shin et al "Soft Computing for Optimal Planning and Sequencing of Parallel Machining Operations" Computational Intelligence in Manufacturing Handbook Edited by Jun Wang et al Boca Raton: CRC Press LLC,2001 ©2001 CRC Press LLC 8 Soft Computing for Optimal Planning and Sequencing of Parallel Machining Operations 8.1 Introduction 8.2 A Mixed Integer Program 8.3 A Genetic-Based Algorithm 8.4 Tabu Search for Sequencing Parallel Machining Operations 8.5 Two Reported Examples Solved by the Proposed GA 8.6 Two Reported Examples Solved by the Proposed Tabu Search 8.7 Random Problem Generator and Further Tests 8.8 Conclusion Abstract Parallel machines (mill-turn machining centers) provide a powerful and efficient machining alternative to the traditional sequential machining process. The underutilization of parallel machines due to their operational complexity has raised interests in developing efficient methodologies for sequencing the parallel machining operations. This chapter presents a mixed integer programming model for the prob- lems. Both the genetic algorithms and tabu search methods are used to find an optimal solution. Testing problems are randomly generated and computational results are reported for comparison purposes. 8.1 Introduction Process planning transforms design specifications into manufacturing processes, and computer-aided process planning (CAPP) uses computers to automate the tasks of process planning. The recent intro- duction of parallel machines (mill-turn machining centers) can greatly reduce the total machining cycle time required by the conventional sequential machining centers in manufacturing a large batch of mill- turn parts [13, 14]. In this chapter, we consider the CAPP for this new machine tool. Yuan-Shin Lee ء North Carolina State University Nan-Chieh Chiu North Carolina State University Shu-Cherng Fang North Carolina State University ء Dr. Lee’s work was partially supported by the National Science Foundation (NSF) CAREER Award (DMI- 9702374). E-mail: yslee@cos.ncsu.edu ©2001 CRC Press LLC One characterization of parallel machines is based on the location of the cutting tools and workpiece. As shown in Figure 8.1, a typical parallel machine is equipped with a main spindle, a subspindle (or work locations), and two or more turrets (or machining units), each containing several cutting tools. For a given workpiece to be machined on parallel machines, the output of the CAPP generates a set of precedent operations needed for each particular workpiece to be completed. A major issue to be resolved is the sequencing of these precedent operations. The objective is to find a feasible operation sequence with an associated parallel machining schedule to minimize the total machining cycle time. Because of the relatively new trend of applying parallel machines in industrial manufacturing, only a handful of papers are found on sequencing machining operations for parallel machines [3, 22]. The combinatorial nature of sequencing and the complication of having precedence constraints make the problem difficult to solve. A definition of such parallel machines can be found in [11, 22]: D EFINITION 1 (Workholding Location (WL)): WL refers to a workholding location on a machine tool. D EFINITION 2 (Machining Unit (MU)): MU refers to a toolholding location on a machine tool. D EFINITION 3 (Parallel Machine P ( I, L )) : P ( I, L ) is a machine tool with I ( Ͼ 1) MUs and L ( Ն 1) WLs with the capability of activating i cutting tools ( I Ն i Ն 1) on distinct MUs, in parallel, either for the purpose of machining a single workpiece, or for the purpose of machining, in parallel, l workpieces ( L Ն l Ͼ 1) being held on distinct WLs. The necessary and sufficient condition for a machine tool to be parallel is I Ͼ 1. However, for a parallel machine to perform machining in sequential operations, we can simply set i ϭ 1 and l ϭ 1. A mixed integer programming model will be introduced in Section 8.2 to model the process of parallel machining. Such a model, with only five operations, can easily result in a problem with 300 variables and 470 constraints. This clearly indicates that sequencing the parallel machining operations by using conventional integer programming method could be computationally expensive and inefficient [4]. An alternative approach is to apply random search heuristics. To determine an optimal operation sequence, Veeramani and Stinnes employed a tabu search method in computer-aided process planning [19]. Shan et al. [16] applied Hopfield neural networks to sequencing machining operations with partial orders. Yip-Hoi and Dutta [22] explored the use of genetic algorithms searching for the optimal operation sequences. Usher and Bowden [20] proposed a coding strategy that took into account a general scenario of having multiple parents in precedence relations among operations. Other reported searching strategies can also be found in Usher and Bowden [20]. This chapter is organized as follows. In Section 8.2, a mixed integer program for parallel operation sequencing is presented. In Section 8.3, a genetic-based algorithm for sequencing parallel machining operations with precedence constraints is proposed. A new crossover operator and a new mutation operator designed for solving the order-based sequencing problem are included. Section 8.4 presents a tabu search procedure to solve the operations sequencing problem for parallel machines. Sections 8.5 and 8.6 detail FIGURE 8.1 An example of a parallel machine equipped with two turrets (MUs) and two spindles (WLs). (From Lee, Y.-S. and Chiou, C.-J., Computers in Industry , vol. 39, 1999. With permission.) ©2001 CRC Press LLC the computational experiments on using both the proposed genetic algorithm and tabu search procedure. To compare the quality of solutions obtained by the two methods, a random problem generator is intro- duced and further testing results are reported in Section 8.7. Concluding remarks are given in Section 8.8. 8.2 A Mixed Integer Program The problem of sequencing parallel machining operations was originated from the manufacturing prac- tice of using parallel machines, and so far there is no formal mathematical model for it. In this section, we propose a mixed integer program to model the process of sequencing parallel operations on parallel machines. The proposed mixed integer program seeks the minimum cycle time (completion time) of the corre- sponding operation sequence for a given workpiece. The model is formulated under the assumptions that each live tool is equipped with only one spindle and the automated tool change time is negligibly small. Consider a general parallel machine with ⌱ MUs and L WLs. The completion of a workpiece requires a sequence of J operations which follows a prescribed precedence relation. Let K denote the number of time slots needed to complete the job. Under the parallel setting, K Յ J , because some time slots may have two operations performed in parallel. In case I ϭ L , the process planning of a parallel machine with I MUs and L WLs can be formulated as a mixed integer program. The decision variables for the model are defined as follows: ϭ starting time of operation j performed by MU i on WL l in the k th time slot. Define , if k ϭ 1; for infeasible i , j , k , l ; and if i Σ for all j , k , l , i.e., for any particular operation j on WL l in the k th time slot, if no MU is available then the starting time is set to be , ϭ completion time of operation j performed by MU i on WL l in the k th time slot and define for infeasible i , j , k , l . For example, let 1–3–2–6–4–7–8–5 be a feasible solution of a sequence of eight operations required for the completion of a workpiece. Then indicates that the fourth time slot (or the fourth operation being carried out) in the feasible solution was performed by applying MU 2 and WL 1 on operation 6. Denote as the Dirac delta function. For any particular operation j , with its corresponding starting time and completion time , no other operation , at any other time slot , can be scheduled between , i.e., either or , for , and or . Thus, for a feasible schedule, the following conditions are required: With the above definitions, a mixed integer program for sequencing parallel operations is formulated as Equation (8.1) Equation (8.2) x ijl k 1 if operation j is performed by MU i on WL l in the kth time slot, 0 if not applicable, ϭ a ij processing time of operation j performed by MU i , ϩϱ if not applicable, ϭ s ijl k s ijl k 0ϭ s ijl k ϩϱϭ s ijl k ϭϩϱ x ijl k ϭ 0 ϩϱ f ijl k f ijl k ϭϩϱ x 261 4 ␦ ()и s ijl k f ijl k jЈ jЈ, j kЈ, kЈ k s ijl k f ijl k ,[] s ijl k f ijЈl kЈ Ն f ijl k s ijЈl kЈЈ Յ jЈ j kЈ kϽ kkЈЈϽ ␦ s ijl k f ijЈl kЈ Ϫ() 1ifs ijl k f ijЈl kЈ 0,ՆϪ 0ifs ijl k f ijЈl kЈ 0Ͻ ,Ϫ ϭ ␦ s ijЈl kЈЈ f ijl k Ϫ() 1ifs ijЈl kЈЈ f ijl k 0,ՆϪ 0ifs ijЈl kЈЈ f ijl k 0Ͻ .Ϫ ϭ min ␣ , f ijl K ␣ , Յ i 1,ϭ … I, j, 1,ϭ … J, l, 1,ϭ … L,, ©2001 CRC Press LLC Equation (8.3) Equation (8.4) Equation (8.5) Equation (8.6) Equation (8.7) where (h, j) is a precedence relation on operations, Equation (8.8) Equation (8.9) for feasible i, j, k, l, with (h, j) being a precedence relation on operations and Equation (8.10) Equation (8.11) The objective function 8.1 is to minimize the total cycle time (completion time). Constraint 8.2 says that every operation has to be finished in the cycle time. Constraint 8.3 ensures that each MU can perform at most one operation in a time slot. Constraint 8.4 ensures that each WL can hold at most one operation in a time slot. Constraint 8.5 ensures that each operation is performed by one MU on one WL in a particular time slot. Constraint 8.6 is the parallel constraint which ensures that at most two operations can be performed in one time slot. Constraint 8.7 ensures that in each time slot, the precedence order of operations must be satisfied. Constraint 8.8 denotes the completion time as the sum of the starting time and the processing time. Constraint 8.9 ensures the starting time of operation j cannot be initialized until both (i) an MU is available for operation j and (ii) operation j’s precedent operations are completed. Constraint 8.10 ensures that no multiple operations are performed by the same MU in the same time slot. Constraint 8.11 describes the variables assumption. The combinatorial nature of the operation sequencing problem with precedence constraints indicates the potential existence of multiple local optima in the search space. It is very likely that an algorithm for solving the above mixed integer program will be trapped by a local optimum. The complexity of the problem is also an issue that needs to be considered. Note that each of the variables , , and has multiple indices. For a five-operation example performed on a 2-MU, 2-WL parallel machine, given that both MUs and one WL are available for each operation, there are 50 ϫ 3 ϭ 150 variables x ijl k 1Յ i, lϭ1 L Α jϭ1 J Α ϭ 1 … Ik ,,,ϭ 1 … K,,, x ijl k 1 k ,Յ jϭ1 J Α iϭ1 I Α ϭ 1 … Kl ,,,ϭ 1 … L,,, x ijl k ϭ 1, lϭ1 L Α kϭ1 K Α iϭ1 I Α j ϭ 1 … J,,, x ijl k 2Յ k, lϭ1 L Α jϭ1 J Α iϭ1 I Α 1 … K,,,ϭ x ihl kЈ kЈϭ1 kϪ1 Α lϭ1 L Α iϭ1 I Α x ijl k lϭ1 L Α iϭ1 I Α Ն khj,(),,᭙, f ijl k s ijl k a ij ϩϭ for feasible , ijkl,, ,, s ijl k max ϭ max kЈϭ1…k Ϫ1, lϭ1 …L, jЈ j x ijЈl kЈ f ijЈl kЈ [] x iЈhl kЈ f iЈhl kЈ lϭ1 L Α kЈϭ1 kϪ1 Α iЈϭ1 I Α , , 0 ϱи 0,ϭ ␦ s ijl k f ijЈl kЈ Ϫ() ␦ s ijЈl kЈЈ f ijl k Ϫ()ϩ 1 for feasible ,ϭ ijkl,, ,, with jЈ jkЈ kk k ЈЈ Ͻ,Ͻ, , x ijl k 0ϭ or 1 ijkl,, ,᭙ and,, ␣ 0.Ն x ijl k s ijl k f ijl k ©2001 CRC Press LLC ( for each variable) under consideration. To overcome the above problems, we explore the idea of using ‘‘random search’’ to solve the problem. 8.3 A Genetic-Based Algorithm A genetic algorithm [8, 12] is a stochastic search that mimics the evolution process searching for optimal solutions. Unlike conventional optimization methods, GAs maintain a set of potential solutions, i.e., a population of individuals, , in each generation t. Each solution is evaluated by a measurement called fitness value , which affects its likelihood of producing offspring in the next generation. Based on the fitness of current solutions, new individuals are generated by applying genetic operators on selecting individuals of this generation to obtain a new and hopefully ‘‘better’’ generation of individuals. A typical GA has the following structure: 1. Set generation counter . 2. Create initial population . 3. Evaluate the fitness of each individual in . 4. Set . 5. Select a new population from . 6. Apply genetic operator on . 7. Generate . 8. Repeat steps 3 through 8 until termination conditions are met. 9. Output the best solutions found. 8.3.1 Applying GAs on the Parallel Operations Process The proposed genetic algorithm utilizes Yip-Hoi and Dutta’s single parent precedence tree [22]. The outline of this approach is illustrated in Figure 8.2. An initial population is generated with each chro- mosome representing a feasible operation sequence satisfying the precedence constraints. The genetic operators are then applied. After each generation, a subroutine to schedule the operations in parallel FIGURE 8.2 Flow chart for parallel operations implementing GAs. ijkϫ lϫϫ 2ϭ 15ϫ 5ϫϫ 50ϭ Pt() x 1 t … x n t ,,{}ϭ x i t t 0ϭ Pt() Pt() tt1ϩϭ Pt() Pt 1Ϫ() Pt() Pt 1ϩ() gen=1 gen=gen+1 Terminate? Y N Output Generate Initial Feasible Sequences input Mutation Selection GA evolution MU, WL, Mode constraints Crossover Assign MU, WL, Mode Precedence matrix Calculate Fitness Parallel Scheduling under Preced, MU, WL, Mode constr. ©2001 CRC Press LLC according to the assignments of MU and WL is utilized to find the minimum cycle time and its corre- sponding schedule. 8.3.1.1 Order-Based Representations The operation sequencing in our problem has the same nature of the traveling salesman problem (TSP). More precisely, the issue here is to find a Hamiltonian path of an asymmetric TSP with precedence constraints on the cities. Thus, we adopt a TSP path representation [12] to represent a feasible operation sequence. For an eight-operation example, an operation sequence (tour) 1–3–2–4–6–8–7–5 is represented by [1 3 2 4 6 8 7 5]. The approach is similar to the ordered-based representation discussed in [5], where each chromosome represents a feasible operation sequence, each gene in the chromosome represents an operation to be scheduled, and the order of the genes in the chromosomes is the order of the operations in the sequence. 8.3.1.2 Representation of Precedence Constraints A precedence constraint is represented by a precedence matrix P. For the example, with five operations (Figure 8.3), the operations occupy three levels. A 5 ϫ 3 matrix (Table 8.1) P is constructed with each row representing an operation and each column representing a level. Each element P i,j assigns a prede- cessor of operation i which resides at level j, e.g., stands for ‘‘operation 3 at level 2 has a precedent operation 1.’’ The operations at level 1 are assigned with a large value M. The initial population is then generated based on the information provided by this precedence matrix. 8.3.1.3 Generating Initial Population The initial population is generated by two different mechanisms and then the resulting individuals are merged to form the initial population. We use the five-operation example to explain this work. TABLE 8.1 The Precedence Constraint Matrix P FIGURE 8.3 A five-operation precedence tree. level 123 → P op1 op2 op3 op4 op5 M 00 M 00 010 010 003 ϭ 5 3 4 1 2 level 1 level 2 level 3 P 32, ϭ1 ©2001 CRC Press LLC In the example, operation 1 can be performed as early as the first operation (level 1), and as late as the second (ϭ total nodes Ϫ children nodes) operation. Thus, the earliest and latest possible orders are opE ϭ [1 1 2 2 3] and opL ϭ [2 5 4 5 5], respectively. This gives the possible positions of the five operations in determining a feasible operating sequence (see Figure 8.3). Let pos(i, n) denote the possible locations of operation i in the sequence of n operations, lev(i) denote the level of operation i resides, and child(i) denote the number of child nodes of operation i. Operation i can be allocated in the following locations to ensure the feasibility of the operation sequence, lev(i) Յ . The initial population was generated accordingly to ensure its feasibility. A portion of our initial population was generated by the ‘‘level by level’’ method. Those operations in the same level are to be scheduled in parallel at the same time so that their successive operations (if any) can be scheduled as early as possible and the overall operation time (cycle time) can be reduced. To achieve this goal, the operations in the same level are scheduled as a cluster in the resulting sequence. 8.3.1.4 Selection Method The roulette wheel method is chosen for selection, where the average fitness (cycle time) of each chro- mosome is calculated based on the total fitness of the whole population. The chromosomes are selected randomly proportional to their average fitness. 8.3.2 Order-րPosition-Based Crossover Operators A crossover operator combines the genes in two parental chromosomes to produce two new children. For the order-based chromosomes, a number of crossover operators were specially designed for the evolution process. Syswerda proposed the order-based and position-based crossovers for solving sched- uling problem with GAs [17]. Another group of crossover operators that preserve orders/positions in the parental chromosomes was originally designed for solving TSP. The group consists of a partially- mapped crossover (PMX) [9], an order crossover (OX) [6], a cycle crossover (CX) [15] and a common- ality-based crossover [1]. These crossovers all attempt to preserve the orders and/or positions of parental chromosomes as the genetic algorithm evolves. But none of them is able to maintain the precedence constraints required in our problem. To overcome the difficulty, a new crossover operator is proposed in Section 8.3.3. 8.3.3 A New Crossover Operator In the parallel machining operation sequencing problem, the ordering comes from the given precedence constraints. To maintain the relative orders from parents, we propose a new crossover operator that will produce an offspring that not only inherits the relative orders from both parents but also maintains the feasibility of the precedence constraints. The Proposed Crossover Operator Given parent 1 and parent 2, the child is generated by the following steps: Step 1. Randomly select an operation in parent 1. Find all its precedent operations. Store all the operations in a set, say, branch . Step 2. For those operations found in Step 1, store the locations of operations in parent 1 as location 1 . Similarly, find location 2 for parent 2. Step 3. Construct a location c for the child, location c (i) ϭ min{location 1 (i), location 2 (i)} where i is a chosen operation stored in branch. Fill in the child with operations found in Step 1 at the locations indicated by location c . Step 4. Fill in the remaining operations as follows: If location c ϭ location 1 , fill in remaining operations with the ordering of parent 2, else if location c ϭ location 2 , fill in remaining operations with the ordering of parent 1, else (location c location 1 and location c location 1 ), fill in remaining operations with the ordering of parent 1. pos in,()n child i()ϪՅ ©2001 CRC Press LLC Table 8.2 shows how the operator works for the eight-operation example (Figure 8.4). In step 1, operation 5 is randomly chosen and then traced back to all its precedent operations (operations 1 and 2), together they form branch ϭ {1, 2, 5}. In step 2, find the locations of operations 1, 2, 5 in both parents, and store them in location 1 ϭ {1, 3, 8} and location 2 ϭ {1, 5, 7}. In step 3, the earliest locations for each operation in {1, 2, 5} to appear in both parents is stored as location c ϭ {1, 3, 7}. Fill in the child with {1, 2, 5} at the locations given by location c ϭ {1, 3, 7} while at the same time keeping the precedence relation unchanged. In step 4, fill in the remaining operations {3, 6, 4, 7, 8} following the ordering of parent 1. The crossover process is now completed with a resulting child [1 3 2 6 4 7 5 8] that not only inherits the relative orderings from both parents but also satisfies the precedence constraints. To show that the proposed crossover operator always produces feasible offspring, a proof is given as follows. Let T n denote a precedence tree with n nodes and denote the set of all precedent nodes. Thus, if in both parent 1 and parent 2 then both location 1 (i) Ͻ location 1 (j), and location 2 (i) Ͻ location 2 (j). Let denote the chosen operations in step 1, we know location 1 (i 1 ) Ͻ location 1 (i 2 ) Ͻ location 1 (i k ), and location 2 (i 1 ) Ͻ location 2 (i 2 ) Ͻ … Ͻ location 2 (i k ). In step 3, location c (i l ) ϭ {location 1 (i l ), location 2 (i l )} is defined to allocate the location of chosen operation i l in the child. We claim that the resulting child is always feasible. Otherwise, there exists a precedent pair such that location c (i 1 ) Ͼ location c (i m ), for . However, this cannot be true. Because is given, we know that location 1 (i l ) Ͻ location 1 (i m ), and location 2 (i l ) Ͻ location 2 (i m ). This implies that location c (i l ) ϭ min {location 1 (i l ), location 2 (i l )} Ͻ min {location 1 (i m ), location 2 (i m )}. Thus, if (i l , i m ) D, then location c (i l ) Ͻ location c (i m ). This guarantees the child to be a feasible sequence after applying the proposed crossover operator. TABLE 8.2 The Proposed Crossover Process on the Eight-Operation Example The Proposed Crossover parent 1 [1 3 2 6 4 7 8 5] parent 2 [1 3 6 7 2 4 5 8] step 1: [x x x x x x x 5] randomly choose 5, branch ϭ {1, 2, 5} step 2: [1 x 2 x x x x 5] location 1 ϭ {1, 3, 8} [1 x x x 2 x 5 x] location 2 ϭ {1, 5, 7} step 3: [1 x 2 x x x 5 x] location c ϭ {1, 3, 7} step 4: [1 3 2 6 4 7 5 8] FIGURE 8.4 An eight-operation example. 1 2 3 5 level 1 level 2 level 3 level 4 7 8 6 4 opE=[ 1 2 2 3 3 3 3 4 ] opL=[ 1 6 5 8 8 8 7 8 ] D Ϻ ϭ ij,(): i ՞ jij,() T n ʦ᭙,{} i ՞ j i 1 … i k ,,{} min lϭ1 k i l i m ,()Dʦ lm, 1 … k,,ϭ i l i m Ͻ ʦ ©2001 CRC Press LLC 8.3.4 A New Mutation Operator The mutation operators were designed to prevent GAs from being trapped by a local minimum. Mutation operators carry out local modification of chromosomes. To maintain the feasible orders among operations, some possible mutations may (i) mutate operations between two independent subtrees or (ii) mutate operations residing in the same level. Under this consideration, we develop a new mutation operator to increase the diversity of possible mutations that can occur in a feasible sequence. The Proposed Mutation Operator Given a parent, the child is generated by the following steps: Step 1. Randomly select an operation in the parent, and find its immediate precedent operation. Store all the operations between them (including the two precedent operations) in a set, say, branch . Step 2. If the number of operations found in step 1 is less than or equal to 2, (i.e., not enough operations to mutate), go to step 1. Step 3. Let m denote the total number of operations ( ). Mutate either branch (1) with branch (2) or branch (mϪ1) with branch (m) given that branch (1) branch (2) or branch (mϪ1) branch(m), where ‘‘ ’’ indicates there is no precedence relation. Table 8.3 shows how the mutation operator works for the example with eight operations. In step 1, operation 7 is randomly chosen, with its immediate precedent operation 3 from Figure 8.4 to form branch ϭ {3, 2, 6, 4, 7}. In step 3, mutate operation 2 with 3 (or 4 with 7) and produce a feasible offspring, child ϭ [1 2 3 6 4 7 8 5]. For the parallel machining operation sequencing problem, the children generated by the above muta- tion process are guaranteed to keep the feasible ordering. Applying the proposed mutation operator in the parent chromosome results in a child which is different from its parental chromosome by one digit. This increases the chance to explore the search space. The proposed crossover and mutation operators will be used to solve the problems in Sections 8.5 and 8.7. 8.4 Tabu Search for Sequencing Parallel Machining Operations 8.4.1 Tabu Search Tabu search (TS) is a heuristic method based on the introduction of adaptive memory to guide local search processes. It was first proposed by Glover [10] and has been shown to be effective in solving a wide range of combinatorial optimization problems. The main idea of tabu search is outlined as follows. Tabu search starts with an initial feasible solution. From this solution, the search process evaluates the ‘‘neighboring solutions’’ at each iteration as the search progresses. The set of neighboring solutions is called the neighborhood of the current solution and it can be generated by applying certain transformation to current solution. The transformation that takes the current solution to a new neighboring solution is called a move. Tabu search then explores the best solution in this neighborhood and makes the best available move. A move that brings a current solution back to a previously visited solution is called a tabu move. In order to prevent cycling of the search procedure, a first-in first-out tabu list is created to TABLE 8.3 The Proposed Mutation Process on the Eight-Operation Example The Proposed Mutation parent [1 3 2 6 4 7 8 5] step 1: [1 3 |2 6 4| 7 8 5] operations 3, 7 chosen, branch ϭ {3, 2, 6, 4, 7} step 2, 3: [1 2 |3 6 4| 7 8 5] mutate operations 2 and 3 child [1 2 3 6 4 7 8 5] m 3Ն [...]... for machining operation sequencing, in Neural Networks in Manufacturing and Robotics, Y.C Shin, A.H Abodelmonem and S Kumara (Eds.), PED-vol 57, ASME 1992, pp 117–126 17 G Syswerda, Scheduling optimization using genetic algorithms, in Handbook of Genetic Algorithms, L Davis (Ed.), Van Nostrand Reinhold, New York, 1991 18 J Váncza and A Márkus, Genetic algorithms in process planning, Computers in Industry,... and Industrial Engineering, vol 36, no 2, 1999, pp 259–280 5 L Davis, Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, 1991 6 L Davis, Applying adaptive algorithms to epistatic domains, Proceedings of the International Joint Conference of Artificial Intelligence, 1985, pp 162–164 7 D Dutta, Y.-S Kim, Y Kim, E Wang and D Yip-Hoi, Feature extraction and operation sequencing for machining... Veeramani and A Stinnes, A hybrid computer-intelligent and user-interactive process planning framework for four-axis CNC turning centers, Proceedings of the 5th Industrial Engineering Research Conference, 1996, pp 233–237 20 J.M Usher and R.O Bowden, The application of genetic algorithms to operation sequencing for use in computer-aided process planning, Computers and Industrial Engineering, vol 30, no... projection approach to machining non-coaxial parts on millturn machines, Computers in Industry, vol 39, no 2, 1999, pp 147–173 3 N.-C Chiu, Sequencing Parallel Machining Process by Soft Computing Techniques, Ph.D Dissertation, Graduate Program in Operations Research, North Carolina State University, Raleigh, Fall 1998 4 N.-C Chiu, S.-C Fang and Y.-S Lee, Sequencing parallel machining process by genetic... External Turning External Grooving Flat Milling Flat Milling Radial Center Drill Radial Center Drill Axial Drilling External Threading External Grooving Radial Drilling Radial Drilling Internal Turning Boring Internal Turning Boring Operation Number WL1 WL2 MU1 MU2 Mode Machining Time 1 1 0 1 1 1 20 2 1 0 1 1 1 5 3 1 0 1 1 1 28 4 1 0 1 1 1 10 5 1 0 1 1 1 12 6 0 1 1 1 2 22 7 0 1 1 1 2 22 8 1 0 1 1 2 5 9... quality solutions than the existing genetic algorithms in this application 8.8 Conclusion In this chapter, we presented our study of the optimal planning and sequencing for parallel machining operations The combinatorial nature of sequencing and the complication of having precedence and mode constraints make the problem difficult to solve with conventional mathematical programming methods A genetic algorithm... constraints All the scheduled operations must follow a prescribed precedence relation 2 The cutter (MU), spindle (WL) allocation constraint In the examples, both MUs are accessible to all operations Due to a practical machining process, each operation can only be performed on one specific spindle (WL) 3 The mode conflict constraint Operations with different machining modes, such as milling/drilling and... with the following guiding rules as observed in literature and practice: 1 30 to 50% of total operations are accessible to spindle 1, and the rest to spindle 2 2 Both cutters are accessible to all operations 3 30 to 50% of total operations are of one machining mode [22] Examples are randomly generated in the following manner: Step 1: Set L ϭ maximum number of levels in the precedence tree In other words,... and turning, cannot be performed on the same spindle ©2001 CRC Press LLC TABLE 8.4 Operation Times and Resource for the 18 Operations Volume MV1 MV2 MV3 MV4 MV5 MV6 MV7 MV8 MV9 MV10 MV11 MV12 MV13 MV14 MV15 MV16 MV17 MV18 Operation Type External Turning Center Drilling External Turning External Turning External Grooving Flat Milling Flat Milling Radial Center Drill Radial Center Drill Axial Drilling External... turn on turning centers, Manufacturing Engineering, May, 1990, pp 63–66 15 I.M Oliver, D.J Smith and J.R.C Holland., A study of permutation crossover operators on the traveling salesman problem, in Proceedings of the Second International Conference on Genetic Algorithms, J.J Grefenstette (Ed.), Lawrence Erlbaum Associates, Hillsdale, NJ, 1987, pp 224–230 16 X.H Shan, A.Y.C Nee and A.N Poo, Integrated . Yuan-Shin et al "Soft Computing for Optimal Planning and Sequencing of Parallel Machining Operations" Computational Intelligence in Manufacturing Handbook. machines can be found in [11, 22]: D EFINITION 1 (Workholding Location (WL)): WL refers to a workholding location on a machine tool. D EFINITION 2 (Machining