Class Qsys_mtginf
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 ES lambda(t) is the zeroth-order term of the same expansion.
Port of MATLAB qsys_mtginf.m.
Reference: S. G. Eick, W. A. Massey, W. Whitt (1993). The physics of the Mt/G/infinity queue. Operations Research 41(4), 731-742.
- Since:
- LINE 3.1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intSimpson panels for the age integral.static final doubleService-tail cut for the age integral. -
Method Summary
Modifier and TypeMethodDescriptionstatic QsysMtginfResultqsys_mtginf(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, double[] tvals) The queue with an infinite past and the departure rate by flow balance.static QsysMtginfResultqsys_mtginf(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, double[] tvals, double startTime, double ES2, DoubleUnaryOperator servicePdf, double tol, int panels, double maxAge)
-
Field Details
-
DEFAULT_TOL
public static final double DEFAULT_TOLService-tail cut for the age integral.- See Also:
-
DEFAULT_PANELS
public static final int DEFAULT_PANELSSimpson panels for the age integral.- See Also:
-
-
Method Details
-
qsys_mtginf
public static QsysMtginfResult qsys_mtginf(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, double[] tvals) The queue with an infinite past and the departure rate by flow balance.- Parameters:
lambdaFun- the arrival rate; must accept arguments in the pastserviceCcdf- G^c(x) = P(S > x)ES- the mean service timetvals- the times at which to evaluate- Returns:
- the time-varying measures
-
qsys_mtginf
public static QsysMtginfResult qsys_mtginf(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, double[] tvals, double startTime, double ES2, DoubleUnaryOperator servicePdf, double tol, int panels, double maxAge) - Parameters:
lambdaFun- the arrival rateserviceCcdf- G^c(x) = P(S > x)ES- the mean service timetvals- the times at which to evaluatestartTime- time the system started empty; -Inf assumes an infinite pastES2- the second moment of the service time, NaN to skip the lagservicePdf- the service density for the exact departure rate, or nulltol- service-tail cut for the age integralpanels- Simpson panels for that integralmaxAge- cap on the age integrated over- Returns:
- the time-varying measures
-