Professional Documents
Culture Documents
Information Sciences: Yufeng Chen, Zhiwu Li, Kamel Barkaoui
Information Sciences: Yufeng Chen, Zhiwu Li, Kamel Barkaoui
Information Sciences: Yufeng Chen, Zhiwu Li, Kamel Barkaoui
Information Sciences
journal homepage: www.elsevier.com/locate/ins
a r t i c l e
i n f o
Article history:
Received 29 April 2012
Received in revised form 18 April 2013
Accepted 28 July 2013
Available online 6 August 2013
Keywords:
Petri net
Flexible manufacturing system (FMS)
Deadlock prevention
Optimal liveness-enforcing supervisor
Lowest implementation cost
a b s t r a c t
This paper develops a place invariant based deadlock prevention method to obtain a maximally permissive Petri net supervisor with the lowest implementation cost. A supervisor
consists of a set of control places and the arcs connecting control places to transitions. We
assign an implementation cost for each control place and control and observation costs for
each transition. Based on reachability graph analysis, maximal permissiveness can be
achieved by designing place invariants that prohibit all rst-met bad markings but no legal
markings. By solving an integer linear programming problem (ILPP), a set of optimal control places are obtained and the objective function is used to minimize the implementation
cost of the nal supervisor. A vector covering approach is used to reduce the number of
considered markings, aiming to reduce the computational overhead of the proposed
method. Finally, a number of examples are proposed to illustrate the proposed approach.
2013 Elsevier Inc. All rights reserved.
1. Introduction
Flexible manufacturing systems (FMSs) are widely used to nish various kinds of jobs by using a limit number of shared
resources such as machines, robots, and automated guided vehicles. Deadlocks [8] are a highly undesirable situation and
may offset the advantages of these systems [11,20]. In a deadlock situation, a part or the whole of a system is blocked
and indenitely waits for the release of the resources that are held by another part. Therefore, an effective deadlock control
method must be developed to ensure that deadlocks can never occur.
There are mainly three tools used to handle deadlocks in FMSs: Petri nets [28,44], automata [33,34], and graph theory
[11,12]. Deadlock prevention plays an important role in the development of deadlock control policies for FMSs [19,23,43].
Recently, Petri nets attract more and more attention since they are suitable to model, detect, and analyze deadlocks in FMSs,
and to develop a control policy to prevent the occurrences of deadlocks [9,15,2326].
Generally, deadlock resolution strategies can be classied into three categories: deadlock detection and recovery
[14,21,45], deadlock avoidance [1,2,10,16,17,4043], and deadlock prevention [3,9,11,12,20,22,46]. This work focuses on
the third approach, i.e., deadlock prevention. The main goal of this approach is that an off-line computation mechanism is
established to impose constraints on a system in order to prevent deadlock states from being reached. For Petri nets [31],
a deadlock prevention approach is mainly implemented by coupling a supervisor with a system to be controlled. A superviq
The material in this paper was partially presented at the 16th IEEE Conference on Emerging Technologies and Factory Automation (ETFA), Toulouse,
September 59, 2011.
Corresponding author.
E-mail addresses: yfchen@mail.xidian.edu.cn (Y.F. Chen), zhwli@xidian.edu.cn (Z.W. Li), kamel.barkaoui@cnam.fr (K. Barkaoui).
0020-0255/$ - see front matter 2013 Elsevier Inc. All rights reserved.
http://dx.doi.org/10.1016/j.ins.2013.07.021
75
sor is expressed by control places and the arcs connecting them to transitions. The most important advantage of the approach is that once a deadlock control policy is established, deadlocks cannot occur anymore.
Based on Petri nets, there are two analysis techniques for deadlock control: structural analysis [18,20,21,24,26,30] and
reachability graph analysis [13,38,39]. The former always focuses on special structural objects of Petri nets, such as siphons
and resource-transition circuits that are closely related to deadlocks. In this case, the control policy is always simple but in
general one cannot nd a behaviorally optimal supervisor. The latter, i.e., reachability graph analysis, usually requires a complete enumeration of reachable markings, which is computationally expensive. The advantage is that a maximally or highly
permissive supervisor can always be obtained. A maximally permissive supervisor means that it does not prohibit any legal
marking of the original net model. For expedient description, in the following, optimal is used as a synonym for maximally permissive.
Generally, there are mainly three criteria in evaluating and designing a liveness-enforcing supervisor: behavioral permissiveness, structural complexity, and computational complexity. Based on the criteria, many researchers develop a number of
deadlock prevention policies, aiming to design a Petri net supervisor with maximally permissive behavior, a minimal structure, and efcient computation.
Based on reachability graph analysis, the theory of regions proposed in [13] is an effective approach that can denitely
nd an optimal supervisor if it exists. However, it suffers from both computational and structural complexity problems.
In [38,39], Uzam and Zhou provide a novel place invariant (PI) based method to obtain an optimal or suboptimal supervisor
for an FMS. They classify a reachability graph into two parts: live-zone (LZ) and deadlock zone (DZ). A rst-met bad marking
(FBM) is in DZ, representing the very rst entry from LZ to DZ. They develop an iterative approach such that at each iteration,
an FBM is singled out and a control place is designed to prevent the FBM from being reached. This process cannot terminate
until the resulting controlled net system is live. However, the supervisor may have many redundant control places.
In our previous work [6], we develop an iterative deadlock prevention approach to obtain optimal supervisors for FMSs.
At each iteration, an FBM is singled out and a control place is designed to forbid it by solving an integer linear programming
problem (ILPP). Meanwhile, no legal marking is prohibited by the control place. This process proceeds until no FBM is reachable. Therefore, the resulting controlled net system is live. A vector covering technique is proposed in [6], which can greatly
reduce the number of markings under consideration. Thus, the computational overhead is reduced. However, the study still
suffers from the structural complexity problem since redundant control places may survive. In [7], we design an optimal
supervisor with the minimal number of control places by solving an ILPP. The method can successfully handle the structural
complexity problem. The only problem of this method is its computational complexity since the ILPP may have too many
constraints and variables.
In fact, all the above methods do not consider the hardware and software costs in the stage of control implementation.
Although a simple supervisory structure always means low implementation cost of a supervisor, the situation in the real
world is more complex. The reason is that the implementation cost cannot be evaluated only by the number of control places
and arcs. In [4], Basile et al. propose a seminal work to design control places to enforce generalized mutual exclusion constraints (GMECs) by considering the implementation cost. A GMEC can represent a specication by limiting the weighted
sum of tokens in a subset of places. In [4], the implementation cost of a supervisor is minimized by solving an ILPP. The study
in [5] describes a branch-and-bound algorithm to design an optimal supervisor with the rst minimization of the number of
places and the second minimization of the number of the control and observation arcs. However, they do not consider the
cost of controlling/observing a single transition.
In this work, we try to nd an optimal supervisor with the lowest implementation cost in detail by considering the
cost of controlling and observing a single transition. Not like the work in [4] which designs a supervisor to implement
76
a given GMEC, this work obtains an optimal supervisor for a given Petri net model. The implementation cost of a supervisor can be evaluated by two parts: control places and arcs. Fig. 1 shows the layout of an FMS and its control unit. A
control unit always represents a processing unit such as programmable logic controllers (PLC), microcontrollers and computers, which can be considered as a control place. The arcs of a supervisor are classied into two sets: control arcs and
observation arcs. Control arcs are from control places to transitions and used to control the ring of transitions. Observation arcs are from transitions to control places and used to observe the occurrences of transitions. For example, the
control and observation signals in Fig. 1 indicate the control and observation arcs, respectively. In this gure, a control
signal represents the output of the control unit which is used to control the operation of the system. Similarly, an observation signal indicates the input of the control unit which is used to observe the state of the system. In practice, we assume that each of control (observation) arcs connecting to the same transition has the same implementation cost.
Otherwise, the implementation cost for different arcs can be different. In this case, this paper tries to design an optimal
supervisor with the lowest implementation cost. A control place is obtained by a place invariant (PI). An optimal control
purpose is achieved by designing PIs such that all legal markings are reachable and all FBMs are forbidden. Then, an ILPP
is designed and solved to obtain an optimal supervisor and its objective function is used to minimize the implementation
cost of the supervisor.
Similar to the study in [4], this work also considers two cases for the implementation cost of an optimal supervisor. A
control and observation cost is associated with a transition. Then, two cases are considered to evaluate the implementation
cost.
The rst case is that the implementation costs associated with the control and observation of a transition t depend on the
number of arcs going to and coming from t, respectively. In the second case, the control and observation costs of a transition t
depend on whether there exist arcs going to and coming from t, respectively.
The rst case may make sense if the control and observation actions are associated with physical actions (a material ow
and a signal carrying energy, for example). The second case has more intuitive motivation, i.e., the cost to control or observe a
transition is associated with the installation cost of a sensor or an actuator [35,48]. There is no extra cost to use the sensor or
actuator.
The goal of this research is to design a liveness-enforcing Petri net supervisor for an FMS by considering the optimization
of both its behavioral permissiveness and implementation cost. It can be applied to all FMS-oriented classes of Petri net models in the literature. In summary, we have the following statements by comparing the proposed method with the previous
work [6,7].
I. In the sense of behavioral permissiveness, the proposed approach and the work in [6,7] can lead to maximally permissive supervisors.
II. From the viewpoint of computational complexity, the proposed approach and the work in [6,7] need the complete
enumeration of all reachable marking and solving ILPPs. However, the ILPP proposed in [6] has very small number
of constraints and variables. The ILPPs proposed in both this paper and [7] have too many constraints and variables
for large-scale Petri net models. On the other hand, the work in [6] is an iterative approach but the work proposed
both in this paper and [7] is non-iterative since all control places can be obtained by solving one ILPP.
III. In the sense of structural complexity. The best one is the work in [6] that can obtain the minimal number of control
places. The work in [7] leads to a supervisor with too many control places. The method proposed in this paper can
obtain a small number of control places but the minimality cannot in general be guaranteed.
IV. Compared with the previous work [6,7], the most advantage of the proposed method is that the implementation cost
is considered and minimized.
The remainder of this paper is organized as follows. Section 2 briey reports some basics of Petri nets used
throughout this paper. The computation of a control place by a PI and the method to obtain a maximally permissive
control place are outlined in Section 3. Section 4 proposes an approach to design a maximally permissive supervisor
with the lowest implementation cost. An illustrative example is provided in Section 5 to show the application of the
proposed method in detail. Section 6 provides some experimental results of the proposed methods. Finally, Section 7
concludes this paper.
2. Preliminaries
2.1. Petri Nets
A Petri net is a four-tuple N = (P, T, F, W) where P and T are nite and non-empty sets. P is a set of places and T is a set of
transitions with P [ T ; and P \ T = ;. F # (P T) [ (T P) is called a ow relation of the net, represented by arcs with
arrows from places to transitions or from transitions to places. W : P T [ T P ! N is a mapping that assigns a weight
to an arc: W(x, y) > 0 if (x, y) 2 F, and W(x, y) = 0, otherwise, where (x, y) 2 (P T) [ (T P) and N is the set of non-negative
integers. M(p) denotes the number of tokens in place p. The pair (N, M0) is called a marked Petri net or a net system. A
net is pure (self-loop free) if "(x, y) 2 (P T) [ (T P), W(x, y) > 0 implies W(y, x) = 0. Incidence matrix [N] of pure net N is
a jPj jTj integer matrix with [N](p, t) = W(t, p) W(p, t).
77
A transition t 2 T is enabled at marking M if "p 2 t, M(p) P W(p, t). It is denoted as M[ti. Once a transition t res, it yields
a new marking M0 , denoted as M[tiM0 , where M0 (p) = M(p) W(p, t) + W(t, p). M[i is the set of all markings reachable from M
by ring any possible sequence of transitions. M0[iis called the set of reachable markings of a Petri net N with initial marking
M0, often denoted by R(N, M0). It can be graphically expressed by a reachability graph. The reachability graph of a net (N, M0),
denoted as G(N, M0), is a directed graph whose nodes are markings in R(N, M0) and arcs are labeled by the transitions of N.
A transition t 2 T is live at M0 if "M 2 R(N, M0), $M0 2 R(N, M), M0 [ti. (N, M0) is live if "t 2 T, t is live at M0. It is dead at M0 if
= t 2 T, M0[ti.
9
A P-vector is a column vector I : P ! Z indexed by P and a T-vector is a column vector J : T ! Z indexed by T, where Z is
the set of integers. P-vector I is called a P-invariant (place invariant, PI for short) if I 0 and IT[N] = 0T. P-invariant I is said to
be a P-semiow if no element of I is negative. Let I be a PI of (N, M0) and M be a reachable marking from M0. Then, ITM = ITM0.
2.2. Analysis of a reachability graph
A reachability graph can be partitioned into two parts: deadlock-zone (DZ) and live-zone (LZ) [38,39]. The DZ contains
deadlocks and critical bad markings that inevitably lead to deadlocks. The LZ contains all the legal markings. A set of legal
markings ML is the maximal set of reachable markings, from which it is possible to reach initial marking M0 without leaving
ML . Generally, the set of legal markings of a Petri net system (N, M0) can be dened as:
78
Figs. 2 and 3 depict the Petri net model of an FMS and its reachability graph, respectively. In Fig. 3, DZ includes M4, M8, M9,
M13, and M14 and LZ includes all the others.
An FBM is within the DZ, representing the very rst entry from the LZ to the DZ [38,39]. A mathematical form of the set of
FBMs is
In Fig. 3, M4, M8, M9, M13, and M14 are FBMs. In a reachability graph, we can see that a system cannot enter from the LZ to the
DZ if all FBMs are forbidden by control places. In this case, the controlled system keeps running in the LZ.
N
N0
Nc
Suppose that the control goal is to enforce the plant to satisfy the following constraints:
n
X
li li 6 b
i1
where li denotes the marking of place pi, and li and b are non-negative integers. By introducing a non-negative slack variable
ls, this inequality constraint can be transformed into an equality as follows:
n
X
li li ls b
i1
where ls represents the marking of control place ps, generally called a monitor. All constraints in the form of Eq. (3) can be
grouped into a matrix form and rewritten as follows:
L lp 6 b
where lp is the marking vector of the Petri net model, [L] is an nc n nonnegative integer matrix, b is an nc 1 nonnegative
integer vector, and nc is the number of constraints. By introducing a non-negative slack variable vector lc, these inequality
constraints can be transformed into equalities:
L lp lc b
6
T
where lc is an nc 1 vector that represents the marking of the control places. According to PI equation I [N] = 0 , the supervisor [Nc] can be computed as follows:
Nc L N0
Eq. (6) must be true also at the initial marking l0 of a net. Thus, the initial marking lc0 of the supervisor can be calculated as
follows:
lc0 b L l0
Denition 1. Let I be a PI dened by Eq. (4) and ps the control place associated with I. I is said to be maximally permissive if
the addition of ps can forbid FBMs but no legal marking.
The control place computed by a maximally permissive PI is also maximally permissive in the sense that its addition excludes the reachability of FBMs but does not forbid any legal marking.
3.2. Maximally permissive control place synthesis
This section recalls the method to obtain a maximally permissive liveness-enforcing supervisor for an FMS if it exists,
which is originally presented in [6].
There are three classes of places in a Petri net model of an FMS: idle, activity, and resource places whose sets are denoted
as P0, PA, and PR, respectively [9,36,49]. Tokens in an idle place represent the maximal number of concurrent operations that
may happen in a production sequence. An activity place represents an operation to be processed for a part in a production
sequence and initially has no token. Resource places represent resources and their initial tokens represent the number of
available resource units.
79
A maximally permissive supervisor can be obtained via designing control places such that all FBMs are forbidden and all
legal markings are reachable. Similar to the Uzam and Zhous work [38,39], for an FBM, only the tokens in activity places are
considered to construct a PI to prevent it from being reached. In the following, NA denotes {ijpi 2 PA} for an expedient
description.
Let G(N, M0) be the reachability graph of an FMSs Petri net model (N, M0), ML the set of legal markings, and MFBM the set
of FBMs. Any FBM M 2 MFBM can be forbidden by the following constraint:
li li 6 b
i2NA
where
li Mpi 1
10
i2NA
li M0 pi 6 b;
8M0 2 ML
11
i2NA
Eq. (11) is called the reachability condition. For an FBM, by substituting Eq. (10) into Eq. (11), the reachability condition
becomes
li M 0 pi Mpi 6 1;
8M0 2 ML
12
i2NA
H
Denition 4. Let MH
L be a subset of legal markings. ML is called a minimal covering set of legal markings if the following
two conditions are satised:
0
(1) 8M 2 ML ; 9M 0 2 MH
L s:t:M PA M; and
00
H
H
(2) 8M 2 ML ; 9
= M 2 ML s:t:M 00 PA M and M M00 .
H
If all markings in MH
FBM are forbidden by PIs, all the FBMs are forbidden. If no marking in ML is forbidden by PIs, no legal
marking in ML is forbidden. A maximally permissive supervisor can be designed if it forbids all the markings in MH
FBM and no
H
H
marking in MH
is
forbidden.
Therefore,
only
two
small
sets,
i.e.,
M
and
M
,
are
considered
to
design
maximally
permisL
FBM
L
sive control places. Then, for an FBM M, the reachability conditions, i.e., Eq. (12), is reduced as follows:
li M 0 pi Mpi 6 1;
8M0 2 MHL
13
i2NA
H
Generally, MH
FBM and ML are much smaller than MFBM and ML , respectively. Thus, the computational burden can be greatly
reduced.
80
lj;i M k pi P
i2NA
lj;i M j pi
14
i2NA
where lj, is i 2 NA are the coefcients of Ij. By simplifying Eq. (14), we have
lj;i M k pi M j pi P 0
15
i2NA
H
For Ij, we introduce a set of variables fj,k (k 2 NH
FBM and k j) to represent the relation between Ij and markings Mk (k 2 NFBM
and k j) in MH
.
Then,
we
have
FBM
lj;i M k pi M j pi P Q 1 fj;k ; 8M k 2 MH
FBM
and k j
16
i2NA
where Q is a positive integer constant that must be big enough and fj,k 2 {0, 1}. In Eq. (16), fj,k = 1 indicates that Mk is forbidden
by Ij and fj,k = 0 implies that Mk cannot be forbidden by Ij.
Now we introduce another set of variables hj j 2 NH
FBM for Ij and we have the following constraints:
fj;k 6 hj ; 8k 2 NH
FBM
and k j
17
where hj = 1 shows that Ij is selected to compute a control place and hj = 0 indicates that Ij is redundant and there is no need
to add a control place for it. Eq. (17) implies that, if Ij is not selected, it cannot forbid any FBM. For FBM Mj, we also have
hj
fk;j P 1
18
k2NH
;kj
FBM
li M 0 pi Mpi 6 Q 1 hj 1;
8M0 2 MHL
19
i2NA
Eq. (19) means that, (1) if Ij is not selected, we do not restrict its coefcients; and (2) if Ij is selected, every marking in MH
L is
reachable. Eqs. (14)(19) are used to forbid multiple FBMs by one PI, as found in [7], where, however, the implementation
cost is not considered. Next, we develop an ILPP to minimize the implementation cost of a supervisor.
The arcs of a supervisor are classied into two categories: control arcs and observation arcs. A control arc is from a control
place to a transition and an observation arc is from a transition to a control place. First, we introduce a set of variables
c
fj;q
2 f0; 1g to represent whether there is a control arc from control place pcj to transition tq (tq 2 T). Let [Nc](j, ) denote
P
the incidence vector of pcj , where N c j; q Wtq ; pcj Wpcj ; t q . According to Eq. (7), N c j; q i2NA lj;i N 0 i; q. Thus,
we have
c
lj;i N 0 i; q P Q fj;q
20
i2NA
c
lj;i N0 i; q P Q 1 fj;q
1
21
i2NA
c
where Q is a positive integer constant that must be big enough. Eqs. (20) and (21) imply that if [Nc](j, q) 6 1, then fj;q
1.
c
That is to say, there exists a control arc from pcj to transition tq. On the other hand, if [Nc](j, q) P 0, then fj;q
0.
o
Second, we similarly introduce a set of variables fj;q
2 f0; 1g to represent whether there is an observation arc from transition tq (tq 2 T) to control place pcj . Then, we have
o
lj;i N0 i; q P Q fj;q
22
i2NA
o
lj;i N 0 i; q P Q 1 fj;q
1
23
i2NA
o
Eqs. (22) and (23) indicate that if [Nc](j, q) P 1, then fj;q
1. That is to say, there exists an observation arc from tq to pcj . On the
o
other hand, if [Nc](j, q) 6 0, we have fj;q
0.
Finally, if Ij is not selected to compute a control place, there are no control and observation arcs. Thus, we have
c
fj;q
6 hj
24
o
fj;q
6 hj
25
In order to design an optimal supervisor with the lowest implementation cost, we assign a cost value to each control place
and each arc. Suppose that the implementation cost for each control place is C pc , then the total costs for all control places are
C pc
j2NH
FBM
hj
26
81
For transition tq, suppose that its control cost and observation cost are C ctq and C otq , respectively. In the following, two cases are
considered to evaluate the total implementation cost for all arcs of control places.
Case (1): The implementation costs associated with the control and observation of a transition t depend on the number of
arcs going to and coming from t, respectively. In this case, the total implementation cost of arcs in a supervisor is dened as
follows:
2
3
j2NH
FBM
X c
c
o 5
C tq fj;q
C otq fj;q
27
t q 2T
Combining all the above constraints, we have the following ILPP that is denoted as Lowest Implementation Cost Optimal
Supervisor Problem 1 (LICOSP1).
LICOSP1:
2
3
min C C pc
s:t:
hj
j2NH
FBM
j2NH
FBM
X c
c
o 5
C tq fj;q
C otq fj;q
t q 2T
lj;i Ml pi Mj pi 6 Q 1 hj 1; 8M j 2 MH
FBM
and 8M l 2 MH
L
28
i2NA
lj;i Mk pi Mj pi P Q 1 fj;k ; 8M j ; M k 2 MH
FBM
and j k
29
i2NA
and j k
f j;k 6 hj ; 8j; k 2 NH
FBM
X
hj
fk;j P 1; 8j 2 NH
FBM
30
31
k2NH
;kj
FBM
c
lj;i Np i; q P Q fj;q
; 8j 2 NH
FBM ; 8t q 2 T
32
i2NA
c
lj;i Np i; q P Q 1 fj;q
1; 8j 2 NH
FBM ; 8t q 2 T
33
o
lj;i Np i; q P Q fj;q
; 8 j 2 NH
FBM ; 8t q 2 T
34
i2NA
i2NA
X
o
1; 8j 2 NH
lj;i Np i; q P Q 1 fj;q
FBM ; 8t q 2 T
35
i2NA
c
fj;q
6 hj ; 8j 2 NH
FBM ; 8t q 2 T
o
fj;q
6 hj ; 8j 2
NH
FBM ;
36
8t q 2 T
37
and 8j 2 NH
FBM
and j k
hj 2 f0; 1g; 8j 2 NH
FBM
c
o
fj;q
; fj;q
2 f0; 1g; 8j 2 NH
FBM ; 8t q 2 T
The objective function C is used to minimize the total implementation cost of the nal supervisor. Denote its optimal value
by C, i.e., the lowest cost of the supervisor.
Theorem 1. LICOSP1 can lead to an optimal supervisor with the lowest implementation cost in Case (1) if it has an optimal
solution.
Proof. Eq. (28) ensures that each selected PI is maximally permissive since no legal marking is forbidden. According to Definition 1, every control place computed by the PI is optimal. In this case, the nal supervisor is also optimal. Eqs. (29)(32)
guarantee that every FBM in MH
FBM is forbidden by at least one selected PI. Therefore, the controlled system cannot enter the
c
o
DZ. That is to say, it is live. Eqs. (34)(37) restrict variables fj;q
and fj;q
to represent whether there are a control arc from control place pcj to transition tq and an observation arc from tq to pcj , respectively. Thus, the objective function indicates the total
implementation cost of the nal supervisor and is used to minimize it. In summary, the conclusion holds.
Case (2): The control and observation costs of a transition t depend on whether there exist arcs going to and coming from
c
o
. Now, we introduce a
t, respectively. In this case, the control (observation) cost of t cannot be linearly expressed by fj;q
fj;q
set of binary variables g cq tq 2 T to represent whether there exist control arcs from a control place to tq. Thus, we have
c
fj;q
6 Q g cq
38
c
fj;q
P g cq
39
j2NH
FBM
j2NH
FBM
82
c
Eqs. (38) and (39) ensure that g cq 1 if $fj,q = 1 and g cq 0 if " fj,q = 0, where j 2 NH
FBM . That is to say, g q 1 indicates that there
is at least one control arc from a control place to tq and g cq 0 means that there is no control arc from a control place to tq.
Similarly, we introduce a set of binary variables g oq tq 2 T to represent whether there exist observation arcs from tq to a control place. Then, we have
o
fj;q
6 Q g oq
40
o
fj;q
P g oq
41
j2NH
FBM
X
j2NH
FBM
According to Eqs. (40) and (41), g oq 1 indicates that there is at least one observation arc from tq to a control place and g oq 0
means that there is no observation arc from tq to a control place. Then, the total implemental cost of all arcs of a supervisor is
dened as follows:
C ctq g cq C otq g oq
42
t q 2T
Adding Eqs. (38)(41) to LICOSP1 and modifying the objective function, we have the following ILPP that is denoted as Lowest
Implementation Cost Optimal Supervisor Problem 2 (LICOSP2).
LICOSP2:
min C C pc
hj
C ctq g cq C otq g oq
t q 2T
j2NH
FBM
43
j2NH
FBM
c
fj;q
P g cq ; 8t q 2 T
44
o
fj;q
6 Q g oq ; 8t q 2 T
45
o
fj;q
P g oq ; 8t q 2 T
46
j2NH
FBM
j2NH
FBM
j2NH
FBM
NH
FBM
and 8j 2 NH
FBM
and j k
NH
FBM
c
o
fj;q
; fj;q
2 f0; 1g; 8j 2 NH
FBM ; 8t q 2 T
g cq ; g oq 2 f0; 1g; 8t q 2 T
Theorem 2. LICOSP2 can lead to an optimal supervisor with the lowest implementation cost in Case (2) if it has an optimal
solution.
Proof. The proof is similar to that of Theorem 1.
In LICOSP1, Eqs. (36) and (37) can be removed since they do not inuence the value of C. This fact can be veried as folc
o
lows. If hj = 0, then Eq. (28) does not restrict variables lj,i. As a result, fj;q
and fj;q
are not restricted by Eqs. (36) and (37).
c
o
According to the objective function, fj;q
and fj;q
are equal to 0 in the optimal solution. Therefore, we conclude that Eqs.
(36) and (37) can be removed from LICOSP1. Similarly, Eqs. (36) and (37) are also redundant in LICOSP2. The computational
time for solving an ILPP greatly depends on the number of constraints and variables in it. We provide the two instances of
LICOSP1 and LICOSP2 in Table 1 (which does not include the redundant constraints, i.e., Eqs. (36) and (37)).
Remark 1. In practice, a control place can represent a control unit in PLCs, micro-controllers, and computers. Thus, the
implementation cost C pc of a control place can be assigned as the real costs of these devices. A control (observation) arc is
used to control (observe) the occurrence of an event. In this case, the implementation cost C ctq C otq of a control (observation)
arc on tq can be considered as the cost of the corresponding actuator (sensor) of the event tq. Thus, the obtained
implementation cost is the sum of all costs of all the control units, actuators, and sensors, which are used to implement the
obtained supervisor.
In fact, LICOSP1 also can be used to minimize the number of control places and arcs. For instance, if we set both control
and observation cost for each arc to be zero, then we can obtain an optimal supervisor with a minimal number of control
places. Similarly, if we set the implementation cost of a control place to be zero and every arc has the same implementation
cost, then we can obtain an optimal supervisor with a minimal number of arcs.
83
No. constraints
Type
No. constraints
Name
No. variables
(28)
H
jMH
FBM j jML j
(34)
jMH
FBM j jTj
lj,i
jMH
FBM j jP A j
(29)
H
jMH
FBM j jMFBM j 1
(35)
H
jMH
FBM j jMFBM j 1
H
jMH
FBM j jMFBM j 1
(43)
jMH
FBM j jTj
jTj
fj,k
(30)
hj
jMH
FBM j
(31)
jMH
FBM j
(44)
jTj
c
fj;q
jMH
FBM j jTj
(32)
jMH
FBM j jTj
(45)
jTj
o
fj;q
(33)
jMH
FBM j jTj
(46)
jTj
g cq
jMH
FBM j jTj
jTj
g oq
jTj
LICOSP1
H
H
jMH
FBM j jML j 2jMFBM j 4jTj 1
LICOSP1
H
jMH
FBM j jP A j jMFBM j 2jTj
LICOSP2
H
H
jMH
FBM j jML j 2jMFBM j 4jTj 1 4jTj
LICOSP2
H
jMH
FBM j jP A j jMFBM j 2jTj 2jTj
5. An illustrative example
This section takes the net shown in Fig. 2 as a simple FMS example to show the application of the proposed method. In
H
this work, only activity places are considered for markings in MH
L and MFBM . Therefore, a compact multiset formalism
P
H
H
Mp
p
is
used
to
denote
a
marking
M
in
M
and
M
for
the
sake
of an expedient description. For instance,
i
i
L
FBM
i2NA
M3 = 2p1 + p3 + 3p8 + p9 + p11 and M4 = 2p1 + p2 + p5 + 2p8 + p10 in Fig. 3 are a legal marking and an FBM, respectively. Then,
they are denoted by M3 = p3 and M4 = p2 + p5, respectively.
For the net, there are 11 places and eight transitions, where places can be considered as the collections of the three subsets: idle place set P0 = {p1,p8}, activity place set PA = {p2 p7}, and resource place set PR = {p9 p11}. From Fig. 3, it can be
seen that the net has 20 reachable markings, in which 15 are legal markings and ve are FBMs. By using a vector covering
approach, the minimal covered set of FBMs and the minimal covering set of legal markings have three and two elements,
H
respectively. Specically, we have MH
FBM fp2 p5 ; p3 p5 ; p2 p6 g and ML fp2 p3 p4 ; p5 p6 p7 g.
For FBM1 = p2 + p5, let I1 be the PI that forbids FBM1, whose coefcients are l1,i (i 2 {2, 3, 4, 5, 6, 7}) and h1 2 {0, 1} the variable to represent whether I1 is selected to compute a control place pc1 . For an optimal control purpose, I1 does not forbid any
legal marking in MH
L . Thus, we have
h1 f2;1 f3;1 P 1
c
Now, we consider the implementation cost of control place pc1 . A set of variables f1;q
(q 2 {1, 2, . . . , 8}) are introduced to represent whether there is a control arc from pc1 to transition tq. For instance, for transition t1, we have
c
l1;2 P Q f1;1
l1;2 P Q 1
and
c
f1;1
1:
o
Similarly, we introduce a set of variables f1;q
(q 2 {1, 2, . . . , 8}) to represent whether there is a control arc from tq to transition
pc1 . For transition t1, we have
o
l1;2 P Q f1;1
and
o
1:
l1;2 P Q 1 f1;1
For control place pc1 , we do not provide the conditions for other transitions due to the limited space.
Similarly, for the other two FBMs in MH
FBM , we accordingly have conditions (which is neither provided due to the limited
space). Finally, for Case (1), an objective function is designed to minimize the implementation cost of the nal supervisor, as
presented below:
min C C pc
"
#
3
3
8
X
X
X
c
o
hj
C ctq fj;q
C otq fj;q
j1
where
C ctq
and
C otq
j1
q1
84
Combining all the above conditions, we have the following LICOSP1 with 117 constraints and 75 variables, where [N0] is
the incidence matrix of the net.
LICOSP1:
min C C pc
3
X
hj
j1
"
#
3
8
X
X
c
o
C ctq fj;q
C otq fj;q
j1
q1
7
X
c
lj;i N0 i; q P Q fj;q
; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i2
7
X
c
lj;i N0 i; q P Q 1 fj;q
1; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i2
7
X
o
lj;i N0 i; q P Q fj;q
; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i2
7
X
o
lj;i N0 i; q P Q 1 fj;q
1; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i2
and
c
c
c
f2;1
f3;1
P g c1 :
f1;1
Similarly, we introduce a set of binary variables g oq q 2 f1; 2; . . . ; 8g to represent whether there exist observation arcs on
tq. For transition t1, we have
o
o
o
f1;1
f2;1
f3;1
6 Q g o1
and
o
o
o
f2;1
f3;1
P g o1 :
f1;1
Finally, for Case (2), an objective function is designed to minimize the implementation cost of the nal supervisor, as presented below:
min C C pc
3
8
X
X
hj
C ctq g cq C otq g oq
j1
C ctq
C otq
q1
where
and
are the control cost and observation cost of tq, respectively.
Adding all the above conditions to LICOSP1, we have the following LICOSP2 with 149 constraints and 91 variables.
85
LICOSP2:
"
#
3
3
8
X
X
X
c
o
c
o
min C C pc
hj
C tq fj;q C tq fj;q
j1
j1
q1
Table 2
Experimental results for the net shown in Fig. 2 in Cases (1) and (2).
C pc
[Cc], [Co]
LICOSP1
LICOSP2
N pc
Narc
pc ; pc ; M 0 pc
N pc
Narc
pc ; pc ; M0 pc
100
[1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1]
208
206
100
217
215
[1, 2, 2, 1, 1, 2, 2, 1],
[1, 2, 2, 1, 1, 2, 2, 1]
12
10
0.1
44.2
33.2
86
6. Experimental results
In this section, a Petri net model of an FMS is used to illustrate the proposed method, as shown in Fig. 4. This is a wellknown example that is studied in several papers [6,7,27,37]. There are 19 places and 14 transitions. The places have the following set partitions: P0 = {p1, p8}, PR = {p14 p19}, and PA = {p2 p7, p9 p13}. It has 282 reachable markings, 54 and 205 of
H
which are FBMs and legal ones, respectively. By using a vector covering approach, MH
FBM and ML have eight and 26 markings,
respectively. For this example, LICOSP1 (LICOSP2) has 776 (832) constraints and 376 (404) variables.
Tables 3 and 4 show the experimental results of the proposed method by varying the implementation cost C pc of a control
place, control cost C ctq for each transition, and observation cost C ctq for each transition in Cases (1) and (2), respectively. In the
tables, the last column T LP represents the CPU time (seconds) for solving the corresponding ILPP by using LINGO [29], on a
notebook with a Windows XP operating system and Intel CPU Core 2.8 GHz and 4 GB memory.
In Table 3, for the rst two rows, the cost of a control place is much more expensive than that of each arc. Thus, we can
easily obtain an optimal supervisor with a small, in fact the minimal, number of control places. Note that the supervisor in
the second row has 13 arcs. It has more arcs than that in the rst row since the control cost of t2 and observation cost of t7 is
increased in the second row. Thus, compared with the rst, the second has less control arcs to t2 and observation arcs to t7,
aiming to achieve the lowest implementation cost purpose. For the last two rows, we only decrease the cost of a supervisor.
Then, we obtain the same supervisor with two control places since they are the minimal number of control places. In Table 4,
compared with the rst row, we increase the observation cost of transition t4, t5, t8, t11, and t14. Then, we obtain a supervisor
that has no observation arc from t4, t5, t8, t11, and t14 for the minimal implementation cost purpose. In summary, every row in
the two tables shows an optimal supervisor with the lowest implementation cost according to the corresponding cost value
in the second column.
Table 3
Experimental results for the net shown in Fig. 4 in Case (1).
C pc
[Cc], [Co]
N pc
Narc
100
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1]
12
100
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1]
0.1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1]
T LP S
217
18
13
264
22
12
19
72
12
17.2
110
pc ; pc ; M 0 pc
87
[Cc], [Co]
N pc
Narc
100
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1]
12
100
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1]
0.1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1]
T LP S
214
76
13
258
55
12
16
417
12
14.2
381
pc ; pc ; M 0 pc
Table 5
Performance comparison of some deadlock control policies.
Parameters
[37]
[27]
[32]
[6]
[7]
Proposed method
No. monitors
No. arcs
No. states
6
32
205
9
42
205
5
23
205
8
37
205
2
12
205
2
1213
205
The example has been widely used in the literature. Table 5 shows some classical results for this example. It can be seen
that both the proposed method and the work in [7] can lead to the minimal number of control places. The supervisor obtained by the proposed method has 12 or 13 arcs, that is the smallest number or closed to the minimal number of control
places. Note that only the proposed method considers the minimization of the implementation cost.
Next, we consider a complex example, as shown in Fig. 5. There are 29 places and 20 transitions. The places have the following set partitions: P0 = {p1, p5, p14}, PR = {p20 p29}, and PA = {p2 p4, p6 p13, p15 p19}. It has 6085 reachable markings,
H
806 and 5278 of which are FBMs and legal ones, respectively. By using a vector covering approach, MH
FBM and ML have eight
and 90 markings, respectively. For this example, LICOSP1 (LICOSP2) has 1480 (1560) constraints and 512 (552) variables.
Tables 6 and 7 show the experimental results of the proposed method by varying the implementation cost C pc of a control
place, control cost C ctq for each transition, and observation cost C ctq for each transition in Cases (1) and (2), respectively. In the
88
Table 6
Experimental results for the net shown in Fig. 5 in Case (1).
C pc
[Cc], [Co]
100
T LP min
422
4.34
19
462
8.49
17
26
6.80
17
22.4
6.65
N pc
Narc
T LP min
18
417
143.32
19
441
201.55
18
21
143.32
19
{t14}, {t11}, 1
{t3, t8, t19}, {t1, t17}, 4
{t10, t17}, {t8, t15}, 3
{8t5, t8, t10, 8t17, t19}, {2t1, 6t3, 9t15}, 33
17.4
58.33
N pc
Narc
17
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2]
100
[1, 2, 6, 1, 2, 2, 2, 8, 1, 2, 2, 2, 2, 1, 9, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 7, 2, 2, 8, 1, 9, 1, 2, 2, 1, 2, 2, 8, 2, 1, 2]
1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2]
0.1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2]
pc ; pc ; M 0 pc
Table 7
Experimental results for the net shown in Fig. 5 in Case (2).
C pc
[Cc], [Co]
100
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2]
100
[1, 2, 8, 1, 2, 2, 2, 7, 1, 2, 2, 2, 2, 1, 1, 2, 9, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 6, 1, 2, 2, 1, 2, 2, 8, 2, 1, 2]
1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2]
0.1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1],
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2]
pc ; pc ; M0 pc
tables, the last column T LP represents the CPU time (minutes) for solving the corresponding ILPP on a notebook with a Windows XP operating system and Intel CPU Core 2.8 GHz and 4 GB memory.
In Table 6, in the rst two rows, the cost of a control place is much more expensive than that of each arc. Thus, we obtain
an optimal supervisor with the minimal number of control places. The supervisor in the second row has 19 arcs, which has
two more arcs than that in the rst row. Compared with the rst row, the control cost of t15 and the observation costs of t5, t8,
and t10 are increased. Thus, the supervisor in the second row has less control arcs to t15 and no observation arcs from t5, t8,
and t10, which can achieve the lowest implementation cost purpose. For the last two rows, only the cost of a control unit is
decreased. Then, we obtain the same supervisor with four control places, which are the minimal number of control places. In
Table 7, compared with the rst row, the observation costs of transitions t10 and t17 are increased in the second row. Then, we
obtain a supervisor that has no observation arc from t10 and t17 for the minimal implementation cost purpose. Every supervisor in the two tables shows an optimal supervisor with the lowest implementation cost according to the corresponding
cost value in the second column.
7. Conclusions
This paper aims to design an optimal Petri net supervisor with the lowest implementation cost for an FMS. From the viewpoint of implementation cost, a supervisor contains two parts: control places and arcs. For all arcs in a supervisor, we classify
them into two parts: control arcs and observation arcs. Then, by assigning a control cost and an observation cost for each
transition, and an implementation cost for a control place, the implementation cost of a supervisor can be evaluated. Two
ILPPs are developed to minimize the implementation cost of the supervisor by considering cases.
89
However, there is a problem in the proposed method, i.e., computational complexity. First, it is based on reachability
graph analysis of a Petri net model, which suffers from the state explosion problem. Second, the proposed ILPPs, namely LICOSP1 and LICOSP2, have too many constraints and variables for large-scale Petri net models, which makes them inapplicable to real-word systems. Our future work will focus on the two issues.
Acknowledgments
This work was supported in part by the National Natural Science Foundation of China under Grant Nos. 61074035,
61203038, and 61374068, the Fundamental Research Funds for the Central Universities under Grant Nos. JY10000904001
and K5051204002, the National Research Foundation for the Doctoral Program of Higher Education, the Ministry of Education, P.R. China, under Grant No. 20090203110009, and Alexander von Humboldt Foundation.
References
[1] Z. Banaszak, B.H. Krogh, Deadlock avoidance in exible manufacturing systems with concurrently competing process ows, IEEE Transactions on
Robotics and Automation 6 (6) (1990) 724734.
[2] K. Barkaoui, I. Ben Abdallah, Analysis of a resource allocation problem in FMS using structure theory of Petri nets, in: Proceedings of the First
International Workshop on Manufacturing and Petri Nets, 1996.
[3] K. Barkaoui, J.F. Peyre, On liveness and controlled siphons in Petri nets, in: J. Bilington, W. Reisig (Eds.), Proc. 17th Int. Conf. Appl. Theory Petri Nets,
Lecture Notes in Computer Science, vol. 1091, Springer-Verlag, New York, 1996, pp. 5772.
[4] F. Basile, P. Chiacchio, A. Guia, An optimization approach to Petri net monitor design, IEEE Transactions on Automatic Control 52 (2) (2007) 306311.
[5] R. Cordone, L. Piroddi, Monitor optimization in Petri net control, in: 7th Annual IEEE Conference on Automation Science and Engineering, Trieste (Italy),
August 2427, 2011, pp. 413418.
[6] Y.F. Chen, Z.W. Li, M. Khalgui, O. Mosbahi, Design of a maximally permissive liveness-enforcing Petri net supervisor for exible manufacturing systems,
IEEE Transactions on Automation Science and Engineering 8 (2) (2011) 374393.
[7] Y.F. Chen, Z.W. Li, Design of a maximally permissive liveness-enforcing supervisor with a compressed supervisory structure for exible manufacturing
systems, Automatica 47 (5) (2011) 10281034.
[8] E.G. Coffman, M.J. Elphick, A. Shoshani, Systems deadlocks, ACM Computing Surveys 3 (2) (1971) 6778.
[9] J. Ezpeleta, J.M. Colom, J.A. Martinez, Petri net based deadlock prevention policy for exible manufacturing systems, IEEE Transactions on Robotics and
Automation 11 (2) (1995) 173184.
[10] J. Ezpeleta, L. Recalde, A deadlock avoidance approach for non-sequential resource allocation systems, IEEE Transactions on Systems, Man, and
Cybernetics, Part A 34 (1) (2004) 93101.
[11] M.P. Fanti, M.C. Zhou, Deadlock control methods in automated manufacturing systems, IEEE Transactions on Systems, Man, and Cybernetics, Part A 34
(1) (2004) 522.
[12] M.P. Fanti, M.C. Zhou, Deadlock control methods in automated manufacturing systems, in: Deadlock Resolution in Computer-Integrated Systems,
Marcel-Dekker Co., New York, 2005, pp. 122.
[13] A. Ghaffari, N. Rezg, X.L. Xie, Design of a live and maximally permissive Petri net controller using the theory of regions, IEEE Transactions on Robotics
and Automation 19 (1) (2003) 137142.
[14] V. Gligor, S. Shattuck, On deadlock detection in distributed systems, IEEE Transactions on Software Engineering 7 (3) (1980) 320336.
[15] B. Hruz, M.C. Zhou, Modeling and Control of Discrete Event Dynamic Systems, Springer, London, UK, 2007.
[16] F.S. Hsieh, S.C. Chang, Dispatching-driven deadlock avoidance controller synthesis for exible manufacturing systems, IEEE Transactions on Robotics
and Automation 10 (2) (1994) 196209.
[17] F.S. Hsieh, Fault-tolerant deadlock avoidance algorithm for assembly processes, IEEE Transactions Systems, Man, and Cybernetics, Part A 34 (1) (2004)
6579.
[18] Y.S. Huang, M.D. Jeng, X.L. Xie, S.L. Chung, Deadlock prevention based on Petri nets and siphons, International Journal of Production Research 39 (2)
(2001) 283305.
[19] Y.S. Huang, M.D. Jeng, X.L. Xie, D.H. Chung, Siphon-based deadlock prevention for exible manufacturing systems, IEEE Transactions on Systems, Man,
and Cybernetics, Part A 36 (6) (2006) 12481256.
[20] M.D. Jeng, X.L. Xie, Deadlock detection and prevention of automated manufacturing systems using Petri nets and siphons, in: M.C. Zhou, M.P. Fanti
(Eds.), Deadlock Resolution in Computer-Integrated Systems, Marcel-Dekker Inc, New York, 2005, pp. 233281.
[21] T.K. Kumaran, W. Chang, H. Cho, A. Wysk, A structured approach to deadlock detection, avoidance and resolution in exible manufacturing systems,
International Journal of Production Research 32 (10) (1994) 23612379.
[22] K. Lautenbach, H. Ridder, The Linear Algebra of Deadlock Avoidance A Petri Net Approach, No. 251996, Technical Report, Institute of Software
Technology, University of Koblenz-Landau, Koblenz, Germany, 1996. .
[23] Z.W. Li, M.C. Zhou, Elementary siphons of Petri nets and their application to deadlock prevention in exible manufacturing systems, IEEE Transactions
on Systems, Man, and Cybernetics, Part A 34 (1) (2004) 3851.
[24] Z.W. Li, M.C. Zhou, Clarications on the denitions of elementary siphons of Petri nets, IEEE Transactions on Systems, Man, and Cybernetics, Part A 36
(6) (2006) 12271229.
[25] Z.W. Li, H.S. Hu, A.R. Wang, Design of liveness-enforcing supervisors for exible manufacturing systems using Petri nets, IEEE Transactions on Systems,
Man, and Cybernetics, Part C 37 (4) (2007) 517526.
[26] Z.W. Li, M.C. Zhou, Two-stage method for synthesizing liveness-enforcing supervisors for exible manufacturing systems using Petri nets, IEEE
Transactions on Industrial Informatics 2 (4) (2006) 313325.
[27] Z.W. Li, M.C. Zhou, M.D. Jeng, A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions,
IEEE Transactions on Automation Science and Engineering 5 (1) (2008) 182188.
[28] Z.W. Li, M.C. Zhou, Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach, Springer, London, 2009.
[29] Lingo, Premier Optimization Modeling Tools, <http://www.lingo.com> (accessed 10.09).
[30] D. Liu, Z.W. Li, M.C. Zhou, Liveness of an extended S3PR, Automatica 46 (6) (2010) 10081018.
[31] T. Murata, Petri nets: properties, analysis and application, Proceedings of the IEEE 77 (4) (1989) 541580.
[32] L. Piroddi, R. Cordone, I. Fumagalli, Selective siphon control for deadlock prevention in Petri nets, IEEE Transactions on Systems, Man, and Cybernetics,
Part A 8 (6) (2008) 13371348.
[33] P. Ramadge, W.M. Wonham, Supervisory control of a class of discrete event processes, SIAM journal on Control and Optimization 25 (1) (1987) 206
230.
[34] P. Ramadge, W.M. Wonham, The control of discrete event systems, Proceedings of the IEEE 77 (1) (1989) 8189.
[35] K.R. Rohloff, S. Khuller, G. Kortsarz, Approximating the minimal sensor selection for supervisory control, Discrete Event Dynamic System 16 (2006)
143170.
90
[36] F. Tricas, J. Martinez, An extension of the liveness theory for concurrent sequential processes competing for shared resources, in: Proceedings of the
IEEE International Conference on Systems, Man, and Cybernetics, Vancouver, British Columbia, Canada, 1995, pp. 30353040.
[37] M. Uzam, An optimal deadlock prevention policy for exible manufacturing systems using Petri net models with resources and the theory of regions,
International Journal of Advanced Manufacturing Technology 19 (3) (2002) 192208.
[38] M. Uzam, M.C. Zhou, An improved iterative synthesis method for liveness enforcing supervisors of exible manufacturing systems, International
Journal of Production Research 44 (10) (2006) 19872030.
[39] M. Uzam, M.C. Zhou, An iterative synthesis approach to Petri net based deadlock prevention policy for exible manufacturing systems, IEEE
Transactions on Systems, Man and Cybernetics, Part A 37 (3) (2007) 362371.
[40] N. Viswanadham, Y. Narahari, T. Johnson, Deadlock prevention and deadlock avoidance in exible manufacturing systems using Petri net models, IEEE
Transactions on Robotics and Automation 6 (6) (1990) 713723.
[41] N.Q. Wu, Necessary and sufcient conditions for deadlock-free operation in exible manufacturing systems using a colored Petri net model, IEEE
Transactions on Systems, Man, and Cybernetics, Part C, 29 (2) (1999) 192204.
[42] N.Q. Wu, M.C. Zhou, Avoiding deadlock and reducing starvation and blocking in automated manufacturing systems, IEEE Transactions on Robotics and
Automation 17 (5) (2001) 658669.
[43] N.Q. Wu, M.C. Zhou, Modeling and deadlock avoidance of automated manufacturing systems with multiple automated guided vehicles, IEEE
Transactions on Systems, Man, and Cybernetics, Part B, 35 (6) (2005) 1931202.
[44] N.Q. Wu, M.C. Zhou, System Modeling and Control with Resource-Oriented Petri Nets, CRC Press, New York, 2010.
[45] R.A. Wysk, N.S. Yang, S. Joshi, Resolution of deadlocks in exible manufacturing systems: avoidance and recovery approaches, Journal of Manufacturing
Systems 13 (2) (1994) 128138.
[46] K.Y. Xing, B.S. Hu, H.X. Chen, Deadlock avoidance policy for Petri-net modelling of exible manufacturing systems with shared resources, IEEE
Transactions on Automatic Control 41 (2) (1996) 289295.
[47] K. Yamalidou, J. Moody, M. Lemmon, P. Antsaklis, Feedback control of Petri nets based on place invariants, Automatica 32 (1) (1996) 1528.
[48] S.D. Young, V.K. Garg, Optimal sensor and actuator choices for discrete event systems, in: Proceeding of 31st Allerton Conference on Communication,
Control and Computing, Allerton, IL, 1993.
[49] M.C. Zhou, F. DiCesare, Parallel and sequential mutual exclusions for petri net modeling of manufacturing systems with shared resources, IEEE
Transactions on Robotics and Automation 7 (4) (1991) 515527.