A Maximum Entropy Optimization Approach to Tandem Queues with Generalized Blocking

25
ELSEVIER Performance Evaluation 30 (1997) 217-241 A maxilmum entropy optimization approach to tandem queues with generalized blocking Shankar Mishra a, ’ , Shu-Cherng Fang b,* a SABRE Decision Technologies, Fort Worth Airport, Dallas, TX 75261, USA b Industrial Engineering and Operations Research, North Carolina State University, Raleigh, NC 27695, USA Received 8 November 1995; revised 29 August 1996 Abstract We study a general blocking scheme for an open tandem queueing network with finite intermediate buffers. The service time at each node as well as interarrival time at the first node is assumed to be exponentially distributed. The interarrival and service time at each intermediate node of the tandem queue, under the general blocking scheme, depend upon three parameters at each node, namely, the maximum number of raw jobs, the upper limit on the number of finished but blocked jobs and the buffer capacity. This three-parameter analysis was introduced by Cheng and Yao (1993), and was shown, using Monte Carlo simulatilons, to provide good results. Our analysis is also based on this three-parameter approach, but with a different view. We first decompose the tandem queue into a group of two-node subsystems in order to derive a set of equations for the effective interarrival and service time distributions at each node. Each of these two-node subsystems is treated as a finite capacity queueing system with population size constraints. Then we apply the principle of maximum entropy to evaluate different parameters such as the blocking probabilities, starvation probabilities, etc., of each subsystem. We propose a step-by-step algorithm along with its convergence properties. A comparison of numerical results with the simulation results is also discussed. 0 1997 Elsevier Science B.V. Keywords: Queueing networks; Open tandem queue; Principle of maximum entropy; Nonlinear programming; Kanban blocking; General blocking; Mean queue length distribution 1. Introduction Queueing networks with blocking have been proven to be useful in modeling computer systems, telecom- munication systems and flexible manufacturing systems [4]. We consider tandem queues with a single server and a finite buffer at each service node. The finiteness of the buffer capacity gives rise to the blocking phe- nomenon at a node. A full buffer at any station causes an interruption in the service at the upstream service * Corresponding author. Fax: +l 919 515 5281; e-mail: [email protected]. Partially sponsored by the National Textile Center project S92C4. Tel.: (817) 931-2266; fax: (817) 963-2692; e-mail: [email protected]. 0166-5316/97/$17.00 0 1997 Elsevier Science B.V. All rights reserved PZZSO166-5316(96)00061-2

Transcript of A Maximum Entropy Optimization Approach to Tandem Queues with Generalized Blocking

ELSEVIER Performance Evaluation 30 (1997) 217-241

A maxilmum entropy optimization approach to tandem queues

with generalized blocking

Shankar Mishra a, ’ , Shu-Cherng Fang b,* a SABRE Decision Technologies, Fort Worth Airport, Dallas, TX 75261, USA

b Industrial Engineering and Operations Research, North Carolina State University, Raleigh, NC 27695, USA

Received 8 November 1995; revised 29 August 1996

Abstract

We study a general blocking scheme for an open tandem queueing network with finite intermediate buffers. The service time at each node as well as interarrival time at the first node is assumed to be exponentially distributed. The interarrival and service time at each intermediate node of the tandem queue, under the general blocking scheme, depend upon three parameters at each node, namely, the maximum number of raw jobs, the upper limit on the number of finished but blocked jobs and the buffer capacity. This three-parameter analysis was introduced by Cheng and Yao (1993), and was shown, using Monte Carlo simulatilons, to provide good results. Our analysis is also based on this three-parameter approach, but with a different view. We first decompose the tandem queue into a group of two-node subsystems in order to derive a set of equations for the effective interarrival and service time distributions at each node. Each of these two-node subsystems is treated as a finite capacity queueing system with population size constraints. Then we apply the principle of maximum entropy to evaluate different parameters such as the blocking probabilities, starvation probabilities, etc., of each subsystem. We propose a step-by-step algorithm along with its convergence properties. A comparison of numerical results with the simulation results is also discussed. 0 1997 Elsevier Science B.V.

Keywords: Queueing networks; Open tandem queue; Principle of maximum entropy; Nonlinear programming; Kanban blocking; General blocking; Mean queue length distribution

1. Introduction

Queueing networks with blocking have been proven to be useful in modeling computer systems, telecom- munication systems and flexible manufacturing systems [4]. We consider tandem queues with a single server and a finite buffer at each service node. The finiteness of the buffer capacity gives rise to the blocking phe- nomenon at a node. A full buffer at any station causes an interruption in the service at the upstream service

* Corresponding author. Fax: +l 919 515 5281; e-mail: [email protected]. Partially sponsored by the National Textile Center project S92C4.

’ Tel.: (817) 931-2266; fax: (817) 963-2692; e-mail: [email protected].

0166-5316/97/$17.00 0 1997 Elsevier Science B.V. All rights reserved PZZSO166-5316(96)00061-2

218 S. Mishra, S.-C. Fang/Pefomance Evaluation 30 (1997) 217-241

Fig. 1. A tandem queue with finite intermediate buffers (System A).

station. In other words, a server is blocked if there is no empty buffer space at its immediate downstream node. Most of the studies in the literature focus on two types of blocking, namely “the manufacturing blocking” and “the communication blocking” [3,22].

A queueing network with either the manufacturing or the communication blocking usually can be repre- sented as System A in Fig. 1. It has M + 1 serial stages, indexed by i = 0, . . . , M. The service time of each node is exponentially distributed with parameter pi, i = 0, . . . , M. The node SO essentially represents an external arrival. The buffer space between the nodes Si-1 and Si is finite, say Ki, for i = 1, . . . , M. The buffer space before node So and after node 5’~ is assumed to be infinite. Node M is never blocked since the buffer space after this node is infinite. The server at any node Si is starved if the buffer, upstream of this node, has no jobs in it. It is assumed that node So is never starved. Jobs are processed on a FIFO basis at each node. Each entity enters the system at node Se and leaves the system from node SM after receiving service at each of the nodes Si, i = 1, . . . , 44, in sequence.

In general, tandem queueing networks with blocking are difficult to treat. Most techniques are based on analytic approximations, numerical analysis and simulation. Most of the algorithms for the tandem queues are in the form of some iterative schemes. Hillier and Boling [ 1 l] were probably the first to report on an approximation algorithm with the assumption that the first node is always saturated and the block- ing mechanism is blocking-after-service. Perros and Altiok [23] proposed an approximation algorithm which assumes a finite or infinite first node and blocking-after-service mechanism. The approximation procedure decomposes the network into individual nodes with revised arrival and service processes and augmented buffer capacities. These individual nodes are then analyzed in isolation starting from the last node and working backwards. Brandwajn and Jow [3] developed an approximation algorithm assuming blocking-before-service or blocking-after-service implementation. Dallery and Frein [9] developed a gen- eral decomposition technique to analyze a tandem queueing network with exponentially distributed service nodes and blocking-after-service mechanism, taking into account the possible blocking as well as starvation time at each node. In all these algorithms, there cannot be more than one completed but blocked job at any stage. Thus, the physical space limitations function as control parameters that regulate the service processes at each stage.

Rege [24] first analyzed a different kind of blocking scheme where the server did not stop processing jobs in its own buffer if the downstream buffer is full. Thus in this scheme the jobs that have completed service at node Si_ 1, but cannot be sent to the node Si, continue to share the buffer space of node Si-1 along with those jobs that are either waiting for service or being served upon. The jobs that arrive at this node while its buffer is full, are assumed to be lost. Recently, the “kanban blocking” [19,20] has been developed based on the kanban-controlled manufacturing system [21]. Under this blocking mechanism, a server is allowed to serve as long as there are jobs available, even when the buffer at the downstream node is full. The production at each stage i is controlled by Ki cards, one for each job, including raw and completed but blocked jobs. The cards limit the number of jobs at each stage and control the flow of jobs between stages. Since Ki, the number of cards, is the only parameter at stage i, i = 1, . . . , M, one cannot distinguish between the waiting raw jobs and the completed but blocked jobs. Rege’s model, which

S. Mishra, S.-C. Fang/Pe$omance Evaluation 30 (1997) 217-241 219

Fig. 2. A tandem queue with finite intermediate buffers and general blocking (System B).

