Robust supervisory control is an important issue for automated manufacturing systems (AMSs) with multiple unreliable resources. This study uses Petri nets to model failure-prone AMSs with multi-unit and multi-type resource acquisitions and releases. First, we propose the necessary and sufficient condition for the robustness of a supervisor. Then, two kinds of states, namely blocking-markings (BMs) and result-in-BMs (RBMs), are found to cause blocking during system operation, and further they are defined precisely based on the structure perfect activity circuit (PAC) in Petri net model. An algorithm of polynomial complexity is presented to determine whether a BM or RBM is co-reachable from a non-BM or non-RBM. By the aid of this algorithm, we compute the reduced state space that does not contain any BM or RBM without enumerating each reachable state. Based on the reduced state space, an optimal robust supervisor is established, not only guaranteeing the continuous production of all job types even if some resources fail, but also having the most reachable states. Some experiments are used to validate the effectiveness and efficiency of the proposed method.