This paper introduces a multi-level heuristic search algorithm for identifying the optimal production schedule considering different levels of manufacturing requirements and constraints. In this multi-level heuristic search-based scheduling system, production requirements and constraints are represented at three different levels: task level, process level, and resource level. A task describes a manufacturing requirement. A process defines a method to achieve the goal of a task. A resource, such as a machine or a person, is a facility for accomplishing a required process. The scheduling system was implemented using Smalltalk, an object oriented programming language.