is essentially a loss system with an intelligent form of buffer control, can be shown to be equivalent to the kanban discipline for the specific configuration of a production line with multiple nodes in tandem. A variation of kanban blocking, “two-card scheme” was developed by Buzacott [4] where an additional parameterai, i = I,..., M, was introduced to keep track of the number of raw jobs. Cheng and Yao [5-71 developed the three-card implementation of manufacturing blocking which gives better control of the buffer sizes, at each node, for raw and completed jobs. This implementation is a combination of all the variations of kanban and manufacturing blocking into one general blocking scheme. Their results are free of any distributional assumptions and provide characterization of system behavior with respect to the control parameters as well as the arrival and service processes. They obtained numerical results by using Monte Carlo simulation. The three-card scheme is given as System B in Fig. 2, which is essentially System A under general blocking scheme (three-card scheme) [7]. The intermediate buffer spaces at node Si are divided in two parts. one for the raw jobs with a capacity of ai, i = 1, . . . , M, and the other for the finished jobs with a capacity of bi, i = 1, . . . , M - 1. If the buffer space for raw jobs at the downstream server Si+t is full, then the finished jobs wait in the buffer, bi, at the node Si .

In order to maintain the capacity of buffer spaces at each node the same as that in System A, the total number of jobs waiting at node Si cannot exceed Ki, i = 1, . . . , M. Therefore, a job which has completed service at node Si can be blocked, and forced to wait in buffer bi , if either the buffer ai+t is full or the total number of jobs at node Si + 1 has reached the limit Ki+t . The server at node Si can be blocked if the buffer bi is full to the capacity. The server at node Si is starved if there are no raw jobs at that node, i.e., the buffer ai is empty. The assumption that the server at node So is never starved and the server at node M is never blocked is still valid.. To avoid triviality the following relations must hold [7]:

for i = 1, . . . , M. (l-1)

The objective of this paper is to analyze an open tandem queue with finite buffer capacity under general blocking mechanism and to derive the queue length distributions at each node. The interarrival and service times are assumed to be exponentially distributed. Moreover, bi > 0 is also assumed for i = 1, . . . , M - 1. We decompose such a queueing network (System B) into M two-node subsystems with population size constraints. The decomposition scheme is based on the one proposed by Dallery and Frein [9] for blocking- after-service and blocking-before-service, However, the proposed decomposition scheme is for the general blocking scheme and hence both blocking-before-service and blocking-after-service can be treated as special cases. Each of these two-node subsystems is analyzed, using a model based on the principle of maximum entropy, in order to calculate the blocking and starvation probabilities of the subsystem. An iterative algorithm, which essentially obtains a fixed point of a system of equations, is proposed to calculate the effective arrival and service rates of each subsystem. We consider a loss system [20], where the arriving jobs are lost when lserver So is blocked. The external demand for the finished product is assumed to be infinite, such that each job after completing service at the last node SM (see Fig. 2) leaves the system immediately. Our methodology uses the same concept of general blocking as that of Cheng and Yao [5-71; however, our treatment of general blocking mechanism is entirely different. Our objective is to derive the

220 S. Mishra, S.-C. Fang/Pe$ormance Evaluation 30 (1997) 217-241

mean queue length distributions at each node as compared to the characterization of system dynamics, in terms of job completion and departure processes.

The organization of this paper is as follows. In Section 2, we review the decomposition methodology. In Section 3, we discuss a maximum entropy model for the decomposed two-node subsystem. A step-by-step algorithm is provided in Section 4. Section 5 reports our numerical experiences with the proposed algorithm along with a comparison to simulation results. Finally, we conclude in Section 6.

2. A decomposition method for tandem queues with general blocking

Focus on System B in Fig. 2. This tandem queue with M+ 1 nodes will be decomposed into M Subsystems,

B(i),i = l,..., M, where each subsystem can be considered as a special case of the original queue (System

B) with only two nodes. In Subsystem B(i), the upstream node is denoted S,(i) and the downstream node Sd(i), i = 1,. . . , M. Note that the upstream node S,(i), i = 1, . . . , M, represents the departure of jobs from buffer bi-1 at node Si_1 of System B whereas the downstream node &j(i), i = 1, . . ., M, represents the node Si of System B. We analyze each of these two-node subsystem in isolation. Because of the blocking phenomenon, the effective mean service time of a node Si, i = 1, . . . , M - 1, in the tandem queue will be no more than the actual mean service time of the server at the node. This change in the mean service time atnodeSi,i = l,..., M - 1, will affect the mean interarrival time of the downstream node Si+t . Each of the decomposed two-node subsystem approximates the flow of entities in the corresponding two nodes of the original system. Our objective, in this section, is to find an approximation for the effective mean interarrival time and mean service time at node Sd(i) of Subsystem B(i), i = 1, . . . , 44, assuming that it follows exponential distribution. Since node Sd(i) represents the node Si of system B, we get, in this way, an approximation for the effective mean interarrival time and mean service time of node Si, i = 1, . . . , M,

in System B.

2.1. Decomposition into two-node subsystems

Note that System B as shown in Fig. 2 consists of M + 1 nodes with two buffers allocated to each node, except for the last node SM. We can decompose this system into M Subsystems B(i), i = 1, . . . , M, as follows (Fig. 3).

S”(1) o-cfbsb wm P4) S.0)

Subsystem B(lj “’ bi

- SfJ4) W) PA0

Subvstem B(ij “6-kl-c P&f) PI&)

Subsystem Blu;

Fig. 3. A decomposition of System B.

S. Mishra, S.-C. Fang/Pe$ormance Evaluation 30 (1997) 217-241 221

Each subsystem is composed of two service nodes and two buffers, except for Subsystem B(M) which has only one buffer. Assume that, in Subsystem B(i), i = 1, . . . , M, the service time of the upstream node, S,(i), is exponentially distributed with rate p”(i), and the service time of the downstream node Sd(i) is exponentially distributed with rate h d(i). The flow of entities in each Subsystem B(i) is controlled according to the job flow of the corresponding node & in System B. Thus, after completing service at node

Sd(i - 1) in Subsystem B(i - l), i = 2,. . . , M, each entity moves to the buffer ai unless the entity is blocked. The blocking of an entity can occur in two ways. Firstly, the entity is blocked if the buffer ai is full. The entity can become unblocked if there is a service completion at node Sd(i) (i.e., an entity is transferred from buffer ai to bi). Secondly, the blocking can occur if the limit, Ki, on the maximum number of jobs at node Sd(i), i = 1,. . . , M - 1, is reached. The entity can become unblocked if there is a transfer of an entity from buffer bi to ai+t . The blocked entity resides in the buffer bi- 1. Once the buffer bi-1 is full, the server at node Sd(i - 1) is blocked and thus service is interrupted. The server at this node, Sd(i - I), can become unblocked once an entity is transferred from buffer bi _ 1 to ai.

The effective mean service time at node S,(i), i = 1, . . . , M, is also the mean interarrival time at node Sd(i) since the node S”(i), i = 2, . . . , M, represents the departure process of entities from buffer bi_1 of node Si - 1 in System B. Note that node S, (1) represents the external arrival to node Sr in System B. The

serveratnodeS,(i),i =2,... , M, is starved if there are no jobs in the buffer bi-1. The starvation period lasts till some entity completes service at node Si_ 1, i = 2, . . . , M, in System B.

Now let us compare Subsystem B(1) with nodes So and St of System B. Node S,(l) is the same as node So in System B, w.hich implies that ~“(1) = ~0. Similarly, comparing Subsystem B(M) with the node SM_ 1 and SM of tbe System B, we have p d(M) = PM. The analysis of each decomposed subsystem in the following section generates a system of equations to evaluate the effective inter-arrival and service time of each node in the Subsystem B (i), i = 1, . . . , M. These equations are a function of the starvation as well as the blocking probability of each node. To calculate the starvation and the blocking probability of a node, given the effective mean interarrival and service times, we will introduce a model based on the principle of maximum entropy in Section 3.

2.2. Analysis of subsystems

Consider each S,ubsystem B(i), i = 1, . . . , M, in isolation (see Fig. 4). We know that the service rate of the upstream node S,,( 1) in Subsystem B(1) is equal to ~0, and the service rate of the downstream node Sd(M) in Subsystem B(M) is /.L.M. Our objective is to find an approximation for all the other service rates p”(i), i = 2,. . . , 44, and,ud(i), i = 1,. . . , M - 1.

The server at node Sd(i) corresponds to the server Si in the System B and the server at node S,(i)

corresponds to the departure process of entities from buffer bi_1, at node Si-1, in System B. Therefore, the effective mean service time at a node in Subsystem B(i), i = 1, . . . , M, is a combination of the actual mean service time and a possible blocking and/or starvation time of the server at the corresponding node

Fig. 4. Subsystem B(i), i = 1, . . . , M - 1.

222 S. Mishra, S.-C. Fang/Pe~onnance Evaluation 30 (1997) 217-241

Fig. 5. Decomposition of Subsystem B(i).

in System B. The state of the Subsystem B(i), i = 1, . . . , M, is given by the number of jobs in different buffers (including the ones being served upon).

