IBM ILOG Scheduler User's Manual > Advanced Concepts > Advanced Features and Concepts > Advanced Resources > State Resources |
State Resources |
INDEX
![]() |
In Scheduler, the class IloStateResource
is available to represent resources that can operate in different states. An instance of IloStateResource
represents a resource of infinite capacity, the state of which can vary over time. An activity may require the resource to be in a particular state or to remain in one of a given set of states throughout its execution. Consequently, two activities that require inconsistent states cannot overlap.
The transition time between states might vary according to the previous state and target state. In the example of a pastry bakery shop requiring different oven temperatures for different pastries, it may take longer for a warm oven to heat to very high temperature than it would take for a moderately hot oven to heat to very high temperature. The way to define your own transition times for state resources is the same as for unary resources: that is, by providing an instance of the parameter class IloTransitionTime
to the resource.
Different capacity enforcement levels are available to take into account the characteristics of the requirement and provision of a state resource.
IloBasic
. It is interpreted to allow the set of possible states to vary over time: at any given time the resource may or may not be allowed to be in a given state.
In the context of an instance of IloStateResource
, a state is defined as a pointer to any type of object (that is, a pointer of type IloAny
).
The Scheduler extractor interprets the IloBasic
capacity enforcement level with the use of the timetable constraint, and the class IlcAnyTimetable
represents the evolution of the state of the resource over time. Higher levels of capacity enforcement use the timetable plus the disjunctive constraint. Here, we must emphasize that state resources are different from unary resources with respect to disjunctive constraints. Disjunctive constraints on unary resources tend to increase propagation, a distinct advantage in the search for a solution. However, in contrast to what happens with unary resources, the timetable representation for state resources may propagate more than the disjunctive representation. The use of a timetable may even be mandatory to represent some problems. The IBM ILOG Scheduler Reference Manual provides details about this phenomenon in the description of the class IlcStateResource
. It is possible to use the disjunctive constraint without the timetable only by using the Scheduler Engine classes documented in Part II of the IBM ILOG Scheduler Reference Manual.
For state resources, you can define transition times only when the disjunctive constraint is posted. In the case where transition times are defined and the enforcement level is IloBasic
, the disjunctive constraint is automatically added at extraction time.
© Copyright IBM Corp. 1987, 2009. Legal terms. | PREVIOUS NEXT |