Package jline.api.snc

Class Snc_mean_delay

java.lang.Object
jline.api.snc.Snc_mean_delay

public final class Snc_mean_delay extends Object
Upper bound on the mean delay, from integrating the delay tail bound.

For a nonnegative delay E[D] = int_0^inf P{D>d} dd, so integrating the tail bound of Snc_bound_delay bounds the MEAN. At fixed theta the bound is K*exp(-a*d) with a = theta*rhoS and K = exp(theta*(sigmaA+sigmaS))/(1-exp(-theta*(rhoS-rhoA))), so, clipping the bound at 1 where it exceeds it, the integral is available in CLOSED FORM: (log(K)+1)/a when K >= 1 and K/a otherwise. No quadrature is involved, so the result is a bound and not a bound plus a discretization error.

IT IS A LOOSE MEAN BOUND AND THAT IS INHERENT: on the M/M/1 read in job units it returns 2.4x the exact 1/(mu-lambda) at rho = 0.1 and 10.4x at rho = 0.95, because the prefactor of the tail bound, not its decay rate, dominates an integral over the whole axis. Use Snc_perc_delay when the quantile is what matters.

Port of matlab/src/api/snc/snc_mean_delay.m. This is the entry point SolverBA calls for the snc.upper response-time column.

  • Method Details

    • snc_mean_delay

      public static SncResult snc_mean_delay(SncEnvelope arv, SncEnvelope srv)
      Parameters:
      arv - arrival envelope
      srv - service envelope
      Returns:
      the bound on E[D] and the minimizing theta
    • snc_mean_delay

      public static SncResult snc_mean_delay(SncEnvelope arv, SncEnvelope srv, double thetamax)
      Parameters:
      arv - arrival envelope
      srv - service envelope
      thetamax - upper end of the theta search
      Returns:
      the bound on E[D] and the minimizing theta