CCOptim | Erlang A | Erlang B | Erlang C |
Erlang A Formula Calculator
This script evaluates the performance measures
(service level, delay probability, abandonment ratio and
average waiting time)
of a queueing system using the Erlang A formula.
The difference with Erlang C is that Erlang A includes customer abandonments.
Each customer has an exponentially distributed random patience time.
A customer abandons (and exits) the queue when his waiting time exceeds his patience time.
Because of abandonments, this queueing system is always stable.
There are also different ways to define the service level.
Our program offers two service level formulas and an approximation formula
based on diffusion equations (see details in performance measures
section).
This script executes the Erlang A program implemented in the
CCOptim Java
library for call centers.
See the instructions for usage details.
Program setup
Output
Instructions
Consider the following M/M/c+M queueing model:
Poisson arrival process, exponential service time and exponential patience time.
This queueing system is always stable because of customer abandonments.
Also due to abandonments, there are different ways to account
the customers that abandoned in the service level (SL) function.
Our program offers 2 exact formulas (SL1 and SL2) for the SL and
one approximative formula (SLD) based on diffusion equations.
The choice of an exact or approximative SL formula will also decide
on whether this program will use the exact or approximate formulas for
the other performance measures (abandonment ratio, delay probability and average waiting time).
The approximative formulas are taken from the paper of Garnett, Mandelbaum and Reiman (2002).
In the exact formulas, the waiting queue has limited capacity,
whereas the capacity is unlimited in the approximate formula.
Available performance measures
The performance measures returned by this program are:
- Service level (SL): This measure is defined as
the expected ratio of customers that waited less or equal to the acceptable waiting time \(t\).
There are different ways to account the abandonned customers that waited at most time \(t\)
in the computation of the SL.
Let \(y\) be the number of servers,
\(X(y, t)\) the number of served customers that waited at most \(t\) and
\(G(y,t)\) the number of abandoned customers that waited at most \(t\) as functions
of \(y\) and \(t\), \(A\) the total number of customers, and \(\mathbbE\) the
expected value operator in statistics.
There are three SL formulas available in this program:- SL1: The customers that abandoned but waited at most \(t\) are excluded
from the service level.
$$\textrmSL1(y, t) = \frac\mathbbE[X(y, t)]\mathbbE[A – G(y,t)].$$ - SL2: The customers that abandoned but waited at most \(t\) are counted
as having received a “good” quality of service.
$$\textrmSL2(y, t) = \frac\mathbbE[X(y, t) + G(y,t)]\mathbbE[A].$$ - SLD: An approximation of SL2 based on diffusion equations.
This formula is taken from the paper of Garnett, Mandelbaum and Reiman (2002).
Note that SL1 ≤ SL2.
SL1 corresponds to the performance measureSERVICELEVEL
and
SL2 corresponds to the performance measureSERVICELEVEL2
in the
ContactCenters library.
See their user’s guide
for additional details.
The exact formulas SL1 and SL2 have the disadvantage that they are not tractable
with respect to the size of the queueing system.
These formulas may fail to compute the SL if the number of states (number of servers +
queue capacity + 1) or the traffic load (arrival rate multiplied by the average service time)
are very large.
For queues with large traffic load or number of states, we suggest to use
the approximative formula SLD. - SL1: The customers that abandoned but waited at most \(t\) are excluded
- Delay probability: The probability that a new customer will have to enter the waiting queue
because all servers are busy.
This is also equal to the proportion of customers that join the waiting queue. - Abandonment ratio: The proportion of customers that abandoned the queue without receiving service.
- The average waiting time of a customer (including served and abandoned customers).
Descriptions of the input parameters
The parameters for this program are:
- Arrival rate: The average number of customers that arrive per time unit.
For example, 5.7 customers per minute. - Average service time: The average time duration that a server takes to serve one customer.
This is the inverse of the service rate.
For example, an average service time of 10.5 minutes per customer. - Average patience time: The average time duration that a customer is willing to wait in the queue.
For example, an average of 5.2 minutes per customer. - Acceptable waiting time: This is the waiting time threshold of the
service level (SL) measure.
For example, the acceptable waiting time can be 20 seconds. - Queue capacity: The maximum size of the waiting queue.
When the queue is full, all new customers are blocked.
This parameter must be a non-negative integer.
For better algorithm efficiency, this number should not be much larger
that the size of the load (arrival rate multiplied by the average service time).
This parameter affects only the exact formulas (SL1 and SL2).
The queue size is assumed to be unlimited in the approximate formula (SLD). - Service level formula: Select the service level formula to use, see
performance measures .
Choosing an exact formula (SL1 or SL2) or the approximate SLD will also decide
on the choice of either exact or approximate formulas for the other performance measures
(delay probability, abandonment ratio and average waiting time). - Average waiting time unit: Select the time unit of the average waiting time results.
- Display graph outputs: Select “yes” to display the result table in graphic charts.
This option requires a browser that supports HTML5 and Javascript.
Use the parameter “Server range output” to control the number of points
in the charts.
Note this feature is unstable for Internet Explorer 8 and older. - Server range output: Allows to evaluate the performance measures for multiple
number of servers. Let \(R\) be this parameter and \(S\) the given number of
servers, then the program will evaluate the performance measures for all servers
between \((S-R)\) and \((S+R)\).
Parameter \(S\) can be given by the user (parameter #10)
or found by minimizing the number of servers
for a given service level target (parameter #11).
For example, if this range is set at 5 and the number of servers to evaluate
is set at 10, then the program will evaluate the performance measures for 5 to 15 servers.
This parameter must be a non-negative integer. - Evaluate: If this option is selected, then
pressing the “Execute” button will compute the performance measures
using the Erlang A formula for the given number of servers. Performance measures
for nearby number of servers can also be computed by setting the parameter
“Server range output”. The number of servers must be integer and
the minimum value is 1. - Find minimum servers: If this option is selected, then
pressing the “Execute” button will order the program to find
the minimum number of servers required to attain a service level (SL) equal or higher
than the given SL target. Let \(Y\) be this number and \(T\) the SL target.
Then,
$$Y = \min \ y : \textrmSL(y,t) \ge T, y \in \mathbbN \,$$
where the service level function \(\textrmSL(y,t)\) and acceptable waiting time \(t\)
are described in the performance measures ,
and \(\mathbbN\) is the set of natural numbers.
Parameter #6 determines the choice of the SL formula.
The program will evaluate the performance measures at \(Y\) and around \(Y\),
like with the “Evaluate” option.
The service level target parameter must be between 0 and 100%, inclusively.
For example, set this parameter to 80 and the acceptable waiting time (parameter #3)
to 20 seconds to find the minimum number of servers needed for a service level of at least
80% with a waiting time threshold of 20 seconds.
References
.
.
.
.
,
edn.,
()
:
chap.
,
.
.
Contacts
For questions, comments, suggestions or bug alerts, please contact:
Wyean Chan – [email protected]
Simulation lab at DIRO – [email protected]
Erlang distribution
Jump to navigation
Jump to search
Probability density function
| |
Cumulative distribution function
| |
Parameters | |
---|---|
Support | |
CDF | |
Mean | |
Median | No simple closed form |
Mode | |
Variance | |
Skewness | |
Ex. kurtosis | |
Entropy | |
MGF | |
CF |
The Erlang distribution is a two-parameter family of continuous probability distributions with support
$$\displaystyle x\in [0,\infty )
. The two parameters are:
- a positive integer
- a positive real number
The Erlang distribution with shape parameter
$$\displaystyle k=1
simplifies to the exponential distribution . It is a special case of the gamma distribution . It is the distribution of a sum of
$$\displaystyle k
independent exponential variables with mean
$$\displaystyle 1/\lambda
each.
The Erlang distribution was developed by A. K. Erlang to examine the number of telephone calls which might be made at the same time to the operators of the switching stations. This work on telephone traffic engineering has been expanded to consider waiting times in queueing systems in general. The distribution is now used in the fields of stochastic processes and of biomathematics .
Contents
- 1 Characterization
- 1.1 Probability density function
- 1.2 Cumulative distribution function (CDF)
- 2 Median
- 3 Generating Erlang-distributed random variates
- 4 Occurrence
- 4.1 Waiting times
- 4.2 Stochastic processes
- 5 Related distributions
- 6 See also
- 7 Notes
- 8 References
- 9 External links
Characterization[ edit ]
Probability density function[ edit ]
The probability density function of the Erlang distribution is
The parameter k is called the shape parameter, and the parameter
$$\displaystyle \lambda
is called the rate parameter.
An alternative, but equivalent, parametrization uses the scale parameter
$$\displaystyle \mu
, which is the reciprocal of the rate parameter (i.e.,
$$\displaystyle \mu =1/\lambda
):
When the scale parameter
$$\displaystyle \mu
equals 2, the distribution simplifies to the chi-squared distribution with 2k degrees of freedom. It can therefore be regarded as a generalized chi-squared distribution for even numbers of degrees of freedom.
Because of the factorial function in the denominator, the Erlang distribution is only defined when the parameter k is a positive integer. In fact, this distribution is sometimes called the Erlang-k distribution (e.g., an Erlang-2 distribution is an Erlang distribution with
$$\displaystyle k=2
). The gamma distribution generalizes the Erlang distribution by allowing k to be any positive real number, using the gamma function instead of the factorial function.
Cumulative distribution function (CDF)[ edit ]
The cumulative distribution function of the Erlang distribution is
where
$$\displaystyle \gamma
is the lower incomplete gamma function .
The CDF may also be expressed as
Median[ edit ]
An asymptotic expansion is known for the median of an Erlang distribution,^{ [1] } for which coefficients can be computed and bounds are known.^{ [2] }^{ [3] } An approximation is
$$\displaystyle \frac k\lambda \left(1-\dfrac 13k+0.2\right),
i.e. below the mean
$$\displaystyle \frac k\lambda .
^{ [4] }
Generating Erlang-distributed random variates[ edit ]
Erlang-distributed random variates can be generated from uniformly distributed random numbers (
$$\displaystyle U\in (0,1]
) using the following formula:^{ [5] }
Occurrence[ edit ]
Waiting times[ edit ]
Events that occur independently with some average rate are modeled with a Poisson process . The waiting times between k occurrences of the event are Erlang distributed. (The related question of the number of events in a given amount of time is described by the Poisson distribution .)
The Erlang distribution, which measures the time between incoming calls, can be used in conjunction with the expected duration of incoming calls to produce information about the traffic load measured in erlangs. This can be used to determine the probability of packet loss or delay, according to various assumptions made about whether blocked calls are aborted (Erlang B formula) or queued until served (Erlang C formula). The Erlang-B and C formulae are still in everyday use for traffic modeling for applications such as the design of call centers .
It has also been used in business economics for describing interpurchase times.^{ [6] }
Stochastic processes[ edit ]
The Erlang distribution is the distribution of the sum of k independent and identically distributed random variables each having an exponential distribution . The long-run rate at which events occur is the reciprocal of the expectation of
$$\displaystyle X
, that is
$$\displaystyle \lambda /k
. The (age specific event) rate of the Erlang distribution is, for
$$\displaystyle k>1
, monotonic in
$$\displaystyle x
, increasing from zero at
$$\displaystyle x=0
, to
$$\displaystyle \lambda
as
$$\displaystyle x
tends to infinity.^{ [7] }
Related distributions[ edit ]
- If
- If
- If
- If k is an integer and
- If
- The Erlang distribution is a special case of the Pearson type III distribution ^{[ citation needed ]}
- The chi-squared distribution is a special case of the Erlang distribution. Indeed, if
- The Erlang distribution is related to the Poisson distribution by the Poisson process : If
See also[ edit ]
- Coxian distribution
- Engset calculation
- Erlang B formula
- Erlang unit
- Phase-type distribution
- Traffic generation model
This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources . Unsourced material may be challenged and removed. (June 2012) ( Learn how and when to remove this template message ) |
This article includes a list of references , but its sources remain unclear because it has insufficient inline citations . Please help to improve this article by introducing more precise citations. (June 2012) ( Learn how and when to remove this template message ) |
Notes[ edit ]
- ^ Choi, K. P. (1994). “On the medians of gamma distributions and an equation of Ramanujan”. Proceedings of the American Mathematical Society. 121: 245–251. doi : 10.1090/S0002-9939-1994-1195477-8 . JSTOR 2160389 .
- ^ Adell, J. A.; Jodrá, P. (2007). “On a Ramanujan equation connected with the median of the gamma distribution”. Transactions of the American Mathematical Society. 360 (7): 3631. doi : 10.1090/S0002-9947-07-04411-X .
- ^ Jodrá, P. (2012). “Computing the Asymptotic Expansion of the Median of the Erlang Distribution”. Mathematical Modelling and Analysis. 17 (2): 281–292. doi : 10.3846/13926292.2012.664571 .
- ^ Banneheka BMSG, Ekanayake GEMUPD (2009) “A new point estimator for the median of gamma distribution”. Viyodaya J Science, 14:95-103
- ^ Resa. “Statistical Distributions – Erlang Distribution – Random Number Generator” . www.xycoon.com. Retrieved 4 April 2018.
- ^ C. Chatfield and G.J. Goodhardt: “A Consumer Purchasing Model with Erlang Interpurchase Times”; Journal of the American Statistical Association, Dec. 1973, Vol.68, pp.828-835
- ^ Cox, D.R. (1967) Renewal Theory, p20, Methuen.
References[ edit ]
- Ian Angus “An Introduction to Erlang B and Erlang C” , Telemanagement #187 (PDF Document – Has terms and formulae plus short biography)
External links[ edit ]
- Erlang Distribution
- Resource Dimensioning Using Erlang-B and Erlang-C
- Continuous distributions
- Exponential family distributions
- Infinitely divisible probability distributions
- Pages using deprecated image syntax
- All articles with unsourced statements
- Articles with unsourced statements from March 2016
- Articles needing additional references from June 2012
- All articles needing additional references
- Articles lacking in-text citations from June 2012
- All articles lacking in-text citations
Navigation menu
- This page was last edited on 2 July 2018, at 12:55 (UTC).
- Text is available under the Creative Commons Attribution-ShareAlike License ;
additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization.
- Privacy policy
- About Wikipedia
- Disclaimers
- Contact Wikipedia
- Developers
- Cookie statement
- Mobile view