LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
qsys_mm1k_loss.h File Reference

Blocking probability of the M/M/1/K queue. More...

Include dependency graph for qsys_mm1k_loss.h:

Go to the source code of this file.

Classes

struct  line::qsys::Mm1kLossResult< T >

Namespaces

namespace  line
namespace  line::qsys

Functions

template<class T>
Mm1kLossResult< T > line::qsys::qsys_mm1k_loss (const T &lambda, const T &mu, unsigned K)
 Blocking probability of the M/M/1/K queue.

Detailed Description

Blocking probability of the M/M/1/K queue.

Templated port of matlab/src/api/qsys/qsys_mm1k_loss.m, cross-checked against jar/src/main/java/jline/api/qsys/Qsys_mm1k_loss.java (identical).

rho = lambda/mu Ploss = (1-rho)/(1-rho^(K+1)) * rho^K

Only integer powers appear, so this is exact for T = Rational. It is the closed form the Niu-Cooper transform-free M/G/1/K analysis collapses onto when the service is exponential, and qsys_mg1k_loss must reproduce it.

The formula has a removable singularity at rho = 1, where the true value is 1/(K+1). MATLAB divides by zero and returns NaN there; the port raises instead, since in an exact field the quotient has no value at all.

Definition in file qsys_mm1k_loss.h.