![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Exact raw moments E[W^t], t = 1..3, of the sojourn time of a job at an FCFS b-server center of a closed product-form network. More...
#include <cmath>#include <cstddef>#include <vector>#include "line/api/pfqn/pfqn_sens_mva.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"#include "line/util/population.h"Go to the source code of this file.
Classes | |
| struct | line::pfqn::SensResptResult< T > |
Namespaces | |
| namespace | line |
| namespace | line::pfqn |
Functions | |
| template<class T> | |
| SensResptResult< T > | line::pfqn::pfqn_sens_respt (const std::vector< T > &S, const Matrix< T > &V, const std::vector< int > &N, const std::vector< T > &Z, const std::vector< int > &b, int tmax) |
| Exact raw moments E[W^t], t = 1..3, of the sojourn time of a job at an FCFS b-server center of a closed product-form network. | |
| template<class T> | |
| SensResptResult< T > | line::pfqn::pfqn_sens_respt (const std::vector< T > &S, const Matrix< T > &V, const std::vector< int > &N, const std::vector< T > &Z) |
| pfqn_sens_respt with single servers and moments up to order three. | |
Exact raw moments E[W^t], t = 1..3, of the sojourn time of a job at an FCFS b-server center of a closed product-form network.
Templated port of matlab/src/api/pfqn/pfqn_sens_respt.m, Theorem 4.1 of Strelen (Performance Evaluation 11:127-142, 1990). By the arrival theorem a class-l job finds j jobs at center i with probability p_i(j, N - e_l); conditioning on j and inverting the Laplace transform of the conditional density gives equation (4.5),
E[W_(i,l)^t] = t!/mu^t + sum_tau a_(t,tau)(0) E[Qt_i^tau]
with mu = 1/S(i), Qt_i the total queue at center i at population N - e_l and the coefficients a_(t,tau)(0) of Remark 4.3 depending only on b and mu. The moments E[Qt_i^tau] up to tau = 3 need the second derivative of the b-server recursion (4.1)-(4.2), which is carried here by a second-order forward-mode pass along the population lattice, exactly as pfqn_sens_mom does for the single-server recursion.
Only FCFS centers are covered: the reference is explicit that the sojourn-time distribution at PS and LCFS centers is in general not known. FCFS in a BCMP network requires a class-independent exponential service time, which is why the input is a per-station service time S and a separate visit matrix V rather than a demand matrix: the sojourn time is per visit, so mu = 1/S(i) must be known and cannot be recovered from L(i,l) = S(i) V(i,l).
Arithmetic. Every step is a field operation, so the moments instantiate at line::Rational and are exact rationals. The two skewnesses are the only derived quantities that leave the field (they divide by a variance to the power 1.5), so they are returned as doubles and the header carries no transcendental gate.
Definition in file pfqn_sens_respt.h.