Class Qsys_mgisrgi_whitt

java.lang.Object
jline.api.qsys.Qsys_mgisrgi_whitt

public final class Qsys_mgisrgi_whitt extends Object
Engineering solution of the call-center model M/GI/s/r+GI.

Poisson arrivals at rate lambda, iid general service times of mean 1/mu, s servers, r extra waiting spaces and iid patience times with a general distribution.

TWO APPROXIMATIONS. The general patience law is replaced by STATE-DEPENDENT Markovian abandonment: a customer who is jth from the end of a queue abandons at rate delta_j = h(j/lambda) for the patience hazard h = f/(1-F) (eq. 3.3), because such a customer has been waiting for about j/lambda; the total abandonment rate with k waiting is Delta_k = sum_{j<=k} delta_j (eq. 3.4). The general service law is replaced by an exponential of the same mean (Section 5), accurate here because with many servers and non-negligible abandonment the model behaves like a loss system, where the service law is insensitive beyond its mean. What is left is the Markovian M/M/s/r+M(n) model, solved as a birth-and-death process.

WHAT THE PATIENCE LAW CONTRIBUTES is only its hazard NEAR THE ORIGIN, not its mean and not its tail: waits are O(1/sqrt(s)) in the many-server regime, so a customer either abandons early or never.

Exact for M/M/s/r+M, which is Qsys_erlanga.

Port of MATLAB qsys_mgisrgi_whitt.m.

Reference: W. Whitt (2005). Engineering solution of a basic call-center model. Management Science 51(2), 221-235.

Since:
LINE 3.1.0
  • Field Details

    • DEFAULT_MAX_QUEUE

      public static final int DEFAULT_MAX_QUEUE
      Truncation level used when the waiting room is infinite.
      See Also:
    • DEFAULT_TOL

      public static final double DEFAULT_TOL
      Relative tail tolerance for that truncation.
      See Also:
  • Method Details

    • qsys_mgisrgi_whitt

      public static QsysAbandonResult qsys_mgisrgi_whitt(double lambda, double mu, int s, double r, Patience patience)
      Steady-state measures with no waiting-time cdfs and the default truncation.
      Parameters:
      lambda - arrival rate
      mu - service rate of one server, the reciprocal of the mean service time
      s - number of servers
      r - extra waiting spaces, Double.POSITIVE_INFINITY if unbounded
      patience - the patience law
      Returns:
      the steady-state measures
    • qsys_mgisrgi_whitt

      public static QsysAbandonResult qsys_mgisrgi_whitt(double lambda, double mu, int s, double r, Patience patience, double[] wPoints, int maxQueue, double tol, String invMethod, int invN)
      Steady-state measures, with the waiting-time cdfs when times are supplied.
      Parameters:
      lambda - arrival rate
      mu - service rate of one server
      s - number of servers
      r - extra waiting spaces, Double.POSITIVE_INFINITY if unbounded
      patience - the patience law
      wPoints - times at which to evaluate the waiting-time cdfs, or null
      maxQueue - truncation level used when r is infinite
      tol - relative tail tolerance for that truncation
      invMethod - Laplace inversion method for the cdfs
      invN - number of inversion nodes
      Returns:
      the steady-state measures