Class Qsys_ggingi_tga

java.lang.Object
jline.api.qsys.Qsys_ggingi_tga

public final class Qsys_ggingi_tga extends Object
Truncated Gaussian approximation (TGA-G) for the G/GI/n+GI queue.

A FLUID CENTRE PLUS A GAUSSIAN FLUCTUATION, TRUNCATED. In the efficiency-driven regime (rho > 1 fixed as n grows) the fluid limit gives the centre -- every server busy, w = F^-1(1-1/rho), Q = lambda int_0^w F^c -- and the many-server central limit theorem gives a normal fluctuation of order sqrt(n) around it, with

  sigma_W^2 = [(ca^2-1) + (cs+1)rho] / (2 mu rho^2 f(w))
(eq. 24). Adding fluid and fluctuation directly can produce negative queues and negative waits, so BOTH ARE TRUNCATED at zero; that truncation is what makes the formulas usable down to moderate overload, reportedly rho > 1.02.

The three sources of variability enter separately, which is what lets the exponential-service formula be generalized: the service law appears only as the factor (cs+1)rho, which is 2rho at cs = 1.

Port of MATLAB qsys_ggingi_tga.m.

Reference: Y. Liu, W. Whitt, Y. Yu (2016). Approximations for heavily-loaded G/GI/n+GI queues. Naval Research Logistics 63(3), 187-217.

Since:
LINE 3.1.0
  • Method Details

    • qsys_ggingi_tga

      public static Map<String,Double> qsys_ggingi_tga(double lambda, double mu, int n, double ca, double cs, DoubleUnaryOperator patienceCcdf)
      Parameters:
      lambda - arrival rate
      mu - service rate of one server
      n - number of servers
      ca - coefficient of variation of the interarrival time
      cs - coefficient of variation of the service time
      patienceCcdf - F^c(x) = P(patience > x)
      Returns:
      the steady-state measures, keyed as in the MATLAB struct
    • qsys_ggingi_tga

      public static Map<String,Double> qsys_ggingi_tga(double lambda, double mu, int n, double ca, double cs, DoubleUnaryOperator patienceCcdf, DoubleUnaryOperator patiencePdf, DoubleUnaryOperator serviceCcdf)
      Parameters:
      lambda - arrival rate
      mu - service rate of one server
      n - number of servers
      ca - coefficient of variation of the interarrival time
      cs - coefficient of variation of the service time
      patienceCcdf - F^c(x) = P(patience > x)
      patiencePdf - the patience density, or null to difference the ccdf
      serviceCcdf - G^c(x), used only in the underloaded branch
      Returns:
      map with regime (1 overloaded, 0 underloaded), trafficIntensity, fluidWait, fluidQueueLength, meanWait, varWait, meanQueueLength, varQueueLength, meanNumberInService, meanNumber, probDelay, probAbandon, sigmaW and sigmaX