In
queueing theory
Queueing theory is the mathematical study of waiting lines, or queues. A queueing model is constructed so that queue lengths and waiting time can be predicted. Queueing theory is generally considered a branch of operations research because the ...
, the Engset formula is used to determine the blocking probability of an M/M/c/c/N queue (in
Kendall's notation
In queueing theory, a discipline within the mathematical theory of probability, Kendall's notation (or sometimes Kendall notation) is the standard system used to describe and classify a queueing node. D. G. Kendall proposed describing queueing mod ...
).
The formula is named after its developer,
T. O. Engset.
Example application
Consider a fleet of
vehicles and
operators. Operators enter the system randomly to request the use of a vehicle.
If no vehicles are available, a requesting operator is "blocked" (i.e., the operator leaves without a vehicle).
The owner of the fleet would like to pick
small so as to minimize costs, but large enough to ensure that the blocking probability is tolerable.
Formula
Let
*
be the (integer) number of servers.
*
be the (integer) number of sources of traffic;
*
be the idle source arrival rate (i.e., the rate at which a free source initiates requests);
*
be the average holding time (i.e., the average time it takes for a server to handle a request);
Then, the
probability
Probability is the branch of mathematics concerning numerical descriptions of how likely an Event (probability theory), event is to occur, or how likely it is that a proposition is true. The probability of an event is a number between 0 and ...
of blocking is given by
:
By rearranging terms, one can rewrite the above formula as
:
where
is the Gaussian
Hypergeometric function.
Computation
There are several recursions
that can be used to compute
in a numerically stable manner.
Alternatively, any numerical package that supports the
hypergeometric function can be used. Some examples are given below.
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
with
SciPy
SciPy (pronounced "sigh pie") is a free and open-source Python library used for scientific computing and technical computing.
SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal ...
from scipy.special import hyp2f1
P = 1.0 / hyp2f1(1, -c, N - c, -1.0 / (Lambda * h))
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
with th
Symbolic Math Toolbox''
P = 1 / hypergeom( , -c N - c, -1 / (Lambda * h))
Unknown source arrival rate
In practice, it is often the case that the source arrival rate
is unknown (or hard to estimate) while
, the
offered traffic per-source, is known.
In this case, one can substitute the relationship
:
between the source arrival rate and blocking probability into the Engset formula to arrive at the fixed point equation
:
where
:
Computation
While the above removes the unknown
from the formula, it introduces an additional point of complexity: we can no longer compute the blocking probability directly, and must use an iterative method instead. While a
fixed-point iteration
In numerical analysis, fixed-point iteration is a method of computing fixed points of a function.
More specifically, given a function f defined on the real numbers with real values and given a point x_0 in the domain of f, the fixed-point iterat ...
is tempting, it has been shown that such an iteration is sometimes
divergent when applied to
.
Alternatively, it is possible to use one of
bisection
In geometry, bisection is the division of something into two equal or congruent parts, usually by a line, which is then called a ''bisector''. The most often considered types of bisectors are the ''segment bisector'' (a line that passes through ...
or
Newton's method
In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real-valu ...
, for which a
open source implementationis available.
References
{{reflist
Queueing theory