To evaluate &(i)‘s and I_Ld(i)‘s, i = 1, . . . , M, we develop a set of decomposition equations corre- sponding to each Subsystem B(i). Before discussing these subsystems, we define some of the notations. The effective mean service time at the upstream node S,(i) of Subsystem B(i), i = 1, . . . , M, is denoted by tU(i). Since the effective service rate at this node is denoted by pU(i), we have t”(i) = l/p,,(i). Similarly, the effective mean service time at the downstream node of Subsystem B(i), i = 1, . . . , M, is denoted by Id(i) = l/p d(i). In order to derive the equations for the remaining service rates, we decompose the Subsystem B(i) further into two subsystems, namely Bi (1) and Bi (2) as shown in Fig. 5. The Subsystem

Bi+l (1) is also shown in Fig. 5. Compare Subsystems Bi (j), j = 1,2, in Fig. 5 to the Subsystem B(i) in Fig. 4. The important difference

is the introduction of node D”(i) and Dd(i) in Subsystem Bi (2). The node D”(i) represents the departure process of entities from node Si, i = 1, . . . , M - 1, of System B. Thus, the effective mean service time of node DU(i) is also the mean interarrival time of node Dd(i). The node Dd(i) can be thought of as a dummy server in front of the buffer bi in Subsystem Bi (2). The service time of this server depends on the state of the system Bi+l (l), for example, if the buffer ai+l is full then the service time is exponentially distributed with rate pd(i + 1). If there is space in buffer ui+l and the limit on the maximum number of jobs at node Sd(i + 1) is not reached, then the service time of server at node Dd(i) is zero. The service time is exponentially distributed with rate dd(i + l), i = 1, . . . , M - 2, if the node D d(i) is blocked due to the limit, &+I, on the maximum number of jobs being reached at the node Sd(i + 1).

Now consider the service process of node Sd(i), i = 1, . . . , M - 1, in Subsystem Bi (1). The service time at this node corresponds to the time elapsed between the arrival of a job at the node for service and the time it is transferred into the buffer bi. This time consists of the actual service time as well as a possible blocking time. The job remains blocked till there is a service at node D d (i) in the Subsystem Bi (2), i = 1, . . . , M - 1. Let the service time at the node Dd(i) be exponentially distributed with mean dd (i). Then the blocking time at node Sd (i) is given by d d (i) due to the memoryless property of the exponential distribution. Therefore, the effective mean Se&X time, td(i), of node Sd(i) iS giVen by

td(i)=ti+P(biisfull)dd(i) fori=l,...,M-1. (2.1)

Consider the service process of node DU(i) in Subsystem Bi (2). The service time at this node is equivalent to the time elapsed between the transfer of a job in buffer bi and the next service completion at node Sd(i). This time thus comprises of a possible starvation time of the server at node Sd(i) and the actual service time of the server at node Sd(i). The actual mean service time of the server at node Sd(i) is the same as

S. Mishra, S.-C. Fang/Per$ormance Evaluation 30 (1997) 217-241 223

that of the server $ in System B, denoted by ti. The server is starved if the buffer ai is empty and this starvation time is given by the residual service time at node S,(i). Since the service time at node S,(i) is exponentially distributed with mean t,(i), the starvation time of the server at node Sd(i) is given by t,(i).

Therefore, the effective mean service time, d,(i), at the node D”(i), is given by

&(i)=ti+P(aiisempty)t,(i) fori=l,...,M-1. (2.2)

The next equation to be derived is related to the mean service time of the server at the dummy node D d(i) in Subsystenz Bi (2). There is no actual service time at this node but there is a possible blocking time. Blocking can arise if the buffer ui+t is not ready to accommodate any arriving jobs. There may be two reasons for that, namely, either the buffer ai+t is full to the capacity or the total number of jobs in buffer ai+ 1 and bi+l together is &+t (the upper limit). In the former case, the mean blocking time is the mean service time, &+I, required by the server Si to transfer a job from buffer ai+t to buffer bi+l . In the latter case, the blocking time corresponds to the time elapsed till the next departure from buffer bi+l , which is givenbythemeanservicetime,dd(i+l),atnodeDd(i+l),i = l,...,M-2.NotethatthenodeDd(M) does not exist since there is no buffer bM after node SM in System B. Therefore, the mean service time, dd(i), at node Dd(i), i = 1, . . . , M - 2, iS giVen by

dd(i) = f'[(bilo. of jobs in ui+l + NO. of jobs in bi+l) = Ki+l]dd(i -k l)P(Ui+l is full) ti+l

fori = l,...,M-2, (2.3a)

dd(M - 1) = P(UM is full) tM. (2.3b)

The last equation to be derived here is related to the node S,(i + l), i = 1, . . . , M - 1, of Subsystem

Bi+l (1). The service time at this node is conceptually defined as the time between two departures from buffer bi. Thus, this service time consists of a possible starvation time and the actual service time at this node. The actual slervice time at this node is zero, since this node represents the dummy server in front of the buffer bi. The average starvation time lasts till there is a service at the node D,,(i), and the mean starvation time is equivalent to the mean service time, d,(i), at node D”(i), due to the memoryless property of the exponential distribution. Thus, the effective average service time, t,(i + l), at the node S,(i + 1) is given by

t,(i+l)=P(biisempty)d,(i) fori=l,...,M-1. (2.4)

One important property of a tandem queue is that the throughput of all servers of the tandem queue is the same (conservation of flow) [22]. Therefore, in order to validate our decomposition of System B in Subsystems B(i), i = 1,. . . , M, we need to show that the throughput of all Subsystems B(i), i = 1, . . . , M, is the same. Let us, denote by X(i), the throughput of the Subsystem B(i). Also, let us define Z(i) to be the mean interdeparture time of Subsystem B(i), i = 1,. . . , M. Then X(i) = l/Z(i), for i = 1, . . . , M. We show in the following proposition that the throughput of each Subsystem B(i), i = 1, . . . , M, is the same.

Proposition 2.1. Fix- i = 1, 2, . . . , M - 1, the throughput rate X(i) of Subsystem B(i) is equal to the throughput rate X(i + 1) ofthe next Subsystem B(i + 1).

Proof. Since X(i) = l/Z(i), i = 1,. . ., M, it suffices to prove that Z(i) = Z(i + 1) for each Subsystem

B(i), i = 1,. . . , kl - 1. The proof is divided in two parts. In the first part we show that it suffices to show

224 S. Mishra, S.-C. Fang/Peflonnance Evaluation 30 (1997) 217-241

that the mean interdeparture time of node S,(i + 1) in Subsystem Bi+l (1) is equal to the mean interdeparture time of node Dd(i) in Subsystem Bi (2), i = 1, . . . , A4 - 1. In the second part we prove the assertion that the mean interdeparture time of node S,(i + 1) in Subsystem Bi+l (1) is equal to the mean interdeparture time of node D d (i) in Subsystem Bi (2)) i = 1, . . . , M - 1. Before moving on to the proof, we define some notations:

Z(i): mean interdeparture time of Subsystem B(i), i = 1, . . . , M,

Z”(i): mean interdeparture time of node S,(i) in Subsystem Bi (l), i = 1, . . . , M,

Id(i): mean interdeparture time of node Sd(i) in Subsystem Bi(l), i = 1, . . . , M,

Z:(i): mean interdeparture time of node Dd(i) in Subsystem Bi (2), i = 1, . . . , M,

Z:(i): mean interdeparture time of node Dd(i) in Subsystem Bi (2), i = 1, . . . , M.

Part(i): We first check the validity of the decomposition of Subsystem B(i), i = 1, . . . , M, in Subsystems Bi (j), j = 1,2. Since each Subsystem B(i) is a two-node tandem queue, the mean interdeparture time of both the upstream and downstream nodes should be the same [22]. Therefore, in order to check the validity of the decomposition Bi (j), j = 1,2, we need to show that the mean interdeparture time of Subsystem Bi (2) is equal to the mean interdeparture time of Subsystem Bi (l), i = 1, . . . , M. Remember the nodes Sd(i) of Subsystem Bi(l) and I&,(i) of Subsystem Bi(2), i = 1,. . . , M - 1, in Fig. 5. The mean time between departures at node L&(i), i = 1, . . . , M - 1, consists of a service time at node D,(i) and a possible blocking time. Blocking arises if the buffer bi is full and the blocking time lasts till there is a service at node Dd(i), i = 1,. . . , M. Therefore, the average interdeparture time, Z:(i), at node L&(i) is given by

Z,d(i)=d,(i)+P(biisfUll)dd(i) fori=l,...,M-1. (2.5)

Substituting the expression for d,(i) from Eq. (2.2), we get

Z,d(i)=t~+P(a~isempty)t,(i)+P(biisfull)dd(i) fori=l,...,M-1. (2.6)

