throughput rate of multistation reliable production lines
TRANSCRIPT
317
Applications
Throughput Rate of Multistation Reliable Production Lines with Inter Station Buffers (II) Erlang Case
H.T. Papadopoulos, C. Heavey and M.E.J. O'Kelly Department of Industrial Engineering, University College, Gal- way, Ireland
This paper is concerned with reliable multistation series pro- duction lines. Items arrive at the first station according to a Poisson distribution with an operation performed on each item by the single machine at each station. The processing times at each station i is Erlang type P, distributed with Pi, the number of phases, allowed to vary for each station. Buffers of non- identical capacities are allowed between successive stations.
The structure of the transition matrices of these specific type of production lines is examined and a recursive algorithm is developed for generating them. The transition matrices are block-structured and very sparse and by applying the proposed algorithm, one can create the transition matrix of a K-station line for any K. This process allows one to obtain the exact solution of the large sparse linear systems via the use of the Successive Overrelaxation (SOR) method with a dynamically adjusted factor. Referring to the throughput rate of the pro- duction lines, new numerical results are given.
Keywords: Multistation production lines, Erlang type P, distri- bution, Finite buffers, Quasi-birth-death process, Block-triagonal matrices, Large sparse matrices, Iterative SOR method.
Elsevier Computers in Industry 13 (1990) 317-335
1. Introduction
Exact analytical have been reported
results for production lines only for a few cases. The lack
H.T. Papadopoulos (Chris) is a Lec- turer in industrial Engineering and Operations Research at University College Galway. He is a graduate in Mathematics and Computer Science from Aristotle University of Thessa- loniki and National University of Athens. He has just completed his PhD degree in the exact analysis of produc- tion lines at Galway (National Uni- versity of Ireland). His interests in- clude the application of mathematical techniques in the analysis of Manufac-
turing Engineering Systems. His studies in Galway were sup- ported by the Greek and Irish Governments. He was also the first recipient of the prestigious McLoughlin Bursary in En- gineering in the College.
C. Heavey (Cathal) is a Lecturer (Temporary) in Industrial Engineering at University College Galway. He is an Industrial Engineering graduate of the National University of Ireland (University College Galway) and holds a Master of Engineering Science de- gree from the same college. Currently he is pursuing PhD studies.
M.E.J. O'Kelly (Eddie) is Professor of Industrial Engineering and former Dean of the Faculty of Engineering, University College Galway. He is an electrical engineering graduate of the National University of Ireland (Uni- versity, College Cork) and holds graduate degrees from California In- stitute of Technology and Columbia University, New York. Prior to joining University College, Galway, he worked in the electronics and engineering in- dustry in France, Germany and
Ireland and was Head of Manpower Forecasting in the De- partment of Labour, Dublin. He is a consultant to a number of multinational and national companies in Operations Research and Manufacturing Strategy.
0166-3615/90/$3.50 © 1990 - Elsevier Science Publishers B.V.
318 Applications Computers in lndust©'
of exact results is mainly due to the blocking phenomenon which is inherent in production lines and which contributes to the intractability of the mathematics involved.
Where asumptions are general, results are avail- able only for very short lines [2,7]. Results for longer production lines are available for restrictive assumptions, for example when exponential or Erlang distributed interarrival and processing times are assumed. The main results for these cases were obtained by Hillier and Boling [5] who extended Hunt 's work [6] and more recently by Alkaff and Muth [1]. Hillier and Boling obtained results for production lines with exponential and Erlang distributed processing times by expressing the equilibrium probabilities of each state as a set of simultaneous linear equations. Alkaff and Muth [1], using a technique developed by Muth [9], obtained numerical results for up to ten stations with exponential service times. Muth's model con- siders the sequence of holding times for successive workpieces at each station. This method is very efficient from the computational point of view compared to the state model method. Also, appli- cation of Muth's method yields not only the throughput, but also the cumulative distribution functions of the holding, starving and blocking periods. The exact solution procedure developed by Alkaff and Muth, in order to avoid excessive complexity of the algebraic expressions, is as yet restricted to the case of a balanced line (identical mean service rates).
Papadopoulos et al. [11] presented an algorithm which allowed one to obtain the throughput rate of a K-station unbalanced production line with equivalent numerical efficiency to that obtained by Alkaff and Muth. In this article this algorithm is extended to include Erlang distributed service times. This allows greater flexibility in the modell- ing of systems. This is because the Erlang distribu- tion can be fitted to service data where the coeffi- cient of variation is less than 1.
2. Descr ip t ion of M o d e l
The system to be modelled is a production line consisting of K stations arranged in series, where an operation is performed on each job by the single machine in each station, with finite buffers of size N, (where no buffers are allowed between
stations N, = 0) between each station. A buffer of infinite capacity is assumed to exist in front of the first station, with jobs arriving according to a homogeneous Poisson distribution with rate X. Each item enters the line at station 1, passes through all stations in order and leaves the K th station (last) in finished form. We also allow a departing item, from the last machine, to return instantaneously to the end of the input queue (first) with a probabili ty 0 : 0 -%< 0 < 1. This latter process is called feedback. With probability 0 ' = 1 - 0, items depart the system after being processed at station K. The processing (service) times are exponential or Erlang distributed random varia- bles with mean values 1//~ i, i = 1, 2 . . . . . K. In general the service rates are not identical (i.e. /x va/,j for i4=j). We assume that the machines (stations) are reliable and all jobs in any machine are processed in a FIFO (first-in, first-out) manner.
2.1. Quasi-Birth-Death Process
The state of the system under consideration, is a two-dimensional stochastic process N ( t ) = [Nl(t ), N2(t)]. Both coordinate random variables are integer valued and nonnegative. Nl(t ) repre- sents the number of jobs in the first queue at time t and N 1 is the number of jobs in the first queue at equilibrium (the limit of Nl(t), as t tends to infinity). There is no upper limit for N 1. N 2 repre- sents the state of the system in equilibrium when N 1 is assumed constant. N 2 may assume only values from 1 to m, for some finite m which denotes the number of states in the subnetwork. When N 1 = 0, N 2 may assume only values from 1 to m o, m o < m.
The changes in the state of the system are caused by the occurrence of various events. The occurrence times for all events have negative ex- ponential distributions with strictly positive means. Thus the process is Markovian. Its state-space is S = {(i, j ) : i > 0 , 1 <~j<~m) with the index i specifying the total number of items (jobs) queued up or in service in the first machine (Unit-I). Such items are called "l-customers". The index j de- termines the state of the subnetwork (Unit-ll). It is important to note that upon completion of service in Unit-l, an item becomes a "'II customer".
Now, as shown by Evans [3], Wallace [15] and Latouch6 and Neuts [8], the transition matrix P
Computers in Industry H.T. Papadopoulos et al. / Throughput Rate of Production Lines-- I I 319
that describes the model, has the following block tri-diagonal form.
p =
Aol Ao
A2 A1
A2
h o
A1 Ao
A2 A1 Ao (1)
and the equilibrium equations ~rP = 0 can be ex- pressed in matrix-difference form as
~ k A o + qrk+lA 1 + e/rk+2A 2 = 0 , ( 2 )
for k = 0, 1, 2 . . . . and
~roAo~ + ~rlA z = 0, (3)
for the boundary equations. A 0 is an (m × m)- matrix describing the transitions in the subnet- work which simultaneously produce inputs to the first queue; A 1 is an (m × m)-matrix describing transitions in the subnetwork which produce neither inputs to nor outputs from the first queue assuming that the queue is not empty; A 2 is an (m × m)-matrix describing transitions in the sub- network which simultaneously produce outputs from the first queue; and A0~ is an (m × m)-matrix describing transitions in the subnetwork which produce neither inputs to nor outputs from the first queue, assuming that the queue is empty.
A Markov chain whose equilibrium equations have the form of (2) and (3) was termed by Wallace a Quasi-Birth and Death (QBD) process.
Evans [3] proposed that a "geometric" solution, i.e. a solution of the form
rr k=~r0R k, k> /0 , (4)
exists under certain conditions, and he offered an algorithm based on finding a root-matrix, R*, which is the minimal nonnegative solution to the matrix quadratic equation
R2A2 + RA1 + A0 = 0. (5)
Papadopoulos [10] applied a modified version of this algorithm and found the mean queue-length and the marginal probabilities for the first infinite queue of the system under consideration, for K = 2, 3 . . . . . 8. The joint probabihties of the first queue and subnetwork (~rk) need not be solved to obtain the maximum throughput rate of the system.
2.2. Calculation of Throughput
Solving the system
P2 A = O, P2 e = 1, (6)
where A is the conservative stable matrix given by
A = A 0 + A 1 + A 2 , (7)
and e is a (m x 1) column-vector, with all ele- ments equal to 1, will give explicit results for P2(J), J = 1, 2 . . . . . m.
The Equilibrium Condition is given [8] by
P2Aze > PzAo e. (8)
From this relationship the critical input rate (?~*) to the system can be determined. In the steady- state, this critical input rate is identical to the maximum throughput rate of the production line. By calculating the throughput of the system as outlined above, we exclude the states of the sys- tem where the first station is empty, i.e. sub-ma- trix A01 is not included. Therefore, the throughput of the system is based on the assumption that the first queue is never empty.
2.3. Notation
The notation used in the rest of this article is listed in Table 1.
The states of the subnetwork are described by the following vector:
(s, , n 2, s2, n3 . . . . . nK, SK). (9)
Table 1 Notation
Symbol Meaning
K B,
n i
s i
P,
Number of stations Buffer capacity preceding the i th station. Note: when B i = B~ for all i, then the buffer capacity is denoted by B Status of buffer i Status of station i Denotes the number of phases of station i Number of states in the subnetwork with K stations, buffer capacities B 2 . . . . . B K and each station having equal number of phases P Number of states in the subnetwork of a K-stat ion system with buffer capacities B2, . . . , B K and the number of phases of each station equal to P1, P2 . . . . . PK
320 Applications
Table 2 Possible states of station i
s, Meaning
Station is idle Station is busy and in phase 1 Station is busy and in phase 2 Station is busy, in phase 1 and blocking preceding station Station is busy, in phase 2 and blocking preceding station
s i, i ¢ 1 can take any value f rom 0 to (2 × Pi)- Table 2 lists the values s~, i 4 = 1 can take and an explanation of their meaning, for P~ = 2. As it is assumed that station 1 is never idle, s 1 will never equal 0 and s 1 will not take a value greater than P1, because station 1 cannot block a preceding station. Therefore s~ can only take a value f rom 1 to P~. n i can take any value from 0 to B i it denotes the number of items in buffer i.
The set of linear equations for the solution of P2, the marginal p.d.f, for the subnetwork, can be written in the following two ways.
P2A = 0, (10)
ATP2 = 0 . (11)
In the rest of this article A T is examined. This is because in order to generate matrix A effi- ciently, the relationship between its columns (rows of A r ) needs to be examined. In order to simplify notation, A denotes A "r in the rest of the work.
3. Number of States with Erlang Service Times
The first step in extending the algorithm pre- sented in [11], to include Erlang service times was to develop an equation to calculate the number of states of such a system. In this section the case where the number of phases and the buffer capaci- ties are both identical is examined first and then the general case where buffer capacities and num- ber of phases are non-identical.
3.1. Identical Buffers and Phases
Equation (12) gives the number of permuta- tions for a K-station system with the number of
Computers in Industry
Table 3 Permutations of a system with K = 2, B = 0 and P = 2
States
(sl,n2,s2)
(1, 0, 0) Valid (1, 0, 1) Valid (1, 0, 2) Valid
(~,t~, 3) Not valid (J, ,{J, 4) Not valid (2, 0, 0) Valid (2, 0, 1) Valid (2, 0, 2) Vahd (2, 0, 3) Valid (2, 0, 4) Valid
phases of each station equal to P and buffers of identical capacities equal to B:
Number of permutat ions
= P ( B + 1 ) K - I ( 2 p + 1) K-1. (12)
The number of permutat ions of a system with K = 2, B = 0 and P = 2 equals 10; they are listed in Table 3. Permutat ions (1, 0, 3) and (1, 0, 4) are not states because station 2 cannot be blocking station 1, unless station 1 is in its last phase of service. The states in Table 3 can be divided into the following subgroups, depending on the status of n 2 and s 2 (see Table 4). Note, that M1. P = P is assumed.
Adding up all the elements in column 2 in Table 4, equat ion (13) is obtained:
l M ° = 3 M 1 2 + 2 × ~ M ~ . 2 = 4 M 12 8. (13) 2,2 , ,
The states for K = 3, B = 0 and P = 2, which were obtained by generating all the permutat ions ( = 50) and then deleting the invalid permutations, are listed in Table 5. The states are divided into subgroups according to the status of n 2 and s 2.
Adding the elements in column 2 of Table 5, equation (14) is obtained:
M3°2 = 4M2°,2 - M1. 2 = 30. (14)
Table 4 Division of states into subgroups
Subgroup Number of states (n2, s2) in subgroup
(0, 0) 2 = M 1,2 (0, 1) 2 = M1. 2 (0, 2) 2 = M1. 2
(0, 3) 1 = ½M,.2 (0, 4) 1 - ': M 1,2
Computers in Industry H. T Papadopoulos et aL / Throughput Rate of Production L i n e s - - H 321
Table 5 States f o r K = 3 , B = 0 a n d P = 2
Subgroup Number of states States (sl, nz, $2, n3, s3) (n2, s2) in subgroup
(0, 0) 6 = (M°2 - M1,2) (1, 0, 0, 0, 0), (1, 0, 0, 0, 1), (1, o, o, o, 2), (2, o, o, o, 0), (2, 0, 0, 0, 1), (2, 0, 0, 0, 2)
(0, 1) 6 = (M°2 - MI,2) (1, O, 1, O, 0), (1, O, 1, O, 1), (1, O, 1, O, 2), (2, O, 1, O, 0), (2, 0, 1, 0, 1), (2, 0, 1, 0, 2)
(0,2) 10 = (M2°2 + M1.2) (1, 0, 2, 0, 0), (1, 0, 2, 0, 1), (1, 0, 2, 0, 2), (2, 0, 2, 0, 0), (2, 0, 2, 0, 1), (2, 0, 2, 0, 2) (1, 0, 2, 0, 3), (1, 0, 2, 0, 4), (2, 0, 2, 0, 3), (2, 0, 2, 0, 4)
(0, 3) ~ o 3 = g(M~. 2 - 3"11.2) (2, 0, 3, 0, 0), (2, 0, 3, 0, 1), (2 ,0 ,3 ,0 ,2)
(0,4) 5 = ½(M~2 + ML2 ) (2, 0, 4, 0, 0), (2, 0, 4, 0, 1), (2, 0, 4, 0, 2), (2, 0, 4, 0, 3), (2, 0, 4, 0, 4)
Using the same procedure as above, the num- ber of states for K = 4, 5, 6 with B = 0 and P = 2 were examined and equation (15) was derived for each case. Therefore it is concluded that (15) holds f o r K = 2 , 3 , 4 . . . . . B = 0 a n d P = 2 .
M ° 2 = 4 M ° _ x , 2 - M ° 2,2. ( 1 5 )
Now, with B identical, the following equations were obtained for B = 1, 2, 3.
MK1,2 = 6MK1 1,2 -- MK1 2,2, ( 1 6 )
M ~ , 2 = 8 M 2 _ L2 -- MK2_2,2, ( 1 7 )
M3.2 = 10M3_1.z - MK3 2.2. (18)
From examination of (15)-(18) variable B is in- troduced in equation (19), with P constant, equal to 2:
M,~.2 = (4 + 2B)Mff_I. 2 - Mff_2. 2. (19)
For P = 1, 2, 3, 4 and B taking any value, the following equations were obtained:
M L t = (3 + B ) M f _ , . 1 - (20)
MKB,2 = (4 + 2B)MB_,.2 - Mff_2. 2, (21)
MKB.3 = (5 + 3B)Mt~_,,3 - MKB-2.3, ( 2 2 )
MKB,4 -~- (6 + 4B) Mff_t, 4 - MKB_2,4 . (23 )
The coefficient of Mff_l,e has the form (Variable1 + B x Variable2). Variable1 is described by the following formula:
Variable I = 3 + ( P - 1). (24)
It is obvious that Variable 2 equals P. Therefore equation (25) gives the number of states for a system with K stations, identical buffers B and each station having identical number of phases P:
M B p = ( B e + P + 2 ) M ~ _ , , p - M~_2. e
= ( B P + P + 1)Mfc_, ,p
+ ( Mff _l .p - MB_ 2.p ). (25)
Equation (25) was used to construct Table 6, which gives the number of states for P = 2 and buffer capacities identical. The number of states are large for relatively small systems.
Table 6 Number of states for P = 2 and identical buffer capacities
No. of Buffer size
stations 0 1 2 3 4 5 6 7 8
1 2 2 2 2 8 12 16 3 30 70 126 4 112 408 992 5 418 2,378 7,810 6 1,560 13,860 61,488 7 5,822 80,782 484,094 8 21,728 470,832 3,811,264 9 81,090 2,744,210
10 302,632 15,994,428 11 1,129,438
2 2 2 2 2 2 20 24 28 32 36 40
198 286 390 510 646 798 1,960 3,408 5,432 8,128 11,592 15,920
19,402 40,610 75,658 129,538 208,010 317,602 192,060 483,912 1,053,780 2,064,480
1,901,198
322 Applications Computers in lndustrv
Table 7 Number of states for K = 2. B 2 = 0, P1 = 2 and P2 = 4
Subgroup Number of states States (n2, s2) in subgroup (Sl, n2, s2)
(0, 0) 2 ~ 12ML4 (1, 0, 0),
(0, 1) 2 = IzM1, 4 ( 1 , 0 , 1),
(0, 2) 2 = I 2 M1, 4 (1, 0, 2), (1,0, 3), (0, 3) 2 = IML4
(0, 4) 2 = ½M1, 4 (l , 0, 4),
(0, 5) l = ¼M1, 4 (2 , 0, 5)
(0, 6) 1 = J M 1 , 4 (2, 0, 6)
(0, 7) l = ¼M~, 4 (2, 0, 7)
(0, 8) 1 = ¼ m l , 4 (2, 0, 8)
(2,0,0)
(2,0, 1)
(2, 0, 2)
(2, 0, 3)
(2, 0, 4)
3.2. Non-identical Buffers and Phases
The states for K = 2, B 2 = 0, P1 = 2, P2 = 4 are given in Table 7. They are divided into 9 groups depending on the status of n 2 and s 2.
Summing the elements in column 2 of Table 7, equation (26) is obtained.
M2°2,4 = 3M1, 4 + 2M1.4/4 = 14
= ( B2 P1 + P1 + 1 ) M 1.4 + - - P1 M1,4 (26)
1'2
From the number of states for K = 2, B 2 = 0, P1 = 2, /'2 = 4 the number of states for a system with K = 3 , B 2 = 0 , 1 . . . . . B 3 = 0 , P 1 = 1 , 2, 3 . . . . . P2 = 2, P3 = 4 can be calculated. Putting B 2 = 2 and P ~ = I the subgroups of the K---3
system are given in Table 8.
fab le 8 Number of states for P 3 = 4
K = 3 , B2=2, B3=0, P1 =1, P2 =2 ,
Subgroup Number of states (n2, ~2) in subgroup
(0, 0) :5 = ~2( M20,2,4 - M1,4)
(0, 1) 5 = ~(M°2.4 - M, ,4)
(0, 2) 9 = ½(M~2,4- M1,4) + M].4
(1, 1) 5 = ½(M~,2. 4 - M1.4 )
(1, 2) 9 = '2(M~,2,4- M],4)+ Ml.4 " t ' M ° M ' (2, 1) 3 = 5~ 2,2.4 -- 1,41
(2, 2) 9 = ½(M2°.2,4 - 341.4)+ M1,4 (2, 3) 5 = 12 (M~,2, 4 -- M1,4 )
1 0 (2, 4) 9 = -~(M2,2, 4 - M1,4) + M1,4
Summing column 2 of Table 8 gives equation (27). Note that M1, 4 in equation (26) is replaced by M~z,4 in (27):
M~3°2,4 = 4M2°,2.4 + ½(M2°2,4 - M 1 , 4 ) = 6 1
= (B2P1 + P1 + 1) M~/,2,4
PI(M°z,4-M1,4) + t'2
(27)
Again, f rom the number of states for K = 3, = 2 , B 3 = 0 , P I = I , P 2 = 2 , P 3 = 4 , t h e n u m b e r 9 2
of states for a K -- 4, B z = 0, 1 . . . . . B 3 = 2, B 4 = 0, P1 = 1, 2, 3 . . . . . P2 = 1, P~ = 2, P4 = 4 system can be calculated. Putt ing B 2 = 1 and P1 = 1 the sub- groups of the K = 4 system are given in Table 9.
Summing column 2 of Table 9 gives equation (28). No te that (28) is the same as (27) except
M32,]°.2,4 replaces M2°2,4 and M2°,2,4 replaces MI, 4.
M l.Z,o = 2,0 o 4,1 .1 ,2 ,4 3M3.1.2.4 + ( M ~ 1 ° , 2 . 4 - M 2 , 2 , 4 ) ~-- 2 3 0
2.0 = ( B 2 P 1 + P1 + 1) M3,1,2,4
tM2,O - M~,2,4) (28) P1 ~ 3,1,2,4 0 + &
The previous examples illustrate the recursive relationship which exists between the number of states of a K system and K - 1 and K - 2 sys- tems, with buffer capacities and number of phases non-identical. The general relationship is given in equation (29):
M K B 2 B 3 . . . . . B~. • P1, P2 . . . . . PI~
= (B2P, + P1 + 1)M~'-'i:);~.~... P~
e,(M~'i"bg)' . . ,e~- M~2bgK~.,p~) (29) + P2
Note how the equat ion works, for example, to calculate K = 4 for any arrangement of buffers and phases, K = 2 is calculated using B 4 and P3,
Table 9 Number of states for K - 4 , B 2=1, B 3=2 , B 4 = 0 , P j = I , P2=1 P3=2 , P 4 = 4
Subgroup Number of states ( n > s2) in subgroup
2,0 0 (0, 0) 4 7 ~ M~,I ,2A - M2,24 2,0 (0, 1) 61 ~ M3,1,2, a 2,0 (1.1) 61 ~ M5.1.2. 4 2,0 (1, 2) 61 = M3,1,2, 4
Computers in Industry H.T. Papadopoulos et al. / Throughput Rate of Production Lines--ll 323
P4 (see below), and so on. It is interesting to note that the recursive relationship of (29) holds if it is used in the reverse order, i.e. calculate K = 2 using B2, P1, P2, calculate K = 3 using B 2, B 3, /°1, P2, P3 and so on.
K = 3
K = 4 B 2 , B 3 , B 4
K = 2 K = 3
p
P I , P 2 , P 3 , P 4
K = 2
4. Ordering of States
The question of how the states of the system were to be ordered had to be resolved before the conservative matrix A was examined. The main objective in the ordering of the states was to obtain a simple structure for A, thereby simplify- ing the algorithm to generate A. The following procedure outlined in [4] is used to order the states.
Each state is represented by the following vec- tor:
(S1, /"/2, $2, El3 . . . . . rlK, SK). ( 3 0 )
Each state is altered by the following rules:
1. (a) If s 2 > 82 t h e n s ~ ltered = 1; (b) If s 1 > 1 and s 2 ~< P2 t h e n s ~ ltered = (P1 -
sl) + 2. 2. The following rules examine and alter s i, i ~ 1.
(a) If s i <~ Pi and s i --g 0 then S altered = ( Pi -- s i )
+ 1 ; (b) If s i > Pi then s/~ltered = (Pi - (si - P,) + 1)
+P~; (c) If s i > P i and si+ l > P i + l then s altered --- s i
- 1 ; (d) If i ~ 2 and s~>Ps and s~_l~<P,_l then
S altered i - -1 = S i _ 1 - - 1 .
Then the altered states are given a unique numerical value as follows:
s~lteredL E-1 + n2 L E - 2 + • . . + n r L e - ( e - t )
[_ ahered--E- E sK L = numerical value,
with E equal to the number of elements in the
Table 10 Generation of altered states and assignment of numerical value
No. States Altered Numerical states value
1 (1, o, o) (1, o, o) 25 2 (1, 0, 1) (1, 0, 2) 27 3 (1, 0, 2) (1, 0, 1) 26 4 (2, 0, 0) (2, 0, 0) 50 5 (2, 0, 1) (2, 0, 2) 52 6 (2, 0, 2) (2, 0, 1) 51 7 (2, 0, 3) (1, 0, 4) 29 8 (2, 0, 4) (1, 0, 3) 28
vector representing the states of the system and L given an appropr ia te integer value as follows:
L > m a x { B j , ZP~} , j = 2 . . . . . K,
i = 1 , 2 . . . . . K.
L is the base for the numerical values of the "al tered states". The numerical values of the "al- tered states" are then ordered in increasing value and the states are ordered according to this.
The above rules will be illustrated with an example. Table 10 lists the states, the "al tered states", and the numerical values of the "al tered states", for K = 2, B 2 = 0, P1 = 2, P2 = 2. E equals 3 and L equals 5.
States 2, 3, 5 and 6 are altered by rule 2(a). States 7 and 8 are altered by rules l(a) and 2(b). Rule l(b) is used on states 4, 5 and 6, b u t S~ ltered
= S t. Table 11 gives the numerical values ordered in increasing value and the states ordered accord- ing to this. This example is rather trivial, but when the number of stations are increased and the buffer capacities and number of phases are non-identical, the process of ordering the states is complex. This is why the rules outlined above had to be devel- oped.
Table 11 States ordered by numerical value
Ordered states Numerical value
(1, O, O) 25 (1, O, 2) 26 (1, O, 1) 27 (2, 0, 4) 28 (2, 0, 3) 29 (2, 0, 0) 50 (2, 0, 2) 51 (2, 0, 1) 52
324 Applications Computers in lndustrv
5. Structure of Matrix A
With the states o rdered as out l ined in Section 4 matr ix A for K > 2 with non- ident ica l buffers and phases takes the form descr ibed in Fig. 1.
The number of times sub-matr ices D and F appea r between sub-matr ices C and D * equals B2 = N. The number of t imes sub-mat r ix G ap- pears equals (P1 - 1) = (R - 1).
The re la t ionships between the sub-matr ices are as follows:
(1) Sub-mat r ix C for a K-s ta t ion system is a square matr ix of order ~XB3,B, ..... e~ It is gen- ~ ' a K l , P 2 , p 3 . . . . . P ~ .
era ted from A for a ( K - 1 ) - s t a t i o n system with buffer capacit ies equal to B 3, B 4 . . . . . B K and the number of phases at each s ta t ion equal to
P2 , /°3 . . . . . Px, by: (a) subst i tut ing Ptkti+l for
PAti, i = K, K - 1 . . . . . 2 (i.e. backward) in AK_, ; (b) subs t i tu t ing Pl/xl for Pzg, in AK_, ; (c) delet- ing all the non-d iagona l /~, e lements in A~c ,;
{ { I ~ B 3 , B 4 . . . . . B K (d) s t a r t i n g on row ~ . - - K - , , e 2 , p ...... p~ -
M ~ " ~ i ' ) ;e~ p )/1'2 + 1) subt rac t P,/x I f rom the - - , 3, 4, - • • , K
next M~,'~J/,;I);B,, ' e~ d iagonal e lements of A s. ,; (e) subtract P21~2 from the last ( P 2 - 1 ) ×
I I / f B ~ , B 4 . . . . . B K ]I/ f B4 , B 5 . . . . . B x "~ / p ( '"x=, ,e2,e~ ..... p , , - "~K-z,e~,e, ..... p~,~/~ 2 diagonal e lements of A~c_,.
(2) (a) D is genera ted from C by subt rac t ing P : / t : f r o m the f i rs t ( M~3,B ...... B~, _
' , P 2 , P 3 . . . . . P,~ M K B 4 . . . . . B x 2,e~,p, ..... e~) /P: diagonal e lements of C. (b) If B: = 0, then there is no sub-mat r ix D. There- fore D* is genera ted from C. If B 2 = 0 then P,/z, is also added to the last ~r~B ...... B~
,, ~ , ~ K ~ 1 , P 2 , p 3 . . . . . P~ - - ( ] L 4 B ~ , B 4 . . . . . B x ~ B 4 . . . . . B K
~ " K =- 1, P 2 . P . . . . . . P K - - ~ K - 2 , P3, P4 . . . . . PK )/P: ) diagonal elements of C.
< - F
\ \
<-F
D*
< - F
, \
{
}
{ n
i
I
. . . . I
( R - 2 ) 0
(R-z) o
Fig. 1. Descr ip t ion of .4, K > 2, B 2 = N, B3, B4,. . . , BK, P1 = R, /°2 . . . . . PK-
C o m p u t e r s in I n d u s t r y H , 12 P a p a d o p o u l o s e t al . / T h r o u g h p u t R a t e o f P r o d u c t i o n L i n e s - - l l 325
Fig. 2. Generation of sub-matrix E.
Sub-matrices H and I contain the non diago- nal Pt~q elements of A. These elements are gener- ated by Rule 7 of the algorithm which is described in the next section.
6. A l g o r i t h m to G e n e r a t e T r a n s i t i o n M a t r i x
(3) D* is generated from D by adding Pl~q to the last t:t4B3 ..... B,, _ ( M ~ . , i ; ~ i ; , B . , ~ . . . e , _ ~ ' ' ~ K - - I , P 2 , P 3 . . . . . PK
B 4 . . . . . B K M~:-2,?3,p, ... . . ? ~ ) / P 2 ) diagonal elements of D. If B 2 = 0, this relationship does not hold because there will be no sub-matrix D.
(4 ) E i s a ( M f f ~ "B . . . . . . BK _ 1 , P z , P 3 . . . . . P K M K B 4 . . . . . B K -2.e3.1,, .. . . . ? ~ ) / P 2 matrix which is generated from X, a sub-matrix of D* (see Fig. 2), by adding Plbq to all the diagonal elements of X.
(5) F is a square diagonal matrix of order ( liar B3, B4 ..... B K __ ,,I/[B4 . . . . . B K
" " K - - I , P 2 , P3 . . . . . PK " " K - 2 , P3, P4 . . . . . p x ) with P2/x2 in the diagonal elements. The first sub-matrix F is positioned on the (MrB~5bB~, p + 1) row and the (Mff~"z.);B.y...e~ + 3 i f ( I ~ L ' i ~ ) ; f l x e~ -- M K B 4 . . . . . B x -2,p3 ..... e ~ ) / P z + 1) column of matrix A I. Its position relative to D and D* is the same as its position relative to C.
(6) Submatrix G is a square matrix of order ( ~ht B2 ..... B K __ ] l A B 3 . . . . . O K
~ " K , P . . . . . . PK ~ " K - - I , P . . . . . . e K ) / P t . It is generated from sub-matrix Y which has as its boundary points xl, x2, x3, x 4 (see Fig. 3).
x l
~ _ <-F
\ \ I
I
x4
Fig. 3. Generation of sub-matrix G.
x2 m ] <-If
I
I
I
<-D*
<-F
IEI
From the relationships outlined in the previous section, the following algorithm was developed. The algorithm can generate matrix A for produc- tion lines where the service times are exponential or Erlang. It is a general algorithm, in the sense that, any combination of phases, buffers and service rates can be modelled. The algorithm is implemented in FORTRAN, the user inputs K, the number of stations; B 2 . . . . . BK, the buffer capaci- ties; P~ . . . . . PK, the number of phases of each station; /~,, the mean service rates; and 8, the feedback probability of an item finishing service in station K and returning to the first queue.
Rule 1. (i) The first element (row = 1, column = 1) is equal to - P i l l and the following element (row = 1, column = 2) to the diagonal element equals PK/~K.
(ii) This part generates the next ((B K + 1) × P~) rows. The next ((BK + 1) × P/<) diagonal elements (i, i) are put equal to -Plt~I -PK/zK and for all the rows PK#K is placed in element (i, i + 1).
(iii) This part generates the next P~ rows. The next PK diagonal elements (i, i) equal -P1 /~1 - PK/~K, if Kv~ 2, or -P2/x2 if K = 2 . The value PK/~ is placed in element (i, i + 1), for all the PK rows, except the last row.
(iv) If PK-1 > 1, then the top left of the matrix generated by (i), (ii), (iii) above of dimension ( ( M ~ ' K _ , , e,~ -- M1, p , ~ ) / P K - l ) squared is copied ( P ~ - I - 1) times. PK_I/~K_I is subtracted from the diagonal elements if K > 2. Each copied sub- matrix is placed on the row directly beneath what has been generated previously, with the top left element of each copied sub-matrix placed on the main diagonal line of A.
(v) If K = 2 go to Rule 7.
Rule 1 will create A if K = 2. If K > 2 it will create sub-matrix C for K = 3. Rules 2 -6 are all contained within a loop ("do T = 3 to K") . "end do T " denotes the end of the loop. If K = 3, the first iteration of the loop will create A for K = 3;
3 2 6 Appl icat ions
if not, then sub-matrix C for K = 4 is created and so on until A for K = K is created.
do T = 3 to K X = ( T - 2) Y = ( X + 1) w = ( K - x ) NOST1 = M~_~'~?p;;~,~., e~ NOST2 ~,¢'w ....... ~, "* Y, P w . . . . . P~
NOST3 M7,~1,~;~ . . . . . , , ~
/ / _ /~_
N O D I F F 1 = (NOST2 - N O S T 1 ) / P w N O D I F F 2 = (NOST3 - N O S T 2 ) / P w_ Rules 2 - 6
end do T
Rule 2. Generate a square matrix of order ( N O S T 2 - NOST1) with Pwlzw in its diagonal elements. This is sub-matrix F. The top left ele- ment of F is posit ioned on the (NOST1 + 1) row and the (NOST1 + N O D I F F 1 + 1) column. The position of sub-matrix F relative to C is il- lustrated in Fig. 1 in Section 5. Note when P w = 1, sub-matrix F will not intersect C, i.e. sub-matrix F will be placed on the ( M "w+~ ..... B~. +
Y 1 , P w + 1 . . . . . PK
(~t48w ....... "K _ M'w+2 ..... ~K 1) column . . a v . eH" . . . . . p& r_ 1,P~+1 ..... p~.)/1 + of A, sub-matrix C is a square matrix of order M B w + ~ . . . . . Bs-
Y, P w , . . . . P ~ "
Rule 3. C will be a square sub-matrix of order NOST2. D is generated from sub-matrix C by subtracting Pwl~w from the first N O D I F F 1 diag- onal elements of C. D is posit ioned as in Fig. 1. If B w = 0 and T = K then Pig1 is also added to the last ( N O S T 2 - N O D I F F 1 ) diagonal elements of C, i.e. C will be copied onto D*. Also, F is copied onto F, as shown in Fig. 1.
Rule 4 is contained within a loop ("do Z = 1 to B w " ). "end do Z " denotes the end of the loop.
Rule 4. do Z = 1 to B w
Copy sub-matrices D and F as described in Fig. 1, B w = N . When T = K and Z = B w , P~gl is added to the last (NOST2 - N O D I F F 1 ) diagonal elements of D, i.e. sub-matrix D is copied onto D*. Note, that when B w = 0 this rule is not used.
end do Z
Computers in Indus t ry
Rule 5. X, a sub-matrix of D*, of dimension N O D I F F 1 squared is copied on to E. The posi- tion of E relative to F and D* is illustrated in Fig. 2, Section 5. If T = K, P~t 1 is added to all the diagonal elements of E.
Rule 6. Rule 6 generates sub-matrix G. Figure 3 in Section 5 illustrates how sub-matrix G is gener- ated. Sub-matrices C, D, D* , F and E in Fig. 3 were generated by Rules 1-5 above. G is a square matrix of order N O D I F F 2 . It is equal to sub-ma- trix Y which has as its boundary values xl, x2, x3, x 4 (see Fig. 3). The position of sub-matrix G within A is illustrated in Fig 1. G is copied ( P w 1 - 1) times ( R - 1 = Pw-1 - 1 in Fig. 1). If T - ~ K , then P w _ d ~ w i is subtracted from the diagonal elements of G.
Rule 7 is executed after exiting the loop "do T = 3 to K " ; It generates the non diagonal P1/*1 elements of A (sub-matrices H and I in Fig. I in Section 5).
Rule 7. NOST1 - M 8 ...... 8~
- - K ~ I , P 2 . . . . . p h
NOST2 - ~AB2 ..... 8~ - - " 'JK, P1 . . . . . PK
N O D I F F = (NOST2 - NOST1) /P1 do I = 1 to NOST2
(i) If I is greater than ( N O S T 2 - N O D I F F ) , Pd~l is placed on row I and column ( 1 - (NOST2 - N O D I F F ) ) . (ii) If I is greater than NOST1 and less than or equal to ( N O S T 2 - N O D I F F ) , Pd , l is placed on row I and column ( I + N O D I F F ) .
end do I
6.1. Application o f the Algorithm
Here, the explicit derivation of the conservation matrix A is presented for K = 3, B 2 = 2 , B 3 = 0, P1 = 4, P2 = 2, P3 = 1, by applying the algorithm described above. Figure 4 illustrates the structure of matrix A for this example.
Rule 1 Applying Rule 1 matrix (31) is generated. Since
K > 2 this is matrix C for K = 3. Rule 1(i) gener- ates the first row of C. The next (B K + 1) X PK = (0 + 1) × I = I rows of C are generated by Rule l(ii). Rule l(iii) generates the next PK = 1 rows of
Computers in Industry H.T. Papadopoulos et al. / Throughput Rate of Production Lines--H 3 2 7
C. Finally, the last two rows of C are generated by Rule 1(iv), by copying the top left of the matrix generated by (i), (ii), (iii) above of dimension (M2°2.1 - M m ) / P 2 = (5 - 1 ) /2 = 2 squared (PK-1 - 1 ) = 1 times. Since K > 2, PK_x/~/~_I = P2/~2 is subtracted from the diagonal elements copied by Rule l(iv).
W = 2. Therefore,
NOST1 = M1, e3 = 1,
N O S T 2 = M 2 ° 2 , 1 = 5 ,
NOST3 = M 2 ' 0 = 73, 3,4,2,1
N O D I F F 1 = (5 - 1 ) / 2 = 2,
N O D I F F 2 = (73 - 5 ) / 4 = 17.
Rules 2 - 6 are all contained within a loop which is executed ( K - 3 + 1) times.Therefore, for the example illustrated here only one iteration of the loop is performed, with T = 3, X = 1, Y = 2 and
Rule 2 Rule 2 will generate a square matrix (sub-ma-
trix F ) of order ( N O S T 2 - N O S T 1 ) = 4 with
0 5 10 15 20 39
I I 1 I I I
"¢-F
I0 ,,
7~
I
Fig . 4. S t r u c t u r e o f ,,I w i t h K = 3, B 2 = 2, B 3 = 0, P1 = 4 , P2 = 2, / '3 = 1.
328 Applications Computers in Industry
C =
- 4 / ~ ]
0
0
0
0
~3 - 4 # ] -
0
0
0
tz3
C~f
0 0
~3 0
- 4 ~ ] - ~3 0
0 - 4 ~ ] - 2#2
0 0
D =
- 4 # 1 #3 0 0
0 - 4 # ] - #3 ~3 2~2
0 0 - 4 # 1 - ~3 0
0 0 0 - 4 # ] - 2#2
0 0 0 0
- 4/~]
D *
-4#1 - 2#2
0
0
0
0
- 4#1
- 4 ~ ] - 2#2
0
= 0
0
0
#3 0
-- 2 ~ 2 - ~3 0
0 -4~1 - #3
0 0
0 0
#3 0 0
- 2 ~ 2 - ~3 #3 0
0 - # 3 0
0 0 - 2 ~ 2
0 0 0
- 4#]
- 4ttl
0
0
0
-4#1 - 2#2
0
0
0
0
#3
- 2 # 2 - #3
0
0
2~2
~3
- 2 # 2 - ~3
- 4 # 1
0
0
0
#3 - - 2 ~ 2 - ~3
0 0
0 0
0 0
2#2 0
0 2#2
0
0
0
#3
- 2/-t2 - #3
(3])
(32)
(33)
(34)
P w # w = P2#2 in the diagonal elements. The top left element of 17 is positioned in the (NOST1 + 1) = 2nd row and the (NOST1 + NODIFF1 + 1) = 4th column of A. The top left of matrix A for K = 3 , B2=2 , B3=0 , P l = 4 , P 2 = 2 , P 3 = l of dimension 5 × 7 is given in matrix (32); this ma- trix gives sub-matrices C and F.
R u l e 3
Rule 3 generates sub-matrix D from sub-matrix C by subtracting P21~2 = P w t ~ w from the first NODIFF1 = 2 diagonal elements of C. Rule 3 also copies sub-matrix F. The positions of sub- matrices D and F are illustrated in Fig. 4. Sub- matrix D is given in matrix (33).
R u l e 4
Rule 4 copies sub-matrices D and F B w = 2
times. The second time sub-matrix D is copied, T = K and Z = B w, therefore Pith is added to
the last ( N O S T 2 - N O D I F F 1 ) = 3 diagonal ele- ments of D, i.e. D is copied onto D* (see Fig. 4). Sub-matrix D* is given in matrix (34).
R u l e 5
E is a square matrix of order N O D I F F ] = 2 equal to the top left of sub-matrix D* of the said dimension (see Fig. 2 in Section 5). Since T = K, P1/q = 4tq is added to all the diagonal elements of E. Sub-matrix E is given in matrix (35). The position of E is illustrated in Fig. 4, the top left element of E is positioned on the 21st row and the 21st column of A.
= - 2 ~ 2 /z3 . (35) E 0 - 2/~2 - #3
R u l e 6
Figure 5 is a reproduction of the top left corner of Fig. 4. Figure 5 includes all the sub-matrices
Computers in Industry H.T. Papadopoulos et al. / Throughput Rate of Production Lines- - l l 329
Colunm - >
0 S
I 1 x l
C
Row 17 -> x4
I <-F
°l
Fig. 5. G e n e r a t i o n o f (7.
10 15 17 20 22
I I I I I x2
I <--F
D
<-¥
<-F
<-F
that have been generated so far, C, D, D* , F and E. G is a 17 × 17 (17 = N O D I F F 2 ) matrix. It is equal to matrix Y in Fig. 5 which has as its boundary points x 1, x2, x3 and x4. As can be seen in Fig. 4 sub-matrix G is copied (P1 - 1) = 3 times. Because of the large dimension of G it is not written explicitly.
R u l e 7
Rule 7 is executed after exiting loop "do T = 3 to K " . Sub-matrices H and I are squared diago- nal matrices of order (P1 - 1) × N O D I F F 2 = 51 and N O D I F F 2 = 17 respectively, with Pd~l = 4/~ 1 in the diagonal elements. Rule 7 adapted for the example at hand is stated below:
NOST1 = M2} °, = 5 N O S T 2 = _M32.h°2,1 = 73 N O D I F F = (NOST2 - N O S T 1 ) / 4 = 17 do I = 1 to 73
(i) I f I is greater than (NOST2 - N O D I F F ) = 56, P1/~1 is placed on row I and column I - (NOST2 - N O D I F F ) = I - 56. (ii) If I is greater than NOST1 = 5 and less than or equal to ( N O S T 2 - N O D I F F ) = 56, Plbq is placed on row I and column I + N O D I F F = I + 17.
end do I
The 6th row is greater than NOST1 = 5 and less than ( N O S T 2 - N O D I F F ) = 56, so the top left element of H has column index ( I + N O D I F F ) = 23 and row index I = 6. The first element of F, which starts on the 57th row, has column index equal to 1 - ( N O S T 2 - N O D I F F ) = 1 .
7. Numerical Results
An iterative method was used to solve the sys- tem of linear equations. The iterative method used was the Successive Over Relaxation (SOR). SOR is more efficient then the Gauss-Seide l Method but SOR has one main drawback, the unknown optimal value of the relaxation factor (~opt).
For certain special forms of the system A x = b,
viz. if A is a "consis tent ly ordered" matrix, some theoretical results on the value of wopt are availa- ble [16]. These results can be used to develop a method which adapts w automatical ly during the iterative process. However, the systems described here do not possess the desired property.
Only one paper was encountered which out- lined how to select ¢.d °pt when the matrix of coeffi- cients is not consistently ordered. This paper was by Seelen [12]. In this paper Seelen presented an algori thm to dynamical ly adjust 0~ with the follow- ing two objectives:
(1) It should always lead to a convergent itera- rive scheme whenever Gauss-Se ide l i terations (~0 = 1) leads to convergence (0~ = 1 is the safest value for the SOR method).
(2) On the whole, the number of iterations needed should be relatively close to the number of iterations needed with o~ = 0~ °pt.
The algori thm for dynamical ly adjusting worked fairly well, with the majori ty of examples requiring two thirds or less than the number of iterations needed if 0~ = 1 was used (i.e. G a u s s - Seidel). All the cases tried converged.
The numerical results are presented in three sections:
(i) Identical buffers and Erlang type P distrib- uted service times at each station, i.e. identical phases; (ii) Non-ident ical buffers and Erlang type P services times at each station; (iii) Non-identical buffers and Erlang type Pi distributed service time at each stat ion i, with P/=~ Pi for all i 4=j.
330 Applications Computers in Industry
All the systems where solved on a VAX-8700 and the tolerance used to solve for the marginal probabilities of the subnetwork w a s 10 - 6 , for all the results. B~ equals the buffer capacity of the
buffer preceding stat ion i, Pj is the number of phases of stat ion i, /xs denotes the mean service rate of stat ion i.
Table 12 Erlang Type 2 service times, identical buffers, ~i = 1 for all i = 1 . . . . . K, feedback 0 = 0
No. of Buffer size (B)
stations (K) 0 1 2 3 4 5 6 7 8 9 10
2 0.7273 3 0.6404 4 0.5977
5 0.5723
6 0.5553 7 0.5433
8 0.5342
9 0.5271
0.8214 0.8682 0.8957 0.9137 0.9264 0.9358 0.9431 0,9489 0.9537 0.7613 0.8219 0.8580 0.8819 0.8989 0.9116 0.9215 0.9294 0.9358
0.7307 0.7978 0.8380 0.8649 0.8841 0.8986 0.9098 0.9188 0.9261 0.7120 0.7829 0.8257 0.8544 0.8749
0.6993 0.7727
0.9576
0.9412 0.9323
Table 13 Erlang Type 3 service times, identical buffers, ~ = 1 for all i = 1 . . . . . K, feedback 0 = 0
No. of Buffer size (B)
stations (K) 0 1 2 3 4 5 6 7 8 9 10
2 0.7619 0.8587 0.9006 0.9235 0.9378 0.9475 0.9547 0,9601 0.9644 3 0.6842 0.8095 0.8645 0.8949 0.9142 0.9275 0.9372 0,9446 0.9505
4 0.6456 0.7840 0.8454 0.8797 0.9015 0.9166 0.9277 0,9362 0.9429 5 0.6223 0.7683 0.8336 0.8701
6 0.6068 0.7576
7 0.5957
0.9678
0.9552 0.9706 0.9591
Table 14 Erlang Type 4 service times identical buffers, /~i = 1 for all i = 1 .... , K, feedback 0 = 0
No. of Buffer size (B)
stations (K) 0 l 2 3 4 5 6 7 8 9 10
2 0.7853 0.8822 0.9199 0.9393 0.9512 0.9591 0,9649 0.9692 0.9726 0.9753 3 0.7140 0.8402 0.8901 0.9163 0.9324 0.9433 0,9512 0.9571 0.9618 0.9655
4 0.6782 0.8182 0.8743 0.9039 0.9222 0.9347
5 0.6567 0.8046
6 0.6422
0.9775
0.9686
Table 15 Erlang Type 5 service times, identical buffers, /~i = 1 for all i = 1 . . . . . K, feedback 0 = 0
No. of Buffer size (B)
stations (K) 0 1 2 3 4 5 6 7 8 9 10
2 0.8025 0.8985 0.9327 0.9496 0.9598 0,9665 0.9713 0.9749 0.9777 0.9799 3 0.736l 0.8617 0.9073 0.9303 0.9441 0.9534 0.9600 0.9650 0.9689 0.9720 4 0.7026 0.8423 0.8937 0.9198 0.9356
5 0.6823 6 0.6686
0.9818 0.9745
Computers in Industry H.T. Papadopoulos et al. / Throughput Rate of Production L ines- - l I
Table 16 Erlang Type 6 service times, identical buffers, t-ti = 1 for all i = 1 . . . . , K, feedback 0 = 0
331
No. of Buffer s ize(B)
s ta t ions(K) 0 1 2 3 4 5 6 7 8 9 10
2 0.8159 0.9106 0.9418 0.9569 0.9657 0.9716 0.9757 0.9788 0.9812 0.9831 0.9846 3 0.7534 0.8778 0.9197 0.9402 0.9524 0.9604 0.9661 0.9704 0.9737 0.9764 0.9785 4 0.7217 0.8604 5 0.7024
Table 17 K = 3, Erlang Type 2 service times, non-identical buffers, ~i =1 for all i = 1 , . . . ,K , feedback 0 = 0
B 3 B2
5 6 7 8 9 10
5 0.8989 0.905l 0.9096 0.9130 0.9157 0.9177 6 0.9051 0.9116 0.9164 0.9201 0.9230 0.9252 7 0.9096 0.9164 0.9215 0.9253 0.9284 0.9308 8 0.9130 0.9201 0.9253 0.9294 0.9325 0.9351 9 0.9157 0.9230 0.9284 0.9325 0.9358 0.9385
10 0.9177 0.9252 0.9308 0.9351 0.9385 0.9412
Table 18 K = 3, Erlang Type 2 service times, non-identical buffers, /~] = 0.8, /z 2 = 0.66, /~3 = 1.25, feedback O = 0.2
B3 B2
0 1 2 3 4 5
5 0.4187 0.4702 0.4941 0.5069 0.5145 0.5191 6 0.4187 0.4702 0.4941 0.5070 0.5145 0.5191 7 0.4187 0.4702 0.4941 0.5070 0.5145 0.5191 8 0.4187 0.4702 0.4941 0.5070 0.5145 0.5191 9 0.4187 0.4702 0.4941 0.5070 0.5145 0.5191
10 0.4187 0.4702 0.4941 0.5070 0.5145 0.5191
7.1. Erlang Service Times--Identical Buffers
The results in this section are given for: (i) Erlang type 2 service times; (ii) Erlang type 3 service times; (iii) Erlang type 4 service times; (iv) Erlang type 5 service times; (v) Erlang type 6 service times. For this case some results where obtained by Hillier and Boling [5]. The results obtained here compare exactly with those ob- tained by Hillier and Boling.
Erlang Type 2. The largest system solved for Erlang type 2 was K = 9, B = 0, which has 81,090 equa- tions; it took 24 iterations and 87.68 CPU seconds to solve (Table 12). As with the exponential case it was found that as the size of the buffer increased the rate of convergence decreased, for example K = 5, B = 5, which has 75,658 equations, took 300 CPU seconds to solve.
Erlang Type 3. The largest system for Erlang type 3 for which a result is given in Table 13 contained 72,993 equations and took approximately 400 CPU seconds to solve. Most systems were solved in considerably less CPU time than this.
Table 19 K = 4, Erlang Type 2 service times, non-identical buffers, /L i = 1 for all i = 1 . . . . . K, feedback 8 = 0
B4 B 3 B2
0 1 2 3 4 5
3 5 0.7255 0.8086 0.8405 0.8551 0.8630 0.8677 6 0.7264 0.8121 0.8454 0.8603 0.8681 0.8727 7 0.7268 0.8146 0.8490 0.8642 0.8720 0.8765 8 0.7270 0.8164 0.8519 0.8674 0.8751 0.8795 9 0.7272 0.8177 0.8542 0.8700 0.8776 0.8819
10 0.7272 0.8186 0.8561 0.8721 0.8797 0.8838
332 Applications
Erlang Type 4. T h e la rges t s y s t e m so lved he re t ook
300 C P U s e c o n d s a n d 135 i t e r a t i o n s to solve; this
s y s t e m K = 4, B = 5 has 70,096 e q u a t i o n s (Tab l e
]4).
Erlang Type 5. K = 4, B = 4 is the l a rges t s y s t e m
for w h i c h a resu l t is g iven here , it has 98,145
e q u a t i o n s a n d took 420 C P U s e c o n d s to solve a n d
120 i t e r a t i ons (Tab le 15). Aga in , m o s t o f the sys-
t e m s for w h i c h resu l t s a re g iven he re t o o k c o n s i d -
e r ab ly less C P U t ime to solve - - m o s t were so lved
in t ens of s econds .
Erlang Type 6. As s t a t ed ear l ie r the n u m b e r of
i t e r a t i ons were f o u n d to i nc r ea se w i th an i nc r ea se
in the n u m b e r of p h a s e s a n d fo r i nc reases in the
size of buf fe r . The n u m b e r of i t e r a t i ons it took to
solve K = 3, B = 10 was a p p r o x i m a t e l y 400 i tera-
t ions a n d 300 C P U seconds , t he re are 27,738
e q u a t i o n s in th is s y s t e m (Tab le 16).
Computers in Industry
Table 20 K = 5, Erlang Type 2 service times, non-identical buffers, /x i =1 for all i =1 . . . . . K, feedback 0 = 0
B5 B4 B3 B2
0 1 2 3 4 5
0 0 0 0.5723 0.5927 0.5967 0.5975 0.5977 0.5977 1 0.6090 0.6251 0.6284 0.6292 0.6294 0.6294 2 0.6238 0.6349 0.6368 0.6373 0.6374 0.6374 3 0.6310 0.6383 0.6393 0.6395 0.6396 0.6397 4 0.6350 0.6396 0.6401 0.6402 0.6402 0.6402 5 0.6372 0.6401 0.6403 0.6403 0.6403 0.6403
2 3 0 0.6393 0.6903 0.7075 0.7138 0.7163 0.7172 1 0.6914 0.7502 0.7708 0.7796 0.7837 0.7857 2 0.7104 0.7735 0.7946 0.8036 0.8079 0.8102 3 0.7186 0.7855 0.8066 0.8152 0.8193 0.8215 4 0.7226 0.7929 0.8139 0.8219 0.8257 0.8277 5 0.7246 0.7980 0.8189 0.8264 0.8297 0.8314
7.2. Erlang Sere, ice Times--Non-identical Buffers
As the n u m b e r of p e r m u t a t i o n s fo r th is case are
n u m e r o u s , on ly a s a m p l e of the resu l t s tha t c o u l d
Table 21 K = 3, Erlang Type 3 service times, non-identical buffers, ~t, =1 for all i = 1 ..... K. feedback 0 = 0
B 3 B2
0 1 2 3 4 5 6 7 8 9 10
0 0 . 6 8 4 2 0 . 7 3 8 5 0 . 7 5 4 1 0 . 7 5 9 2 0 . 7 6 1 0 0 . 7 6 1 6 0 . 7 6 1 8 0 . 7 6 1 9 0 . 7 6 1 9 0 . 7 6 1 9 0.7619 1 0 . 7 3 8 5 0 . 8 0 9 5 0 . 8 3 4 7 0 . 8 4 6 1 0 . 8 5 1 9 0 . 8 5 4 9 0 . 8 5 6 6 0 . 8 5 7 5 0 . 8 5 8 0 0 . 8 5 8 3 0.8585 2 0 . 7 5 4 2 0 . 8 3 4 7 0 . 8 6 4 5 0 . 8 7 8 9 0 . 8 8 6 9 0 . 8 9 1 7 0 . 8 9 4 8 0 . 8 9 6 7 0 . 8 9 8 0 0 . 8 9 8 9 0.8995 3 0 . 7 5 9 2 0 . 8 4 6 1 0 . 8 7 8 9 0 . 8 9 4 9 0 . 9 0 4 2 0.9100 0 . 9 1 3 9 0 . 9 1 6 5 0 . 9 1 8 4 0 . 9 1 9 8 0.9207 4 0 . 7 6 1 0 0 . 8 5 1 9 0 . 8 8 6 9 0 . 9 0 4 2 0 . 9 1 4 2 0 . 9 2 0 6 0 . 9 2 5 0 0 . 9 2 8 1 0 . 9 3 0 4 0 . 9 3 2 1 0.9334 5 0 . 7 6 1 6 0 . 8 5 4 9 0 . 8 9 1 7 0 . 9 1 0 0 0 . 9 2 0 6 0 . 9 2 7 5 0 . 9 3 2 2 0 . 9 3 5 6 0 . 9 3 8 1 0 . 9 4 0 1 0.9416 6 0 . 7 6 1 8 0 . 8 5 6 6 0 . 8 9 4 8 0 . 9 1 3 9 0 . 9 2 5 0 0 . 9 3 2 2 0 . 9 3 7 2 0 . 9 4 0 8 0 . 9 4 3 5 0 . 9 4 5 6 0.9473 7 0 . 7 6 1 9 0 . 8 5 7 5 0 . 8 9 6 7 0 . 9 1 6 5 0 . 9 2 8 1 0 . 9 3 5 6 0 . 9 4 0 8 0 . 9 4 4 6 0 . 9 4 7 5 0 . 9 4 9 7 0.9515 8 0 . 7 6 1 9 0 . 8 5 8 0 0 . 8 9 8 0 0 . 9 1 8 4 0 . 9 3 0 4 0.9382 0 . 9 4 3 5 0 . 9 4 7 5 0 . 9 5 0 5 0 . 9 5 2 8 0.9547 9 0 . 7 6 1 9 0 , 8 5 8 3 0 . 8 9 8 9 0 . 9 1 9 8 0 . 9 3 2 1 0 . 9 4 0 1 0 . 9 4 5 6 0 . 9 4 9 7 0 . 9 5 2 8 0 . 9 5 5 2 0.9571
10 0 . 7 6 1 9 0 . 8 5 8 5 0 . 8 9 9 5 0 . 9 2 0 7 0 . 9 3 3 4 0 . 9 4 1 6 0 . 9 4 7 3 0 . 9 5 1 5 0 . 9 5 4 6 0 . 9 5 7 1 0.9591
Table 22 K = 4, Erlang Type 3 service times, non-identical buffers, p,, = 1 for all i = 1 .. . . . K, feedback 0 = 0
B 4 B~ B 2
0 1 2 3 4 5 6 7
5 0 0.6842 0.7384 0.7540 0.7590 0.7607 0.7613 0.7615 0.7615 1 0.7385 0.8088 0.8333 0.8440 0.8492 0.8519 0.8533 0.8541 2 0.7541 0.8336 0.8617 0.8747 0.8815 0.8855 0.8879 0.8893 3 0.7592 0.8448 0.8753 0.8893 0.8969 0.9015 0.9043 0.9062 4 0.7609 0.8506 0.8831 0.8978 0.9058 0.9107 0.9138 0.9158 5 0.7616 0.8539 0.8880 0.9034 0.9116 0.9166 0.9189 0.9220 6 0.7618 0.8558 0.8913 0.9073 0.9158 0.9208 0.9241 0.9263 7 0.7619 0.8569 0.8936 0.9102 0.9189 0.9240 0.9273 0.9295
Computers in Industry H.T. Papadopoulos et al. / Throughput Rate of Production Lines--H 333
Table 23 K = 5, Erlang Type 3 service times, non-identical buffers, /x, = 1 for all i = 1 . . . . . K, feedback 0 = 0
B5 B4 B3 Bz
0 1 2 3
2 2 0 0.6826 0.7333 0.7464 0.7502 1 0.7351 0.7952 0.8123 0.8187 2 0.7509 0.8161 0.8336 0.8400 3 0.7569 0.8265 0.8436 0.8496
Table 25 K = 4, Erlang Type 4 service times, non-identical buffers, /z i = 1 for all i = 1,. . . , K, feedback 0 = 0
B4 ~ ~
0 1 2 3 4 5
3 0 0.7139 0.7670 0.7794 0.7826 0.7835 0.7838 1 0.7673 0.8373 0.8579 0.8659 0.8695 0.8711 2 0.7801 0.8591 0.8823 0.8920 0.8967 0.8992 3 0.7837 0.8687 0.8937 0.9039 0.9091 0.9119 4 0.7848 0.8738 0.9003 0.9108 0.9161 0.9191 5 0.7851 0.8768 0.9046 0.9154 0.9207 0.9236
be obtained is given. No results were available to compare the results obtained here with. The re- sults are given for: (i) Erlang Type 2 (Tables 17-20); (ii) Erlang Type 3 (Tables 21-23); (iii) Erlang type 4 (Tables 24 and 25); (iv) Erlang Type 5 (Tables 26 and 27). The largest system solved in this section was K = 5, P = 3, B 2 = 3, B 3 --- 3, B4 = 2, B 5 = 2 which has 69,738 equations, it took 256 CPU seconds to solve.
7.3. Erlang Service Times--Non-identical Phases and Non-identical Buffers
Five tables (Tables 28-32) are given here for K = 2, K = 3, K = 4, K = 5 and K = 6. The largest system solved here was K = 6, B 2 = 4, B 3 = 3, B 4 = 3 , B s = l , B6=1 , P , = 2 , P 2 = 3 , P 3 = 4 , P4 = 1, /'5 = 3, P6 = 2; it has 176,513 equations and it was solved in 454 CPU seconds.
8. Conclusions
The algorithm presented in [11] was easily ex- tended to include Erlang distributed service times. By ordering the states as outlined a relatively simple structure for the conservative matrix A is revealed. This results in a simple and efficient algorithm for the generation of matrix A, which allows one to obtain results for a wide range of mode l s - -wi th the algorithm being very general allowing all parameters of the system to vary arbitrarily. With the algorithm implemented in a "user friendly" program, it could be used for a certain range of models where the states are small (i.e. < 50,000) as an interactive tool for early systems design.
In order for the algorithm to be utilized fully, the efficiency of the solution procedure needs to
Table 24 K = 3, Erlang Type 4 service times, non-identical buffers, /~i = 1 for all i = 1 . . . . . K, feedback 0 = 0
B 3 B2
0 1 2 3 4 5 6 7 8 9 10
0 0.7140 0.7677 0.7804 0.7839 0.7849 0.7852 0.7852 0.7853 0.7853 0.7853 0.7853 1 0.7677 0.8402 0.8630 0.8726 0.8773 0.8796 0.8808 0.8814 0.8818 0.8820 0.8821 2 0.7804 0.8630 0.8901 0.9025 0.9092 0.9131 0.9155 0.9170 0.9180 0.9186 0.9191 3 0.7839 0.8726 0.9025 0.9163 0.9240 0.9288 0.9319 0.9340 0.9355 0.9366 0.9373 4 0.7849 0.8773 0.9092 0.9240 0.9324 0.9377 0.9412 0.9437 0.9455 0.9469 0.9479 5 0.7852 0.8796 0.9131 0.9288 0.9377 0.9433 0.9471 0.9499 0.9519 0.9534 0.9546 6 0.7852 0.8808 0.9155 0.9319 0.9412 0.9471 0.9512 0.9541 0.9563 0.9579 0.9592 7 0.7853 0.8814 0.9170 0.9341 0.9437 0.9499 0.9541 0.9571 0.9594 0.9612 0.9626 8 0.7853 0.8818 0.9180 0.9355 0.9455 0.9519 0.9563 0.9594 0.9618 0.9636 0.9651 9 0.7853 0.8820 0.9186 0.9366 0.9469 0.9534 0.9579 0.9612 0.9636 0.9655 0.9671
10 0.7853 0.8821 0.9191 0.9373 0.9479 0.9546 0.9592 0.9626 0.9651 0.9671 0.9686
334 Applications
Table 26 K = 3, Erlang Type 5 service times, non-identical buffers, ~, = 1 for all i = l . . . . . K, feedback 0 = 0
Computerx in Indust~,
B3 B2
0 1 2 3 4 5 6 7 8 9 10
0 0.7361 0.7887 0.7992 0.8017 0.8023 0.8025 0.8025 0.8025 0.8025 0.8025 0.8025 1 0.7887 0.8617 0.8825 0.8909 0.8947 0.8966 0.8975 0.8980 0.8983 0.8984 0.8984 2 0.7992 0.8825 0.9073 0.9182 0.9239 0.9272 0.9292 0.9304 0.9312 0.9317 0.9321 3 0.8017 0.8909 0.9182 0.9303 0.9369 0.9410 0.9436 0.9454 0.9466 0.9474 0.9481 4 0.8023 0.8947 0.9239 0.9369 0.9441 0.9486 0.9516 0.9537 0.9552 0.9563 0.9571 5 0.8025 0.8966 0.9272 0.9410 0.9486 0.9534 0.9566 0.9589 0.9606 0.9619 0.9628 6 0.8025 0.8975 0.9292 0.9436 0.9516 0.9566 0.9600 0.9625 0.9634 0.9656 0.9667 7 0.8025 0.8980 0.9304 0.9454 0.9537 0.9589 0.9625 0.9650 0.9669 0.9684 0.9695 8 0.8025 0.8926 0.9312 0.9466 0.9552 0.9606 0.9643 0.9669 0.9689 0.9704 0.9716 9 0.8025 0.8984 0.9317 0.9475 0.9563 0.9619 0.9656 0.9684 0.9704 0.9720 0.9732
10 0.8025 0.8985 0.9321 0.9481 0.9571 0.9628 0.9667 0.9695 0.9716 0.9732 0.9745
Table 27 K = 4, Erlang Type 5 service times, non-identical buffers, /~ =1 for all i =1 . . . . . K, feedback 0 = 0
B4 B3 B2
0 1 2 3 4
0 0.7357 0.7868 0.7965 0.7986 0.7991 1 0.7877 0.8554 0.8723 0.8784 0.8808 2 0.7985 0.8749 0.8937 0.9008 0.9041 3 0.8014 0.8836 0.9035 0.9108 0.9142 4 0.8022 0.8885 0.9093 0.9165 0.9198
Table 28 K = 2, Erlang Type P, service times, P1 =1, P2 = j, j =1 .... ,6, /~i =1 for all i =1 . . . . . K feedback 0 = 0
B2 P2
1 2 3 4 5 6
0 0.6667 0.6923 0.7033 0.7094 0,7133 0.7160 1 0.7500 0.7808 0.7934 0.8003 0.8046 0.8076 2 0.8000 0.8302 0.8421 0.8485 0,8525 0.8552 3 0.8333 0.8615 0.8723 0.8781 0.8816 0.8840 4 0.8571 0.8831 0.8929 0.8980 0.9011 0.9032 5 0.8750 0.8989 0.9077 0.9123 0.9151 0.9170 6 0.8889 0.9109 0.9189 0.9231 0.9256 0.9273 7 0.9000 0.9204 0.9277 0,9315 0.9338 0.9354 8 0.9091 0.9280 0.9348 0,9383 0.9404 0.9418 9 0.9167 0.9343 0.9406 0.9438 0.9458 0.9471
10 0.9231 0.9396 0.9455 0.9485 0.9503 0.9515
Table 29 K = 3 , Erlang type Pi service times, P l = l , P2=2, P~=3, non-identical buffers, ~i = 1 for all i = 1 . . . . . K, feedback 0 = 0
B3 B2
0 1 2 3 4 5
0 0.6212 0.6800 0.7080 0.7228 0.7311 0.7359 1 0.6688 0.7387 0.7740 0.7946 0.8078 0.8165 2 0.6840 0.7609 0.8002 0.8235 0.8387 0.8493 3 0.6893 0.7709 0.8131 0.8381 0.8545 0.8661 4 0.6912 0.7758 0.8201 0.8465 0.8639 0.8761 5 0.6919 0.7782 0.8241 0.8517 0.8698 0.8825
be improved. A more precise method of calculat- ing CO °pt would lead to considerable reduction in the CPU time needed to solve a system. Probably, the method of aggregation-disaggregation would allow large systems to be solved more efficiently, as was applied by Seelen [12] for P H / P H / c queues. For references on aggregation-disaggrega- tion the interested reader is also referred to Schweitzer and Kindle [13] and Takahashi [14].
Two interesting and worth while areas of re- search would be: (1) to extend the algorithm to
Computers in Industry H. 72 Papadopoulos et al. / Throughput Rate of Production Lines--H 335
include unreliable stations, and (2) to determine the optimal buffer allocation of a production line. The optimal buffer allocation would maximize the throughput while minimizing the holding and buffer storage costs of the line.
Table 30 K = 4, Erlang Type P~ service times, "01 = 2, '°2 = 3, P3 = 4, P4 = 4, non-identical buffers, #~ = 1 for all i = 1 . . . . . K, feed- back 0 = 0
~ 83 ~ 0 1 2 3 4 5
2 0 0.6760 0.7344 0.7545 0.7624 0.7657 0.7671 1 0.7248 0.7962 0.8233 0.8361 0.8429 0.8467 2 0.7375 0.8167 0.8465 0.8608 0.8687 0.8734 3 0.7413 0.8261 0.8580 0.8729 0.8816 0.8862 4 0.7425 0.8312 0.8649 0.8803 0.8886 0.8937 5 0.7429 0.8341 0.8694 0.8853 0.8937 0.8987
Table 31 K = 5, Erlang Type Pi service times, P1 = 2, P2 = 3, P3 = 4, P4 =1, P5 =3 , non-identical buffers, /t, =1 for all i = 1 . . . . . K, feedback 0 = 0
B5 B4 B3 B2 0 1 2 3 4 5
1 3 0 0.6654 0.7110 0.7242 0.7288 0.7305 0.7311 1 0.7065 0.7508 0.7628 0.7674 0.7694 0.7704 2 0.7191 0.7629 0.7731 0.7768 0.7784 0.7792 3 0.7253 0.7692 0.7778 0.7807 0.7820 0.7826 4 0.7293 0.7733 0.7806 0.7828 0.7837 0.7841 5 0.7322 0.7762 0.7823 0.7839 0.7846 0.7848
Table 32 K = 6, Erlang Type Pi service times, Pl = 2, "°2 = 3, P3 = 4, P4 =1, P5 = 3, P6 = 2, non-identical buffers, gi =1 for all i = 1 . . . . . K, feedback 0 = 0
B 6 B 5 B 4 B 3 B 2
0 1 2 3 4
1 1 3 0 0.6623 0.7009 0.7105 0.7134 0.7144 1 0.6976 0.7270 0.7326 0.7344 0.7351 2 0.7077 0.7330 0.7367 0.7377 0.7381 3 0.7130 0.7357 0.7382 0.7388 0.7390
References
[1] A. Alkaff and E.J. Muth, "The throughput rate of multi- station production lines", Research Report No. 84-2, de- partment of Industrial and Systems Engineering, Univer- sity of Florida, Gainesville, FL, 1985.
[2] B. Avi-ltzhak and M. Yadin, "A sequence of two servers with no intermediate queue", Manage. Sci., Vol. 11, 1965, pp. 553-564.
[3] R.V. Evans, "Geometric distribution in some two dimen- sional queueing systems", Oper. Res., Vol. 15, 1967, pp. 830-846.
[4] C.E. Heavey, "The throughput rate of multistation relia- ble production fines with finite buffers and exponential or Erlang service times", M. Eng. Sc. Dissertation, Depart- ment of Industrial Engineering, University College Gal- way, Ireland, 1989.
[5] F.S. Hillier and R.W. Boling, "Finite queues in series with exponential or Erlang service times: a numerical ap- proach", Oper. Res., Vol. 15, 1967, pp. 286-303.
[6] G.C. Hunt, "'Sequential arrays of waiting lines", Oper. Res., Vol. 4, 1956, pp. 674-683.
[7] A.G. Konheim and M. Reiser, "A queueing model with finite waiting room and blocking", J. Assoc. Comput. Mach., Vol. 23, 1976, pp. 328-341.
[8] G. Latouch~ and M.F. Neuts, "Efficient algorithmic solu- tions to exponential tandem queues with blocking, SIAM J. Alg. Disc. Meth., Vol. 1, No. 1, 1980, pp. 93-106.
[9] E.J. Muth, "Stochastic process and their network repre- sentations associated with a production line queueing model", Eur. J. Oper. Res., Vol. 15, 1984, pp. 63-83.
[10] H.T. Papadopoulos, "Mathematical modelling of reliable production lines", Ph.D. Dissertation, Department of In- dustrial Engineering, University College Galway, Ireland, 1988.
[11] H.T. Papadopoulos, C. Heavey and M.E.J. O'Kelly, "The throughput rate of multistation reliable production lines with inter station buffers: (1) Exponential case", Com- puters in Industry, Vol. 13, No. 3, 1989, pp. 229-244.
[12] L.P. Seelen, "An algorithm for P h / P h / c queues", Eur. J. Oper. Res., Vol. 23, 1986, pp. 118-127.
[13] P.J. Schweitzer and K.W. Kindle, "An iterative aggrega- t ion-disaggregation algorithm for solving linear equa- tions", Research Report, University of Rochester, Roches- ter, NY, 1983.
[14] Y. Takahashi, "A lumping method for numerical calcula- tions of stationary distributions of Markov chains", Re- search Report, Department of Information Sciences, Tokoyo Institute of Technology, Tokoyo, Japan, 1975.
[15] V. Wallace, "Algebraic techniques for numerical solution of queueing networks", Proc. of a Conference at Western Michigan University, May 10-12, 1973.
[16] D.M. Young, lterative Solutions of Large Linear Systems, Academic Press, New York, 1971.