@parsiad parsiad released this Oct 31, 2016 · 6 commits to master since this release

Assets 2

fast-engset

Python code to compute the blocking probability P in the Engset model:

                         m
         binom{N - 1}{m}M                            E/N
P = --------------------------    where    M = ---------------.
     __ m                    X                  1 - E/N(1 - P)
    \        binom{N - 1}{X}M
    /__ X = 0

N denotes the number of sources, m the number of servers, and E the offered traffic from all sources.

E is the total offered traffic given by E = N * alpha, where alpha is the offered traffic per-source.

Installation

pip install fast_engset

Example

from fast_engset import fe

m     = 5          # Number of servers
N     = 10         # Number of sources
alpha = 0.2        # Offered traffic from a SINGLE source
E     = N * alpha  # Total offered traffic from ALL sources

# Blocking probability
P = fe.compute(m, N, E)

Citation

If you are using this in an academic work, please cite the corresponding paper:

@article {MR3503106,
    AUTHOR = {Azimzadeh, P. and Carpenter, T.},
     TITLE = {Fast {E}ngset computation},
   JOURNAL = {Oper. Res. Lett.},
  FJOURNAL = {Operations Research Letters},
    VOLUME = {44},
      YEAR = {2016},
    NUMBER = {3},
     PAGES = {313--318},
      ISSN = {0167-6377},
     CODEN = {ORLED5},
   MRCLASS = {90B22 (60K30)},
  MRNUMBER = {3503106},
MRREVIEWER = {Vyacheslav M. Abramov},
       DOI = {10.1016/j.orl.2016.02.011},
       URL = {http://dx.doi.org/10.1016/j.orl.2016.02.011},
}

@parsiad parsiad released this Oct 31, 2016

Assets 2

fast-engset

Warning: This is a legacy release (for MATLAB/GNU Octave users) that is now unmaintained. Please consider using the Python version (see https://github.com/parsiad/fast-engset/releases for the latest releases), which is actively maintained.

MATLAB/GNU Octave code to compute the blocking probability P in the Engset model:

                         m                              
         binom{N - 1}{m}A                            E        
P = --------------------------    where    A = -------------.
     __ m                    X                  N - E(1 - P)   
    \        binom{N - 1}{X}A                           
    /__ X = 0                                           

N denotes the number of sources, m the number of servers, and E the offered traffic from all sources.

E is usually given by E = lambda mu, where lambda is the arrival rate of all sources and mu is the mean service time for a given request.

Warning: Certain texts use instead the normalized offered traffic, which is instead defined as E = lambda mu / N.

m = 5  % Number of servers
N = 10 % Number of sources
E = 2  % Total offered traffic from all sources

% Blocking probability
P = fast_engset(m, N, E)

Citation

If you are using this in an academic work, please cite the corresponding paper:

@article {MR3503106,
    AUTHOR = {Azimzadeh, P. and Carpenter, T.},
     TITLE = {Fast {E}ngset computation},
   JOURNAL = {Oper. Res. Lett.},
  FJOURNAL = {Operations Research Letters},
    VOLUME = {44},
      YEAR = {2016},
    NUMBER = {3},
     PAGES = {313--318},
      ISSN = {0167-6377},
     CODEN = {ORLED5},
   MRCLASS = {90B22 (60K30)},
  MRNUMBER = {3503106},
MRREVIEWER = {Vyacheslav M. Abramov},
       DOI = {10.1016/j.orl.2016.02.011},
       URL = {http://dx.doi.org/10.1016/j.orl.2016.02.011},
}