Abstract
This paper considers the deadlock prevention problem for a class of conjunctive/disjunctive resource allocation systems (C/D-RAS) in which multiple resource acquisitions and flexible routings are allowed. The proposed policy is developed in a generalized Petri net framework by an iterative algorithm. Each Iteration uses a mixed integer programming (MIP) formulation to find both a bad marking and Insufficiently marked siphon. Two new strategies are then presented. One alms to maximize the permissiveness of a liveness-enforcing supervisor while another to minimize the computational and supervisor's complexity. Experimental results validate the effectiveness of these two strategies.