Package jline.api.sn

Class SnGdBalance

java.lang.Object
jline.api.sn.SnGdBalance

public class SnGdBalance extends Object
Whittle balance check for a globally state-dependent rate scaling.

For every state n of the lattice 0..cutoffs and every pair of stations (s,t) populated in n, the balance property requires

  phi_s(n) phi_t(n - e_s) = phi_t(n) phi_s(n - e_t).

When it holds, the chain is reversible with pi(n) ~ Phi(n) prod rho^n for the balance function Phi implied by phi, and the stationary law is insensitive to the service-time distribution beyond its mean. When it fails, the model is still solvable by SolverCTMC but has no product form and is sensitive.

Twin of MATLAB matlab/src/api/sn/sn_gd_balance.m and of python line_solver.api.sn.sn_gd_balance.

Reference: P. Whittle, "Partial balance and insensitivity", J. Appl. Prob. 22(1), 1985; T. Bonald, A. Proutiere, "Insensitivity in processor-sharing networks", Perf. Eval. 49, 2002.

  • Method Details

    • sn_gd_balance

      public static double sn_gd_balance(Function<double[],double[]> phi, int[] cutoffs)
      Worst relative violation of the balance property over the given lattice.
      Parameters:
      phi - scaling evaluated on an (nstations) population vector, returning a scalar (broadcast) or one entry per station
      cutoffs - per-station lattice bound, one entry per station
      Returns:
      the worst relative violation; 0 (to rounding) when phi is balanced