FRAMES NO FRAMES

Metaconstraints
PREVIOUS NEXT
Description
Description

A metaconstraint is a constraint on one or more constraints.

The IBM ILOG Solver User's Manual explains how to create and use metaconstraints. The specific constraint classes of Scheduler Engine are fully compatible with the metaconstraint protocol of Solver. The following points also apply:

  • The metaconstraint protocol cannot be used with the following Scheduler global constraints: disjunctive, timetable, precedence graph, balance, sequence, integral, or functional constraints. These are the constraints created by the following member functions on resource classes: makeDisjunctiveConstraint, makeTimetableConstraint, makePrecedenceGraphConstraint, makeBalanceConstraint, makeSequenceConstraint, makeFunctionalConstraint, and makeIntegralConstraint.
  • Instances of IlcResourceConstraint defined for capacity resources (that is, for instances of IlcDiscreteResource, IlcDiscreteEnergy, IlcReservoir, IlcUnaryResource) and for continuous reservoir (that is, for instances of IlcContinuousReservoir) must require or provide non-zero capacity.
  • Scheduler Engine supports a constructive exclusive disjunction between an activity and a set of capacity resources. See the classes IlcAltResSet and IlcAltResConstraint for more information about that possibility.

There are no restrictions with respect to the metaconstraint protocol for instances of IlcTimeBoundConstraint.

There are no restrictions with respect to the metaconstraint protocol for instances of IlcPrecedenceConstraint.

There are no restrictions with respect to the metaconstraint protocol for instances of IlcResourceConstraint when the constraint is posted on instances of IlcStateResource.

See Also

IlcAltResConstraint, IlcAltResSet, IlcPrecedenceConstraint, IlcResource, IlcResourceConstraint, IlcTimeBoundConstraint, Disjunctive Constraint, Timetable.

PREVIOUS NEXT