Computers ind. Engng Vol. 12, No. 3, pp. 215-222, 1987
0360-8352/87 $3.00 + 0.00 Copyright © 1987 Pergamon Journals Ltd
Printed in Great Britain.
A DYNAMIC PROGRAMMING BASED HEURISTIC MACHINE GROUPING IN MANUFACTURING CELL FORMATION
FOR
HAROLD J. STEUDEL I a n d ARVIND BALLAKUR 2 ~Department of Industrial Engineering, University of Wisconsin, Madison, WI 53706 and :AT & T Bell Laboratories, Room 2M224, Holmdel, NJ 07733, U.S.A.
(Received for publication 1 October 1986) Abstract--This paper presents a two stage heuristic for solving the machine grouping problem encountered in the identification and formation of flexible manufacturing cells. A new similarity measure, called Cell Bond Strength, is introduced which exploits similarity in processing for pairs of machines. The Cell Bond Strengths values are calculated based upon part routing and production requirements data. In the first stage of the heuristic, a Dynamic Programming procedure is used to determine an optimum "chain" of machines in which the sum of the bonds between machines is maximized. The second stage of this heuristic partitions the chain to form machine cells, subject to cell size restrictions. An example is given to illustrate the heuristic procedure. A summary of computational results when the heuristic is applied to several examples from the literature is also presented.
INTRODUCTION
The need to increase flexibility, productivity, quality, and just-in-time capabilities is prompting many discrete part, batch oriented manufacturing companies to adopt cellular manufacturing concepts. The underlying strategy is to process families of parts through a dedicated cluster or "cell" of dissimilar machine types or processes, and thereby gain many of the advantages of "flow-shop" processing in "job-shop" environments. Since economic constraints usually prohibit disposing of all existing manufacturing equipment and purchasing the latest manufacturing technologies, the task thus consists of grouping existing equipment into numerous cells, each of which will be dedicated to processing a set of similar parts. The task of identifying part families and related manufacturing cells via a production flow analysis, however, is not trivial due to the large amount of data involved. The use of efficient computerized procedures is therefore essential. The issue of cellular manufacturing has recently attracted considerable interest from both the academic and industrial community. Numerous publications have appeared addressing issues covering the design of cells [1-6]; operational and production control aspects [7-9]; behavioral and supervisory considerations [10,11]; and, the applicability and potential of cellular concepts as a manufacturing strategy [12-14]. In spite of this attention, numerous research issues still exist, as described by Wemmerlov and Hyer [15]. This paper presents a two stage heuristic for solving the machine grouping problem. This problem consists of utilizing part routing and production requirements data to identify groups of dissimilar machines or processes which are capable of processing a family of parts. A new similarity measure, called Cell Bond Strength (CBS), is introduced which exploits similarity in processing for pairs of machines. The first stage of the heuristic employs a Dynamic Programming (DP) procedure to generate an optimum "chain" of machines in which the sum of the bonds between machines in the chain is maximized. The second stage of this heuristic partitions the "chain" to form machine cells subject to cell size restrictions. Hence the objective of the algorithm is to identify the existence (if any) of "flow-shop strings" of machines which could be reorganized into flexible manufacturing cells. The paper presents an example to illustrate the heuristic, and provides computational results obtained from applying the heuristic to several examples from the literature. 215 CAIE
12:3-E
216
HAROLD J. STEUDEL and ARVIND BALLAKUR CELL BOND STRENGTH
A common approach for grouping machines is to identify and exploit similarity in part processing. In this section a new CBS measure is developed which is based on part processing times. Consider machines M1 and M2 shown in Fig. 1. Let parts P1, P2 and P3 be processed on M1 requiring operation times of a, b, and c units (hr/yr) respectively. Let parts P1, P3 and P4 be processed on M2 with operation times of d, e, and f respectively. These operation time requirements can be calculated by multiplying each part's operation processing time (hr/piece) by the production requirements for the part over a given period of time (pieces/yr). Operation set-up time is ignored in the calculation since set-up times can usually be reduced after the cells are implemented. Hence set-up time should not be a factor in defining the cells initially.
P1 M1 M2
P2
I ....... I a
I ........ I
I ....... I d I .......
I ........ I -I ........
b
P3 I ........ I
P4
e
I ........ I --
I I
I. . . . . . . I e I ........
I ........ I f I ........
I I I
Fig. 1. A machine-part load matrix.
It can be observed from Fig. 1 that only two parts, P1 and P3, are processed on both machines M1 and M2. The similarity measure, (CBS) for a pair of machines M1 and M2, could then be expressed in terms of these operation times as given below: CBS [M1, M21-
a+c a+b+c
d+e ~- d+e+f
(l)
The first component of the CBS measure represents the fraction of the total workload on machine M1 due to the common parts of machines M1 and M2 (namely, P1 and P3). To interpret the significance of this fraction, assume that machine M2 has already been assigned to a given cell. Then the common parts P1 and P3 would represent an affinity to draw machine M1 into that cell. Likewise the second component of CBS represents the corresponding workload fraction for machine M2; the affinity to draw machine M2 into a cell which already contained machine M1. Thus, CBS [M1, M2] represents a joint twoway affinity bond between machines M1 and M2 based on workload. Machine pairs which are components of a natural "flow line" would have high CBS values. In order to demonstrate the new similarity measure, a comparison is made with the similarity coefficient of Jaccard [16, 17], a commonly used measure for machine grouping. For this comparison, the operation times of parts (required for CBS) are considered to be unity. Table 1 shows the results of this comparison. Five different scenarios of part assignments are considered in Table 1. Scenarios 1-3 show that Jaccard's coefficient under-estimates the similarity between machines M1 and
Table 1. Comparison of Cell Bond Strength with Jaccard's Coefficient assuming unil processing times for a part on a machine, Total No. of parts processed by machine M1 P(M1)
Total No. of parts processed by machine M2 P(M2)
No. of parts common to M1 and M2 P(M1,M2)
Similarity measure Jaccard's Coeff. (max: 1.0)
Cell Bond Strength (max:2.0)
(1) 50 (2) 800 (3) 300 (4) 450 (5) 1000
1000 400 300 450 1000
50 200 200 450 100
0.05 0.20 0.50 1.00 0.052
1.05 0.75 1.33 2.00 0.20
Machine grouping
217
M2. The CBS values, on the other hand, seems to capture their relationship in terms the parts they process. Scenarios 4 and 5 represent the extreme conditions in which the number of common parts processed is either high (as in scenario 4) or low with respect to the total number of parts processed by each of the two machines. In these cases too, CBS seems to be a good measure of the relationship between the two machines. The heuristic presented in the next section uses this measure. MACHINE GROUPING
The first stage of the heuristic uses a Dynamic Programming (DP) approach, proposed by Held and Karp [18] for the Travelling Salesman problem, to construct an optimal sequence or "chain" of machines such that the sum of the CBS values along the chain is maximized. In terms of machine grouping, this chain is one in which machines having a high degree of similarity (in terms of CBS) are placed together, thereby forming a ring composed of one or more natural flow lines. Consider a n-machine shop and let {M1, M2 . . . . . Mn} be the set of all machines. For every pair of machines (Mi, Mj) where i,j = 1, 2 . . . . . n let CBS [Mi, Mj] be calculated initially. The recursive function of the DP model can be expressed as follows: F[k,Mi,{SM(k)}]
= max ~ CBS[Mi,M]] + F [ k - I , M ] , { S M ( k - 1 ) } ] , (2) M] • {SM(k-1)}
where: k = Stage number (where k = 1,2 . . . . . n - l ) , M0 = max E CBS[Mi,Mj], Mi = a set consisting of a single machine (other than M0), {SM(k)} = a set consisting of k machines (other than M0 or Mi), and Mj = {SM(k)) - {SM(k-1)} The recursion starts with k equal to zero. In this stage, each Mi is a state. The functions F[0,Mi,{}] are set equal to CBS [Mi,M0]. For each value of k ranging from 1 to n - l , equation (2) is calculated. Each state is a vector of machines [{SM(k)},Mi], where the set {SM(k)} consists of all machines that have already been added to a chain and Mi is a machine that is to be currently added to the chain. {SM(k)} are subsets of size k of the machine set {M1 . . . . , Mn}, in which the subsets are considered in lexicographic order. The value of F is the maximum value of the terms given in (2) for all Mi and the subset size k. The F values of the k - 1 s t stage would have been already calculated and hence, only a table-lookup is required. In the last stage, k = n - 1 , the set Mi contains machine M0. The sequence of machines which yields the maximum value of the sum of CBS values is found by starting from the last stage. The initial machine M0 is assigned to be the origin of the chain of machines. The machine Mj leading to the F value at the last stage (k = n - l ) is chosen to be the next machine on the chain. In case of a tie, the one having the highest CBS with machine M0 is chosen. This process continues recursively until stage 0 is reached and, in each stage, Mi is the most recent machine admitted to the chain. The final machine would be M0, and thus the optimal sequence of machines would be constructed. This phase of the heuristic algorithm, therefore, considers all the machines and constructs an optimal sequence or a chain of machines with respect to the sum of the CBS values along the chain. This procedure thus identifies "flow-shop strings" of machines to the extent that they exist.
218
HAROLD J. STEUDELand ARVIND BALLAKUR FORMATION OF MACHINE CELLS
The second stage of the machine grouping procedure consists of a heuristic method for partitioning the continuous chain of machines into cells in order to maximize the sum of the CBS values of machines in each cell. This second step attempts to identify and ~'break apart" the "flow shop strings" to form individual cells. Two different methods for partitioning the optimal chain are presented. Both methods assign machines to cells based on the optimal chain and on cell size restrictions.
Method 1: local search This method starts by finding a pair of machines having the highest CBS among all adjacent (with respect to the chain) machine pairs. The two machines are assigned to cell No. 1. Next, the machines adjacent to these machines in the chain are considered. The one having the higher CBS of the two is included in the cell. This is repeated until a specified Cell Size Upper Limit (CSUL) is reached. If there are unassigned machines in the chain, another cell is started. The pair of unassigned machines having the highest CBS of all such pairs is assigned to the new cell. The cell is expanded as outlined above.
Method 2: global search This method differs from local search in the way in which cells are constructed. In this method, all machine pairs are sorted based on their CBS values. The machines associated with the highest CBS is assigned to the first cell. The next highest CBS pair is assigned to the first cell only if one of the machines of the pair has already been assigned to the cell. Otherwise, the unassigned machine of the pair is admitted to the cell. If the size of the first cell exceeds the CSUL when the unassigned machine is added, then a new cell is formed and the machine is assigned to the new cell. The above procedure is repeated for all machine pairs in the sorted list. N U M E R I C A L EXAMPLE
Consider the machine-part load matrix given in Fig. 2. Five machines and seven parts are considered. The processing time of parts on machines are given by the elements of the matrix. For example, part P4 is processed through machines M1, M2 and M5 with processing times of 1.0, 4.0 and 1.0 units respectively.
PARTS
M1
P1
P2
P3
P4
0.5
1.5
2.5
1.0
P5
P6
P7
3.5
1.5
2.5
2.5
3.5
H A
3.0
M2
4.0
C H
2.0
M3
1.5
I N
M4
E S
1.0
145 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Fig. 2. A machine-part load matrix.
.
.
.
.
.
.
.
.
.
.
.
.
Machine grouping
219
The first step is the calculation of CBS values using the procedure as described by equation (1) for all pairs of machines. For example, the Cell Bond Strength of machines M1 and M2 is given by: 1.5 + 1.0 3.0 + 4.0 CBS[M1,M2] = 0.5 + 1.5 + 2.5 + 1.0 + 3.0 + 4.0 = 1.45
Figure 3 shows the CBS values of all machine pairs, and the sum for each machine. M1 .
.
.
.
.
M2 .
.
.
.
.
.
.
.
.
1/43 .
.
.
.
.
.
.
.
.
.
M4 .
.
.
.
.
.
.
.
145 .
.
.
.
.
.
.
.
.
Total
.
.
.
.
.
.
.
M1
0.00
1.45
1.55
0.00
0.32
3.32
M2
1.45
0.00
0.00
0.00
0.71
2.26
M3
1.55
0.00
0.00
0.00
0.00
1.55
M4
0.00
0.00
0.00
0.00
1.39
i .39
M5
0.32
0.71
0.00
1.39
0.00
2.42
Fig. 3. Matrix of Cell Bond Strengths.
Machine M1 has the highest value and hence, is chosen to be the initial machine (M0) for the DP procedure. Stage 0 of the DP model involves finding the values of the function (2) for machines Mi, where Mi = M 1 , . . . , M n . At this stage, the CBS's between M0 and all other machines are evaluated as follows: F[k=O, Mi, {}1 = CBS [Mi, MO]
(3)
Table 2 shows the values of F for every Mi. Thus, the CBS between M0 (here, M0 = M1) and all other machines are evaluated. The next stage (k= 1) will make use of these values for finding F values (see Table 3). Using these results in stage 1 and the recursive equation (2), values of F for stages 2 through 4 (see Tables 4-6) are calculated.
Table 2. Stage 0 results Mi
M1
Ms.
F
M2 M3 M4 M5
1.45 1.55 0.00 0.32
M1 M1 M1 M1
1.45 1.55 0.00 0.32
Table 3. Stage I results M,
M2
M3
M4
M5
Mj
M2 M3 M4 M5
0.00 1.45 1.45 2.17
1.55 0.00 1.55 1.55
0.00 0.00 0.00 1.39
1.04 0.32 1.72 0.00
M3 M2 M5 M2
1,55 1,45 1,72 117
Table 4. Stage 2 results M, M2 M3 M4 M5
{ M 2 , M 3 } {M2,M4} 0.00 0.00 1.55 2.26
0.00 1.45 0.00 2.85
{M2,M5} {Ma,M4} {M3,M5} {M4,M5} 0.00 2.17 3.56 0.00
1.55 0.00 0.00 2.94
2.26 0.00 2.94 0.00
2.10 1.72 0.00 0.00
Mj
F
M3,M5 M2,M5 M2,M5 M3,M4
2.26 2.17 3,56 2.94
HAROLD J. STEUDELand ARVIND BALLAKUR
220
Table 5. Stage 3 results Mi M2 M3 M4 M5
{M2,M3,M4} {M2,M3,M5} {M2,M4,M5} {M3,M4,M5} 0.00 0.00 0.00 2.94
0.00 0.00 3.65 0.00
0.00 3.56 0.00 0.00
3.65 0.00 0.00 0.00
Mj
F
M3,M4,M5 M2,M4,M5 M2,M3,M5 M2,M3,M4
3.65 3.56 3.65 2.94
Table 6. Stage 4 results Mi
{M2,M3,M4,M5}
M1
5.10
Mj
F
M2,M3,M4,M5 5.10
The optimal chain of the machines (in terms of maximizing the sum of the CBS's) is determined starting from stage 4. The initial machine, M1 is first admitted to the chain. From Table 6, it can be seen that the maximum F value of 5.10 can be obtained either through machines M3 or M2 in the previous stage (i.e. k = n - 2 ) . Since the value of CBS[M1,M3] (equal to 1.55) is greater than CBS[M1,M2], M3 is next admitted to the chain. Now, from Table 5 (corresponding to Mi = M3), it can be observed that machine M4 is the next machine to be placed in the cell. This procedure is repeated until stage 0 is reached. The optimal sequence of machines that maximizes the sum of the CBS's is given by: Optimal Chain: M1-M3-M4-M5-M2-M1 Cell Bond Strengths: (1.55) (0.00) (1.39) (0.71) (1.45) The second stage of the heuristic partitions the chain. If method 1 (local search) is applied, the highest CBS for a pair of adjoining machines on the chain is found. This is the pair [M1,M3] with CBS of 1.55. Both M1 and M3 are admitted to cell No. 1. At this time, either M2 or M4 could be admitted to cell No. 1. Since CBS[M1,M2] (equal to 1.45) is greater than CBS[M3,M4] (equal to 0.00), machine M2 is next admitted to cell No. 1. If a value of CSUL is specified, say 3, then construction of the present cell (No. 1) terminates and cell No. 2 is started. Again, the highest CBS machine pair (which are still unassigned) is chosen and the procedure repeated. The final cell assignment using method No. 1 is as follows: CELL No. 1: Machines M2, M1, M3, CELL No. 2: Machines M4 and M5. The second method (global search) yields the same results when applied to the above chain. In this case, the adjoining machine pairs on the chain are sorted in a decreasing order of CBS. In the same order, the machine pairs are assigned to new cells based on previous cell configurations. C O M P U T A T I O N A L RESULTS
The heuristic has been applied to several examples from the literature. A summary of the results is presented in Table 7. Example 1 (from King and Nakornchai [3]) consists of 5 machines and 7 parts. Application of the above heuristic results in the formation of two cells. The Dynamic Programming procedure results in the optimal chain 3 4 1-5-2-3. If method 1 (local search) is applied to break the chain, machines 4, 1, and 5 are placed in cell No. 1, and machines 2 and 3 in cell No. 2. The cell compositions are slightly different when method 2 (global search) is applied. Machines 4 and 1 are assigned to cell No. 1 and the remaining three machines to cell No. 2. King et al.'s algorithm (ROC2) results in the same cell configurations as that of method 2. Examples 2 and 3 are from Waghodekar and Sahu [19]. Results similar to theirs are obtained if method 2 is applied to break the chain. The fourth example involving 9
Machine grouping
221
Table 7. Computational results of the heuristic for various examples from the literature Example
Optimal chain
Method 1
Method 2
3--4-1-5--2-3
CeU I: 4,1,5
(i) King et aL
[1982, Fig. 3a] CSUL=3
Cell 2:2,3
(2)
Waghodekar et [1984, Fig. 3a] CSUL=3
al.
Waghodekar et [1984, Fig. 5a] CSUL=4
al.
5-2-4-3-1-5
(3)
2-4-5-3-1-2
Cell: 3,1,5
3,1
Cell 2:2,4
5,2,4
Cell 1:2,4,5,1
2,4,5,1
Cell 2:3
(4)
Gongaware et [1981, Fig. 1]
4,1
2,3,5
8-4-5-1-2-9 -6-7-3-8
al.
3
Cell 1:9,6,2,1,5 Cell 2:8,4,3,7
9,6,2,1 8,4,3,7,5
machines and 9 parts is the Boolean matrix of Gongaware and Ham [2] (see Fig. 4). When McCormick's Bond Energy Algorithm [20] was applied by them to their matrix, three clusters were formed as shown in Fig. 5. When the DP phase of the heuristic was applied to the example, the optimal chain obtained was 8--4-5-1-2-9-6-7-3-8. This sequence corresponds to the re-ordered row numbers in Fig. 5. Applying methods 1 and 2 of the second phase of this heuristic with a CSUL value of five, resulted in the cells shown in Table 7. This example showed that the heuristic can be used to identify natural flow lines for relatively large subgroups of machines (in this case, eight machines). This heuristic has been tried for various other examples. If the total number of machines (say, n) in the data analyzed is greater than 13, then this heuristic is not efficient. The DP portion of the heuristic requires 0(n 2) space and 0(n 2) time, as P1
P2
3 1
1 3
M1 M2 M3 M4 M5 M6 M7 M8 M9
P3
P4
P5
P6
P7
P8
3
3 1 1
3 i
1 3
P9
3 1 3 3
1
1 1
3
3
3
1
1 3 3
1
2
1
3
2
3
Fig. 4. Initial matrix of Gongaware and Ham.
P7 .
.
M7 I M3 I M8 I
.
.
.
3 3 i
P3 .
.
.
.
.
.
3 3 3
P8 .
.
.
.
.
.
P4 .
.
i l 3 I 3 I
.
.
.
.
P5 .
.
.
1 1
.
.
P1 .
.
.
.
.
.
.
P2 .
.
.
.
.
P9 .
.
.
.
.
P6
.
I I I
i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
M4 M5 M1
1
I
1 I 3
1
I
11
3 3
1 I 3 I
I
I
I I I
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
M2 I'19 M6
11 I I
3 3 1
3
I I
3 2
21 31
Fig. 5. Final matrix of Gongaware and Ham.
reported by Held and Karp [18]. This portion of the heuristic dominates both the space and time requirements. For example, computation times for problems of sizes n = 7,9,10,11,12, and 13 are 0.26, 1.75, 4.35, 10.49, 24.91, and 58.49 minutes respectively on a Harris 800 computer in a multi-user environment. These times are not a major drawback. In practice, the computation time is a minimal part of the total design project
222
HAROLDJ. STEUDELand ARVINDBALLAKUR
activity time. The real issue is being able to identify an optimal chain of machines which can be partitioned into efficient flow line cells. Furthermore, if the total number of machines exceeds 13, then subgroups of size less than or equal to 13 can be analyzed successively using the following "divide and conquer" approach (a similar approach was suggested by Chan and Milner [21]). (1) Arbitrarily partition the entire set of machines into two or more subgroups of size less than 13. (2) For each subgroup, find all machine cells in the subgroup using the heuristic. (3) Next, treat each of the cells formed as a machine and repeat step 2. (4) Repeat the above steps until all machines have been considered. CONCLUSIONS
A new heuristic, based on a Dynamic Programming procedure, has been presented for utilizing part routing information to identify natural flow lines which can be organized into flexible manufacturing cells for processing families of parts. The procedure employs a new similarity coefficient called Cell Bond Strength (CBS) which was shown to be more robust than Jaccard's similarity coefficient. Based on the CBS coefficient, the algorithm provides an optimal procedure from which natural flow lines can be identified if any exist. Furthermore, the heuristic is consistent and does not depend on the initial arrangement of the input machine-part load matrix. The heuristic provides a computational tool for identifying part cells from existing routing information, and thus can aid manufacturing companies involved with reorganizing their facilities from a functional to a cellular layout configuration. REFERENCES 1. J. Burbidge. The Introduction o f Group Technology. Wiley, New York, (1975). 2. T. Gongaware and I. Ham. Cluster analysis applications for group technology manufacturing systems. Proc. 9th NAMRC. Society of Manufacturing Engineers, Dearborn, Mich. (1981). 3. ,1. King and V. Nakornchal. Machine-component group formation for group technology: review and extension. Int. J. Prod. Res. 20(2), 113-117 (1982). 4. E. Oliva-Lopez and G. Purcheck. Load balancing for group technology planning and control. Int. J. Machine Tool Design Res. 19(4), 259-274 (1979). 5. R. Rajagopalan and J. Betra. Design of cellular production systems: a graph-theoretic approach. Int. J. Prod. Res. 13(6), 657-679 (1975). 6. A Ballakur. An investigation of part family/machine group formation for designing cellular manufacturing systems. Unpublished Ph.D. Dissertation, University of Wisconsin, Madison (1985). 7. N. Hyer and U. Wemmerlov, MRP/GT: a framework for production planning and control of cellular manufacturing. Decis. Sci. 13(4), 681-701 (1982). 8. C. New. MRP and GT--a strategy for component production. Prod. Inventory Mgmt 18(3), 51-62 (1977). 9. N. Suresh. Optimizing intermittent production systems through group technology and MRP. Prod. Inventory Mgmt 20(4), 77-84 (1979). 10. B. Dale. Some social aspects of group technology. Work Study 28(10), 19-24 (1979). 1I. G. Fazakerly. Research report on the human aspects of group technology and manufacturing. Int. J. Prod. Res. 14(1), 123-135 (1976), 12. N. Hyer and U. Wemmerlov. Group technology and productivity. Harvard Business Rev. 62(4), 141)-149 (1984). 13. N. Hyer. The potential of group technology for U.S. manufacturing. J. Ops Mgmt 4(3), 183-202 (1984). 14. R. J. Schonberger. Plant layout becomes product-oriented with cellular, just-in-time production concepts. Ind. Engng November. 66-71 (1983). 15. U. Wemmerlov and N. Hyer. Research issues in cellular manufacturing. Int. J. Prod. Res. Forthcoming. 16. P. H. A. Smith and R. R. Sokal. Numerical Taxonomy. Freeman, San Francisco (1973). 17. J. McAuley. Machine grouping for efficient production. Prod. Engnr. 51(2) 53 (1972), 18. M. Held and R. Karp. A dynamic programming approach for sequencing problems. J. Soc. Ind. Appl. Math. 10, 2 (1962). 19. P. H. Waghodekar and S. Sahu. Machine-component cell formation in group technology: MACE. Int. J. Prod. Res. 22(6) 937 (1984). 20. W. T. McCormick, P. J. Schweitzer and T. E. White. Problem decomposition and data recognition by a clustering technique. Ops Res. 20 993 (1972). 21. H. M. Chan and D. A. Milner. Direct clustering algorithm for group formation in cellular manufacture. J. Manufacturing Syst. 1(1), 65 (1981).