Overview | Group | Tree | Graph | Index | Concepts |
Description |
Initial Occupation |
Implementation Considerations |
An important concept embodied in the implementation of resources is the concept of a
timetable constraint. Semantically, a
table can be seen as a variable, the value of which is a function associating a value
v(t)
with each point in time
t
. In the Scheduler
Engine, we have two types of timetables, corresponding to the classes IlcIntTimetable
and IlcAnyTimetable
.
In the case of IlcIntTimetable
, the values
v(t)
are
integers. An instance of the class IlcIntTimetable
manages the minimal and maximal possible values for
v(t)
for each point in time
t
. It also allows you
to define constraints on these minimal and maximal values as a function of time. The class IlcIntTimetable
is used for
capacity
resources, that is, instances of the classes IlcDiscreteEnergy
, IlcDiscreteResource
, or IlcReservoir
.
In the case of IlcAnyTimetable
, the values
v(t)
are pointers to arbitrary objects. An instance of the class IlcAnyTimetable
manages all possible values for
v(t)
for each point in time
t
. It also allows
you to define constraints on these possible values as a function of time. The class IlcAnyTimetable
is used for
state
resources, that is, instances of the class IlcStateResource
.
When associated with a resource by a timetable constraint, a timetable represents the occupation of the resource by activities. Scheduler Engine provides a way to setup an initial occupation of capacity resources without having to declare the corresponding activities.
The initial occupation is defined by an instance of the
IlcIntToIntStepFunction
class.
The value of the function at a time point is considered to be the sum of the requirements of fictitious activities.
This facility is intended to help in solving problems by iteratively adding a new set of activities to schedule or in improving solutions by rescheduling a subset of the activities.
The timetables in Scheduler Engine store only the instants in time at which the status of the timetable changes. Information in the timetable is accessed and modified in time proportional to the number of status changes.
See Also
IlcAnyTimetable, IlcCapResource, IlcIntTimetable, IlcResource, IlcStateResource, IBM ILOG Solver Reference Manual:IlcIntToIntStepFunction