You are on page 1of 17

Information Sciences 256 (2014) 74–90

Contents lists available at ScienceDirect

Information Sciences
journal homepage: www.elsevier.com/locate/ins

Maximally permissive liveness-enforcing supervisor


with lowest implementation cost for flexible manufacturing
systems q
YuFeng Chen a,b, ZhiWu Li a,⇑, Kamel Barkaoui b
a
School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China
b
Cedric Lab and Computer Science Department of Conservatoire National des Arts et Métiers, Paris 75141, France

a r t i c l e i n f o a b s t r a c t

Article history: This paper develops a place invariant based deadlock prevention method to obtain a max-
Received 29 April 2012 imally permissive Petri net supervisor with the lowest implementation cost. A supervisor
Received in revised form 18 April 2013 consists of a set of control places and the arcs connecting control places to transitions. We
Accepted 28 July 2013
assign an implementation cost for each control place and control and observation costs for
Available online 6 August 2013
each transition. Based on reachability graph analysis, maximal permissiveness can be
achieved by designing place invariants that prohibit all first-met bad markings but no legal
Keywords:
markings. By solving an integer linear programming problem (ILPP), a set of optimal con-
Petri net
Flexible manufacturing system (FMS)
trol places are obtained and the objective function is used to minimize the implementation
Deadlock prevention cost of the final supervisor. A vector covering approach is used to reduce the number of
Optimal liveness-enforcing supervisor considered markings, aiming to reduce the computational overhead of the proposed
Lowest implementation cost 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 finish 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 indefinitely 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,23–26].
Generally, deadlock resolution strategies can be classified into three categories: deadlock detection and recovery
[14,21,45], deadlock avoidance [1,2,10,16,17,40–43], 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 supervi-

q
The material in this paper was partially presented at the 16th IEEE Conference on Emerging Technologies and Factory Automation (ETFA), Toulouse,
September 5–9, 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
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 75

sor is expressed by control places and the arcs connecting them to transitions. The most important advantage of the ap-
proach 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 find a behaviorally optimal supervisor. The latter, i.e., reachability graph analysis, usually requires a com-
plete 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 ‘‘maxi-
mally permissive’’.
Generally, there are mainly three criteria in evaluating and designing a liveness-enforcing supervisor: behavioral permis-
siveness, 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 struc-
ture, and efficient computation.
Based on reachability graph analysis, the theory of regions proposed in [13] is an effective approach that can definitely
find 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 first-met bad marking
(FBM) is in DZ, representing the very first 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 reach-
able. 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 con-
straints (GMECs) by considering the implementation cost. A GMEC can represent a specification 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 first 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 find 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

Fig. 1. Layout of an FMS with its control unit.


76 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

a given GMEC, this work obtains an optimal supervisor for a given Petri net model. The implementation cost of a super-
visor 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 com-
puters, which can be considered as a control place. The arcs of a supervisor are classified into two sets: control arcs and
observation arcs. Control arcs are from control places to transitions and used to control the firing of transitions. Obser-
vation 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 figure, a control
signal represents the output of the control unit which is used to control the operation of the system. Similarly, an obser-
vation signal indicates the input of the control unit which is used to observe the state of the system. In practice, we as-
sume 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 first 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 first case may make sense if the control and observation actions are associated with physical actions (a material flow
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 mod-
els 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 permis-
sive 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 briefly 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 finite 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 flow 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).
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 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 fires, 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 firing 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-semiflow 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 defined as:
ML ¼ fMjM 2 RðN; M 0 Þ ^ M0 2 RðN; MÞg ð1Þ

Fig. 2. Petri net model of an FMS.

Fig. 3. The reachability graph of the Petri net in Fig. 2.


78 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

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 first entry from the LZ to the DZ [38,39]. A mathematical form of the set of
FBMs is
MFBM ¼ fM 2 DZj9M 0 2 LZ; t 2 T; s:t: M0 ½tiMg ð2Þ
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.

3. Optimal control places synthesis

3.1. Control place computation by place invariants

This section briefly recalls the control place synthesis method using PIs proposed in [47]. Let [N0] be the incidence matrix
of a plant with n places and m transitions and [Nc] the incidence matrix of the control places. The controlled net with inci-
dence matrix [N] consists of both original net and control places, i.e.,
 
N0
½N ¼
Nc
Suppose that the control goal is to enforce the plant to satisfy the following constraints:
X
n
li  li 6 b ð3Þ
i¼1

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:
X
n
li  li þ ls ¼ b ð4Þ
i¼1

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 ð5Þ

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 T
where lc is an nc  1 vector that represents the marking of the control places. According to PI equation I [N] = 0 , the super-
visor [Nc] can be computed as follows:
½Nc  ¼ ½L  ½N0  ð7Þ
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 ð8Þ

