Class 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.
    • 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 variables
        ranges - set of allowed ranges
      • isSatisfied

        public ESat isSatisfied()
        Description copied from class: Constraint
        Test if this Constraint object is satisfied, regarding its Propagators and its Variable 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 of this propagators

        Overrides:
        isSatisfied in class Constraint
        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)