![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Chow Second Approximation (SA) approximate MVA. More...
#include <cmath>#include <cstddef>#include <limits>#include <vector>#include "line/api/pfqn/pfqn_bs.h"#include "line/api/pfqn/pfqn_lcp.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::pfqn |
Enumerations | |
| enum class | line::pfqn::ChowVariant { line::pfqn::Forward , line::pfqn::Backward } |
| Which finite difference of the LCP solution estimates the theta-terms. More... | |
Functions | |
| template<class T> | |
| AmvaResult< T > | line::pfqn::pfqn_chow (const Matrix< T > &L, const std::vector< T > &N, const std::vector< T > &Z, const std::vector< AmvaSched > &type, double tol=1e-6, std::size_t maxiter=1000, const Matrix< T > &QN0=Matrix< T >(), ChowVariant variant=ChowVariant::Forward) |
| Chow Second Approximation (SA) approximate MVA. | |
| template<class T> | |
| AmvaResult< T > | line::pfqn::pfqn_chow (const Matrix< T > &L, const std::vector< T > &N, const std::vector< T > &Z) |
| template<class T> | |
| AmvaResult< T > | line::pfqn::pfqn_chow (const Matrix< T > &L, const std::vector< T > &N) |
Chow Second Approximation (SA) approximate MVA.
Templated port of matlab/src/api/pfqn/pfqn_chow.m, cross-checked against jar/src/main/java/jline/api/pfqn/mva/Pfqn_chow.java. W.-M. Chow, "Approximations for large scale closed queueing networks", Perform. Eval. 3(1), 1983. The arrival-instant queue length is written exactly as
A_k^(c)(N) = Q_k(N - 1_c) = Q_k(N) (1 + theta_ck), theta_ck = [Q_k(N - 1_c) - Q_k(N)] / Q_k(N),
and the theta-terms are estimated ONCE, off the Bard LCP solution, before the fixed point is run. Two estimators are given: the BACKWARD one uses Qhat(N - 1_c), the FORWARD one Qhat(N + 1_c). Chow reports the forward form to be the more accurate of the two, so it is the default here. Setting every theta to zero recovers pfqn_lcp.
Arithmetic: as pfqn_lcp, field operations only, with the same stopping-rule caveat.
Definition in file pfqn_chow.h.