Class Qsys_mmapgk1

java.lang.Object
jline.api.qsys.Qsys_mmapgk1

public final class Qsys_mmapgk1 extends Object
The MMAP[K]/G[K]/1 FCFS queue: K customer types with class-dependent GENERAL service, fed by a marked Markovian arrival process. THE METHOD, which is He's, theorem for theorem. FCFS makes the actual waiting time of a customer the WORKLOAD it finds on arrival, so everything follows from the joint transform of workload and arrival phase, f(s)_j = E[exp(-s V) 1{phase = j}], which by He's Theorem 4.1 (eq. 4.6) satisfies f(s) [ s I + D0 + sum_k Dk gk(s) ] = s v0, (*) with v0 the idle-phase vector, his y0. v0 needs NO root search: the matrix U solving U = D0 + sum_k Dk Fk(U) with Fk(U) = int exp(U t) dFk(t) is his eq. (4.4), the generator of the underlying Markov process obtained by EXCISING the busy periods, and eq. (4.5) with Theorem 4.2 give y0 Q = 0 and y0 e = 1 - rho, i.e. v0 = (1 - rho) pi_U. The same vector is what the analyticity of (*) forces, since the roots of the bracket in the closed right half plane are s = -u over the spectrum of U; the two agree to 2.5e-13, and the stationary route is taken because it needs no complex eigenvector. The per-type actual waiting time is the workload seen by a type-k arrival, biased by that type's own arrival block, his Theorem 5.1 eq. (5.1) summed over the post-arrival phase: E[exp(-s Wk)] = f(s) Dk e / lambda_k. SCOPE. He allows an arrival to be a BATCH carrying a sequence of types, and his Theorem 5.3 then multiplies the transform by prod_(i<n) f*_(h_i)(s), the service of the customers ahead of the tagged one WITHIN its own batch. This class covers the single-customer-per-arrival case, his Special case 3.3, where that product is empty, which is exactly the MMAP convention LINE carries. Reference: Qi-Ming He, "The versatility of MMAP[K] and the MMAP[K]/G[K]/1 queue", Queueing Systems 38(4):397-418, 2001.
  • Method Details

    • qsys_mmapgk1

      public static QsysMmapGk1Result qsys_mmapgk1(MatrixCell MMAP, List<Distribution> svc)
    • qsys_mmapgk1

      public static QsysMmapGk1Result qsys_mmapgk1(MatrixCell MMAP, List<Distribution> svc, Matrix wPoints, int numWMoms, double tol, int iterMax)
      Parameters:
      MMAP - LINE convention {D0, D1, D^(1), ..., D^(K)} with D1 = sum_k D^(k)
      svc - K service laws, one per marked type; they may differ in family
      wPoints - times at which to evaluate the per-type waiting time CDF, or null
      numWMoms - how many per-type waiting time moments to return
      tol - fixed point tolerance on U
      iterMax - fixed point iteration cap
      Returns:
      the per-type solution