Expand description
Provides the VariableSelector trait which is required
for variable selectors to implement; the main method in this trait relies on
VariableSelector::select_variable.
Furthermore, it defines several implementations of the VariableSelector trait such as
Vsids. Any VariableSelector should only select variables which have a domain of size 2
or larger.
Structs§
- A
VariableSelectorwhich selects the variable with the largest domain (based on the lower-bound and upper-bound, disregarding holes). - Similar to
DynamicBrancher, this is a pass-along structure which should be used when aSizedobject is required. - A
VariableSelectorwhich selects the variable with the smallest domain (based on the lower-bound and upper-bound, disregarding holes). - A
VariableSelectorwhich selects the first variable which is not fixed given the order in the provided list. - A
VariableSelectorwhich selects the variable with the largest value in its domain. - A
VariableSelectorwhich selects the variable with the largest difference between the two smallest values in its domain. - A
VariableSelectorwhich selects the variable with the smallest domain (similar toFirstFail). - A
VariableSelectorwhich selects the variable with the largest number of attached constraints (where the providednum_occurrencesstores the number of attached constraints per variable). - A
VariableSelectorwhich selects the variable with the smallest value in its domain. - A
VariableSelectorwhich implements VSIDS [1].
Traits§
- A trait containing the interface for
VariableSelectors, specifying the appropriate hooks into the solver and the methods required for selecting variables.