A recursive algorithm for generating the transition matrices of multistation series production lines

A recursive algorithm for generating the transition matrices of multistation series production lines

227 Applications A Recursive Algorithm for Generating the Transition Matrices of Multistation Series Production Lines H.T. Papadopoulos and M.E.J. O...

708KB Sizes 1 Downloads 38 Views

227

Applications

A Recursive Algorithm for Generating the Transition Matrices of Multistation Series Production Lines H.T. Papadopoulos and M.E.J. O'Kelly

1. Introduction

Department of Industrial Engineering, University College, Galway, Ireland

Production lines of the tandem type may be modeled by applying the queueing network theory. Buzacott and Yao [2] presented an excellent

This paper is concerned with reliable multistation series production lines, where an operation is performed on each job by the single machine at each station and jobs for the first station arrive according to a Poisson distribution. The processing times of all the stations are exponentially distributed and no buffers are allowed between successive stations, The structure of the transition matrices of these specific types of production lines is examined and a one-stage recursive algorithm is provided for generating them. The transition matrices are block-structured and sparse and by applying the proposed algorithm, one can create the transition matrix of a K-station line from the (K -1)-station transition matrix. This process avoids the necessity of writing down explicitly all the feasible states and transitions of the model, which is tedious

review of analytical models of Flexible Manufacturing Systems (FMS). When the capacity of the intermediate buffers iS finite, the blocking phenomenon must be c o n sidered but this contributes significantly to the intractability of the exact analysis. An extensive bibliography o n t h e analysis of queueing n e t w o r k s

H.T. Papadopoulos (Chris) is a Lecturer in Industrial Engineering and

for K = 12 stations, the number of states is 46,368).

Keywords." Multistation production lines, Open queueing networks, Finite buffers, Blocking phenomenon, Quasi-Birth-Death process, Block-triagonal matri . ces. large sparse matrices, Matrix geometric form.

Elsevier Science Publishers B.V. Computers in Industry 12 (1989) 227-240 0166-3615/89/$3.50 © 1989 Elsevier Science Publishers B.V.

.

.

U

.

College, Galway. He is a graduate in Mathematics and Computer Science from Aristotle University of Thessaloniki and National University of Athens. He has just completed his PhD degree in the analysis of production lines at exact Galway (National Uni-

versify of Ireland). His interests include the application of mathematical techniques in the analysis of Manufacturing Engineering Systems. His studies in Galway were supported by the Greek and Irish Governments. He was also the first recipient of the prestigious McLoughlin Bursary in Engineering in the College. ~

M.Ed. 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 (University, College Cork) and holds graduate degrees from California Institute of Technology and Columbia University, New York. Prior to joining University College, Galway, he worked in the electronics and engineering industry in France, Germany and Ireland and was Head of Manpower Forecasting in the Department of Labour, Dublin. He is a consultant to a number of multinational and national compames in Operations Research and Manufacturing Strategy.

228

Applications

