Class Config

java.lang.Object
solvers.queueingnet.treeAlgorithms.Config

public class Config extends Object
Configuration values for tree algorithms.
Author:
Ben Homer, 2014.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final boolean
    If true the tree planter tries several heuristics in the tree planting stage to find a tree with the best complexity characteristics.
    static final int
    Determines 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 MathContext
    The context to use for BigDecimal calculations.
    static final int
    The feedback filtering approach is only attempted if the overlapped population between the child stations if greater than the specified value.
    static final boolean
    All verbose outputs are written to log file if true.
    static final int
    The max number of tree plant attempts allowed before the algorithm terminates in a failed state.
    static final int
    Specifies the number of threads to be used when running the tree algorithms.
    static final boolean
    Indicates 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 boolean
    Indicates whether a recursive or iterative approach is used to traverse the tree.
    static final boolean
    Specifies 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.
    The tree planting mode to use if COMPARE_ALL_HEURISTICS is false.
    static final boolean
    If 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 boolean
    Each step of the algorithm is printed to the console if true.
    static final boolean
    Indicates whether throughputs should be computed individually/sequentially.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    Prints the current config state.

    Methods inherited from class Object

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

    • VERBOSE

      public static final boolean VERBOSE
      Each step of the algorithm is printed to the console if true.
      See Also:
    • LOG

      public static final boolean LOG
      All verbose outputs are written to log file if true.
      See Also:
    • Context

      public static final MathContext Context
      The context to use for BigDecimal calculations.
    • COMPARE_ALL_HEURISTICS

      public static final boolean COMPARE_ALL_HEURISTICS
      If 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_LEVEL
      Determines 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

      public static final TreePlanter.PlantMode 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_ATTEMPTS
      The 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_COMPLEXITY
      Specifies 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_THREADS
      Specifies 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 RECURSIVE
      Indicates whether a recursive or iterative approach is used to traverse the tree.
      See Also:
    • Q_COMPUTE_SEQUENTIALLY

      public static final boolean Q_COMPUTE_SEQUENTIALLY
      Indicates 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_SEQUENTIALLY
      Indicates whether throughputs should be computed individually/sequentially.
      See Also:
    • USE_FEEDBACK_FILTERING

      public static final boolean USE_FEEDBACK_FILTERING
      If 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_THRESHOLD
      The 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.