Class Pfqn_dac

java.lang.Object
jline.api.pfqn.ld.Pfqn_dac

public final class Pfqn_dac extends Object
DAC (Distribution Analysis by Chain) method for closed product-form queueing networks with single-server fixed-rate, infinite-server and queue-dependent service centers.

Unlike MVA, RECAL or MVAC, the recursion returns the whole set of joint queue-length probabilities, which are required e.g. in availability modeling. It proceeds chain by chain over a related network in which every chain holds a single customer, a transformation that leaves the aggregate queue-length distribution unchanged. Given the distribution of a network with k-1 such chains, adding one customer of a chain with demands r gives

   c_j      = sum_{n=1..k} (n/mu_j(n)) * P_j^{k-1}(n-1)
   lambda_k = 1 / sum_j r_j c_j
   P^k(n)   = lambda_k * sum_j r_j (n_j/mu_j(n_j)) * P^{k-1}(n-e_j)
 
where lambda_k is the throughput of the customer being added and 1/c_j is the throughput of a chain visiting center j only. The recursion conserves probability mass by construction, hence it is numerically stable.

References: E. de Souza e Silva, "Distribution Analysis of Product Form Queueing Networks", UCLA Computer Science Department, CSD-870023, April 1987.

  • Method Details

    • pfqn_dac

      public static Ret.pfqnDAC pfqn_dac(Matrix L, Matrix N)
      DAC with default think times (zero) and default rates (single-server fixed rate).
      Parameters:
      L - service demand matrix (M x R)
      N - population vector (1 x R)
      Returns:
      the joint queue-length distribution and the mean measures
    • pfqn_dac

      public static Ret.pfqnDAC pfqn_dac(Matrix L, Matrix N, Matrix Z, Matrix mu)
      DAC (Distribution Analysis by Chain) for joint queue-length distributions.
      Parameters:
      L - service demand matrix (M x R)
      N - population vector (1 x R)
      Z - think time vector (1 x R), or null for zero think times. If the think times are non-zero an extra infinite-server station is appended, so that the states matrix has M+1 columns and its last column holds the think-station population.
      mu - load-dependent rate matrix (M x Nt), Nt=sum(N), or null for single-server fixed rate. Use mu(j,n)=n+1 for infinite server and mu(j,n)=min(n+1,c) for a c-server station.
      Returns:
      the joint queue-length distribution and the mean measures