[][src]Module ddo::abstraction::heuristics

This module defines the traits used to encapsulate solver heuristics.

Namely, it defines :

  • the WidthHeuristic which is used to control the maximum width of an MDD
  • the VariableHeuristic which is used to control the order in which the variables are selected (major impact on the size of an MDD).
  • the LoadVars which encapsulates a strategy to retrieve the set of unassigned variables from a given frontier node.

Traits

LoadVars

This trait defines a strategy/heuristic to retrieve the smallest set of free variables from a given node

NodeSelectionHeuristic

This trait defines an heuristic to rank the nodes in order to remove (or merge) the less relevant ones from an MDD that is growing too large.

SelectableNode

This trait defines a minimal abstraction over the MDD nodes so that they can easily (and transparently) be ordered by the NodeSelectionHeuristic.

VariableHeuristic

This trait defines an heuristic to determine the best variable to branch on while developing an MDD.

WidthHeuristic

This trait defines an heuristic to determine the maximum allowed width of a layer in a relaxed or restricted MDD.