org.ddolibscala.tools.ddo.heuristics.variables

This package contains heuristics on variable ordering.

Attributes

Members list

Type members

Classlikes

A default implementation of VariableHeuristic that selects the next variable to branch on without applying any specific strategy.

A default implementation of VariableHeuristic that selects the next variable to branch on without applying any specific strategy.

This heuristic simply returns the first element obtained from the provided variables iterable. Therefore, it does not guarantee any particular or deterministic order, as the iteration order of an iterable.

This class serves as a minimal or placeholder heuristic to ensure that the compilation or search process can proceed when no specific variable ordering rule has been defined by the user.

Type parameters

T

the type representing the problem state

Attributes

Supertypes
trait VariableHeuristic[T]
class Object
trait Matchable
class Any
trait VariableHeuristic[T] extends VariableHeuristic[T]

Defines a strategy for selecting the next decision variable to branch on during the construction or exploration of a decision diagram.

Defines a strategy for selecting the next decision variable to branch on during the construction or exploration of a decision diagram.

A VariableHeuristic is responsible for determining, at each expansion step, which variable should be fixed next among the remaining unassigned ones. It can use information from the current layer’s states to guide this choice.

Heuristics of this kind are essential in dynamic programming, search trees, and decision diagrams, as they influence the structure of the diagram and the efficiency of the exploration process. A well-chosen variable ordering can drastically reduce the diagram width and computation time.

Type parameters

T

the type representing the problem state

Attributes

Supertypes
trait VariableHeuristic[T]
class Object
trait Matchable
class Any
Known subtypes