FRAMES NO FRAMES

Timetable
PREVIOUS NEXT
Description
Initial Occupation
Implementation Considerations
Description

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.

Initial Occupation

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.

Implementation Considerations

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

PREVIOUS NEXT