Class Qsys_mtgs0_mol
THE ONE IDEA. A stationary loss system with offered load a blocks with probability B(s,a). In a time-varying system the question is WHICH LOAD goes into that formula. PSA uses the instantaneous one, lambda(t)E[S]. MOL uses the offered load of the corresponding INFINITE-SERVER system, m(t) = int_0^Inf lambda(t-x)P(S>x)dx, which is EXACT there and therefore carries the time lag and the smoothing the finite-server system also has. The difference between the two is precisely the lag: PSA peaks when the arrival rate peaks, MOL peaks later, and the real system peaks later too.
WHAT TO EXPECT. Against the exact time-varying birth-death chain on a sinusoidal rate, MOL cuts the mean RELATIVE error roughly threefold (0.13 against 0.44 at s = 100); it does not always win on ABSOLUTE error, which is dominated by the peak of the cycle. Under constant input MOL is exact.
Port of MATLAB qsys_mtgs0_mol.m.
Reference: W. A. Massey, W. Whitt (1994). An analysis of the modified offered load approximation for the nonstationary Erlang loss model. Annals of Applied Probability 4(4), 1145-1160; W. Whitt (1991). Management Science 37(3), 307-314.
- Since:
- LINE 3.1.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic doubleerlangB(int s, double a) Erlang B by the recursion B_j = a B_(j-1)/(j + a B_(j-1)), which never forms a^s/s! and so never overflows.static doubleerlangC(int s, double a) Erlang C from the same recursion; 1 when the load saturates the servers.qsys_mtgs0_mol(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, int s, double[] tvals, double startTime, boolean delay)
-
Method Details
-
erlangB
public static double erlangB(int s, double a) Erlang B by the recursion B_j = a B_(j-1)/(j + a B_(j-1)), which never forms a^s/s! and so never overflows.- Parameters:
s- number of serversa- offered load in erlangs- Returns:
- the probability that all servers are busy
-
erlangC
public static double erlangC(int s, double a) Erlang C from the same recursion; 1 when the load saturates the servers.- Parameters:
s- number of serversa- offered load in erlangs- Returns:
- the probability that an arrival waits
-
qsys_mtgs0_mol
public static Map<String,double[]> qsys_mtgs0_mol(DoubleUnaryOperator lambdaFun, DoubleUnaryOperator serviceCcdf, double ES, int s, double[] tvals, double startTime, boolean delay) - Parameters:
lambdaFun- the arrival rateserviceCcdf- G^c(x) = P(S > x)ES- the mean service times- number of serverstvals- times at which to evaluatestartTime- time the system started empty; -Inf assumes an infinite pastdelay- use Erlang C rather than Erlang B- Returns:
- map with times, offeredLoad, instantLoad, probBlockMOL, probBlockPSA, meanBusyMOL and arrivalRate, all double[]
-