Overview | Group | Tree | Graph | Index | Concepts |
An instance of the class IloStateResource
represents a
resource of infinite capacity, the state of which can vary over time. Each
activity may, throughout its execution, require a state resource to be in a
given state (or in any of a given set of states). Consequently, two
activities may not overlap if they require incompatible states during their
execution.
Parameter Classes
Possible states: (class IloNumToAnySetStepFunction
)
This parameter describes the possible states of the state resource over
time. It is directly modified by the following member functions:
IloStateResource::addPossibleStates
,
IloStateResource::addPossibleState
, IloStateResource::removePossibleStates
, and IloStateResource::removePossibleState
.
Must be in use intervals: (class IloIntervalList
)
This parameter describes the set of time intervals during which the
resource needs to be used by some activities. It is directly modified by the
following member functions: IloStateResource::setMustBeInUse
, and
IloStateResource::unsetMustBeInUse
.
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.
Also see IloNumToAnySetStepFunction
and
IloIntervalList
in the extensions section of the IBM ILOG Concert Technology Reference Manual.
See Also:
IloEnforcementLevel, IloResource, IloResourceConstraint
Constructor Summary | |
---|---|
public | IloStateResource() |
public | IloStateResource(IloStateResourceI * impl) |
public | IloStateResource(const IloEnv env, const IloAnySet states, const char * name=0) |
Method Summary | |
---|---|
public void | addPossibleState(IloNum timeMin, IloNum timeMax, IloAny state) const |
public void | addPossibleState(IloAny state) const |
public void | addPossibleStates(IloNum timeMin, IloNum timeMax, const IloAnySet states) const |
public void | addPossibleStates(const IloAnySet states) const |
public IloStateResourceI * | getImpl() const |
public IloAnySet | getPossibleStates(IloNum time) const |
public IloAnySet | getPossibleStates() const |
public IloBool | isAlwaysPossibleState(IloNum timeMin, IloNum timeMax, IloAny state) const |
public IloBool | isEverPossibleState(IloNum timeMin, IloNum timeMax, IloAny state) const |
public IloBool | isPossibleState(IloNum time, IloAny state) const |
public void | removePossibleState(IloNum timeMin, IloNum timeMax, IloAny state) const |
public void | removePossibleState(IloAny state) const |
public void | removePossibleStates(IloNum timeMin, IloNum timeMax, const IloAnySet states) const |
public void | removePossibleStates(const IloAnySet states) const |
public void | setMustBeInUse(IloNum timeMin, IloNum timeMax) const |
public void | setMustBeInUseParam(const IloIntervalList intervals) const |
public void | setPossibleStatesParam(const IloNumToAnySetStepFunction states) const |
public void | unsetMustBeInUse(IloNum timeMin, IloNum timeMax) const |
Constructor Detail |
---|
This constructor creates a new instance of IloStateResource
and adds it to the set of resources managed in the given environment. The
argument states
is the set of pointers that can be accepted as
possible states for the resource. If the argument name
is
defined, it is assigned as the name of the newly created state resource.
Method Detail |
---|
This member function adds a given state
to the set of
possible states of the invoking resource over the interval [timeMin, timeMax)
.
This member function adds a state
to the set of possible
states of the invoking resource.
This member function adds a set of states
to the set of
possible states of the invoking resource over the interval [timeMin, timeMax)
.
This member function adds a set of states
to the set of
possible states of the invoking resource.
This member function returns the set of possible states of the invoking
resource at a given time
.
This member function returns the set of possible states of the invoking resource.
This member function returns IloTrue
if and only if it is
possible that the invoking resource is in the given state
over the entire interval [timeMin, timeMax)
. Otherwise,
it returns IloFalse
.
This member function returns IloTrue
if and only if it is
possible that the invoking resource is in the given state
at some point in the interval [timeMin, timeMax)
.
Otherwise, it returns IloFalse
.
This member function returns IloTrue
if and only if it is
possible that the invoking resource is in the given state
at
the given time
. Otherwise, it returns
IloFalse
.
This member function states that the invoking resource must not be in the
given state
at any time in the interval [timeMin, timeMax)
.
This member function removes a state
from the set of
possible states of the invoking resource.
This member function states that the invoking resource must not be in any
of the given states
at any time in the interval [timeMin, timeMax)
.
This member function removes a set of states
from the set of
possible states of the invoking resource.
This member function states that the invoking resource must be in use and
that it cannot be idle over the interval [timeMin, timeMax)
.
This member function sets the argument intervals
as the list
of time intervals during which the invoking resource must be in use.
This member function sets the argument states
as the
function that describes the possible states of the invoking resource over
time.
This member function states that the invoking resource does not need to
be in use during the interval [timeMin, timeMax)
.