![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Exact analysis of the M/Er/1 queue (Erlang-r service of total rate mu/r per phase-sum, i.e. More...
#include <algorithm>#include <cmath>#include <complex>#include <cstdio>#include <functional>#include <vector>#include "line/api/qsys/qsys_mg1.h"#include "line/api/qsys/qsys_mg1_ps.h"#include "line/api/qsys/qsys_res.h"#include "line/util/error.h"Go to the source code of this file.
Classes | |
| struct | line::qsys::Mer1Result |
| The M/Er/1 res: the real measures plus the complex roots and coeffs. More... | |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::qsys |
Functions | |
| Mer1Result | line::qsys::qsys_mer1 (double lambda, double mu, unsigned r, const QsysResOptions &o=QsysResOptions()) |
| Exact M/Er/1 queue. | |
Exact analysis of the M/Er/1 queue (Erlang-r service of total rate mu/r per phase-sum, i.e.
each phase has rate mu).
Port of matlab/src/api/qsys/qsys_mer1.m. The number of phases of work in the system has the distribution p_n = sum_k c_k x_k^n, where x_1..x_r are the roots inside the unit disk of mu x^{r+1} - (lambda + mu) x^r + lambda and c_k = (1 - rho) / prod_{j != k} (1 - x_j / x_k). The number of customers groups the phases in blocks of r. The waiting time is a mixture of exponentials and the sojourn time a mixture of Erlangs.
The roots and coefficients are complex: they are returned beside res (MATLAB's res.roots and res.coeffs), which holds the real measures.
ARITHMETIC: double, as the reference.
Definition in file qsys_mer1.h.