Definition 1. Let I be a PI defined 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 ex-
cludes 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.
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 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 Zhou’s 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 FMS’s 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:
X
li  li 6 b ð9Þ
i2NA

where
X
b¼ li  Mðpi Þ  1 ð10Þ
i2NA

Eq. (9) is called the forbidding condition.


To ensure that every marking M 0 2 ML cannot be prevented from being reached, coefficients li ði 2 NA Þ in Eq. (9) should
satisfy
X
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
X
li  ðM 0 ðpi Þ  Mðpi ÞÞ 6 1; 8M0 2 ML ð12Þ
i2NA

Eq. (12) determines coefficients li ði 2 NA Þ.


Let (N, M0) be the Petri net model of an FMS with N = (P0 [ PA [ PR, T, F, W). The following results on the vector covering
approach are primarily from [6].

Definition 2. Let M and M0 be two markings in R(N, M0). M A-covers M0 (or M0 is A-covered by M) if "p 2 PA, M(p) P M0 (p),
which is denoted as M P AM0 (or M0 6 AM).
Let M and M0 be two markings in R(N, M0) with M P AM0 . If M0 is forbidden by a PI of the type established by Eqs. (9) and
(10), M is forbidden. If M is not forbidden by a PI, M0 is not forbidden.

Definition 3. Let MH H
FBM be a subset of FBMs. MFBM is called a minimal covered set of FBMs if the following two conditions are
satisfied:

(1) 8M 2 MFBM ; 9M 0 2 MH 0
FBM ; s:t. M P AM ; and
H 00 H 00
= M 2 MFBM ; s:t:MPA M and M – M00 .
(2) 8M 2 MFBM ; 9

Definition 4. Let MH H
L be a subset of legal markings. ML is called a minimal covering set of legal markings if the following
two conditions are satisfied:

(1) 8M 2 ML ; 9M 0 2 MH 0
L s:t:M PA M; and
H
(2) 8M 2 ML ; 9= M 2 ML s:t:M 00 PA M and M – M00 .
00 H

If all markings in MH H
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
marking in MH L is forbidden. Therefore, only two small sets, i.e., MH
FBM and MH
L , are considered to design maximally permis-
sive control places. Then, for an FBM M, the reachability conditions, i.e., Eq. (12), is reduced as follows:
X
li  ðM 0 ðpi Þ  Mðpi ÞÞ 6 1; 8M0 2 MHL ð13Þ
i2NA

Generally, MH H
FBM and ML are much smaller than MFBM and ML , respectively. Thus, the computational burden can be greatly
reduced.

4. Lowest implementation cost supervisor synthesis

This section presents an approach to obtain an optimal supervisor with the lowest implementation cost. In the following,
H
NHFBM denotes ijM i 2 MFBM .
A PI may forbid more than one FBM. Given a PI Ij for an FBM M j 2 MH H
FBM , any FBM M k 2 MFBM (k – j) is forbidden if Mk
satisfies the following constraint:
80 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

X X
lj;i  M k ðpi Þ P lj;i  M j ðpi Þ ð14Þ
i2NA i2NA

where lj, i’s ði 2 NA Þ are the coefficients of Ij. By simplifying Eq. (14), we have
X
lj;i  ðM k ðpi Þ  M j ðpi ÞÞ P 0 ð15Þ
i2NA

For Ij, we introduce a set of variables fj,k (k 2 NH H


FBM and k – j) to represent the relation between Ij and markings Mk (k 2 NFBM
and k – j) in MH FBM . Then, we have
X
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
X
hj þ fk;j P 1 ð18Þ
k2NH
FBM
;k–j

Eq. (18) ensures that any FBM Mj in MH


FBM must be forbidden by at least one PI. Meanwhile, Eq. (13) should be modified as
X
li  ðM 0 ðpi Þ  Mðpi ÞÞ 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 coefficients; 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 classified 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Þ ¼ Wðtq ; pcj Þ  Wðpcj ; t q Þ. According to Eq. (7), ½N c ðj; qÞ ¼  i2NA lj;i  ½N 0 ði; qÞ. Thus,
we have
X
c
 lj;i  ½N 0 ði; qÞ P Q  fj;q ð20Þ
i2NA

X
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 tran-
sition tq (tq 2 T) to control place pcj . Then, we have
X
o
lj;i  ½N0 ði; qÞ P Q  fj;q ð22Þ
i2NA

X  
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
X
C pc  hj ð26Þ
j2NH
FBM
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 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 defined as
follows: 2 3
X X c 
4 c
C tq  fj;q o 5
þ C otq  fj;q ð27Þ
j2NH t q 2T
FBM

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
X X X c 
min C ¼ C pc  hj þ 4 c
C tq  fj;q o 5
þ C otq  fj;q
j2NH j2NH t q 2T
FBM FBM
X
s:t: lj;i  ðMl ðpi Þ  Mj ðpi ÞÞ 6 Q  ð1  hj Þ  1; 8M j 2 MH
FBM and 8M l 2 MH
L ð28Þ
i2NA
X
lj;i  ðMk ðpi Þ  Mj ðpi ÞÞ P Q  ð1  fj;k Þ; 8M j ; M k 2 MH
FBM and j – k ð29Þ
i2NA

f j;k 6 hj ; 8j; k 2 NH FBM and j – k ð30Þ


X
hj þ fk;j P 1; 8j 2 NH
FBM ð31Þ
k2NH
FBM
;k–j
X
c
 lj;i  ½Np ði; qÞ P Q  fj;q ; 8j 2 NH
FBM ; 8t q 2 T ð32Þ
i2NA
X
c
lj;i  ½Np ði; qÞ P Q  ð1  fj;q Þ þ 1; 8j 2 NH
FBM ; 8t q 2 T ð33Þ
i2NA
X
o
lj;i  ½Np ði; qÞ P Q  fj;q ; 8 j 2 NH
FBM ; 8t q 2 T ð34Þ
i2NA
X  
o
 lj;i  ½Np ði; qÞ P Q  1  fj;q þ 1; 8j 2 NH
FBM ; 8t q 2 T ð35Þ
i2NA
c
fj;q 6 hj ; 8j 2 NH
FBM ; 8t q 2 T ð36Þ
o
fj;q 6 hj ; 8j 2 NH
FBM ; 8t q 2 T ð37Þ
lj;i 2 f0; 1; 2; . . .g; 8i 2 NA and 8j 2 NH
FBM

f j;k 2 f0; 1g; 8j; k 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 final 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 Def-
inition 1, every control place computed by the PI is optimal. In this case, the final 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 con-
trol 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 final 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
t, respectively. In this case, the control (observation) cost of t cannot be linearly expressed by fj;q fj;q . Now, we introduce a
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
X
c
fj;q 6 Q  g cq ð38Þ
j2NH
FBM
X
c
fj;q P g cq ð39Þ
j2NH
FBM
82 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

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 c
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 con-
trol place. Then, we have
X
o
fj;q 6 Q  g oq ð40Þ
j2NH
FBM

X
o
fj;q P g oq ð41Þ
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
defined as follows: 
X
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:  
X X
min C ¼ C pc  hj þ C ctq  g cq þ C otq  g oq
j2NH t q 2T
FBM

s:t: Eqs: ð28Þ—ð37Þ


X
c
fj;q 6 Q  g cq ; 8t q 2 T ð43Þ
j2NH
FBM
X
c
fj;q P g cq ; 8t q 2 T ð44Þ
j2NH
FBM
X
o
fj;q 6 Q  g oq ; 8t q 2 T ð45Þ
j2NH
FBM
X
o
fj;q P g oq ; 8t q 2 T ð46Þ
j2NH
FBM

lj;i 2 f0; 1; 2; . . .g; 8i 2 NA and 8j 2 NH


FBM

f j;k 2 f0; 1g; 8j; k 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

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 influence the value of C⁄. This fact can be verified as fol-
c 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.
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 83

Table 1
The number of constraints and variables in LICOSP1 and LICOSP2.

Type No. constraints Type No. constraints Name No. variables


(28) jMH H
FBM j  jML j
(34) jMH
FBM j  jTj
lj,i jMH
FBM j  jP A j
(29) jMH H
FBM j  ðjMFBM j  1Þ
(35) jMH FBM j  jTj
fj,k jMH H
FBM j  ðjMFBM j  1Þ
(30) jMH H
FBM j  ðjMFBM j  1Þ
(43) jTj hj jMH
FBM j
(31) (44) c
jMH
FBM j
jTj fj;q jMH
FBM j  jTj
(32) (45) o
jMH
FBM j  jTj
jTj fj;q jMH FBM j  jTj
(33) jMH
FBM j  jTj
(46) jTj g cq jTj
g oq jTj
LICOSP1 jMH H H
FBM j  ðjML j þ 2jMFBM j þ 4jTj  1Þ
LICOSP1 jMH H
FBM j  ðjP A j þ jMFBM j þ 2jTjÞ
LICOSP2 jMH H H
FBM j  ðjML j þ 2jMFBM j þ 4jTj  1Þ þ 4jTj
LICOSP2 jMH H
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
this work, only activity places are considered for markings in MH H
L and MFBM . Therefore, a compact multiset formalism
P H H
i2NA Mðp i Þp i is used to denote a marking M in M L and M FBM for the sake of an expedient description. For instance,
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 sub-
sets: 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 five 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,
respectively. Specifically, we have MH H
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 coefficients are l1,i (i 2 {2, 3, 4, 5, 6, 7}) and h1 2 {0, 1} the var-
iable 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

l1;3 þ l1;4  l1;5 6 Q  ð1  h1 Þ  1 and


 l1;2 þ l1;6 þ l1;7 6 Q  ð1  h1 Þ  1:
Two variables f1,2 and f1,3 (f1,2, f1,3 2 {0, 1}) are introduced to represent whether I1 forbids FBM2 = p3 + p5 and FBM3=p2 + p6,
respectively. Thus, we have
 l1;2 þ l1;3 P Q  ð1  f1;2 Þ and
 l1;5 þ l1;6 P Q  ð1  f1;3 Þ:
FBM1 must be forbidden by at least on PI. 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 rep-
resent 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 and
c
l1;2 P Q  ð1  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
 l1;2 P Q  1  f1;1 þ 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 final supervisor, as
presented below:
" #
X
3 X
3 X8  
min C ¼ C pc  hj þ C ctq  fj;q
c
þ C otq  fj;q
o

j¼1 j¼1 q¼1

where C ctq and C otq are the control cost and observation cost of tq, respectively.
84 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

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:
" #
X
3 X
3 X8  
min C ¼ C pc  hj þ C ctq  fj;q
c
þ C otq  fj;q
o

j¼1 j¼1 q¼1

s:t: l1;3 þ l1;4  l1;5 6 1


 l1;2 þ l1;6 þ l1;7 6 1
l2;2 þ l2;4  l2;5 6 1
 l2;3 þ l2;6 þ l2;7 6 1
l3;3 þ l3;4  l3;6 6 1
 l3;2 þ l3;5 þ l3;7 6 1
 l1;2 þ l1;3 P Q  ð1  f1;2 Þ
 l1;5 þ l1;6 P Q  ð1  f1;3 Þ
l2;2  l2;3 P Q  ð1  f2;1 Þ
l2;2  l2;3  l2;5 þ l2;6 P Q  ð1  f2;3 Þ
l3;5  l3;6 P Q  ð1  f3;1 Þ
 l3;2 þ l3;3 þ l3;5  l3;6 P Q  ð1  f3;2 Þ
f j;k 6 hj ; 8j; k 2 f1; 2; 3g and j – k
X
hj þ fk;j P 1; 8j 2 f1; 2; 3g
k2f1;2;3g;k–j

X
7
c
 lj;i  ½N0 ði; qÞ P Q  fj;q ; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i¼2
X
7
c
lj;i  ½N0 ði; qÞ P Q  ð1  fj;q Þ þ 1; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i¼2
X
7
o
lj;i  ½N0 ði; qÞ P Q  fj;q ; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i¼2
X
7
o
 lj;i  ½N0 ði; qÞ P Q  ð1  fj;q Þ þ 1; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
i¼2

lj;i 2 f0; 1; 2; . . .g; 8i 2 f2; 3; . . . ; 7g and 8j 2 f1; 2; 3g


f j;k 2 f0; 1g; 8j; k 2 f1; 2; 3g and j – k
hj 2 f0; 1g; 8j 2 f1; 2; 3g
c o
fj;q ; fj;q 2 f0; 1g; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g

where Q is a positive integer constant that must be big enough.


Next, we consider Case (2). We introduce a set of binary variables g cq ðq 2 f1; 2; . . . ; 8gÞ to represent whether there exist
control arcs on tq. For example, for transition t1, we have
c c c
f1;1 þ f2;1 þ f3;1 6 Q  g c1 and
c c c
f1;1 þ f2;1 þ f3;1 P g c1 :

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
f1;1 þ f2;1 þ f3;1 P g o1 :

Finally, for Case (2), an objective function is designed to minimize the implementation cost of the final supervisor, as pre-
sented below:

X
3 8 
X 
min C ¼ C pc  hj þ C ctq  g cq þ C otq  g oq
j¼1 q¼1

where C ctq
and C otq
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.
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 85

LICOSP2:

" #
X
3 X
3 X8  
c c o o
min C ¼ C pc  hj þ C tq  fj;q þ C tq  fj;q
j¼1 j¼1 q¼1

s:t: All constraints in LICOSP1


X
3
c
fj;q 6 Q  g cq ; 8q 2 f1; 2; . . . ; 8g
j¼1

X
3
c
fj;q P g cq ; 8q 2 f1; 2; . . . ; 8g
j¼1

X
3
o
fj;q 6 Q  g oq ; q 2 f1; 2; . . . ; 8g
j¼1

X
3
o
fj;q P g oq ; 8q 2 f1; 2; . . . ; 8g
j¼1

lj;i 2 f0; 1; 2; . . .g; 8i 2 f2; 3; . . . ; 7g and 8j 2 f1; 2; 3g


f j;k 2 f0; 1g; 8j; k 2 f1; 2; 3g and j – k
hj 2 f0; 1g; 8j 2 f1; 2; 3g
c o
fj;q ; fj;q 2 f0; 1g; 8j 2 f1; 2; 3g; 8q 2 f1; 2; . . . ; 8g
g cq ; g oq 2 f0; 1g; 8q 2 f1; 2; . . . ; 8g

where Q is a positive integer constant that must be big enough.


Now, we assign implementation cost C pc for each control place, and control cost C ctq and observation cost C otq for transition
tq. By solving LICOSP1 (LICOSP2), once an optimal solution C⁄ is obtained, we can find an optimal supervisor with the lowest
implementation cost C⁄ for Case (1) (Case (2)). Table 2 shows the experimental results for Cases (1) and (2) by varying the
implementation cost: C pc ; C ctq , and C otq , where q 2 {1, 2, . . . , 8}. In this table, control (observation) costs for transitions are or-
 
ganized as a 1  jTj matrix [Cc] ([Co]), where ½C c ðqÞ ¼ C ctq ½C o ðqÞ ¼ C otq , which are shown in the first column. N pc and Narc
indicate the numbers of control places and arcs in the final supervisor, respectively.  pc ; pc , and M0(pc) show the preset, poset,
and initial marking of the control place for each selected PI, respectively. C⁄ shows the optimal value of the implementation
cost. Table 2 reaches the following conclusions.

(1) In the first row, the implementation cost of each arc is set to be 1, which is much less than that of a control place. In
Case (1), the resulting supervisor is first optimized in terms of the number of control places and second optimized in
terms of the number of arcs.
(2) For the second row, we increase the control cost of transitions t1 and t6, and the observation cost of transitions t3 and
t7. Then, the final supervisor has only one control arc to t1 and no observation arc from t3 and t7. Thus, it can be seen
that the obtained supervisor tries to have as less control arcs to transitions with high control cost and less observation
arcs from transitions with high observation cost as possible. This can reduce the total implementation cost of the
resulting supervisor in order to find an optimal supervisor with the lowest implementation cost.
(3) For the third and fourth rows, we greatly reduce the implementation cost of a control place. However, both final super-
visors have two control places and eight arcs, which are the same as the first two ones. The reason is that, for this
example, the numbers of both control places and arcs are minimal already.

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 Þ C⁄ N pc Narc 
pc ; pc ; M0 ðpc Þ C⁄

100 [1, 1, 1, 1, 1, 1, 1, 1], 2 8 {t3, 2t6}, {t1, 2t5}, 2 208 2 8 {t3, 2t6}, {t1, 2t5}, 2 206
[1, 1, 1, 1, 1, 1, 1, 1] {t2, t7}, {t1, t6}, 1 {2t2, t7}, {2t1, t6}, 2
100 [10, 1, 1, 1, 1, 10, 1, 1], 2 8 {t4, 2t6}, {t3, 2t5}, 2 217 2 8 {t4, 3t6}, {t1, 3t5}, 3 215
[1, 1, 10, 1, 1, 1, 10, 1] {3t2, t8}, {3t1, t5}, 3 {3t2, t8}, {3t1, t5}, 3
1 [1, 2, 2, 1, 1, 2, 2, 1], 2 8 {t4, 3t6}, {t1, 3t5}, 3 12 2 8 {t4, 3t6}, {t1, 3t5}, 3 10
[1, 2, 2, 1, 1, 2, 2, 1] {3t2, t8}, {3t1, t5}, 3 {3t2, t8}, {3t1, t5}, 3
0.1 [10, 1, 10, 1, 10, 1, 10, 1], 2 8 {2t3, t7}, {2t2, t5}, 2 44.2 2 8 {t3, 2t6}, {t1, 2t5}, 2 33.2
[1, 10, 1, 10, 1, 10, 1, 10] {2t2, t7}, {2t1, t5}, 2 {t3, 2t7}, {t1, 2t6}, 2
86 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

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 well-
known example that is studied in several papers [6,7,27,37]. There are 19 places and 14 transitions. The places have the fol-
lowing set partitions: P0 = {p1, p8}, PR = {p14  p19}, and PA = {p2  p7, p9  p13}. It has 282 reachable markings, 54 and 205 of
which are FBMs and legal ones, respectively. By using a vector covering approach, MH H
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 first 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 first row since the control cost of t2 and observation cost of t7 is
increased in the second row. Thus, compared with the first, 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 first 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.

Fig. 4. A Petri net model of an FMS.

Table 3
Experimental results for the net shown in Fig. 4 in Case (1).

C pc [Cc], [Co] N pc Narc 


pc ; pc ; M 0 ðpc Þ C⁄ T LP ðSÞ

100 [1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1], 2 12 {2t7, 3t11}, {t1, t2, t4, 3t9}, 9 217 18
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1] {t4, 2t5, 2t13}, {t1, t2, 2t11}, 3
100 [10, 9, 1, 6, 2, 2, 2, 1, 10, 2, 2, 2, 2, 1], 2 13 {t3, t4, 2t5, t12, 2t14}, {2t1, 3t11, }, 4 264 22
[1, 2, 1, 1, 2, 2, 9, 1, 1, 2, 9, 2, 2, 1] {2t8, 5t11}, {t1, t2, t4, 5t9}, 13
1 [1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1], 2 12 {t4, 2t5, 2t14}, {t1, t2, 2t11}, 3 19 72
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1] {2t8, 5t11}, {t1, t2, t4, 5t9}, 13
0.1 [1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1], 2 12 {t4, 2t5, 2t14}, {t1, t2, 2t11}, 3 17.2 110
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1] {2t8, 5t11}, {t1, t2, t4, 5t9}, 13
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 87

