FRAMES NO FRAMES

Class IloReservoir

Definition file: ilsched/iloreservoir.h
Include file: <ilsched/iloscheduler.h>

An instance of the class IloReservoir represents a resource for which activities can both provide capacity and also require capacity. If a maximal capacity of the reservoir 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 IloReservoir or use the IloReservoir::setInitialLevel(IloNum) member function.

The level of a reservoir can vary over time. You can define temporary maximal and minimal levels by using member functions of IloReservoir.

Parameter classes

Minimal and maximal capacity: (class IloNumToNumStepFunction)

These parameters describe the minimal and maximal levels over time. They are directly modified by the member functions IloReservoir::setLevelMin and IloReservoir::setLevelMax. IloNumToNumStepFunction is documented in the extensions section of 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:

Constructor Summary
public IloReservoir()
public IloReservoir(IloReservoirI * impl)
public IloReservoir(const IloEnv env, IloNum capacity=IloMaxCapacityReservoir, IloNum initialLevel=0, const char * name=0)
Method Summary
public IloReservoirI *getImpl() const
public IloNumgetInitialLevel() const
public IloNumgetLevelMax(IloNum time) const
public IloNumgetLevelMaxMax(IloNum timeMin, IloNum timeMax) const
public IloNumgetLevelMaxMin(IloNum timeMin, IloNum timeMax) const
public IloNumgetLevelMin(IloNum time) const
public IloNumgetLevelMinMax(IloNum timeMin, IloNum timeMax) const
public IloNumgetLevelMinMin(IloNum timeMin, IloNum timeMax) const
public voidsetInitialLevel(IloNum level) const
public voidsetLevelMax(IloNum timeMin, IloNum timeMax, IloNum level) const
public voidsetLevelMaxParam(const IloNumToNumStepFunction tfp) const
public voidsetLevelMin(IloNum timeMin, IloNum timeMax, IloNum level) const
public voidsetLevelMinParam(const IloNumToNumStepFunction tfp) const
Inherited Methods from IloCapResource
addMaxTextureIgnoreInterval, addMaxTextureIgnoreInterval, addMaxTextureIgnoreIntervalOnDuration, addMaxTexturePeriodicIgnoreInterval, addMinTextureIgnoreInterval, addMinTextureIgnoreInterval, addMinTextureIgnoreIntervalOnDuration, addMinTexturePeriodicIgnoreInterval, emptyMaxTextureIgnoreIntervals, emptyMinTextureIgnoreIntervals, getCapacity, getImpl, getInitialOccupation, getInitialOccupationMax, getInitialOccupationMin, hasInitialOccupation, hasMaxTextureMeasurement, hasMinTextureMeasurement, removeMaxTextureIgnoreInterval, removeMaxTextureIgnoreInterval, removeMaxTextureIgnoreIntervalOnDuration, removeMaxTexturePeriodicIgnoreInterval, removeMinTextureIgnoreInterval, removeMinTextureIgnoreInterval, removeMinTextureIgnoreIntervalOnDuration, removeMinTexturePeriodicIgnoreInterval, setCapacity, setInitialOccupation, setInitialOccupation, setInitialOccupationParam, setInitialOccupationParam, setMaxTextureHeuristicBeta, setMaxTextureParam, setMaxTextureRandomGenerator, setMinTextureHeuristicBeta, setMinTextureParam, setMinTextureRandomGenerator, unsetMaxTextureRandomGenerator, unsetMinTextureRandomGenerator
Inherited Methods from IloResource
addCapacityEnforcementInterval, addTransitionTimeEnforcementInterval, areCalendarConstraintsIgnored, areCapacityConstraintsIgnored, arePrecedenceConstraintsIgnored, areSequenceConstraintsIgnored, areTransitionTimeConstraintsIgnored, getCalendar, getCalendarEnforcement, getCapacityEnforcement, getDurationEnforcement, getImpl, getPrecedenceEnforcement, getSequenceEnforcement, getTransitionTimeEnforcement, hasCalendar, ignoreCalendarConstraints, ignoreCapacityConstraints, ignorePrecedenceConstraints, ignoreSequenceConstraints, ignoreTransitionTimeConstraints, isCapacityResource, isContinuousReservoir, isDiscreteEnergy, isDiscreteResource, isKeptOpen, isReservoir, isStateResource, isUnaryResource, keepOpen, removeCapacityEnforcementInterval, removeTransitionTimeEnforcementInterval, setCalendar, setCalendarEnforcement, setCapacityEnforcement, setCapacityEnforcementIntervalsParam, setDurationEnforcement, setPrecedenceEnforcement, setResourceParam, setSequenceEnforcement, setTransitionTimeEnforcement, setTransitionTimeEnforcementIntervalsParam
Constructor Detail

IloReservoir

public IloReservoir()
This constructor creates an instance that is empty, that is, one whose handle pointer is null. You must assign it a value before you access it. Any attempt to access it before assignment leads to undefined behaviour.

IloReservoir

public IloReservoir(IloReservoirI * impl)
This constructor creates an instance of the handle class from the pointer to an instance of the implementation class.

IloReservoir

public IloReservoir(const IloEnv env, IloNum capacity=IloMaxCapacityReservoir, IloNum initialLevel=0, const char * name=0)

This constructor creates a new instance of IloReservoir 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 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 reservoir.


Method Detail

getImpl

public IloReservoirI * getImpl() const
This member function returns a pointer to the implementation object of the invoking handle.

getInitialLevel

public IloNum getInitialLevel() const

This member function returns the initial level of the reservoir.


getLevelMax

public IloNum getLevelMax(IloNum time) const

This member function returns the maximal reservoir level that is present at the given time.


getLevelMaxMax

public IloNum getLevelMaxMax(IloNum timeMin, IloNum timeMax) const

This member function returns the maximal value of the reservoir level over the interval [timeMin, timeMax) (that is, the maximal value over the interval [timeMin, timeMax) of the maximal reservoir level).


getLevelMaxMin

public IloNum getLevelMaxMin(IloNum timeMin, IloNum timeMax) const

This member function returns the maximal value of the minimal reservoir level, over the interval [timeMin, timeMax).


getLevelMin

public IloNum getLevelMin(IloNum time) const

This member function returns the minimal level of the invoking reservoir present at the given time.


getLevelMinMax

public IloNum getLevelMinMax(IloNum timeMin, IloNum timeMax) const

This member function returns the minimal value over the interval [timeMin, timeMax) of the maximal reservoir level.


getLevelMinMin

public IloNum getLevelMinMin(IloNum timeMin, IloNum timeMax) const

This member function returns the minimal reservoir level throughout the interval [timeMin, timeMax) (that is, the minimal value over the interval [timeMin, timeMax) of the minimal reservoir capacity).


setInitialLevel

public void setInitialLevel(IloNum level) const

This member function sets the initial level of the reservoir.


setLevelMax

public void setLevelMax(IloNum timeMin, IloNum timeMax, IloNum level) const

This member function states that the level of the reservoir can be at most level throughout the interval [timeMin, timeMax).


setLevelMaxParam

public void setLevelMaxParam(const IloNumToNumStepFunction tfp) const

This member function sets the maximal reservoir level over time to be the function defined in tfp.


setLevelMin

public void setLevelMin(IloNum timeMin, IloNum timeMax, IloNum level) const

This member function states that the level of the reservoir must be at least level throughout the interval [timeMin timeMax).


setLevelMinParam

public void setLevelMinParam(const IloNumToNumStepFunction tfp) const

This member function sets the minimal reservoir level over time to be the function defined in tfp.