![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Blocking probability seen by ONE arrival stream of a censored GE/GE/c/K;N queue. More...
#include <algorithm>#include <cstddef>#include <vector>#include "line/num/number.h"#include "line/util/error.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::me |
Functions | |
| template<class T> | |
| T | line::me::me_gegecn_pb (const std::vector< T > &p, long K, long N, long c, const T &Cs, const T &Ca) |
| Port of me_gegecn_pb. | |
Blocking probability seen by ONE arrival stream of a censored GE/GE/c/K;N queue.
Templated port of matlab/src/api/me/me_gegecn_pb.m, equation (4.3) of Kouvatsos (1994), evaluated on the queue-length distribution me_gegecn returns.
WHY AN ARRIVAL CAN BE BLOCKED WITH ROOM TO SPARE. A GE arrival process is a BATCH process, so a batch arriving to a queue holding n < N jobs can still overflow the residual room. (1-tau)^(N-n) is the probability that it does, and the first sum carries an extra factor for the servers still idle. With a Poisson stream (Ca = 1, so tau = 1) every term but n = N vanishes and this collapses to the PASTA value p(N) – which is the cheapest check that the formula is being evaluated correctly.
THE STREAM SCV IS PER STREAM, NOT PER NODE, and that is the whole point of the function existing separately. One node solution p yields a DIFFERENT blocking probability for each flow merging into the queue – the external arrivals, the flow from each upstream station, and the flow released by each holding node – which is exactly how PBe_j, PB^i_j and PB^{h_ij}_j are obtained in the transfer-blocking algorithm of Tahilramani, Manjunath and Bose (1999).
Definition in file me_gegecn_pb.h.