Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Erlang (unit)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Erlang (unit)
(section)
Add topic