Table 4
Experimental results for the net shown in Fig. 4 in Case (2).

C pc [Cc], [Co] N pc Narc 


pc ; pc ; M 0 ðpc Þ C⁄ T LP ðSÞ

100 [1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1], 2 12 {2t8, 5t11}, {t1, t2, t4, 5t9}, 13 214 76
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1] {t4, 2t5, 2t14}, {t1, t2, 2t11}, 3
100 [10, 11, 1, 10, 2, 2, 2, 1, 9, 2, 2, 2, 2, 1], 2 13 {3t6, t12, 3t13}, {2t1, t2, t4, 4t11}, 6 258 55
[1, 2, 1, 10, 9, 2, 2, 10, 1, 2, 8, 2, 2, 10] {2t7, 3t11}, {t1, t2, t4, 3t9}, 9
1 [1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1], 2 12 {t4, 2t5, 2t14}, {t1, t2, 2t11}, 3 16 417
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1] {2t8, 5t11}, {t1, t2, t4, 5t9}, 13
0.1 [1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1], 2 12 {t4, 2t5, 2t14}, {t1, t2, 2t11}, 3 14.2 381
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1] {2t8, 5t11}, {t1, t2, t4, 5t9}, 13

Table 5
Performance comparison of some deadlock control policies.

Parameters [37] [27] [32] [6] [7] Proposed method


