This paper presents a deadlock prevention method for a class of flexible ma
nufacturing systems where deadlocks are caused by unmarked siphons in their
Petri net models. This method is an iterative approach consisting of two m
ain stages. At each iteration, a fast deadlock detection technique develope
d by mixed integer programming is used to rnd an unmarked maximal siphon. A
n algorithm is formalized that can efficiently obtain an unmarked minimal s
iphon from the maximal siphon. The first stage, called siphons control, of
the proposed method is to add, for each unmarked minimal siphons, a control
place to the original net with its output arcs to the sink transitions of
the minimal siphon. The objective is to prevent a minimal siphon from being
unmarked. The second stage, called augmented siphons control, is to add a
control place to the modified net with its output arcs to the source transi
tions of the resultant net if the resource places are removed. The second s
tage is required since adding control places in the first stage may create
new unmarked siphons. In addition, the second stage assures that there are
no new unmarked siphons generated. The relation of the proposed method and
the liveness and reversibility of the controlled net have been obtained. Fi
nally, manufacturing examples are presented to illustrate the method and to
allow comparison with earlier methods.