![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Maximum-entropy algorithm for open multiclass queueing networks. More...
#include <cstddef>#include <vector>#include "line/api/me/me_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.
Namespaces | |
| namespace | line |
| namespace | line::me |
Functions | |
| template<class T> | |
| MeResult< T > | line::me::me_oqn (std::size_t M, std::size_t R, const Matrix< T > &lambda0, const Matrix< T > &Ca0, const Matrix< T > &mu, const Matrix< T > &Cs, const std::vector< Matrix< T > > &P, const std::vector< long > &c, const std::vector< char > &insens, const MeOptions &opt=MeOptions()) |
| Maximum-entropy algorithm for open multiclass queueing networks. | |
Maximum-entropy algorithm for open multiclass queueing networks.
Templated port of matlab/src/api/me/me_oqn.m, cross-checked against jar/src/main/java/jline/api/nc/Me_oqn.java. Implements Kouvatsos (1994) Section 3.2 with the GE/GE/c building block of eq. (3.9) and the GE/GE/inf block, i.e. a GE-type decomposition fixed point:
DIVERGENCE from the references on unstable input: MATLAB raises a warning and returns L = Inf at any finite-server station with total utilization >= 1, and continues to iterate the scvs on top of that. This port raises NumericError instead: the templated backends have no infinity (and no warning channel), and an Inf queue length propagated into me_mqn's inflation step would silently poison the open-class results.
ARITHMETIC: a tolerance-stopped fixed point. static_assert(num_traits<T>::has_transcendental)
Definition in file me_oqn.h.