~.
~.
1- I
EUROPEAN JOURNAL OF OPERATIONAL RESEARCH
I"lt'~lu' I
ELSEVIER
European Journal of Operational Research 88 (1996) 446-463
Theory and Methodology
Integration of operation routing and economic production quantity decisions in batch manufacturing systems Pius J. Egbelu Department of lndustrial and Manufacturing Systems Engineering, The Iowa State University, Ames, 1A 50011, USA
Received October 1993;revised April 1994
Abstract
Models for the determination of economic production quantity (EPQ) are always presented in batch manufacturing as if machine setup cost and unit processing cost are easily definable. In a job processing situation where alternate machines exist for each operation and the operations within the job can be sequenced in more than one way, selection of the operation sequence and the machine to use for each operation can significantly affect the EPQ and the total manufacturing cost. The function of process sequencing and routing specification falls in the domain of process planning while the determination of the EPQ is the function of inventory control. These two functions have been generally undertaken in isolation of one another in most manufacturing systems despite the significant influence of the process planning decision on the efficiency of the lot sizing policy. In this paper, a methodology to integrate the operation sequencing and machine routing decisions of the process planner and the work of the inventory control analyst in order to minimize total cost of manufacturing in environment with routing flexibility is presented. The model is sufficiently flexible to deal with many production planning situations in which alternate processes exist. Solution algorithms are developed and computational results based on some sample problems are presented and discussed. Keywords: Process planning; Inventory control; Integration; Routing; Dynamic programming; Batch size
1. Introduction
Driven by customer demand for diversity of products, many companies are engaged in the production of a large mix of products that are manufactured in small batches. A typical batch may visit several workstations before its processing requirements are satisfied. Because most machine usage is accompanied by some form of setup and tooling to get the machine ready for a new product, batch production can lead to unnecessary use of production time and cost if not adequately planned. To minimize setup cost, items can be produced in large quantities and stocked in inventory for satisfaction of future demands. Unfortunately, maintenance of inventory can be very expensive. To balance between setup and inventory cost, the production order quantity is often determined by employing Some economic model and solving the model to determine the best economic production quantity, Q [5,7,15]. 0377-2217/96/$15.00 © 1996 Elsevier Science B.V. All rights reserved SSDI 0377-2217(94)00209-6
P.J. Egbelu / European Journal of Operational Research 88 (1996) 446-463
447
One form of the economic production quantity (EPQ) model that is often used is as given in (1).
F = A D / Q + CD + ½rCQ(1 - D / P ) where: A = Setup cost each time production is undertaken. D = Annual demand for the product. Q = Production order-quantity, the decision variable. r = Inventory holding cost rate per dollar per year. C = Unit cost per part. P = Annual production rate. F = Total annual production and inventory cost associated with the decision to produce in batches of size Q. Usually P > D for batch production to be necessary. If P = D , continuous production is required to satisfy annual demand. If P < D, demand cannot be satisfied unless additional production resources are made available. Other variations of the above model exist and are dependent on the nature of the manufacturing operation. Despite the widespread acceptance of the models of the form given in (1), their applicability is not clear for manufacturing operations that have the following characteristics: 1) A job has multiple operations and each operation requires separate machine. 2) The operations within a job are not all related by precedence constraints. While some precedence relationships may exist between some operations, others can be performed in any position in the operation sequence. 3) Alternate machines exist for each operation. These machines, though similar in function, differ in make, age, and performance. 4) Machine setup time is operation sequence dependent and machine dependent within each production stage. 5) Unit cost per operation is also operation sequence dependent and machine dependent within each production stage. Under this kind of operating scenario, several questions immediately come to mind when one tries to use the above model or any of its variants. a) What is the value of the unit setup cost parameter, A? In the current models, this is given as a constant. In the operational scenario described above, the setup cost is dependent on the production sequence used. b) What is the unit production cost, C, since this is also sequence dependent? c) Should one first choose a production sequence, compute the total setup cost and unit processing cost and then use the computed costs to determine the economic production quantity? Obviously, this sequential decision approach cannot guarantee optimality. d) What production sequence should be used to ensure that the EPQ is determined based on the best sequence and that the best cost parameter values, A and C in Eq. (1) are employed? The selection of the production sequence is generally the decision of a process planner, who at his decision level, gives very little consideration to inventory control. Factors that influence the operation sequencing decision are cost, ease of manufacture, and inherent precedence constraints. The process planner makes the operation sequencing decision based on any precedence relationships that may be present and the minimization of unit processing cost without any consideration of how his process planning decision will affect economic production quantity. Often times, the process planner implicitly assumes a production quantity of one unit in making the operation sequencing decision [5,8,12,17,19,20]. Furthermore, no machine setup cost may be considered by the process planner. Based only on the unit processing cost and implicitly assuming the availability of one machine per operation or the homogeneity of all machines that are capable of performing the same function, the process planner selects an
448
P.J. Egbelu~European Journal of Operational Research 88 (1996) 446-463
operation sequence [5,8,17,20]. With the operation sequence decision made, the exact machine(s) from the set of alternate machines for each operation (if alternates exist) are thereafter chosen. It is this pre-specified operation sequence and the machines so selected that are passed on to the inventory control analyst who then uses the sequence to compute the setup cost as the sum of the setup cost of the individual machines chosen by the process planner. The unit processing cost is also determined by simply summing the processing cost over the same set of machines. Using the setup and the processing costs calculated, the inventory control analyst determines the economic production quantity (EPQ) based on the model of (1) or one of its other variants. The solution approach of first specifying the operation sequence, followed by selecting the machine to use for each operation (where alternates exist) and finally determining the economic production quantity as described above cannot guarantee optimality of total manufacturing cost, F, since the operation sequence and the machine selection are based only on unit processing cost. The sequence dependent setup and processing costs must be clearly considered in specifying the order of operations, the machines used, and the production quantity. What is required is a procedure that integrates the operation sequencing or routing problem with the economic production quantity determination problem while recognizing any operational constraints that may be present. Such constraints may be in the form of precedence relationships between operations. For example, a hole cannot be threaded unless it has been drilled. In this paper, a methodology to optimally and simultaneously determine the operation sequence to use, the machine to use at each production stage, and the economic production quantity in order to minimize manufacturing cost in a multi-stage production system is presented. The machines in each stage are considered to be similar in functionality but differ in efficiency and cost performance. But where all the machines in each stage are similar in performance, the problem simplifies to determining the operation sequence and the EPQ since any machine within any stage will be optimal. It is assumed that only one machine per stage is required to meet production volume.
2. Model development Fundamental to the model presented here is the explicit recognition of the sequence dependent setup and processing costs associated with manufacturing operations. The concept of sequence dependent setup times in scheduling problem is all well known to researchers [1,2,3,9,21]. The sequence dependent setup problem in scheduling involves n jobs to be scheduled through a single stage or multi-stage facility. The problem is to determine the order in which the n jobs are to be processed on the facility such that the total setup cost or time is minimized [1-3,9,21]. The operation sequencing problem is similar to the job sequencing problem except for a few differences. a) The operation sequencing problem deals with a single job [16] instead of n jobs as in scheduling. b) The operation sequencing problem deals with a multi-stage production system as against the single stage production system that typically characterizes the n job, sequence dependent scheduling problem [3,9,15]. c) In the operation sequencing problem, not only may the setup costs be sequence dependent but also the unit processing cost. In the single facility, n job sequencing problem, processing cost is usually assumed to be independent of job sequence. The concept of operation sequence dependent setup and processing costs can be illustrated in the manufacture of the part shown in Fig. 1. Operations required on the part are turning, milling, and drilling. Suppose the drilling operation is undertaken first, followed by milling (surfaces S 1 and S 2) and then finally by turning (surfaces S 3 and $4). Obviously, the fixtures and jigs required as well as the time used in performing each operation will be different if the processing started with turning, followed by milling, and finally drilling. Furthermore, the volume of material to be machined out at each operation
P.J. Egbelu / European Journal of Operational Research 88 (1996) 446-463
i~
449
~- I
10"
A
10"
holes
~=~l
B
cylindrical surface flat surface fla I surface
FINAL WORKPIECE
Fig. 1. Part illustrating operation sequence dependent setup and processing cost.
or the length of the hole to be drilled is dependent on the operation sequence. With three operations, there can be a maximum of 6 possible operation sequences. Due to precedence constraints, some of the sequences will be infeasible and can be discarded immediately from further considerations. The sequence chosen will obviously affect total setup and unit processing costs and consequently, the economic production quantity. Determination of the optimal sequence and E P Q is the focus of this research. In presenting the model, the following variable definitions are used: n -- Number of operations on the job. ni = Number of alternate machines available for operation i. SUke = Setup cost for operation k on machine ~ if it follows operation i on machine j. The setup cost may include the material handling cost for moving the batch from machine j to t'. Cik e = Unit processing cost per part for operation k on machine t° if it follows operation i. This cost is assumed independent of the machine used in performing operation i. The assumption of machine independence is justified by the fact that any machine that can perform operation i will impart the same shape change on the job after operation i. Otherwise, the machines cannot be assumed to be functionally similar. 1 if operation k on machine follows operation i on machine j Xuke = 0 otherwise. U, D P r F
= Position of operation i in the operation sequence. Note that the i-th operation is not necessarily sequenced in the i-th position. = Annual demand for the product. = Annual production rate for the product. = Annual inventory carrying cost rate per dollar. = Total manufacturing cost.
P.J. Egbelu / European Journal o f Operational Research 88 (1996) 446-463
450
Given the above variable definitions, the operation sequencing, machine selection and EPQ determination problem can be modeled as an integer programming problem as in Eqs. (2)-(9). ni n+l
Min
F=
E i=Oj=l i~k
E
nk
E(SijkeXijk¢
)a
-t-
D j~o
k=lf=l
+ r__
i~k
n~=1 n+X n k
E E CikeXijk¢
1
k=lt'=l
E E E
(2)
2 i=Oj=lk=le=l i~k
n
s.t.
ni
Y'.
nk
EXijke=l
fork=l,2
.....
n+l,i~k,
(3)
i=Oj=l[~l nl n + l
nk
E ~, •Xijkt =1
fori=0,1,2
.....
n,i~k,
(4)
j=0 k=l l=l
ni
nk
Ui-Uk+(n+l) ~ ~.,Xijke
(5)
j=l g=l
U/< U,. if operation i must precede k,
(6)
Uo = 0,
(7)
U,+1= n
+ 1,
X i j k t = 0 or 1
(8) for i = 0 , 1 . . . . . n , k = l , 2
..... n+l.
(9)
Notice in the model that operation indices include i = 0 and k = n + 1. Operations i = 0 and k = n + 1 are essentially dummy operations that represent the raw material state and the finish part state respectively for the batch. Operation i = 0 starts the operation sequence while operation k = n + 1 terminates the sequence. These dummy operations obviously exist in only one form. Thus, only one machine option exist for these operations. The machines associated with dummy operations are also dummy machines. The equations in the above model require some explanation. Eq. (2) is the objective function. The three terms present in the function are the same as those in Eq. (1). Constraint (3) ensures that with the exception of the dummy operation (i.e., i = 0 with n = 1), all other operations must have only one predecessor operation and only one machine per operation is used. This constraint also ensures that the dummy operation is the first in the sequence. Constraint (4) is similar to (3) except that it ensures that each operation has only one successor operation except operation i = n + 1. Constraint (5) ensures that all operations are sequenced. The variable U~ corresponds to the position of operation i in the sequence. This constraint is typical of an integer programming formulation of the Traveling Salesman Problem and can be found in Salkin [18] and Gaver and Thompson [14]. Constraint (6) accounts for any precedence relationships that may exist between operations. Constraints ( 7 ) a n d (8) ensure that the dummy operations initiate and terminate the operation sequence. The last constraint is the integer restriction on the variables Xiike.
3. Solution procedure As can be seen, the operation sequencing and lot sizing model presented above is nonlinear. Although the constraints are all linear, the objective function is nonlinear on Q, the batch size. Thus, linear integer
P.J. Egbelu/ European Journal of Operational Research 88 (1996) 446-463
451
programming solution technique is inapplicable. Beside the nonlinearity of the objective function, the large number of constraints present for large n makes solution by integer programming technique very difficult. As a result, solution by some other procedure is required. Suppose the problem is relaxed by suppressing all constraints. The model then simplifies to (10): Min
F=
~_~n'n~ lnk ~D ~0 n ' n + l n k ~ Y'. (SiikeXijke)~ + D, ~ E E CikeXijke j=Oj=l k=lg=l = j=l k=l[=l i~-k i~k n ni n + l nk
+ ( 2 ) ~ y" ~ ~CiKeXijkeQ(1--D/P)"
(10)
i=0 j=l k=lf=l i#=k
Taking the derivative of F with respect to Q, setting it to zero and solving for Q yields (11) and (12) respectively. bE n ni n + l nk O n nl n + l nk ~----~=--E E E E ( S i j k g X i j k g ) - ~ W C l E E E ECikgXijk¢ = 0 (11)
i=0 j=l k=l g=l
i=0j=0k=l g=l
where t~1 = lr(1 - D / P ) . This gives
[ ~-'n ~n i Vi'n+ 1S'n3c ~ y ]2 ~'i =OZ"j = 1 "~"l'kffi1 ~" g ffil'-'ijk f'eXijk ! I Q = C 2 rn vn, T ' n ~ ~ r'---------"Y~[ ' t.,,.~i=O~..,j=O/...~k=O~...~ g=l'~,-'ikl-'Xijkf J
(12)
C 2 = (D/fOwz. Substituting Eq. (12) for Q into Eq. (10) yields
where
DO__(~ n/ n+l nk Min
F =
E 1"~2 ~ i = 0 j = l
ni
E E k=l [=1 n+l
)1/2/( ~ Xijk g Xijk g
)1/2
ni n+, nk
E
E
E Cik g Xijk g
i=0 j=l kffil/=l
nk
Y', E Y', CikeXijke
+D
i=0 j=l k=l g=l
( =~0n, n~l n' -'1"CLC2
i
E
)1/2/( ~
E Sijk,Xijk•
j=l k f l g = l
ni n+l nk )1/2 E Z E Cik,XijkC •
i=Oj=l k=lf=l
(13)
Notice that
D/C 2 =
C1C 2 =
(½rD(1 - D/P) ) '/2 =
C3.
Thus, the original problem (Eqs. (2)-(9)) becomes Min
~=oj~=' ~.. ~_. Si,keXi,k,
F=2 i
"4-0
s.t.
k=l/=1
ni n+ 1 nk E E E Cik'Xijk'
i=O jffil kffil gffil
constraints( 3 ) - ( 9 ) .
~, ~.,
CikeXi,k,
i=0 j=l k=l
(14)
P.J. Egbelu ~European Journal of Operational Research 88 (1996) 446-463
452
Letting ni n+l nk
11/2
i~= 0 , =E1 k ~ l l ~ l S i j k l X i j k ' ]
Yl=
y2 =
'
E IF_, E C,jk,xik,
(15)
(16)
i=0 ~=1k=1¢=1
This simplifies Eq. (14) to
Min F = 2c- yly24-
.
(17)
The objective function (17) is transformed into a separable program [101 as shown in (18) through (22). Min
F = 2 C 3 ( y 2 - y 2) +DYE2
(18)
s.t.
Ya --Y4 =Yl,
(19)
Y3 -- Y4 = Y2'
(20)
n
ni n + l nk
y2= E
)-"- E ~-~.SiikeXijke, i=0 j = l k = l f = l n
y2= E
(21)
ni n + l nk
E
E
E CiktXikt •
(22)
i=0 j = l k = l ta=l
The separability of Eq. (17) to Eq. (18) is achieved by replacing the product term Y l Y 2 by y 2 _ y2 and adding constraints (19)-(22) to the original problem. From Eqs. (19) and (20), the following relationships for Y3 and Y4 are obtained: Y3
1
~(Yl +Y2),
Y4 = ½(Y2--Yl) •
(23)
Adding constraints (3)-(9) to equation set (18)-(22) defines the original problem. The transformed problem is now solvable by dynamic programming technique [10,11]. To develop the necessary recursive relationships for the dynamic programming (DP) algorithm, the following additional variables are defined: Zi -- Set of machines that operation i can be performed on. Im = An optimal ordered partial sequence of m operations already assigned the last m positions in the sequence. ijIm = Operation i on machine j ~ Z i directly precedes the operation at the head of the ordered partial sequence I m. Mm = Set of selected machines corresponding to the operations in sequence I m. Fm(iJ, Ira_ 1) = Cumulative sum of the setup and processing cost associated with the operations optimally sequenced in the last m positions if t h e ordered partial sequence I m_ x is preceded directly by operation i on machine j. I0 -- The set I m with only the dummy operation n + 1 assigned position. I0 = An empty set indicating that no operation is assigned position yet. With operation n + 1 fixed in the last position in the sequence, the solution method is modeled as a backward numbering, (n 4- 1)-stage dynamic programming problem. The algorithm starts at stage 1 to determine which operation should directly precede operation n 4- 1 without violating any precedence constraints. Thereafter, the algorithm works backward stage by stage until the (n + 1)st stage is reached. At the (n 4- 1)st stage, operation '0' is brought into the sequence in an optimal manner.
P.J. Egbelu / European Journal o f Operational Research 88 (1996) 4 4 6 - 4 6 3
453
With I 0 implying that operation n + 1 (i.e., the dummy operation) is already assigned the last position in the sequence, the backward recursive relationships for the dynamic programming model is as follows: 1) At stage 1 while recognizing precedence constraints, compute Fl( ij, io ) = 2C3(SijolCiol) 1/2 + DCiol,
i = 1, 2 , . . . , n,
j = 1, 2 .... , n i.
2) At stages 2 ~
F,,,(ij, lm-O =min{f(ijke, keIm_2)}, k ~ I m _ 1, g ~ Z k,
i--#k,
i--/:k,
i= 1, 2 ..... n,
j=l,2,...,n
i,
i ~ I , n _ 1,
k~O, where the function f(ijk [, k,e In_x) is the cumulative cost associated with having operation k on machine g at the head of the partial sequence I m_ ~ and operation i on machine j directly preceding operation k ~ I m_ 1 on machine t~~ Z k. Computation of f(ijk g, k g i n _ 2) is as follows: a) B(ij, I,,,_a)= Cike+ B ( I m _ O and A(ij, Im_l)= SijkeWA(Im_l ), where B ( I o) = A ( I 0) = 0. B(Im-1) = ~ ' i k' ~ l m --I,t e M l). = ~ i k ~ I m--ldlg ~M Sly k e ' . mC i k [ and A(Im_ . where i precedes k directly and machine j is used for t anal machine g is used for operation k. b) Compute Yl = [A(ij, Ira_l)] 1/2 and Y2 = [B(ij, lm_l)] 1/2, Y3 = ½(Yl +Y2) and y._4.= ½(Y2 --Yl), f(ijk g, k glm_ 2) = 2C3(Y~ -y42) +Dye. c) At stage n + 1, again with precedence relationships taken into account, compute F,+I(01, I n ) = m i n { f ( O l k ¢ ,
k g I , _ l ) }.
=Vk/. =gEZ
k
The value of Fn + 1(01, I n) corresponds to total annual cost which is composed of setup cost, processing cost, and inventory holding cost. If Fn+l(01, I n) = f ( O l k *g *, k * [ *In-l), then the optimal production batch size, Q *, is given by
Q*=
½(1----D/P)
~Ok.;'.+B(~)
=
½(1-D/P)
B(In+l)
"
The optimal routing is 0 ~ I n and the optimal total cost is Fn + 1(01, I,). To demonstrate the computational requirement at each step of the algorithm above, consider a situation for which I m = 13 = {2, 3, 6, 7}. In other words, operation 7 constitutes the dummy operation while operations 2, 3, and 6 occupy the last three positions in the sequence. Assuming each operation can be processed on any one of 3 machines and operation 5 is to be evaluated to occupy the fourth position from the end of the sequence, then the following computation is required: F4(51 , 13) -- min{f(5121, 21/2) , f(5122, 22Iz), f(5123, 2312), f(5131, 3112), f(5132, 32/2) ,
f(5133, 33Iz1), f(5161, 6112), f(5162,
62Iz), f(5163, 6312)},
F4(52, 13) = min{f(5221, 21Iz), f(5222, 2212), f(5223, 2312), f(5231, 31Ia), f(5232, 3212),
P.J. Egbelu~European Journal of Operational Research 88 (1996)446-463
454
f(5233, 3312), f(5261, 6112), f(5262, 6212), f(5263, 63/2) }, /74(53, I3) = min{f(S321, 2112), f(5322, 2212), f(5323, 2312), f(5331, 3112), f(5332, 3212), f(5333, 3312), f(5361, 61/2) , f(5362, 6212), f(5363, 63/2) }, where: 12 = {3, 6, 7} in the first three terms of the right hand expressions. I 2 = {2, 6, 7} in the 4th, 5th and 6th terms of the right hand side of each expression. I 2 = {2, 3, 7} in the last three terms of the right hand side of each expression.
4. Heuristic algorithm Although the DP technique presented above will solve the model, the techniques does suffer from high storage and computational requirements as the number of operations becomes large. Thus, the use of heuristic approach may be necessary for solving large size problems. Such a heuristic algorithm is developed and presented below. The heuristic algorithm finds a Hamiltonian circuit through the network. The algorithm operates as follows. First, given a batch size Q, a consolidated table of dependent costs is formed according to the relationship 1
Tijkk, ~- Sijkk, D / Q + OCik k, + ~rCikk, Q(1 - D / P ) . In other words, the entries of the consolidated cost table are the elements Tijkk,. The table elements are thereafter arranged in a nondecreasing order with the lowest values at the front of the ordered set. The ordered cost elements are the network arcs arranged in a nondecreasing sequence. The ordered arcs are systematically formed into chains or subnetworks (or simply called 'subnets') based on minimum cost and operation sequence feasibility. When all operations have been included in the subnets, the subnets are combined to form a feasible path that includes all operations. The path so formed is recorded and improved paths are searched for. The search process involves the creation of new subnets and the destruction of subnets previously created since no operation can appear in two subnets at the same time. The process of subnet creation and destruction, followed by the subnet combination process is continued iteratively until no further improvement is found. The last chain of operations with the lowest total chain cost is adopted as the overall solution to the problem. The optimum size of the batch size can be obtained through an iterative search procedure. Each iteration generates a value Q, the batch size. Using the value of Q so generated, the manufacturing cost is calculated based on the selected machine routing. This process of generation of Q and calculating the manufacturing cost is continued until the minimum manufacturing cost is found. The value of Q and the set of machines that yield the minimum cost become the overall optimum solution. Because the batch completions cost function is unimodal on Q, the Fibonacci search algorithm [4] is used to search for the optimum batch size, Q *. The procedure is based on the Fibonacci sequence {Wk} defined as follows:
W(k+l)=Wk-l-W(k_l),
k = 1, 2 , . . . ,
I4"0=I411=1.
The operation sequence generation algorithm is imbedded within the Fibonacci search algorithm. The two tier solution algorithm is described below. Let: F(Q) = The minimum manufacturing cost for the batch size Q. G(Q)= Optimal machine routing corresponding to a batch size Q. a k = The lower limit on the interval of uncertainty as required by the Fibonacci search algorithm. bk = The upper limit on the interval of uncertainty.
P.J. Egbelu / European Journal of Operational Research 88 (1996) 446-463
455
Step 1. Choose an allowable final length of uncertainty L > 0. Let [al, bl] be the initial interval of uncertainty, and choose the n u m b e r of observations N to be taken such that (b I - a O / W N < L. Step 2. Set k = 1, and let A k = ag + ( W ( N _ E ) / / W N ) * ( b k -t- a k ) and Ix k = a k + (W(lV_I)/WN)*(bk - ak). Step 3. Using the values of Ak a n d / x k, and D, P, and r, invoke the heuristic algorithm to find F(2tk), G(Ak), and F(lx k) and G(~k). Step 4. If k < N - 1, then go to Step 5. Otherwise, stop, the optimal batch size Q * (i.e., Q * = Ak or Q * =/x k) is found. The optimal sequence is g *. Step 5(a). For F(A k)* ~
bk + 1 = ~'l'k, '~k+l = ak+l + (WN--k-z/WN-k)*(bk+l
--
ak+0,
g* = G(Ak) , Q* = Ak, f * = F(Ak). Step 5(b). For F(A k) > F(l~k), set ak+ 1 ~ Ak, Ak+ 1 = / d ' k ,
b k + l = b k, /A,k+ 1 = ak+ 1 d- ( W N _ k _ l / / W N _ k ) * ( b k + l
-- a k + l ) ,
g* = G(IZk), Q* = Ixk, f * = F(tXk). Step 5(c). Replace k by k + 1 and go to Step 3. The heuristic algorithm takes as input Q, D, P, and r. The basic algorithmic steps are given below. An arc, n, is described by the following elements: (a) a tail node, (i, j), and (b) a head node, (k, k'); i and j denote operation and machine of the tail node of arc n respectively. Similarly, k and k' denote operation and machine of the head node of arc n respectively. The algorithm in its general form proceeds as follows (for algorithmic detail, see Egbelu and Wu [13]).
Step A. L
Step A.II. Step A.III.
Step A.
Based on D, P, r, and Q, where Q = A or/~, compute matrix of costs, T/jkk, for all arcs. Set F(Q)* = 00 and G * = ¢, where F(Q)* is the current best objective function value and G * is the current best subnet set. Use the cost matrix to form a nondecreasing ordered list, V, of T#kk,. Starting from the arc n with the lowest cost T~jkk, in the set V, consecutively select arcs from the set V to build subchains (or simply called subnets) of operation sequences. Continue to add arc(s) to existing subnets or form new subnet until all operations belong to one and only one subnet. Let V = {nondecreasing s e t of all arcs ordered in a nondecreasing order of arc cost} and G -- {all subnets}. G o to Step A.V. Select the arc n with the lowest cost T~ikk, in the set V and remove arc n from V. To insert the selected arc, find the subnets say, E r and E s in G which contain the operations i and k in arc n respectively, and create five new subnets say E t, Er,, Er,,, Es,, and E~,, with (a) E t consisting of all nodes before the node with operation i in E~ if the tail node in arc n is the same as the node in Er, followed by arc n, and followed by all nodes after the node with operation k in E~ if the head node in arc n is the same as the node in Es; (b) E r, consisting of all remaining nodes (i.e. nodes not in E t) before the node with operation i in Er if the tail node in arc n is not the same as the node with operation i in Er; (c) Er,, consisting of all remaining nodes after the node with operation i in E r if the tail node in arc n is not the same as the node with operation i in Er; (d) Es, consisting of
456
P.J. Egbelu~European Journal of Operational Research 88 (1996) 446-463
all remaining nodes (i.e. nodes not in E t, Er,, and E~,,) before the node with operation k in E s if the head node in arc n is not the same as the node with operation k in Es; (e) and E~, consisting of all remaining nodes after the node with operation k in E~ if the head node in arc n is not the same as the node with operation k in E s. Eliminate E r and E r If either or both E r, and Er, are single node subnets, create a new subnet E r to link the operation in E r, and the operation in E t, with the smallest arc cost between the operations, and eliminate E r, and Er,. Similarly, if either or both E~, and E~,, become single node subnets, create a new subnet El,, to link the operation in E,, and the operation in E r with the smallest arc cost between the operations, and eliminate E~, and E~,,. Fig. 2 is a graphical illustration of the various scenarios of E~ and E~ and how arc n is inserted to form new subnets. Cases 1 through 8 in the figure refer to the situation where E~ and E~ are the same subnet while cases 9 through 12 refer to situations where E r and Es are not the same subnet. Step A. V. Using subnets as nodes, construct a F r o m - T o Cost Matrix. Model problem as a Traveling Salesman Problem (TSP). Step A. VI. While obeying any precedence relationships between subnets based on operation precedence relationships, solve the TSP problem to sequence the nodes. Let F(Q) be the cost associated with the TSP problem and G the operation routing associated with F(Q). Step A. VII(a). If F(Q) < F(Q)*, then set F(Q)* = F(Q) and update G* = G. Step A. VIi(b). If all nodes are in one subnet, then stop and the best solution is found. Otherwise, go to Step A.IV. In problem situations where precedence constraints exist between the operations, Steps A.IV and A.V can easily be modified to account for the constraints. To illustrate the Fibonacci heuristic algorithm presented, consider the manufacture of a product. The algorithm is applied as follows: Step 1. Choose L = 1 and let a 1 = 1 and b I = 30000. Thus, for (b I - a l ) / W N <~1, the smallest n u m b e r of iterations N = 21. Step 2. With k = 1, it follows that )k 1 = 11460 and/-gl = 18541. Step 3. Use the heuristic algorithm to get F(Q)* and G(Q)* where Q = Ar F(A 1)* = 161956.79 and G(AI)* = 4(1) ~ 3(1) --* 5(3) ---}2(3) ---, 1(1) ~ 6(3). Similarly, compute F(Q) and G(Q), where Q = # r F(/Zl)* = 162059.27. Step 4. Since k < N - 1, go to Step 5. Step 5. Since F ( ; q ) * < F(/Zl)*, set a 2 ffi 1, /z 2 ffi 11460, b 2 = 18 541, A2 = a 2 + (Wls/W2o)*(b 2 - a2), k = 2, and go Step 3.
5. Illustrative problem T o demonstrate the use of the model as presented, consider the manufacture of a product whose annual d e m a n d is approximately 30000 units. Six operations are required by the product. These operations are labeled 1, 2, 3, 4, 5, and 6. Since the shop has a production capacity of 75 000 units of the product annually, batch operation is necessary. Each operation can be performed on any one of the several machines capable of performing the tasks. The n u m b e r of alternate machines available for each operation is summarized in Table 1. Table 2 contains the sequence dependent processing cost, Cik e, per
P.J. Egbelu / European Journal of Operational Research 88 (1996) 446-463
457
Table 1 Number of alternate machines per operation Operation number
No. of alternate machines
1 2 3 4 5 6
3 4 2 3 3 5
unit part. The sequence dependent setup cost, S i j k l , is shown in Table 3. This setup cost includes material handling cost for moving the batch from one machine to another. There is a $10.0 fixed cost for moving the finished parts from any machine to finished parts warehouse. Prevailing interest rate is 10%. Given the operational situation described, (i) What is the optimum order to sequence the operations, which machine within the available alternatives should be used for each operation, and what should the production batch size be in order to minimize production cost. Assume that any operation sequence is technically feasible. (ii) Same as in (i) except that operation 4 cannot be performed unless operation 6 is first performed. Similarly, operation 2 must be performed before operation 5. Using the solution approach presented, the following results are found. (i) Unconstrained case (i.e. no precedence relationship present). (a) Using Dynamic Programming Method: Optimal operation sequence and routing: 5(2) -+ 2(3) ---, 4(2) --, 3(1) ---, 1(1) --, 6(3), where i ( j ) = operation i is processed on the j-th machine within the machine group that can perform operation i. Optimal economic production quantity Q * -- 14 569 units. Total manufacturing cost F " = $159 001.44. Total processing c o s t / p a r t = $5.15. Total setup c o s t / b a t c h = $1093.00. (b) Using Heuristic Algorithm: Optimal operation sequence and routing: 4(1) ---, 3(1) ~ 5(3) ~ 2(3) ~ 1(1) ~ 6(3). Optimal economic production quantity Q * --- 13 864. Total manufacturing cost F * = $161 875.59. Total processing c o s t / p a r t = $5.25. Total setup c o s t / b a t c h = $1013.00. (ii) Constrained case (i.e. precedence relationship present). (a) Using Dynamic Programming Algorithm: Optimal operation sequence and routing: 1(1) ~ 6(3) ~ 2(1) ~ 4(2) ~ 3(1) ~ 5(3). Optimal economic production quantity Q * ~ 13 260 units. Total manufacturing cost F * = $190 932.31 Total processing c o s t / p a r t = $6.20. Total setup c o s t / b a t c h = $1090.00. (b) Using Heuristic Algorithm: Optimal operation sequence and routing:
a
2.80 0.90 1.65 2.75 2.65 1.90
1
1.95 0.75 1.50 2.60 2.25 2.50
a Dummy operations.
1 2 3 4 5 6
0
Operation
2
1
Operation
2.30 1.00 2.25 3.15 1.90 2.95
3
2
(Cij t)
3.75 4.05 1.30 1.50 . . . 2.10 2.70 2.80 2.50 0.70 0.85 1.00 1.50
1
2
Table 2 Sequence dependent unit processing cost
2.95 0.95 . 2.00 2.1 0.50 1.25
3
2.35 2.75 0.90 1.72
3.10 1.42
4 1.70 1.09 1.90 0.85 3.65 1.15
1
3
1.55 1.60 2.10 1.00 3.40 1.40
2 1.85 2.75 1.45 1.90 3.00 2.10
1
4
2.60 2.40
2.14 3.11 1.10 1.75
2 2.00 2.50 1.30 2.05 2.40 2.80
3 0.95 0.80 0.40 1.10 0.80 3.50
1
5
0.75 1.10 0.35 0.93 0.95 3.10
2 0.99 1.45 0.50 0.85 0.65 3.90
3
1.50 0.50 1.15 2.50 3.40 1.40 . .
1
6
2.25 0.90 1.02 2.15 3.10 1.45 .
2
1.80 0.45 1.50 2.00 3.75 1.25 .
3
.
2.45 1.01 1.25 2.05 3.99 1.60
4
2.60 0.80 1.42 2.30 2.95 1.80
5
7 a
0 0 0 0 0 0 0
m
I
o~
e,
t~
oo
1 1 2 3 1 2 3 4 1 2 1 2 3 1 2 3 1 2 3 4 5
0 a 1
a Dummy operations.
6
5
4
3
2
Mach. no.
Operation
(Sij k e)
195 -
2
175 165 160 175 165 165 153 175 190 160 185 189 160 175 160 155 170
-
-
-
1
205
185 155 145 170 225 145 155 165 140 170 160 155 180 145 165 200 175
Machine no.
1
Operation
Table 3 Sequence d epen d ent setup cost
160 170 155 167 180 185 160 180 184 155 135 167 189 150 190 175 182
-
-
-
216
3
165
140 . . . . 175 170 199 158 195 225 195 170 207 188 185 150 145
155 . . . . 155 150 215 167 205 145 175 190 168 195 175 159 165
185 130
2
153
175 140
1
2
. . . .
185 . . . . 190 175 185 200 211 150 160 183 185 165 193 165 156
145
166 155
3
130 195 210 149 173 180 195 150 200 130 150 195 201
150
160
195 170
4
153 170 165 145 160 130 185 170 165 180 162 157 160 199 156 180
155
170 165
1
3
165 150 168 160 175 145 162 170 143 150 195 109 147 165 177 193
175
210 160
2
160 190 170 155 170 184 200 157 215 175 145 206 180 170 190
154
180 180
1
4
177 180 175 163 150 163 190 165 190 180 165 190 168 230 195
185
160 160
2
158 185 160 168 165 150 170 180 200 188 155 185 150 195 200
175
155 195
3
160 155 175 140 175 130 205 180 145 175 179 145 165 157 180
140
165 190
1
5
156 145 160 155 165 190 175 170 175 190 157 202 176 168 195
137
189 180
2
172 160 150 170 173 150 210 155 160 182 188 173 235 211 184
167
195 140
3
180 202 155 175 140 150 190 185 195 180 145 165 155 . . . . .
163
207 160
1
6
170 190 130 157 180 165 188 170 201 175 210 186 195 . . . . .
165
190 150
2
. . . . .
160 130 165 178 165 145 178 168 190 155 158 180 170 . . . . .
145
185 185
3
172 220 190 200 180 145 203 150 165 163 175 185 180 . . . . .
150
201 152
4
-
170 180 150 190 185 180 195 144 175 160 180 165 178
155
177
5
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
10
10
1
7 a
I
4~
r~
r~
}
P.Z Egbelu~European Journal of Operational Research 88 (1996) 446-463
460
(1) Er Et ( ~ ~ ' ~ (2) Er Et (3)
Er"( ~ ~ )
(!)4b-Q-4><2>~
Er
Et
(4) Er Et (5)
(!)-4M@ ~,(bKb ~,(i)
Er El"@
Et (6)
Er
@-4F~(b ~r'(b-@ ~'(i)
Et (71
Er Et
(8)
E s ' ~
@_@ er,@ E~(!) Es.@
Er Et
E,.C)
(9) Er
er.~
Et
(10) Er ( Et
~
es @ - . ( ~ - ~
(11) Er Et (12) Er Et(~~
~"G - ~
Er'@
E,@
E..@
e~@
E.,@
~,(!) ~,(!) ~,(i)
Fig. 2. Illustration of arc n ((i, j) --* (k, k')) insertion scenarios.
1(1) ~ 6(3) ~ 2(1) ~ 4(2) ~ 3(1) ~ 5(3). Optimal e c o n o m i c production quantity Q * = $13 244. Total manufacturing cost F * = $190 932.43. Total processing c o s t / p a r t = $6.20. Total setup c o s t / b a t c h = $1090.00.
P.J. Egbelu / European Journal of Operational Research 88 (1996) 446-463
461
In the constrained case (ii), notice that there is a difference in the value of Q * obtained from the heuristic and the dynamic programming method despite the fact that the operation sequence and total system cost are the same under both techniques. This is because in the heuristic case, the value Q * is obtained by a search procedure as against the exact procedure of the DP method. The fact that the objective function value is the same for different values of Q (i.e., Q * = 13260 and Q * = 13244) suggests that the function is almost flat in the neighborhood of Q *, the true optimum. From the two sets of results presented, the impact of precedence constraints on process planning and inventory control can be seen. The precedence constraints not only alter the operation sequence and machine routing used but also led to higher annual manufacturing cost. Based on the dynamic programming solution, the increased cost due to precedence relationships is approximately $31 139 annually for the example problem. The difference in manufacturing cost due to the presence of even a simple precedence constraint in the process plan highlights the need for a thorough analysis of the process plan by the process planner. Precedence relationships when not properly analyzed and justified may represent unnecessary cost to the system through increased production and inventory costs. Therefore, only the absolutely necessary precedence constraints need to be included. The current procedure of first defining the operation sequence by the process planner and subsequently imposing the decision on the inventory control analyst is equivalent to providing the inventory control department a completely sequence constrained problem. This is indeed a costly practice. Optimization procedure of the form presented here can be used to define a sequence that is optimal in terms of both routing and inventory control decision. Similar comments also apply to the choice of machine routing when alternate machines exist and operation sequencing flexibility is present. Arbitrary machine selection also represents additional cost to the system.
6. Computational experience To gain some insight on the computational efficiency of the proposed algorithm, some test problems were run. The number of operations on the test problems ranged from 4 to 10. The number of alternate machines for each operation was drawn from a uniform distribution with parameters 2 and 5 machines inclusive. In other words, the number of alternate machines ranged from 2 to 5 machines. The sequence dependent setup and unit processing costs were also drawn from a uniform distribution. For the setup costs, the distribution parameters were $50 and $300 while for the unit processing costs, they were $0.50 and $3.50. No precedence constraints were considered in the test problems.
Table 4 Computational results for algorithm DP Number of operations
Number of problems
4 5 6 7 8 9 I0
5 5 5 5 5 5 5
Cost Range 88672.87-152746.44 92107.19-156942.19 123 906.37-148 569.50 131276.25-152557.25 142 606.25-171098.37 156288.81-196709.62 186784.69-205551.94
Heuristic Mean
Mean CPU (sec)
Cost Range
Mean
Mean CPU (sec)
108453.58 110378.94 133 227.22 142857.49 153 733.90 187283.62 196178.14
0.0215 0.0435 0.0862 0.2360 0.5257 1.4130 3.2962
90025.31-153837.94 93 182.37-157269.81 125 025.81-148 893.94 132608.31-154837.94 143 369.62-172 698.12 156837.94-198685.69 187153.62-206326.53
109675.55 111781.74 134 771.10 144663.87 154 915.46 188546.22 196749.90
0.0033 0.0039 0.0093 0.0120 0.0162 0.0243 0.0340
462
P.J. Egbelu/ European Journal of Operational Research 88 (1996) 446-463
The algorithm was coded in VS F O R T R A N , Version 2 and was run on IBM 3090-600S computer at the Center for Academic Computing at The Pennsylvania State University. The computational results as obtained on the test problems are as given in Table 4. For each problem size defined by the number of operations, five problems were solved. As the table shows, mean CPU time increases exponentially as the number of operations increases using the Dynamic Programming (DP) algorithm. For eight operations or less, the mean CPU time is well below 1 second. As the number of operations reaches nine or more, the mean CPU time exceeds the 1 second mark. With nine and ten operations, the mean CPU times are 1.4130 and 3.2962 seconds respectively. In general, the algorithm runs very fast; this makes it very useful as a valuable shop operating tool. The main drawback to DP algorithm is its storage requirements. For an n operation problem, there are 2 n - 1 dynamic programming states to be evaluated and state results maintained in order to be able to trace back the optimal result when the last state is analyzed. A solution procedure aimed at reducing the storage requirements will be a good research contribution. The mean CPU time increases linearly as the number of operations increases in the heuristic algorithm. There is no doubts that the computational time of the heuristic algorithm is far lower than that of t h e . D P algorithm. The low computational time and storage requirements are the evidence that the algorithm can be used to solve larger size problems. The main drawback to the heuristic algorithm is that it does not guarantee to find an optimal solution. In all test problems, the solutions (i.e,, values of the objective function) are no more than 1.5% away from the optimal solutions. This makes the use of the heuristic algorithm very attractive for solving large size problems.
7. Conclusions
A technique to combine the functions of operation sequencing for a job, machine selection when alternate machines exist for each operation, and determination of economic production quantity to minimize total manufacturing cost is presented. Current production planning and control practice generally treat these functions as unrelated despite the influence of the process planning decision on manufacturing costs and lot sizing decision. The method presented in this paper transforms a basic inventory control model to a problem with a much larger scope that combines decisions on operation sequencing, machine selection, and inventory control for a batch manufacturing system. The model assumes operation and machine dependent setup and unit processing costs. Each operation is assumed to have alternate machines on which it can be processed. Even when alternate machines do not exist, the model is flexible enough to accommodate such situations. The transformed problem is solved using dynamic programming and heuristic techniques. An example problem which includes predefined precedence relationships between some operations as is usually the case in the manufacture of most parts is used to illustrate the application of the techniques. The algorithms are simple to use and can be readily computerized for use as a regular shop management tool. The efficiency of the heuristic algorithm was evaluated on 35 test problems with number of operations ranging from four to ten. The mean solutions obtained from the heuristic algorithm are within 1.5% away from the optimal solution. Thus, the heuristic technique can be used to solve large size problems without major degradation in solution quality.
References
[1] Adiri, I., and Amit, N., "Route-dependent open shop scheduling", liE Transactions 1513 (1983) 231-234. [2] Arcelus, F.J., and Chandra, R., "On n / 1 / F setup dependent problems", Engineering Optimization 7/1 (1983) 59-67. [3] Baker, K.R., Introduction to Sequencing and Scheduling, Wiley, New York, 1974.
P.J. Egbelu /European Journal of Operational Research 88 (1996) 446-463
463
[4] Bazaraa, M.S., and Shetty, C.M., Nonlinear Programming, Wiley, New York, 1979. [5] Bjorke, O., and Hamgrud, B., "Mathematical method in planning of machining operations", Annals of C.I.R.P. 16 (1968) 399-407. [6] Brown, R.G., Decision Rules for Inventory Management, Holt, Rinehart & Winston, New York, 1967. [7] Buffa, E.S., and Miller, J.G., Production-lnventory Systems: Planning and Control, 3rd ed., Richard D. Irwin, Homewood, IL, 1979. [8] Chang, T.C., and Wysk, R.A., An Introduction to Automated Process Planning Systems, Prentice-Hall, Englewood Cliffs, NJ, 1985. [9] Conway, R.W., Maxwell, W.L., and Miller, L.W., Theory of Scheduling, Addison-Wesley, Reading, MA, 1967. [10] Cooper, L., and Cooper, M.W., Introduction to Dynamic Programming, Academic Press, New York, 1981. [11] Dreyfus, S.E., and Law, A.M., The Art and Theory of Dynamic Programming, Academic Press, New York, 1977. [12] Egbelu, P.J., "Planning for machining in a multijob, multimachine manufacturing environment", Journal of Manufacturing Systems 5/1 (1986) 1-13. [13] Egbelu, P.I., and Wu, C.-T., "Processing in multi-machine batch manufacturing, system with sequence dependent cost", Production Planning and Control 4/4 (1993) 371-384. [14] Gaver, D.P., and Thompson, G.L, Programming and Probability Models in Operations Research, Brooks/Cole, Monterey, CA, 1973. [15] Johnson, L.A., and Montgomery, D.C., Operations Research in Production Planning, Scheduling and Inventory Control, Wiley, New York, 1974. [16] Kusiak, A., "Process planning models in flexible manufacturing systems", Working Paper No. 07/84, Department of Industrial Engineering, Technical University of Nova Scotia, Halifax, NS, 1984. [17] Ostwald, P.F., and Huang, J., "A method for optimal tolerance selection", Transactions of the ASM Journal of Engineeringfor Industry (1977) 558-565. [18] Salkin, H.M., Integer Programming, Addison-Wesley. Reading, MA, 1975. [19] Tipnis, V.A., Vogel, S.A., and Lamb, C.E., "Computer-aided process planning system for aircraft engine rotating parts", SME Technical Paper, Series MS79-155, 1979. [20] Wilde, D., "Simplifying discrete tolerance assignment", ASME Paper No. 75-DET-106. [21] Zhou, C., and Egbelu, P.J., "Scheduling in a manufacturing shop with sequence-dependent setups", Robotics and ComputerIntegrated Manufacturing Systems 5/1 (1989) 73-81. [22] Tanchoco, J.M.A., Davis, R.P., Wysk, R.A., and Agee, M.H., "Component selection and operating specifications for belt conveyor systems", in: Proceedings, 1979 Fall Industrial Engineering Conference, 1979. [23] Tanchoco, J.M.A., Wysk, R.A., Davis, R.P., and Agee, M.H., "Economic unit load and its impact on material flow systems planning", Proceedings, 1979 Fall Industrial Engineering Conference, 1979. [24] Tanchoco, J.M.A., Davis, R.P., Egbelu, P.J., and Wysk, R.A., "Economic unit loads (EUL) for multi-product inventory systems with limited storage space", Material Flow 1 (1983) 141-148. [25] Truscott, W.G., "Scheduling production activities in multi-stage batch manufacturing systems", International Journal of Production Research 23/2 (1985) 315-328.