Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Erlang (unit)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Erlang B formula == The ''Erlang B formula'' (or ''Erlang-B'' with a hyphen), also known as the ''Erlang loss formula'', is a formula for the ''blocking probability'' that describes the probability of call losses for a group of identical parallel resources (telephone lines, circuits, traffic channels, or equivalent), sometimes referred to as an [[M/M/c queue#Finite capacity|M/M/c/c queue]].<ref>{{cite book | isbn = 978-0120510504 | title = Probability, statistics, and queueing theory : with computer science applications | last1 = Allen | first1 = Arnold | year = 1978 | publisher = Academic Press | location = New York | page = 184}}</ref> It is, for example, used to dimension a telephone network's links. The formula was derived by [[Agner Krarup Erlang]] and is not limited to telephone networks, since it describes a probability in a queuing system (albeit a special case with a number of servers but no queueing space for incoming calls to wait for a free server). Hence, the formula is also used in certain inventory systems with lost sales. The formula applies under the condition that an unsuccessful call, because the line is busy, is not queued or retried, but instead really vanishes forever. It is assumed that call attempts arrive following a [[Poisson process]], so call arrival instants are independent. Further, it is assumed that the message lengths (holding times) are exponentially distributed (Markovian system), although the formula turns out to apply under general holding time distributions. The Erlang B formula assumes an infinite population of sources (such as telephone subscribers), which jointly offer traffic to ''N'' servers (such as telephone lines). The rate expressing the frequency at which new calls arrive, λ, (birth rate, traffic intensity, etc.) is constant, and does ''not'' depend on the number of active sources. The total number of sources is assumed to be infinite. The Erlang B formula calculates the blocking probability of a buffer-less loss system, where a request that is not served immediately is aborted, causing that no requests become queued. Blocking occurs when a new request arrives at a time where all available servers are currently busy. The formula also assumes that blocked traffic is cleared and does not return. The formula provides the GoS ([[grade of service]]) which is the probability ''P''<sub>b</sub> that a new call arriving to the resources group is rejected because all resources (servers, lines, circuits) are busy: {{nowrap|''B''(''E'', ''m'')}} where ''E'' is the total offered traffic in erlang, offered to ''m'' identical parallel resources (servers, communication channels, traffic lanes). : <math>P_\text{b} = B(E,m) = \frac{\frac{E^m}{m!}} { \sum_{i=0}^m \frac{E^i}{i!}} </math> where: * ''P''<sub>b</sub> is the probability of blocking * ''m'' is the number of identical parallel resources such as servers, telephone lines, etc. * ''E'' = ''λh'' is the normalised ingress load (offered traffic stated in erlang). The ''erlang'' is a dimensionless load unit calculated as the mean arrival rate, ''λ'', multiplied by the mean call holding time, ''h''. The unit has to be dimensionless for [[Little's Law]] to be dimensionally sane. This may be expressed recursively<ref>{{citation |doi=10.1016/S0895-7177(03)90040-9 |title=Two common properties of the erlang-B function, erlang-C function, and Engset blocking function |journal=Mathematical and Computer Modelling |volume=37 |issue=12–13 |pages=1287–1296 |author=Guoping Zeng |date=June 2003 |publisher=Elsevier Science |doi-access=free }}</ref> as follows, in a form that is used to simplify the calculation of tables of the Erlang B formula: : <math>B(E,0) = 1. \,</math> : <math>B(E,j) = \frac{E B(E,j - 1)}{E B(E,j - 1) + j} \ \forall{j} = 1,2,\ldots,m. </math> Typically, instead of ''B''(''E'', ''m'') the inverse 1/''B''(''E'', ''m'') is calculated in numerical computation in order to ensure [[numerical stability]]: : <math>\frac{1}{B(E,0)} = 1</math> : <math>\frac{1}{B(E,j)} = 1 + \frac{j}{E}\frac{1}{B(E,j - 1)} \ \forall{j} = 1,2,\ldots,m. </math> The recursive form is derivable from the non-recursive form by repeated substitution.<ref>{{Cite journal |last=Martínez |first=Elieser Ernesto Gallego |last2=Martínez |first2=Jany Alpuin |date=September 8, 2021 |title=Recursion applied to the Erlang B formula for determining the telephone exchange Grade of Service |url=https://www.techrxiv.org/doi/full/10.36227/techrxiv.16556592.v1 |journal=TechRxiv |pages=5 |doi=10.36227/techrxiv.16556592.v1}}</ref> <syntaxhighlight lang="vbnet"> Function ErlangB (E As Double, m As Integer) As Double Dim InvB As Double Dim j As Integer InvB = 1.0 For j = 1 To m InvB = 1.0 + InvB * j / E Next j ErlangB = 1.0 / InvB End Function </syntaxhighlight> or a Python version: <syntaxhighlight lang="python"> def erlang_b(E, m: int) -> float: """Calculate the probability of call losses.""" inv_b = 1.0 for j in range(1, m + 1): inv_b = 1.0 + inv_b * j / E return 1.0 / inv_b </syntaxhighlight> The Erlang B formula is decreasing and [[convex function|convex]] in ''m''.<ref>Messerli, E.J., 1972. 'Proof of a convexity property of the Erlang B formula'. Bell System Technical Journal 51, 951–953.</ref> It requires that call arrivals can be modeled by a [[Poisson process]], which is not always a good match, but is valid for any statistical distribution of call holding times with a finite mean. It applies to traffic transmission systems that do not buffer traffic. More modern examples compared to [[Plain old telephone service|POTS]] where Erlang B is still applicable, are [[optical burst switching]] (OBS) and several current approaches to [[optical packet switching]] (OPS). Erlang B was developed as a trunk sizing tool for telephone networks with holding times in the minutes range, but being a mathematical equation it applies on any time-scale.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)