Class Pfqn_rgfmc

java.lang.Object
jline.api.pfqn.nc.Pfqn_rgfmc

public final class Pfqn_rgfmc extends Object
Harrison and Coury, "On the asymptotic behaviour of closed multiclass queueing networks", Perf. Eval. 47:131-138, 2002, Thm 1, as algorithmised by Harrison and Lee, "A new recursive algorithm for computing generating functions in closed multi-class queueing networks", IEEE MASCOTS 2004, eqs. (4)-(5).

THINK TIMES ARE NOT IN EITHER PAPER. Both write the generating function as the RATIONAL prod_i (1 - rho_i z)^-m_i, every node a load-independent single server. An infinite server multiplies it by the ENTIRE exp(sum_r Z_r z_r), which breaks the step Thm 1 rests on: G_n(z') = -sum_i r_i holds only because the residues of n(z)/d(z) sum to zero when deg d >= deg n + 2 (Bertozzi and McKenna, SIAM Review 35(2):239-268, 1993, fact (IV), p. 246), and an exponential numerator does not decay at infinity. The delay is therefore carried by their own repair, eqs. (3.19)-(3.21): only the first k_r+1 Taylor coefficients of exp(Z_r z_r) can reach the coefficient of z_r^k_r, so replacing the exponential by that polynomial is EXACT and leaves a rational integrand. The price is that the eliminated class's population re-enters the term count, which is the population-insensitivity Harrison-Lee Sec. 4 advertises; the class kept for the base case pays nothing.

The elimination is exact in exact arithmetic but is an ALTERNATING sum over residues, so near-coincident loads over an eliminated class destroy significance. The worst cancellation ratio is tracked and the routine REFUSES past maxcancel rather than returning a confidently wrong lG.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    Normalizing constant and its logarithm.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    Default nats of cancellation tolerated before refusing.
    static final int
    Default cap on residue terms carried between eliminations.
    static final double
    Default relative tolerance for calling two affine forms proportional.
  • Method Summary

    Modifier and Type
    Method
    Description
    pfqn_rgfmc(Matrix L, double[] N, double[] Z)
    Exact multiclass normalizing constant by recursion on generating functions.
    pfqn_rgfmc(Matrix L, double[] N, double[] Z, double tol, int maxterms, double maxcancel)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEF_TOL

      public static final double DEF_TOL
      Default relative tolerance for calling two affine forms proportional.
      See Also:
    • DEF_MAXTERMS

      public static final int DEF_MAXTERMS
      Default cap on residue terms carried between eliminations.
      See Also:
    • DEF_MAXCANCEL

      public static final double DEF_MAXCANCEL
      Default nats of cancellation tolerated before refusing.
      See Also:
  • Method Details

    • pfqn_rgfmc

      public static Pfqn_rgfmc.Result pfqn_rgfmc(Matrix L, double[] N, double[] Z)
      Exact multiclass normalizing constant by recursion on generating functions.
      Parameters:
      L - service demand matrix (M x R)
      N - population vector (R), nonnegative integers
      Z - think time vector (R)
      Returns:
      the normalizing constant and its logarithm
    • pfqn_rgfmc

      public static Pfqn_rgfmc.Result pfqn_rgfmc(Matrix L, double[] N, double[] Z, double tol, int maxterms, double maxcancel)
      Parameters:
      L - service demand matrix (M x R)
      N - population vector (R), nonnegative integers
      Z - think time vector (R)
      tol - relative tolerance for calling two affine forms proportional
      maxterms - cap on residue terms carried between eliminations
      maxcancel - nats of cancellation tolerated before refusing
      Returns:
      the normalizing constant and its logarithm