Class LayeredNetworkSensitivityTable
This is the layered sibling of NetworkSensitivityTable: it is the
concatenation of the per-layer tables that SolverLN obtains from its layer
solvers, with a leading Layer column carrying the name of the layer Network. The
columns always appear in the order Layer, Station, JobClass, dTput_dRate,
dRespT_dRate, dQLen_dRate, dUtil_dRate; see getVariableNames().
IMPORTANT, on what these derivatives mean. Each entry is a derivative WITHIN ITS LAYER, taken with the layer parameters that the fixed point produced held fixed. It is a partial derivative of the layer submodel, not the total derivative of the layered model: perturbing a host demand in one layer moves the think times, populations and service rates of the other layers through the fixed-point map, and that indirect term is not included here. The layer table is the right object for attributing a bottleneck inside a layer, and the wrong one for predicting the effect of a parameter change on the solved layered model. For the latter, finite-difference the LayeredNetwork itself.
getMethod() reports the branch summary, "exact" or "fd" when every
layer took the same branch and "mixed" when they disagreed;
getLayerMethods() reports the branch of each layer separately. These
mirror MATLAB's SensTable.Properties.UserData.method and
.layerMethods.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintReturns the index of the row for a (layer, station, class) triple, or -1 if absent.Returns a numeric column by name.getDQLen()getDTput()getDUtil()Returns the branch taken by each layer, the counterpart of MATLAB'sSensTable.Properties.UserData.layerMethods.Returns the raw differentiated-MVA result of each layer, the counterpart of the cell array that MATLAB returns as the second output alongside the table.Returns the branch summary of the table, the counterpart of MATLAB'sSensTable.Properties.UserData.method.The names of every column of the table, the three name columns first: Layer, Station, JobClass, then the four numeric columns.voidprint()Prints the table contents in a human-readable format.voidprint(SolverOptions options) Prints the table.voidPrints the table.voidsetClassNames(List<String> classNames) Sets the job class names, one per row.voidsetLayerMethods(List<String> layerMethods) Sets the branch taken by each layer.voidsetLayerNames(List<String> layerNames) Sets the layer names, one per row.voidsetLayerSens(List<Ret.pfqnSens> layerSens) Sets the raw differentiated-MVA result of each layer.voidSets the branch summary of the table.voidsetNDigits(int nDigits) Sets the number of decimal digits to display in formatted output.voidsetStationNames(List<String> stationNames) Sets the station names, one per row.Methods inherited from class jline.solvers.AvgTable
fmtValue, get, getData, printFormattedTable, sanitize, setOptions, toMatrix
-
Constructor Details
-
LayeredNetworkSensitivityTable
public LayeredNetworkSensitivityTable(List<Double> dTput, List<Double> dRespT, List<Double> dQLen, List<Double> dUtil) Creates a layered sensitivity table from its four numeric columns.- Parameters:
dTput- the dTput_dRate columndRespT- the dRespT_dRate columndQLen- the dQLen_dRate columndUtil- the dUtil_dRate column
-
-
Method Details
-
getVariableNames
The names of every column of the table, the three name columns first: Layer, Station, JobClass, then the four numeric columns. MirrorsT.Properties.VariableNamesof the MATLAB table.- Returns:
- the column names, in table order
-
getColumn
Returns a numeric column by name.- Parameters:
name- the column name- Returns:
- the column values
- Throws:
RuntimeException- if the name is not one of the four numeric columns
-
getDTput
- Returns:
- the dTput_dRate column
-
getDRespT
- Returns:
- the dRespT_dRate column
-
getDQLen
- Returns:
- the dQLen_dRate column
-
getDUtil
- Returns:
- the dUtil_dRate column
-
getLayerNames
- Returns:
- the layer names, one per row
-
setLayerNames
Sets the layer names, one per row.- Parameters:
layerNames- the layer names
-
getStationNames
- Returns:
- the station names, one per row
-
setStationNames
Sets the station names, one per row.- Parameters:
stationNames- the station names
-
getClassNames
- Returns:
- the job class names, one per row
-
setClassNames
Sets the job class names, one per row.- Parameters:
classNames- the class names
-
getMethod
Returns the branch summary of the table, the counterpart of MATLAB'sSensTable.Properties.UserData.method.- Returns:
- "exact" or "fd" when every layer took the same branch, "mixed" when the layers disagreed, and the empty string when no layer contributed
-
setMethod
Sets the branch summary of the table.- Parameters:
method- "exact", "fd" or "mixed"
-
getLayerMethods
Returns the branch taken by each layer, the counterpart of MATLAB'sSensTable.Properties.UserData.layerMethods.- Returns:
- one entry per layer, null where the layer contributed no rows
-
setLayerMethods
Sets the branch taken by each layer.- Parameters:
layerMethods- one entry per layer
-
getLayerSens
Returns the raw differentiated-MVA result of each layer, the counterpart of the cell array that MATLAB returns as the second output alongside the table.- Returns:
- one entry per layer, null where the layer took the finite-difference branch or the open exact branch
-
setLayerSens
Sets the raw differentiated-MVA result of each layer.- Parameters:
layerSens- one entry per layer
-
findRow
Returns the index of the row for a (layer, station, class) triple, or -1 if absent.- Parameters:
layerName- the layer namestationName- the station nameclassName- the job class name- Returns:
- the row index, or -1
-
setNDigits
public void setNDigits(int nDigits) Sets the number of decimal digits to display in formatted output.- Parameters:
nDigits- the number of digits
-
print
public void print()Description copied from class:AvgTablePrints the table contents in a human-readable format. Implementation is provided by subclasses for specific table types. -
print
Prints the table.- Parameters:
options- the solver options controlling verbosity
-
printTable
public void printTable()Prints the table.
-