![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Green's independent server model of simultaneous server requests. More...
#include <cstddef>#include <vector>#include "line/api/fj/fj_harmonic.h"#include "line/api/fj/fj_types.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::fj::FJIsmGreenResult< T > |
| Everything Green's cycle decomposition produces. More... | |
Namespaces | |
| namespace | line |
| namespace | line::fj |
Functions | |
| template<class T> | |
| FJIsmGreenResult< T > | line::fj::fj_ism_green (const T &lambda, const T &mu, unsigned s, const std::vector< T > &c) |
| Green's independent server model of simultaneous server requests. | |
Green's independent server model of simultaneous server requests.
Templated port of matlab/src/api/fj/fj_ism_green.m.
A customer needs j servers at once with probability c(j) and then releases them asynchronously as each of its j tasks completes at rate mu. Servers can idle while customers wait, which is what separates the model from M/G/s, and customer service ends with the last of its tasks, so its mean is H_j/mu.
E[B] = sum_j c(j) sum_{i=0..j-1} 1/((s-i) mu)
is the interservice time, the j-th order statistic of s exponentials because all s servers are busy whenever a customer enters service in a queueing period, and
E[D] = sum_i sum_{k=1..i} [ sum_{m=0..k-1} 1/((i-m) mu) ] q(i) c(s-i+k)/p_d
the initial delay of the customer that starts one. The busy-server distribution q and the nonqueue length come from the embedded chain absorbed when a queue forms, V = (I-T)^-1. The waiting-time transform of Eq. (61) factors into the equilibrium transform of D and the Pollaczek-Khinchine transform of an M/G/1 queue with service B, so
E[W] = (1-pi0) [ E[D^2]/(2 E[D]) + lambda E[B^2]/(2 (1-lambda E[B])) ].
Eq. (65) of the survey prints the inner sum as starting at 1/(s mu) even though only i servers are busy; it is started at 1/(i mu) here, which is what the accompanying text prescribes and what makes E[D] reduce to E[B] at i = s.
Definition in file fj_ism_green.h.