358
European Journal of Operational Research67 (1993)358-372 North-Holland
Theory and Methodology
Establishment of economic production rate, production batch size, and production sequence in manufacturing systems with flexible routing Pius J. Egbelu Department of Industrial and Management Systems Engineering, The Pennsylvania State University, University Park, PA 16802, USA Received September 1990; revisedJuly 1991
Abstract: Through automation, manufacturing systems today are being built with increased flexibility to accommodate alternate routings and perform complex operations. Through the technology of programmable fixturing, fixtures and other workholding devices can easily be configured to accommodate varying workpiece shapes and sizes. Although increased flexibility is a desirable feature, it does in many cases increase the complexity of planning for production as a result of the increased number of operations sequences that are available to the analyst. In this paper, the problem of lot sizing and process sequencing in a shop with sequence-dependent production rate, setup cost, and unit processing cost is addressed. Using standard lot sizing model with backorder, the paper develops two separate solution procedures, one based on dynamic programming and the other on graph theory, to simultaneously determine the production rate, operation sequence, and other lot sizing parameters that yield a minimum manufacturing cost plan. In doing so, the procedure automatically integrates the functions of process planning and inventory control. These two functions have traditionally been kept separate in most manufacturing organizations. The implementation of the model in a totally computerized process planning systems is also discussed. Keywords: Process routing; Process planning; Inventory control; Integration; Sequential; Batch production
Introduction In this paper, a modeling and solution procedure for integrating the process planning and inventory control functions in manufacturing is presented. The design, manufacture, and distribution of a product involves several stages of planning to ensure timely and economic production. Included in these planning decisions are the choice of material for the product, the product composition, methods of manufacturing,
Correspondence to: P.J. Egbelu, Department of Industrial and Management Systems Engineering, The Pennsylvania State University, UniversityPark, PA 16802,USA. 0377-2217/93/$06.00 © 1993 - ElsevierSciencePublishers B.V. All rights reserved
P.J.Egbelu/ Manufacturingsystemswithflexiblerouting
359
machine selection, methods of handling, inventory control, quality control, and marketing strategy to mention only a few. Although the problems addressed in many of these areas are interrelated to varying degrees, traditional planning procedures generally assign responsibility to these subproblems to separate functional areas that maintain little or no interactions between them. These functional areas make planning decisions of interest to them without the consultation of other functional areas or giving any serious thoughts on how their decisions affect other functional areas within the plant. Although some of these interrelationships have long been recognized, others are hardly recognized. For those areas whose interrelationships have long been recognized, attempts are being made, especially in recent years, to integrate these functions. For example, through the concept of concurrent engineering, effort is being made to integrate product design and manufacturing decisions [3,22]. Similar attempts have been made to integrate design, manufacturing and scheduling decisions [11,25], scheduling and inventory control [2,12,13], and operation sequencing in manufacturing and material handling [11]. The advantages of the integration of multiple functional areas are efficiency in decision, reduced production cost, reduced production time, improved product quality, improved decision making, and the efficient use of production resources. Two key functions in manufacturing whose interrelationships are hardly recognized but have great potential for reducing manufacturing cost and time when properly integrated are the functions of process planning and inventory control. In manufacturing the process planning function is responsible for determining the method of transforming the raw material workpiece to the desired finished part and the sequencing of the necessary operations required for the part. In most cases, the operations can be sequenced in more than one way. However, the process planner at the end adopts a sequence out of the possible sequences based on experience, rule of thumb, and cost. Rarely, if any, does the process planner considers the effect of his decision on inventory control in adopting an operation sequence [1,5,17,19-21]. On the other hand, the inVentory control function is responsible for determining the production quantity of a batch job, and the frequency and timing of production for each part type or family. To determine the production quantity, the inventory control planner takes as input the operation sequence defined by the process planner to determine the setup cost per production session and the processing cost per unit part. The setup and unit processing costs, along with other cost factors are integrated into a lot sizing or inventory control cost model which when solved, yields the economic production quantity and backorder level that minimizes total manufacturing cost. A typical lot sizing cost model that is composed of setup cost, inventory holding cost, processing cost, and backorder cost as given in the literature is of the following form [4,16,18]:
AD rC[Q(1 - D / P ) - b ] 2 "n'b2 F= Q +CD+ 2Q(1-D/P) +2Q(1-D/P)
(1)
where A = Setup cost per production session. D = Annual demand for the item whose production is being planned. Q = Economic production quantity. C = Production cost per unit part. r = Inventory holding cost rate per dollar per year. P = Annual production rate for the item. ~" = Cost per year per unit backordered. b = Backorder quantity. The optimal order quantity Q* and backorder b* are determined in terms of A, C, D, P, r and ~- by solving the system of equations obtained by setting to zero the partial derivative of F with respect to Q and b [16,18]. The total cost corresponding to the optimal solution of Q* and b* is given by F*, where
F* = CD +
( 27rrADC(1- D / P ) ) 1/2 rC + ~"
(2)
P.J. Egbelu / Manufacturing systems with flexible routing
360
In current inventory control models, the parameters A, C, and P in the cost model are assumed to be constants. Their values are determined based on the operation sequence adopted by the process planner. Thus, by the adoption of an operation sequence, the process planner automatically defines the values taken by the parameters A, C, and P. As (2) indicates, the values of these parameters also significantly affect the total inventory cost even though the process planner rarely considers the inventory control function in the adoption of the operation sequence.
Problem illustration and framework
With the objective of minimizing total cost as the basis for (1), a natural question to ask is: How optimal are the parameters A, C, and P used in the model given by (1)? Alternatively, the question could be: How optimal is the operation sequence adopted by the process planner? To illustrate the significance of the question above, consider a shop that manufactures a part as shown in Figure 1 [12]. Figure la shows the workpiece in the raw material state. Figure lb is the corresponding component as a finished part. In transforming the raw material to the finished part, the following operations and machine tool requirements can be identified: a) turning operation on a lathe; b) drilling operation on a drill press; c) milling operation on a milling machine. The raw material state can be transformed into the finished material state through one of the following six technological feasible sequences:
Sequence 1
Sequence 2
Sequence 3
1. Mills ends 2. Drill holes 3. Turn diameter
1.Mill ends 2. Turn diameter 3. Drill holes
1. Turn diameter 2. Drill holes 3. Mill ends
Sequence 4
Sequence 5
Sequence 6
1. Turn diameter 2. Mill ends 3. Drill holes
1. Drill holes 2. Mill ends 3. Turn diameter
1. Drill holes 2. Turn diameter 3. Mill ends
(b)
,.~~5-DIA. I/2"'DIA. ~
.~
Figure 1. Part illustrating processing time dependency. (a) Component in raw material state. (b) Component as a finished part
P.J. Egbelu / Manufacturing systems with flexible routing
361
Although all the six sequences are technologically feasible, their ease of execution and fixturing requirements differ. The amount of material to be machined out for a given operation also depends on the position of the operation in the sequence. From the above illustration, it can be seen that the cost and time required to perform a given operation depends not just on that operation but also on the operation that preceded it in the sequence. Thus, the unit processing cost per operation per workpiece can be represented as a sequence-dependent cost matrix, C'(i, j), where Cij ~ C'(i, j) is the processing cost per part for operation j if preceded by operation i. As it is the case with unit processing cost, due to changes in fixturing and machine setup requirements resulting from different ordering of the operations, the setup cost per operation per production session is also operation sequence-dependent and can be represented as A'(i, j), Aij A'(i, j). As can be observed from the illustration, the processing time per operation is also affected by the ordering of the operations. Given that production rate is inversely proportional to the processing time per unit part, the production rate is also operation sequence-dependent and can be represented as a matrix P'(i, j) with elements Pij. From the illustration, it is obvious that for a given item, several operation sequences can be defined. These sequences will, in general, differ in ease of execution and the time required to complete a unit part. The differences between the sequences generally translate to differences in a) total setup cost per production session; b) the processing cost per unit item; c) the completion rate for each operation. For an item with n operations, a maximum of n! different operation sequences can be defined. Some of these sequences may be infeasible. Suppose k refers to a particular sequence of the n operations; the corresponding cost model for that sequence therefore appears as follows:
AkD rCk[ak(1 -D/Pk) --bk] 2 7rb~ Fk= Qk +CgD+ 2Qk(l_D/Pk ) +2Qk(l_D/pk),
k ~ [ 1 , n!].
(3)
The subscripted variables A~, Ck, Qk, bk are defined as their counterparts in (1) except in this case, the index k refers to a particular ordering of the operations. A comparison of (1) and (3) immediately brings into focus some of the difficulties an analyst faces in trying to use the basic model of (1) for planning production in a manufacturing system with flexible routing. For example, a) What values do A, C, and P take in (1) since these parameters are sequence-dependent? b) What operation sequence is actually used in (1) since it must correspond to one of the n! sequences? c) How is the adopted operation sequence specified? d) What is the adequacy of the constancy assumption by the model given by (1) for the parameters A, C, and P? Obviously, some of the problems associated with the use of the basic model stems from the hierarchical or sequential decision making process currently practiced in most manufacturing systems. The current approach is to first solve the process planning problem. Thereafter, the inventory problem is solved. It is obvious that such sequential decisions cannot guarantee the minimization of total manufacturing cost. What is required is an approach that integrates the process planning and inventory control functions for selecting the operation sequence that yields optimal parameters A, C, and P employed in (1). In this paper, such an integrative approach that simultaneously solves the lot sizing and the process planning problems is presented. The model views the following parameters as decision variables: a) the setup cost, A; b) the unit processing cost, C; c) shop production rate, P; d) the operation sequence; e) the production batch size, Q; f) the backorder level, b. Solution to the integrated model automatically yields the optimal value for each decision variable.
P.J.Egbelu / Manufacturingsystemswithflexiblerouting
362
Model presentation Given an item that requires n operations, the most direct approach for identifying the best operation sequence and consequently the best parameters A, C, and P is to evaluate all feasible sequences. For an unconstrained problem, this is equivalent to evaluating all n! sequences and choosing the sequence k* where Fk*=
min {Fk}.
(4)
l
In as much as the complete enumeration method of (4) guarantees that the most economical sequence can be found along with the associated A, C, and P, it is difficult to implement as n becomes large. Therefore, a different solution strategy is required. In developing the model, it is assumed that the operations require n different processes or machine types. If two or more suboperations can be performed consecutively on the same type of machine, it is assumed that such suboperations are combined to form a single operation. The following variables are defined and used in the model: Pij = Annual production rate of the j-th operation if directly preceded by operation i. This is actually the rate at which the j-th operation is completed; Pij > D, for all i, j. Aij = Setup cost for operation j if preceded by operation i. Cij = Unit processing cost for operation j if preceded by operation i. X/j = 1 if operation i precedes j directly; 0, otherwise. U~ = The position of the i-th operation in the sequence. The i-th operation does not necessarily occupy the i-th position. If for example, U2 = 5, this implies that operation 2 is the fifth operation to be performed. i = 0, index for a starting dummy operation. i = n + 1, index for a terminating dummy operation. The dummy operations represent the raw material and the finished states of the workpiece. Given the above variable definitions, it is obvious that for the X / f values that are set to 1,
P = min{PijXJ, n n+l A = E E AijXij, i=0 /=1 C
=
(5) (6)
~ n+l ~_, CiiXij. i=O j=l
(7)
Assuming for the moment that the definition of P in (1) is relaxed and P is set arbitrarily to any positive value such that
e>--max{eii}, Vi, j
i = 0 , 1 . . . . . n, / = l ,
2,...,n+l,
(8)
then the lot sizing problem with simultaneous determination of the optimal annual production rate, P, and operation sequence can be stated as: min
n n+l F = D ~ ~ CijXij i=0 j=l (=~0n+ 1 (2DrTr(1-D/P)) Jr-
'/2
i
~=lAijXii
j=
"= /'=1
)1/2( ~ n+ 1 )1/2 E cijsij
]
\i=0 j=l 1//2
(9)
363
P.J. Egbelu / Manufacturing systems withflexible routing s.t.
~ X i j = 1, j = l , 2 . . . . . n + l , i~j,
(lO)
E X,~= I, i = 0 , 1,2 . . . . . n, i # j ,
(11)
i=0 n+l j=l
U0=0,
(12) (13) (14)
Un+l =n + l,
v,-E,_<0
if operation i' must precede operation j ' ,
Ui - Uj+ (n + 1)Xi~
i = 0 , 1 . . . . . n,
j=l,2 ..... n+l,
i#:j,
(15) (16)
Equation (9) is the equivalent of (2). The model constraints are self explanatory. Constraints (10) and (11) ensure that each operation has a predecessor and a successor operation. The starting dummy operation can only have a successor operation. Similarly, the terminal dummy operation can only have a predecessor operation. Constraints (12) and (13) ensure that the dummy operations occupy the first and last positions in the sequence. Constraint (14) recognizes any precedence constraints that might be present between the operations. Constraint (15) ensures that all operations are sequenced in one chain. This constraint is commonly applied in modeling a traveling salesman type problem as can be found in [14,21,24]. In (9), with P set to a constant, the factor (2Dmr(1 - D / P ) ) 1/2 reduces to a constant, denoted by C. Suppose the following relationships are defined:
n+l
11/2
Ell2= (i=~o j~=lZijXij ]
( n n+l G'/2=
(17)
,
)1/2,
E E CijXi.i i=O j=l
(18)
1/2 H
1/2 =
(19) rr
CijXij
i=O j=l Equation (9) now reduces to
F = DG + CE1/2G1/2H1/2.
(20)
The product term Ea/zG1/2H1/2 can be written as a separable function [7] by replacing each product term of the form
hl( xl)hz( X2)
(21a)
w~ - w2
(21b)
by
and adding the constraints
wl-wz=hl(Xl),
(21c)
wl + wz = hz(x2).
(21d)
P.J. Egbelu / Manufacturing systems with flexible routing
364
Using the above transformation, the optimization model of (9)-(16) becomes: min
F=DG+C[h2-f2-g
2 + e 2]
s.t.
h - f =a 2,
(23)
h + f = H 1/2,
(24)
g - - e = u 2,
(25)
g + e = H 1/2, a - u = E 1/2,
(26)
(22)
(27) (28)
a + u = G 1/2,
and add constraints (10)-(16). The addition of constraints (10) through (16) ensures that the original problem remains unchanged. From (23-(28), the following relationships are obtained: a = ½( E1/2 + G1/2), f=1(H1/2-a2),
u = ½( G1/2 - E1/2), 1
2
g=-~(u + H1/2),
h = ½( a2 + H1/2), e=½(H1/2-u2).
(29)
With the above transformation, the objective function is now completely separable, and this makes the model amenable to optimization through dynamic programming.
Solution procedure
Two solution procedure are developed for solving the problem and both are heuristic-based. The first approach combines an iterative process with a dynamic programming algorithm. The dynamic programming approach quickly suffers from large memory requirement due to the number of states involved as the number of operations n becomes large. For a problem with n operations, the number of states to be evaluated is equal to 2 n - 1. Thus, for n = 6, 10, and 15, this translates to 63, 1023, and 32767 states, respectively; the number of states grows exponentially with n. The second heuristic approach combines iterative search, graph theory, and pairwise interchange to solve the problem. This heuristic can be used as n becomes large. In the following sections, details of the algorithm are presented. Dynamic programming-based solution method
Let PiV=max(Piy}, PiL = min {Pij}, i = 0 , 2 . . . . . n, W pU = minvi{PU}" PL = n~n. {pL i },
i = 0 , 1,2 .... ,n,
(30a)
(30b)
An apriori knowledge in determining the economic production rate, P, is that pL < p
(31)
The dynamic programming procedure iteratively solves the problem for each value of P in the interval between pL and pU. For each P value selected, a dynamic programming problem is solved to obtain the optimal sequence, or(P), and total cost, F(P). The production rate, P*, that yields the overall minimum cost, F(P*), is selected. Appendix A describes the details of the dynamic programming algorithm for a fixed P. Using the dynamic programming algorithm and the knowledge that pL < p . < p U , the overall algorithm is as presented below:
P.J. Egbelu / Manufacturing systems withflexible routing
365
Step 1. Let S be an ordered set of Pij values for all Pij < pU. The elements of S are in ascending order. Elements of S must be unique in value. This implies no repeated values are allowed. number of elements in S; k = l ; t r * + l = ¢ ; P ' = 0 ; Cn+l(tr*+l)=An+l(tr*÷l) = Fn+ 1(o-*+1) = oo; A"(i, j) =A'(i, j); C"(i, j) = C'(i, j). Step 3. a) Set P = k-th element of S. b) For k > 1, set C'(i, j) = C"(i, j); A'(i, j) =A"(i, j). c) For all Piy ~, set Ciy = Ciy + A2; A~j =A~y + A2, where A2 is a large number greater than any hij and C o. values. d) Set Ci: = C~ + A2 and Aij =Aij -t- A2 if operation j must precede i. Step 4. a) With P--P, invoke the dynamic programming algorithm to obtain trn*+l~p), A~+l(°'*+!~p)), C~ + l(tr*+ l~p)), and F, + 1(o-*+l{p)) where o-*+l{p) is the optimal sequence using the production rate of P. b) If the sequence o-*+l{p) is feasible and Fn+l(cr*+l
Step 2. Set N = t h e
Cn+l(O'n*+l)= Cn+ l(o-n*+l(p))'~ Zn+ l(O'n*+l) : A n + l(o'n*+l(p)); Fn+l(Orn*+l)=Fn+l(Orn*+l(p));e ' = e. c) If the sequence tr*+l
P. d) Set k = k + 1. If k < N, go to Step 3. Otherwise, go to Step 5. Step 5. Stop, the optimal solution is found. Optimal sequence --- tr*+ r Production rate, P* = P'. Unit processing cost, C * = C, + 1(o'*+1). Setup cost, A * = A n + l(tr*+ 1)Total cost, F * = Fn+l(tr*÷l). Again by substituting A* for A, C* for C, and P* for P, the optimal lot size Q* and backorder quantity b* can be computed [16,18]. Each call to the dynamic programming submodel evaluates 2 ~ - 1 states and performs a) 13(2 ~ - 1)E~'=I(~') additions, b) 16(2 n - 1)ETffi1(~') multiplications, c) 3(2 ~ - 1)E7=1(~) square root evaluations, and d) ET~ l(~')(i - 1) comparisons. The total number of additions, multiplications, comparisons, and square root evaluations performed to obtain a solution to a problem is approximated by multiplying the number of operations types by N, where N is the number of iterations performed. Thus, storage and computational requirements grow exponentially as n increases. The number of operations required as determined above can be used to decide whether the storage and the computational requirements is too severe to justify the use of the DP-based system.
Graph theory-based solution method A two-stage heuristic algorithm is employed to find the best operational sequence. In the first stage, the relationships between the operations is represented as a graph. The operations represent the nodes of the graph while the relationships between the operations are the links. From the graph, a minimum-cost Hamiltonian path is found between the ending operations, if a path exists. The ending operations are the dummy operations. The unit processing cost matrix C'(i, j) is used in constructing the graph and the Hamiltonian path. The Hamiltonian path so obtained is used as a starting operation sequence and from this sequence, the starting initial total manufacturing cost is computed according to (2). In the second stage, the sequence so generated is improved upon through a pairwise interchange of the operations while maintaining problem feasibility. The improvement search is an iterative process and for every interchange, the total manufacturing cost function of (2) is evaluated. The sequence is updated when a new improved sequence is generated. The algorithm terminates when no further improvement is identified. The last updated sequence becomes the solution, along with the corresponding cost and
P.J. Egbelu / Manufacturing systems with flexible routing
366
production rate parameters. Again, if the final sequence contains a prohibited link, the entire solution is considered infeasible. Appendix B provides a detailed description of the algorithm. A subset algorithm for finding the minimum cost spanning tree is described in Appendix C. The minimum cost spanning tree algorithm is invoked in the main algorithm of Appendix B.
Example
problem
To illustrate the production planning methodology presented in this paper, consider an item whose annual demand is forecast to be 13000. The item requires 5 operations labeled 1 through 5. Due to the increased flexibility enjoyed by the shop brought about by automation, the five operations can be performed in any order. The cost of manufacturing as well as the rate of production of the item is affected by the operation sequence specified. Sequence dependent production rate, setup cost, and unit processing cost between the various operations are given in Tables 1, 2, and 3 respectively. Table 1 is given in 1000s. Batching is required since shop capacity exceeds the annual demand regardless of the operation sequence adopted. The system permits temporal item shortages. There is a cost of $25.00 per Table 1 Matrix of s e q u e n c e - d e p e n d e n t production rate
PU =
Operation No.
Operation n u m b e r 3
1
2
4
5
19.0
21.0
16.5
17.0
17.5
6
:g 0
'm
1
-
-
15.5
17.3
17.8
16.9
2
-
15.8
-
20.5
15.6
15.0
3
-
22.0
17.4
-
17.1
19.2
4
-
17.25
16.84
19.5
-
16.0
5
-
17.6
19.5
21.8
22.1
-
*6
-
* Dummy operations
Table 2 M a t r i x o f s e q u e n c e - d e p e n d e n t b a t c h s e t u p costs
0
Aij =
Operation No.
Operation n u m b e r 2 3 4
0
1
'--
80
120
65
95
100
5
6
1
oo
-
50
75
85
90
0
2
oo
45
-
95
100
60
0
3
oo
110
75
-
70
85
0
4
oo
65
80
100
-
125
0
5
oo
105
95
60
110
-
0
6
oo
-
×
103
P.J. Egbelu / Manufacturing systems with flexible routing
367
Table 3
Matrix of sequence-dependent unit part operation cost
1 0
1
'--
oo
2
Cij =
Operation No.
Operation number 2 3 4
5
4.0
2.5
4.5
3.0
3.5
~
-
6.0
4.5
4.0
5.0
0
6.0
-
3.5
6.0
7.0
0
3
oo
2.0
5,5
-
5.0
4.0
0
4
tm
5.0
5.5
4.0
-
6.0
0
5
oo
4.5
3.0
2.5
4.5
-
0
6
oo
Table 4 Results of example problem summarized by algorithm Dynamic programming
Graph theory
Operation sequence, tr * Production rate, P* Order quantity, Q * Backorder quantity, b* Setup cost, A* Unit processing cost, C *
5 --, 2 ~ 3 ~ 1 --, 4 15000 4846.25 ( ~ 4847) a 104.08 ( ~ 105) a $485.00 $16.00
4 ---,3 ---,1 ---,5 ~ 2 16500 3765.48 ( ~ 3766) a 135.33 ( ~ 136) a $490.00 $17.00
Total cost, F*
$210602.00
$224383.48
a
Integer equivalent.
year for each unit backordered. If the company's minimum attractive rate of return, r = 30%, what production strategy will minimize total production cost to the shop? The illustrative problem was solved using both the dynamic programming and the graph theory-based algorithms. The best decisions obtained under each of the two algorithms are summarized in Table 4. As Table 4 shows, the result found under the dynamic programming-based algorithm is far superior to that of the graph theory-based approach. This is not surprising since the dynamic programming algorithm is an exact procedure while the graph theory approach is optimal seeking. The differences in performance between the techniques is addressed in the next section. Focusing again on the joint process planning and inventory control problem, it is interesting to note that the optimal production rate, P, occurs at P = minv,.j{P,.j}. This is not intuitive since the traditional philosophy is always to run the machines at high speed to obtain high production rate. Also, notice that the production rate, P, according to the sequence 5 ~ 2---, 2--, 3 ~ 1---, 4 is 17500. However, if 17500 is used as the official production rate instead of 15000, the total manufacturing cost rises to $211613.44. This highlights one of the importance of the planning methodology presented in this paper.
Further discussion on the algorithm
As pointed out earlier, the result obtained under the dynamic programming approach is far superior to that obtained under the graph theory-based heuristic. This suggests that there is still need for a better
368
P.J. Egbelu / Manufacturing systems with flexible routing
heuristic algorithm to address the integrated process planning and inventory control problem. There exists two weaknesses to the graph theory approach, namely, a) premature inclusion of arcs into the tree; b) convergence. The construction of the spanning tree is based on adding to the tree one link at a time, starting with the lowest cost link. In forming the Hamiltonian path, sometimes a lowest-cost link is brought in too early into the chain when indeed its inclusion could have been delayed a little further and then be brought in at a later stage to improve the overall path. By bringing in the lowest-cost links early, higher-cost links are forced into the path at later stages. The problem of convergence is also due to the order the links are added to the tree. Sometimes by bringing a link early into the tree, a path can no longer be constructed to include all nodes. For the example problem, the algorithm failed to construct a feasible path at production rates of 17500 units and above. This is because at 17500, all links with lower production rates are excluded from consideration.
Implementation requirements The planning procedure presented in this paper, undoubtedly, involves more data and detailed analysis than is currently applied to traditional process planning and inventory control. Because of the enormous manpower requirement to analyze and generate the required data, manual implementation of the procedure may be difficult except for very simple parts. The use of a computerized procedure that automatically generates sequence dependent cost and production rate data through CAD (ComputerAided Design) system interface is necessary. Such a computerized system must have the capability to automatically extract feature and shape information from the CAD model as the cutting processes of the part are simulated by interfacing the CAD system with a machining process simulator as the part moves from one process to another. The feature and shape extraction capability makes it possible to automatically evaluate fixture, setup and machining requirements for the part. The fixture, setup and machining requirement so extracted become inputs to a cost model to automatically generate the costs and production rate matrices. Research are ongoing in automated or computerized component features and shape information extraction as part of the overall research in computer-aided process planning (CAPP) [26,27]. The work described in this paper is a subset of an integrated CAPP system that extends to inventory control.
Conclusion A systematic method for generating a production plan that is optimal from the point of view of process planning and lot sizing in a manufacturing system with alternate routing and operation sequence-dependent production rate and setup and unit processing costs is developed. The model integrates the important manufacturing functions of process routing and inventory control. Two approaches, based respectively on dynamic programming and graph theory, are presented for solving the integrated production routing and inventory control problem. The algorithms not only generate the best operation sequence to employ but also the best production parameter values to use in the inventory model to determine the optimal batching plan. An example problem to illustrate the application of the developed algorithms was also presented. Also described is the automatic implementation of the model in a computer-aided process planning system that includes automatic feature and shape information extraction from the CAD model of the part.
P.J. Egbelu / Manufacturing systems with flexible routing
369
Appendix A Given the production rate, P, the transformed problem is solved using dynamic programming [7,10]. For the dynamic programming model, define the following variables: J = An index representing the J-th stage in dynamic programming. o-j = An ordered partial set containing J operations already sequenced in the last J positions in the operation sequence. jo-j = The ordered set o-j preceded directly by operation j. ff(ji, io-j-2) = The cumulative cost associated with the sequence jo-j_ 1 if operation j directly precedes operation i ~ o-j_ 1 and operation i is at the head of the partial sequence o-j_ r F~(jo-j_ 1) = The cumulative minimum cost at the J-th stage if operation j directly precedes the partial sequence o-j_ 1 in an optimal fashion. i0 = Index for the beginning dummy operation. i, +l = Index for the ending dummy operation. Cj(JO'j_ 1) = Cji d- •k',Tc ~ ~,l_lCk'k, i E O-j_r This is the total processing cost associated with the partial sequence Jo-J-i if operation j directly precedes operation i, given that operation i precedes o-J-2 optimally. Aj(jo-j_~) = A j ~ - E k ' , ~ _ A ~ ' ~ , i ~ o-J-r This is the total setup cost associated with the partial sequence jo-j_~ if operation j directly precedes operation i, given that operation i precedes o-J-2 optimally. A~ = A large number greater than the total setup cost from any sequence that can possibly be generated. A2 = A large number greater than the total unit processing cost from any sequence that can possibly be generated. Starting with o-0 = {i. + 1}, the recursive equation for the dynamic programming algorithm for finding the optimal operation sequence and consequently the optimal economic production quantity, Q*, and the backorder level, b*, based on a fixed value of P is as follows: Set Aq = A1, if operation j must precede operation i. Cij = A2, if operation j must precede operation i. At stage J = 1, compute -
-
FI(JO-o)=DCji.+,+C(Aji.+,)
1/2
(Cji.+l)
1/2
.
~-,
//('lT"-I-r•ji.+l)
xl/2
for j = 1, 2 . . . . . n and obeying all precedence relationships.
(A.1)
At stage 2 ___J < n, compute
Fj(jo-j_l) =
min (F(ji, io)_2)), Vi~o'j_ 1
j = 1, 2 . . . . . n, j ~ o-j_ 1 and obeying all precedence relationships.
(A.2)
At the final stage J = n + 1, compute
F.+l(ioo-.) = min {F(ioi, io-.-1)}.
(A.3)
Vi ~ o',,
The function F(ji, io-j_ 2) in (A.2) and (A.3) is obtained as follows: 1. Compute
Cj(j°'J-1) = Cji q-
E
Ck'Tc,
k', Tc~o'y_1
ZJ(J°'J-1) =Aji +
Akt• •
Y'~ k',
kEorj_
1
P.J. Egbelu / Manufacturing systems with flexible routing
370
2. Compute E 1/2= [ Z j ( j o •- j _ l ) , , j1 1 / 2 ,
G1/2 = [ C j ( j 0 0 j _ 1)]1/2,
1
H1/2=
(7r+rCj(j00j_1))
) 1/2
"
3. Compute a, u, h, f, e, and g according to (29)•
4. ff(ji, i00j_2) = DCj(j%_ 1) + C[ h 2 _ f 2 _ g2 + e2]. The optimal operation sequence is found when Fn+l(i000~) is determined. The dynamic programming algorithm starts by computing Ft(jo-o). Thereafter, F2(j001) is computed. Given that the F2(J001) are known, F3(j002) can now be similarly determined. The algorithm recursively progresses from stage to stage until the final stage J = n + 1 is reached and F~+1(io00n) is determined optimally. Associated with F~÷1(io00n) is an optimal a) operation s e q u e n c e , 00n*+1 = {i0 --->00*}; b) setup cost, A* =An+1(00*+l); c) unit processing cost, C* = C n + 1(00"+1). If the optimal sequence 00*+~ contains any of the penalized links, then the final sequence is an infeasible sequence. Thus, the overall problem is also infeasible. Substituting P = P*, C = C*, and A = A * , the economic production quantity, Q*, and the optimal backorder size, b*, are computed. Appendix B Let the variables S, N, A1, A2 retain the same definitions as given in the earlier algorithms.
Step 1. Set N = n u m b e r of elements in set S; k = 1; o°*+1=~b; P=O; Cn÷l(00*+l)=An+l(O'*+l)= Fn+l(00*+l ) = 0% A"(i, j) =A'(i, j); C"(i, j) = C'(i, j). Step 2. a) Set/5 = k-th element of S. b) Set matrix C'(i, j) = C"(i, j); A'(i, j) =A"(i, j). c) Set Aij =Aii + A1 and Cii + A2 if Pij
Aij =Aij + A1 and Ci~ = Cij + A2 if operation j must precede operation i. Set C = Ci0,~÷l = 2A 2. Set Cjio=Cjio+ A2; Cj,~+I=Ci,n+I + A 2, and Cn+I,j=C~+I,j + A2 for j = 1 , 2 ..... n. Set Ci0j = Ci0j + A2 for all j = 1, 2 . . . . . n. Excluding the columns corresponding to the dummy operations i 0 and in+l, if for any other column j, Cij > A2 for i = 1, 2 , . . . , n, i :g j, stop. Problem is infeasible for production rates p _>15. Go to Step 11. Excluding the rows corresponding to the dummy operations i 0 and in+ 1, if Cij> A2, for any i as j = i 0, 1, 2 . . . . . n + 1, stop. Problem is infeasible for production rates P > P. Go to Step 11. Define the binary matrix B, where, Bij = 1 if Cij < A2 and i 4~j; B o. = 0, otherwise. Considering the submatrix of B(i, j) without row n + 1 and column n + 1, define the teachability list of node i 0. If all nodes from 1 to n do not appear in the list, go to Step 11. Problem is infeasible for production rates P >/5. Employ the modified shortest spanning tree algorithm (see Appendix C) to find the minimum-cost spanning tree using the matrix C'(i, j). If the minimal cost spanning tree is a Hamiltonian path, go to Step 7. If any link in the minimum-cost spanning tree is a prohibited link (i.e., the corresponding Pij 5), go to Step 11. Problem is infeasible for production rates P >/5. For any node i in the tree, compute a penalty value, fi, where
d) Set
Step 3.
e) f) g) a)
b)
Step 4.
a) b)
Step 5. a) b) c) d)
fi= { a( di - 2 )
ifdi>3, 0 otherwise, and d i is the degree of node i in the tree, a is a constant.
P.J. Egbelu / Manufacturing systems withflexible routing
371
e) Update the entries of matrix C'(i, j) as follows:
Ci;= Cij--[-fid-fj
for j = 0, 1, 2 . . . . ,n + 1; i = 0, 1, 2 , . . . , n + 1.
Step 6. Step 7.
Set f i = O for i = O, 1, 2, . . . , n + l, and go to Step 5. If the Hamiltonian path is technologically feasible, go to Step 8. Otherwise, construct a feasible sequence by using the Hamiltonian path as a starting sequence. If no feasible sequence is possible, go to Step 11. For production rates P > ,5, no feasible path is found. Step 8. Set o'n+1 = t h e Hamiltonian path; define An+l(O'n+l), Cn+l(Orn+l) using matrices A"(i, j), C"(i,j), and calculate F n + l(trn + 1) according to (2). Step 9. a) While satisfying production rate and precedence constraints, carry out pairwise interchange between the nodes to define a new sequence 8n + 1. b) If Fn+l(~n+l)
Appendix C
Minimum-cost spanning tree This algorithm is an adaptation of the shortest spanning tree algorithm given in Chapter 7 of Christofides [6]. The original algorithm is credited to Prim [23] and Dijkstra [9]. The modification in the algorithm presented here occurs in Step 4 to accommodate the precedence relationships that may exist between operations. Steps 1 through 3 are unchanged. The algorithm proceeds as follows: Step 1. Let T 1 = {io}, where i 0 is the starting dummy node and T 1 is a list or vector. Also set -41 = ~, where "41 is the set of links that form the minimum cost spanning tree. Step 2. For all nodes j ~ T1, find a vertex k ~ T 1 such that Ckj = min i ~ TI{Cij} =flj and set the label of node j to (ak, By)" If no such vertex is found, set the label of node j to (0, oo). Step 3. a) Choose the node j * such that By* = miny~rl{By}. b) Update T l, by adding node j * to T 1, and arc ( k * , j * ) to A 1. c) If all nodes are in TI, stop. A~ contains all the minimum-cost links for the tree. Otherwise, go to Step 4. Step 4. For all nodes j ~ T1, update the labels as follows: a) If By > C/.y and all the prodecessors of node j, qJj ~ T1, set Bj = Cy.y, the label for node j to ( a t . , Bly), and go to Step 3. ~by is the set of predecessor nodes for node j. If ~by= ¢, then ~bi ~ T 1 automatically. b) If Bj < Cy.y, go to Step 3.
372
P.J. Egbelu / Manufacturing systems with flexible routing
References [1] Bjorke, O., and Haugrud, B., "Mathematical methods in planning of machining operations", Annals of CIRP 16 (1968) 399-407. [2] Baker, K.R., Introduction to Sequencing and Scheduling, Wiley, New York, 1974. [3] Boothroyd, G., and Dewhurst, P., Product Design for Assembly, Boothroyd Dewhurst, Wakefield, RI, 1987. [4] Buffa, E.S., and Miller, J.G., Production-Inventory Systems: Planning and Control, 3rd edition, Irwin, Homewood, IL, 1979. [5] Chang, T.C., and Wysk, R.A., An Introduction to Automated Process Planning Systems, Prentice-Hall, Englewood, Cliffs, NJ, 1985. [6] Christofides, N., Graph Theory, An Algorithmic Approach, Academic Press, New York, 1975. [7] Cooper, L., and Cooper, M.W., Introduction to Dynamic Programming, Academic Press, New York, 1977. [8] DeGarmo, E.P., Black, J.T., and Kohser, R.A., Materials and Processes in Manufacturing, 6th edition, Macmillan, New York, 1984. [9] Dijkstra, E.W., "A note on two problems in connection with graphs", Numerische Mathematik 1 (1959) 269. [10] Dreyfus, S.E., and Law, A.M., The Art and Theory of Dynamic Programming, Academic Press, New York, 1977. [11] Egbelu, P.J., "Machining and material flow system design for minimum cost production", International Journal of Production Research 28/2 (1990) 353-368. [12] Egbelu, P.J., and Lehtihet, A., "Operation routing and lot sizing consideration in a manufacturing system", International Journal of Production Research 28/3 (1990) 503-515. [13] French, S., Sequencing and Scheduling, An Introduction to the Mathematics of the Job Shop, Wiley, New York, 1982. [14] Gaver, D.P., and Thompson, G.L., Programming and Probability Models in Operations Research, Brooks/Cole, Monterey, CA, 1973. [15] Groover, M.P., Automation, Production Systems, and Computer-Integrated Manufacturing, 2nd edition, Prentice-Hall, Englewood Cliffs, NJ, 1987. [16] Hax, A.C., and Candea, D., Production and Inventory Management, Prentice-Hall, Englewood Cliffs, NJ, 1984. [17] Houtzeel, A., "Computer assisted process planning - A first step towards integration", in: Proceedings, AUTOFACT WEST, Society of Manufacturing Engineers, Anaheim, CA, Nov., 1980, 801-808. [18] Johnson, L.A., and Montgomery, D.C., Operations Research in Production Planning, Scheduling and Inventory Control, Wiley, New York, 1974. [19] Kotler, R.A., "Computerized process planning -Part 1", Army Man TechnicalJournal 4/4 (1980) 28-36. [20] Kotler, R.A., "Computerized process planning - Part 2", Army Man TechnicalJournal 4/5 (1980) 20-29. [21] Kuziak, A., "Process planning models in Flexible Manufacturing Systems", Working Paper No. 07/84, Dept. of Industrial Engineering, Technical University of Nova Scotia, Halifax, NS, August, 198. [22] Nevins, J.L., and Whitney, D.E. (eds.), Concurrent Design of Products and Processes, A Strategy for Next Generation in Manufacturing, McGraw-Hill, New York, 1989. [23] Prim, R.C., "Shortest connection networks and some generalizations", Bell System TechnicalJournal 36 (1957) 1389-1401. [24] Salkin, H.M., Integer Programming, Addison-Wesley, Reading, MA, 1975. [25] Watson, E.F., and Egbelu, P.J., "Scheduling and machining of jobs through parallel nonidentical machine cells, Journal of Manufacturing Systems 8/1 (1989) 59-68. [26] Nnaji, B.O., and Kang, T.S., "Interpretation of CAD models through neutral geometric knowledge", AI EDAM 4/1 (1990) 15-45. [27] Joshi, S., and Chang, T.C., "CAD interface for automated process planning", in: Proceedings of the 19th CIRP International Seminar on Manufacturing Systems, Pennsylvania State University, University Park, PA; sponsored by CIRP Secretariat, Paris, France, 1987, 39-45.