Overview | Group | Tree | Graph | Index | Concepts |
An instance of the class IloContinuousReservoir
represents a
resource which activities can either fill or empty. The process is
continuous and linear between the start and the end of the activity. If the
duration of the activity is null, the filling (or emptying) process is
instantaneous (so not continuous). The continuous reservoir cannot be
emptied if it is already empty and, if a maximal capacity is defined, then
this maximal capacity, or level, will never be exceeded.
When the model of your problem represents an ongoing process, you may be
faced with the fact that a reservoir level already exists. You can simply
pass an initial level like that to the constructor of
IloContinuousReservoir
or use the IloContinuousReservoir::setInitialLevel
member function.
The maximum and minimum levels of a continuous reservoir can vary over
time. You can define them by using member functions of
IloContinuousReservoir
.
Parameter classes
Minimal and maximal capacity: (class IloNumToNumSegmentFunction
)
These parameters describe the minimal and maximal levels over time. They
are directly modified by the member functions IloContinuousReservoir::setLevelMin
and IloContinuousReservoir::setLevelMax
. The class IloNumToNumSegmentFunction
is documented in the
IBM ILOG Concert Technology Reference Manual.
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.
See Also:
IloEnforcementLevel, IloCapResource, IloResourceConstraint
Constructor Summary | |
---|---|
public | IloContinuousReservoir() |
public | IloContinuousReservoir(IloContinuousReservoirI * impl) |
public | IloContinuousReservoir(const IloEnv env, IloNum capacity=IloMaxCapacityReservoir, IloNum initialLevel=0, const char * name=0) |
Method Summary | |
---|---|
public IloContinuousReservoirI * | getImpl() const |
public IloNum | getInitialLevel() const |
public IloNum | getLevelMax(IloNum time) const |
public IloNum | getLevelMaxMax(IloNum timeMin, IloNum timeMax) const |
public IloNum | getLevelMaxMin(IloNum timeMin, IloNum timeMax) const |
public IloNum | getLevelMin(IloNum time) const |
public IloNum | getLevelMinMax(IloNum timeMin, IloNum timeMax) const |
public IloNum | getLevelMinMin(IloNum timeMin, IloNum timeMax) const |
public void | setInitialLevel(IloNum level) const |
public void | setLevelMax(IloNum timeMin, IloNum timeMax, IloNum level) const |
public void | setLevelMaxParam(const IloNumToNumSegmentFunction tfp) const |
public void | setLevelMin(IloNum timeMin, IloNum timeMax, IloNum level) const |
public void | setLevelMinParam(const IloNumToNumSegmentFunction tfp) const |
Constructor Detail |
---|
This constructor creates a new instance of
IloContinuousReservoir
and adds it to the set of resources
managed in the given environment. The capacity
argument
expresses the capacity of the new reservoir. The capacity may be consumed by
certain activities and produced by others. The argument
initialLevel
defines an initial amount in the reservoir at the
time origin of the schedule environment. By default, the continuous
reservoir is assumed to be empty at the time origin; that is, the initial
level is 0 (zero). If the argument name
is defined, it is
assigned as the name of the newly created continuous reservoir.
Method Detail |
---|
This member function returns the initial level of the continuous reservoir; that is, the initial level that was passed to the continuous reservoir constructor.
This member function returns the maximal level of the invoking continuous
reservoir at the given time
.
This member function returns the maximal value of the level of the
invoking continuous reservoir over the interval [timeMin,
timeMax)
(that is, the maximal value over the interval [timeMin,
timeMax)
of the maximal reservoir level).
This member function returns the maximal value of the minimal level of
the invoking continuous reservoir over the interval [timeMin
timeMax)
.
This member function returns the minimal level of the invoking continuous
reservoir at the given time
.
This member function returns the minimal value over the interval
[timeMin, timeMax)
of the maximal level of the invoking
continuous reservoir.
This member function returns the minimal level of the invoking continuous
reservoir throughout the interval [timeMin, timeMax)
(that is,
the minimal value over the interval [timeMin, timeMax)
of the
minimal reservoir level).
This member function sets the initial level of the invoking continuous reservoir.
This member function states that the level of the continuous reservoir
can be at most level
throughout the time interval
[timeMin, timeMax)
.
An instance of
IloException
is thrown if the timetable of the invoking
continuous reservoir does not cover the complete interval indicated by
[timeMin, timeMax)
. The continuous reservoir must be
closed in order to propagate constraints.
This member function sets the maximal level of the continuous reservoir over
time to be the function defined in tfp
.
This member function states that the level of the continuous reservoir
must be at least level
at each integer time point of the
interval [timeMin, timeMax)
. An instance of
IloException
is thrown if the timetable of the invoking
continuous reservoir does not cover the complete interval indicated by
[timeMin, timeMax)
. The continuous reservoir must be
closed in order to propagate constraints.
This member function sets the minimal level of the continuous reservoir over
time to be the function defined in tfp
.