![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Exact analysis of the finite-source M/M/c/K/K (machine-repair) queue. More...
#include <algorithm>#include <cmath>#include <functional>#include <string>#include <vector>#include "line/api/qsys/qsys_res.h"#include "line/util/error.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::qsys |
Functions | |
| QsysRes | line::qsys::qsys_mmckk (double alpha, double mu, unsigned c, unsigned K, const QsysResOptions &o=QsysResOptions()) |
| Exact M/M/c/K/K finite-source queue. | |
Exact analysis of the finite-source M/M/c/K/K (machine-repair) queue.
Port of matlab/src/api/qsys/qsys_mmckk.m. K sources each operate for an Exp(alpha) time and then queue for one of c Exp(mu) servers. The number at the queue is a birth-death chain with
p_n ~ C(K, n) (alpha/mu)^n n <= c p_n ~ C(K, n) (alpha/mu)^n n!/(c! c^(n-c)) n > c,
normalized in log space. An arriving request sees Pi_n ~ (K - n) p_n (n = 0..K-1); one that finds m-1 waiting waits an Erlang(m, c mu) time, which gives the waiting and sojourn distributions in closed form.
ARITHMETIC: double (gammaln, incomplete gamma), as the reference.
Definition in file qsys_mmckk.h.