FRAMES NO FRAMES

Class IloDiscreteResource

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

An instance of the class IloDiscreteResource represents a resource of discrete capacity. Capacity can vary over time: at any given time, the capacity represents the number of copies or instances of the resource that are available. For example, the capacity might be the number of milling machines available in a manufacturing shop or the number of bricklayers at work on a construction site. By discrete, we mean that capacity is defined to be a positive integer.

Each activity may require some amount of the resource capacity, for example, one milling machine or three bricklayers. This requirement is represented by resource constraints.

Minimal Capacity

It is possible to constrain the capacity used so that it exceeds some minimal capacity over some interval of time. No solution will be found if at any point in time the minimal capacity exceeds the maximal capacity.

Parameter classes

Minimal and maximal capacity: (class IloNumToNumStepFunction)

These parameters describe the minimal and maximal capacities over time. They are directly modified by the member functions IloDiscreteResource::setCapacityMin and IloDiscreteResource::setCapacityMax.

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 IloDiscreteResource()
public IloDiscreteResource(IloDiscreteResourceI * impl)
public IloDiscreteResource(const IloEnv env, IloNum capacity, const char * name=0)
Method Summary
public IloNumgetCapacityMax(IloNum time) const
public IloNumgetCapacityMaxMax(IloNum timeMin, IloNum timeMax) const
public IloNumgetCapacityMaxMin(IloNum timeMin, IloNum timeMax) const
public IloNumgetCapacityMin(IloNum time) const
public IloNumgetCapacityMinMax(IloNum timeMin, IloNum timeMax) const
public IloNumgetCapacityMinMin(IloNum timeMin, IloNum timeMax) const
public IloDiscreteResourceI *getImpl() const
public voidsetCapacityMax(IloNum timeMin, IloNum timeMax, IloNum capacity) const
public voidsetCapacityMaxParam(const IloNumToNumStepFunction tfp) const
public voidsetCapacityMin(IloNum timeMin, IloNum timeMax, IloNum capacity) const
public voidsetCapacityMinParam(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

IloDiscreteResource

public IloDiscreteResource()
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.

IloDiscreteResource

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

IloDiscreteResource

public IloDiscreteResource(const IloEnv env, IloNum capacity, const char * name=0)

This constructor creates a new instance of IloDiscreteResource and adds it to the set of resources managed in the environment. The theoretical capacity of the resource is capacity. The argument name is the name of the constructed IloDiscreteResource.


Method Detail

getCapacityMax

public IloNum getCapacityMax(IloNum time) const

This member function returns the maximal capacity that can be used at a given time.


getCapacityMaxMax

public IloNum getCapacityMaxMax(IloNum timeMin, IloNum timeMax) const

This member function returns the maximal value of the maximal resource capacity over the interval [timeMin, timeMax).


getCapacityMaxMin

public IloNum getCapacityMaxMin(IloNum timeMin, IloNum timeMax) const

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


getCapacityMin

public IloNum getCapacityMin(IloNum time) const

This member function returns the minimal capacity that must be used or is actually used at the given time.


getCapacityMinMax

public IloNum getCapacityMinMax(IloNum timeMin, IloNum timeMax) const

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


getCapacityMinMin

public IloNum getCapacityMinMin(IloNum timeMin, IloNum timeMax) const

This member function returns the minimal value of the minimal resource capacity over the interval [timeMin, timeMax).


getImpl

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

setCapacityMax

public void setCapacityMax(IloNum timeMin, IloNum timeMax, IloNum capacity) const

This member function states that at most capacity can be used throughout the interval [timeMin, timeMax).


setCapacityMaxParam

public void setCapacityMaxParam(const IloNumToNumStepFunction tfp) const

This member function sets tfp as the maximum capacity profile parameter of the invoking resource.


setCapacityMin

public void setCapacityMin(IloNum timeMin, IloNum timeMax, IloNum capacity) const

This member function states that at least capacity must be used throughout the interval [timeMin, timeMax).


setCapacityMinParam

public void setCapacityMinParam(const IloNumToNumStepFunction tfp) const

This member function sets tfp as the minimum capacity profile parameter of the invoking resource.