AN EXTRACTION ALGORITHM FOR A SET OF ... - Springer Link

3 downloads 0 Views 716KB Size Report
algorithm iteratively executes until no new unmarked siphons can be found. It finally ... set of elementary siphons and avoids a complete siphon enumeration.
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 PT 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 mn  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

 pP 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 aiS   S B a jS 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)

pP

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    tr  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 ]  ( rS 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 in1 Ni

denoted by

, is defined as follows: N  N1 if

n 1 ; N 

in11 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, (Sn1 [ Sn1 ]  S1 [ S1 ]  S2 [ S2 ]

  Sn2 [ Sn2 ] )T [ N ]  0T

is obtained, i.e., (Sn1  S1  S2   S n2 )T [ N ] 

([ Sn1 ]  [ S1 ]  [ S2 ]    [ Sn2 ] )T [ N ]  0T . (Sn1  S1  S2   S n2 )T [ N ]  0T

(Sn  S1  S2   S n1 )T [ N ]  ([ Sn ]  [ S1 ]  [ S2 ]   S [ n1 ] )T [ N ]  0T . ([ Sn ]  [ S1 ]  [ S2 ]   S [ n1 ] )T [ N ]  0T can be derived due to [ Sn 1 ]  [ S1 ]  [ S2 ] [ Sn  2 ] . Therefore, (Sn  S1  S2   S n1 )T [ N ]  0T

can be also obtained. [ Sn ]  [ S1 ]  [ S2 ]    [ Sn1 ],

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([ Sn1 ]  [ S1 ]  [ S2 ]    [ Sn2 ] . Therefore,

([ Sn1 ]  [ S1 ]  [ S2 ]    [ Sn2 ] )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 ]  

Sn1 [ Sn1 ] )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 ]  ( rP R H (r )) \ ( Pmin,n  PdA, n ))  d ,n

( rP R H (r )) \ ( Pmin,n 1  PdA, n 1 )

and [ Se,n ]

d ,n1

 [ 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  rP R H (r )  d ,n

( rP R H (r ))  ( rP R H (r ))   d ,1

d ,2

( rP 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  rP R H (r ) d ,n

 ( rP R H (r ))  ( rP R H (r ))   d ,1

( rP R

d ,n  2

d ,2

H (r )) .

 rP R H (r )   rP R H (r )

For Case 1, can

be

d ,n1

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  rP R H (r )  d ,n

( rP R H (r ))  ( rP R H (r ))  d ,1

( rP R

d ,n  2

d ,2

 rP R H (r )

obtained

d ,n 1

 rP 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

 rP R H (r )  ( rP R H (r ))  ( rP R H (r ))

P1 ''  { p5 , p6 , p9 , p10 , p11} . PdA,1  { p6 },

 ( rP R H (r )) is also derived. Similarly,

{ p9 , p10 },

d ,n

d ,1

d ,2

d ,n1

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.

Suggest Documents