Package jline.lang

Class StateDepRouting

java.lang.Object
jline.lang.StateDepRouting
All Implemented Interfaces:
Serializable

public class StateDepRouting extends Object implements Serializable
Topology and coefficients of the product-form state-dependent routing of Krzesinski (1987), "Multiclass Queueing Networks with State-Dependent Routing", Performance Evaluation 7(2):125-143, the multiclass generalization of Towsley (1980), J. ACM 27(2):323-337.

A network is split into a subnetwork Q(V,V) under SDR and its complement M-V. Q(V,V) has one entry center e and one departure center d, both outside it, and is partitioned into disjoint branches arranged in a hierarchy of nested subnetworks V_1 > V_2 > ... > V_T. Each branch has one entry center, one departure center, and may hold several centers between them.

Branch index 1 denotes the complement M-V and is unused, following the paper's own indexing so that the coefficients d_tb transcribe straight from the text. The SDR branches are numbered 2..B, that is indices 1..B-1 of the zero-based arrays here.

The same structure is carried twice: once in node indices, read by the per-state routing function, and once in station indices, read by the product-form solver. toStationIndices(jline.util.matrix.Matrix, java.util.List<java.lang.String>) performs the conversion.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    int[][]
    branch[b] holds the centers of branch b, b >= 1; branch[0] is unused.
    Branch nodes as declared; branchNodes.get(0) is null.
    double[]
    Coefficients C_t of eq.
    double[][]
    Coefficients d_tb of eq.
    int
    Departure center d of Q(V,V); may equal entry.
    Departure node as declared.
    int[]
    departureOf[b] is the departure center d(b) of branch b.
    int
    Entry center e of Q(V,V).
    Node objects as declared, kept so the structure can be re-resolved after a refresh.
    int[]
    entryOf[b] is the entry center e(b) of branch b.
    int[]
    level[b] is the unique t with B_b in V_t - V_{t+1}; level[0] is unused.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Deep copy, sharing the declared node objects.
    int
    Number of branch indices, including the unused complement index 0.
    int
    Number of levels of subnetwork nesting.
    boolean
    Structural equality, ignoring the declared node objects.
    toStationIndices(Matrix nodeToStation, List<String> nodeNames)
    Returns a copy of this structure with every center index mapped through the supplied node-to-station index vector.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • entry

      public int entry
      Entry center e of Q(V,V).
    • departure

      public int departure
      Departure center d of Q(V,V); may equal entry.
    • branch

      public int[][] branch
      branch[b] holds the centers of branch b, b >= 1; branch[0] is unused.
    • entryOf

      public int[] entryOf
      entryOf[b] is the entry center e(b) of branch b.
    • departureOf

      public int[] departureOf
      departureOf[b] is the departure center d(b) of branch b.
    • level

      public int[] level
      level[b] is the unique t with B_b in V_t - V_{t+1}; level[0] is unused.
    • C

      public double[] C
      Coefficients C_t of eq. (11), length T.
    • d

      public double[][] d
      Coefficients d_tb of eq. (11), T rows by B columns.
    • entryNode

      public transient Node entryNode
      Node objects as declared, kept so the structure can be re-resolved after a refresh.
    • departureNode

      public transient Node departureNode
      Departure node as declared.
    • branchNodes

      public transient List<List<Node>> branchNodes
      Branch nodes as declared; branchNodes.get(0) is null.
  • Constructor Details

    • StateDepRouting

      public StateDepRouting()
  • Method Details

    • getNumberOfBranches

      public int getNumberOfBranches()
      Number of branch indices, including the unused complement index 0.
    • getNumberOfLevels

      public int getNumberOfLevels()
      Number of levels of subnetwork nesting.
    • toStationIndices

      public StateDepRouting toStationIndices(Matrix nodeToStation, List<String> nodeNames)
      Returns a copy of this structure with every center index mapped through the supplied node-to-station index vector.
      Parameters:
      nodeToStation - node-to-station index vector, negative where the node is not a station
      nodeNames - node names, used only to report a center that is not a station
      Returns:
      the station-indexed twin of this structure
    • sameAs

      public boolean sameAs(StateDepRouting other)
      Structural equality, ignoring the declared node objects. A network admits one subnetwork Q(V,V): the routing probabilities of Krzesinski (1987) are chain independent, so every class routed by it must declare the same branches, nesting and coefficients.
      Parameters:
      other - the structure to compare against
      Returns:
      true when the two declarations describe the same subnetwork
    • copy

      public StateDepRouting copy()
      Deep copy, sharing the declared node objects.