It has been argued that the use of constraint-based techniques and tools enables the implementation of precise, flexible efficient and extensible scheduling systems; precise and flexible as the system can take into account any constraint expressible in the constraint language; efficient in as much as highly optimised constraint propagation procedures are now available; extensible as the consideration of a new type of constraint may require (especially in an object-oriented framework) only an extension to the constraint system or, in the worst case, the implementation of additional decision-making modules (without needs for modification of the existing code). The paper presents ILOG SCHEDULE, a C++ library enabling the representation of a wide collection of scheduling constraints in terms of `resources' and `activities'. ILOG SCHEDULE is based on SOLVER, the generic software tool for object-oriented constraint programming from ILOG. SOLVER variables and constraints can be accessed from SCHEDULE activities and resources. As a result, SCHEDULE users can make use of SOLVER to represent specific constraints, and implement and combine the specific problem-solving strategies that are the most appropriate for the scheduling application under consideration. It is hoped-and expected-that object-oriented constraint programming tools like SCHEDULE will enable the industry to make decisive steps toward the implementation of `state-of-the-art' highly flexible, constraint-based scheduling applications
Published in:
Intelligent Systems Engineering
(Volume:3
,
Issue:
2
)
Date of Publication: Summer 1994