![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Mean queue length of a stable infinite-capacity GE/GE/c/FCFS queue. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::me |
Functions | |
| template<class T> | |
| T | line::me::me_gegec_mql (const T &lambda, const T &Ca, const T &mu, const T &Cs, long c) |
| Port of me_gegec_mql. | |
Mean queue length of a stable infinite-capacity GE/GE/c/FCFS queue.
Templated port of matlab/src/api/me/me_gegec_mql.m, the exact Maximum Entropy solution of Kouvatsos (1994), equation (3.9).
WHY IT EXISTS SEPARATELY FROM me_oqn. me_oqn.h carries a numerically identical local copy of this formula; the reference does the same and says why – me_oqn.m is compiled to a MEX file by MEXIFY, which cannot call out. This file is the one me_oqn_blk uses for the stations whose buffer is INFINITE, so a blocking network with a mix of finite and unbounded queues solves both kinds with the same coefficients.
THE GEOMETRIC TAIL IS WHY x MATTERS. The state probabilities are a product of g(1..c) up to the server count and then a geometric ratio x thereafter, so Z and the two partial sums below are the closed forms of that split: S1 covers the states with an idle server, S2 the saturated tail, whose mean needs both 1/(1-x) and x/(1-x)^2.
ARITHMETIC. The tail sums assume |x| < 1, i.e. a STABLE queue; the caller is responsible for that, exactly as in the reference. Transcendental only.
Definition in file me_gegec_mql.h.