![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Mean waiting times in polling systems: 1-limited and decrementing service. More...
#include <cstddef>#include <limits>#include <vector>#include "line/num/number.h"#include "line/util/error.h"Go to the source code of this file.
Classes | |
| struct | line::polling::PollingMoments< T > |
| Per-queue first two moments of the arrival, service and switchover processes, the reduced form both formulas consume. More... | |
Namespaces | |
| namespace | line |
| namespace | line::polling |
Functions | |
| template<class T> | |
| std::vector< T > | line::polling::polling_qsys_1limited (const PollingMoments< T > &m) |
| 1-limited polling: one job served per visit. | |
| template<class T> | |
| std::vector< T > | line::polling::polling_qsys_decrementing (const PollingMoments< T > &m) |
| Decrementing service, symmetric systems only (the MATLAB version rejects asymmetric parameters with a 1e-6 relative tolerance; here the check is exact, which is the right test in an exact field and a stricter one in double). | |
Mean waiting times in polling systems: 1-limited and decrementing service.
Templated port of matlab/src/api/polling/polling_qsys_1limited.m and polling_qsys_decrementing.m. The MATLAB versions take MAP descriptors and reduce them to the first two moments of the arrival, service and switchover processes; this port takes those moments directly, so the MAP reduction stays in line::mam (map_lambda, map_mean, map_moment, map_var) and the waiting-time formula is a pure rational function of the moments. Callers holding MAPs compose the two.
Both formulas stay in the field, so a polling system with rational parameters has an exactly representable mean waiting time. Worth having: the denominator 1 - rho - lambda R vanishes at the stability boundary, and near it a rounded evaluation can return a finite but meaningless number where the exact one shows the pole.
Definition in file polling_qsys_1limited.h.