A flexible manufacturing system (FMS) is an integrated system of computer numerically controlled (CNC) machine tools, each having an automatic tool interchange capability, and all connected by an automated material handling system. One or more computers control most real-time functions. Flexible manufacturing is realized to be an efficient alternative to conventional manufacturing that allows simultaneous machining of small to medium batches of a variety of part types. Parts can flow through the system in unit batch sizes. These systems typically machine five to forty different part types. In managing these systems, technological requirements indicate that several decisions must be made prior to system start-up. With these requirements in mind, previous research has defined a set of production planning problems, providing a conceptual framework to aid an FMS manager in setting up his/her system to enable efficient production. Several approaches have been taken to solve several of these problems and we describe those here. The main focus in this paper is on only two of these planning problems, the machine grouping and loading problems. In brief, the FMS machine grouping problem is to partition the m i machine tools of type i into g i groups to maximize expected production, subject to FMS technological and capacity constraints. Machines in a group are identically tooled and hence can perform the same operations during production. The FMS loading problem is to allocate operations and associated tooling of a selected set of part types among the machine groups, according to some appropriate (system dependent) loading objective, also subject to technological and capacity constraints. This paper ties some previous results together by suggesting a hierarchical approach to solve actual grouping and loading problems. Both problems are first defined at an aggregated level of detail and in the context of a queyeing network model. At this level, much information is suppressed. However, the robustness of the model allows the application of the obtained theoretical results to a lower level in the hierarchy that considers all details of these problems. In addition, results obtained using the aggregate model can be used as input to the detailed models. Here, the grouping and loading problems are formulated in all detail as nonlinear integer programs, using all available and required information. The use of these models to solve realistic machine grouping and loading problems is then described. Finally, future research needs are suggested.