IBM ILOG Scheduler User's Manual > Meet IBM ILOG Scheduler > What is IBM ILOG Scheduler? > Typical Problems and Applications

Scheduling can be seen as the process of assigning activities to resources over time. Scheduling problems also require the management of minimal or maximal capacity constraints over time. While there is great diversity in scheduling problems, we can distinguish three main categories of problems:

There are many other scheduling problem types that can be solved using Scheduler, such as:

Within these different problem types, a wide variety of constraints may need to be satisfied. Different environments are subject to different constraints which contribute more or less to the complexity of the problem. For example, one factory scheduling problem may involve only machines as resources, while another may also require the consideration of the abilities of human operators. The methods to schedule operators may be very different from those dealing with machines.

There also exists a wide variety in the size of scheduling problems. This size may vary from a few dozen activities to hundreds of thousands of activities. For complexity reasons, the methods that work well for small problems may not be applicable to bigger problems.

Several other properties that may be used to guide the search for a solution can also be quite different, not only from one environment to another but even from one day to another. For example, the presence and importance of bottleneck resources varies with the global load of a factory, and that load obviously may differ from day to day. The effectiveness and efficiency of scheduling rules depending on these kinds of properties differ from one situation to another.

Besides the diversity in the possible data of scheduling problems, different environments may require different performance from the algorithms solving the problems. For example, for some applications an acceptable response time for the construction of a schedule is not more than a few microseconds; other applications, however, will allow a response time of a few days. In contrast, for some applications, it suffices to have a "reasonable" solution, whereas others require near-optimal solutions.

The existence of such disparities implies that rigid scheduling procedures, designed to provide optimal or near-optimal schedules in particular circumstances, in general are not satisfactorily applicable in other circumstances. This led to the development of an extendible library--Scheduler--for representing scheduling and resource allocation problems.

Since its development, Scheduler has been used to create a variety of applications, including: