IBM ILOG Scheduler User's Manual > Getting Started with Scheduler > Scheduler Building Blocks > Activities |
Activities |
INDEX
![]() |
An activity is the task or work to be performed in a schedule: filling bottles in a schedule for a beverage company, for example, or caring for patients in a schedule for a medical clinic, etc. Activities have a duration; they execute over a specific interval of time in a schedule, which may be subject to temporal constraints, and they require resources. For example, in a beverage company, the activity of filling bottles requires as resources a quantity of the appropriate beverage, the correct size bottles, and the filling machinery. In a medical clinic, an appropriate schedule of activities might require nurses, medical supplies, and treatment rooms as resources.
IloActivity
is the Scheduler activity class. It defines the time interval on which the activity is processed. An instance of IloActivity
includes a start time variable, an end or completion time variable, and a processing time variable. The processing time of an activity is the elapsed time during which the activity is effectively processed by the resource.
IloActivity
By default, the earliest possible start time of an activity is the time origin of the scheduling environment it belongs to, and the latest possible end time of an activity is the time horizon of its scheduling environment. Both the origin and the horizon of a schedule can be set using the IloSchedulerEnv
object. The duration of an activity can be 0.
An instance of IloActivity
is non-breakable by default. A non-breakable activity is an activity which executes without suspension from its start time to its end time, and which may require some resources throughout its execution. With a non-breakable activity, the processing time is equal to the duration.
If the activity is set to be breakable (with the member function setBreakable
), then the activity can be suspended during resource breaks and only during resource breaks. The activity cannot be suspended by other activities. (Resource breaks are discussed in more detail in Breaks.) For breakable activities, the processing time can differ from the duration of the activity, since the activity can be suspended by one or more breaks. During a break, the activity is not processed, but the duration grows longer. The processing time of a breakable activity is the duration minus the sum of the durations of the breaks that suspend it.
To represent other classes of activities, you need to define new C++ classes. For example, a composite activity, built from several subactivities, might be defined as an instance of a new (user-defined) class containing a list of activities among its data members.
Activities are linked to other activities by temporal constraints. Activities are linked to resources by resource constraints. We'll say more about resources later, but for now, we should note that resources usually have a capacity that can be required by activities. The capacity that is required by an activity can be represented in two ways: as a constant or as a constrained Solver variable.
© Copyright IBM Corp. 1987, 2009. Legal terms. | PREVIOUS NEXT |