Class Qsys_ggisgi_fluid

java.lang.Object
jline.api.qsys.Qsys_ggisgi_fluid

public final class Qsys_ggisgi_fluid extends Object
Steady state of the G/GI/s+GI fluid model.

Scale the content by s and let s grow. Customers become quanta of fluid but their sojourns do not shrink, so the ages survive the limit: the state is the density b(x) of fluid that has been IN SERVICE for time x and the density q(x) of fluid that has been WAITING for time x. With rho = lambda/(s*mu),

  • rho <= 1: b(x) = rho G^c(x), q = 0, no wait and no abandonment;
  • rho > 1: b(x) = G^c(x), q(x) = rho F^c(x) on [0,w] and 0 beyond,

the queue boundary w solving F^c(w) = 1/rho (eq. 3.6). That one equation carries the whole overloaded regime: fluid that survives its patience for w enters service, so the surviving fraction F^c(w) must equal the fraction 1/rho the servers can absorb.

WHAT THE DISTRIBUTIONS CONTRIBUTE (Corollary 3.1): the rates and the number in service depend on G and F only through their means; the wait, the queue content and its age profile depend on F beyond its mean but on G only through its mean. Neither s nor anything about the arrival process beyond its rate appears, which is why this model says everything about the overloaded regime and nothing about the QED one.

Port of MATLAB qsys_ggisgi_fluid.m.

Reference: W. Whitt (2006). Fluid models for multiserver queues with abandonments. Operations Research 54(1), 37-54.

Since:
LINE 3.1.0
  • Field Details

    • DEFAULT_TOL

      public static final double DEFAULT_TOL
      Bisection tolerance for the queue boundary w.
      See Also:
  • Method Details

    • qsys_ggisgi_fluid

      public static QsysFluidAbandonResult qsys_ggisgi_fluid(double lambda, double mu, int s, DoubleUnaryOperator patienceCcdf)
      Steady state with the exponential service ccdf implied by mu.
      Parameters:
      lambda - arrival rate
      mu - service rate of one server
      s - number of servers
      patienceCcdf - F^c(t) = P(patience > t)
      Returns:
      the fluid steady state
    • qsys_ggisgi_fluid

      public static QsysFluidAbandonResult qsys_ggisgi_fluid(double lambda, double mu, int s, DoubleUnaryOperator patienceCcdf, DoubleUnaryOperator servingCcdf, double[] agePoints, double tol, double maxTime)
      Steady state, optionally with the two age densities.
      Parameters:
      lambda - arrival rate
      mu - service rate of one server
      s - number of servers
      patienceCcdf - F^c(t) = P(patience > t)
      servingCcdf - G^c(x) = P(service > x); null takes the exponential of rate mu
      agePoints - ages at which to return the densities, or null
      tol - bisection tolerance for w
      maxTime - largest age searched for w; NaN grows the search automatically
      Returns:
      the fluid steady state