Overview | Group | Tree | Graph | Index | Concepts |
A resource is represented by an instance of the abstract class
IloResource
. Activities in a schedule may require or provide
resources.
This class inherits from the IBM® ILOG® Concert Technology class
IloExtractable
. That class is documented in the IBM ILOG
Concert Technology Reference Manual.
There are several predefined subclasses of IloResource
.
Parameter Classes
Calendar: (class IloCalendar
)
This parameter attached to the resource allows expressing complex behavior
as resource breaks and shifts, and efficiency along the schedule. It
is modified by the member function
IloResource::setCalendar
.
Resource parameter: (class IloResourceParam
)
This parameter describes the basic resource parameter of the resource. It
is directly modified by the following member functions:
IloResource::ignoreCalendarConstraints
, IloResource::ignoreCapacityConstraints
, IloResource::ignorePrecedenceConstraints
, IloResource::ignoreSequenceConstraints
, IloResource::ignoreTransitionTimeConstraints
, IloResource::setBreaksEnforcement
, IloResource::setCapacityEnforcement
, IloResource::setPrecedenceEnforcement
, IloResource::setSequenceEnforcement
, IloResource::setTransitionTimeEnforcement
, and IloResource::keepOpen
.
Capacity enforcement intervals: (class IloIntervalList
)
This parameter describes the set of time intervals on which the resource
usage must be enforced. It is directly modified by the following member
functions: IloResource::addCapacityEnforcementInterval
and
IloResource::removeCapacityEnforcementInterval.
Refer to Scheduler Overview for more information on how to share parameters among resources and how the direct modification of parameters through the resource API may affect them.
For more information, see Calendars, and Resource Usage Profiles .
See Also:
IloAltResSet, IloCapResource, IloDiscreteEnergy, IloDiscreteResource, IloEnforcementLevel, IloReservoir, IloStateResource, IloResourceParam, IloResourceConstraint, IloTransitionTime, IloUnaryResource
Constructor Summary | |
---|---|
public | IloResource() |
public | IloResource(IloResourceI * impl) |
Constructor Detail |
---|
Method Detail |
---|
This member function specifies a new time interval
[tmin,tmax)
during which the usage of the invoking resources
will be enforced. The step represents the time precision that must be
considered when enforcing the usage of the invoking resource on that
interval.
This member function specifies a new time interval [tmin,
tmax)
during which the transition times on the invoking resources
will be enforced.
This member function returns IloTrue
if the calendar
constraints of the invoking resource are to be ignored.
Otherwise, it returns IloFalse
.
This member function returns IloTrue
if the usage of the
invoking resource is to be ignored. Otherwise, it returns
IloFalse
.
This member function returns IloTrue
if the precedence
constraints of the invoking resource are to be ignored. Otherwise, it
returns IloFalse
.
This member function returns IloTrue
if the sequence
constraints of the invoking resource are to be ignored. Otherwise, it
returns IloFalse
.
This member function returns IloTrue
if the transition time
on the invoking resource is to be ignored. Otherwise, it returns
IloFalse
.
This member function returns the calendar attached to the invoking resource, if such an object exists.
This member function returns the enforcement level for the calendar of
the invoking resource. Also see IloResource::setCalendarEnforcement
.
This member function returns the capacity enforcement level of the
invoking resource. See also: IloResource::setCapacityEnforcement
.
This member function returns the duration enforcement level of the
invoking resource. See also: IloResource::setDurationEnforcement
.
This member function returns the enforcement level for precedence
relations of the invoking resource. See also: IloResource::setPrecedenceEnforcement
.
This member function returns the enforcement level for sequencing
relations of the invoking resource. See also: IloResource::setSequenceEnforcement
.
This member function returns the transition time enforcement level of the
invoking resource. See also: IloResource::setTransitionTimeEnforcement
.
This member function returns IloTrue
if a calendar
has been attached to the invoking resource. Otherwise, it returns
IloFalse
.
This member function allows specifying if the calendar constraint
of the invoking resources will be ignored. If the argument
ignored
is equal to IloTrue
, it will
behave as if no calendar is attached to the invoking resource.
This member function allows specifying if the usage of the invoking
resource by the activities will be ignored. If the argument
ignored
is equal to IloTrue,
and the resource is a
capacity resource, it will behave as if the capacity constraints on the
resource are ignored. If the resource is a state resource, it will behave as
if the required state constraints on the resource are ignored.
This member function allows specifying if the precedence relations
defined on the invoking resource will be ignored. If the argument
ignored
is equal to IloTrue
, it will behave as if
the precedence constraints are ignored. Precedence relations are expressed
with the member function IloResourceConstraint::setSuccessor
.
This member function allows specifying if the sequence relations defined
on the invoking resource will be ignored. If the argument
ignored
is equal to IloTrue
, it will behave as if
the sequence constraints are ignored. Sequence relations are expressed with
the member functions IloResourceConstraint::setNext
and
IloResourceConstraint::setNotNext
.
This member function allows specifying if the transition times defined on
the invoking resource will be ignored. If the argument ignored
is equal to IloTrue
, it will behave as if the transition time
constraints are ignored.
This member function distinguishes between the classes of resources
available in Scheduler. It returns IloTrue
if the invoking
resource is an instance of the class IloCapResource
. Otherwise, it returns
IloFalse
.
This member function returns IloTrue
if the invoking
resource is an instance of the class IloContinuousReservoir
.
Otherwise, it returns IloFalse
.
This member function returns IloTrue
if the invoking
resource is an instance of the class IloDiscreteEnergy
. Otherwise, it returns
IloFalse
.
This member function returns IloTrue
if the invoking
resource is an instance of the class IloDiscreteResource
. Otherwise, it returns
IloFalse
.
This member function returns IloTrue
if the invoking
resource should be kept open. Otherwise, it returns IloFalse
.
See also: IloResource::keepOpen
.
This member function returns IloTrue
if the invoking
resource is an instance of the class IloReservoir
. Otherwise, it returns
IloFalse
.
This member function returns IloTrue
if the invoking
resource is an instance of the class IloStateResource
. Otherwise, it returns
IloFalse
.
This member function returns IloTrue
if the invoking
resource is an instance of the class IloUnaryResource
. Otherwise, it returns
IloFalse
.
If the argument open
is equal to IloTrue
, this
member function states that the invoking resource must be kept open when
starting to solve the problem. It means that additional activities requiring
or providing the invoking resource may be added during solving. Otherwise,
if the argument open
is equal to IloFalse
, it
states that all the activities requiring or providing the invoking resource
will be defined in the model before starting to solve the problem. By
default, it is supposed that all the activities requiring or providing the
invoking resource are defined in the model before starting to solve the
problem.
This member function removes a time interval [tmin,tmax)
during which the usage of the invoking resources had be enforced. It means
that the resource usage does not need to be enforced on the interval
[tmin, tmax)
.
This member function removes a time interval [tmin, tmax)
during which the transition times on the invoking resources were
enforced.
This member function attaches the calendar calendar
to the invoking resource. Notice that calendars can be shared between
resources, and that setCalendar
does not imply that a
local copy of the calendar is made. One should be aware of the fact
that any change to a shared calendar, using IloCalendar
member functions with the calendar that comes from getCalendar
,
applies to all resources sharing the calendar.
This member function allows specifying an enforcement level for the calendar
of the resources. The level of enforcement of calendar constraints describes how the
solver will enforce these calendar specifications. The semantics of these
levels is solver dependent. The default enforcement level is
IloBasic
.
This member function allows specifying an enforcement level for the usage
of the resources depending on this parameter. The level of enforcement of
resource usage describes how the solver will enforce this resource usage.
The semantics of these levels is solver dependent. The default enforcement
level is IloBasic
.
This member function sets it
as the list of capacity
enforcement intervals of the invoking resource.
This member function allows specifying an enforcement level for
the durations of the activities using the invoking resource. The
duration level of enforcement describes how the solver will
enforce these durations. The semantics of these levels are solver
dependent. The default enforcement level is
IloBasic
.
This member function allows specifying an enforcement level for the
precedence relations defined on the resources depending on this parameter.
Precedence relations can be expressed with the member function
IloResourceConstraint::setSuccessor
.
The level of enforcement of
precedence relations describes how the solver will enforce these
constraints. The semantics of these levels is solver dependent. The default
enforcement level is IloBasic
.
This member function sets params
as the new resource
parameter.
This member function allows specifying an enforcement level for the
sequencing relations defined on the resources depending on this parameter.
Sequencing relations are expressed by the member functions IloResourceConstraint::setNext
and
IloResourceConstraint::setNotNext
.
The level
of enforcement of sequencing relations describes how the solver will enforce
these relations. The semantics of these levels is solver dependent. The
default enforcement level is IloBasic
.
This member function allows specifying an enforcement level for the
transition times defined on the invoking resource. Transition times can be
associated with a resource using the class IloTransitionTime
. The level of enforcement of transition
times describes how the solver will enforce these relations. The semantics
of these levels is solver dependent. The default enforcement level is
IloBasic
.
This member function sets it
as the list of transition time
enforcement intervals of the invoking resource.