pub enum PseudoBooleanEncoding {
GeneralizedTotalizer,
CardinalityNetwork,
SingleInteger,
}Expand description
Specifies the type of pseudo-boolean encoding which is used by the
PseudoBooleanConstraintEncoder.
Variants§
GeneralizedTotalizer
Specifies the usage of the generalized totalizer encoding for pseudo-boolean constraints [1].
§Bibliography
[1] “Generalized totalizer encoding for pseudo-boolean constraints.”, Joshi Saurabh, Ruben Martins, Vasco Manquinho; CP ’15
CardinalityNetwork
Specifies the usage of the cardinality network [1] encoding for unweighted cardinality
constraints in the form x1 + ... + xn <= k. The encoding is arc-consistent and
supports incremental strengthening of the upper bound.
§Bibliography
[1] R. Asín, R. Nieuwenhuis, A. Oliveras, and E. Rodríguez-Carbonell, ‘Cardinality networks: a theoretical and empirical study’, Constraints, vol. 16, pp. 195–221, 2011.
SingleInteger
Specifies the usage of an econding which takes as input a single integer.
Note that if this case occurs, it is recommended to use Solver::maximise or
Solver::minimise directly.
Trait Implementations§
source§impl Clone for PseudoBooleanEncoding
impl Clone for PseudoBooleanEncoding
source§fn clone(&self) -> PseudoBooleanEncoding
fn clone(&self) -> PseudoBooleanEncoding
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for PseudoBooleanEncoding
impl Debug for PseudoBooleanEncoding
source§impl Display for PseudoBooleanEncoding
impl Display for PseudoBooleanEncoding
impl Copy for PseudoBooleanEncoding
Auto Trait Implementations§
impl Freeze for PseudoBooleanEncoding
impl RefUnwindSafe for PseudoBooleanEncoding
impl Send for PseudoBooleanEncoding
impl Sync for PseudoBooleanEncoding
impl Unpin for PseudoBooleanEncoding
impl UnwindSafe for PseudoBooleanEncoding
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§impl<Value> Statistic for Valuewhere
Value: Display,
impl<Value> Statistic for Valuewhere
Value: Display,
source§fn log(&self, statistic_logger: StatisticLogger)
fn log(&self, statistic_logger: StatisticLogger)
Statistic using the provided StatisticLogger.