![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Kerola's multiclass composite bound (Perf. More...
#include <cstddef>#include <vector>#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::pfqn::McubBounds< T > |
| Return value of pfqn_mcub, mirroring [Xub, Xlb]. More... | |
Namespaces | |
| namespace | line |
| namespace | line::pfqn |
Functions | |
| template<class T> | |
| McubBounds< T > | line::pfqn::pfqn_mcub (const Matrix< T > &L, const std::vector< T > &N, const std::vector< T > &Z) |
| Kerola's multiclass composite bound (Perf. | |
| template<class T> | |
| McubBounds< T > | line::pfqn::pfqn_mcub (const Matrix< T > &L, const std::vector< T > &N) |
Kerola's multiclass composite bound (Perf.
Eval. 6:1-9, eqs. 10-16) on the per-class throughput of a closed product-form network.
Templated port of matlab/src/api/pfqn/pfqn_mcub.m. The multiclass Balanced Job Bound gives the per-class lower bound
X_r^- = N_r / (sum_k L_kr + Z_r + (Ntot - 1) max_k L_kr)
and the residual-utilization argument then gives the composite upper bound
X_r^+ = min_k [1 - sum_{s != r} X_s^- L_ks] / L_kr
at O(MR). Despite the name it has nothing to do with pfqn_cub, which is the Grundmann-Moeller cubature normalizing constant.
ARITHMETIC. Sums, products, maxima and divisions only, so the bound is EXACT in rational arithmetic and is deliberately left ungated.
Definition in file pfqn_mcub.h.