![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Aggregate load-dependent rate of m identical c-server FCFS stations. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::pfqn |
Functions | |
| template<class T> | |
| std::vector< T > | line::pfqn::pfqn_mu_ms (int N, int m, int c) |
| Aggregate load-dependent rate of m identical c-server FCFS stations. | |
Aggregate load-dependent rate of m identical c-server FCFS stations.
Templated port of matlab/src/api/pfqn/pfqn_mu_ms.m.
A single c-server station holding k jobs has balance function beta_1(k) = 1 / prod_{j=1}^{k} min(j, c). The flow-equivalent aggregate of m such stations in parallel has the convolution
beta_m(n) = sum_{k=0}^{n} beta_1(k) beta_{m-1}(n - k), beta_m(0) = 1,
and the load-dependent rate of the aggregate is the ratio of consecutive balance-function values,
mu(n) = beta_m(n - 1) / beta_m(n), n = 1, ..., N.
The reference writes the inner term as 1/(prod(a) * prod(b)) with b = 1/beta_{m-1}(n-k), i.e. as beta_{m-1}(n-k)/prod_{j<=k} min(j,c), which is the convolution above; the MATLAB idiom relies on prod([]) = 1 to cover k = 0. It also fills the table with the population outermost and the station count innermost, so beta_{m-1}(n) is available at the same n; that ordering is preserved here even though the port could iterate either way.
Arithmetic: EXACT-CAPABLE. Only additions, multiplications and divisions in the field of the inputs, all of them on values built from the integers, so at T = Rational the returned rates are exact rationals.
Definition in file pfqn_mu_ms.h.