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

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

Detailed Description

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.