Module constraints

Source
Expand description

§Constraint Types

Different types of constraints. The most important one is Clause but Rust SAT supports more complex constraints like PbConstraint or CardConstraint.

Structs§

CardEqConstr
An equality cardinality constraint (sum of lits = b)
CardLbConstr
A lower bound cardinality constraint (sum of lits >= b)
CardUbConstr
An upper bound cardinality constraint (sum of lits <= b)
Cl
Dynamically sized clause type to be used with references
Clause
Type representing a clause. Wrapper around a std collection to allow for changing the data structure. Optional clauses as sets will be included in the future.
PbEqConstr
An equality pseudo-boolean constraint (weighted sum of lits = b)
PbLbConstr
A lower bound pseudo-boolean constraint (weighted sum of lits >= b)
PbUbConstr
An upper bound pseudo-boolean constraint (weighted sum of lits <= b)

Enums§

CardConstraint
Type representing a cardinality constraint.
ConstraintRef
A reference to any type of constraint throughout RustSAT
PbConstraint
Type representing a pseudo-boolean constraint. When literals are added to a constraint, the constraint is transformed so that all coefficients are positive.
PbToCardError
Errors when converting pseudo-boolean to cardinality constraints