InstanceClassClause

InstanceClassClause#

class InstanceClassClause#

One conjunctive clause in an :class:InstanceClass.

Every condition in a clause must hold. The containing instance class is the finite union of its clauses, so alternatives are not combined across clause boundaries.

Omitted regular-constraint and Indicator-body maps are empty, so those constraint families are not accepted. OneHot and SOS1 are also disabled unless their Boolean options are enabled. The objective and constraint requirements describe stored polynomials, not a request to expand expressions. See InstanceClass for construction and membership examples.

__new__(*, label: str, allowed_variable_kinds: set[Kind], objective_polynomial_requirement: PolynomialRequirement, allowed_senses: set[Sense], regular_constraint_polynomial_requirements: Optional[Mapping[Equality, PolynomialRequirement]] = None, indicator_body_polynomial_requirements: Optional[Mapping[Equality, PolynomialRequirement]] = None, allows_one_hot: bool = False, allows_sos1: bool = False) → InstanceClassClause#
__repr__() → str#
property allowed_senses: set[Sense]#

Read-only property.

property allowed_variable_kinds: set[Kind]#

Read-only property.

property allows_one_hot: bool#

Read-only property.

property allows_sos1: bool#

Read-only property.

property indicator_body_polynomial_requirements: dict[Equality, PolynomialRequirement]#

Read-only property.

property label: str#

Read-only property.

Human-readable diagnostic label. It does not affect membership.

property objective_polynomial_requirement: PolynomialRequirement#

Read-only property.

property regular_constraint_polynomial_requirements: dict[Equality, PolynomialRequirement]#

Read-only property.