Class Pfqn_amvasjn

java.lang.Object
jline.api.pfqn.mva.Pfqn_amvasjn

public final class Pfqn_amvasjn extends Object
  • Method Details

    • pfqn_amvasjn

      public static Pfqn_mvasjn.Result pfqn_amvasjn(Matrix L, Matrix N, Matrix Z, Matrix scv, int[] sjnset, Matrix V, SjnOptions options)
      Mean value analysis with shortest-job-next stations, through a Schweitzer fixed point.

      Pfqn_mvasjn carries the conditional waiting time profile W(x,n) over the whole population lattice, which costs prod(N+1) steps and rules the method out for large populations. The closure used here rests on the observation that lam_k W_k(x,n) f_k(x) dx is the mean number of queued class-k customers whose service requirement lies in (x, x+dx), that is, the queue length resolved by job size. Schweitzer's assumption is applied to that density rather than to its integral: removing one customer of class r scales the class-r size-resolved queue length by (N_r-1)/N_r and leaves the other classes unchanged. Integrating over x recovers the usual Schweitzer rule for the aggregate queue lengths, so the closure is the exact analogue of the one applied at the ordinary stations.

      Cost per iteration is O(M R ns) against the prod(N+1) M R ns of the exact recursion. What is given up is the population dependence of the SHAPE of W(x): the closure lets its level scale but keeps its shape fixed, whereas the true profile stiffens with the load because the denominator 1 - sum_k lam_k theta_k(x) sharpens. The error therefore concentrates at high utilization, where the SJN approximation is already at its weakest.

      The iteration is started from the product-form Schweitzer solution, not from a light-load guess: the latter puts the deflated utilization above one, where the response time equation has no solution.

      Parameters:
      L - service demand matrix (M x R) of the queueing stations
      N - population vector (1 x R)
      Z - think time vector (1 x R), may be null
      scv - squared coefficients of variation of the service times (M x R), may be null
      sjnset - zero-based indices of the stations scheduling by SJN, may be null
      V - visit ratios (M x R), so that the per-visit service time is L./V, may be null
      options - grid, priority, tolerance and cap options, may be null
      Returns:
      mean performance measures and the converged conditional waiting time profiles