Overview | Group | Tree | Graph | Index | Concepts |
An instance of the class IloDiscreteEnergy
represents a
resource available as a certain amount of energy (for example, in
watt-hours, in human-months) over certain time buckets (for example,
minutes, hours, months, years). The available energy of a time bucket is
used by the activities executed on that time bucket, and as a consequence,
energy capacity constraints use the energy of the discrete energy
resource.
For example, let's assume that each unit of time corresponds to an hour, and that we have defined a discrete energy resource that has a time step of 24 (corresponding to a day), and energy 10. Then if we have an activity of duration 3 (hours) that requires the resource with capacity 2 (machines), it uses energy of 6 (machine-hours). Thus, if this activity is scheduled on the first day, the remaining energy for that first day is 4 (machine-hours).
An instance of the class IloDiscreteEnergy
uses the concept
of energy, differing from the class IloDiscreteResource
, which uses the concept of instantaneous
capacity. However, when the time step of the resource is 1 (one), the energy
over an interval corresponds to the instantaneous capacity, and thus in that
case, there is no difference between the two classes. The time buckets of
the discrete energy resource are defined by the capacity enforcement
intervals parameter.
Parameter classes
Minimal and maximal capacity: (class IloNumToNumStepFunction
)
These parameters describe the minimal and maximal energy per time bucket
over time. They are directly modified by the member functions
IloDiscreteEnergy::setEnergyMin
and IloDiscreteEnergy::setEnergyMax
.
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. Also see Resource Usage Profiles.
See Also:
IloResource, IloCapResource, IloEnforcementLevel
Constructor Summary | |
---|---|
public | IloDiscreteEnergy() |
public | IloDiscreteEnergy(IloDiscreteEnergyI * impl) |
public | IloDiscreteEnergy(const IloEnv env, IloNum timeStep, IloNum capacity, const char * name=0) |
Method Summary | |
---|---|
public IloNum | getEnergyMax(IloNum time) const |
public IloNum | getEnergyMaxMax(IloNum timeMin, IloNum timeMax) const |
public IloNum | getEnergyMaxMin(IloNum timeMin, IloNum timeMax) const |
public IloNum | getEnergyMin(IloNum time) const |
public IloNum | getEnergyMinMax(IloNum timeMin, IloNum timeMax) const |
public IloNum | getEnergyMinMin(IloNum timeMin, IloNum timeMax) const |
public IloDiscreteEnergyI * | getImpl() const |
public void | setEnergyMax(IloNum timeMin, IloNum timeMax, IloNum energy) const |
public void | setEnergyMaxParam(const IloNumToNumStepFunction tfp) const |
public void | setEnergyMin(IloNum timeMin, IloNum timeMax, IloNum energy) const |
public void | setEnergyMinParam(const IloNumToNumStepFunction tfp) const |
Constructor Detail |
---|
This constructor creates a new instance of IloDiscreteEnergy
and adds it to the set of resources managed in the given environment. The
argument timeStep
represents the default size of time buckets.
The energy of the resource is limited to capacity
for each time
bucket.
Method Detail |
---|
This member function returns the maximal energy that can be used at the
given time
.
This member function returns the maximal energy that can be used
throughout the interval [timeMin, timeMax)
(that is, the maximal
value over the interval [timeMin, timeMax)
of the maximal
resource energy).
This member function returns the maximal value, over the interval
[timeMin, timeMax)
, of the minimal resource energy.
This member function returns the minimal energy that must be used at the
given time
.
This member function returns the minimal value, over the interval
[timeMin, timeMax)
, of the maximal resource energy.
This member function returns the minimal energy that must be used
throughout the interval [timeMin, timeMax)
(that is, the minimal
value over the interval [timeMin, timeMax)
of the minimal
resource energy).
This member function states that the maximal energy per time bucket
required throughout the interval [timeMin,
timeMax
)
is at least energy
.
This member function sets the maximal energy per time bucket over time to
be the function defined in tfp
.
This member function states that the minimal energy per time bucket
required throughout the interval [timeMin
timeMax
)
is at least energy
.
This member function sets the minimal energy per time bucket over time to
be the function defined in tfp
.