Class Config
java.lang.Object
solvers.queueingnet.treeAlgorithms.Config
Configuration values for tree algorithms.
- Author:
- Ben Homer, 2014.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanIf true the tree planter tries several heuristics in the tree planting stage to find a tree with the best complexity characteristics.static final intDetermines which complexities are checked when comparing heuristics, when COMPARE_ALL_HEURISTICS is true, as follows: 0 = best time complexity 1 = best space complexity 2 = best overall/combined complexity (space and time) 3 = based on number of partially covered classes in whole tree.static final MathContextThe context to use for BigDecimal calculations.static final intThe feedback filtering approach is only attempted if the overlapped population between the child stations if greater than the specified value.static final booleanAll verbose outputs are written to log file if true.static final intThe max number of tree plant attempts allowed before the algorithm terminates in a failed state.static final intSpecifies the number of threads to be used when running the tree algorithms.static final booleanIndicates whether mean queue lengths should be computed individually/sequentially for each station m and class k, or if g arrays for all classes k should be calculated and stored in a tree node simultaneously.static final booleanIndicates whether a recursive or iterative approach is used to traverse the tree.static final booleanSpecifies whether the algorithm should terminate if the complexity manager repeatedly decides that the tree algorithm is not the best approach, given the tree planted in the 'tree planting' stage of the algorithm.static final TreePlanter.PlantModeThe tree planting mode to use if COMPARE_ALL_HEURISTICS is false.static final booleanIf true then uses the feedback filtering approach to compute the g array at nodes where both children are leaves, and at least one of them is a fixed-rate station.static final booleanEach step of the algorithm is printed to the console if true.static final booleanIndicates whether throughputs should be computed individually/sequentially. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
VERBOSE
public static final boolean VERBOSEEach step of the algorithm is printed to the console if true.- See Also:
-
LOG
public static final boolean LOGAll verbose outputs are written to log file if true.- See Also:
-
Context
The context to use for BigDecimal calculations. -
COMPARE_ALL_HEURISTICS
public static final boolean COMPARE_ALL_HEURISTICSIf true the tree planter tries several heuristics in the tree planting stage to find a tree with the best complexity characteristics.- See Also:
-
COMPLEXITY_CHECK_LEVEL
public static final int COMPLEXITY_CHECK_LEVELDetermines which complexities are checked when comparing heuristics, when COMPARE_ALL_HEURISTICS is true, as follows: 0 = best time complexity 1 = best space complexity 2 = best overall/combined complexity (space and time) 3 = based on number of partially covered classes in whole tree.- See Also:
-
TREE_PLANT_MODE
The tree planting mode to use if COMPARE_ALL_HEURISTICS is false. -
MAX_TREE_PLANT_ATTEMPTS
public static final int MAX_TREE_PLANT_ATTEMPTSThe max number of tree plant attempts allowed before the algorithm terminates in a failed state.- See Also:
-
TERMINATE_IF_HIGH_COMPLEXITY
public static final boolean TERMINATE_IF_HIGH_COMPLEXITYSpecifies whether the algorithm should terminate if the complexity manager repeatedly decides that the tree algorithm is not the best approach, given the tree planted in the 'tree planting' stage of the algorithm.- See Also:
-
NUM_THREADS
public static final int NUM_THREADSSpecifies the number of threads to be used when running the tree algorithms. N.B. only used from JMVA options panel. -
RECURSIVE
public static final boolean RECURSIVEIndicates whether a recursive or iterative approach is used to traverse the tree.- See Also:
-
Q_COMPUTE_SEQUENTIALLY
public static final boolean Q_COMPUTE_SEQUENTIALLYIndicates whether mean queue lengths should be computed individually/sequentially for each station m and class k, or if g arrays for all classes k should be calculated and stored in a tree node simultaneously. For detail see Lam/Lien paper sec. 4.- See Also:
-
X_COMPUTE_SEQUENTIALLY
public static final boolean X_COMPUTE_SEQUENTIALLYIndicates whether throughputs should be computed individually/sequentially.- See Also:
-
USE_FEEDBACK_FILTERING
public static final boolean USE_FEEDBACK_FILTERINGIf true then uses the feedback filtering approach to compute the g array at nodes where both children are leaves, and at least one of them is a fixed-rate station. N.B. Leave this as true for good performance on networks with large populations.- See Also:
-
FEEDBACK_FILTERING_OVERLAP_POP_THRESHOLD
public static final int FEEDBACK_FILTERING_OVERLAP_POP_THRESHOLDThe feedback filtering approach is only attempted if the overlapped population between the child stations if greater than the specified value.- See Also:
-
-
Constructor Details
-
Config
public Config()
-
-
Method Details
-
print
public static void print()Prints the current config state.
-