![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Feasibility predicate for a Markov-modulated deterministic process. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::mam |
Functions | |
| template<class T> | |
| bool | line::mam::mmdp_isfeasible (const Matrix< T > &Q, const Matrix< T > &R, const T &tol) |
| True when (Q, R) is a valid MMDP pair up to the given tolerance. | |
| template<class T> | |
| bool | line::mam::mmdp_isfeasible (const Matrix< T > &Q, const Matrix< T > &R) |
| mmdp_isfeasible with the MATLAB tolerance, 1e-10. | |
Feasibility predicate for a Markov-modulated deterministic process.
Templated port of matlab/src/api/mam/mmdp_isfeasible.m. An MMDP is the pair (Q, R) with Q the generator of the modulating chain and R the diagonal matrix of the deterministic service (or inter-arrival) times attached to each modulating state. The pair is feasible when
ARITHMETIC. The predicate is a finite set of sign and sum comparisons, so it instantiates at every arithmetic including Rational. The tolerance is an explicit argument rather than a hard-wired 1e-10, so the exact instantiation can be given tol = 0 and then rejects any deviation however small, which is the right check for an algebraically assembled pair; the MATLAB default of 1e-10 is what the tolerant overload supplies, and it is the right check for the output of a fit.
Definition in file mmdp_isfeasible.h.