Expand description
Provides the ValueSelector trait which is required
for value selectors to implement; the main method in this trait relies on
ValueSelector::select_value.
Furthermore, it defines several implementations of the ValueSelector trait such as
InDomainMin, PhaseSaving and SolutionGuidedValueSelector. Any ValueSelector
should only select values which are in the domain of the provided variable.
Structs§
- Similar to
DynamicBrancher, this is a pass-along structure which should be used when aSizedobject is required. - Reduces the domain of the variable to the first interval.
ValueSelectorwhich chooses to assign the provided variable to its upper-bound.- A
ValueSelectorwhich selects the median value in the domain (or if this value is already assigned then the closest variable to it in terms of index). - A
ValueSelectorwhich selects the middle value in the domain (or if this value is already assigned then the closest variable to it). ValueSelectorwhich chooses to assign the provided variable to its lowest-bound.- A
ValueSelectorwhich assigns to a random value in the domain. - A
ValueSelectorwhich splits the domain in half (based on the lower-bound and upper-bound, disregarding holes) and removes the upper-half from the domain. - A
ValueSelectorwhich bisects the domain in the middle (between the lower-bound and lower-bound, disregarding holes), randomly selecting whether to exclude the lower-half or the upper-half. - A
ValueSelectorwhich excludes the largest value from the domain. - A
ValueSelectorwhich excludes the median value from the domain. - A
ValueSelectorwhich excludes the smallest value from the domain. - A
ValueSelectorwhich excludes a random value from the domain. - A
ValueSelectorwhich implements phase-saving. - A
ValueSelectorwhich splits the domain in half (based on the lower-bound and upper-bound, disregarding holes) and removes the lower-half from the domain. - The solution-guided [1]
ValueSelector, this method searches around the provided solution.
Traits§
- A trait containing the interface for
ValueSelectors, specifying the appropriate hooks into the solver and the methods required for selecting a value for a given variable.