Class Qsys_mm1_dps

java.lang.Object
jline.api.qsys.Qsys_mm1_dps

public final class Qsys_mm1_dps extends Object
  • Method Details

    • qsys_mm1_dps

      public static Matrix qsys_mm1_dps(Matrix lambda, Matrix mu, Matrix w)
      Solves the M/M/1-DPS queue exactly on a truncated state space, with the MATLAB defaults tol=1e-10 and maxCutoff=2048. The chain lives on the per-class population vector (n_1..n_K) with arrival rates lambda_k and class-k completion rate mu_k * n_k * w_k / sum_j n_j * w_j. The truncation level starts from the geometric tail bound and doubles until the per-class mean counts are stable, so conservation of the M/M/1 total holds for equal service rates by construction.
      Parameters:
      lambda - per-class Poisson arrival rates (1,K)
      mu - per-class exponential service rates (1,K)
      w - per-class DPS weights (1,K), positive
      Returns:
      per-class mean response times (1,K) via Little's law
    • qsys_mm1_dps

      public static HashMap<String,Object> qsys_mm1_dps(Matrix lambda, Matrix mu, Matrix w, double tol, int maxCutoff)
      Solves the M/M/1-DPS queue exactly on a truncated state space. Port of MATLAB qsys_mm1_dps: the truncation level starts at max(16, ceil(log(tol)/log(rho))) (capped at maxCutoff) and is doubled, up to maxCutoff, until the per-class mean counts change by less than tol. Each truncated chain is solved directly (sparse linear system).
      Parameters:
      lambda - per-class Poisson arrival rates (1,K)
      mu - per-class exponential service rates (1,K)
      w - per-class DPS weights (1,K), positive
      tol - convergence tolerance on the mean counts (default 1e-10 if NaN or <=0)
      maxCutoff - hard bound on the truncation level (default 2048 if <=0)
      Returns:
      HashMap containing T (Matrix 1xK, per-class mean response times via Little's law) and rho (Double, total utilization sum_k lambda(k)/mu(k))