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

Exact time-varying analysis of the Mt/G/infinity queue. More...

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

Go to the source code of this file.

Classes

struct  line::qsys::QsysMtginfResult< T >
 Time-varying measures of the Mt/G/infinity queue. More...

Namespaces

namespace  line
namespace  line::qsys

Functions

template<class T>
QsysMtginfResult< T > line::qsys::qsys_mtginf (const std::function< T(const T &)> &lambdaFun, const std::function< T(const T &)> &serviceCcdf, const T &ES, const std::vector< T > &tvals, double startTime=-std::numeric_limits< double >::infinity(), double ES2=std::numeric_limits< double >::quiet_NaN(), const std::function< T(const T &)> &servicePdf=std::function< T(const T &)>(), double tol=1e-12, std::size_t panels=4000, double maxAge=1e12)
 Exact time-varying analysis of the Mt/G/infinity queue.

Detailed Description

Exact time-varying analysis of the Mt/G/infinity queue.

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

THE RESULT IS EXACT, not an approximation. With infinitely many servers customers never interact, so the model is a Poisson random measure and the number in system at time t is POISSON with mean

m(t) = E[ int_{t-S}^{t} lambda(u) du ] = ES E[lambda(t - Se)] = int_0^Inf lambda(t-x) P(S > x) dx

where Se is the STATIONARY-EXCESS (equilibrium) law of the service time, with density P(S>x)/ES. Because the law is Poisson the variance equals the mean.

THE PHYSICS. Reading m(t) as ES E[lambda(t-Se)] says the time-varying load is the stationary load ES lambda(t) subjected to a TIME LAG and a SPACE SHIFT: to first order m(t) ~ ES lambda(t - E[Se]) with E[Se] = E[S^2]/(2 ES), so peak congestion LAGS peak arrival rate, and by more than the mean service time when the service law is variable. The pointwise stationary approximation is the zeroth-order term of the same expansion.

ARITHMETIC. The age integral is a Simpson quadrature against a tail cut, so the answer is a quadrature approximation whatever the arithmetic; the instantiation is restricted to the transcendental types.

Reference: S. G. Eick, W. A. Massey, W. Whitt (1993). The physics of the Mt/G/infinity queue. Operations Research 41(4), 731-742.

Definition in file qsys_mtginf.h.