LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
infer_qmle.h File Reference

Queue-length-based maximum-likelihood estimator of the service demands of a closed queueing network. More...

#include <cstddef>
#include <vector>
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for infer_qmle.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::infer

Functions

template<class T>
Matrix< T > line::infer::infer_qmle (const Matrix< T > &Q, const std::vector< T > &N, const std::vector< T > &Z)
 Queue-length-based maximum-likelihood estimator of the service demands of a closed queueing network.

Detailed Description

Queue-length-based maximum-likelihood estimator of the service demands of a closed queueing network.

Templated port of matlab/src/api/infer/infer_qmle.m. The JAR has no counterpart: jline/api/infer/ carries the LQN identification classes only, so MATLAB is the sole reference.

From the observed mean queue lengths Q, the populations N and the think times Z, the demand of class j at station i is estimated by

D(i,j) = Q(i,j) / (N_j - sum_k Q(k,j)) * Z_j / (1 + sum_s Q(i,s) - Q(i,j)/N_j)

i.e. the arrival-theorem residence time inverted for the demand, with the think-time population N_j - sum_k Q(k,j) supplying the class throughput.

ARITHMETIC: additions, multiplications and divisions of the inputs only, so a finite field computation, exact in the exact instantiation.

Definition in file infer_qmle.h.