No. monitors 6 9 5 8 2 2
No. arcs 32 42 23 37 12 12–13
No. states 205 205 205 205 205 205

Fig. 5. A Petri net model of an FMS.

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 ob-
tained 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 fol-
lowing set partitions: P0 = {p1, p5, p14}, PR = {p20  p29}, and PA = {p2  p4, p6  p13, p15  p19}. It has 6085 reachable markings,
806 and 5278 of which are FBMs and legal ones, respectively. By using a vector covering approach, MH H
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 Y.F. Chen et al. / Information Sciences 256 (2014) 74–90

Table 6
Experimental results for the net shown in Fig. 5 in Case (1).

C pc [Cc], [Co] N pc Narc 


pc ; pc ; M 0 ðpc Þ C⁄ T LP ðminÞ

100 4 17 {t5, t17}, {t3, t15}, 3 422 4.34


[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1], {t14}, {t11}, 1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2] {t10, t17}, {t8, t15}, 3
{8t3, t6, 8t8, 8t19}, {9t1, 3t15, 5t17}, 42
100 4 19 {9t6, 18t17, t19}, {2t1, 7t5, 7t8, 19t15}, 55 462 8.49
[1, 2, 6, 1, 2, 2, 2, 8, 1, 2, 2, 2, 2, 1, 9, 2, 2, 1, 2, 1], {2t4, t6, 2t18}, {3t3, 2t15}, 7
[1, 2, 1, 1, 7, 2, 2, 8, 1, 9, 1, 2, 2, 1, 2, 2, 8, 2, 1, 2] {t14}, {t11}, 1
{t3, t9, 2t19}, {t1, 2t17}, 8
1 4 17 {t5, t17}, {t3, t15}, 3 26 6.80
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1], {t14}, {t11}, 1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2] {t10, t17}, {t8, t15}, 3
{8t3, t6, 8t8, 8t19}, {9t1, 3t15, 5t17}, 42
0.1 4 17 {t5, t15}, {t3, t17}, 3 22.4 6.65
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1], {t14}, {t11}, 1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2] {t10, t17}, {t8, t15}, 3
{8t3, t6, 8t8, 8t19}, {9t1, 3t15, 5t17}, 42

