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

Kimura diffusion-interpolation approximation for the G/I/G/1 queue. More...

Include dependency graph for qsys_gig1_approx_kimura.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::qsys

Functions

template<class T>
QsysResult< T > line::qsys::qsys_gig1_approx_kimura (const T &lambda, const T &mu, const T &ca, const T &cs)
 Kimura diffusion-interpolation approximation for the G/I/G/1 queue.

Detailed Description

Kimura diffusion-interpolation approximation for the G/I/G/1 queue.

Templated port of matlab/src/api/qsys/qsys_gig1_approx_kimura.m.

Wq = rho (ca^2+cs^2) / (mu (1-rho) (1+ca^2)), W = Wq + 1/mu

exact for M/M/1 and M/G/1.

DIVERGENCE: jar/src/main/java/jline/api/qsys/Qsys_gig1_approx_kimura.java computes Wq = rho*(ca+cs)/mu/(1-rho)/(1+ca), i.e. it treats its arguments as already-squared coefficients of variation and never squares them. MATLAB is ground truth and squares, so this port squares. The two implementations disagree numerically whenever ca != 1 or cs != 1.

Reference: Kimura, T. (1986). A two-moment approximation for the mean waiting time in the GI/G/s queue. Management Science 32(6), 751-763.

Pure field arithmetic, exact for T = Rational.

Definition in file qsys_gig1_approx_kimura.h.