The interdeparture time at node Sd(i) consists of a possible starvation time at this node and the actual service time. The starvation is due to the buffer ai being empty and the average duration is given by the mean service time, &(i), of the upstream node S,(i). Thus, the mean interdeparture time, Id(i), at node Sd(i) is given by

Zd(i)=td+B(Qisempty)t”(i) fori=l,...,M-1.

Substituting the expression for td (i) from Eq. (2. l), we get

(2.7)

Zd(i) = ti -I- P(bi is full)dd(i) + P(ai is empty) t,(i) for i = 1, . . . , M - 1. (2.8)

From Eqs. (2.6) and (2.8) we see that Z:(i) is equal to Id(i), i = 1, . . . , M - 1. This essentially says that the mean interdeparture time of node Sd(i) in Subsystem Bi(1) is equal to that of the node D,(i) in Subsystem Bi (2). Since each Subsystem, Bi (1) and Bi (2), i = 1, . . . , M, is a two-node tandem queue, Z”(i) = Zd(i) and Z,d(i) = Z:(i). But Z,d(i) = Id(i), from Eqs. (2.6) and (2.8). Therefore, Zd(i) = Z:(i), which essentially says that the mean interdeparture time, and hence throughput, of Subsystem Bi (1) is equal tothatofSubsystemBi(2),i=l,...,M-1.

Let us now consider Subsystem B(i) (see Fig. 4). Since each Subsystem B(i), i = 1, . . . , M, is a two- node tandem queue, the throughput of this subsystem is the same as the throughput of node S,(i) and hence Z(i) = Z”(i) = Id(i), i = 1,. . . , M. Our objective is to show that Z(i) = Z(i + l), i = 1, . . . , M - 1.

S. Mishra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241 225

We have already shown that Zd(i) = Z,d(i) in Subsystems Bi(1) and Bi(2), i = 1, . . . , M - 1. Therefore, inordertoshowtha.tZ(i)=Z(i+l),i=l,..., M - 1, we need only show that Z:(i) = Z(i + 1). But Z:(i) = Z:(i) and Z(i + 1) = ZU(i + 1) = Zd(i + l), in Subsystems Bi(2) and B(i + 1) respectively

(see Fig. 5). Hence, in order to prove the proposition it is sufficient to show that Z:(i) = ZU(i + l), i = 1,. . . , M - 1.

Purt(ii): Consider Subsystems Bi(2) and Bi+l (1). We want to show that the interdeparture time, Z:(i),

of the downstream node, Dd(i), in Subsystem, Bi (2), is equal to the mean interdeparture time, ZU(i + l), of the upstream node, S,(i + l), in Subsystem Bi+l(l).

The time between consecutive departures from node S,(i + 1) in Subsystem Bi+l (l), i = 1, . . . , A4 - 1, consists of the service time at node S,(i + 1) and a possible blocking time. If the blocking is due to a full buffer ai+l , the mean blocking time is given by ti+l . If the blocking is because of the limit, Ki+t , on maximum number of entities being reached, the mean blocking time is given by dd(i + 1). Therefore, the mean interdeparture time, ZU(i + l), at node S,(i + 1) is given by

ZU(i + 1) = P[(no. of jobs in ai+t + no. of jobs in bi+l) = Ki+l]dd(i + 1)

Xt,(i+l)+P(Ui+liSfUll)ti+t fori=l,...,M-2,

Z,(M) = t,(M) + P(UM is full) tkf.

(2.9a)

(2.9b)

Substituting the value of t,(i), i = 1, . . . , M, in Eqs. (2.9a) and (2.9b) from Eq. (2.4) we get

ZU(i + 1) = P[(no. of jobs in ai+l + no. of jobs in bi+l) = Ki+l]dd(i + 1)

~P(biisempty)d,(i)+P(ai+tiSfull)ti+t fori=l,...,M-2,

Z,(M) = P(bjd_1 is empty) d,(M - 1) + P(UM is full) tM.

(2.10a)

(2.10b)

Now we calculate the mean interdeparture time, Z:(i), of node Dd(i) in Subsystem Bi (2). The interde- parture time at this node consists of a possible starvation time and the mean service time. The starvation arises if the buffer bi is empty, and it lasts till there is a service at node D”(i). Therefore, the average interdeparture time, Z:(i), at node Dd(i) is given by

Z,d(i)=dd(i)+P(biisempty)&(i) fori=l,...,M-1. (2.11)

Substituting the value of dd(i), i = 1, . . . , M - 1, in Eq. (2.7) from Eqs. (2.3a) and (2.3b) we get

Z:(i) = P[( no. of jobs in Ui+t + no. of jobs in bi+l) = Ki+l]dd(i)

XP(biisempty)d,(i)+P(Ui+liSfUll)ti+t fori=l,...,M-2,

Z,d(M - 1) = P(bM_1 is empty)d,(M - 1) + P(UM is full) t,w.

(2.12a)

(2.12b)

We conclude from Eqs. (2.10a) and (2.12a) that ZU(i + 1) = Z:(i), i = 1, . . . , M - 2. Also, we have,

from Eqs. (2.1Ob) and (2.12b), Z,,(i + 1) = Z:(i) for i = A4 - 1. This proves the assertion in part (ii) as well as the proposition. 0

226 S. Mishra, S.-C. Fang/Peeonnance Evaluation 30 (1997) 217-241

3. A maximum entropy model for a two-node subsystem

So far we have developed a decomposition methodology. The objective of the decomposition was to approximate the effective interarrival and service times at each node. But from Eqs. (2.1)-(2.4) we see that these approximations also depend upon the blocking and starvation probabilities of each node of the tandem queueing system. Each decomposed subsystem is a two-node tandem queue with population size constraints. We propose a model based on the principle of maximum entropy for a two-node tandem queue with population size constraints. Shore [25] first proved that in the case of an exponential interarrival time and exponential service time distributions, the maximum entropy solution of a single server queue, subject to the normality and mean queue length constraint, is the same as the classical one, obtained using the birth- death equations. This result is true no matter the buffer has a finite or infinite capacity. Kouvatsos [ 14,151 proposed a maximum entropy model for G/G/ 1 finite or infinite capacity queue to obtain the queue length distribution. The model uses the server utilization and blocking constraint, besides the mean queue length and the normality constraints. An open queueing network was analyzed by Walstra [26], Kouvatsos [ 131 etc., where the probability distribution of the service and interarrival time is nonexponential. Kouvatsos and Xenios [18] reported an algorithm based on the maximum entropy model for an open network of queues with finite buffer space at each node and the probability distribution of service as well as interarrival time being nonexponential. The set of constraints for all these models included normality, mean queue length, server utilization and capacity (blocking) constraint, in case of a finite buffer capacity. Our use of a maximum entropy model is restricted to the two-node open tandem queueing network with finite buffer capacity and population size constraints. The interarrival and service times are assumed to follow exponential distribution.

3.1. A maximum entropy model

We consider a tandem queueing network with two nodes where each node has a finite buffer, Ci , i = 1,2. The interarrival time of jobs coming to buffer Cl is assumed to be exponentially distributed with mean ~0. Also we assume that the service time at a node Ni is exponentially distributed with mean l/pi, i = 1,2. After completing service at node Nt each entity goes to node N2. A service completion at node N2 sends the entity out of the system. Also, we assume it to be a loss system such that when the system is saturated, all the incoming jobs are lost. The state of the system is given by II = (n 1, nz), where iti is the number of jobs at node Ni , i = 1,2. Another important constraint is the total number of jobs in buffer Cl and C2 cannot exceed a specified finite number K. Thus, the state space, T(K, 2), can be defined as follows:

Let p(n) be the equilibrium probability that the network is in state IZ and pi (ni) be the marginal equi- librium probability that the queue i is in state ni, i = 1,2. Then for a fixed value of ni = Zi, 0 5 Fii 5 Ci,i = 1,2,wehave

Pl@l> = c P@lv n2)7 P2(E2) = c Pbl, E2)1

(ii1 .n2w1 (K.2) @152)ET2(K,2)

S. Mishra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241 221

where

Tt (K, 2) = {n = @I, n2) ( 0 5 n2 5 min(K - Et, Cz)},

T2(K, 2) = (n = (nl, Z2) IO 5 n1 5 min(K - E2, Cl)}.

We consider thre:e types of constraints in the maximum entropy model, namely, the mean queue length, the starvation probability of each queue and the probability of a full buffer for each queue. The starvation probability is defined to be the probability of an idle server at a node, i.e., the probability that there are no jobs in the buffer at that node. Thus, the maximum entropy model along with these three constraints as well as the normalization constraint can be written as follows:

Maximize H(p) = - c p(n) In p(n), nET(K.2)

s.t. C p(n) = 1 (normalization), ncT(T.2)

(3.1)

(3.2)

