Expert self-organizing neural network for the design of cellular manufacturing systems

Expert self-organizing neural network for the design of cellular manufacturing systems

Rao, Harish A

Design of cellular manufacturing systems offers some unique challenges because of the complexity and number of issues that need to be addressed. Because the design involves conversion of a firm’s manufacturing facility into a cellular manufacturing layout or development of a new cellular manufacturing layout, it involves a number of objectives/constraints that need to be considered. The machine and component groupings that are formed as a result of the application of group technology have to be achieved under the practical constraints imposed by available resources.

PROBLEM DESCRIPTION

Identification of part and machine families, which serve as a basis for the development of a more complete system, is the first step toward application of group technology to manufacturing systems design. A method of identifying part and machine families is the use of the information in a production flow analysis (PFA) chart, which is essentially a binary matrix providing information about the processing requirements of the parts. The closer the assumptions made at this stage are to reality, the better the initial cell design; hence, it is important that some of the assumptions made–such as capacity available on each machine, processing times, number of duplicate machines of each type actually available for the design, layout restrictions (ability to relocate a particular machine or facility), number and type of duplicate machines the firm is prepared buy, and so on–be some of the important factors to consider while arriving at an initial cell design. The more robust/or the more bound the initial cell design is by such practical constraints, the lesser the need for extensive manual intervention during implementation.

LITERATURE REVIEW

The idea of clustering was generated by a mathematical paper that described an approach to grouping tombs in a cemetery by time period according to the presence or absence of date-significant features. Its application to grouping in the factory was described by McAuley.(1) The approaches presented after this first attempt have used a variety of methodologies to solve the machine-component grouping problem. King,(2) King and Nakornchai,(3) Kusiak and Chow,(4) Kumar and Vannelli,(5) and Gu(6) are some of the authors who have developed clustering algorithms that generate desegregated cell clusters with a minimal number of bottleneck elements/parts. Some of the other methods for standard family formation are Rajagopalan and Batra,(7) Askin and Subramanian,(8) Ballakur and Stuedel,(9) and Gunasingh.(10)

More recent papers by Okogbaa et al.,(11) Nandkeolyar and Christy,(12) and Burbidge(13) have dealt with a variety of other issues arising out of the design of cellular manufacturing systems (CMSs). Kaparthi and Suresh,(14) Rao and Gu,(15) Malave and Ramachandran,(16) and Moon and Choi(17) have exploited the spontaneous clustering ability of neural networks to form part/machine families using the information provided in the PFA chart.

The use of artificial neural networks (ANNs) to find innovative solutions to manufacturing problems offers new opportunities. Because they are biologically inspired simulations, neural networks offer some unique features that can be applied to a wide variety of problems. Like the human brain, they are composed of elementary processing units called nodes or processing elements that perform in a manner analogous to the most elementary function of the biological neuron. ANNs, formed of these elementary neuron-like units, are able to accomplish some intriguing functions, such as learning from previous experience, self organizing, adapting to changing inputs, and other similar functions reminiscent of the human brain.

Of the different types of ANNs available, the ones that are more relevant to solve the part/machine grouping problem are self-organizing neural networks (SONNs). They are of particular interest because they have the ability to cluster and classify patterns with little training and supervision. This ability of SONNs is particularly useful in solving machine-component grouping problems because they offer a situation where very little data is available for training a neural network.

This paper discusses the development and application of a multilayered self-organizing neural network that can incorporate and solve multiobjective, multiconstraint machine-component grouping problems. The objective here is to develop a CMS design tool that not only exploits the computational capability of neural networks to solve large industrial problems but also facilitates the inclusion of practical constraints during the cell design process. The method also aims at providing a robust initial cell design that can be the basis for the development of a complete CMS.

NEURAL NETWORKS

Self-organizing neural networks belong to that class of neural networks that can classify a given set of input patterns with little training or supervision. It is a feature that is particularly important when the solution to a classification problem is unknown, thereby making it difficult to impart any prior training. Application of group technology principles for CMS design presents us with a similar situation that calls for the identification of similar patterns from a given data set (PFA chart).

Because they are biologically inspired simulations of the neuron, ANNs are composed of dense interconnections of simple computational elements. In self-organizing networks, the spontaneous ability to cluster a given set of patterns can be attributed to the interconnections and weights associated with it. Self-organizing networks form clusters, without the need for extensive training, by accepting an input vector (binary or real valued) and classifying it into one of a number of categories depending on which of the several stored patterns it most resembles.