with blocking is given by Perros [101. This interest came from their usefulness in modeling the behaviour of computer systems, telecommunication systems and more recently flexible manufacturing systems (FMS). Exact analytical results have been reported only for a few cases involving either short lines with fairly general assumptions in regard to inter-arrival and processing times [1,6] or longer production lines with very restrictive assumptions. Hunt [5] and Hillier and Boling [4] confine their attention to exponentially or Erlang distributed processing times. The exponential assumption permits the establishment of a set of simultaneous linear equations in terms of the equilibrium probabilities of each state. These may then be solved to give the mean production rates. However, even in this case, the computation soon becomes formidable as the number of states grow rapidly with increases in the number of stages. For this reason, approximate methods of some particular configurations of open or closed queueing networks with blocking have been developed and the results were cornpared against simulation data (see [11] among others), It is the purpose of this paper to provide a reeursive algorithm for generating the transition matrices of long exponential production lines, thus allowing the use of existing software packages on operations on large sparse matrices, to obtain solutions of the derived large linear systems in an efficient fashion,

2. The Model The model to be discussed 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. A buffer of infinite capacity is assumed to exist in front of the first station, with jobs arriving according to a homogeneous Poisson distributon with rate ~. Each item enters the line at station 1, passes through all stations in order and leaves the K t h 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 probability 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.

Computers in Indust~."

The processing (service) times S i, i = 1, 2 . . . . . K are independent exponentially distributed random variables with mean values 1/#,, i = 1, 2 . . . . . K . which are in general not identical (i.e. /t, ~/~j for i :~.]). We assume that the machines (stations) are reliable and all jobs in any machine are processed in a FIFO (first-in, first-out) manner. No buffers are allowed between successive stations. Let C,, i = 1, 2 . . . . . K, be the queue capacity of the ith queue (including the item in service). Then in our model C~ is infinite, and Cj = 1 for j = 2, 3 . . . . . K. The state of the tandem configuration can be described by the vector ( c l , c2 . . . . . c x ), (1) where c~ = 0, 1, 2 . . . . and ~)= 0, ~ , Cj + 1 for j = 2, 3 . . . . . K , i.e. cj = 0, 1, 2 for j = 2, 3 . . . . . K . The random variable cj indicates the number of items in the j t h queue, which may vary from 0 to 2. The value cj = Cj + 1 is used to indicate that the j t h queue is full and the ( j - 1)th machine is blocked, i.e. it cannot provide service on a job, since the previous job cannot move on to the next station, because that station is busy or blocked. Of course, the last station ( K th) can never be blocked. The state of the system under consideration is a two-dimensional stochastic process N ( t ) = [ N~(t), N2(t)]. Both coordinate random variables are integer valued and normegative. N l ( t ) represents 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 N x ( t ) , as t tends to infinity). There is no upper limit for N I. N2 represents the state of the remaining subnetwork (consisting of the queues 2, 3 , . . . , K ) at equilibrium and may assume only values from 1 to m, for some finite m which is the number of states in the subnetwork. The changes in the state of the system are caused by the occurrence of various events. The occurrence times for all events have negative exponential distributions with strictly positive means. Thus the process is Markovian. Its statespace 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 (UnitI). Such items are called "I-customers". The index j determines the state of the subnetwork (Unit-lI). Upon completion of a service in Unit-I, an item becomes a "II-customer". Now, as shown by Evans [3], Wallace [13] and Latouchd and Neuts [7], the transition matrix P that describes the model, has

Computers in lndtt~t~,

H.T. Papadopoulos, M.E.J. O'Kelly / Multistation Series Production Lines

the following block tri-diagonal form Aol A0 A2 P =

A1 A2

A0 A1 A:

A0 A1

Latouch6 and Neuts [7] proposed a different algorithm for finding the matrix R.

(2) A0

Remarks. We define P2 = [ P 2 ( J ) : J = 1, 2 . . . . . m] to be the marginal probability density function for the subnetwork (Unit-II), which has elements p~(j)

and the equilibrium equations ~rP = 0 can be expressed in matrix-difference form as IrkA0 + ~'k -1Al + rr~+zA2 = 0,

(3)

for k = 0, 1, 2 .... and %Aol + ~qA2 = 0 ,

229

= Prob[N 2 = j ] = Y' 7r,.,, i=O

j-= 1, 2 . . . . . m,

(7)

where 7r,.j are the j o i n t probabilities. Solving the system

(4)

p2A = 0 ,

p2e = 1,

(8)

for the boundary equations,

where A is the conservative stable matrix given by

A 0 is an (m × m)-matrix describing the transi-

A = A o + A 1+ A z

tions in the subnetwork, which simultaneously produce inputs to the first queue; A~ 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;

and e is a (m × 1) column vector, with all ele-

A 2 is an (m x m)-matrix describing transitions in the subnetwork which simultaneously produce outputs from the first queue; and A m is an (m X 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 (3) and (4) was termed by Wallace a Quasi-Birth and Death (QBD) process. Wallace [12] has shown that, under very weak conditions, a unique suitable root exists and that Evans' algorithm does indeed converge toit, Evans [3] proposed that a "geometric" solution, i.e. solution of the form (5) 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 % = ~roR~,

k >1 O,

R2A2 + RA I + A o = 0.

(6)

Papadopoulos and O'Kelly [9] applied a modified version of this algorithm and they found the mean queue-length and the marginal probabilities for the first infinite queue of the system under consideration, for K = 2, 3 . . . . . 7.

(9)

ments equal to 1, will give explicit results for P2( J), J = 1 . 2 . . . . . m .

The Equilibrium Condition is given [7] by

P2A2e > p2Aoe

(I0)

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.

3. The Algorithm In this section, we first discuss the problem of how to determine the number of the states in the subnetwork (Unit-lI), for the model described above. We derive a recursive formula which gives the number of states of the subnetwork for any K-station production line. Next, we describe explicitly the form of the matrices A o, A I. Ao~ and A2 for K = 2 and K = 3, and by comparing the relationship of their sub-blocks we provide the recursive algorithm for generating them. 3.1. The N u m b e r o f States

Since the first queue has an infinite drawing population, the number of states of the whole system is also infinite. We are interested in determining the number of states m x of the subnetwork (consisting of the queues 2, 3 . . . . . K ) . The

230

Applications

vector

("omputers in lndust~..

that

describes the subnetwork is where every cj, j = 2, 3 . . . . . K , takes s, = 3 values: from 0 up to 2 ( = Cj + 1). The value cj -- 2 means that the j t h machine is full and the ( j - 1)th machine is blocked. The number of permutations of p distinct elements taken in groups of kx = K - 1 , the number of stations of the subnetwork, is ~,k. = 3x-1. So, for example, the number of possible permutations of a two-station series production line is 3 2 - 1 = 3; for K = 3 and K = 4 the number of permutations are 3 3- i = 9 and 34-1=27, respectively. But not all these permutations are f e a s i b l e , since for example the situation (0, 2) is inconsistent with the definition of the state 2 (the second machine (of the subnetwork) is full and the first one is blocked, but here the first machine is idle (state 0)). Thus, we have to remove this permutation. For the 2-station line there is no such a problem. The number of the (feasible) states of the subnetwork, m 2, equals the number of the possible permutations (3). Let us consider the 3-station line: the nine possible permutations are

m4=(m3-mz)+m3+m~=3m3-m

So. 3 =

ms,.~ = ms:.~ = m r_ ,,

(15)

SLj = {(1, 0), (1, 1), (1, 2)},

m K = 3mr_

(16)

$2.3 = {(2, 0), (2, 1), (2, 2)). This set of 9 permutations consists of 3 subsets: So.a., SL3, $2, 3, depending on the state (0, 1 or 2) of the first station of the subnetwork, which is the second for the whole system. The permutation (0, 2) is not feasible and so it is rejected. Thus, m3=9-1 =8. For K = 4 the 27 possible permutations are

hold for all K >I 4 with m 2 = 3 and m 3 = 8. In Table 1, the number m r of the states of the subnetwork of reliable series production lines, without intermediate buffers, is given for K = 2, 3 . . . . . 13. By applying (16) one may obtain m K for any K.

So.4 = {(0, 0, 0), (0, 0, 1), (0, 0, 2), (0, 1, 0), (0, 1, 1), (0, 1, 2),

Table 1 Number of states of the subnetwork of rehable series production lines

( c 2, c 3 . . . . . c x ),

((0, 0), (0, 1), (0, 2)},

(0, 2, 0), (0, 2, 1), (0, 2, 2)},

of only 5 states ((0, 0, 2), (0, 2,0),(0, 2, 1) and (0, 2, 2) are not feasible), which correspond to the states belonging to So.3 and $1.3 with the addition of 0 in front of them. Thus, ma=5+8+8=(So,.~+S13)+m3+m

So.3 + $1.~ = 5 = 8 - 3 = m 3 - m , ,

2.

m x = m s , , , . + m s~.~ + m s 2 , •

By repeating the above process, we can easily see that the following relationships, ms,,A=ms,)

~ ,+msl~

, =mr-.l--mK-2,

1 - mr_, .,

No. of states

,.A

'

$2. a = {(2, 0, 0), (2, 0, 1), (2, 0, 2), (2, 1, 0). (2, 1, 1), (2, 1, 2),

(13)

The number of states of a K-station production line, m r , is given by the sum of the states of the three subsets: S o . r , S L x and $2. r , i.e. the following equation holds

2

(1, 2, 0), (1, 2, 1), (1 2, 2)}

(12)

and from (11) and (12) we get

No. of stations

(1, 1, 0), (1, 1, 1), (1, 1, 2),

(11)

However,

s,.. = {(1, 0, 0), (1, 0, 1), (1.0, 2).

'

3.

3

3

8

4

21

5 6 7 8 9

(2, 2, 0), (2, 2, 1), (2, 2 . 2 ) } .

~0

The second (SL4) and third (S2,4) subsets each consist of 8 = m 3 states ((1, 0, 2) and (2, 0, 2) are not feasible), while the first subset (So.4) consists

11 12 13

55 144 377 987 2,584

6,765 17,711

46,368 121.393

(14)

Computers in Industry

H.T. Papadopoulos,M.E.J. O'Kelly / MultistationSeries ProductionLines

231

3.2. The Two- and Three-Station Production Lines

At this point, we observe that matrix A n has the following form

Consider matrices A o, A I, A m and A 2 for K = 2 a n d K = 3 . F o r K = 2 , theseare

(Axa), A21= ( A l l ) #

X A0 = #20 0

and in order to create All we need: (i) ( A l l ) , which is given by

0 X #20

0, 0 h

(17)

0 )v (All

(24)

((AH)o),,=: = -~A~ =

it,

0

/t28' 0

-h-

0

~1 -

~2

i.t20 '

0

(ii) (All)• which is given by ,

_h_la 2

((AII)B)A.=3~-(AI4)K=2I~2.~,, (18)

-X

0

Am = tt20' 0 0

- X - t t2 I.t2g'

#t

0

A2= 0

0

IxI ,

0

0

0

0 0 , - h - g2

(19)

tq 2 . _0p.

0 A12 A~5

00 , A13

--X--gl--IX 2 P30'

0 - h - g'l - bt2 -/'1'3

0

0

_O1_~31~ ~2 •

-h (28)

Again. we observe that matrix A~2 has the following form

(21) A12= ( A~2 )" 0

(22)

(27)

where (Ai/)K=21t~:.~, indicates thai #2 is substituted by #3 in (A,:)K= 2. (2) Sub-matrix A12 is a (m,; x m S ) = (3 x 3)=(mx-lXmx-1)matrix, w~cfinisgi'v~enby

(20)

Matrix A does not contain any X's and the sum of each row is zero. For K = 3, let us examine matrix A1 first. This is a ( m r × m r ) = (8 × 8) matrix and it has the following form

An A,= O A~4

(iii) (A~I) ~ which is given by

AI2 =

- g l #l- i t 2 g2

(26)

( ( A x , ) y ) r . . ~ = (A,2)K=2t~,:=~, ~,

where 0' = 1 - 0. The conservative matrix A = A 0 + A~ + A 2 becomes

A = -~t2 gl 0

(25)

0 ( Al2 )a (A12)~

(29)

where. (i) (A12) = is a (ms,,~ × m s , , , ) = (2 x 2) matrix and is equal to ( A ~ ) x except that we subtract 1~2 from the diagonal elements, i.e.

(A12)a =

-h-gl#fl'-~t2

-?'-t~-g2-0

/t3 . (30)

where Ai,, i = 1. . . . . 5. are sub-matrices which are described below. A~ is a (mso. X m s o . , ) = ( 2 x 2 ), or by using (14) it is a ( m s o , _ + m s , , _ , ) square matrix, • according to the way the subset, So. x, of the states for K = 3, are created from the states for K = 2. (1) Sub-matrix A~ is given by -)~-ga 0 AI~ = ~0' -h-g~~%"

]

