Skip to main content
FRAMES NO FRAMES

Introduction to Scheduling Concepts in CP Optimizer
PREVIOUS NEXT

CPLEX Optimization Studio provides a set of modeling features for applications dealing with scheduling over time. Although time points in OPL and CP Optimizer are represented as integers, the possible very wide range of time points means that time is effectively continuous.

A consequence of scheduling over effectively continuous time is that the evolution of some known quantities over time (for instance the instantaneous efficiency/speed of a resource or the earliness/tardiness cost for finishing an activity at a given date t) needs to be compactly represented in the model. To that end, CP Optimizer provides the notion of piecewise linear and stepwise functions (see Piecewise linear and stepwise functions in CP Optimizer).

Most of the scheduling applications consist of scheduling in time activities, tasks, or operations that have a start and an end time. In CP Optimizer, this type of decision variable is represented by an interval variable (see Interval variables in CP Optimizer). Several types of constraints are expressed on and between interval variables, including constraints:

An important characteristic of scheduling problems is that time intervals may be optional and thus whether or not to execute a time interval is a decision variable. In CP Optimizer, this is represented by a Boolean presence status associated with each interval variable. Logical relations can be expressed between the presence of interval variables: for instance, it is possible to state that whenever interval a is present then interval b must also be present (see Logical constraints).

Another aspect of scheduling is the allocation of scarce resources to time intervals. The evolution of a resource over time can be modeled by two types of variables:

Some classical cost functions in scheduling are earliness/tardiness costs, makespan, activity execution/non-execution costs. CP Optimizer generalizes these classical cost functions and provides a set of basic expressions that can be combined together to express a large spectrum of scheduling cost functions that can be efficiently exploited by the CP Optimizer search (see Expressions over Interval Variables).

PREVIOUS NEXT