Module org.chocosolver
Class ClauseConstraint
- java.lang.Object
-
- org.chocosolver.solver.constraints.Constraint
-
- org.chocosolver.solver.constraints.nary.clauses.ClauseConstraint
-
public class ClauseConstraint extends Constraint
A constraint dedicated to store and manage signed-clauses.- Since:
- 24/07/2018.
- Author:
- Charles Prud'homme
- See Also:
Project: choco-solver.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.chocosolver.solver.constraints.Constraint
Constraint.Status
-
-
Field Summary
-
Fields inherited from class org.chocosolver.solver.constraints.Constraint
boolReif, propagators
-
-
Constructor Summary
Constructors Constructor Description ClauseConstraint(Model model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClause(IntVar[] vars, IntIterableRangeSet[] ranges)
Add a new clause to the clause store, like: (vars[0] ∈ ranges[0]) ∨ (vars[1] ∈ ranges[1]) ∨ ...ClauseStore
getClauseStore()
ESat
isSatisfied()
Test if thisConstraint
object is satisfied, regarding itsPropagators
and itsVariable
current domains.-
Methods inherited from class org.chocosolver.solver.constraints.Constraint
checkNewStatus, computeMaxPriority, declareAs, getCidxInModel, getName, getOpposite, getPropagator, getPropagators, getStatus, ignore, isReified, makeOpposite, merge, post, reify, reifyWith, setName, setOpposite, toString
-
-
-
-
Constructor Detail
-
ClauseConstraint
public ClauseConstraint(Model model)
-
-
Method Detail
-
addClause
public void addClause(IntVar[] vars, IntIterableRangeSet[] ranges)
Add a new clause to the clause store, like: (vars[0] ∈ ranges[0]) ∨ (vars[1] ∈ ranges[1]) ∨ ...- Parameters:
vars
- set of variablesranges
- set of allowed ranges
-
isSatisfied
public ESat isSatisfied()
Description copied from class:Constraint
Test if thisConstraint
object is satisfied, regarding itsPropagators
and itsVariable
current domains. This method is called on each solution as a checker when assertions are enabled (-ea in VM parameters) It is also called for constraint reification (to state whether or not a constraint is satisfied) The method calls entailment checks ofthis
propagators- Overrides:
isSatisfied
in classConstraint
- Returns:
ESat.FALSE
if the constraint cannot be satisfied (from domain consideration),ESat.TRUE
if whatever future decisions are, the constraint will be satisfied for sure (without propagating domain modifications)ESat.UNDIFINED
otherwise (more decisions/filtering must be made before concluding about constraint satisfaction)
-
getClauseStore
public ClauseStore getClauseStore()
-
-