![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Whitt's approximation of the G/G/1 mean response time. More...
#include <cmath>#include <limits>#include "line/api/qsys/qsys_types.h"#include "line/num/number.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_whitt (const T &lambda, const T &mu, const T &ca, const T &cs) |
| Whitt's approximation of the G/G/1 mean response time. | |
Whitt's approximation of the G/G/1 mean response time.
Port of qsys_gig1_approx_whitt in python/line_solver/api/qsys/approximations.py. PYTHON-ONLY, and its own docstring says so: there is no qsys_gig1_approx_whitt.m.
It is the Kingman diffusion form Lq = rho^2 (ca^2 + cs^2) / (2 (1 - rho)) multiplied by a CORRECTION FACTOR phi. The correction is what distinguishes it: Kingman's form is an upper bound that is loose when the arrival stream is more regular than Poisson, and phi discounts it exactly there.
PHI IS PIECEWISE AND ONLY TWO OF ITS FOUR ARMS DO ANYTHING. With both variability parameters at or below one – the regular regime where Kingman is loosest – phi is an exponential discount in (1 - ca^2)^2. With a bursty arrival stream and regular service it is a milder discount. In the two arms where the SERVICE is bursty, cs^2 > 1, phi is exactly one and the approximation falls back to Kingman: the correction has nothing to offer there, and pretending otherwise would be an invented formula.
An unstable queue returns an infinite response time and a unit utilization rather than dividing by a non-positive 1 - rho.
ARITHMETIC: transcendental (phi is an exponential).
Definition in file qsys_gig1_approx_whitt.h.