IBM ILOG Scheduler User's Manual > Advanced Concepts > Scheduling with Durable Resources

Scheduler offers an easy way to build applications where the same resources are used successively in different scheduling problems and information about resource availability is kept from one problem to another. Such resources are called durable resources and they are created on durable schedules.

This facility is particularly useful in applications which naturally decompose into parts between which no backtracking may occur, and where the sole information of interest from one part to another is the resource availability.

Scheduling with durable resources can also be a good approach for coping with large problems containing many activities and constraints. By choosing to decompose the problem into independent parts which are using the same durable resources, the global complexity may be drastically cut down. Of course, with such a decomposition you solve only a relaxed form of the initial problem, and thus you cannot get an optimal solution. However, decomposing the problem and using durable resources may be the only practical approach to tackling such large scheduling problems.

In this chapter we present an example illustrating the typical steps encountered when writing an application using durable resources. These steps are:

  1. Create the durable resources.
  2. Use the durable resources in different schedules to define and solve a particular scheduling problem.
  3. Lock the particular durable resources needed by the schedule prior to using them.
  4. After solving the specific scheduling problem, explicitly unlock the locked durable resources, thus making them available to other schedules.
  5. Once a resource is unlocked by a schedule, any further computation done on that schedule will no longer interfere with the unlocked resource, except for backtracking. That is, backtracking a decision that modified the timetable of a resource will undo the modification, even if the resource has been unlocked.