LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
qsys_ggingi_tga.h File Reference

Truncated Gaussian approximation (TGA-G) for the G/GI/n+GI queue. More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <functional>
#include <string>
#include "line/api/qsys/qsys_types.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for qsys_ggingi_tga.h:

Go to the source code of this file.

Classes

struct  line::qsys::QsysTgaResult< T >
 Steady-state measures of the G/GI/n+GI truncated Gaussian approximation. More...

Namespaces

namespace  line
namespace  line::qsys

Functions

template<class T>
QsysTgaResult< T > line::qsys::qsys_ggingi_tga (const T &lambda, const T &mu, unsigned n, const T &ca, const T &cs, const std::function< T(const T &)> &patienceCcdf, const std::function< T(const T &)> &patiencePdf=std::function< T(const T &)>(), const std::function< T(const T &)> &serviceCcdf=std::function< T(const T &)>())
 Truncated Gaussian approximation (TGA-G) for the G/GI/n+GI queue.

Detailed Description

Truncated Gaussian approximation (TGA-G) for the G/GI/n+GI queue.

Templated port of matlab/src/api/qsys/qsys_ggingi_tga.m, cross-checked against jar/src/main/java/jline/api/qsys/Qsys_ggingi_tga.java.

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 CLT gives a normal fluctuation of order sqrt(n) around it:

sigma_W^2 = [(ca^2-1) + (cs+1)rho] / (2 mu rho^2 f(w)) (24) sigma_X^2 = mu^2 sigma_W^2

  • lambda int_0^w F^c(u)[1 + (ca^2-1)F^c(u)] du (11) W = (w + sigma_W Z/sqrt(n))^+, Q = (nQ + sqrt(n) sigma_X Z)^+ (18)-(20)

Adding fluid and fluctuation directly can produce negative queues and 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.

ARITHMETIC. erfc, exp and quadrature: transcendental only.

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

Definition in file qsys_ggingi_tga.h.