Abstract-Scheduling is the process of devising or designing a procedure for a particular objective, specifying the sequence or time for each item in the procedure. Qpical scheduling problems are railway time-tabling, project scheduling, production scheduling, and scheduling computer systems as in flexible manufacturing systems and multiprocessor scheduling. Further, there are a number of related problems belonging to the larger class of planning problems, such as the early stage of project management and resource allocation in a job shop.Scheduling is a rich area demanding the application of efficient methods to tackle the combinatorial explosion that results in real world applications. Recent developments in artificial intelligence (AI) have led to the use of knowledge-based techniques for solving scheduling problems. In this paper, we survey several existing intelligent planning and scheduling systems with the aim of providing a guide to the main AI techniques used. In view of the prevailing difference in usage of the terms planning and scheduling between AI and OR, we present a taxonomy of planning and scheduling problems. We illustrate the modeling of real world problems b m closed deterministic worlds to complex real worlds with the project scheduling example. We survey some of the more successful planning and scheduling systems, and highlight their features. Finally, we consolidate the AI approaches to knowledge representation and problem solving in the project management context. Index Tern-Intelligent systems, knowledge-based systems, planning, project management, scheduling.
I. INTRODUC~ONCHEDULING is the process of devising or designing S a procedure for a particular objective, specifying the sequence or time for each item in the procedure. Typical scheduling problems are railway time-tabling, project scheduling, production scheduling, mass transit scheduling, hydropower scheduling, scheduling nurse shifts in a hospital, etc. Emerging application examples of scheduling in computer systems are in flexible manufacturing systems, multiprocessor scheduling, robot activity scheduling, scheduling in very large scale networks and hard real-time scheduling. Further, there are a number of related problems belonging to the larger class of planning problems, e.g., the early stage of project management, and resource allocation in a job shop. Even this small sample shows the wide range and diversity of scheduling problems, and their importance in almost every sphere of human life stems from the need to utilize limited resources in as efficient a way as possible, simultaneously satisfying several domain-specific constraints.Classical approaches to scheduling problems, as practiced in the management science and operations research (OR) fields, are characterized by a reduction of the problem into a mathematical programming formulation, and subsequent solution by formal algorithmic methods. These approaches face the difficulty that the problem quickly becomes computationally infeasible for even moderately big problems,...