In general, the neural network architecture consists of an input layer to receive the data and an output layer to present the results of its operation. Layers that lie in between are called hidden layers. Nodes in each of the layers are interconnected depending on the topology of the network. Associated with each interconnection is a dynamic value called the connection weight. Activation or deactivation of a node depends on the connection weights and threshold functions that manipulate the node output.

MODELING THE NEURAL NETWORK

Clustering similar processing plans, represented by a PFA chart, is quite different from clustering in pattern recognition or image analysis. Identification and grouping of parts with similar processing plans entails more implications than can be perceived from a simple clustering operation. Usually a number of practical limitations and objectives needs to be considered before grouping machines and facilities to realize the advantages of group technology. Therefore, to give a degree of practicality to the cell design, it is imperative to impose certain constraints during the clustering process to yield solutions that can be implemented within the confines of the specified limitations. Our objective while designing this network is to build a mechanism embedded within the network structure to impose these constraints.

A node in an ANN can act as a controlling device that can alter its output according to the threshold function embedded in it; therefore, if we can formulate our objectives in the form of threshold functions that can activate the nodes suitably according to the inputs received, then it is possible to guide the cell design process based on preconceived goals/constraints. Incorporation of a hidden layer of nodes with threshold functions can accomplish this objective-oriented clustering in the network. The network is designed such that each node in the hidden layer consists of two threshold functions that activate/deactivate the node based on the computed values of the threshold functions. One function deals with the computation of the number of machines of each type currently being used in the cell design process, and the other deals with the calculation of the loading on the machines. As a consequence of these threshold functions, the middle (hidden) layer nodes also aid in the creation of new cells or the addition of new or duplicate machines to the existing machine cells based on the actual availability of duplicate machines.

DESCRIPTION OF THREE-LAYER NEURAL NETWORK

The neural network, as illustrated in Figure 1, has three layers: an input layer, a middle (hidden) layer, and an output layer.(Figure 1 omitted) The number of types of machines that are involved in the cell design process determines the number of nodes in the input and middle layer nodes, and the number of machine cells needed, as required by the user, determines the number of nodes in the output layer; therefore, if the number of nodes in the output layer is N and the number of machines involved in the cell design process is m, then the total number of connections in the network is 3 X (N X m) + m (active and inactive connections). The network has both feed-forward and feedback connections. Each node in the network is connected to nodes in every other layer. Extensive feedback is used between the hidden layer nodes and the output nodes and between the input and output layer nodes as well. Feedback connections not only transfer information but also act as inhibitory feedback links that help impose the practical constraints involved in the cell design process. Each node in the middle layer is representative of each machine type used in the cell design process. These nodes carry the threshold functions that compute the current number of machines of each type in the cell design and the loading on the machines in each cell.

NETWORK OPERATION

The network first initializes the weights to adapt to the disparate cluster centers identified by the cluster center seeking algorithm. After application of new input patterns, the network tries to classify them based on similarity with the existing output exemplars (cluster centers), but subject to the specified vigilance threshold. Once the input pattern passes the vigilance test, the input pattern is ready for the next threshold test. The search phase is activated if the pattern fails vigilance test I. If the pattern passes vigilance test I, then it has to further undergo two other vigilance tests, II and III. These two tests ensure machine and capacity availability. The following discussion shows how the interconnections formed between the nodes perform vigilance tests II and III.

The new exemplar (which is essentially the top-down weight) after the comparison phase reflects the active and inactive connections between the output and middle layers. Top-down weights (t sub ij ) with the value 1 are considered as active connections, and a t sub ij with value 0 is considered as an inactive connection; therefore, as and when inputs pass the first vigilance test, connections keep forming between the output nodes (depending on the best match) and each of the middle layer nodes (where each node represents a machine). By keeping an account of the number of connections formed, it is possible to identify the number of machines of each type already in use in the cell design process. Also, by limiting the number of duplicate machines available, it is possible to guide the cell design process as each pattern is being input into the network.

Similarly, it is possible to exploit the connections formed to determine the current loading on each of the machines. This is accomplished as follows: When an input pattern passes vigilance test II, it is in a sense authenticating the connections established during vigilance test I. The connections that are formed when a pattern passes vigilance test II indicate not only the assignment a particular machine to a machine cell but also the processing requirement of a particular component; therefore, if we know the processing time of the component, then it is possible to calculate the loading on each of the machines by finding the number of connections formed between the middle layer nodes and the output exemplars. This is given by the following equation:

(1)

(Equation 1 omitted)

(2)

H sub j

where P sub ij is the time required for processing the ith component on the jth machine, H sub j is the sum of the loading on the jth machine, and e sub j is the capacity limit of the jth machine. Therefore, depending on the available capacity on each of the machines, it is possible to determine the feasibility (by capacity limitation test) of a particular part assignment.

We have examined what happens when a pattern passes the vigilance test, but when a pattern fails to pass vigilance tests II and III then the following can be inferred:

1. A particular duplicate machine is not available for clustering or

2. A particular machine has inadequate capacity

To make the clustering process more efficient, the network is so designed that it remains “turned off” to all patterns it has previously rejected at a particular vigilance threshold. This unique feature of the network is made possible by introducing an inhibitory bottom-up connection that is large enough to more than nullify the other connection weights and thus make sure that the node fails all future matching tests. These inhibitions are applied when a pattern fails vigilance tests II and III. Or, in other words, dynamic inhibition is expressed by the following:

(3)

b sub ij (tau + 1) = -eta

where eta is the inhibition factor.

Therefore, it can be seen that negative feedback is a key factor that helps impose practical constraints during the cell design process. Final output of the network is a formed list of part and machine families and a list of exceptional components. These exceptional components generated depend on the following variables:

1. Vigilance threshold (rho)

2. Practical constraints imposed on the duplicate machine availability and the capacity available on the machines

As we have seen, the whole process starts by fixing rho. This value of rho is changed after an iteration to explore alternate assignments for the exceptional components. The value of rho is altered until the change in rho makes no difference to the exceptional part assignments. The proposed algorithm is shown in the Appendix, and the interaction between the neural network and the expert system is shown in Figure 2.(Figure 2 omitted)

DESCRIPTION OF EXPERT SYSTEM

The cell design process presented in this paper goes a step further by trying to find alternate assignments for the exceptional components using alternate process plans. An expert system was built to assign the exceptional components to cells based on certain criteria. The expert system also interacts with the neural network by using the output from the neural network to find alternate assignments for the exceptional components. It then feeds information back to the neural network to keep it updated on any alternate assignments it succeeds in accomplishing. Output of the neural network includes the following:

1. Current loading on the machines in the different cells

2. Machine cells and component families

3. Exceptional parts that cannot be accommodated by the current machine cells because of the nonavailability of machines and loading capacity

The expert system evaluates the best process plan based on the above information and other information, such as alternate process plans, layout, process time, and setup time for the alternate process plans, all of which are provided by the user as data stored in databases. The expert system uses the forward-chaining technique to evaluate the alternate process plans. The expert system has a total of 16 rules.

KNOWLEDGE BASE

The knowledge base consists of production rules that have been formulated based on the information available in literature. These rules are basically heuristic in nature and aid in determining the best alternate process plan for the exceptional component. Each rule in the knowledge base has the following format:

(rule Id (IF conditions THEN actions))

Each condition in the rule has one of the following three forms:

1. A straightforward checking of values in the database

2. Procedure calls to calculate the values required

3. A combination of (1) and (2)

Sample production rules that have been implemented in the knowledge base are listed below as follows:

(rule 2 (IF the component is an exceptional part AND has alternate process plans THEN set the process in motion))

(rule 3 (IF the alternate process plan facilitates assignment of a part to another cell THEN assign the part subject to Constraint CI))

Constraint CI (Procedure call to ensure the availability of sufficient capacities on the machines in a cell)

DATABASE

The database contains information about the current problem. It is furnished by the clustering algorithm and the user. Information available in the database is listed below as follows:

1. List of exceptional parts

2. Alternate process plans for exceptional parts

3. Layout information

4. Setup time on each machine

5. Processing time for alternate process plans

6. Setup cost

Exceptional parts, machine cells, and component families are output by the neural network. This information provided by the neural network varies depending on the following:

1. Weight adaptation factor

2. Vigilance threshold

3. Constraints on duplicate machines available and capacity restraints

Layout information contains data about the distance between machines in the actual layout. This information is provided by the user. The user also provides alternate process plans and related processing and setup time.

INFERENCE ENGINE

The inference engine deals with the evaluation of different process plans, consequently determining the best process plan. An exceptional part is the primary input to the expert system. The expert system first examines whether any process plans are available for the exceptional part. If available, the system then proceeds to the next step, which is the determination of the feasibility of each process plan. If no process plans are available, it informs the user of the status. In such a case, the alternatives are left to the user.

Capacity verification of the process plans is carried out to determine whether the process plans can actually be accommodated on the given set of machines if any are determined as the best process plan. If a process plan fails this test, it is not considered for further evaluation. If it passes this test, it then undergoes the cost evaluation.

COST EVALUATION

Important costs that are taken into consideration for the evaluation of the process plans are the following:

1. Material handling cost

2. Processing cost

3. Setup cost

It is assumed that each process plan is accompanied by the corresponding processing cost and setup cost. Material handling cost is calculated based on an assumed layout that is determined by the cells configured by the neural network subject to the constraints specified. Material handling cost is the product of the total distance (d) a component will have to travel according to a particular process plan and a constant material handling cost (M sub c ). Processing cost is obtained by multiplying the processing time (P sub t ) on each of the machines by the corresponding processing cost on each of the machines. Setup cost (S sub c ), which is machine dependent, is input by the user. Therefore, the total cost is given by the following:

(4)

T sub c = d * M sub c + P sub t * P sub c + S sub c

where

T sub c = total cost d = distance between machines M sub c = material handling cost P sub t = processing time P sub c = processing cost S sub c = setup cost

EVALUATION PROCEDURE

Each process plan is evaluated based on a number of factors. The evaluation procedure starts by answering the very basic question: Are any process plans available for the exceptional part in question? If no process plans are available for the exceptional part, then the expert system informs the user about the situation; if otherwise, then each process plan goes through an evaluation procedure. First a feasibility check is carried out to determine whether there is enough capacity available for the process plan in question to be accommodated on the given set of machines. It is at this stage that the current machine loading obtained from the neural network is used.

CALCULATION OF MATERIAL HANDLING COST

Material handling cost is calculated by assuming a layout of the machines grouped together by the neural network. The distance between the machines required for the calculation of the material handling cost is randomly generated in this example; however, in a real case such data is available. Consider an exceptional component with the following process plan: [1 0 1 1 1 0 1 0 0 1]. This process plan indicates that the exceptional part needs processing machines [1 3 4 5 7 10]. This is assumed to be the processing sequence of the component as well. If we assume that none of these machines are duplicated, then the calculation of the total distance and hence the material handling cost is straightforward. On the other hand, if any of the machines are duplicated, then we need to find the machine cell in which the machine is located and hence determine the handling distance. For example, if machine 4 is a duplicate and if both the machines have enough capacity to process the part, then we need to find the handling distances for each of the alternatives and finally determine the total handling distance and cost.

PROCESSING COST

Processing cost for each exceptional part is calculated as the product of the processing time and the relevant cost on each of those machines as specified by the user. Setup time (for a particular part on each of the machines specified by the process plan) is used to calculate setup cost. In our case, setup time and processing time for each processing plan are randomly generated numbers. Therefore, the total cost for processing each process plan by intercell movement is given by the following:

Total cost = [material handling cost + processing cost + setup cost]

CASE STUDY

In the following discussion, we present a detailed case study to illustrate the different capabilities of the algorithm. The hybrid approach presented is capable of the following operations:

1. Cluster a group of components/machines into varying groups of clusters

2. Consider the number of machines of each type actually available to form or assume the availability of sufficient machines to form mutually exclusive cells to carry out the cellular manufacturing system design

3. Consider the actual capacities available on each of the machines

4. Deal with the exceptional components output by the multilayered neural network (as a consequence of imposing (1) and (2) above) by considering the alternate process plans that may be available

5. Consider factors such as material handling cost, processing cost, and setup cost during evaluation of alternate process plans.

The following section illustrates a typical user interaction with the software developed to implement the hybrid approach discussed so far. The case presented here illustrates the capability of the hybrid network to do the following:

1. Form a specified number of cells

2. Form cells with limitations placed on the number of machines of each type and their respective capacities

3. Deal with exceptional parts

The initial data is represented in the form of a matrix. Rows and columns indicate the corresponding component and machine number. Each entry in the matrix, greater than 0, denotes the following two things:

1. Processing requirement of a component

2. Processing time for the corresponding operation

Data that is required for calculating material handling cost, setup cost, and processing cost is generated randomly. The 16 machines-43 parts example presented here has also been used by King(2) and Kaparthi and Suresh.(14)

CONSTRAINT SET I

Number of cluster centers (cells) requested: 4 Neural network was initialized with 4 cluster centers at a vigilance threshold of 0.6

Duplicate machines assumed available for cell formation:

Machine #6-4, Machine #8-3, Machine #11-2

Capacity on the machines assumed available: 30.00 units on each of the machines

Input data into neural network (Step 11)

Vigilance threshold? 0.6

The results (shown in the table below) are comparable to the results obtained by King(2) and Kaparthi and Suresh.(14)(Table omitted)

CONSTRAINT SET II

All assumptions same as above, except the availability of duplicate machines

Duplicate machines assumed available for cell formation: Machine #6-4, Machine #8-3, Machine #11-1

Vigilance threshold? 0.6

Components unassigned at this stage: [8 9 17 19]

Change vigilance threshold to 0.5

Components unassigned at this stage: [9]

Component #9 needs to be processed on machines 4, 5, 8, and 11. This combination of machines is not found in any cell; hence it cannot be processed completely in any one single cell and is treated as an exceptional part. This exceptional part is now passed on to the expert system for further evaluation. The expert system considers any alternate process plans that are available for this component and evaluates the plans based on the cell configuration furnished by the neural network. If the alternate process plans facilitate the processing of a part without any intercell movement and within the confines of the constraints specified, then it is fed back to the neural network. If otherwise, the best process plan for a component is determined by evaluating the total cost needed to process the component intercell movement. After the allocation, the machine utilization values are fed back to the neural network.

In this case, the process plans, processing time, setup time, and layout are all randomly generated values. The number of process plans that a component might have is also assumed to be a random value.

Component #9 is now fed into the expert system.

The alternate process plans generated are shown below:

Number of alternate process plans generated: 4

[1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1] Process Plan I [1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0] Process Plan II [0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0] Process Plan III [1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 1] Process Plan IV

Final cost structure for the processing of the exceptional components using the alternate process plans:

(Structure omitted)

Best alternate process plan for component #9: 3

Cost incurred for intercell processing: 90.03

CONSTRAINT SET III

Change in the number of clusters/cells specified

Number of cells specified in this case study: 3

Duplicate machines assumed available for cell formation: Machine #6-2, Machine #8-3, Machine #11-2

Capacity on machines assumed available: 30.00 units on each of the machines

Vigilance threshold? 0.6

Components unassigned at this stage: [1 8 9 12 13 19 25 26 28 31 39]

Change vigilance threshold to 0.5

Components unassigned at this stage: [1 25 26 28]

Change vigilance threshold to 0.49

CONCLUSIONS

The main objective of this research was to develop a neural network to practically obtain meaningful solutions for the design and implementation of cellular manufacturing systems. The case study showed the flexibility of the hybrid neural network to include practical constraints during the cell design process. It demonstrates the ability of the neural network to configure a given set of input patterns into a varying number of clusters as specified by the user and also to calculate the loading on each machine using the processing times of each part. The network can also determine alternate cell groupings depending on the availability of duplicate machines for clustering. The practicality of the approach is brought out by this unique ability, which can aid the end user in deciding on the number and type of duplicate machines needed and the resultant exceptional parts created. In comparison with most other methods, this approach goes a step further by using an expert system to reassign the exceptional parts based on alternate process plans. Reassignment to configured machine cells takes into consideration processing time and current machine utilizations. The expert system then feeds back any change in machine utilizations or cell configurations to the neural network for updating the weights. This neural network-expert system interaction keeps the neural network updated and ready for any new input.

This neural network-expert system combination provides one of the most practical methods for the design of cellular manufacturing systems. The method not only helps in the identification of natural groupings in the PFA chart but also imposes practical constraints in the process. The neural network can accommodate varying sizes of the machine-part matrix, and in the meantime, it can process them efficiently because of the parallel architecture that encapsulates the “cluster formation” knowledge in the weight vectors connecting the layers. This ability renders the method suitable to tackle large industrial problems.

ACKNOWLEDGEMENT

Research funding by the Natural Science and Engineering Research Council of Canada (NSERC) under grant OGP 010 5754 is gratefully acknowledged.

REFERENCES

1. J. McAuley, “Machine Grouping for Efficient Production,” The Production Engineer (1972), p53.

2. J.R. King, “Machine Component Grouping in Production Flow Analysis: An Approach Using Rank Order Clustering Algorithm,” International Journal of Production Research (v18, n2, 1980), p213.

3. J.R. King and V. Nakornchai, “Machine-Component Group Formation in Group Technology: Review and Extension.” International Journal of Production Research (v20, n2, 1982), p117.

4. A. Kusiak and W.S. Chow, “Efficient Solving of the Group Technology Problem.” Journal of Manufacturing Systems (v6, n2, 1987), p117.

5. K.R. Kumar and A. Vannelli, “Strategic Subcontracting for Efficient Desegregated Manufacturing,” International Journal of Production Research (v25, n12, 1987), p1715.

6. P. Gu, “Design of Cellular Manufacturing Systems: A Heuristic Approach,” Proceedings of the ASME International Conference on Computers in Engineering (1991), p177.

7. R. Rajagopalan and J.L. Batra, “Design of Cellular Production Systems: A Graph Theoretic Approach,” International Journal of Production Research (v13, 1975), p567.

8. G. Ronald Askin and S.P. Subramanian, “A Cost Based Heuristic for Group Technology Configuration,” International Journal of Production Research (v25, n1, 1987), p101.

9. A. Ballakur and H.J. Stuedel, “A Within-Cell Utilization Based Heuristic for Designing Cellular Manufacturing Systems,” International Journal of Production Research (v25, n5, 1987), p639.

10. Raja K. Gunasingh and R.S. Lashkari, “Machine Grouping in Cellular Manufacturing Systems-An Integer Programming Approach,” International Journal of Production Research (v27, n9, 1989), p1465.

11. O. Geoffrey Okogbaa et al., “Manufacturing System Cell Formation and Evaluation Using a New Inter-cell Flow Reduction Heuristic,” International Journal of Production Research (v30, n5, 1992), p1101.

12. U. Nandkeolyar and D.P. Christy, “An Investigation of the Effect of Machine Flexibility and Number of Part Families on System Performance,” International Journal of Production Research (v30, n3, 1992), p513.

13. J.L. Burbidge, “Production Flow Analysis for Planning Group Technology,” Journal of Operations Management (special issue on group technology and cellular manufacturing) (v10, n1, 1991).

14. S. Kaparthi and N.C. Suresh, “Machine-Component Cell Formation in Group Technology: A Neural Network Approach,” International Journal of Production Research (v30, n6, 1992), p1353.

15. Harish A. Rao and P. Gu, “Self Organizing Networks for Machine Component Grouping in Cellular Manufacturing Systems,” Proceedings of the International Conference on Information Engineering (Singapore: Dec. 1991).

16. C.O. Malave and S. Ramachandran, “Neural Network-Based Design of Cellular Manufacturing Systems,” Journal of Intelligent Manufacturing (n2, 1991), p305.

17. Y.B. Moon and S.C. Choi, “Generalized Part Family Formation Using Neural Network Techniques,” Journal of Manufacturing Systems (v11, n3, 1992), p149.

18. R. Beale and T. Jackson, Neural Computing: An Introduction (IOP Publishing: 1990).

APPENDIX (THE ALGORITHM)

(Appendix omitted)

AUTHORS’ BIOGRAPHIES

Harish A. Rao is a PhD candidate in the Division of Manufacturing Engineering, Department of Mechanical Engineering, at the University of Calgary. He received his MSc degree in manufacturing engineering from the same university. His research interests include the design of manufacturing systems, neural networks, and configurable production systems. His dissertation topic concerns the design of manufacturing systems.

P. Gu is an associate professor in the Division of Manufacturing Engineering, Department of Mechanical Engineering, at the University of Calgary. He is a registered professional engineer in Alberta, Canada. Prior to joining the university, Dr. Gu was a senior manufacturing engineer at EIMCO Jarvise Clark Ltd. and also taught manufacturing engineering at the University of Science and Technology in Beijing. His current research interests include STEP-based product modeling; integrated process planning for automated manufacturing, inspection, and robotic assembly; design and control of configurable manufacturing systems; and concurrent engineering. He is a member of the editorial review board for the Journal of Concurrent Engineering: Research and Applications.

Copyright Society of Manufacturing Engineers 1994

Provided by ProQuest Information and Learning Company. All rights Reserved