Overview | Group | Tree | Graph | Index | Concepts |
Description |
Resource Usage Enforcement |
Resource Usage Enforcement Intervals |
In Scheduler, each resource can be associated with a minimal and a maximal usage profile.
For capacity resources, the maximal usage profile describes the maximal available quantity of
the resource over time whereas the minimal usage profile describes the minimal quantity of
the resource that needs to be consumed by activities over time. These usage profiles are
represented by instances of the class IloNumToNumStepFunction
, that is, a step
function from real numbers to real numbers. On a discrete resource, the usage profiles
represent the instantaneous capacity of the resource over time. On a reservoir, it
represents the level of the reservoir over time. On a discrete energy resource, it
represents the energy of the resource available per time bucket
(see
Resource Usage Enforcement).
For continuous reservoirs, the maximal usage profile describes the maximal possible level of the
reservoir over time, whereas the minimal usage profile describes the minimal possible level over time.
These usage profiles are represented by instances of the class IloNumToNumSegmentFunction
,
that is a piecewise linear function.
For state resources, the maximal usage profile describes the possible states of the resource over time.
This usage profile is represented by an instance of the class IloNumToAnySetStepFunction
,
that is,
a step function from real numbers to a set of states. The minimal usage profile of the
state resource describes a set of time intervals during which the state resource must
be used by at least one activity of the environment. This usage profile is represented
by an instance of the class IloIntervalList
.
IloNumToNumStepFunction
, IloNumToNumSegmentFunction
,
IloNumToAnySetStepFunction
and
IloIntervalList
are documented in the extensions section of the
IBM ILOG Concert Technology Reference Manual.
A parameter associated with each resource allows changing the enforcement level
of the resource usage profiles (member functions IloResourceParam::getCapacityEnforcement
and IloResourceParam::setCapacityEnforcement
).
The semantics of these levels depends on the scheduler.
Each resource can be associated with a list of temporal intervals during which the resource usage profiles (maximal and/or minimal) need to be enforced. Each time interval [timeMin, timeMax) in the list contains a time step that defines the quantum of time used when enforcing the resource usage (see the following figure). By default, when nothing is specified, the resource usage profiles are enforced over the entire scheduling horizon with a time step equal to one.
Note that for a discrete energy resource (instance of IloDiscreteEnergy
), the maximal and minimal usage profiles define
the energy of the resource
per time step.
Note that for a continuous reservoir, there is no time step. The value associated with each interval is ignored by Scheduler engine.
See Also
IloNumToNumStepFunction
, IloNumToNumSegmentFunction
,
IloNumToAnySetStepFunction
and
IloIntervalList
are documented in the extensions section of the
IBM ILOG Concert Technology Reference Manual.