IBM ILOG Scheduler User's Manual > Getting Started with Scheduler > Scheduler Building Blocks > Temporal Constraints

In Scheduler there are two types of temporal constraints. Precedence constraints, instances of the class IloPrecedenceConstraint, are used to specify when one activity must start or end with respect to the start or end time of another activity. Time-bound constraints, instances of the class IloTimeBoundConstraint, are used to specify when one activity must start or end with respect to a given time. All temporal constraints must be added to the model.

Precedence Constraints

Precedence constraints restrict the order of activities. They constrain an activity to start or end before, at, or after the start or end time of another activity.

Precedence constraints are created through member functions of the class IloActivity. They must be added to the model of the associated scheduling problem to be considered in the search for solutions.

Precedence constraints may involve the concept of delay. Delay is an amount of time that must elapse between the two variables involved in the precedence constraint. If delay is negative, it indicates the inverse of the maximal duration allowed to elapse between the two variables. In other words, endpoint2 can occur before endpoint1, but the difference between them cannot exceed -delay. The delay can be a numerical constraint or a numerical variable.

buildBlocksf4.gif

Figure 1.4 Positive and Negative Delay

If act1 and act2 denote activities, and delay is a number (0 by default), then: