Buzen's algorithm

This is an old revision of this page, as edited by Encyclops (talk | contribs) at 17:14, 15 April 2009 (New section to explain the problem, and the notation, thus setting the context for rest of article). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In queueing theory, a discipline within the mathematical theory of probability, Buzen's algorithm is an algorithm for calculating the normalization constant G(K) in the Gordon–Newell theorem. This method was first proposed by Jeffrey P. Buzen in 1973.[1] Once G is computed the probability distributions for the network can be found. In contrast, Mean-value analysis is an alternative algorithm that can also be used to derive some performance measures (such as the mean queue lengths) without having to directly compute the normalization constant.

The motivation for this algorithm is efficiency: a straightforward Gordon-Newell calculation would require the enumeration of all states that the system can be in, resulting in a combinatorial explosion. Buzen's algorithm is of order , making the application of the G-N theorem practical, and opening up a large class of queueing systems to accurate modeling.

In the queuing literature Buzen's algorithm is sometimes also referred to as the Convolution algorithm.

Problem setup

Consider a closed queueing network with M service facilities and N circulating customers. Let   represent the number of customers present at the i-th facility, with  . We assume that the service time for a customer at the i-th facility is given by an exponentially distributed random variable with mean   and that after completing service at the i-th facility a customer will proceed to the j-th facility with probability  .

It follows from the Gordon-Newell theorem that the equilibrium distribution of customers in the network is given by:

 

where the   are found from the equations:

  for  

and   is a normalizing constant such that the above probabilities sum to 1. [2]

The purpose of the Buzen algorithm is to numerically compute values of G.

Derivation

G(N) = g(M, N)

 
 

to avoid affecting the product.

 

This recursive relationship allows for the calculation of all G(N) up to any value of N in order O(MN2) time.

There is a more efficient algorithm for finding G(N') for some network. If it is assumed that  , then the recursive relationship can be simplified as follows:

 

This simpler recursive relationship allows for the calculation of all G(N) up to any value of N to be found in order O(MN) time.

Implementation

References

  1. ^ Buzen, Jeffrey (1973). "Computational algorithms for closed queueing networks with exponential servers". Communications of the ACM. 16 (9): 527. doi:10.1145/362342.362345. {{cite journal}}: Unknown parameter |month= ignored (help) [1]
  2. ^ Buzen: op.cit.