J Syst Sci Syst Eng (Mar 2012) 21(1): 106-125 DOI: 10.1007/s11518-012-5188-z
ISSN: 1004-3756 (Paper) 1861-9576 (Online) CN11-2983/N
AN EXTRACTION ALGORITHM FOR A SET OF ELEMENTARY SIPHONS BASED ON MIXED−INTEGER PROGRAMMING Shaoyong LI1,2
Zhiwu LI1
Hesuan HU1
Abdulrahman Al-AHMARI3
Aimin AN2
1
School of Electro-Mechanical Engineering, Xidian University, Xi'an 710071, P. R. China
[email protected] ()
[email protected]
2
School of Civil Engineering, Lanzhou University of Technology, Lanzhou 730050, P. R. China
[email protected] 3
College of Engineering, King Saud University, Riyadh 11421, Saudi Arabia
Abstract Elementary siphons are useful in the development of a deadlock prevention policy for a discrete event system modeled with Petri nets. This paper proposes an algorithm to iteratively extract a set of elementary siphons in a class of Petri nets, called system of simple sequential processes with resources (S3PR). At each iteration, by a mixed-integer programming (MIP) method, the proposed algorithm finds a maximal unmarked siphon, classifies the places in it, extracts an elementary siphon from the classified places, and adds a new constraint in order to extract the next elementary siphon. This algorithm iteratively executes until no new unmarked siphons can be found. It finally obtains a unique set of elementary siphons and avoids a complete siphon enumeration. A theoretical analysis and examples are given to demonstrate its efficiency and practical potentials. Keywords: Petri net, flexible manufacturing system, deadlock prevention, mixed integer programming, elementary siphon
1. Introduction Deadlocks often occur in a flexible manufacturing system (FMS) where two or more jobs share a specific type of mutually exclusive resources. Petri nets (Peterson 1981), as promising modeling tools, have been widely
used to deal with this undesirable situation (Park & Reveliotis 2001, Piroddi et al. 2008, Wu & Zhou 2005). The existence of emptiable minimal siphons in a Petri net is a fundamental cause of deadlocks (Huang et al. 2006, Piroddi et al. 2009, Uzam & Zhou 2007).
This work is supported by the Natural Science Foundation of China under Grant No. 60773001, 61074035, 61064003,and 50978129; the Fundamental Research Funds for the Central Universities under Grant No. JY10000904001; the National Research Foundation for the Doctoral Program of Higher Education, the Ministry of Education, P.R. China, under Grant No. 20090203110009; the “863” High-tech Research and Development Program of China under Grant No. 2008AA04Z109; and the Alexander von Humboldt Foundation. Systems Engineering Society of China & Springer-Verlag Berlin Heidelberg 2012
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
In general, the number of such siphons in a Petri net grows quickly with respect to its size (Li & Zhou 2009, Tricas & Ezpeleta 2006). Therefore, deciding how to efficiently find these siphons and design a structurally simple liveness-enforcing supervisor is important and challenging. Ezpeleta et al. (1995) put forward a deadlock prevention policy for an S3PR (system of simple sequential processes with resources) that is prone to deadlocks by adding monitors (control places) to prevent the presence of unmarked siphons, leading to a liveness-enforcing supervisor. However, their method usually results in a much more structurally complex supervisor than the originally built Petri net model. Therefore, this model is impractical for large-sized Petri net models. To address the issue, Li & Zhou (2004a) proposed the concept of elementary siphons in Petri nets, which are a special class of strict minimal siphons (SMSs). In their study, SMSs can be classified into two categories: elementary and dependent siphons. The number of elementary siphons is much smaller than that of SMSs in a Petri net model of a large-scale system. If the elementary siphons are invariant-controlled in a Petri net, their dependent siphons can be always marked under certain conditions (Li & Zhou 2006). Accordingly, structurally simple Petri net controllers with liveness can then be obtained. Many deadlock prevention strategies focus on the control of elementary siphons. Deciding how to efficiently find a set of such siphons in a Petri net becomes extremely critical and challenging in order to tackle the structural complexity of supervisors. By solving a mixed-integer programming problem (MIP) (Chu & Xie 1997),
107
a maximal unmarked siphon (denoted as Smax ) can be conveniently found in a Petri net. By the method in Li & Liu (2007), a minimal siphon can be derived from a maximal unmarked siphon. Actually, depending on the selection order of the places in Smax to be processed, different minimal siphons can be derived. In other words, the derived minimal siphons are not unique. Partially enlightened by the approach in Li & Liu (2007), we develop a novel algorithm to iteratively extract a set of elementary siphons in an S 3 PR for a deadlock control purpose. At each iteration, by the MIP method that can conveniently find maximal unmarked siphons closely related to deadlocks in a Petri net (Chu & Xie 1997), the proposed algorithm first finds a maximal unmarked siphon Smax from which two minimal siphons are derived. According to Chao (2006) and Li & Zhou (2008), any siphon that has more resource places can be composed by those containing less resource places. Minimizing the number of resource places is critical to extract elementary siphons, which is similar to the concept of minimal resource requirements in Hsieh & Chang (1994). Accordingly, this algorithm classifies the places in them, extracts an elementary siphon from the classified places, and iteratively executes by adding new constraints until no new unmarked siphons can be found. As a result, an elementary siphon set in an S 3 PR can be obtained in this study. Although the problem of extracting elementary siphons under consideration is NP-complete because MIP is NP-complete, it obtains a unique set of elementary siphons and avoids a complete siphon enumeration.
108
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
Theoretical analysis and examples that are presented in the following demonstrate its efficiency and potentials. This paper is organized as follows. Section 2 reviews preliminaries of the Petri nets used throughout this work. Section 3 classifies the places in a maximal unmarked siphon obtained by the MIP method. An extraction algorithm for a set of elementary siphons is developed, and its correctness is proven in Section 4. Section 5 introduces two examples that illustrate the proposed method and its potential applications to deadlock prevention strategy design. The feature of a deadlock prevention policy using the proposed algorithm in a real world application is in Section 6. Finally, Section 7 concludes this paper.
2. Preliminaries This section reviews the preliminaries to make the paper self-contained. Subsection 2.1 is concerned with basic concepts of Petri nets. Elementary and dependent siphons are introduced in Subsection 2.2. The MIP method is presented in Subsection 2.3.
2.1 Petri Nets A Petri net (Peterson 1981) is a four-tuple N ( P, T , F , W ) , where P and T are finite and non-empty sets. P is a set of places and T is a set of transitions with P T 0 and P T 0 . F ( P T ) (T P ) is called the flow relation or the set of directed arcs. W : ( P T)(T P) N is a mapping that assigns a weight to an arc: W ( x, y ) 0 if ( x, y ) F , and W ( x, y ) 0 otherwise, where x, y P T , and N denotes the set of non-negative integers. N ( P, T , F , W ) is
called an ordinary net, denoted as N ( P, T , F ) , if f F , W ( f ) 1. N ( P, T , F ,W ) is called a generalized net, if f F , W ( f ) 1 . Given a node x P T, x { y P T ( y, x) F } is called the preset of node x , while x { y P T ( x, y ) F } is called the postset of node x . A marking is a mapping M : P N . ( N , M 0 ) is called a marked Petri net or a net system. The set of markings reachable from M in N is denoted as R ( N , M ) . Incidence matrix [ N ] of net N is a PT integer matrix with [ N ]( p,t ) W (t, p) W ( p,t ) , where P and T denote the number of places and transitions in N , respectively. N i ( Pi , Ti , Fi , Wi ) is a subnet of N ( P, T , F , W ), which is generated by X Pi Ti , if Fi F ( X X ), f Fi , Wi ( f ) W ( f ), Pi P, and Ti T . The subnet derived from ( Smax Smax Smax ) is denoted as N Smax , where Smax is a maximal unmarked siphon that is obtained by the MIP technique in Chu & Xie (1997). A pair of a place p and a transition t is called a self-loop if both p t and p t are true. A Petri net is said to be pure or self-loop free if it has no self-loop. A string x1 , x2 , , xn is called a path of N if i {1, 2, , n 1},
x2 , , xn },
xi 1 xi where x {x1 ,
x P T . An elementary path
from x1 to xn is a path whose nodes are all different (except, perhaps, x1 and xn ). A path x1 , x2 , xn is called a circuit if it is an elementary path with x1 xn . An ordinary Petri net N is called a state machine if t T ,
t t 1.
A state
N ' ( P ', T ', F ', W ')
machine of
a
component Petri
net
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
N ( P, T , F , W ) is a state machine and is a
subnet of N consisting of places in P ' , their presets and postsets, and related arcs. A Petri net is said to be state machine decomposable if it is covered by state machine components. A P (T ) -vector is a column vector I ( J ) : P (T ) Z indexed by P (T ) , where Z is the set of integers. I is a P -invariant (denoted by P -inv for short) if I 0 and I T [ N ] 0T . P -inv I is said to be a P -semiflow if every element of I is nonnegative. I { p P, I ( p ) 0} is called the support of I. I
{ p I ( p ) 0}
support of I.
I
denotes
the
positive
{ p I ( p ) 0} denotes the
negative support of I . A nonempty set S P
is a siphon (trap) if
Definition 2.1 Let S P be a subset of places of Petri net N ( P, T , F ,W ) . P -vector S is called the characteristic P -vector of S if p P, S ( p ) 1 ; otherwise, S ( p ) 0 . Definition 2.2 Let S P be a subset of places of Petri net N ( P, T , F ,W ) and S be the characteristic P -vector of S . T -vector S is called the characteristic T -vector of S if S [ N ]T S , where [ N ]T is the transpose of incidence matrix [ N ] . Definition 2.3 Let N ( P, T , F ,W ) be a net with P m, T n and k siphon, S1 , S2 , , Sk , m, n, k N {1, 2,}. Let Si ( Si )
characteristic
be the
P (T ) -vector of siphon
Si ,
i N k {1, 2, , k}. We define
k m S
S S ( S S ). A
siphon is minimal if it does not contain any siphon as a proper subset. A minimal siphon S
109
1
S2 Sk
T
and
k n k m N mn S
1
T
S2 Sk .
is called a strict minimal siphon (SMS) if it does not contain a trap. is used to denote the set of SMS in a Petri net. Siphon S is P -inv controlled by P -inv I under M 0 if
is called the characteristic P (T ) -vector matrix of the siphons in N . Definition 2.4 Let S , S ,..., and S ,
IT M0 0
({ , , , } N k ) be a linearly independent
and
economy
p I
I ( p ) p,
of
{ p P I ( p ) 0} S .
pace,
t J
For
pP M ( p) p,
J (t )t , denote markings
M , P -vector I, and T -vector J , respectively. For example, M (1, 2, 0, 0, 0)T is written as M p1 2 p2 . As for the standard definitions of
deadlock-freeness, liveness, reversebility, and boundedness, readers are referred to Murata (1989).
2.2 Elementary Siphons of Petri Nets This subsection provides the concept of elementary and dependent siphons in a Petri net (Li & Zhou 2004a, 2006).
[ ]([ ])
maximal
set
of
E ( S , S ,..., S )
.
matrix is
called
a
Then set
of
elementary siphons in N . Definition 2.5 S E is called a strongly dependent siphon if S S ai Si , where i
E
ai 0 . Definition 2.6 S E is called a weakly dependent siphon if A, B E , such that A 0, B 0, A B 0, and S
S A aiS S B a jS i
i
j
j
, where ai 0 and
aj 0 .
Next, we present an MIP method to find a maximal unmarked siphon from a Petri net if it
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
110
exists.
2.3 MIP Method For clarity, an MIP method (Chu & Xie 1997) is briefly recalled. Given a siphon S two binary indicators are introduced:
p 1{ p S} and zt 1{t S } .
(1)
Clearly, any p with p 1 is not in S. If zt 1 , places in t are not in S as well. Because S is a siphon, p 0 zt 0, t p
and
zt 1 p 1, p t .
We
have zt
ν p t
1, t T ,
(2)
p t
p zt , (t, p) F ,
(3)
p , zt {0,1} .
(4)
In the case of a structurally bounded net, we have
p M ( p ) / ( p ) , p P ,
(5)
where
( p) max{M ( p ) M M 0 N Y , M 0, Y 0}
is the structural bound of place p. Consequently, the solution to the following MIP problem can find a maximal unmarked siphon at a given marking M iff G MIP ( M 0 ) P : G MIP ( M 0 ) min
p ,
(6)
pP
3. Place Classification This section classifies the places in a maximal unmarked siphon in the subnet generated by ( Smax Smax Smax ). The definition of an S 3 PR and its related results are first presented in Subsection 3.1. The classification of places is then demonstrated via an example in Subsection 3.2.
3.1 S3PR An S 3 PR can be used to model a large class of FMS. Its definition and related results are given as follows (Li & Zhou 2009): Definition 3.1 A simple sequential process ( S 2 P ) is a Petri net N ({ p 0 } PA , T , F ) , ( p PA is called an where: 1) PA 0 operation place), p 0 PA ( p 0 is called a process idle place); 2) N is a strongly connected state machine; and 3) every circuit in N contains place p 0 . Definition 3.2 A simple sequential process with
resources ( S 2 PR ) is a Petri net
N
0
({ p } PA PR , T , F ) , such that
1. The subnet generated by X PA { p 0 } T is an S 2 P . 2. PR 0 ( r PR is called a resource place)
s.t. constraints (2) - (5) and M M 0 N Y , M 0, Y 0 .
of solving MIP problems. The next section formulates the concept of place classification, which is an important part of the proposed algorithm.
(7)
In short, an empty siphon exists in an ordinary Petri net N ( P, T , F ) iff MIP G ( M 0 ) P . The MIP approach avoids a complete siphon enumeration, which facilitates checking a large-scale Petri net model by means
and ({ p 0 } PA ) PR 0 .
3. p PA , t p, t ' p , rp PR ,
t PR t ' PR {rp } .
4. The following statements are verified : (a) r PR , r PA r PA 0 and (b) r PR , r PA r PA 0 .
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
5.
( p 0 ) PR ( p 0 ) PR 0 .
Note that r ( r ) represents the input (output) transitions of place r, and r t r t indicates the set of all input places of all input transitions of r. Similarly, r tr t represents the set of all output places of all output transitions of r . Definition 3.3 A system of S 2 PR, called S 3 PR for short, is defined recursively as follows: 1. An S 2 PR is an S 3 PR . 2. Let Ni ({ pi0 } PAi , Ti , Fi ), i {1, 2} be two
such that ({ p10 } PA1 ) ({ p20 } PA2 )
S 3 PR
0,
PR1 PR2 PC 0 , and T1 T2 0 (in
111
acceptably marked S 2 PR and a). i {1, 2}, p PAi { pi0 }, M 0 ( p ) M 0i ( p) ; b). i {1, 2}, r PRi \ PC , M 0 (r ) M 0i (r ), where PC PR1 PR2 0 ; and c). r PC , M 0 (r ) max{M 01 (r ), M 02 (r )} .
In the following, when discussing a marked S PR , we refer to an S 3 PR with an acceptable initial marking. Definition 3.5 Let S be a siphon in a marked S 3 PR with S S R S A , S R S PR , and 3
S A S \ S R . For r PR , H (r )
r PA , the
operation places that use r , is called the set of holders of r . [ S ] ( rS R H (r )) \ S is called
this case, we say that N1 and N 2 are two
the complementary set of S . Lemma 3.1 Let S0 be a strongly dependent
composable S 3 PR ). Then, the net N ( PA
siphon with
0
S0 i 1 Si n
in a marked
3
P PR , T , F ) resulting from the composition
S PR . Then, [ S0 ] [ S1 ] [ S2 ] [ S n ] .
of N1 and N 2 via PC (denoted as N1 N 2 )
Lemma 3.2 Let S0 be a weakly dependent
defined as: (1) PA PA1 PA2 , (2) P 0 P10 P20 ,
siphon with S0 i 1 Si j n 1 S j
(3) PR PR1 PR2 , (4) T T1 T2 , and (5)
marked
3
In the sequel, an S 3 PR N composed by n N
Ni (i 1, 2, , n),
S PR in1 Ni
denoted by
, is defined as follows: N N1 if
n 1 ; N
in11 N i 2
S3PR.
Then
m
in a
[ S0 ] [ Sn 1 ] [ S n 2 ]
[ Sm ] [ S1 ] [ S2 ] [ Sn ] .
F F1 F2 , is also an S PR . 2
n
_
N n if n 1 . N i is used
to denote the S P from which the S 2 PR Ni is formed. Transitions in ( P 0 ) and
( P 0 ) are
called the source and sink transitions of an S 3 PR , respectively.
Definition 3.4 Let N be an S 3 PR . is called an acceptably marked S 3 PR the following statements is true: 1. ( N , M 0 ) is an acceptably marked 2. N N1 N 2 , where ( N i , M 0i
(N , M 0 ) if one of S 2 PR . ) is an
Lemma 3.3 Let N be a net and [ ] be the
characteristic T -vector matrix of the siphons in N . The number of elementary siphons in N
equals the rank of [ ] (rank ([ ])) .
3.2 Place Classification To facilitate the place classification for the derivation of a set of elementary siphons, a result on deciding an elementary siphon in an S3PR is first proposed in this research. Theorem 3.1 Let {S1 , S2 , , Sn } be a set of SMS in a marked S 3 PR. j n {1, 2, , n}, S j is an elementary siphon if ' \{S j } , such that {S j } S ' [ S ] .
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
112
Proof. In the case of j 1,
1 can be
obtained due to {S1}.
S1 [ S1 ]
P-semiflow.
obtained,
Hence, i.e.,
is a
(S1 [ S1 ] )T [ N ] 0T
is
(S1 )T [ N ] ([ S1 ] )T [ N ] 0T .
Because [ S1 ] 0,
([ S1 ] )T [ N ] 0T
can be
T
can be
T
derived. As a result, (S1 ) [ N ] 0
obtained. We have [ ] 0T , i.e., rank ([ ]) 1 . {S1} is a set of elementary siphons due to Lemma 3.3. For j n 1,
n 1 can be obtained
due to {S1 , S2 , , Sn 1}. We assume that {S1 , S2 , , Sn 1} is a set of elementary siphons, leading to rank ([ ]) n 1 due to Lemma 3.3. j {1, 2, , n 1} , S j [ S j ] is a P-semiflow. Hence, (Sn1 [ Sn1 ] S1 [ S1 ] S2 [ S2 ]
Sn2 [ Sn2 ] )T [ N ] 0T
is obtained, i.e., (Sn1 S1 S2 S n2 )T [ N ]
([ Sn1 ] [ S1 ] [ S2 ] [ Sn2 ] )T [ N ] 0T . (Sn1 S1 S2 S n2 )T [ N ] 0T
(Sn S1 S2 S n1 )T [ N ] ([ Sn ] [ S1 ] [ S2 ] S [ n1 ] )T [ N ] 0T . ([ Sn ] [ S1 ] [ S2 ] S [ n1 ] )T [ N ] 0T can be derived due to [ Sn 1 ] [ S1 ] [ S2 ] [ Sn 2 ] . Therefore, (Sn S1 S2 S n1 )T [ N ] 0T
can be also obtained. [ Sn ] [ S1 ] [ S2 ] [ Sn1 ],
We have leading to
rank ([ ]) n . {S1 , S2 , , Sn } is a set of
elementary siphons as well. ■ Next, we may begin with an FMS in the real world, which is shown in Figure 1 (Huang et al. 2001). It consists of two robots, R1 and R2; one machine, M; two loading buffers, I1 and I2; and two unloading buffers, O1 and O2. Two raw part types, J1 and J2, that enter the cell through two loading buffers, I1 and I2, are processed into two products, P1 and P2, which leave the cell through two uploading buffers, O1 and O2. At the same time, R1 can hold a raw part J1 or a product P2, M can process a raw part J1 or J2, and R2 can hold a product P1 or a raw part J2.
can be
derived due to rank ([ ]) n 1([ Sn1 ] [ S1 ] [ S2 ] [ Sn2 ] . Therefore,
([ Sn1 ] [ S1 ] [ S2 ] [ Sn2 ] )T [ N ] 0T can be also obtained, i.e., [ Sn 1 ] [ S1 ] [ S2 ] [ Sn 2 ] . In the case of j n, n can be obtained due to {S1 , S2 , , Sn } . j n , S j [ S j ] is a P-semiflow. Similarly, (Sn [ Sn ] S1 [ S1 ] S2 [ S2 ]
Sn1 [ Sn1 ] )T [ N ] 0T
is obtained, i.e.,
Figure 1 A practical FMS (Huang et al. 2001)
Its layout and production routes are shown in Figure 2 (a) and (b), respectively. According to the production cycles, a raw part J1 is taken
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
113
from I1 by R1, and placed in M. After being processed by M, P1 is then moved to O1 by R2. Similarly, a raw part J2 is taken from I2 by R2, and placed in M. After M performs operations on J2, P2 is moved to O2 by R1 sequentially.
Figure 3 A marked S3PR
Figure 2 (a) Logical layout of an FMS, (b) Its production cycles
Figure 3 shows the net model of the FMS that may use only resource at a work processing step. The system net is an S 3 PR, N ( PA P 0 PR , T , F ), where P 0 { p1 , p2 }, PA { p3 , p4 , p5 , p6 , p7 , p8 }, PR { p9 , p10 , p11} . Initially, we assume that there are no raw parts in the system. M 0 ( p1 ) 3 and M 0 ( p2 ) 2 represent the maximal number of concurrent activities that can take place for raw part types J1 and J2, respectively. The meanings of the elements for the places and the transitions are shown in Table 1. To exemplify the idea of place classification, N ( PA consider a marked S 3 PR P 0 PR , T , F ) depicted in Figure 3 (Li & Liu 2007). Smax { p2 , p4 , p5 , p6 , p9 , p10 , p11} is a maximal unmarked siphon obtained by the MIP method. The subnet generated by ( Smax Smax S max ) is shown in Figure 4.
Figure 4 The subnet generated by ( S max S max S max )
By the minimal siphon extraction algorithm in Li & Liu (2007), a minimal siphon is obtained, i.e., Smin { p4 , p6 , p9 , p10 } . Actually, depending on different processing order of the places in Smax , another minimal siphon Smin { p5 , p6 , p9 , p10 , p11} can be extracted by the approach developed in this paper, which is demonstrated in the following section. That is to p11 before p4 leads to say, choosing Smin { p4 , p6 , p9 , p10 }. Conversely, choosing p4 first results in S min { p5 , p6 , p9 , p10 , p11} .
114
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
Thus, we infer that different processing orders of the places in Smax in the subnet generated by ( Smax S max S max ) can lead to different minimal siphons. Table 1 The meanings of the elements for the places and the transitions in the net model shown in Figure 3 p1
Raw parts J1 in I1 available
p2
Raw parts J2 in I2 available
p3
R1 uploads J1 to M
p4
M performs operations on J1
p5
R2 downloads P1 from M and uploads it to O1
p6
R1 downloads P2 from M and uploads it to O2
p7
M performs operations on J2
p8
R2 uploads J2 to M
p9
R1 available
p10
M available
p11
R2 available
t1
R1 picks J1 from I1
t2
M starts operations on J1, and R1 is released
t3
M finishes operations on J1, and R2 picks P1 from M
t4
R2 puts P1 into O1 and is released
t5
R1 puts P2 into O2 and is released
t6
M finishes operations on J2, and R1 picks P2 from M
t7
M starts operations on J2, and R2 is released
t8
R2 picks J2 from I2
After analyzing the role of place extraction order in Smax , a classification of the places in S max is necessary for extracting an elementary siphon from Smax at each iteration, such that an elementary siphon set can be obtained. By the method of deriving minimal siphons from S max in Li et al. (2011) (denoted as Algorithm 1), P ' { p4 , p6 , p9 , p10 } and P '' { p5 , p6 , p9 , p10 , p11} are obtained. Similarly, based on P ' and P '' , the places in S max can be easily classified into three classes: definite, elective,
and unrelated places. Definition 3.6 A place pd Smax is called a definite place if pd P ' P '' . The set of definite places is denoted as Pd . We have Pd PdR PdA , PdR Pd R PR and PdA Pd PA PA . For example, Pd { p6 , p9 , p10 } , PdA { p6 } , and PdR { p9 , p10 } in
Figure 4. For instance, Pd { p6 , p9 , p10 } P ' { p4 , p6 , p9 , p10 }( P '' { p5 , p6 , p9 , p10 , p11})
is true for the net in Figure 4. Definition 3.7 A place pe Smax \ Pd is called an elective place if pe {P '\ Pd } {P ''\ Pd } . Similarly, the set of selective places is denoted as Pe . We have Pe PeR PeA , PeR PR R PR and PeA Pe PA PA . For example, Pe { p4 , p5 , p11}, PeA { p4 , p5 }, and PeR { p11} in Figure 4. From Definition 3.7, P ' ( P '' ) cannot contain all of elements in Pe . Take { p4 , p5 , p11} as an example. { p4 } P ' ( { p5 , p11} P '' ) is also true for the net in Figure 4. Definition 3.8 A place pu Smax is called an unrelated place if pu Smax \ {Pd Pe } . The set of unrelated places is denoted as Pu . From Definition 3.8, Pu P '( P '') is obviously true. For example, Pu { p2 } P 0 in Figure 4. Definition 3.9 Let EP be an elementary path in N Smax and x and y be two nodes in EP .
Node x is said to be previous exists a path in EP from x to denoted as x EP y . As for two y ) in N Smax , node x is said to
to y if there y . This fact is nodes ( x and be previous to
y in N Smax if there exists a elementary path,
such that x EP y . This fact is denoted by x NS y . max
Definition 3.10 Px ( Py ) is called the set of
upstream (downstream) places in Pe if
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
1. Px Py 0 and Px Py Pe ,
2. Px Py 0 and
Px Py 0 ,
3. px Px and p y Py , px N S
max
py .
From Definition 3.10, we have Pe Px Py , Px PxA PxR , Py PyA PyR , PxA , PyA PA
and
PxR , PyR PR . For example, Pe { p4 , p5 , p11} , PxR
0, PxA
{ p4 }, Px { p4 }, PyR
PyA
{ p5 } , Py { p5 , p11},
result, an extracted minimal siphon in this study can be defined as follows:. Definition 3.11 Smin is called an extracted minimal siphon if 1. Smin Pd Pmin , 2. Pmin
Px , if PxR PxR , R R Py , if Px Px
where
PxR
{ p11},
p4 N Smax p5 , and
p4 N Smax p11 are true for the net in Figure 4.
Using the concept of place classification, we obtain definite, elective, and unrelated places in S max . The next section shows how to determine an extracted minimal siphon from three kinds of classified places and then obtain an elementary siphon set.
115
( PyR ) denotes the number of
resource places in Px ( Py ).
For example, Px { p4 }, PxR 0 , Py { p5 , p11} and PyR { p11} 1 are true for the net in Figure 4. As a result, Smin Pd Pmin Pd Px { p6 , p9 , p10 } { p4 } { p4 , p6 , p9 , p10 } is obtained. Moreover, we Smin Pd PR { p9 , p10 } and have Smin PR 2 1 .
4. Extraction of an Elementary Siphon Set from a Marked S3PR
After obtaining an extracted minimal siphon, its complementary set (denoted as [ Smin ] ) can
As mentioned earlier, the competition for shared resources in an FMS may lead to a deadlock situation. In the Petri net model of a resource allocation system, the particular siphons of interest for the deadlock control purpose are closely related to resource places (Ezpeleta et al. 1995, Tricas & Ezpeleta 2006). The results in Subsection 3.2 indicates that an extracted minimal siphon (denoted as Smin )
be found by Definition 3.5. For example, [ Smin ] { p3 , p7 } because of Smin { p4 , p6 , p9 , p10 } in Figure 1. In general, there is more
mainly depends on the selection of elements in Pe , i.e., Smin Pd Px or Smin Pd Py . According to Chao (2006) and Li & Zhou (2008), any siphon that has more resource places can be composed by those containing less ones. In this study, minimizing the number of resource places is critical to extract Smin , which is similar to the concept of minimal resource requirements in Hsieh & Chang (1994). As a
than one minimal siphon in a marked S3PR and finding all extracted minimal siphons is necessary for the deadlock control purpose. According to Ezpeleta et al. (1995), Huang et al. (2006), and Li & Zhou (2009), the operation places in a complementary set compete for the limited resources with those in a siphon. When the complementary set holds all the tokens initially marked in a siphon, it is then emptied. Conversely, if at any reachable marking the maximal number of tokens held by the places in the complementary set of a siphon is not greater than the number of tokens initially marked in the siphon, it is not emptied. Hence, under condition that an extracted minimal siphon is obtained, a
116
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
new marking constraint of its complementary set is added to make the siphon marked in such a way that another minimal siphon can be extracted in the next iteration. That is to say, we apply the MIP method to ( N , M 0 ) with new constraints M ([ Smin, j ]) M 0 ( S min, j ) 1, M R ( N , M 0 ), j {1, 2, , n} to derive all extracted minimal 3
siphons in a marked S PR. Note that we only add new constraints M ([ Smin, j ]) M 0 ( S min, j ) 1 , not control places (monitors), to
( N , M 0 ) in the iteration. The iteration proceeds
until G MIP ( M 0 ) P holds and the net to be S 3 PR. processed remains to be an Finally, {Smin,1 , Smin,2 , , Smin,n } can be
obtained. Elementary siphons are useful in the development of a deadlock prevention policy for a system modeled by Petri nets, and lead to structurally simple Petri net controllers with liveness. Based on the above discussions, this study proposes an iterative algorithm, namely Algorithm 2, to extract a set of elementary siphons in a marked S 3 PR . Algorithm 2 and its proof are presented below, where j, S max, j , Pd , j , Pe, j , Px , j , Py , j , Smin, j ,
Se , j ,
and [ Se, j ] denote the
iteration number, a maximal unmarked siphon, the set of definite places, the set of selective places, the set of upstream places in Pe , the set of downstream places in Pe , an extracted minimal siphon, an elementary siphon, and the complementary set of Se, j at the corresponding iteration step, respectively. Note that the set of elementary siphons is denoted as E . Algorithm 2: Extraction of an elementary siphon set
Input: a marked S 3 PR ( N , M 0 ) with N ( P 0 PA PR , T , F ) , where P P 0 PA PR denotes the total number of the places in an S 3 PR Output: an elementary siphon set E 1: 2: 3:
E : 0 j : 1 find a siphon Smax, j
by the MIP
method and compute G MIP ( M 0 ) 4: if ( G MIP ( M 0 ) P ) then 5: Smax,1 : 0 6: Smin,1 : 0 7: Se,1 : 0 8: end if 9: while ( G MIP ( M 0 ) P ) do 10: call Algorithm1 11: Pd , j : P ' j P '' j 12:
Pe, j : ( P ' j \ Pd , j ) ( P '' j \ Pd , j )
13:
classify Px, j and Py , j in Pe, j
14:
decide Pmin, j from Px, j and Py , j
15:
Smin, j : Pd , j Pmin, j
16:
Se, j : Smin, j
17:
E : E {Se, j }
18:
add M ([ Smin, j ]) M 0 ( S min, j ) 1 as
a constraint to the MIP problem 19: j : j 1 20: find Smax, j by the MIP method and compute G MIP ( M 0 ) 21: end while 22: output E At the first iteration, Algorithm 2 finds Smax,1 and computes G MIP ( M 0 ). Smax,1 MIP Smin,1 Se,1 0 is true if G ( M 0 ) P , implying that the original Petri net is live. Otherwise, Algorithm 2 extracts Smin,1 and then adds a new constraint M ([ Se,1 ])
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
117
(2 j n 1) is trivially obtained by Lemma
M 0 ( Se,1 ) 1 for the next iteration. At the ( j 1) th iteration, Algorithm 2
3.1. From Definition 3.5, PdR, j PdR,1 PdR,2
solves S max, j 1 and then computes G MIP ( M 0 ) .
PdR, j 1
Similarly,
S max, j 1 S min, j 1 Se, j 1 0 MIP
Pmin, j PdA, j Pmin,1 PdA,1
Pmin,2 PdA,2 Pmin, j 1 PdA, j 1 ,
E {Se,1 ,
(2 j n 1) can be derived as well. Because
Se,2 , , Se, j 2 } is obtained and Algorithm 2
G MIP ( M 0 ) P , the constraint M ([ Se,n 1 ])
terminates at this iteration. Otherwise, it extracts Smin, j 1 and then adds a new constraint
M 0 ( Se,n 1 ) 1 is added for the next iteration.
M ([ Se, j 1 ]) M 0 ( Se, j 1 ) 1
for
the
j th
also be found, and we have Se, n Pmin,n
iteration. The iteration G MIP ( M 0 ) P holds.
proceeds
until
PdA,n PdR, n . Due to the addition of constraint
true
if
G
(M 0 ) P .
is
and
M ([ Se, n 1 ]) M 0 ( Se,n 1 ) 1, Smax,n Smax,n 1
Theorem 4.1 Algorithm 2 leads to a set of elementary siphons. Proof. If G MIP ( M 0 ) P holds at the first iteration, there is no emptiable siphon in (N,M0). is As a result, Smax,1 Smin,1 Se,1 0 obtained and Algorithm 2 outputs E 0 . Without loss of generality, we assume. E n 1 . For j 1, Smax,1 and Se,1 are obtained by applying Algorithm 2 to an S 3 PR ( N , M 0 ) . We have Se,1 Pmin,1 Pd ,1 Px ,1 PdA,1 PdR,1 , E {Se,1}. Due to leading to G MIP ( M 0 ) P , the constraint M ([ Se,1 ]) M 0 ( Se,1 ) 1 is added for the second iteration. At the j (n 1) th iteration, Smax,n 1 and Se,n 1 are found by Algorithm 2. We have Se,n 1 Pmin,n 1 Pd ,n 1 Px ,n 1 PdA,n 1 PdR,n 1 .
Because constraints
M ([ Se, j ]) M 0 ( Se, j ) 1
( j 1, 2, , n 1) are added, by Algorithm 2,
the MIP method (Chu1&Xie 997) can ensure that in the next iteration S max, j and Se, j cannot
be
derived
Smax,2 Smax,n 1
again, and
i.e.,
Smax,1
Se,1 Se,2
Se,n 1 . We assume E {Se,1 , Se,2 , , Se,n 1} ,
therefore
In the case of j n , Smax,n and Se,n can
[ Se, j ] [ Se,1 ] [ Se,2 ] [ Se,n 1 ]
and Se,n Se, n 1 are obtained, resulting in Pmin,n PdA,n Pmin, n 1 PdA, n 1 , PdA, n PdA,n 1 , Smax,n Smax,1 Smax,2 S max,n 2 ,
Se, n Se,1 Se,2 Se, n 2 .
and
Furthermore,
[ Se, n ] ( rP R H (r )) \ ( Pmin,n PdA, n )) d ,n
( rP R H (r )) \ ( Pmin,n 1 PdA, n 1 )
and [ Se,n ]
d ,n1
[ Se,1 ] [ Se,2 ] [ Se,n 2 ] can be derived.
Hence, there are two cases to be considered: 1) Pmin,n PdA,n Pmin,1 PdA,1 Pmin,2 PdA,2 Pmin,n 2 PdA, n 2 , and rP R H (r ) d ,n
( rP R H (r )) ( rP R H (r )) d ,1
d ,2
( rP R
d ,n 2
H (r )) .
2) Pmin,n PdA,n Pmin,1 PdA,1 Pmin,2 PdA,2 Pmin, n 2 PdA, n 2 , and rP R H (r ) d ,n
( rP R H (r )) ( rP R H (r )) d ,1
( rP R
d ,n 2
d ,2
H (r )) .
rP R H (r ) rP R H (r )
For Case 1, can
be
d ,n1
d ,n
derived
from
PdR,n PdR, n 1.
Pmin, n PdA,n Pmin,1 PdA,1 Pmin,1 PdA,1 Pmin, n 1 PdA, n 1
is
operations
Pmin,n PdA, n Pmin, n 1 PdA, n 1
on
derived
from
the
set
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
118
Pmin,n PdA, n Pmin,1 PdA,1 Pmin,2 PdA,2
and
Pmin,n 2 PdA,n 2 .
By
Definition
3.5,
[ Se,n ] [ Se,1 ] [ Se,2 ] [ Se, n 1 ] holds and meets Theorem 3.1. Hence, E contains Se,n . Consider Case 2. Because rP R H (r ) d ,n
( rP R H (r )) ( rP R H (r )) d ,1
( rP R
d ,n 2
d ,2
rP R H (r )
obtained
d ,n 1
rP R H (r )
and
H (r ))
d ,n
in
Case
1,
Take the marked
S 3 PR ( N , M 0 ) with
deadlocks shown in Figure 3 as an example. Lindo (Lindo System), a well-known tool that can deal with MIP problems, is used to solve MIP problems. At the first iteration, G MIP ( M 0 ) 4 and Smax,1 { p2 , p4 , p5 , p6 , p9 , p10 , p11} can be obtained by the MIP
method. Considering G MIP ( M 0 ) 4 P 11 , Algorithm 1 outputs P1 ' { p4 , p6 , p9 , p10 } and
rP R H (r ) ( rP R H (r )) ( rP R H (r ))
P1 '' { p5 , p6 , p9 , p10 , p11} . PdA,1 { p6 },
( rP R H (r )) is also derived. Similarly,
{ p9 , p10 },
d ,n
d ,1
d ,2
d ,n1
by
Definition
3.5,
[ Se, n ] [ Se,1 ] [ Se,2 ]
Pd ,1 { p6 , p9 , p10 },
and Pe,1 { p4 , p5 , p11} .
PxA,1
PdR,1
Pu ,1 { p2 } PxR,1 0,
{ p4 },
[ Se,n 1 ] can be obtained and Se,n is
Px,1 { p4 }, PyR,1 { p11}, PyA,1 { p5 }, and Py ,1
contained in E by Theorem 3.1.
{ p5 , p11}
In conclusion, Se,1 , Se,2 , , and Se,n can be derived at the corresponding iterations, and E {Se,1 , Se,2 , , Se,n } is finally obtained. Algorithm2 terminates at the n th iteration ■ when G MIP ( M 0 ) P . Because the MIP approach is used to iteratively derive a set of elementary siphons, Algorithm 2 is NP-hard in theory. However, it avoids a complete siphon enumeration and obtains a unique set of elementary siphons. Table 2 shows a performance analysis and comparison of the method proposed in Li & Zhou (2004a) (denoted by LZ), the method proposed in Chao (2006) (denoted by C), and Algorithm 2. Table 2 Performance analysis and comparison complete method in uniqueness of siphon computational the an elementary enumeratei complexity literature siphon set on LZ
yes
Exponential
no
C
no
polynomial
no
Algorithm2
no
NP-hard
yes
are
further
Pmin,1 Px ,1 is true due to
{ p11} 1.
obtained. PxR,1
Hence,
0 0 PyR,1
Se,1 Pd ,1 Px ,1 { p4 , p6 , p9 ,
p10 } is then extracted. By Definition 3.5,
[ Se,1 ] { p3 , p7 } is computed. By G MIP ( M 0 )
4 P 11,
the
constraint
M ([ Se,1 ])
M 0 ( Se,1 ) 1 1 is then added for the second
iteration. At the second iteration, G MIP ( M 0 ) 5 and Smax,2 { p5 , p6 , p7 , p9 , p10 , p11} are found by the MIP approach as well. The corresponding subnet generated by ( Smax,2 Smax,2 Smax,2 ) is shown in Figure 5. Due to G MIP ( M 0 ) 5 P 11 , Algorithm 1 outputs P2 ' { p5 , p7 , p10 , p11} and P2 '' { p5 , p6 , p9 , p10 , p11} . PdA,2 { p5 }, PdR,2 { p10 , p11} , Pd ,2 { p5 , p10 , p11} , Pu ,1 0 , and Pe,2 { p6 , p7 , p9 }.
PxR,2 0, Px ,2 { p7 }, PyR,2 { p9 },
PyA,2 { p6 } , and Py ,2 { p6 , p9 } are further
obtained. Hence, Pmin,2 Px ,2 is true since PxR,2 0 0 PyR,2 { p9 } 1.
Se,2 Pd ,2
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
119
Px,2 { p5 , p7 , p10 , p11} is then extracted. By
5. Examples
Definition 3.5, [ Se,2 ] { p4 , p8 } is computed.
This section introduces two examples to further exemplify Algorithm 2. Its potential application to a deadlock prevention strategy design is provided. Example 1: Consider an S3PR depicted in Figure 6 (Li et al. 2004b). We have P 0 { p1 , p8 } , PA { p2 , p3 , p4 , p5 , p6 , p7 , p9 , p10 , p11, p12 , p13 } , and PR { p14 , p15 , p16 , p17 , p18 , p19 } with P PA P 0 PR 19 . By Algorithm 2, the extraction results of an elementary siphon set are shown in Table 4. Obviously, [ Se,1 ] [ Se,2 ] , [ Se,2 ] [ Se,3 ] , and [ Se,3 ] [ Se,2 ] [ Se,2 ] meet the condition in Theorem 3.1. As a result, E {Se,1 , Se,2 , Se,3 } is obtained.
Because, G
MIP
(M 0 ) 5 P 11, the constraint
M ([ Se,2 ]) M 0 ( Se,2 ) 1 1 is then added for
the next iteration.
Figure 5 The subnet generated by ( Smax,2 Smax,2 Smax,2 )
In the next iteration, G
MIP
( M 0 ) P 11
and Smax,3 Se,3 0 can be obtained by the MIP approach, which means that no new unmarked siphons can be found. Algorithm 2 terminates at this iteration. As a result, E {Se,1 , Se,2 } is obtained. The extraction process of Algorithm 2 is shown in Table 3, where NC j denotes the additional new constraint at the j th iteration in Algorithm 2, i.e., NC j M ([ Se, j ]) M 0 ( Se, j ) 1 . Clearly, [ Se,1 ] [ Se,2 ] meets the condition of Theorem 3.1, and E {Se,1 , Se,2 } is true.
Example 2: Algorithm 2 is applied to another marked S 3 PR with deadlocks depicted in
Figure 7 (Li & Zhou 2004a), where P 0 { p1 , p5 , p14 }, PA { p2 , p3 , p4 , p6 , p7 , p8 , p9 , p10 , p11 , p12 , p13 , p15 , p16 , p17 , p18 , p19 } PR { p20 , p21 , p22 , p23 , p24 , p25 , p26 }
and with
0
P PA P PR 26 . By Algorithm 2, the
extraction results of an elementary siphon set are shown in Table 5. After analyzing the results in Table 5, we have Se,i Se, j Se, j Se,1 Se,2 Se, j 1 ( j {3, 4,5, 6}) that meet
(i j , i, j {1, 2, , 6})
and
Table 3 An extracted set of elementary siphons for an S3PR shown in Figure 3 j
S max, j
Se, j
[ Se, j ]
NC j
G MIP ( M 0 )
1
{ p2 , p4 , p5 , p6 , p9 , p10 , p11}
{ p4 , p6 , p9 , p10 }
{ p3 , p7 }
1
4
2
{ p5 , p6 , p7 , p9 , p10 , p11}
{ p5 , p7 , p10 , p11}
{ p4 , p8 }
1
5
3
0
0
0
-
11
120
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
the condition in Theorem 3.1. Hence, E {Se,1 , Se,2 , Se,3 , Se,4 , Se,5 , Se,6 } is obtained. Siphons can be used to characterize deadlock states and solve deadlock problems (Ezpeleta et al. 1995, Li & Zhou 2009). Both SMS and elementary siphons play an important role in deadlock prevention. As mentioned above, the SMSs in a Petri net can be classified into two categories: elementary and dependent siphons, i.e., E D ( D is used to denote the set of dependent siphons). Because there are many SMSs in a large-sized Petri net model, the number of the control places to be added for the SMSs must be reduced, such that a structurally simple supervisor can be found. Ezpeleta et al.(1995) developed an approach Figure 6 A marked S3PR
(denoted by ECM) by adding a control place for each SMS in a Petri net, such that all SMSs are invariant-controlled and the resulting Petri net is live, generally leading to a much more structurally complex Petri net supervisor than the original net model. Li & Zhou (2004a, 2006) point out that explicitly controlling all SMSs in a plant Petri net model is not necessary. By making
the
invariant-controlled
elementary in
a
Petri
siphons net,
their
dependent siphons can be always marked under some conditions. The method (denoted by LZ) proposed in Li & Zhou (2004a, 2009) means that no control places need to be added in order to ensure that dependent siphons can be marked when the conditions are satisfied. Hence, compared with ECM, LZ simplifies the structure of
a
liveness-enforcing
supervisor.
The
difference of dealing with deadlock problems between ECM and LZ is illustrated via an S3PR Figure 7 Another marked S3PR
example depicted in Figure 6.
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
121
Table 4 An extracted set of elementary siphons for an S3PR shown in Figure 6
j
Smax, j
Se , j
[ Se , j ]
1
{ p2 p7 , p13 , p15 , p17 p19 }
{ p2 , p5 , p13 , p15 , p18 }
{ p3 , p11 , p12 }
1
8
{ p5 , p13 , p14 , p15 , p18 }
{ p2 p3 , p11 , p12 }
2
8
3
8
-
19
{ p3 , p5 , p7 , p11 ,
2
p13 p15 , p16 p19 } { p2 , p4 , p7 , p11 ,
3
p12 , p13 , p15 p19 }
{ p2 , p7 , p11 , p13 , p16 p19 } { p5 , p6 , p9 , p10 }
0
4
NC j G MIP ( M 0 )
0
0
Table 5 An extracted set of elementary siphons for an S3PR shown in Figure 7 S max, j
j
3
6
NC j
G MIP ( M 0 )
{ p2 , p3 , p8 }
2
9
{ p12 , p18 }
2
10
5
10
5
10
{ p11 , p17 }
2
11
{ p10 , p18 , p22 , p26 }
{ p13 , p19 }
2
16
0
0
-
26
{ p4 , p9 , p12 ,
p15 , p17 , p20 p26 }
p17 , p21 , p24 }
{ p2 , p4 , p8 p10 , p13 ,
{ p2 , p4 , p8 , p13 ,
p15 p17 , p20 p26 }
p17 , p21 , p26 }
{ p2 p4 , p8 p13 , p15 ,
{ p2 , p4 , p8 , p12 , p15 ,
{ p6 , p7 , p11 ,
p20 p23 , p25 , p26 }
p20 , p21 , p23 , p25 }
p16 , p17 }
{ p3 , p4 , p8 p13 ,
{ p4 , p10 , p17 , p21 ,
{ p2 , p3 , p8 , p9 ,
p15 , p17 , p20 p26 }
p22 , p24 , p26 }
p12 , p13 , p18 , p19 }
4
5
[ Se, j ]
{ p1 , p4 , p8 p13 ,
1
2
Se, j
{ p2 p4 , p8 p10 , p12 ,
{ p2 , p4 , p8 , p12 ,
p13 , p15 , p16 , p21 p26 }
p16 , p21 , p25 }
{ p3 , p4 , p10 , p15 p18 , p22 , p24 , p26 } 0
7
There are five strict minimal siphons in the net shown in Figure 6 (Li et al. 2004b). From the computed results shown in Table 4, three of them are elementary siphons, i.e., Se,1 { p2 , p5 , p13 , p15 , p18 } , Se,2 { p5 , p13 , p14 , p15 , p18 } , and Se,3 { p2 , p7 , p11 , p13 , p16 , p17 , p18 , p19 } . We have E {Se,1 , Se,2 , Se,3 } .
The
others
are
S4 { p7 , p13 , p14 , p15 , p16 ,
p17 , p18 , p19 } and S5 { p2 , p7 , p13 , p15 , p16 , p17 , p18 , p19 } . Because [ S4 ] [ Se,2 ] [ Se,3 ]
and [ S5 ] [ Se,1 ] [ Se,3 ] meet Lemma 3.1, S 4 is strongly dependent with respect to S 2 and S3 , and S5 is strongly dependent with respect to S1 and S3 . Therefore, we have D {S4 , S5 } . ECM adds five control places VS1 , VS2 , VS3 , VS4 , and VS5 for S1 , S2 , S3 ,
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
122
S4 , and S5 , respectively, as shown in Table 6.
Table 6 Control places added by ECM VS j
M 0 (VS j )
preset
postset
VS1
1
t3 , t5 , t13
t1 , t9
VS2
2
t4 , t5 , t13
t1 , t9
VS3
3
t7 , t11
t1 , t9
VS4
5
t7 , t13
t1 , t9
VS5
4
t7 , t13
t1 , t9
INA (Starke1992), a widely used tool that supports the behavioral and structural analysis of Petri nets, is used to analyze the controlled system that is obtained by ECM. Executing an INA program for ECM shows that all SMSs are invariant-controlled and the resulting Petri net is live with 88 reachable states. LZ adds three control places VS1 , VS2 , and
As a result, S 4 and S5 can be implicitly controlled by controlling their related elementary siphons. This means that LZ only adds three control places for three elementary siphons such that S1 , S2 , and S3 are invariantcontrolled and the other dependent siphons S 4 and S5 can be implicitly controlled. Similarly, an INA program is executed to analyze the controlled system obtained by LZ, which shows that all SMSs are invariant-controlled and the resulting Petri net is live with 88 reachable states. Table 8 indicates control performance comparison of ECM and LZ for dealing with deadlock problems in the S 3 PR depicted in Figure 6. Obviously, compared with ECM, LZ simplifies the liveness-enforcing supervisor, and achieves the same numbers of reachable states as ECM does. Table 8 Control performance comparison for ECM and LZ
VS3 for S1 , S2 , and S3 , respectively, as shown
in Table 7. Table 7 Control places added by LZ VS j
M 0 (VS j )
preset
postset
VS1
1
t3 , t5 , t13
t1 , t9
VS2
2
t4 , t5 , t13
t1 , t9
VS3
3
t7 , t11
t1 , t9
M 0 ( S 2 ) M 0 ( S3 )
5 and M 0 ( S5 )
5 M 0 ( S1 ) M 0 ( S3 ) ( S1 S3 ) 4
ECM
LZ
No. of control places added
5
3
No. of arcs added
22
14
No. of reachable states
88
88
Next, we briefly describe some advantages of a deadlock prevention policy on solving elementary siphons and only adding control places for them.
Therefore, S1 , S2 , and S3 are invariantcontrolled, and ensures that M 0 ( S4 ) 6 3 i 2 Si
Control criteria
hold,
where S is called the siphon control depth variable with Si 1 (Li & Zhou 2004a, 2009).
6. Discussion The proposed algorithm iteratively solves a unique set of elementary siphons in an S 3 PR that can model many widely used FMSs in a real world. The feature of a deadlock prevention policy (DPP) using the proposed one can be
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
summarized as follows. First, a DPP using Algorithm 2 can eliminate deadlocks in an FMS during the design, not operation, of an FMS, which ensures the normal operations of an FMS and reduces the running risk. Second, avoiding a complete siphon enumeration to solve a set of elementary siphons can reduce computational cost when the size of a plant net model is large. Third, adding the control places for elementary siphons only leads to a small number of the added control places. As a result, a live controlled system with a simple structure is obtained. Finally, since a live controlled Petri net system belongs to the computer-controlled systems, the difficulty and complexity for control implementation can be decreased due to its simpler structure. Furthermore, the economic cost for the corresponding hardware, such as input and out nodes, solid-state memory, sensors, and actuators, decreases with the degression of the added control places as well.
7. Conclusion According to the features of the topological structure of a class of Petri nets and the fact that the siphons of interest for deadlock control are closely related to resource places (Ezpeleta et al. 1995, Tricas & Ezpeleta 2006), this paper has developed an iterative algorithm to extract a unique set of elementary siphons. At each iteration, the proposed methods derive minimal siphons from a maximal unmarked siphon S max obtained by the MIP method (Chu & Xie 1997), classify the places in the derived minimal siphons, and then decide an elementary siphon from the classified places under condition that the number of resource places in an elementary siphon is minimized. Accordingly, a new
123
constraint to obtain another elementary siphon is added for the next iteration. The iteration proceeds until G MIP ( M 0 ) P . That is to say, the proposed methods can obtain a set of elementary siphons, which is critical for the development of deadlock prevention polices based on the elementary siphons. This paper shows the correctness and efficiency of the proposed methods. The extension of the methods to more general classes of Petri nets is the focus of our future research.
Acknowledgments The authors would like to thank the editor and anonymous reviewers whose comments and suggestions greatly helped us improve the quality and presentation of this paper.
References [1] Chao, D.Y. (1999). Computation of elementary siphons for deadlock control. The Computer Journal, 49 (4): 470-479 [2] Chu, F. & Xie, X.L. (1997). Deadlock analysis of Petri nets using siphons and mathematical programming. IEEE Transactions on Robotics and Automation, Part A, 13 (6):793-804 [3] Ezpeleta, J., Colom, J.M. & Martinez, J. (1995). A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Transactions on Robotics and Automation, 11 (2): 173-184 [4] Hsieh, F.S. & Chang, S.C. (1994). Dispatching-driven deadlock avoidance controller synthesis for flexible manufacturing systems. IEEE Transactions on Robotics and Automation, 10 (2): 196-209
124
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
[5] Huang, Y.S., Jeng, M.D., Xie, X.L. & Chun, S.L. (2001). Deadlock prevention policy based on Petri nets and siphons. International Journal of Production Research, 39 (2): 283-305 [6] Huang, Y.S., Jeng, M.D., Xie, X.L. & Chun, D.H. (2006). Siphon-based deadlock prevention policy for flexible manufacturing systems. IEEE Transactions on Systems, Man and Cybernetics, Part A, 36 (6): 1248-1256 [7] Li, S.Y., Li, Z.W. & Hu, H.S. (2011). Siphon extraction for deadlock control in flexible manufacturing systems by using Petri nets. International Journal of Computer Integrated Manufacturing, 24 (8): 710-725 [8] Li, Z.W. & Zhou, M.C. (2004a). Elementary siphons of Petrinets and their application to deadlock prevention in flexible manufacturing systems. IEEE Transactions on Systems, Man and Cybernetics, Part A, 34 (1): 38-51 [9] Li, Z.W., Hu, H.S. & Zhou, M.C. (2004b). An algorithm for anoptimal set of elementary siphons in Petri nets for deadlock control. In: Proceedings of 2004 IEEE International Conference on Systems, Man and Cybernetics, Hague, Netherlands, October 10-13, 2004 [10] Li, Z.W. & Zhou, M.C. (2006). Clarifications on thedefinitions of elementary siphons of Petri nets. IEEE Transactions on Systems, Man and Cybernetics, Part A, 36 (6): 1227-1229 [11] Li, Z.W. & Liu, D. (2007). A correct minimal siphons extraction algorithm from a maximal unmarked siphon of a Petri net. International Journal of Production Research,
45 (9): 2161-2165 [12] Li, Z.W. & Zhou, M.C. (2008). On siphon computation for deadlock control in a class of Petri nets. IEEE Transactions on Systems, Man and Cybernetics, Part A, 38 (3): 667-679 [13] Li, Z.W. & Zhou, M.C. (2009). Deadlock Resolution in Automated Manufacturing Systems. Springer, Inc., London [14] Lindo System, Inc. (2011). Premier optimization modeling tools. Availabe via DIALOG. http://www.lindo.com [15] Murata, T. (1989). Petri nets: properties, analysis, and applications. In: Proceedings of the IEEE, USA, August 20-22, 1989 [16] Park, J. & Reveliotis, S.A. (2001). Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings. IEEE Transactions on Automation Control, 46 (10): 1572-1583 [17] Peterson, J.L. (1981). Petri Net Theory and the Modeling of Systems. Prentice Hall, Inc., New Jersey [18] Piroddi, L., Cordone, R. & Fumagalli, I. (2008). Selective siphon control for deadlock prevention in Petri nets. IEEE Transactions on Systems, Man and Cybernetics, Part A, 38 (6): 1337-1348 [19] Piroddi, L., Cordone, R. & Fumagalli, I. (2009). Combined siphon and marking generation for deadlock prevention in Petri nets. IEEE Transactions on Systems, Man and Cybernetics, Part A, 39 (3): 650-661 [20] Starke, P.H. (1992). INA: Intergrated Net Analyzer. Handbuch, Germany [21] Tricas, F. & Ezpeleta, J. (2006). Computing minimal siphons in Petri net
Li et al.: An Extraction Algorithm for a Set of Elementary Siphons Based on Mixed−Integer Programming J Syst Sci Syst Eng
models of resource allocation systems: a parallel solution. IEEE Transactions on Systems, Man and Cybernetics, Part A, 36 (3): 532-539 [22] Uzam, M. & Zhou, M.C. (2007). An iterative synthesis approach to Petri net-based deadlock prevention policy for flexible manufacturing systems. IEEE Transactions on Systems, Man and Cybernetics, Part A, 37 (3): 362-371 [23] Wu, N.Q. & Zhou, M.C. (2005). Modeling and deadlock avoidance of automated manufacturing systems with multiple automated guided vehicles. IEEE Transactions on Systems, Man and Cybernetics, Part B, 35 (6): 1193-1202 Shaoyong Li is currently a Ph.D. student in Xidian University and an associate professor with the School of Civil Engineering in Lanzhou University of Technology. His research interests include control engineering and application of industrial process. Zhiwu Li is a professor of the School of Electro-Mechanical Engineering, Xidian University. He received his Ph.D. degree in 1995 from Xidian University, Xi’an, China. His research interest includes supervisory control of discrete event systems.
125
Hesuan Hu is an associate professor of the School of Electro-Mechanical Engineering, Xidian University. He received his Ph.D. degree in 2010 from Xidian University, Xi’an, China. His research interest includes supervisory control of discrete event systems. Al-Ahmari Abdulrahman is a professor of Industrial Engineering at King Saud University, Saudi Arabia, the Executive director of CEREM and Supervisor of Princess Fatimah Alnijris’s Research Chair for Advanced Manufacturing. He received his Ph.D. (Manufacturing Systems Engineering) in 1998 from University of Sheffield-UK. His research interests are in analysis and design of manufacturing systems; Computer Integrated Manufacturing; optimization of manufacturing operations; applications of simulation optimization; FMS, DOE and cellular manufacturing systems. Aimin An is an associate professor with the College of Electrical and Information Engineering in Lanzhou University of Technology. He received his Ph.D. degree in 2010 from Lanzhou University of Technology, Lanzhou, China. His research interests focus on optimization analysis and control of industrial process.