(23)

(ii) (Ai2)O

is a ((ms, ~ - m s , , , ) x (ms, ~ • ms°"))=((3-2)×(3-2))=(1 × l)=(ms,., ,x ms,.,_,) diagonal matrix with all diagonal elements equal to g2, and is placed beside (A~2),, with the left-bottom comer of (A~2) a positioned beside the fight-bottom comer of (A~2) ~. (A~2)B describes the transitions in the subnetwork, where "machine-I (second in the system) finishes the processing on its job and becomes blocked, since machine-2 (third in the system) is occupied". In

232

Applications

Computers in Industry

our case, for K=* 3, this sub-matrix is a (1 x 1) matrix, i.e. (A12)p = #2(iii) (AI2)r is a ( ( m s , . ~ - mso.x ) × (ms~., mso.~)) = ((3 - 2) × (3 - 2)) = (1 × 1) --- (ms,.~_, × ms,.~_l ) matrix which is equal to ( A i E ) x . 2 after the substitution of #2 by #3, and which in turn, constitutes the right-bottom part of the sub-matrix ( A l l ) g - 3 = (All)v = - ~ - #1 - #3. We observe that there is no #2 in its diagonal elements, since these elements correspond to internal transitions (within the subnetwork), where the first station of the subnetwork (second in the line) is blocked (i.e. it has already finished the service on the existing job, which cannot move on to the next station, since that one is occupied). (A12)v is placed directly beneath (A12)/~. (3) Sub-matrix A13 is a (ms2.x × ms~.K ) = (m&.~ × ms,.~ ) = (3 x 3) matrix, which is equal to A12 except that there is no #1 in its diagonal elements, since these correspond to those internal transitions (within the subnetwork), where the first station of the system is blocked (i.e. it has already finished processing its job, while the first station of the subnctwork (second in the line) is either busy or blocked). A13 is given by

(4) Sub-matrix A~4 is a (ms,.~ × mso.~) = (3 × 2) matrix, which is placed directly beneath AH and is described below:

(ii) (Ax4)~ is a (mso.~_, × mso.~_,) = (1 x 1) (for K = 3) one-element diagonal matrix consisting of #2. (iii) (A]4), r is a (mso.~_, × (ms,,. A - 2ms0.~_,)) = (1 × (2 - 2 × 1)) = (1 × 0) (for K = 3) matrix consisting of zero(s). For K = 3, (A~4)~ is a degenerate matrix and this makes it difficult to understand the whole structure of the matrix Al4. However for K >/4, the structure becomes clear. Sub-matrices (Ai4),, (A14)/s and (A14)y constitute the first "zone" of rows of matrix A14. The second "zone" of its rows contains the sub-matrix (AI4), s. (iv) (Al4)e is a ( m s , , , × m s o ~ ) = ( m s , ..... × ( m s o . , , + ms,.,.,)) = (1 x (1 + I)) = (1 × 2) matrix consisting of zeros, for K = 3. (v) (Ai4), is a (ms2.~_, ×ms,,. A ,) = (1 × 1) (for K = 3) matrix consisting of zero(s). (vi) (A14)~ is a (ms.x_ ~ × mso~_,) = (1 × 1) (for K = 3) matrix, which is equal to the sub-matrix (All) ~ of All. Finally, (vii) (A14), is a (ms~.A., × (mso ~ -2mso.~_,)) = (1 × (2 - 2 × 1)) = (1 × 0) (for K = 3) matrix consisting of zeros. For K = 3 (A~4) ~ is again a degenerate matrix. It is suggested to the interested reader to develop this sub-matrix for K = 4 so as to have a better understanding of it. In the appendix, all the sub-matrices are explicitly described, for K = 4, Sub-matrices (Ai4)o (A14)¢ and (A14)~ constitute the third (last) "zone" of rows of (sub)matrix A~4. From the description of the sub-matrix A,4 presented above, we have for K = 3: ( A14 ) ~ = 0,

0 A14 = 00

(A~4)B=#2. (AI4) ~ does not exist (degenerate matrix).

A~3=

-~-#2 #30, 0

0 -~-#2-#3 0

~0 #3 " #2 - (31)

02 #30' ].

(32)

= [o,ol,

We observe that matrix A~4 consists of a group of sub-matrices (A~4)., where * takes the values: a, fl, 7, 8, ¢, ~', and ~1, and A14 can be written as

(A~4), = 0, (A~4)~ = #30', and

follows:

(A~4)~ does not exist (degenerate matrix).

(A~4). A~4=

(A~4),

(A~4)O ( A ~ 4 ) r , (A14)n (A14) ~" (A14).

(33)

where (i) (A~)~ is a (mso~_ ' x mso.,_,) = (1 × 1) (for K = 3) matrix consisting of zero(s).

(5) S u b . m a t r i x A ~ s i s a ( m s ~ . × m s , . ) = ( 3 x 3 ) (for K = 3) matrix, which is placed directly beneath A~2. It is a square matrix, since from (15) ms,^ = ms~.~= m r - l . It consists of two submatrices, having the following form: A~ = I ( A ~ ) ,

(A~5)~ I,

(34)

Computers in lndust~.

H.T. Papadopoulos, M.E.J. O'Kelly / Multistation Series Production Lines

where (i) (A15) ~ is a (ms2.K x mso.K ) = (3 × 2) matrix, which is exactly the same as matrix AI4, generated above (this is generally true), (ii) (Ais)/~ is a (ms2.~ × (ms,.K - mso.~)) = (3 x (3 - 2)) = (3 × 1) (for K = 3) matrix consisting of zeros and it is placed beside (Als) ~. Sub-matrix AI5 is given below 0

A1, = 0

~2

0

0

0 •

233

store it into the appropriate cells, i.e. do i = 1, mso ^ do j = 1, m s .... if (i.eq.j) then (A12)~(i, i) = A l l ( i , i) - ~t~ else (A12)~(i, j ) = A l l ( i , j ) end if end do e n d do.

(35)

/~30'

(b)ingof Create c °i.e. thendiag°nal s i sub-matrix s t - ,(A'2)/~ 2 , do i = 1, ms, ~ - ms,,~ ( A12)/j(i, i) = 1~2

Generalisation. To proceed to the development of an algorithm to generate the transition matrices of a multistation series production line, it may be concluded from the discription of the various sub-matrices of A 1, given above, that in order to create matrix (A1) K, only sub-matrix ( d l l ) g is required to be determined. To obtain (AH) K we use the sub-matrices (All)x_ 1, (A14)x_ 1 and (A12)K_ l, where we substitute I~,-1 by ~t, for i = K, K - 1. . . . . 3 (i.e. backwards). The remaining sub-matrices are generated from (An)it or are easily created within the algorithm (i.e. we refer to sub-matrices (A~4)a and (A~2)a which are diagonal matrices, with all diagonal elements equal to

end do and store it into the appropriate cells. (c) Create the sub-matrix (AI~) ~ which equals (All) r, i.e. do i = 1, m s , , - ms, ,

do j = l, ms, ~ - - m s o ^ (A12)~(i, j ) = (Al~)~(i, j ) end do end do and store it into the appropriate cells. Step 3. Create sub-matrix (A13)x by adding ~ to

the diagonal elements of (A~,) K and store it into the appropriate cells, i.e.

1~2)"

do i = 1, m s , A

3.3. Steps of the Algorithm

do j = 1, ms2.~

if (i.eq.j) The steps of the algorithm are described below, To determine ( A 1 ) K : Step 1. Write down and store into the appropriate

cells, sub-matrix (All)x by using the sub-matrices: (i) (A11)~=(A11)K_ l, (ii) ( A n ) ~ = (A14)x_ 1 and (iii) (A~1)v = (Aa:)K_ ~. Initial values:

For

(A~)x=~:

A~(1, 1) = - h - bt~, for 1~20', for (AI2)K=2: A1(2, 2)

(AI4)K=2: A~(2, 1) =

= - h - / ~ -ja2. Next, make the following K - 2 substitutions: do i = K, (step = - 1), 3 /.t,_ l = ~, end do. (a) Create sub-matrix (A~)~ by subtracting/~2 from the diagonal elements of AI~ and

Step2.

then ( A l 3 ) r ( i , i) = ( A l 2 ) x ( i , i) + Ix1 else ( A i 3 ) x ( i , j ) = ( A 1 2 ) r ( i , j) end if end do end do. Step 4. Create the sub-matrix (A14)A.. i.e. create

only sub-matrices (A14)B and (A14)~. (a) Creation of the diagonal sub-matrix (A,4)a. do i = 1, mso~_, (A~4),(i, i ) = l ~ 2 end do and store it into the appropriate cells. (b) Creation of the sub-matrix (A~4)f. do i = 1, m s ..... do j = 1, m s ..... ( A ~ , ) ~ ( i , j ) = (A~)a(i, j ) end do end do and store it into the appropriate cells.

234

Applications

StepS. Create sub-matrix ( d i s ) r , sub-matrix (A15)~ do i = 1, ms2.~ do j = 1, mso.K (AI5)~(i, j ) = ( A l 4 ) x ( i , j) end do end do.

Computers in lndust~'

i.e. only the

To determine ( Ao) x (Ao) K is a diagonal matrix with all diagonal elements equal to ~, i.e. a simple procedure (doloop) is required:

doi=l, m x ( A o ) x ( i , i) = ~ end do.

To determine (A2) K Matrix (A2) K is a very sparse matrix consisting of two sub-matrices (A2) ~ and (A2) ~. (i) (A2) ~ is a (ms~.~ x mso^ ) diagonal matrix with all diagonal elements equal to /~t and is placed beside ( A l l ) x . It is generated as follows do i = 1, ms,, ~ (A2)a(i. i) = ft 1 end do;

and the appropriate storage of (A2) ~ into matrix (A2) K is: d o i = l , mso.x ( A 2 ) x ( i , i + mso.~ ) = #1 end do.

Feedback If we allow a feedback probability 0, for a job

to return instantaneously from the last machine to the first queue, then we store the element with value tLxO, in those cells that contained l~xO" in matrix ( A l ) x.

(ii) (A2) a is a (ms~.~ x ms2., ) diagonal matrix with all diagonal elements again equal t o / ~ and it is placed beside (A~2)K. It is generated as follows do i = 1, ms,.A (A2)a(i, i) = Pl

To determine ( Aol ) x

end do;

Matrix (Ao~)x is exactly the same as (A1) x except that there is no l~ in the diagonal elements, since this matrix describes the transitions in the subnetwork, which simultaneously produce neither inputs to, nor outputs from the first queue, assuming that the first queue is empty. But /~1 is contained in the first mso., + ms,.,, diagonal elements of (A1) x. Thus an algoritlma may be developed to

and the appropriate storage of (A2) a into matrix

determine (A0x)x by first defining a matrix ( A w ) x doi=l,m~ do j = 1, m r (A~c)r(i, j ) = 0 end do end do; do i = 1, mso.x + ms,.~ ( A w ) r ( i , i) = ~t1 end do.

Then, matrix ( A o O x is obtained by adding ( A w ) x to (A1) x, i.e. do i = 1, m x do j = 1, m x (Aol)r(i , j)= (Al)x(i, j)+ (Aw)x(i, end do end do.

j)

(A2) K is obtained by the following do-loop: do i = 1, ms~.~ (A2)t¢(i + mso.~, i + ms,,. A + ms, A.) = Pl end do.

4. Conclusions and R e e o m m e n d ~ o n s By applying the proposed algorithm, we have been able to create the coefficient matrices, i.e. the stable matrices A (see (9)), for K up to 11, where m~ = 17,711. These matrices are very sparse, i.e. the number of non-zero elements is less than 10%. There is no problem in continuing beyond K = 11, although the n u m b e r of states increases tremendously. In the sequence, we used the NAG-Subroutine F04AXF, for solving the large sparse linear systems (8) and we obtained the throughput rate, R x, very quickly. For the balanced case where the mean service times of all the stations are identical, comparing the results with the exact ones obtained from the Gauss Elimination Method and the Crout Decomposition Method (see NAG-Subroutine FIMATF), we ob-

Computers in Industry

H.T. Papadopoulos, M.E.J. O'Kelly / Multistatton Sertes Production Lines

served that for K = 7 with m 7 = 377 there was n o difference in the first five decimal points, R7 = 0.45318, for the b a l a n c e d case (where the m e a n service times for all the stations are identical), while for K = 8 with m s = 987 there was only a negligible difference in the fifth decimal point; we o b t a i n e d R s - 0 . 4 4 3 0 6 by using F 0 4 A X F a n d R s = 0.44307 by a p p l y i n g the G a u s s E l i m i n a t i o n Method, which took m u c h more time. The algorithm described, could be easily extended to include i n t e r m e d i a t e buffers of the same size (i.e. C~ . . . . . Cx_~). T h e structure of the sub-blocks (matrices) would be similar. A s y m m e try would be e n c o u n t e r e d if the buffers were of u n e q u a l capacity. These two cases are currently being investigated, The model could also be extended to the case where service times follow a phase type distribution. The procedure difference would be n u m b e r of states. In solving large sparse

would be similar. The only the dramatic increase in the all these cases, packages for linear systems are used for

storing only the non-zero elements (i, j , a,,j), a,.~ 0, of the transition matrices due to their excessive sparseness.

References [1] B. Avi-ltzhak and M. Yadin, "'A sequence of two servers with no intermediate queue", Manage. Sci., Vol. 11, 1965, pp. 553-564.

235

[2] J.A. Buzaeott and D.D. Yao, "Flexible Manufacturing Systems: a review of analytical models", Manage. Sci., Vo[. 32, No. 7, Vol. 1986, pp. 890-905. [3] R.V. Evans, "Geometric distribution in some two dimensional queueing systems", Oper. Res., Vol. 15, 1967, pp. 830-846. [41 F.S. Hillier and R.W. Bohng. "' Finite queues in series with exponential or Erlang service times: a numerical approach", Oper. Res.. Vol, 15, 1967, pp. 286-303. I5] G.C. Hunt, "'Sequential arrays of waiting lines", Oper. Res,, Vol. 4, 1956, pp. 674-683. I6] 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. [71 G. Latouch~ and M.F. Neuts, "Efficient algorithmic solutions to exponential tandem queues with blocking", SIAM J. AIg. Disc. Meth., Vol, 1, No. 1, 1980, pp. 93-106. [81 M.F. Neuts, Matrix-Geometric Solution in Stochastic Modets, The John Hopkins University Press. Baltimore, MD, 1981. [91 H.T. Papadopoulos and M.E.J. O'Kelly, "Exact analysis of production lines", to be published. [101 H.G. Perros, "Queueing networks with blocking: a bibliography", Perform. Et,al. Ree., ACM Stgmetrws, Vol. 12, 1984, pp. 8-12. llll H.G. Perros and T, Altiok, "'Approximate analysis of open networks of queues with blocking: tandem configurations", IEEE Trans. Software Eng., Vol. 12, No. 3. 1986, pp. 450-461. [12] v. Wallace, "The solution of quasi birth and death processes arising from multiple access computer systems", Ph.D. Thesis, Tech. Rep. No. 07742-6-T, Systems Engineering Lab, University of Michigan, Ann Arbor. MI, 1969. [13] V. Wallace, "Algebraic techniques for numerical solution of queueing networks", Pro('. of a Conference at Western Mtchigan Universtty, Kalamazoo. MI, May 10-12. 1973.

Appendix--Four-Station Series Production Line Here, the explicit derivation of the involved matrices a n d sub-matrices is presented for a four-station series p r o d u c t i o n line, i.e. for K = 4, by applying the described algorithm. A. 1. Determination o f (A I )K ~ 4

(A~)x= 4 is a ( m 4 × m4) = (21 × 21) matrix a n d it has the following form

( A ])g ~4 =

(All)K=4

0

0

( A ]" ) K = `

( A '2)K=`

0

o

(Ats)~=4

(A13)~,o,

, ( A ]1 )

where (Air)K=4 , i = 1 . . . . . 5, are sub-matrices which are described below. ( A ~ ) x ~ 4 is a (mso, × mso., ) = (5 × 5), or by using (14) it is a ( m s , , + m s ) square matrix, according to the way the subset So.4 of the states for K = 4 are created from the states for K = 3.

236

Applications

Computers in Industry

(1) Sub-matrix (All)K_ 4 is given by -X-#

(A,,)x_4 -

1

0

0

0

0

#40,

- - h - p . l --#4

0

0

0

0

#3

-)~ - Pq - # 3

0

0

0 0

0 #40,

p40' 0

-A-p1

- #3-

I~4

#3

-X-

0

(A,2)

P'I - # 4

Matrix (A~I)K= 4 has the form (24), i.e.

(A,,)K=4

((A,,)B)K_ 4

(A.3)

and in order to create (A~2)K. 4 we need: (i) ((Au)~)x_ 4 which is given by

((A,I),,)K-,

=

(AH)~-31~,,-~,,;

(A.4)

(ii) ( ( A u ) a ) x . 4 which is given by

( ( A " ) ~ ) K-4 = (AI4)K-31~',~',. ~'2-~',;

(A.5)

and (iii) ((Au),)K_ 4 which is given by

( ( A , , ) v ) K - 4 = (A,2)x.31~,,~,,. ~,,.~,,,

(A.6)

where (Ai~)g_31~,~.,,, ~,2.~,~ indicates that/~3 is substituted by #4 first and then #2 is substituted by #3 in (Atj,)x.3.

(2) Sub-matrix ( A 1 2 ) x . 4 is a (ms,., × ms,.,) = (8 × 8) = (m 3 × o 1 3 ) matrix, which is given by the sum of two matrices: B 1 and B 2. B 1 equals ( A i 3 ) x . 4 as we will see below, while B 2 is a diagonal matrix with all diagonal elements equal to - # 1 , i.e. ( A , 2 ) x _ 4 --- B, + B 2,

(A.7)

where -h-#

BI

0

0

0

0

0

0

#40'

- A - P2 - # 4

0

0

0

0

0

0

0

#3

0

0

P2

0

0

0

0

#40'

- A - X ,, .-~4 p ,

#~

0

P2

0

0

#40'

0

0

-- k -- #2 -- #4

0

0

#2

0

0

0

0

0

- A -P-3

0

0

0

0

0

0

0

#40'

- A - P 3 - #4

#3

0

0

0

0

0

0

0

-X-p. 4

=

2

-

h - p ~ -it3

and

B2 =

-p~

0

0

0

0

0

0

0

0

- #l

0

0

0

0

0

0

0

0

- p~

0

0

0

0

0

0

0

0

- Pl

0

0

0

0

0

0

0

0

-/,t I

0

0

0

0

0

0

0

0

- #~

0

0

0

0

0

0

0

0

- t~

0

0

0

0

0

0

0

0

-/~

0

Computers in Industry

H.T. Papadopoulos, ll4.E.J. O'Kelly / Multistation Series Production Lines

237

Again, we observe that matrix (A~2)1¢.4 has the following form (see (29))

I

.

0

o

(A.8)

where, (i) ( ( A i 2 ) , ) x = 4 is a (ms°., × mso,,) = (5 × 5) matrix and is equal to ( A n ) x . 4 except that we subtract ~t 2 f r o m the diagonal elements, i.e.

-h-~h =

-~a 2

0

0

0

0

~%0'

- k -/~1 - Ja2 - ~4

0

0

0

0

~.~

- ~ - Y~,:~, '=~

0

0

0

t~40"

0

0

- X -/z~ - g'2 - ~4

.

(A.9)

(ii) ( ( A I 2 ) a ) K . 4 is a ((ms,., - ms°.,) X (ms,., - ms°.,)) = ((8 - 5) X (8 - 5)) = (3 × 3) = ( m s , ) × ms,.,) diagonal matrix with all diagonal elements equal to ~z, and is placed beside ( ( A 1 2 ) , ) K , 4, with the left-bottom c o m e r of ( ( A ~ z ) ~ ) K . 4 positioned beside the right-bottom corner of ( ( A 1 2 ) , ) ~ . 4. ((Ai2)a)~=4 describes the transitions in the subnetwork, where "machine-1 (second in the system) finishes the processing on its j o b and becomes blocked, since machine-2 (third in the system) is occupied". In our case, for K = 4, this sub-matrix-is a('3 ×'3) mathx,'ke.,

l

it2

0

0 1

0

0

~2

o.

(iii) ( ( A i 2 ) y ) ~ 4 is a ((ms,., - ms°.,) X (ms,., - ms°.,)) = ((8 - 5) X (8 - 5)) = (3 × 3) = ( m s , , X m s , , ) matrix which is identical to the right-bottom part of the sub-matrix ( A ~ ) x - 4 , viz.(( A I~)~ )~. = 4, i.e. -h-

~al - ~ 3

0

0

0

0

- h - ~1 - ~4

We observe that there is no #2 in its diagonal elements, since these elements correspond to internal transitions (within the subnetwork), where the first station of the subnetwork (second in the line) is blocked (i.e. it has already finished the service on the existing job, which cannot move on to the next station, since that one is occupied). ((A12)v)~. 4 is placed directly beneath ((A12)a)jc~ 4, (3) Sub-matrix (A13)x=4 is a (ms2., × m s z ,) = ( m s , , X ms,., ) = (8 × 8) matrix, which is equal to B~ defined above, i.e. it is equal to (A~2)x_ 4 except that there is no I~ in its diagonal elements, since these correspond to those internal transitions (within the subnetwork), where the first station of the system is blocked (i.e. it has already finished processing its job, while the first station of the subnetwork (second in the line) is either busy or blocked), i.e. it holds (A13)K=4 = B 1.

(A.10)

Applications

238

Computers in Industry

(4) Sub-matrix (A14)K_ 4 is a (ms,., x mso., ) = (8 X 5) matrix, which is placed directly beneath ( A N ) x _ 4 and is described below:

(A,,),¢_,--

0

0

~2

0

Oi

0

0

0

~2

Oi

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 /t 3

0 0 0 0

0

0

0

0

0

0

0

0

#40,

0

(A.la)

We observe that matrix (AI4)K_ 4 consists of a group of sub-matrices ((A~4),)x~ 4, where * takes the values: a, fl, 7, 8, c, ~, and 7, and (A14)x_ 4 can be written as in formula (33): where, here, (i) ( ( A 1 4 ) a ) x . 4 is a (mSo., × rnso.,) = (2 × 2) matrix consisting of zeros,i.e.

° °o. (ii) ( ( A l 4 ) p ) x . 4 is a (mso., x mso., ) = (2 X 2) diagonal matrix with all diagonal elements equal to ~2, i.e.

I, °1~,2

((A,,)~),¢.,=

0

(iii) ((At4)~)x_ 4 is a (ms.., × (mso., - 2mso.,)) = (2 × (5 - 2 x 2)) = (2 × 1) matrix consisting of zeros, i.e.

((A,,),),,., = ]o° I • (iv) ( ( A , 4 ) s ) x . 4 is a ( m s , , × ms..,) = ( m s , , × (ms,., + m s , , ) ) = (3 × (2 + 3)) = (3 × 5) matrix consisting of zeros, i.e.

ooo o o

((A,,)~)~_,=

0

0

o 0

oo .L 0

(v) ((A14),)x= 4 is a (ms~.~ × mso.,) -- (3 × 2) matrix consisting of zeros, i.e.

(vi) ( ( A ~ 4 ) t ) x . 4 is a (ms~., x mSo.,) = (3 x 2) matrix, which is equal to the sub-matrix ((Al~)#)x_4 of ( A u ) x _ 4 , i.e.

((A,.)~)._,=

0 o

1%

0

tL40'

o

Finally, (vii) ((A14),)x_4 is a (ms~ ' x (mso., - 2mso.,)) = (3 X (5 - 2 X 2)) = (3 X 1) matrix consisting of zeros, i.e.

((A,,),)~.,

=

.

Computers in Industry

H.T. Papadopoulos, M.E.J. O'Kelly / Multistation Series Production Lines

239

(5) Sub-matrix ( A l s ) x t 4 is a (ms2., × ms,.,) = (8 × 8) matrix, which is placed directly beneath ( A 1 2 ) r . 4 and it is a square matrix, since from formula (155 m s , = ms~., = rex=3. It consists of two sub-matrices, having the form (34), where (i) ((Als),)x=4 is a (ms2. x m s o . , ) = ( 8 × 55 matrix, which is exactly the same as matrix (A14)x. 4, generated above. (ii) ((Al~)a)r=4 is a (ms~., × (ms,., - ms0,)) = (8 × (8 - 5)) = (8 × 35 matrix consisting of zeros and it is placed beside ((A 1s ) , ) x = 4. Sub-matrix (A1551¢=4 is given below 0

0

#2

0

0

0

0

0

0

0

0

~2

0

0

0

0

0 (A~5)x=4= 0 0

0 0 0 0

0 0 0 0

0 0 0 P.3

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0

0 0

0 0

0 g4O'

0 0

0 0

0 0

0 0

l0

(A.12)

A.2. Determination of (Ao) ~ , ( A o ) x = 4 is a diagonal matrix with all diagonal elements equal to h, i.e. a simple do-loop is required:

do i = 1, 21 ( A o ) x . 4 ( i , i) =

end do; Feedback. If we allow a feedback probability O, for a job to return instantaneously, from the last machine (4th) to the first queue, then we store the element with value /~40, in those ceils that contained 1~4O" in matrix ( A I ) K = 4. A.3. Determination of (Ao: )x =

Matrix ( A m ) x . 4 is exactly the same as ( A ~ ) x . 4 except that there is no th in the diagonal elements, since this matrix describes the transitions in the subnetwork, which simultaneously produce neither inputs to, nor outputs from the first queue, assuming that the first queue is empty. But P-1 is contained in the first mso., + ms,., = 5 + 8 = 13 diagonal elements of ( A ~ ) x _ 4. Thus an algorithm may be developed to determine ( A m ) x . 4 by first defining a matrix ( A , c ) x . 4 : do i = 1,21 do j = 1, 21 (Alc)x=4(i, j) = 0 end do end do; d o i = 1,13 ( A i c ) x = 4 ( i , i) = i~l end do; then, matrix ( A m ) x _ 4 is obtained by adding ( A w ) x . 4 to ( A I ) K = 4, i.e.

240

Applications

Computers in Industry

do i= 1,21

doj-L21 (A01)K.4(i,))=(AI)K.4(i, ))+(AIC)lC.4(i, j) end do end do. A. 4. Determination of (.42) K ~

Matrix ( A 2 ) K . 4 is a very sparse matrix consisting of two sub-matrices ((A2)a)x_ 4 and ((A2).O)K~ 4,

(i) ( ( A z ) , ) x _ 4 is a (ms0., ×mso.,) = (5 x 5) diagonal matrix with all diagonal elements equal to ~ and is placed beside (Au)~c_ 4. It is generated as follows do i--- l, 5 ( ( A 2 ) , ) K . 4 ( i , i) -----IXI

end do; and the appropriate storage of ((A z)a)K.4 into matrix (A 2)x- 4 is: doi=l,5 (A2)K_4(i, i + 5) = #l end do. (ii) ( ( A 2 ) # ) x _ 4 is a ( m s , , x ms~,) = (8 x 8) diagonal matrix with all diagonal elements equal to p~ and is placed beside (A12)~= 4. It is generated as follows doi=l, 8 ((A2)#)K=4(i, i) = Pl end do; and the appropriate storage of ((A 2 )#) K- 4 is obtained by the following do-loop: do i - - 1 , 8 (A2)K=4(i + 5, i + 13) = #l

end do.