Class Npfqn_feedback_elim

java.lang.Object
jline.api.npfqn.Npfqn_feedback_elim

public final class Npfqn_feedback_elim extends Object
Near-immediate feedback elimination for the robust queueing network analyzer.

WHY FEEDBACK BREAKS DECOMPOSITION. A parametric decomposition treats the arrival stream at each station as renewal. Feedback destroys that badly: a customer that leaves a busy station and comes straight back arrives exactly when the station is busy, so the flow is strongly correlated with the queue it feeds. The fix is not to model the correlation but to REMOVE the feedback, by folding the repeated visits into the service time:

  • effective mean service E[S]/(1-p),
  • effective service SCV p + (1-p)cs^2 (eq. 37),
  • fresh arrival rate lambda(1-p),
  • per-visit waiting time (1-p) times the wait in the modified system.

The modified system has the SAME heavy-traffic limits for queue length, workload, waiting time and external departures, so this is asymptotically exact rather than merely plausible.

NEAR-IMMEDIATE, NOT JUST IMMEDIATE. What matters is whether the customer returns WITHOUT PASSING A BUSIER STATION: a detour through a station of lower traffic intensity is fast on the time scale of the busy station. The probability computed here is the probability of returning to station i through stations of strictly smaller rho only.

Port of MATLAB npfqn_feedback_elim.m.

Reference: W. Whitt, W. You (2022). A robust queueing network analyzer based on indices of dispersion. Naval Research Logistics 69(1), 36-56.

Since:
LINE 3.1.0
  • Method Details

    • npfqn_feedback_elim

      public static Map<String,Object> npfqn_feedback_elim(Matrix P, double[] rho, double[] cs2, double[] lambda, boolean immediateOnly)
      Parameters:
      P - routing matrix, substochastic
      rho - traffic intensity of each station
      cs2 - service SCV of each station, or null
      lambda - arrival rate of each station, or null
      immediateOnly - keep only the self-loops, i.e. Section 4.1 feedback
      Returns:
      map with feedbackProb, visitInflation, modifiedScv, modifiedRates (as double[]), modifiedRouting (a Matrix) and reductionExact