Class StateDepRouting
- All Implemented Interfaces:
Serializable
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
FieldsModifier and TypeFieldDescriptionint[][]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.intDeparture center d of Q(V,V); may equalentry.Departure node as declared.int[]departureOf[b] is the departure center d(b) of branch b.intEntry 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 -
Method Summary
Modifier and TypeMethodDescriptioncopy()Deep copy, sharing the declared node objects.intNumber of branch indices, including the unused complement index 0.intNumber of levels of subnetwork nesting.booleansameAs(StateDepRouting other) 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.
-
Field Details
-
entry
public int entryEntry center e of Q(V,V). -
departure
public int departureDeparture center d of Q(V,V); may equalentry. -
branch
public int[][] branchbranch[b] holds the centers of branch b, b >= 1; branch[0] is unused. -
entryOf
public int[] entryOfentryOf[b] is the entry center e(b) of branch b. -
departureOf
public int[] departureOfdepartureOf[b] is the departure center d(b) of branch b. -
level
public int[] levellevel[b] is the unique t with B_b in V_t - V_{t+1}; level[0] is unused. -
C
public double[] CCoefficients C_t of eq. (11), length T. -
d
public double[][] dCoefficients d_tb of eq. (11), T rows by B columns. -
entryNode
Node objects as declared, kept so the structure can be re-resolved after a refresh. -
departureNode
Departure node as declared. -
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
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 stationnodeNames- node names, used only to report a center that is not a station- Returns:
- the station-indexed twin of this structure
-
sameAs
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
Deep copy, sharing the declared node objects.
-