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

Exact queue-length variances and covariances of a mixed open/closed product-form network with limited load dependence, the load-dependent and mixed counterpart of pfqn_sens_mva. More...

#include <cstddef>
#include <vector>
#include "line/api/pfqn/pfqn_sens_ldmx_ec.h"
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
#include "line/util/population.h"
Include dependency graph for pfqn_sens_mvaldmx.h:

Go to the source code of this file.

Classes

struct  line::pfqn::SensMvaldmxResult< T >

Namespaces

namespace  line
namespace  line::pfqn

Functions

template<class T>
SensMvaldmxResult< T > line::pfqn::pfqn_sens_mvaldmx (const std::vector< T > &lambda, const Matrix< T > &D, const std::vector< int > &N, const std::vector< T > &Z, const Matrix< T > &mu)
 Exact queue-length variances and covariances of a mixed open/closed product-form network with limited load dependence, the load-dependent and mixed counterpart of pfqn_sens_mva.

Detailed Description

Exact queue-length variances and covariances of a mixed open/closed product-form network with limited load dependence, the load-dependent and mixed counterpart of pfqn_sens_mva.

Templated port of matlab/src/api/pfqn/pfqn_sens_mvaldmx.m. Theorem 1, equation (11), of Akyildiz and Strelen states that one further factor Q_jT in a moment costs one derivative with respect to a parameter y_j scaling the demands of the classes of T at station j; taking k = 2 and T = {s} gives

Cov[n(i,r),n(j,s)] = d nbar(i,r) / dy_(j,s) |_{y=1}

which is evaluated here by forward-mode differentiation of the mixed load-dependent MVA of Bruell-Balbo-Afshari, i.e. of the recursion pfqn_mvaldmx implements. The differentiated equations are (13) for the residence times, (15)-(17) for the conditional marginals, (18) for the throughputs, (19) and (24)-(31) for the effective capacities (delegated to pfqn_sens_ldmx_ec), (32) for the closed-class queue lengths and (33) for the open-class ones.

A demand-scaling parameter perturbs the whole network through the closed-class throughputs, so the derivatives must be propagated for every parameter and the cross-station covariances come out at no extra cost; they are returned in QCovFull. That is unlike pfqn_sens_mva, whose cheaper same-station recursion cannot reach them.

Arithmetic. Field operations only, so the routine instantiates at line::Rational. The one non-field constant is the max(eps, .) floor the reference keeps on P(0) so that the base measures agree with pfqn_mvaldmx entry by entry; it is a numerical guard, not part of the model, and the derivative is the exact -sum of the derivatives, as in the reference.

Reference: I. F. Akyildiz and J. C. Strelen, "Moment Analysis for Load-Dependent Mixed Product Form Queueing Networks", IEEE Trans. Communications 39(6):828-832, 1991.

Definition in file pfqn_sens_mvaldmx.h.