c h(ni)p(n) = 2 h(ni)pi(ni) = f’s; Vi = 1,2 (starvationprob.), neT(K,2) ni=O

Ci

C nip(n) = C njpj(ni) = Li Vi = 1,2 (mean queue length), neT(K.2) ni=O

(3.3)

(3.4)

C f(ni)p(n) = 2 f(ni)pi(ni) = JQ,; Vi = 1,2 (blocking prob.), ncT(K.2) ni=O

p(n) 25 0 VneT(K, 2)

(3.5)

where

h(?zj) = 1 ifni =O,

f hi) = ( 1 ifnj =Ci,

0 ifni>O, 0 otherwise.

The solution of this maximum entropy model can be given as follows [ 14,151:

1 2 l-I

h(ni) ni fh) -. p(n) = Z(K)1 i=l gi xj Yi ’ (3.6)

Using the normalization constraint (3.2), Z(K) can be written as

Z(K) z 1: fi gyx;i yf(ni). (3.7) nd-( K.2) i=l

The next step is ‘to calculate the normalization constant Z(K). Since the expression for Z(K) cannot be decomposed for individual queues, we follow a convolution type algorithm [ 13-15,171 as follows. Let us define

z(k, m> = ‘c fi g~(“‘)~~‘yf(~~) fork = 0, . . . , K and m = 1,2. nsi’(K,m) i=l

228 S. Mishra, S.-C. Fang/Perjonnance Evaluation 30 (1997) 217-241

Then we have

z(k,2)=Z(k) fork =O, . . . . K,

z(O,m)=l form = 1,2,

z(k, 1) = & g;(“&i”$(ni) fork = 0,. . . , K, i=O

c2

z(k, 2) = c g~(n2)x~2yif(n2)z(k - n2, 1) fork = 0, . . . K. n2=0

To achieve a meaningful solution we need to evaluate all the Lagrange multipliers in terms of the service rates PI’ ‘s and the capacity K. Let us assume that the Lagrange multipliers gi , xi, and yi are independent of the capacity restriction (n 1 + n2 5 K). Then the Lagrange multipliers gi , and xi can be given as follows:

Pi(1 -Xi) Li -Pi hi (arrival rate) gi = xi(l _ pij~ Xi = - = i = 1,2.

Pi /.Li (service rate) ’

In case of an exponential interarrival time and service distribution, we have

(3.8)

gi = 19 xi = Pi, i = 1,2.

In order to calculate yi , we use the flow balance equations of the two-node subsystem. The flow balance equations, in general, can be written as

PO(1 - J%s) = Pl(1 - h(O)) = cL2(1 - P2Ko).

where Pbs is the saturation probability values of Cl, C2 and K.

Case (i): In this case we assume Cl written as follows:

of the two-node subsystem. We consider three cases based on the

and C2 to be equal to K. Then the flow balance equations can be

PO (Fl)

.0[1-$P(i9K-i)]=iLZ[l-gP(i.0)]. (W

Substituting the values for gi and xi in Eq. (Fl) we get

[Y2P~(l - PI> - Pp+’ Yll = (1 - m1V(Q + Pl [yll 1 2 ] - [pd]. c hK-’ (F3)

After some algebraic manipulations Eq. (F3) yields yl = 1. Substituting the value of yt = 1 in Eq. (F2) we get the value for ~2.

Case (ii): In this case we assume Cl to be equal to K and C2 to be strictly less than K. Then the flow balance equations can be written as follows:

S. Mishra, S.-C. Fang/Pe$ormance Evaluation 30 (1997) 217-241

/A)[1 - P(C1, 0) - . . . - P(C1 -Cz9C2)1=hI [1 -~P(O. j)],

/_Lo[l - P(CI, 0) - . * * - P(CI -c2,c2)1=p2 [1 -gP(i.o)].

229

(F4)

(F5)

Substituting the values for g; and xi in Eq. (F3) we get

[y2$(l - p;“-c2+‘) - $f’y,]

= (1 - /Jl)Z(K) + pI[p;‘-lp2 +. . . + py2+1pp-1] -

c2-I

[ I c p:' . m j=O

After some algebraic manipulations, Eq. (F6) also yields y1 = 1. The value for y2 can be obtained by substituting the value of yt = 1 in Eq. (F5).

Case (iii): In this case we assume C2 to be equal to K and Ct to be strictly less than K. Then the flow balance equations can be written as follows:

p()[l - P(Ct: 0) - P(C1, 1) -. . * - P(CI, c2 - Cl> - P(CI - 1, c2 - Cl + 1)

-... - Pu4c211=p, [l-g1(04,

pu[l - P(Cl., 0) - P(CI, 1) - ... - P(C1, c2 - Cl) - P(CI - 1, c2 - Cl + 1)

_...- P(ox2)I=p2[l-~P(i.o)].

(F7)

(FfQ

In a similar manner, as in cases (i) and (ii), after some algebraic manipulations, Eq. (F7) yields yt = 1. The value of y;! can be obtained by substituting the value of yt in Eq. (F8).

Thus, given pi’s, i = 1,2, we can calculate the probabilities ~(nt ,n2) using Eq. (3.6). As per the definition of the two-node system we are given the rate of the external arrival, hl , and the service rates at both the nodes, ~1 and ~2. The arrival rate for the second node, h2, is initialized to be equal to ~1 and is approximated iteratively using the flow balance condition for the two-node subsystem.

3.2. Completion instant probabilities

The probability of the two-node subsystem being in state rz = (n 1, n2) is given by

p(n) = -- ’ fi g:(ni~x~iyf(~i)~

Z(K:l i=l

The server St is blocked if the buffer C:! (Fig. 6) is full to the capacity and the server St is starved if the buffer Ct is empty. Let Pb(Sl) be the steady state probability that the server S1 is blocked and Ps(Si) be the steady state probability that the server Si, i = 1,2, is starved. Then Pb (St ) denotes the stationary probability that buffer C2 is full and P, (Si) denotes the stationary probability that the buffer Ci , i = 1,2,

230 S. Mishra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241

Fig. 6. A two-node subsystem.

is empty. Comparing the two-node subsystem discussed in this section (see Fig. 6) to Subsystem B(i), i = 1 , **a, A4 - 1 (see Fig. 4), we see that the buffers Cl and C2 are equivalent to buffers ai and bi, respectively. Therefore, in order to calculate the completion instant probabilities [8], we use notation a for buffer Cl and b for buffer C2. Note that the subscript i has been dropped since we are dealing with only one subsystem at this point. Then we have

min(a,K-6)

pb@l) = c W, b), (3.9) i=O

Ps(S2) = f: P(i, 0). i=O

(3.10)

(3.11)

Besides the blocking of the server we should also analyze the blocking of an arrival. An arrival is lost when either the buffer Cl is full to the capacity or the population limit K is reached. If this two-node subsystem were part of a network, then the probability of an arrival being lost will be the probability of an entity being blocked. Thus, the probability of a saturated system, denoted by Pbs, is given by

K-a-l a-l

pbs= c Phi)+ c P(i,K-i). i=O i=K-b

(3.12)

The first term on the right-hand side corresponds to a full buffer Cl and the second term denotes the case where the population limit is reached. Note that the first term eliminates the state where system has K entities and the second term eliminates the state where buffer Cl is full.

The completion instant probability that server S1 is blocked is the normalized version of Pb(sl ) after excluding the state (i, b) for all i = 0 to min(a, K - b). Similarly, the completion instant starvation probability of the server at node N1 is the normalized version of Ps (Sl ) after excluding the state (0, j) for all j = 0 to b. The completion instant probability of a saturated system makes sense only if this two-node tandem queue is part of another network. This is calculated by normalizing each term on the right-hand side of Eq. (3.12) individually over a smaller state space. At the instant of a service completion at an upstream node, the buffer Cl cannot be full to the capacity. Thus, the first term is normalized discarding this state. Similarly, at the service completion instant of an upstream node (of the network this two-node subsystem may be part of), the total population in this two-node queue has to be strictly less than K. Hence, the second term is normalized discarding the state where n 1 + n2 = K. Thus, the completion instant blocking, starvation probabilities of server S1 , and the saturation probability of this system (Fig. 6) are given by

min(n,K-b+l)

p;w = c P(i, b - 1)/l - Pb, (3.13) i=O

S. Mishra, S.-C. Fang/Pelfornmnce Evaluation 30 (1997) 217-241 231

min(b.K-ll

fyvl) = ‘C P(i, 1)/l - P,, (3.14) i=O

K-a-l

I

K-a-l

P& = C P(i, a - 1) 1- C P(a,i), (3.15) i=O i=O

a-2

I

a-l

et= c P(i, K - i - 1) 1 - c P(K - i, i). i=K-b-1 i=K-b

(3.16)

The node Sd(i) of each Subsystem B(i), i = 1, . . . , M, can be considered similar to the one discussed in this section. Colmparing the system in Fig. 6 with the decomposed Subsystems Bi(1) and Bi(2), of Subsystem B(i), we: see that the node Nt (Fig. 6) is similar to node Sd(i) (Fig. 5) and the node N2 is similar to the node Dd(i). Therefore, we can calculate the completion instant blocking probability of node Sd(i) and Dd(i) using Eqs. (3.13), (3.15) and (3.16). Similarly, we can calculate the starvation probability of node Sd(i) and Dd(i) using Eq. (3.15). At this point we need the following notations, for i = 1, . . . , M,

to represent these probabilities:

Pr(server at node Sd(i) is blocked) = Pr(buffer bi is full), lPr(server at node Sd(i) starved) = Pr(buffer Ui is empty), Pr(server at node Dd(i) is starved) = Pr(buffer bi is empty), IPr (node Sd(i) is saturated due to a full buffer Ui),

Pr(node S,j(i) is saturated due to the limit Ki on the maximum no. of jobs).

4. A computational algorithm

Our objective is to analyze a tandem queue with finite intermediate buffer spaces and a general blocking mechanism (System;! B). Using the decomposition method in Section 3, we decompose the tandem queue into two-node subsystems to be treated in isolation for the effective interarrival and service times at each node. The effective interarrival and service times depend upon the blocking as well as the starvation probabilities as described in Section 3 of each node in the decomposed two-node subsystem. The blocking and starvation probabilities at each node in turn depend upon the mean interarrival and service time of that node. Therefore, we need an iterative algorithm to solve for the interarrival and service times of each node. In this section we propose such an algorithm and discuss its convergence properties.

4. I. Comparison 9 f system equations

Let us consider the following system of equations developed in Sections 2 and 3:

td(i) = fi + ts(Sd(i))dd(i) for i = 1, . . . , M - 1,

d”(i) = fi + $?(sd(i))f”(i) for i = 1, . . . , M - 1,

dd(i) = Pts((:jd(i + l))tj+l + Pz(Sd(i + l))d,j(i + 1) for i = 1, . . , , M - 2,

dd(M - 1) = P;(Sd(M)h,

&(i + 1) = qf(Dd(i))C&(i) for i = 1,. . . , M - 1.

(4.1)

(4.2)

(4.3a)

(4.3b)

(4.4)

232 S. Mishra, S.-C. Fang/Perjormance Evaluation 30 (1997) 217-241

The generalized blocking mechanism reduces to the blocking-after-service mechanism [ 181 by taking bi,i = l,..., M,tobelandai,i= l,..., M, to be Ki - 1. According to this mechanism the server is

blocked if the entity, after getting service, cannot move to the downstream buffer due to a full buffer. Thus, the server is blocked till there is a service at the downstream node. Under the general blocking mechanism the probability that there is one entity in the buffer bi at the time of a service completion at node Sd(i), i.e., Pl(Sd(i)), i = 1, . . . , A4 - 1, is always one. Using this in Eq. (4.1) and expanding it using Eqs. (4.3a) and

(4.3b), we get

td(i) = ti + Pi(Sd(i + l))td(i •+ 1) for i = 1,. . . , bf - 1. (4.5)

Similarly, the probability that the buffer bi is empty at the time of a service completion, Pi(Dd(i)), at node Sd(i), i = 1, . . . , M - 1, is always one. Using this in Eq. (4.4) and expanding it using Eq. (4.2), we get

tu(i + 1) = ti + P~(sd(i))tu(i) for i = 1, . . . , A4 - 1. (4.6)

These equations are similar to the ones discussed by Dallery and Frein [9] for the decomposition of a tandem queue with blocking-after-service mechanism. Thus, Eqs. (4.1)-(4.4) can be considered as an extension of these for the tandem queue with general blocking mechanism. We propose, for a tandem queue with general blocking, an extension of the algorithm given by Dallery and Frein [9] for blocking-after-service

mechanism as follows.

4.2. A step-by-step algorithm

Initialization step

Set II = 0, E > 0. Set p:(l) = ,LLO and p:(M) = PM. Set p\(i) = pi, for i = 2, . . . , M - 1. Set d:(i) =E,fori=l,..., M-l.

Iteration step Increment it to n + 1. Stepl:Fori=ltoM-ldobegin

1.1: Calculate P,” for node Sd(i) using Eq. (3.14). 1.2: Calculate d,“(i) using Eq. (4.2). 1.3: Calculate P,” for node Dd(i) using Eq. (3.14). 1.4: Calculate t,” (i + 1) from Eq. (4.4). 1.5: Set pi(i + 1) = l/t,“(i + 1).

end. Step 2: For i = M - 1, M - 2, . . . , 1 do begin

2.1: Calculate Pb”, and pk for node Sd(i + 1) using Eqs. (3.15) and (3.16). 2.2: Calculate d:(i) using Eq. (4.3). 2.3: Calculate Pt for node Dd(i) using Eq. (3.14). 2.4: Calculate ti (i) from Eq. (4.1). 2.5: Set pi(i) = l/t:(i).

end.

Step 3 (stopping criterion):

S. Mshra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241 233

If

&:(i) - j_&;-‘(i)]2 + [j&(i) - /.q1(i)12 + w,nw - pw12 i=l

+ [d:(i) - d”,-‘(i)12) > E.

Go to iteration step.

Else (output)

end.

For i := 1 to M - 1 do d,(i) = d:(i), ,uU(i + 1) = p[(i + l), dd(i) = di, @d(i) = cL$W.

4.3. Analysis and convergence

We now address the convergence issue of the proposed algorithm. First, we show that the algorithm is of fixed point type. The algorithm solves iteratively the system of equations (4.1)-(4.4). Thus, we have a total of 4(M - 1) unknowns to be determined, since t,(l) and td(M) is known. Let us define the set of unknowns by Xj, where j = 1 to 4M - 4. The unknowns x1 to x~_t denote ~~(2) to p”(M), XM to X2M_2 denote dd(1) to d,l(M - l), X2M-1 to X3M-3 denote pd(l) to @d(M - 1) and X~M-2 to X4M-4 denote d,(l) to d,(M - 11). Now we can write the system of equations (4.1)-(4.4) as xj = Fj(x), where Fj’S are continuous functions of x = (xj, j = 1, . . . , 4M - 4). All the blocking and starvation probabilities can be written as continuous functions of xi’s by means of Equations (3.12)-(3.16). A solution of system of equations (4.1)-(4.4) is thus a fixed point of equations Xj = Fj(x). Let us consider the method of Gauss-Seidel [l] to obtain a fixed point of the system of equations xj = Fj (x). The method is to apply the

n+l iterativescheme$+’ = Fj(Xl ,...,x~~~,x~,...,~~(~_l))forj = 1,...,4(M-l).Thealgorithm n+l _ of Section 4.2 is also an iterative type where we obtain the fixed point of the system of equations xi -

F’ (Pu “+‘(2), . . . , /b;+l(M),d;+l(l), . . . ,d”d+‘(M-l), p;+‘(l), . . . , &+‘(M-l),d,“(l), . . . ,d;(M-

1)). We can see from this equation that the algorithm of Section 4.2 is essentially the method of Gauss- Seidel to obtain a fixed point of the system of equations (4.1)-(4.4). Now we prove the convergence of this algorithm.

Proposition 4.1. The algorithm given in Section 4.2 always converges to a solution of the system of

equations (4.1)-(4..4).

Proof. The proof is divided in three parts. The first part deals with the fact that the sequences ((& (1)) . . .,

p:(M)) Jn = 1, :!, . . .) and {(l/d,“(l), . . . , l/d,“(M - 1)) In = 1,2,. . .} generated by the algorithm, arenondecreasingandthesequences{(&(l), . . ../$(M)) In = 1,2, . ..}and((l/di(l). . .,, l/di(M- l))]n= 1,2,...] are nonincreasing. The second part of the proof states that both of these sets of sequences are indeed bounded above and below, respectively. Third part of the proof comes from the method of Gauss- Seidel, which states that the asymptotic values of these sequences are a fixed point of the system of equations ((4.1)-(4.4) in this case). Hence, we only need to prove parts (i) and (ii).

Part (i): The proof of this part is divided into four steps (u)-(d). At each of these steps we assume the behavior (nonincreasing or nondecreasing) of one of the four sequences in order to show the behavior of

234 S. Mishra, S.-C. Fang/Pe$omance Evaluation 30 (1997) 217-241

one of the remaining three. This is done in such a way that we complete a cycle at the end of these four steps.

Step (a): We assume that the sequence ((l/d:(l), . . . , l/d:(M - 1))ln = 1,2, . . .} is nondecreasing. Consequently at the nth iteration of the algorithm we have l/d,“(i) 1 l/d:-l(i), i = 1, . . . , M - 1. Let us consider the two-node Subsystem Bi (2) in isolation (see Fig. 5). The mean interarrival time at the node Dd(i) of this subsystem is given by d,“(i). Thus, l/d:(i) > l/d:-’ (i) implies pi(i) 2 p2n-l (i) which in turn implies that pi(Dd(i)) at the nth iteration is smaller than or equal to that of at the (n - 1)th iteration. Therefore, from (4.4), we have t,“(i) 5 t,“-’ (i), which implies that

p:(i) #-l(i) fori = l,...,M. (4.7)

Step (b): We assume that the sequence (&i(l), . . . , p:(M)) 1 n = 1,2, . . .) is nondecreasing. Thus, at the nth iteration we have p:(i) 3 ,x:-l (i). Here we consider the two-node Subsystem Bi (1) in isolation (see Fig. 5). The arrival rate at the node Sd(i) of this subsystem is given by pz (i). Thus, a higher arrival rate to the

node S,-J(i) implies p:(i) 1 p;-’ (i) whichin turn implies that Bbas(Sd(i)), Bi(Sd(i)), i = 1, . . . , M - 1, and Pk(Sd(M)) at the nth iteration is higher than or equal to that of at the (n - 1)th iteration. Therefore,

from (4.3a) and (4.3b), we have d:(i) ? d:-‘(i) which implies that

l/d~(i)~l/d~-‘(i) fori=l,...,M-1. (4.8)

Step (c): We assume, at this step of the proof, that the sequence {(l/d:(l), . . . , l/di(M - 1)) 1 IZ = 1,2, . . .} is nonincreasing, which implies that at the nth iteration of the algorithm, we have l/d:(i) L

l/d:-’ (i). This shows an increase in the mean effective service time of node Dd(i) in Subsystem Bi (2) at

the nth iteration with respect to the (n - 1)th iteration. Therefore, pz (i) > p2n-l (i) which in turn implies that Bi(Sd (i)) at the nth iteration is greater than or equal to that of at the (n - 1)th iteration. Consequently,

from Eq. (4.1), we have t”,(i) 2 t:-‘(i), which implies that

c:(i) i P:-l(i) for i = 1,. . . , M. (4.9)

Step (d): We assume that the sequence {(p:(l), . . . , p\(M)) 1 n = 1,2, . . .} is nonincreasing. This

essentially says that at the nth iteration of the algorithm we have ,x:(i) I cc:-’ (i). Let us consider the Subsystem Bi(l), i = 1,. . . , M - 1, in isolation here (see Fig. 5). Due to a decrease in the effective service rate at the downstream node Sd(i) in this subsystem we have py (i) Z p;-’ (i), which in turn implies that Bf(Sd(i)) at the (n + 1)th iteration is smaller than or equal to that of at the nth iteration. Therefore, from (4.2), we have #+l (i) L d:(i) which implies that

l/d,“+‘(i) 2 l/d,“(i) for i = 1,. . . , M - 2. (4.10)

Combining the results of steps (a)-(d) together, we get

l/d~(i)>l/d~-‘(i) fori=2,...,M-1 (step 1.2 of the algorithm)

+~~(i)L~~-‘(i) fori=l,...,M (step 1.4 of the algorithm), from (4.7)

+ l/d:(i) 5 l/d:-‘(i) for i = 1,. . . , M- (step 2.2 of the algorithm), from (4.8)

=+,x$(i)sp:-‘(i) fori=l,...,M (step 2.4 of the algorithm), from (4.9)

=+ l/d,“+‘(i) 2 l/d,“(i) for i = 1,. . . , M - 2 (step 1.2 of the next iteration), from (4.10)

S. Mishra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241 235

This essentially says that (4.7) + (4.8) =+ (4.9) =+ (4.10) 3 (4.7). Note that Eq. (4.9) at nth iteration implies (4.10) at the (n + 1)th iteration. Hence, it suffices to show that at the first iteration of the algorithm one of these equations hold. As per the initialization step of the algorithm, p:(i) = /.Li, i = 1, . . . , M.

Thus, according to Eq. (4.1), p;(i) 5 pi(i) since both Pi(Sd(i)) and dd(i) are non-negative (note that pi(i) = l/t:(i)). This shows that Eq. (4.9) holds for n = 1 and consequently so do Eqs. (4.7), (4.8) and (4.10) for all n = 1,2, . . .

Part (ii): The sequence {(l/d:(l), . . . , l/d,“@! - 1)) In = 1,2,. ..} is bounded by {PI,. . . , pi]

(from Eq. (4.2)). The completion instant probability of an empty buffer bi, i = 1, . . . , A4 - 1, is always strictly positive and hence the sequence {(p:(l), . . . , p:(M)) 1 n = 1,2, . . .} is bounded above (from Eq. (4.4)). The sequence {(l/d:(l), . . . , l/di(M - 1)) In = 1,2,. . .} is a nonincreasing sequence whose lower bound can be evaluated by taking all the probabilities in Eq. (4.9) equal to 1. Thus, we have

W”,(O=l, g I (fi+di(i)) fori=l,...,M-1.

Similarly, the lower bound on the sequence {p\(i), i = 1, . . . , M} can be given as follows using Eq. (4.1):

I M

&(i) 2 1 c ti fori = l,...,M. i=l

Finally, since the algorithm uses the method of Gauss-Seidel, the asymptotic values of these sequences are indeed a solution of the system of equations (4.1)-(4.4). 0

5. Numerical results

In this section we discuss our numerical experience with the proposed iterative method. There are two main objectives in doing so. One is to validate the results by comparing these with the simulation results, and the other is to analyze its quality when compared to the other blocking mechanisms. In Section 5.1 we discuss the numlerical results for the two-node queueing system with population size constraint in order to check the accurscy of the maximum entropy method. Section 5.2 deals with a tandem queueing system with infinite demand for the finished product.

5.1. A two-node subsystem

We consider a two-node subsystem with a service rate of 4 per time unit at the first node and a service rate of 12 per time .unit at the second node. The arrival rate of jobs at the first node is assumed to be 4 per time unit. The capacity of buffer Nt and N2 (see Fig. 6) is assumed to be the same as K (kanban blocking). The performance measures to be investigated are the system throughput and the total number of jobs in the system. The value of K is varied from 2 to 6. The values for the system throughput and the total number of jobs in the subsystem is summarized in Tables 1 and 2. The simulation point estimates and confidence intervals were obtained by the batch means method dividing every run into 10 batches of 200 000 jobs in each. The half-width of the confidence intervals varies from less than 5%, for low loads, to 15% for near saturation loads. Assuming the simulation results to be the correct one, the relative percentage error for the proposed method is, in the range of O-2%. The data are displayed graphically in Figs. 7 and 8.

236 S. Mishra, S.-C. Fang/Petiormance Evaluation 30 (1997) 217-241

Table 1 A comparison of system throughput for a two-node subsystem with kanban blocking

K (no. of cards) System throughput Absolute error Simulation Proposed

2 2.47 2.44 0.03 3 2.87 2.874 0.004 4 3.12 3.1204 0.0004 5 3.278 3.2783 0.0003 6 3.38 3.3882 0.0082

Relative error (%)

1.21 0.14 0.01 0.00 0.24

Table 2 A comparison of the work-in-process inventory for a two-node subsystem

K (no. of cards) Work-in-progress inventory Simulation Proposed

2 1.117 1.1294 3 1.645 1.6434 4 2.164 2.1573 5 2.68 2.6696 6 3.195 3.1798

Absolute error Relative error (%)

0.0124 1.11 0.0016 0.097 0.0067 0.309 0.0104 0.388 0.0152 0.475

Fig. 7. System throughput for a two-node subsystem.

5.2. A tandem queue with kanban blocking

We consider a tandem queueing system with six service nodes. The service rate at each node is assumed

to be exponential with rate 4 (per time unit), i.e., pj = 4, for i = 1, . . . ,6. The first step for the numerical validation is the case where the blocking mechanism is kanban blocking. The model considered here is a special case of System B where infinite number of raw jobs are assumed to be available preceding node SO. The performance measures to be considered here is the system throughput and the work-in-process

S. Mishra, S.-C. Fang/Pe$ormance Evaluation 30 (1997) 217-241 237

” .

2 3 4 5 6

Total capacity K

Fig. 8. Inventory for a two-node subsystem.

Table 3 A comparison of system throughput for a tandem queue with kanban blocking

K (no. of cards) System throughput Absolute error Simulation Proposed

Relative error (%)

2 2.31 2.19 0.12 5.2 3 2.65 2.56 0.09 3.39 4 2.92 2.93 0.01 0.34 5 3.1 3.16 0.06 1.9 6 3.25 3.31 0.06 1.8

Table 4 A comparison of the work-in-process inventory for a tandem queue with kanban blocking

K (no. of cards) Work-in-process inventory Absolute error Simulation Proposed

Relative error (%)

2 6.74 6.51 0.23 3.4 3 10.57 10.23 0.34 3.2 4 13.56 13.7 0.14 1.03 5 16.12 16.26 0.14 0.87 6 19.46 19.81 0.35 1.79

inventory. We vary the total number of cards, Ki , at each node from 2 to 6. In the case of kanban blocking, ai = bi = Kifori=l,... ,6, and hence the values of ai and bi are also varied from 2 to 6 corresponding to the value of Ki . ‘The results obtained using the proposed algorithm, as summarized in Tables 3 and 4, are reasonably accurate. The relative error, when compared to the simulation results, is in the range of O-6%. The results of Tables 3 and 4 are displayed graphically in Figs. 9 and 10, respectively.

238 S. Mishra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241

3.5 - I

3 .’

s

r”

2.5 . . I= _ - 4 - _

Y 2.

f! 1.5 .’

e 1 a’

0.5 .s

O+ I

2 3 4 5 6

Total capacity K

Fig. 9. System throughput for a tandem queue.

20 -

--a Proposed

O- 4

2 3 4 5 6

Total capacity K

Fig. 10. Inventory for a tandem queue.

5.3. Comparison of throughput and work-in-process inventory

We consider a tandem queueing system with six nodes. The service rates at each node is exponentially distribntedwithpi = 4,i = l,..., 6. We define the total number of cards at each node by a vector K = {Ki}, where Ki is the number of cards at node i, i = 1, . . . ,6. The initial value of the vector K is given by K = [l, 2,3,3,2, 11. We consider kanban blocking with ai = bi = Ki for i = 1, . . . ,6. The

S. Mishra, S.-C. Fang/Pe~onnance Evaluation 30 (1997) 217-241 239

3.3 -

3.2 . l -

3.1 .

IAL

3 c" s

3. /' 2.9 .

s

f 2.8 11 - /I’ 2.7

2.6

2.5

1 2 3 4 5

thoIncnm.ntInCo~cards J.

Fig. 11. A comparison of system throughput.

24 -

22.

20 -

p ‘a- s g 16.

14 .

12.

1 2 3 4 5

thoincmn~~ntIn# OfUrdr J,

Fig. 12. A comparison of work-in-process inventory.

system throughput for kanban is shown in Fig. 11 along with the results obtained by Cheng and Yao [7] using Monte Carlo simulation. We display the change in system throughput as the number of cards at each node is increased from 1 to 5. The work-in-process inventory is shown in Fig. 12. The agreement between the analytic approxilmation (proposed algorithm) and the Monte Carlo simulation is reasonably good.

240 S. Mishra, S.-C. Fang/Pe$ormance Evaluation 30 (1997) 217-241

6. Conclusion

We have presented an analysis of tandem queues with finite intermediate buffers under general blocking scheme. The main focus of this paper is to derive an approximate mean queue length distribution of each node in the tandem queue. The blocking scheme discussed here is by far the most general one which includes all the manufacturing blocking schemes studied so far. The current model assumes infinite demand for the finished product. The analysis of a tandem queue, with finite intermediate buffers and general blocking, where the external demand is also exponentially distributed with a fixed parameter, is the subject of another paper by authors.

References

[I] E. Anton, Elementary Linear Algebra, Wiley, New York (1973). [2] T. Altiok, Approximate analysis of exponential tandem queues with blocking, European J. Ope,: Res. 11(1982) 390-398. [3] A. Brandwajn and Y.-L.L. Jow, An approximation method for tandem queues with blocking, Oper: Res. 36 (1988) 73-83. [4] J.A. Buzacott and J.G. Shanthikumar, Stochastic Models OfManufacturing System, Prentice-Hall, Englewood Cliffs, NJ

(1991). [5] D.W. Cheng, Second order properties in a tandem queue with general blocking, Ope,: Res. Lett. 12 (1992) 139-144.

[6] D.W. Cheng, Analysis of a tandem queue with state dependent general blocking: A GSMP perspective, Per$ormance

Evaluation 17 (1993) 169-176. [7] D.W. Cheng and D.D. Yao, Tandem queues with general blocking: A unified model and comparison results, Discrete

Event Dynamic Systems 2 (1993) 207-234. [8] J.W. Cohen, The Single Server Queue, North-Holland, Amsterdam (1969). [9] Y. Dallery and Y. Frein, On decomposition methods for tandem queueing networks with blocking, Ope,: Res. 42 (1993)

386-399. [lo] S. Guiasu, Maximum entropy condition in queueing theory, J. Oper Res. Sot. 37 (1986) 293-301. [ 1 l] ES. Hillier and R.W. Boling, Finite queues in series with exponential or Erlang service times - a numerical approach,

Oper Res. 15 (1967) 286-303. [ 121 J.N. Kapur and H.K. Kesavan, Entropy Optimization Principles with Applications, Academic Press, New York (1992). [ 131 D.D. Kouvatsos, Maximum entropy methods for general queueing networks, in: D. Potier (Ed.), ModelZing Techniques

and Tools for Pelformance Analysis, North-Holland, Amsterdam (1985) 58948. [ 141 D.D. Kouvatsos, Maximum entropy queue length distribution for a G/G/ 1 finite capacity queue, Pe$ormance Evaluation

Rev. (ACM, IFIP WG 7.3) 14 (1986) 224-236. [ 151 D.D. Kouvatsos, Maximum entropy and the G/G/l/N queue, Acta Inform. 23 (1986) 545-565.

[ 161 D.D. Kouvatsos, A maximum entropy analysis of the G/G/ 1 queue at equilibrium, J. Opel: Res. Sot. 39 (1988) 183-200.

[17] D.D. Kouvatsos, Entropy maximisation and queueing network models, Ann. Oper Res. (special issue on Queueing Networks) 48 (1994) 63-126.

[ 181 D.D. Kouvatsos and N.P Xenios, MEM for arbitrary queueing networks with multiple general servers and repetitive- service blocking, Pe~ormance Evaluation 10 (1989) 169-195.

[ 191 D. Mitra and I. Mitrani, Analysis of a Kanban discipline for cell coordination in production lines I, Management Sci. 36 (1990) 1548-1566.

[20] D. Mitra and I. Mitrani, Analysis of a Kanban discipline for cell coordination in production lines II: Stochastic demands, Opel: Res. 39 (1992) 807-823.

[21] Y. Monden, Toyota Production Systems, Industrial Engineering and Management Press, Institute of Industrial Engineers, Atlanta (1983).

[22] H.G. Perros, Open queueing networks with blocking, in: H. Takagi (Ed.), Stochastic Analysis of Computer and Communication Systems, North-Holland, Amsterdam (1989).

[23] H.G. Perros and T. Amok, Approximate analysis of open networks of queues with blocking: tandem configurations, IEEE Trans. Software Engrg. SE-12 (1986) 45w61.

S. Mishra, S.-C. Fang/Performance Evaluation 30 (1997) 217-241 241

[24] K.M. Rege, Approximate analysis of serial manufacturing lines with buffer control, Large Scale Systems 14 (1988) 31-43.

[25] J.E. Shore, Information theoretic approximations for M/G/ 1 and G/G/l queueing Systems, Acta Inform. 17 (1982) 293-301.

[26] R.J. Walstra, Nonexponential network of queues: A maximum entropy analysis, J. Assoc. Comput. Mach. 7 (1985) 27-37.

Shu-Cherng Fang received the Ph.D. degree in industrial engineering and management science from Northwestern University in 1979. He holds the Walter Clark Professorship in Industrial Engineering and Operations Research at North Carolina State University, where he also directs a Fuzzy and Neural #Group (http://www.eos.ncsu. edu/eos/service/ie/research/fang_ research/www/fang.html). Before joining the faculty of NCSU, Dr. Fang was Supervisor at AT&T Bell Labs and Department Manager at AT&T Technologies. He has more than one hundred publications including a book entitled Linear Optimization and Extension: Theory and Algorithms (Prentice-Hall, 1993). He serves in the edito- rial boards of Optimization, International Journal of Operations and Quantitative Management, and .Joumal of the Chinese Institute of Industrial Engineers.

Shankar Mishra received the B.S. and M.S. in mathematics with specialization in statistics and operations research from Patna University, Patna and Indian Institute of Technology, Bombay, India in 1987 and 1989, respectively. He received the Ph.D. in operations research from North Carolina State University, Raleigh, USA in 1994. In January 1995, he joined Sabre Decision Technologies as a consultant working in the area of yield management for airline industry. His research interests including performance modeling and evaluation, queueing systems and yield management in travel industry.