Table 7
Experimental results for the net shown in Fig. 5 in Case (2).

C pc [Cc], [Co] N pc Narc 


pc ; pc ; M0 ðpc Þ C⁄ T LP ðminÞ

100 4 18 {t5, t17}, {t3, t15}, 3 417 143.32


[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1], {t14}, {t11}, 1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2] {6t3, t5, 6t8, t10, 6t19}, {7t1, 2t15, 4t17}, 32
{t10, t17}, {t8, t15}, 3
100 4 19 {8t3, t6, 8t8, 8t19}, {9t1, 3t15, 5t17}, 42 441 201.55
[1, 2, 8, 1, 2, 2, 2, 7, 1, 2, 2, 2, 2, 1, 1, 2, 9, 1, 2, 1], {2t5, t18}, {2t3, t15}, 5
[1, 2, 1, 1, 2, 2, 2, 1, 1, 6, 1, 2, 2, 1, 2, 2, 8, 2, 1, 2] {t14}, {t11}, 1
{t6, 2t9, 2t18}, {t5, 3t8, 2t15}, 7
1 4 18 {t5, t17}, {t3, t15}, 3 21 143.32
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1], {t14}, {t11}, 1
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2] {6t3, t5, 6t8, t10, 6t19}, {7t1, 2t15, 4t17}, 32
{t10, t17}, {t8, t15}, 3
0.1 4 19 {t14}, {t11}, 1 17.4 58.33
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1], {t3, t8, t19}, {t1, t17}, 4
[1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2] {t10, t17}, {t8, t15}, 3
{8t5, t8, t10, 8t17, t19}, {2t1, 6t3, 9t15}, 33

