Class Pas_swap2order

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

public final class Pas_swap2order extends Object
Derive the GLOBAL placement-order DAG H of a closed two-station pass-and-swap (Pinvalid input: '&S') tandem 1->2->1 directly from its swap graph, for use with Pfqn_pas_is.

With a non-empty swap graph the ordered-state chain is reducible (Comte and Dorsman, 2021): the recurrent communicating class is the set of splits of the orderings that are the linear extensions of a single placement partial order. Pfqn_pas_is samples those orderings from H, so it needs exactly this global order. The order is a class-level property (multiplicity independent), extracted from the single-job-per-class instance: enumerate the reachable communicating class from the all-in-queue-1 initial state; each reachable state (l1;l2) exposes the full ordering c = [l1, reverse(l2)] in D; then H[i][j] = 1 iff class i precedes class j in EVERY c in D (forced precedence).

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

  • Method Details

    • pas_swap2order

      public static int[][] pas_swap2order(Matrix G1, Matrix G2, SerializableFunction<Matrix,Double> svc1, SerializableFunction<Matrix,Double> svc2, int[] N0)
      Parameters:
      G1 - swap graph of queue 1 (R x R, 0-based; G(a,b) != 0 means a chases b). Null treated as all-zero.
      G2 - swap graph of queue 2.
      svc1 - ordered-list service rate function of queue 1.
      svc2 - ordered-list service rate function of queue 2.
      N0 - minimal probing population (typically ones(1,R)).
      Returns:
      (R x R) global placement-order DAG H; H[i][j]=1 iff i precedes j.