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

Myskja's third-moment approximation of the mean response time of a G/I/G/1 queue. More...

Include dependency graph for qsys_gig1_approx_myskja.h:

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.

Detailed Description

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.