Class Pfqn_oi_is

java.lang.Object
jline.api.pfqn.nc.Pfqn_oi_is

public final class Pfqn_oi_is extends Object
Importance-sampling (IS) estimate of the normalizing constant of a closed two-station order-independent (OI) tandem. This is Pfqn_pas_is with an EMPTY swap graph: it does not restrict the sampled orderings to a pass-and-swap communicating class but samples over ALL microstates (every ordering of the present jobs is feasible), thereby recovering the plain OI normalizing constant of pfqn_ncoi (which it estimates by Monte Carlo rather than exact balanced-fairness convolution).

Two OI stations (1 = upstream, 2 = downstream) hold all N jobs (no delay). Writing Phi_m for the balanced-fairness balance function of station m, G = sum_{c in D} sum_{k=0..ell} Phi_1(c_{1..k}) Phi_2(c_{ell..k+1}), with the ordered product Phi_m(q) = prod_p 1/mu_m(n(q_{1..p})), n(.) the per-class COUNT vector of the prefix. Orderings c are drawn by placing, at each step, a uniformly random present class; xi = number of class-r jobs in the prefix yields the class-r mean queue length at station 1 (auto-normalized IS).

Port of matlab/src/api/pfqn/pfqn_oi_is.m.

  • Method Details

    • pfqn_oi_is

      public static Pfqn_oi_is.Result pfqn_oi_is(int[] N, List<ToDoubleFunction<int[]>> mu, long nsamples, long seed, boolean verbose)
      Parameters:
      N - (1 x R) closed population vector (the macrostate), finite.
      mu - list of exactly two OI rank-rate handles; mu.get(m)(n) returns the total OI rank rate of station m for the per-class occupancy (count) vector n.
      nsamples - number of IS samples (MATLAB default 1e4).
      seed - RNG seed for reproducibility.
      verbose - print progress when true.
    • pfqn_oi_is

      public static Pfqn_oi_is.Result pfqn_oi_is(int[] N, List<ToDoubleFunction<int[]>> mu, long nsamples, long seed, boolean verbose, boolean wantQlen)
      As pfqn_oi_is(int[], List, long, long, boolean), with the queue-length coefficients made optional (MATLAB options.qlen). False estimates ONLY G: the prefix-count coefficients are not accumulated and Q comes back zero. The ordering is drawn from the same stream either way, so G is unchanged.
    • pfqn_oi_is

      public static Pfqn_oi_is.Result pfqn_oi_is(int[] N, List<ToDoubleFunction<int[]>> mu, long seed)
      MATLAB defaults: 1e4 samples, queue lengths estimated, not verbose.