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

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"
Include dependency graph for qsys_mer1.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.

Detailed Description

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.