This work focuses on developing a CAPP system for mould base makers. .... The sequence of operations obtained from the process plan should not violate any ...
Int J Adv Manuf Technol (2001) 18:624–632 2001 Springer-Verlag London Limited
A Branch and Bound Algorithm Based Process-Planning System for Plastic Injection Mould Bases P. Y. Gan, K. S. Lee and Y. F. Zhang Department of Mechanical Engineering, National University of Singapore, Singapore
This paper describes the use of artificial intelligence in the process planning of plastic injection mould bases. The computer-aided process-planning system, developed for IMOLD will extract and identify the operations required for machining. These operations are considered together with their precedence constraints and the available machines before the process plan for the mould base plate is generated. The process plan is optimised by a branch and bound based algorithm. Overall machining time has been proposed as the objective function for optimisation. The ability of this algorithm to search intelligently for a feasible optimised solution is illustrated by an industrial case study. A brief comparison with a genetic algorithm based process planning system is also made. The result of this development will allow users to optimise process plans easily for any given mould base, with options to suit dynamic changes on the manufacturing shop floor. Keywords: Branch and bound algorithm; Computer-aided process-planning (CAPP); Optimisation; Plastic injection mould base
1.
Introduction
Computer-aided process planning (CAPP) has received much attention in recent years. It has long been identified as the bridge between computer-aided design (CAD) and computeraided manufacturing (CAM) systems to achieve a fully automated factory. Despite the need, insufficient CAPP systems have been developed for the different industries requiring them. This work focuses on developing a CAPP system for mould base makers. At present, most process planning for the production of mould bases is done manually. The process plans depend very much on the decisions of the process planner. The introduction of CAPP systems should ensure consistently good process plans with more comprehensive consideration of Correspondence and offprint requests to: K.-S. Lee, Department of Mechanical and Production Engineering, The National University of Singapore, 10 Kent Ridge Crescent, Singapore 119260. E-mail: mpeleeks얀nus.edu.sg
the manufacturing parameters. CAPP systems are required in industry for the following reasons: 1. Mould base companies are receiving an increasing number of requests to manufacture customised mould bases, in which additional features are added to a standard mould base. Therefore, extra operations are required to create these new features. Usually, standard mould bases have a predetermined process plan, which is optimised for the amount of machining required. As new operations are added, this optimised process plan is disrupted and manual process planning is unable to keep up with the changes. CAPP systems are able to re-optimise the process plan constantly to ensure optimality of the process plans used. 2. Overall shop floor conditions should be taken into account during process planning. Manual process planning is unable to consider all shop floor changes and apply them efficiently. Only CAPP systems allow rigorous consideration of optimisation. The goal of this work is to develop a CAPP system for process planning mould bases. IMOLD (Intelligent Mold Design) is a knowledge-based application software developed at the Department of Mechanical Engineering, NUS to facilitate plastic injection mould design. The system is an addition to IMOLD, and it process plans the mould bases created using IMOLD. Databases of machines, tools, precedence constraints, and the model part file are read together with real-time inputs of machine availability during process planning. An operator is required to enter the customised features and a process plan is then generated using some form of artificial intelligence. The branch and bound technique is the chosen search algorithm here. This paper presents the operation of a flexible CAPP system aimed at assisting process planners in more comprehensive considerations during operations planning. A brief literature survey is provided of some forms of artificial intelligence used in process planning and related work in this field. Problem formulation and the branch and bound algorithm implemented are included in the following sections. Lastly, a case study demonstrates the usability and potential of this system. A comparison between branch and bound based CAPP and genetic algorithm based CAPP is shown in a second case study.
A Branch and Bound Algorithm for Process Planning
2.
Background
Process planning is the preparation of a set of detailed instructions for all the steps required to create the final product from a piece of raw material [1]. The quality of a process plan depends very much on the skills of the process planner, as extensive knowledge of the available tools, the machines and the operations needed to create a part is required [2]. A CAPP system is therefore seen as an important tool for assisting in process planning. A CAPP system should optimise a part for all possible methods of manufacturing. However, many reported CAPP systems are not able to generate globally optimised process plans [3]. As a result, there has been an increasing use of artificial intelligence to search for global solutions [4,5]. Many of the reported methods involve only feature sequencing without including details of the operations required [6,7]. Details of the operations are necessary for allocating shop floor resources for performing the operations. The performance measure is the objective function to be maximised or minimised in all optimisation problems. For process planning, the objective is either to minimise time, cost, or sometimes both. There is a variety of work done using cost as the performance measure [8]. However, there is also a range of cost models that can be used to consider and calculate cost [9,10], but there is no universal method to account for costs. It is known that to minimise work-in-progress and the flowtime of jobs in a job shop, process plans with the least overall machining time should be used [11]. We therefore use time, as it is a more definite basis on which to quantify the quality of generated process plans. This choice is further justified, as the delivery time of mould bases is very important in mouldmaking industries. An exhaustive sequential search for a process plan solution leads to unacceptable computation times when a large number of operations are required. This work uses a branch and bound algorithm to search intelligently for the optimal or near optimal process plan. The branch and bound algorithm is a well-known search algorithm for implicit enumeration of the search space [12]. Its use as an artificial intelligence method has been reported widely in the areas of scheduling, process planning, and problem solving [13]. Some work has been reported using the branch and bound technique for process planning [14–16]. However, the nature of process plans in those works is different from the process planning required for the mould making industry. This work uses the branch and bound technique to process plan all the operations considering all tool access directions on all the available machines and tools for each mould base plate. To the best of our knowledge, such a level of consideration has not been dealt with in other related studies.
3.
operations with their associated machines to produce a process plan, which takes the least possible production time. 3.1 Process Planning Model
The information required for optimisation is extracted from mould bases modelled using IMOLD. This database of operations, machines, machining direction, tools, and precedence constraints is used for process planning together with machine availability. A schematic representation of this model is shown in Fig. 1 and the following assumptions are made: 1. Only one operation can be processed by one machine at a time. 2. All the machines can access the part at only one particular face. If machining is to be done on another face, the part has to be taken down and set-up time has to be incurred to replace the part facing a different direction. 3. Cranes or robots are available at all times. No waiting time is allowed for time wasted while waiting for machinery or labour to move the parts. Customised features require the process planner to input the necessary data manually. This is because a single feature can be created by many possible methods and this allows the process planner more control over the system. The assigned operations and the final generated process plan should satisfy the following conditions: 1. The features of the mould base plate are recognised with the operations assigned to them. The operations assigned should produce the desired shape, dimension, tolerance, and finish to the feature.
Problem Formulation
A process-planning problem is constrained to the number of operations, precedence relations, machines, machining direction, and tools. The optimised solution is a way to sequence the
625
Fig. 1. The process planning model.
626
P. Y. Gan et al.
2. The sequence of operations obtained from the process plan should not violate any precedence relations governing the operations. 3. Operations can only be carried out on available machines with the available tools, which are capable of machining that particular feature. The process plan obtained should include the number of operations to be carried out, the sequence of these operations, the machines, machining direction, and corresponding tools used. Such details are necessary so that time can be saved for operations to be carried out on a particular machine using the same set-up. For example, a blind hole must be drilled in the ⫹x direction whereas a through hole can be drilled from the ⫹x or ⫺x directions. It can be seen by considering just these two operations, that the process plan should try to perform these two operations on the same machine from the ⫹x direction so that extra set-up time is not incurred.
machining direction, but no change of machine between the two operations. It is defined as,
The Objective Function
To quantify the objective function, which is the overall machining time (OMT), we use a calculation framework similar to that used by Zhang et al. [17]. The objective function is calculated for each successive sequence of the process plans, and the sequence that yields the minimum OMT will be taken as the final process plan. There are 3 areas which contribute to the calculation of OMT, and they are machine set-up times, machining direction set-up times, and machining times. 3.2.1
Machine Set-up Time
⫻[1 ⫺ ⍀(Mi⫹1,Mi)] ⫻ MDSTIi⫹1)
冘
n⫺1
MST ⫽
(⍀(Mi⫹1,Mi) MSTIi⫹1)
(1)
(3)
MDi is the machining direction selected to process operation i and MDSTIi is the machining direction set-up time index for the machine used in operation i. MDSTIi and MSTIi are related by the difference in time to move the part between the old and new machine. MSTIi ⫽ MDSTIi ⫹ (Time to move part between machines)
(4)
As no waiting time for the cranes or robots is assumed, we take MDSTIi and MSTIi to be the same. Machining Time
Machining time MT is the actual time to perform all machining operations such as drilling, milling, or grinding on the assigned machines with the respective tools.
冘 n
MT ⫽
(MTMi,Ti)i
(5)
i⫽1
The machining time for a single operation can vary according to the assigned machine and tool selected. From this, there exists one or more possible MTi for a single operation. 3.2.4
Machine set-up time (MST) is considered whenever there is a change of machines between two operations. It is defined as the time required to move between machines and the set-up time of the mould baseplate onto the machine in a particular direction. It is defined for a total of all n operations as,
(⍀(MDi⫹1,MDi)
i⫽1
3.2.3 3.2
冘
n⫺1
MDST ⫽
Overall Machining Time
Overall machining time is the total of all machine change setup times, machining direction change set-up times and all machining times. OMTmin ⫽ (MST ⫹ MDST ⫹ MT)optimised sequence
(6)
The objective is to produce a sequence of operations that will require the least OMT.
i⫽1
where,
Table 1. Types of machines, MSTI, MDSTI and types of suitable tool.
冦
1 if i ⫽ 1
⍀(Mi⫹1,Mi) ⫽ 1 if Mi⫹1 ⫽ Mi (i ⬎ 1)
MSTI, MDSTI (min)
Tool types Suitable (T)
1. FARTWARTH VBM-5VL vertical surface miller 2. HAMAI-4DS horizontal gang surface miller 3. Manual chamfering machine 4. OKAMATO grinding machine 5. HUACHONG grinding machine 6. Radial drilling machine 7. MORI SEIKI MV65-50 vertical CNC milling 8. MAKINO MC98 vertical CNC milling
5, 5
1
6, 6
1
2, 2 4, 4 3, 3
5 2 2
2, 2 3, 3
4, 6 1,3,4,6,7,8,9
4, 4
1,3,4,6,7,8,9
(2)
0 if Mi⫹1 ⫽ Mi (i ⬎ 1)
Mi refers to the machine selected to process operation i, MSTIi refers to the machine set-up time index for the machine used in operation i, and n is the number of operations selected for the whole series of operations identified from the mould features. 3.2.2
Machines (M)
Machining Direction Set-up Time
Machining direction set-up time (MDST) is the time required to change the orientation of the mould baseplate on the same machine. MDST is calculated only when there is a change in
1. Face mill cutter; 2. Grinding wheel; 3. End mill; 4. NC spot drill; 5. Edge-grinding wheel; 6. Drill; 7. Reamer; 8. Boring tool; 9. Tap drill
A Branch and Bound Algorithm for Process Planning
627
Fig. 2. Customised core plate part with 11 additional operations.
4.
Branch and Bound Algorithm
A branch and bound algorithm was chosen as the search algorithm to be used as it has a proven track record in this area. Its robust and enumerative nature should yield an optimal or near optimal solution. The search space of most branch and bound algorithms is inherently large and computationally complex. This means that effective heuristic and efficient lower bound calculations are important for decreasing search space to help arrive at a good solution earlier. 4.1
Implemented Algorithm
The algorithm starts by sequencing one of the available operations and this is called branching the node. By branching a node, a new node is formed and the node is kept in the search space if its lower bound value is better than the upper bound value or vice versa. A heuristic is used to schedule the remaining operations for every node and the best solution found so far will be recorded as the upper bound value. The next node to be branched is the one with the best lower bound value, as it is deemed to have the best potential. As more nodes are branched, more and more operations will be sequenced, and the upper bound value will become smaller and smaller. The
algorithm stops when the upper bound value is smaller than all lower bound values and the process plan is the sequence that yields the upper bound solution. To balance the quality of the solution and the computation time, a termination condition is set such that the program will exit when there is no more improvement to the upper bound value after a certain number of cycles (Xc). For most problems, it was found that a value of about 10 000 for Xc will yield near optimal solutions while giving a computation time of less than 10 min. To explain the branch and bound algorithm better, we use the conventions of the A* algorithm. The mathematical representation of the lower bound function f(Sa) for sequence Sa is defined as f(Sa) ⫽ g(Sa) ⫹ h(Sa)
(7)
where g(Sa) is the cost incurred to reach Sa and h(Sa) is a function that calculates the estimated cost of reaching the final schedule. When all the operations are sequenced, h(Sk(final)) ⫽ 0, the objective function can then be calculated as f(Sk(final)) ⫽ g(Sk(final)). The implemented branch and bound algorithm can be briefly summarised as follows: begin Step 1. S0 ← Initial situation (no operation sequenced) Open ← S0
628
P. Y. Gan et al.
do Step 2. Choose in Open, a node with sequence Sa, which has the best lower bound Open ← Open ⫺ Sa Step 3. Sequence all the possibilities starting from Sa for each possibility Sk Step 4. Use a heuristic to schedule the remaining operations Sk(final) objective function ⫽ g(Sk(final)) Step 5. Update the upper bound value if g(Sk(final)) is better then upper bound ⫽ f(Sk(final)) Step 6. Calculated the lower bound for each possibility k, f(Sk) ⫽ g(Sk) ⫹ h(Sk) Step 7. Include branched node into search space if f(Sk) better than upper bound then Open ← Open ⫹ Sk end Step 8. Discard all nodes in Open with f(S) worse than, or equal to, upper bound while Termination condition ⫽ ⭋ OR Open ⫽ ⭋ end 4.2 Constant Machine / Machining Direction Heuristic
A good heuristic will help to generate good solutions as early as possible. When good solutions are generated early, the upper bound value will become lower and has a higher chance of rejecting unpromising nodes with higher lower bound values. This will reduce the search space so that time can be spent more efficiently on nodes, which might give a better solution than the current best. However, when a heuristic becomes too complex and computationally intensive, it causes each branch to take a much longer time and can significantly increase the overall running time. There is thus a need to use a simple and effective heuristic. When a process planner plans for a particular job, operations that require both the same machine and machining direction will usually be grouped and carried out together. To build on that behaviour, the heuristic will keep looking for the subsequent operation that has the same machine and machining direction as the previous one. The heuristic can be briefly summarised as: do Step 1. To determine operation i⫹1, for all other operations, which can be processed using, machine Mi choose the operation with a corresponding machine and machining direction which will yield the lowest added time (AT ⫽ MDSTi⫹1 ⫹ MSTi⫹1 ⫹ MTi⫹1) Step 2. if no operation is chosen, i.e. none of the remaining available operations can be processed by machine Mi, choose the operation with the lowest AT while there are still unassigned operations, i ⫽ i ⫹ 1 end
The heuristic will choose an available operation that has the same machine and machining direction as the previous operation if the time is shorter. In cases where time is saved by carrying out that operation on a faster machine, the faster machine is chosen. By having a heuristic like this, the process plan will not always force operations to be carried out on the same machine and in the same machining direction but rather allow different machines to be used if time can be saved. 4.3 Lower Bound Calculation
The lower bound value is an estimate of the best possible solution that can arise from the current sequence of a node. A simple way of calculating the lower bound would be to add up the minimum process times for all remaining operations. However, that will underestimate the lower bound value of that node as no set-up time is included in the estimate. Underestimating lower bound values causes many unpromising nodes to be branched and hence wastes time. To obtain best possible solution, we included the set-up when necessary into the lower bound calculations. It is found that by including setup times, the search space is reduced significantly especially for large problems.
5. Results and Discussion The algorithm is programmed in the C language and was run on a workstation. For the case study, we used the available machines from a local mould base maker as the pool of machines. Details of the machine database are shown in Table 1. 5.1 Standard and Customised Mould Base Plates
Figure 2 shows a Hoppt 3 plate-D type customised mould baseplate created using IMOLD. The operations required to produce the mould baseplate are recorded in a database, as shown in Table 2. The CAPP system is used to process plan the mould baseplate for a few scenarios to show the versatility of the system. Xc was set to 10 000 and the scenarios are as follows: 1. Standard mould baseplate (up to operation 29). 2. Standard mould baseplate when machine 7 is unavailable. 3. Customised mould baseplate (all operations). Tables 3, 4, and 5 show the process plans for the three scenarios. From the solutions, it can be seen that the generated process plans try to maintain the same machine and machining direction where it is possible to save machining time. Where machine 7 is unavailable, the process plan will continue without the use of this machine. It can also be observed that as the number of available machines decreases, OMT increases, as shown in Table 4. The increase in OMT is accounted for by a reduction in search space when the number of machines decreases. When extra operations are added, the process plan includes and fits the operations in the best possible way so
A Branch and Bound Algorithm for Process Planning
629
Table 2. Operations identified for a Hoppt 3 plate-D type customised mould base in Fig. 3. Features
Operations (OPR)
Predecessors
F1 machining to thickness F2 machining to thickness F3 machining side F4 machining side F5 machining side F6 machining side F7 edge chamfering F8 cavity F9 cavity F10 machining of top face F11 machining of bottom
1 Milling 2 Milling 3 Milling 4 Milling 5 Milling 6 Milling 7 Chamfer grinding 1, 2, 3, 4, 8 Rough milling 1, 2, 3, 4, 9 Fine milling 8 10 Grinding 8 11 Grinding 1, 2 12 U-drillling 17 F12 support pin holes (⫻ 4) 13 Reaming 12 14 Boring 13 15 U-drilling 3, 4, 5, 6 F13 guide pin holes (⫻ 4) 16 Reaming 8, 15 17 Boring 16 F14 return pin holes (⫻ 4) 18 U-drilling 3, 4, 5, 6 19 Boring 18 F16 screw bolt hole (⫻ 4) 20 Spot drilling 1, 2, 3, 4, 21 Drilling 22 F18 hole thread – F16 (⫻ 4) 22 Tapping 23 F19 hole thread – F22 23 Tapping 31 F20 hole thread – F23 24 Tapping 33 F21 counterbore holes (⫻ 4) 25 Counterbore drilling 15 F22 eye bolt hole 26 Spot drilling 1, 2, 3, 4, 27 Drilling 30 F23 eye bolt hole 28 Spot drilling 1, 2, 3, 4, 29 Drilling 32 Additional features for core plate (CB) customisation shown in Fig. 4 F24 cooling holes (⫻ 2) 30 Drilling 5, 6, 11 F25 cooling holes (⫻ 2) 31 Milling 3, 4, 11 F26 cooling holes (⫻ 2) 32 Drilling 5, 6, 11 F27 cooling holes (⫻ 2) 33 Drilling 8 F28 inlet/outlet holes (⫻ 4) 34 Counterbore drilling 34, 36 F29 hole threads (⫻ 4) 35 Tapping 38 F30 plug holes (⫻ 2) 36 Counterbore drilling 35 F31 ejector pin holes (⫻ 3) 37 Drilling 9 F32 slider slot 38 Milling 1, 2, 3, 4, F33 slider slot hole 39 Drilling 9, 42 F34 interlock holes (⫻ 2) 40 Milling 9, 10, 11
5, 6 5, 6
5, 6
5, 6 5, 6
5, 6
Machines (M)
Tool Types (T)
Directions (MD)
1, 1, 2, 2, 2, 2, 3 7, 7, 4, 4, 6, 7, 7, 7, 7, 7, 6, 7, 6, 6, 6, 7, 7, 7, 6, 6, 6, 6,
8 8 5 5 7, 8 8 8 8 8 7, 8 7, 7, 7, 8 8 8 7, 7, 7, 7,
1 1 1 1 1 1 5 3 3 2 2 6 7 8 6 7 8 6 8 4 6 9 9 9 3 4 6 4 6
⫹z ⫺z ⫹x ⫺x ⫹y ⫺y All edges ⫹z ⫹z ⫹z ⫺z ⫹z,⫺z ⫹z,⫺z ⫹z,⫺z ⫹z,⫺z ⫹z,⫺z ⫹z,⫺z ⫹z,⫺z ⫹z,⫺z ⫺z ⫺z ⫺z ⫹x ⫺x ⫺z ⫹x ⫹x ⫺x ⫺x
6, 6, 6, 6, 6, 7, 6, 7, 7, 7, 7,
7, 7, 7, 7, 7, 8 7, 8 8 8 8
6 6 6 6 3 9 3 6 3 6 3
⫹x ⫺y ⫹x ⫹z ⫹x ⫹x ⫺y ⫹z,⫺z ⫹y, ⫹z ⫹y ⫹z
7, 7, 7, 7, 7, 7,
8 8 8 8 8 8
8
8 8 8 8
8 8 8 8 8 8 8 8 8 8
Table 3. Details of best process plan found for standard mould base core plate. Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
OPR M MD T
5 7 ⫹y 1
6 7 ⫺y 1
1 7 ⫹z 1
2 7 ⫺z 1
3 7 ⫹x 1
4 8 ⫺x 1
28 8 ⫺x 4
7 3 AE* 5
18 7 ⫹z 6
15 7 ⫹z 6
8 7 ⫹z 3
9 7 ⫹z 3
19 7 ⫹z 8
16 7 ⫹z 7
17 7 ⫹z 8
Number
16
17
18
19
20
21
22
23
24
25
26
27
28
29
OPR M MD T
12 7 ⫹z 6
13 7 ⫹z 7
26 7 ⫹x 4
27 7 ⫹x 6
23 7 ⫹x 9
29 7 ⫺x 6
24 7 ⫺x 9
25 7 ⫺z 3
20 7 ⫺z 4
21 7 ⫺z 6
22 7 ⫺z 9
14 7 ⫺z 8
10 5 ⫹z 2
11 5 ⫺z 2
Number of nodes branched ⫽ 10 000 (computation time ⬇ 2 min 54 s) Number of M and MD changes ⫽ 13 OMT ⫽ 94.81 min *AE: all edges
630
P. Y. Gan et al.
Table 4. Details of best process plan found for standard mould base core plate. Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
OPR M MD T
4 8 ⫺x 1
6 8 ⫺y 1
1 8 ⫹z 1
5 8 ⫹y 1
2 8 ⫺z 1
3 8 ⫹x 1
26 8 ⫹x 4
27 8 ⫹x 6
23 8 ⫹x 9
7 3 AE* 5
18 8 ⫹z 6
8 8 ⫹z 3
19 8 ⫹z 8
15 8 ⫹z 6
9 8 ⫹z 3
Number
16
17
18
19
20
21
22
23
24
25
26
27
28
29
OPR M MD T
16 8 ⫹z 7
25 8 ⫺z 3
20 8 ⫺z 4
17 8 ⫺z 8
12 8 ⫺z 6
13 8 ⫺z 7
21 8 ⫺z 6
22 8 ⫺z 9
14 8 ⫺z 8
28 6 ⫺x 4
29 6 ⫺x 6
24 8 ⫺x 9
10 5 ⫹z 2
11 5 ⫺z 2
Number of nodes branched ⫽ 10 000 (computation time ⬇ 2 min 50 s) Number of M and MD changes ⫽ 13 OMT ⫽ 99.89 min *AE: all edges
Table 5. Details of best process plan found for customised mould base core plate. Number 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
6 7 ⫺y 1
36 7 ⫺y 3
3 7 ⫹x 1
4 7 ⫺x 1
5 7 ⫹y 1
1 7 ⫹z 1
18 7 ⫹z 6
19 7 ⫹z 8
15 7 ⫹z 6
25 7 ⫺z 3
2 7 ⫺z 1
20 7 ⫺z 4
21 7 ⫺z 6
22 7 ⫺z 9
26 6 ⫹x 4
34 6 ⫹x 3
27 6 ⫹x 6
28 6 ⫺x 4
29 6 ⫺x 6
23 7 ⫹x 9
Number 21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
OPR M MD T
24 7 ⫺x 9
11 5 ⫺z 2
32 6 ⫹x 6
30 6 ⫹x 6
31 6 ⫺x 6
8 7 ⫹z 3
33 7 ⫹z 6
9 7 ⫹z 3
37 7 ⫹z 6
16 7 ⫹z 7
17 7 ⫹z 8
12 7 ⫹z 6
10 5 ⫹z 2
40 7 ⫹z 3
13 7 ⫹z 7
14 7 ⫹z 8
38 7 ⫹z 3
39 7 ⫹y 6
7 3 AE* 5
OPR M MD T
35 7 ⫹x 9
Number of nodes branched ⫽ 10 000 (computation time ⬇ 8 min 9 s) Number of M and MD changes ⫽ 18 MT ⫽ 74.37 min OMT ⫽ 123.47 min *AE: all edges
Table 6. Details of best process plan found for customised mould base core plate using genetic algorithm. Number 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
6 7 ⫺y 1
4 7 ⫺x 1
5 7 ⫹y 1
1 7 ⫹z 1
3 7 ⫹x 1
15 7 ⫺z 5
2 7 ⫺z 1
22 7 ⫺z 4
23 7 ⫺z 6
29 7 ⫺z 3
18 7 ⫺z 6
26 7 ⫺z 9
8 7 ⫹z 3
10 4 ⫹z 2
11 4 ⫺z 2
36 7 ⫹x 6
34 7 ⫹x 6
35 7 ⫺y 6
40 7 ⫺y 3
37 7 ⫹z 6
Number 21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
OPR M MD T
9 7 ⫹z 3
41 7 ⫹z 6
42 7 ⫹y 3
43 7 ⫹y 6
32 7 ⫺x 4
33 7 ⫺x 6
28 7 ⫺x 9
30 7 ⫹x 4
38 7 ⫹x 3
31 7 ⫹x 6
39 7 ⫹x 9
27 7 ⫹x 9
44 7 ⫹z 3
16 7 ⫹z 7
17 7 ⫹z 8
12 7 ⫹z 6
13 7 ⫹z 7
14 7 ⫹z 8
7 3 AE* 5
OPR M MD T
19 7 ⫹z 8
Number of M and MD changes ⫽ 17 MT ⫽ 72.45 min OMT ⫽ 124.45 min *AE: all edges
A Branch and Bound Algorithm for Process Planning
that the total number of machines and machining direction changes is minimised, as shown in Table 5. Attempts to modify manually the generated process plan to achieve better results have been futile. This means that the obtained process plans are at least near the optimal. 5.2 Comparison with Genetic Algorithm Based Process Planner
To further justify the results obtained, a genetic algorithm (GA) based CAPP is used to run parallel to the branch and bound (B&B) based system. The GA based system developed by Hung et al.[18], was used to solve exactly the same process planning problem. It is found that the B&B system always finds solutions, which are as good as, if not better than, the GA method within a computation time of 60 min. The solutions of the GA based process planner for scenario 3 in Section 5.1 are shown in Table 6. It should be noted that the GA based system achieves different results each time it runs, and the result shown in Table 6 is randomly chosen from a series of runs. A comparison is also made for the generation of the best solutions between the two methods. The generation of solutions is important as the attainment of good solutions early can give the process planner the option to terminate the program earlier if optimality or near optimality is not critical. Figure 3 shows the trend of the best solutions for the two methods with respect to their computation time. This comparison is far from complete, but based on the cases tested, it is clearly shown that both systems are able to obtain very similar near optimal results. The process plan obtained by the GA based system requires fewer set-ups than the B&B based system. However, the B&B system manages to find machines, which require fewer set-up times, and thus the OMT obtained is similar. From Fig. 3, the B&B based system tends to obtain a good solution at a faster rate than the GA based one and this trend is determined largely by the effectiveness of the heuristic.
6.
Conclusions
This paper illustrates a branch and bound based CAPP system. It considers operation sequencing, machines, machining direc-
Fig. 3. Generation of solutions for branch and bound and genetic algorithm based systems.
631
tions, and tools, and is able to provide a detailed process plan. It can be customised easily to account for tool change time and to accommodate different environments. The system offers a comprehensive shop floor consideration in its optimisation of overall machining time. The case study has achieved good process plans that are capable of readjusting operation sequences to accommodate any shop floor changes. The computation times required to achieve the solution for actual mould baseplates are found to be reasonable for process planning purposes. Comparison with the GA based system has proved that the branch and bound based system is able to match the GA based system for most problems, and obtains good solutions faster. The module offers an approach to suit dynamic changes and is more adaptable than approaches which assume a fixed shop floor environment. Development of the CAPP system will allow quantitative comparisons to be made between different generated process plans and help to evaluate manufacturing processes better. In the future, other performance measures such as costs and also the use of this module for more complex parts will be explored. It could ultimately be coupled to a feature recognition artificial intelligence network to enable autogeneration of operations, tools, and other information required for process planning.
References 1. C. B. Besant and C. W. K. Lui, Computer-Aided Design and Manufacture, 3rd edn, Ellis Horwood, 1986. 2. T. C. Chang, Expert Process Planning for Manufacturing, AddisonWesley, 1990. 3. M. C. Kayacan, I. H. Filiz, A. I. So¨ nmez, A. Baykasoglu and T. Dereli. “OPPS-ROT: an optimised process planning system for rotational parts”, Computers in Industry, 32, pp. 181–95, 1996. 4. D. T. Pham and P. T. N. Pham, “Artificial intelligence in engineering”, International Journal of Machine Tools and Manufacture, 39, pp. 937–949, 1999. 5. C. Leung Horris, “Annotated bibliography on computer-aided process planning”, International Journal of Manufacturing Technology”, 12, pp. 309–329, 1996. 6. Jo´ zsef Va´ ncza and Andra´ s Ma´ rkus, “Experiments with the integration of reasoning, optimisation and generalisation in process planning”, Advances in Engineering Software, 25, pp. 29–39, 1996. 7. Philip Husbands, Frank Mill and Stephen Warrington, “Generating optimal process plans from first principles”, in Expert Systems for Management and Engineering, Chapter 8. Balagurusamy and Howe (Ed), Ellis Horwood Publishers, 1990. 8. D. Kiritsis, K.-P. Neuendorf and P. Xirouchakis. “Petri net techniques for process planning cost estimation”, Advances in Engineering Software, 30(6), pp. 375–387, June 1999. 9. C. Ou-Yang and T. S. Lin, Developing an integrated framework for feature-based early manufacturing cost estimation. International Journal of Advanced Manufacturing Technology, 13(9) pp. 618– 629, 1997. 10. A. Liebers and H. J. J. Kals, Cost decision support in product design, CIRP Annals, 46(1), pp. 107–112, 1997. 11. K. R. Baker, Introduction to Sequencing and Scheduling, Wiley, New York, 1974. 12. J. Blazewicz, K. H. Ecker, G. Schmidt and J. Weglarz, Scheduling in Computer and Manufacturing Systems, 2nd rev. edn, SpringerVerlag, 1994.
632
P. Y. Gan et al.
13. J. L. Laurilere, “Problem solving and artificial intelligence”, Prentice Hall, New York, 1990. 14. Y. M. Kyoung, K. K. Cho and C. S. Jun, “Optimal tool selection for pocket machining in process planning”, Computers and Industrial Engineering, 33(3–4), pp. 505–508, December 1997. 15. J. Duflou, J. -P. Kruth and D. Van Oudheusden, “Algorithms for the design verification and automatic process planning for bent sheet metal parts”, CIRP Annals, 48(1), pp. 405–408, 1999. 16. J. R. Duflou, D. Van Oudheusden, J.-P. Kruth and D. Cattrysse, “Methods for the sequencing of sheet metal bending operations”,
International Journal of Production Research, 37(14), pp. 3185– 3202, 1999. 17. F. Zhang, Y. F. Zhang and A. Y. C. Nee, “Using genetic algorithms in process planning for job shop machining”, IEEE Transactions on Evolutionary Computation, 1(4), pp. 278–289, November 1997. 18. C. Y. Hung, K. S. Lee, M. Rahman and Y. F. Zhang, “Mold base process planning by genetic algorithm” 1st International Conference on Die and Mold Technology, pp. 233–243 Beijing, P.R. China, 26–28 July 2000.