This paper presents a new method of computing a minimal supervisory structure that optimally enforces liveness on the Petri net models for flexible manufacturing systems (FMSs). The proposed method utilizes the structural properties of a Petri net model to avoid the computation of its reachability graph, which in general leads to the state explosion problem. This paper aims to design a single control place for each concurrent process of a Petri net model or a sub-net model, which thus provides a constant number of control places in a supervisor regardless of the number of resource places in a Petri net or sub-net model. It is shown that the structural size of a supervisor is minimal as the number of control places depends on the number of concurrent processes in the Petri net model. Precisely, two algorithms are developed in this paper. The first aims to compute active uncontrolled transitions and the second is concerned with a method to compute the generalized mutual exclusion constraints (GMECs) for each process of the Petri net model of an FMS. Furthermore, it provides an approach to design control places for each computed GMEC without solving integer linear programming problems, which greatly reduces the computational costs. When the computed control places are coupled with the uncontrolled Petri net model for an FMS, it optimally enforces liveness behavior of the Petri net model, and hence ensures the high utilization of resources in a considered system.