tables, the last column T LP represents the CPU time (minutes) for solving the corresponding ILPP on a notebook with a Win-
dows XP operating system and Intel CPU Core 2.8 GHz and 4 GB memory.
In Table 6, in the first 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 first row. Compared with the first 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 first 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 super-
visor 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 view-
point 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.
Y.F. Chen et al. / Information Sciences 256 (2014) 74–90 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 LI-
COSP1 and LICOSP2, have too many constraints and variables for large-scale Petri net models, which makes them inapplica-
ble 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 Educa-
tion, P.R. China, under Grant No. 20090203110009, and Alexander von Humboldt Foundation.

References

[1] Z. Banaszak, B.H. Krogh, Deadlock avoidance in flexible manufacturing systems with concurrently competing process flows, IEEE Transactions on
Robotics and Automation 6 (6) (1990) 724–734.
[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. 57–72.
[4] F. Basile, P. Chiacchio, A. Guia, An optimization approach to Petri net monitor design, IEEE Transactions on Automatic Control 52 (2) (2007) 306–311.
[5] R. Cordone, L. Piroddi, Monitor optimization in Petri net control, in: 7th Annual IEEE Conference on Automation Science and Engineering, Trieste (Italy),
August 24–27, 2011, pp. 413–418.
[6] Y.F. Chen, Z.W. Li, M. Khalgui, O. Mosbahi, Design of a maximally permissive liveness-enforcing Petri net supervisor for flexible manufacturing systems,
IEEE Transactions on Automation Science and Engineering 8 (2) (2011) 374–393.
[7] Y.F. Chen, Z.W. Li, Design of a maximally permissive liveness-enforcing supervisor with a compressed supervisory structure for flexible manufacturing
systems, Automatica 47 (5) (2011) 1028–1034.
[8] E.G. Coffman, M.J. Elphick, A. Shoshani, Systems deadlocks, ACM Computing Surveys 3 (2) (1971) 67–78.
[9] J. Ezpeleta, J.M. Colom, J.A. Martinez, Petri net based deadlock prevention policy for flexible manufacturing systems, IEEE Transactions on Robotics and
Automation 11 (2) (1995) 173–184.
[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) 93–101.
[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) 5–22.
[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. 1–22.
[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) 137–142.
[14] V. Gligor, S. Shattuck, On deadlock detection in distributed systems, IEEE Transactions on Software Engineering 7 (3) (1980) 320–336.
[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 flexible manufacturing systems, IEEE Transactions on Robotics
and Automation 10 (2) (1994) 196–209.
[17] F.S. Hsieh, Fault-tolerant deadlock avoidance algorithm for assembly processes, IEEE Transactions Systems, Man, and Cybernetics, Part A 34 (1) (2004)
65–79.
[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) 283–305.
[19] Y.S. Huang, M.D. Jeng, X.L. Xie, D.H. Chung, Siphon-based deadlock prevention for flexible manufacturing systems, IEEE Transactions on Systems, Man,
and Cybernetics, Part A 36 (6) (2006) 1248–1256.
[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. 233–281.
[21] T.K. Kumaran, W. Chang, H. Cho, A. Wysk, A structured approach to deadlock detection, avoidance and resolution in flexible manufacturing systems,
International Journal of Production Research 32 (10) (1994) 2361–2379.
[22] K. Lautenbach, H. Ridder, The Linear Algebra of Deadlock Avoidance – A Petri Net Approach, No. 25–1996, 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 flexible manufacturing systems, IEEE Transactions
on Systems, Man, and Cybernetics, Part A 34 (1) (2004) 38–51.
[24] Z.W. Li, M.C. Zhou, Clarifications on the definitions of elementary siphons of Petri nets, IEEE Transactions on Systems, Man, and Cybernetics, Part A 36
(6) (2006) 1227–1229.
[25] Z.W. Li, H.S. Hu, A.R. Wang, Design of liveness-enforcing supervisors for flexible manufacturing systems using Petri nets, IEEE Transactions on Systems,
Man, and Cybernetics, Part C 37 (4) (2007) 517–526.
[26] Z.W. Li, M.C. Zhou, Two-stage method for synthesizing liveness-enforcing supervisors for flexible manufacturing systems using Petri nets, IEEE
Transactions on Industrial Informatics 2 (4) (2006) 313–325.
[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) 182–188.
[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) 1008–1018.
[31] T. Murata, Petri nets: properties, analysis and application, Proceedings of the IEEE 77 (4) (1989) 541–580.
[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) 1337–1348.
[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) 81–89.
[35] K.R. Rohloff, S. Khuller, G. Kortsarz, Approximating the minimal sensor selection for supervisory control, Discrete Event Dynamic System 16 (2006)
143–170.
90 Y.F. Chen et al. / Information Sciences 256 (2014) 74–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. 3035–3040.
[37] M. Uzam, An optimal deadlock prevention policy for flexible manufacturing systems using Petri net models with resources and the theory of regions,
International Journal of Advanced Manufacturing Technology 19 (3) (2002) 192–208.
[38] M. Uzam, M.C. Zhou, An improved iterative synthesis method for liveness enforcing supervisors of flexible manufacturing systems, International
Journal of Production Research 44 (10) (2006) 1987–2030.
[39] M. Uzam, M.C. Zhou, 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) (2007) 362–371.
[40] N. Viswanadham, Y. Narahari, T. Johnson, Deadlock prevention and deadlock avoidance in flexible manufacturing systems using Petri net models, IEEE
Transactions on Robotics and Automation 6 (6) (1990) 713–723.
[41] N.Q. Wu, Necessary and sufficient conditions for deadlock-free operation in flexible manufacturing systems using a colored Petri net model, IEEE
Transactions on Systems, Man, and Cybernetics, Part C, 29 (2) (1999) 192–204.
[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) 658–669.
[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) 193–1202.
[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 flexible manufacturing systems: avoidance and recovery approaches, Journal of Manufacturing
Systems 13 (2) (1994) 128–138.
[46] K.Y. Xing, B.S. Hu, H.X. Chen, Deadlock avoidance policy for Petri-net modelling of flexible manufacturing systems with shared resources, IEEE
Transactions on Automatic Control 41 (2) (1996) 289–295.
[47] K. Yamalidou, J. Moody, M. Lemmon, P. Antsaklis, Feedback control of Petri nets based on place invariants, Automatica 32 (1) (1996) 15–28.
[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) 515–527.

You might also like