Class Qsys_mtginf

java.lang.Object
jline.api.qsys.Qsys_mtginf

public final class Qsys_mtginf extends Object
Exact time-varying analysis of the Mt/G/infinity queue.

THE RESULT IS EXACT, not an approximation. With infinitely many servers customers never interact, so the model is a Poisson random measure and the number in system at time t is POISSON with mean

  m(t) = E[ int_{t-S}^{t} lambda(u) du ] = ES E[lambda(t - Se)]
       = int_0^Inf lambda(t-x) P(S > x) dx
where Se is the STATIONARY-EXCESS (equilibrium) law of the service time, with density P(S>x)/ES. Because the law is Poisson the variance equals the mean.

THE PHYSICS. Reading m(t) as ES E[lambda(t-Se)] says the time-varying load is the stationary load ES lambda(t) subjected to a TIME LAG and a SPACE SHIFT: to first order m(t) ~ ES lambda(t - E[Se]) with E[Se] = E[S^2]/(2 ES), so peak congestion LAGS peak arrival rate, and by more than the mean service time when the service law is variable. The pointwise stationary approximation ES lambda(t) is the zeroth-order term of the same expansion.

Port of MATLAB qsys_mtginf.m.

Reference: S. G. Eick, W. A. Massey, W. Whitt (1993). The physics of the Mt/G/infinity queue. Operations Research 41(4), 731-742.

Since:
LINE 3.1.0
  • Field Details

    • DEFAULT_TOL

      public static final double DEFAULT_TOL
      Service-tail cut for the age integral.
      See Also:
    • DEFAULT_PANELS

      public static final int DEFAULT_PANELS
      Simpson panels for the age integral.
      See Also:
  • Method Details

    • qsys_mtginf

      public static QsysMtginfResult qsys_mtginf(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, double[] tvals)
      The queue with an infinite past and the departure rate by flow balance.
      Parameters:
      lambdaFun - the arrival rate; must accept arguments in the past
      serviceCcdf - G^c(x) = P(S > x)
      ES - the mean service time
      tvals - the times at which to evaluate
      Returns:
      the time-varying measures
    • qsys_mtginf

      public static QsysMtginfResult qsys_mtginf(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, double[] tvals, double startTime, double ES2, DoubleUnaryOperator servicePdf, double tol, int panels, double maxAge)
      Parameters:
      lambdaFun - the arrival rate
      serviceCcdf - G^c(x) = P(S > x)
      ES - the mean service time
      tvals - the times at which to evaluate
      startTime - time the system started empty; -Inf assumes an infinite past
      ES2 - the second moment of the service time, NaN to skip the lag
      servicePdf - the service density for the exact departure rate, or null
      tol - service-tail cut for the age integral
      panels - Simpson panels for that integral
      maxAge - cap on the age integrated over
      Returns:
      the time-varying measures