![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Birman-Kogan asymptotic evaluation of closed networks with many stations. More...
#include <algorithm>#include <cmath>#include <cstddef>#include <limits>#include <string>#include <vector>#include "line/api/pfqn/pfqn_mva.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/lu.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::pfqn::BkResult< T > |
| Return value of pfqn_bk, mirroring [G, lG, X, U, A, B]. More... | |
| struct | line::pfqn::BkLcResult< T > |
| Return value of pfqn_bklc. More... | |
Namespaces | |
| namespace | line |
| namespace | line::pfqn |
Functions | |
| template<class T> | |
| BkResult< T > | line::pfqn::pfqn_bk (const Matrix< T > &L, const std::vector< T > &N, const std::vector< T > &Z) |
| Birman-Kogan saddle point normalizing constant with bottleneck detection. | |
| double | line::pfqn::bk_erfcx (double x) |
| Scaled complementary error function exp(x^2)*erfc(x) for x >= 0. | |
| template<class T> | |
| BkResult< T > | line::pfqn::pfqn_bkue (const std::vector< T > &L, const T &N, const T &Z) |
| Birman-Kogan uniform (van der Waerden) expansion for a single chain. | |
| template<class T> | |
| BkLcResult< T > | line::pfqn::pfqn_bklc (const Matrix< T > &L, const std::vector< T > &N, const std::vector< T > &Z, const std::string &method="mva", double tol=1e-10, int maxiter=1000) |
| Birman-Kogan load concealment algorithm (Algorithm 2). | |
Birman-Kogan asymptotic evaluation of closed networks with many stations.
Templated port of matlab/src/api/pfqn/pfqn_bk.m, pfqn_bkue.m and pfqn_bklc.m. Birman and Kogan (Communications in Statistics. Stochastic Models 8(3):543-563, 1992) evaluate the multichain partition function by the saddle point method applied to the Cauchy inversion of its generating function. Three algorithms live here:
pfqn_bk Propositions 1 and 3 with Algorithm 1. Stations that serve a single chain and appear only once (the paper's dedicated single servers) stay OUTSIDE the exponent as O(1) algebraic factors, so their poles may be crossed by the saddle point; Algorithm 1 detects those chains and pins their coordinate on the pole, where the residue rather than the saddle carries the mass. The rest are the paper's large groups of identical stations and are exponentiated. pfqn_bkue The van der Waerden uniform expansion of Section 4, which keeps one dominant pole and the saddle in a single erfc formula and so stays accurate on both sides of the crossing. pfqn_bklc Algorithm 2, the load concealment reduction of a multichain network to single chain problems.
ARITHMETIC. Logarithms, an error function and a Newton iteration, so gated on num_traits<T>::has_transcendental.
Definition in file pfqn_bk.h.