Class Pfqn_sens_mom
-
Method Summary
Modifier and TypeMethodDescriptionstatic MatrixperClassGroups(int R) The class-to-group map that puts one class per group,1..R, which yields genuinely per-class moments (Akyildiz-Strelen Theorem 1 with T = {r}).static Ret.pfqnSensMompfqn_sens_mom(Matrix L, Matrix N) static Ret.pfqnSensMompfqn_sens_mom(Matrix L, Matrix N, Matrix Z) static Ret.pfqnSensMompfqn_sens_mom(Matrix L, Matrix N, Matrix Z, Matrix mi) The per-station totals, i.e.static Ret.pfqnSensMomExact moments E[Q_i], E[Q_i^2], E[Q_i^3] and the covariances Cov[Q_i,Q_j] of the TOTAL queue lengths Q_i = sum_r n(i,r) of a closed product-form (BCMP) queueing network.
-
Method Details
-
pfqn_sens_mom
Exact moments E[Q_i], E[Q_i^2], E[Q_i^3] and the covariances Cov[Q_i,Q_j] of the TOTAL queue lengths Q_i = sum_r n(i,r) of a closed product-form (BCMP) queueing network.The method is the moment analysis of Strelen. Its Theorem 3.1 states that one further factor Q_i in a moment costs one differentiation with respect to x_i, the reciprocal of the capacity of station i, i.e. a parameter that scales the service times of ALL classes at station i:
E[Q_i^j] = m_i E[Q_i^(j-1)] + x_i d/dx_i E[Q_i^(j-1)], Q_i^0 = 1
Iterating from E[Q_i^0] = 1 gives, with m_i = E[Q_i] (equation (3.2)):
Var[Q_i] = x_i dm_i/dx_i Cov[Q_i,Q_j] = x_j dm_i/dx_j = x_i dm_j/dx_i E[Q_i^2] = x_i dm_i/dx_i + m_i^2 E[Q_i^3] = x_i^2 d^2m_i/dx_i^2 + (x_i + 3 x_i m_i) dm_i/dx_i + m_i^3
so the third moment requires the SECOND derivative of the MVA recursion, which is what this routine adds over
Pfqn_sens_mvaandPfqn_sens(both first order only). The derivatives are obtained by second-order forward-mode differentiation of the Reiser-Lavenberg recursion, i.e. by carrying, for each parameter, the value together with its first and second derivative along the population lattice (Theorem 3.2 for one class, Theorem 3.5 for several).The parameter need not scale a whole column. Theorem 1 of Akyildiz and Strelen states the same recursion for a parameter that scales the service times of an arbitrary class subset T at station i, and the moments it generates are then those of Q_(i,T) = sum_(r in T) n(i,r).
groupssupplies that subset structure: it partitions the classes, and the routine reports the moments of each group's queue length at each station. The three useful settings aregroups = ones(1,R)-- the whole column: per-station TOTALS (the default, and Strelen's x_i);groups = 1..R-- one class per group: PER-CLASS moments, so that even the third moment is per class (seeperClassGroups(int));groups = chain(r)-- one group per chain: PER-CHAIN moments.
Strelen states only the first; the generalization is Akyildiz and Strelen's T. The per-class setting reproduces
Pfqn_sens_mva'sQVarexactly, and brute-force enumeration of the per-class moments including the third.Reference: J. C. Strelen, "Moment Analysis for Closed Queuing Networks and its Linearizer", Performance Evaluation 11:127-142, 1990, Theorems 2.1, 3.1, 3.2, 3.5 and equation (3.2); 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, Theorem 1.
Restricted to closed populations, as is the moment analysis of the reference. Mixed and load-dependent second moments are in
Pfqn_sens_mvaldmx. Moments of the sojourn times at FCFS centers are built on top of these queue-length moments byPfqn_sens_respt, following Theorem 4.1. The exact recursion costs O(prod(N+1)) lattice points;Pfqn_sens_linearizerapproximates the same quantities in polynomial time.- Parameters:
L- service demand matrix (M x R), L(i,r) = visits_ir / rate_irN- population vector (1 x R)Z- think time vector (1 x R), null or empty for zerosmi- station server multiplicity (1 x M), null for onesgroups- class-to-group map (1 x R), a partition of the classes into G = max(groups) groups labelled consecutively 1..G with no empty group. The moments returned are those of each group's queue length at each station. Null selectsones(1,R), i.e. one group holding every class, which is the per-station total.- Returns:
- the base measures together with the exact moments of each group's queue length at each station
-
pfqn_sens_mom
The per-station totals, i.e. the default single group holding every class.- Parameters:
L- service demand matrix (M x R)N- population vector (1 x R)Z- think time vector (1 x R), null or empty for zerosmi- station server multiplicity (1 x M), null for ones- Returns:
- the base measures together with the exact moments of the total queue lengths
-
pfqn_sens_mom
-
pfqn_sens_mom
-
perClassGroups
The class-to-group map that puts one class per group,1..R, which yields genuinely per-class moments (Akyildiz-Strelen Theorem 1 with T = {r}).- Parameters:
R- the number of classes- Returns:
- a (1 x R) group map
-