![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Myskja's third-moment approximation of the mean response time of a G/I/G/1 queue. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::qsys |
Functions | |
| template<class T> | |
| QsysResult< T > | line::qsys::qsys_gig1_approx_myskja (const T &lambda, const T &mu, const T &ca, const T &cs, const T &q0, const T &qa) |
| Myskja's third-moment approximation of the mean response time of a G/I/G/1 queue. | |
Myskja's third-moment approximation of the mean response time of a G/I/G/1 queue.
Templated port of matlab/src/api/qsys/qsys_gig1_approx_myskja.m.
Wq = rho/(2 mu (1-rho)) [ (1+cs^2) + (q0/qa)^(1/rho-rho) (1/rho) (ca^2-1) ] W = Wq + 1/mu
exact for M/G/1 (ca = 1), where the bracket collapses to 1 + cs^2. Here qa is the third relative moment E[A^3]/(6 E[A]^3) of the interarrival time and q0 its smallest value for the given mean and SCV, so q0/qa <= 1 and the correction term is a genuine interpolation in the third moment.
ARITHMETIC. The exponent 1/rho - rho is a real number, so (q0/qa)^(1/rho-rho) is a transcendental evaluation and the function is gated accordingly.
MATLAB-vs-JAR. jline.api.qsys.Qsys_gig1_approx_myskja writes (1+cs) and (ca-1) where MATLAB writes (1+cs^2) and (ca^2-1), i.e. the JAR reads its ca/cs arguments as squared coefficients of variation while MATLAB reads them as coefficients of variation. The two therefore disagree for every input with ca != 1 or cs != 1. This port follows MATLAB, which is consistent with the rest of the qsys_gig1_approx_* family and with the documented signature.
Definition in file qsys_gig1_approx_myskja.h.