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.

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) -> Term

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.\]

The standard Python operator & can also be used for this purpose. See Sec. 14.1.3 (Pythonic extensions) for details.



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) -> SimpleTerm

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 (|).