14.2.9 Class DJC


A class providing static methods to manipulate terms of disjunctive constraints (DJC).

Static members

DJC.AND – Create a conjunction of simple terms.

DJC.term – Create a simple term.

Term DJC.AND(SimpleTerm[] slist)
Term DJC.AND(SimpleTerm s1)
Term DJC.AND(SimpleTerm s1, SimpleTerm s2)
Term DJC.AND(SimpleTerm s1, SimpleTerm s2, SimpleTerm s3)

Creates a conjunction of existing simple terms \(S_1,\ldots,S_n\), that is a term representing:

\[S_1 \ \mathrm{AND}\ \cdots\ \mathrm{AND}\ S_n.\]


SimpleTerm DJC.term(Variable x, LinearDomain dom)
SimpleTerm DJC.term(Expression expr, LinearDomain dom)
SimpleTerm DJC.term(Variable x, RangeDomain dom)
SimpleTerm DJC.term(Expression expr, RangeDomain dom)

Creates a simple term, that is a condition which can be used as a building block in disjunctive constraints. A simple term has the form an expression belongs to a domain. Only linear and ranged domains are allowed in a disjunctive constraint.

A simple term can be used to construct a conjunctive term with DJC.AND or it can enter directly as a term into a disjunctive constraint via Model.disjunction.