![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Exact solution of the M/G/infinity queue. More...
Go to the source code of this file.
Classes | |
| struct | line::qsys::MginfResult< T > |
| Return value of qsys_mginf, mirroring MATLAB's [L,Lq,W,Wq,p0,pk]. More... | |
Namespaces | |
| namespace | line |
| namespace | line::qsys |
Functions | |
| template<class T> | |
| MginfResult< T > | line::qsys::qsys_mginf (const T &lambda, const T &mu) |
| Exact solution of the M/G/infinity queue. | |
| template<class T> | |
| MginfResult< T > | line::qsys::qsys_mginf (const T &lambda, const T &mu, unsigned k) |
| Exact solution of the M/G/infinity queue. | |
Exact solution of the M/G/infinity queue.
Templated port of matlab/src/api/qsys/qsys_mginf.m, cross-checked against jar/src/main/java/jline/api/qsys/Qsys_mginf.java. The JAR carries an extra cv2 argument that it never reads, and returns a HashMap rather than a tuple; the numbers are identical.
L = rho, Lq = 0, W = 1/mu, Wq = 0, p0 = exp(-rho) pk = exp(-rho) rho^k / k!
The number in system is Poisson(rho), so p0 and pk carry exp(-rho). That is a genuine transcendental: the function therefore requires num_traits<T>::has_transcendental and cannot be instantiated at exact arithmetic. L, Lq, W and Wq are field values, but they are not separable from the struct, so the whole function is gated.
Definition in file qsys_mginf.h.