HAL Id: tel-01288919
https://tel.archives-ouvertes.fr/tel-01288919
Submitted on 15 Mar 2016
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Optimal supervisory control of flexible manufacturing
systems
Yufeng Chen
To cite this version:
Yufeng Chen. Optimal supervisory control of flexible manufacturing systems. Computer science. Conservatoire national des arts et metiers - CNAM, 2015. English. �NNT : 2015CNAM0990�. �tel-01288919�
CONSERVATOIRE NATIONAL DES
ARTS ET MÉTIERS
École Doctorale Informatique, Télécommunications et Electronique de Paris Centre d’Etudes et De Recherche en Informatique du CNAM
THÈSE DE DOCTORAT
présentée par :
Yufeng CHEN
soutenue le :7 Juillet 2015
pour obtenir le grade de : Docteur du Conservatoire National des Arts et Métiers Discipline/ Spécialité : Informatique
OPTIMAL SUPERVISORY CONTROL OF FLEXIBLE
MANUFACTURING SYSTEMS
THÈSEdirig´ee par
M. BARKAOUI Kamel Professeur des universités, Cedric, Le Cnam, Paris
M. LI Zhiwu Professeur des universités, SCAG, Xidian University, Xi’an
RAPPORTEURS
Mme. CHU Feng Professeur des universités, Université d’Evry Val d’Essone
M. LOISEAU Jean-Jacques Directeur de Recherche au CNRS, IRCCyN, Université de Nantes EXAMINATEURS
M. ALLA Hassane Professeur des universités, GIPSA Lab, Grenoble INP, Univ. Joseph Fourrier
Mme. BERARD Beatrice Professeur des universités, LIP6, Université Pierre et Marie Curie, Paris Mme. WATTIAU Isabelle Professeur des universités, Cedric, Le Cnam, Paris
Remerciements
First, I would like to express my sincere appreciation to my advisor, Prof. Kamel Barkaoui, Cedric Lab and Computer Science Department, Conservatoire National des Arts et M´etiers, for his thoughtful guidance, instructive advice, constant encouragement, and financial support. Under his direction, my papers gradually become publishable. My sincere thanks go to him since my achievements are impossible without his valuable suggestions, critical comments and reviews, sweet encouragement, kind support, as well as his unique notes, ideas, opinions, and help.
Second, I am very grateful to my co-advisor, Prof. ZhiWu Li, the School of Electro-Mechanical Engineering, Xidian University. I experience the transition from immaturity to maturity in both psychology and academia with his kind direction. His important and useful directions greatly improve the development of my original idea on optimal supervisory control in FMSs. He has helped me in a variety of ways since 2006. I cannot make the achievements included in this thesis without his valuable suggestions, critical comments and reviews, sweet encouragement, and kind support.
I am very grateful to Professor MengChu Zhou, Department of Electrical and Computer En-gineering, New Jersey Institute of Technology. Since 2006, we have been collaborating in super-visory control of automated manufacturing systems, particularly, in deadlock analysis and control issues. My sincere thanks go to Professor Zhou since the achievements in this thesis are obtained with his valuable suggestions, careful concern, and great help.
I extend very special thanks to many people who directly or indirectly contribute in a variety of ways to the development of the material included in this thesis. The continuing interaction and stimulating discussions with them have been a constant source of encouragement and inspiration. They Y. S. Huang, Taiwan ILan University (China), M. Uzam, Ni˘gde Üniversitesi, Y. Chao, Taiwan Cheng Chi University (China), M. Khalgui and O. Mosbahi, University of Carthage, L. Feng, Royal Institute of Technology, N. Q. Wu, GuangDong Institute of Technology, K. Y. Xing, Xi’an Jiaotong University, W. M. Wu, ZheJiang University, L. Wang, Peking University, and S. G. Wang, ZheJiang Gongshang University.
I am very grateful to Dr. Ridha Benosman in the laboratory at Le Cnam since he has provided great help when I was living in Paris. I am truly grateful to all the fellows in the laboratory at Xidian University. It has been a pleasure to conduct research with them in System Control & Automation Group. Among them are Dr. Anrong Wang, Dr. Ding Liu, Dr. Gaiyun Liu, Dr. Hesuan Hu, Dr. Na Wei, Dr. Mi Zhao, Dr. Meng Qin, Dr. Mingming Yan, Dr. Chunfu Zhong, Dr. Yifan Hou, Dr. Jinwei Guo, Dr. Shaoyong Li, Dr. Liang Hong, Mr. Qi Wang, Ms. Jiafeng Zhang, Mr. Xi Wang, Mr. Xiaoliang Chen, and Ms. Yin Tong.
Résumé
Notre thèse est consacrée à l’étude de la supervision des réseaux de Petri en vue de la concep-tion de systèmes manufacturiers flexibles. L’objectif est la définiconcep-tion de stratégies de pilotage en ligne pour l’évitement de conflits et d’interblocages, dans le cadre de la théorie de la supervision. Le point de départ de notre travail est d’exploiter le graphe de marquage du réseau de Petri, ce qui permet en particulier d’obtenir des stratégies de commande maximalement permissive pour des problèmes d’évitement de conflits et d’interblocages. Nous avons ainsi introduit des techniques originales, manipulations d’inégalités ou réductions d’ensembles de marquages, destinées à dimi-nuer la complexité algorithmique d’une telle méthode. Dans premier temps, nous avons focalisé sur la synthèse de superviseurs dits purs, ce qui correspond au cas particulier où l’ensemble de marquage légaux, est convexe. Cette optimisation est ensuite considérée du point de vue de la facilité de mise en œuvre. Nous traitons ainsi de la minimisation de la structure du superviseur et de son coût d’implémentation en préservant une structure de supervision qui offre à la fois la permissivité maximale et une complexité de calcul raisonnable en vue d’utilisation sur des instal-lations réelles. Aussi, nous avons cherché à réduire le nombre de places de contrôle nécessaires pour réaliser un superviseur maximalement permissif, pour cela nous avons formule le calcul du nombre minimal de places de contrôle en termes d’un problème de programmation linéaire. Afin d’affaiblir la complexité de ce calcul de superviseur, deux versions de l’algorithme sont proposées. Ce problème de minimisation de la taille du superviseur, quoique fondamental, n’est pas abordé aussi directement dans la littérature. Il s’agit là d’une première contribution.
Dans u second temps, nous nous sommes intéressés aux réseaux de Petri à boucles (self-loops). Les boucles étant représentées par une variable qui s’ajoute dans la contrainte inégalité définissant l’ensemble de marquages légaux. Après avoir proposé une méthode de réduction du nombre d’in-égalités ainsi que du superviseur optimal en se basant sur les approches et résultats précédents,
RÉSUMÉ
nous avons établi une condition suffisante d’obtention d’un superviseur maximalement permissif permettant de traiter des ensembles de marquages légaux non convexes. Enfin nous proposons une méthode de synthèse de contrôleur pour une nouvelle classe de réseaux de Petri, avec des arcs inhibiteurs correspondant à des contraintes définies par des intervalles. La taille du contrôleur ainsi obtenu et défini en termes d’arcs inhibiteurs à intervalles s’en trouve réduite ainsi que par conséquent sont coût d’implémentation.
Mots clés : Réseaux de Petri, Systèmes de production automatisés, interblocage, synthèse de contrôleurs
Abstract
Flexible manufacturing systems (FMSs) are computer-controlled systems that can manufacture different kinds of products with a limited number of shared resources such as robots, buffers, ma-chines, etc. In FMSs, deadlocks are a highly undesired situation, which always cause unnecessary cost and even may lead to catastrophic results in these systems. In order to meet the production requirements of a system and make the best use of the system resources, an effective deadlock control policy must be designed and implemented to ensure that deadlocks can never occur. Based on Petri nets, deadlock prevention uses an off-line computation mechanism to impose constraints on a system in order to prevent it from reaching deadlock states. Once a control policy is establi-shed and applied, deadlocks cannot occur anymore.
Generally, there are three very important criteria in evaluating the performance of a liveness-enforcing supervisor for a system to be controlled : behavioral permissiveness, structural com-plexity, and computational complexity. A maximally permissive supervisor has the highest poten-tial to lead to high utilization of system resources. A supervisor with a small number of control places can decrease the hardware and software costs in the stage of control validation and im-plementation. A deadlock control policy with low computational complexity means that it can be applied to complex systems. Thus, many researchers try their best to develop deadlock prevention algorithms that can obtain liveness-enforcing supervisors with maximal permissibility, a simple supervisory structure, and low computational complexity.
Reachability graph analysis is an important technique for deadlock control, which always suf-fers from a state explosion problem since it requires to generate all or a part of reachable markings. Based on this technique, an optimal or suboptimal supervisor with high behavioral permissiveness can always be achieved. This thesis focuses on designing liveness-enforcing Petri net supervisors for FMSs by considering their behavioral permissiveness, supervisory structure, and
computatio-ABSTRACT
nal complexity. The following research contributions are made in this thesis.
1. The design of a maximally permissive liveness-enforcing supervisor for an FMS is propo-sed by solving integer linear programming problems (ILPPs). A reachability graph is classified into two zones : a live-zone (LZ) and a deadlock-zone (DZ). An FBM is the one within the DZ, representing the very first entry from the LZ to the DZ. By using an integer linear programming approach, a P-invariant (PI) is designed for an FBM such that it is prevented from being reached and no legal marking is forbidden. We propose a vector covering approach to reduce the sets of legal markings and FBMs to very small sets, namely, the minimal covering set of legal markings and the minimal covered set of FBMs. Thus, we only consider two small sets of legal markings and FBMs to obtain the control places. When an FBM is selected and a control place is designed to forbid it, a further covering approach is developed to reduce the set of legal markings to a smaller one. As a result, the ILPP has a very small number of inequalities and can be solved in a short time.
2. Structural complexity is also an important issue for a maximally permissive Petri net su-pervisor. A deadlock prevention policy for FMSs is proposed, which can obtain a maximally per-missive liveness-enforcing Petri net supervisor while the number of control places is compressed. A maximally permissive control purpose can be achieved by designing control places such that all markings in the minimal covered set of FBMs are forbidden and no marking in the minimal covering set of legal markings is forbidden. An ILPP (namely MCPP) is designed to minimize the number of control places under an assumption that a control place is associated with a P-semiflow. The resulting net has the minimal number of control places on the premise that the assumption holds, and possesses all permissive states of a plant.
3. In order to overcome the computational complexity problem in MCPP and ensure that the controlled system is maximally permissive with a simple structure, we develop an iterative dead-lock prevention policy and a modified version. At each iteration, a maximally permissive PI is designed to forbid as many FBMs as possible by solving an ILPP. All FBMs that are forbidden by the PI are removed from the minimal covered set of FBMs. This process is carried out until no FBM is left in the minimal covered set. A maximally permissive supervisor with a small number of control places can be accordingly obtained. We also provide a modified version of the above mentioned method in order to further reduce the computational time. In fact, we only modify the
ABSTRACT
iteration steps as follows. At each iteration, an FBM is singled out from the minimal covered set of FBMs and a PI is designed to forbid the selected FBM. The PI is computed by solving an ILPP such that the selected FBM is forbidden and no legal marking in the minimal covering set of legal markings is forbidden. At the same time, we also use an objective function to maximize the num-ber of FBMs that are forbidden by the PI. The modified version has a small numnum-ber of constraints and variables. Therefore, compared with the former, it can be solved in a shorter time in general.
4. We consider the hardware and software costs in the stage of control implementation of a deadlock prevention policy, aiming 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 permissi-veness can be achieved by designing place invariants that prohibit all FBMs but no legal markings. By solving an ILPP, a set of optimal control places are obtained and the objective function is used to minimize the implementation cost of the final supervisor. A vector covering approach is used to reduce the number of considered markings, aiming to reduce the computational overhead of the proposed method.
5. Self-loops are used to design maximally permissive supervisors. A self-loop in a Petri net cannot be mathematically represented by its incidence matrix. We present a mathematical method to design a maximally permissive Petri net supervisor that is expressed by a set of control places with loops. A control place with a loop can be represented by a constraint and a self-loop associated with a transition whose firing may lead to an illegal marking. The constraint is designed to ensure that all legal markings are reachable and the self-loop is used to prevent the system from reaching illegal markings by disabling the transition at a specific marking. A marking reduction approach is developed in order to cut down the considered markings, which can greatly decrease the computational overhead of the proposed method. An ILPP is developed to compress the number of control places, aiming to reduce the structural complexity of the resulting supervi-sors. Experimental results demonstrate that it can obtain an optimal supervisor for some cases that cannot be optimally controlled by pure net supervisors.
6. Supervisory control is usually considered as an external control mechanism to a system by controlling the occurrences of its controllable events. There exist Petri net models whose
le-ABSTRACT
gal reachability spaces are non-convex. In this case, they cannot be optimally controlled by the conjunctions of linear constraints. For Petri net models of FMSs, we present a method to classify the legal markings into several subsets. Each subset is associated with a linear constraint that can forbid all FBMs. Then, the disjunctions of the obtained constraints can make all legal markings reachable and forbid all FBMs, i.e., the controlled net is live and maximally permissive. An ILPP is formulated to minimize the number of the constraints. A supervisory structure is also proposed to implement the disjunctions of the constraints. Finally, examples are provided to illustrate the proposed method.
7. We present a Petri net structure, namely an interval inhibitor arc, and its application to the optimal supervisory control of Petri nets. An interval inhibitor arc is an arc from a place to a transi-tion labeled with an integer interval. The transitransi-tion is disabled by the place if the number of tokens in the place is in the labeled interval. The formal definition and the firing rules of Petri nets with interval inhibitor arcs are presented. Then, an optimal Petri net supervisor based on the interval inhibitor arcs is designed to prevent a system from reaching illegal markings. Two techniques are presented to simplify the supervisory structure by compressing the number of control places. The proposed approaches are general since they can be applied to any bounded Petri net models. A marking reduction approach is also introduced if they are applied to Petri net models of FMSs. A number of examples are provided to demonstrate the proposed approaches and the experimental results show that they can obtain optimal Petri net supervisors for some net models that cannot be optimally controlled by pure net supervisors. Furthermore, the obtained supervisor is structurally simple.
Table des matières
Résumé 5
Abstract 9
Liste des tableaux 19
Table de figures 23
Introduction 25
0.1 Deadlocks in Flexible Manufacturing Systems . . . 25
0.2 Petri Net Based Deadlock Resolution in FMS . . . 27
0.3 Thesis Organization . . . 29
0.3.1 Publications . . . 32
I Pure Optimal Supervisors 35 1 Preliminaries 37 1.1 Petri nets . . . 37
1.1.1 Basic Concepts . . . 37
1.1.2 Structural Analysis . . . 40
1.1.3 Reachability Graph . . . 42
TABLE DES MATIÈRES
1.3 Plant, Supervisor, and Controlled System . . . 48
2 Maximally Permissive Supervisors 51 2.1 Introduction . . . 51
2.2 Optimal Control Place Synthesis by Place Invariant . . . 52
2.3 Vector Covering Approach for Place Invariant Control . . . 54
2.4 Optimal Deadlock Prevention Policy . . . 59
2.5 Experimental Results . . . 65
2.6 Conclusions . . . 74
3 Structurally Minimal Supervisors 77 3.1 Introduction . . . 77
3.2 Minimal Number of Control Places Synthesis . . . 79
3.3 Deadlock Prevention Policy . . . 81
3.4 Experimental Results . . . 87
3.5 Conclusions . . . 92
4 Maximally Permissive Supervisors with a Simple Structure 93 4.1 Introduction . . . 93
4.2 Control Place Synthesis for Forbidding FBM . . . 95
4.3 Deadlock Prevention Policy . . . 99
4.4 Experimental Results . . . 108
4.5 Conclusions . . . 112
5 Maximally Permissive Supervisor with Lowest Implementation Cost 115 5.1 Introduction . . . 115
5.2 Lowest Implementation Cost Supervisor Synthesis . . . 118
TABLE DES MATIÈRES
5.4 Experimental Results . . . 129
5.5 Conclusions . . . 134
II Nonpure Optimal Supervisors 135 6 Maximally Permissive Supervisors with Self-loops 137 6.1 Introduction . . . 137
6.2 Computation of Optimal Control Places with Self-loops . . . 140
6.3 Reduction of Considered Legal Markings . . . 145
6.4 Reduction of Supervisory Structures . . . 148
6.5 Deadlock Prevention Policy . . . 150
6.6 Experimental Results . . . 155
6.7 Conclusions . . . 158
7 Optimal Supervisory Control by a Set Classification Approach 161 7.1 Introduction . . . 161
7.2 Optimal Control by Classifying Legal Markings . . . 164
7.3 Reduction of Considered Markings . . . 166
7.4 Optimal Classification of the Set of Legal Markings . . . 169
7.5 Supervisory Structure for Disjunctions of Constraints . . . 171
7.6 An Illustrative Example . . . 179
7.7 Experimental Results . . . 182
7.8 Conclusions . . . 185
8 Maximally Permissive Supervisor with Interval Inhibitor Arc 187 8.1 Introduction . . . 187
TABLE DES MATIÈRES
8.3 Optimal Control Place Synthesis with Interval Inhibitor Arcs . . . 193
8.4 Reduction of Supervisory Structures . . . 195
8.4.1 Simple Supervisory Structures . . . 195
8.4.2 Compressed Supervisory Structures . . . 198
8.5 Reduction of Considered Legal Markings for FMSs . . . 201
8.6 Deadlock Prevention Policies . . . 203
8.7 Experimental Results . . . 213
8.8 Conclusions . . . 219
9 Conclusions and Future Research 221 9.1 Contributions . . . 221
9.2 Limitations . . . 225
9.3 Future Work . . . 226
Liste des tableaux
2.1 Control places computed for the net shown in Figure 2.1 . . . 64
2.2 Control places computed for the net model in Figure 2.3 . . . 67
2.3 Parameters in the model depicted in Fig. 2.3 with varying markings . . . 67
2.4 Control places computed for the net model in Figure 2.4 . . . 69
2.5 Performance comparison of some deadlock control policies . . . 69
2.6 Control places computed for the net in Fig. 2.5 . . . 72
3.1 The numbers of constraints and variables in MCPP . . . 81
3.2 A solution of the MCPP . . . 87
3.3 Control places computed for the net shown in Fig. 3.1 . . . 87
3.4 Control places computed for the net shown in Fig. 3.3 . . . 88
3.5 Performance comparison of some deadlock control policies . . . 89
3.6 Control places computed for the net shown in Fig. 3.4 . . . 91
3.7 Performance comparison of some deadlock control policies . . . 91
4.1 Comparison of constraints and variables among MFFP1, MFFP2, and MCPP . . 99
4.2 Control places computed for the net shown in Fig.4.1 . . . 105
4.3 Control places computed for the net shown in Fig.4.1 . . . 107
4.4 Control places computed for the net shown in Fig.4.4 by Algorithm 4.1 . . . 108
LISTE DES TABLEAUX
4.6 Performance comparison of some deadlock control policies . . . 110
4.7 Control places computed for the net shown in Fig.4.5 by Algorithm 4.1 . . . 111
4.8 Control places computed for the net shown in Fig.4.5 by Algorithm 4.2 . . . 111
4.9 Performance comparison of some deadlock control policies . . . 112
5.1 The number of constraints and variables in LICOSP1 and LICOSP2 . . . 124
5.2 Experimental results for the net shown in Fig. 5.2 in Cases 1) and 2) . . . 129
5.3 Experimental results for the net shown in Fig. 5.3 in Case 1) . . . 130
5.4 Experimental results for the net shown in Fig. 5.3 in Case 2) . . . 131
5.5 Performance comparison of some deadlock control policies . . . 131
5.6 Experimental results for the net shown in Fig. 5.4 in Case 1) . . . 133
5.7 Experimental results for the net shown in Fig. 5.4 in Case 2) . . . 133
6.1 The numbers of constraints and variables in MPP(t) . . . . 149
6.2 Experimental results for the net shown in Fig. 6.10 . . . 156
6.3 Performance comparison of deadlock control policies for the S4PR in Fig. 6.10 . 157 6.4 Experimental results for the net shown in Fig. 6.11 . . . 157
6.5 Performance comparison of some deadlock control policies . . . 158
7.1 The numbers of constraints and variables in MNDC . . . 171
7.2 Experimental results for the net shown in Fig. 7.8 . . . 183
7.3 Experimental results for the net shown in Fig. 7.9 . . . 185
8.1 The numbers of constraints and variables in MNTMP(tq) . . . 198
8.2 The numbers of constraints and variables in MNMP . . . 201
8.3 The numbers of constraints and variables in MNTMP(tq) and MNMP for FMSs . 203 8.4 Experimental results for the net shown in Fig. 8.7 by Algorithm 8.1 . . . 211
LISTE DES TABLEAUX
8.6 Experimental results for the net shown in Fig. 8.10 by Algorithm 8.1 . . . 214 8.7 Experimental results for the net shown in Fig. 8.10 by Algorithm 8.2 . . . 215 8.8 Performance comparison of deadlock control policies for the net in Fig. 7.6 . . . 216 8.9 Experimental results for the net shown in Fig. 8.12 by Algorithm 8.1 . . . 217 8.10 Experimental results for the net shown in Fig. 8.12 by Algorithm 8.2 . . . 217 8.11 Performance comparison of deadlock control policies for the S4PR in Fig. 8.12 . 218 8.12 Experimental results for the net shown in Fig. 8.13 by Algorithm 8.1 . . . 219 8.13 Experimental results for the net shown in Fig. 8.13 by Algorithm 8.2 . . . 219 8.14 Performance comparison of some deadlock control policies . . . 219
Table des figures
1.1 A Petri net example. . . 38 1.2 A Petri net example. . . 40 1.3 The reachability graph of a Petri net. . . 44 1.4 (a) A Petri net model and (b) its reachability graph. . . 45
2.1 Petri net model of a manufacturing system. . . 62 2.2 An optimally controlled system of the net shown in Figure 2.1. . . 64 2.3 Petri net model of an FMS. . . 66 2.4 An S3PR model in Ezpeleta et al. (1995) [18]. . . . 68 2.5 A large-scale Petri net model from Li and Zhou (2005) [56]. . . 71
3.1 Petri net model of an AMS. . . 84 3.2 An optimally controlled system of the Petri net in Fig. 3.1. . . 88 3.3 Petri net model of an FMS. . . 89 3.4 An S3PR model in Ezpeleta et al. (1995) [18]. . . . 90
4.1 The Petri net model of an FMS. . . 102 4.2 A controlled system of the Petri net in Fig.4.1 by Algorithm 4.1. . . 105 4.3 A controlled system of the Petri net in Fig.4.1 by Algorithm 4.2. . . 108 4.4 Petri net model of an FMS. . . 109 4.5 An S3PR model in Ezpeleta et al. (1995) [18]. . . . 110
TABLE DES FIGURES
5.1 Layout of an FMS with its control unit. . . 117 5.2 Petri net model of an FMS. . . 125 5.3 A Petri net model of an FMS. . . 130 5.4 A Petri net model of an FMS. . . 132
6.1 (a) A Petri net without an optimal pure net supervisor and (b) an optimal supervisor with self-loops. . . 139 6.2 (a) The reachability graph of the net in Fig. 6.1(a) and (b) the reachability graph
of the controlled net in Fig. 6.1(b). . . 139 6.3 A control place pswith a self-loop associated with transition t. . . . 141 6.4 A self-loop associated with transition t and an arc generated by a PI. . . . 142 6.5 A self-loop and an additional arc with W(ps, t) = w +ni=1li· [N](pi, t). . . 143 6.6 A self-loop and an additional arc with W(t, ps)= w −ni=1li· [N](pi, t). . . 144 6.7 Petri net model of an FMS. . . 152 6.8 The reachability graph of the net in Fig. 6.7. . . 153 6.9 Optimal Petri net supervisor for the net in Fig. 7.6. . . 155 6.10 A Petri net model in Tricas et al. (2005). . . . 156 6.11 Petri net model of an FMS. . . 158
7.1 (a) A Petri net without an optimal pure net supervisor and (b) its reachability graph. 162 7.2 (a) the non-convex legal space, (b) its set classification, and (c) an optimally
control-led system. . . 163 7.3 An additional structure for a control place psj. . . 172
7.4 Supervisory control structure for the disjunctions of constraints. . . 173 7.5 (a) A simple example, (b) the supervisor forμ2 ≤ 0 ∨ μ3≤ 0, and (c) a marking at
which t2is disabled. . . 175 7.6 Petri net model of an FMS. . . 179
TABLE DE FIGURES
7.7 Optimal Petri net supervisor for the net in Fig. 7.6. . . 182 7.8 A Petri net model in [82]. . . 183 7.9 Petri net model of an FMS. . . 184
8.1 An interval inhibitor arc. . . 189 8.2 Simple examples of Petri nets with interval inhibitor arcs. . . 190 8.3 The simplified representations for (a) W(p, t) = w and Å(p, t) = [a, b], and (b)
W(t, p) = w and Å(p, t) = [a, b]. . . 191 8.4 The simplification of a redundant interval inhibitor arc. . . 191 8.5 The special case of a self-loop replaced by an interval inhibitor arc. . . 192 8.6 The special case of a loop with W(p, t) = w1 and W(t, p) = w2 replaced by an
interval inhibitor arc Å(p, t) = [0, w1− 1] and a normal arc. . . 192 8.7 A Petri net model. . . 207 8.8 The reachability graph of the net in Fig. 8.7. . . 207 8.9 (a) The optimal net supervisor obtained by Algorithm 8.1 and (b) the optimal net
supervisor obtained by Algorithm 8.2. . . 211 8.10 Petri net model of an FMS. . . 214 8.11 (a) The optimal net supervisor obtained by Algorithm 8.1 and (b) the optimal net
supervisor obtained by Algorithm 8.2. . . 215 8.12 A Petri net model in Tricas et al. (2005) [82]. . . . 216 8.13 Petri net model of an FMS. . . 218
Introduction
0.1
Deadlocks in Flexible Manufacturing Systems
Flexible manufacturing systems (FMSs) [88] can automatically finish various kinds of jobs by using shared resources such as robots, machines, and automated guided vehicles. In an FMS, parts are processed in a pre-established sequence to compete for the limited system resources. Deadlocks [14] may occur when some processes keep waiting indefinitely for the other processes to release resources. Deadlocks [32] must be considered in FMSs because a system in a deadlock situation always means that the whole system or a part of it is blocked. Deadlocks often offset the advantages of these systems, such as long downtime and low use of some critical and expensive resources, and may lead to catastrophic results in it.
Deadlocks in FMSs have been widely studied by researchers. In [14], Coffman et al. establish four necessary conditions for the occurrence of deadlocks in a resource allocation system, which can be explained in the context of FMSs as follows :
1. “Mutual exclusion”, which means that at any time, a resource can only be exclusively occu-pied by one part. For other parts, this resource is unavailable until it is released ;
2. “No preemption”, which means that once a resource is acquired by a part in process, it cannot be forcibly removed by any external entity. The resource can be released only by the explicit action of the process holding it ;
3. “Hold and wait”, which means that processes already hold some and wait for additional ones ;
4. “Circular wait”, which means that there is a set of linearly ordering processes such that each process requests the resource currently held by the next process while the last process requests the resource held by the first one.
0.1. DEADLOCKS IN FLEXIBLE MANUFACTURING SYSTEMS
Once a deadlock occurs, the above four conditions must be held. That is to say, deadlocks cannot occur if one of them is not held. The first three conditions depend on the physical property of a system and its resources. However, the last condition is decided by the request, allocation, and release of the system resources. It is controllable and can be broken by properly assigning the resources of a system, aiming to avoid the occurrence of a circular wait.
Generally, the deadlock resolution methods are classified into three strategies : deadlock de-tection and recovery [43], [96], deadlock avoidance [1], [3], [20], [34], [35], [86], [89], [90], [91], and deadlock prevention [18], [29], [30], [42], [44], [98].
A deadlock detection and recovery approach permits the occurrences of deadlocks. When a deadlock occurs, it is detected and then the system is put back to a deadlock-free state, by simply reallocating the resources. The efficiency of this approach depends upon the response time of the implemented algorithms for deadlock detection and recovery. In general, these algorithms require a large amount of data and may become complex when several types of shared resources are considered [1].
In deadlock avoidance, at each system state an on-line control policy is used to make a cor-rect decision to proceed among the feasible evolutions. The main purpose of this approach is to keep a system away from deadlock states. Aggressive methods usually lead to higher resource utilization and throughput, but do not totally eliminate all deadlocks. In the cases that a deadlock arises, suitable recovery strategies are still required [43], [86], [96]. Conservative methods elimi-nate all unsafe states and deadlocks, and often some good states, thereby degrading the system performance. On the other hand, they intend to be easy to implement.
Deadlock prevention is considered to be a well-defined problem in RAS literature. It is usually achieved by using an off-line computational mechanism to control the request for resources to ensure that deadlocks never occur. The goal of a deadlock prevention approach is to impose constraints on a system to prevent it from reaching deadlock states. In this case, the computa-tion is carried out off-line in a static way and once the control policy is established, the system can no longer reach undesirable deadlock states. The major criticism is that they tend to be too conservative, thereby reducing the resource utilization and system productivity.
0.2. PETRI NET BASED DEADLOCK RESOLUTION IN FMS
tools, such as graph theory, automata, and Petri nets. Graph theory or a digraph is a simple and intuitive tool to describe interactions between operations and resources, from which a deadlock control policy can be derived. The representative work can be found in the literature by Wysk [13], [43], [95], [96], and Fanti [21], [22], [23], [24], [25], [26], [27], [28]. Originated by Ramadge and Wonham, supervisory control theory (SCT) [72] based on formal languages and finite automata aims at providing a comprehensive and structural treatment of the modeling and control of discrete event systems. As an important paradigm, SCT has a profound influence on the supervisory control of automated manufacturing systems under other formalisms such as Petri nets. A number of ef-fective yet computationally efficient deadlock control policies are developed based on automata. A large amount of representative research is presented by Lawley, Reveliotis, and Ferreira in [45], [46], [47], [48], [49], [50], [51], [52], [53], [73], [74], [99]. In particular, a theoretically signifi-cant deadlock avoidance policy with polynomial complexity is developed for a class of resource allocation systems in [74], which is then described in a Petri net formalism [66].
0.2
Petri Net Based Deadlock Resolution in FMS
Petri nets [64] are a graph-based mathematical formalism suitable to describe, model, and analyze the behavior of RAS. As a good tool for describing and analyzing automated manufactu-ring systems, Petri nets can reflect their behaviors and properties, including the orders of events, concurrency, synchronization, and deadlocks. Now Petri nets have been used in a wide range of areas such as manufacturing systems, computer and communication networks, and automation systems.
Based on Petri nets, researchers develop many policies to deal with the deadlock problem [18; 55; 57; 54; 58] in FMS. Generally, there are mainly two analysis techniques to deal with deadlock prevention in FMS : structure [37; 42; 43; 57; 58] and reachability graph analysis [31; 84]. The former always obtains a deadlock prevention policy by special structural objects of a Petri net such as siphons and resource-transition circuits. This method can lead to a computationally efficient liveness-enforcing supervisor in general but always restrict a system such that a part of permissive behavior is excluded. For the latter, the reachability graph can fully reflect the behavior of a system. Though its computation is very expensive, a very highly or even maximally permissive liveness-enforcing supervisor can always be obtained.
0.2. PETRI NET BASED DEADLOCK RESOLUTION IN FMS
The above two analysis techniques play a key role in the development of deadlock control policies of Petri nets. A very popular software package for analysis of Petri net is INA [77]. Ho-wever, it cannot handle large-scale Petri net system, especially in the sense of reachability graph analysis. For instance, based on a computer in Windows XP operating system with Intel CPU Core 2.8 GHz and 4 GB memory, we have tried to enumerate reachable markings for an example with 48 places and 38 transitions by using INA. However, the computation cannot be finished due to memory overflow problem. Another powerful tool for generating reachable markings of a Petri net is binary decision diagrams (BDD) [2; 5]. BDD have a compact data structure, which make them have the capability of representing large sets of encoded data with small data structure and enable the efficient manipulation of those sets. BDD have been applied to the analysis of Petri nets successfully to deal with some problems. For example, in [68; 67; 63], they are used to model the structure and behavior of bounded Petri nets, providing a very efficient way to compute the set of reachable markings. This implies that BDD are powerful to deal with large sets of data.
There are three important criteria in evaluating the performance of a liveness-enforcing super-visor for a system to be controlled, which are behavioral permissiveness, structural complexity, and computational complexity. A maximally permissive supervisor always implies high utiliza-tion of system resources. A supervisor with a small number of control places can decrease the hardware and software costs in the stage of control verification, validation, and implementation. A deadlock control policy with low computational complexity means that it can be applied to large-sized systems. Thus, many efforts are made to develop deadlock prevention algorithms that can obtain liveness-enforcing supervisors with maximal permissibility, simple supervisory structures, and low computational complexity. In this thesis, “optimal supervisor” is used as a synonym for “maximally permissive supervisor”.
Reachability graph analysis is an important technique for deadlock control, which always suf-fers from a state explosion problem since it requires generating all or a part of reachable markings. Based on this technique, an optimal or suboptimal supervisor with highly behavioral permissive-ness can always be achieved. In [83], Uzam and Zhou develop an iterative approach to design an optimal or suboptimal supervisor. In their study, the reachability graph of a net is classified into two parts : a live-zone (LZ) and a deadlock-zone (DZ). First-met bad markings (FBM) are derived from the reachability graph. An FBM is a marking in the DZ, representing the very first entry from
0.3. THESIS ORGANIZATION
the LZ to the DZ. At each iteration, an FBM is selected and a control place is designed to prevent the FBM from being reached by using a place invariant (PI) based method proposed in [100]. This process does not terminate until the resulting net is live. This method is easy to use if the reachable space of a system is small but cannot guarantee the optimality of the supervisor.
In [31], the theory of regions developed by Ghaffari et al. is an effective approach since it can definitely find an optimal supervisor if such a supervisor exists. However, it suffers from computa-tional and structural complexity problems. By combining siphon and marking generation, Piroddi et al. [69] propose a selective siphon control policy that can obtain a small-sized supervisor with highly permissive behavior. A modified approach [70] is provided to avoid a full siphon enumera-tion that makes more efficient the deadlock prevention policy in [69]. The two methods can find an optimal supervisor for each example presented in their studies [69], [70]. However, no formal proof is provided to show their policy is definitely maximally permissive in theory. On the other hand, they reduce the complexity of supervisory structures but cannot minimize them.
0.3
Thesis Organization
This thesis focuses on the development of deadlock prevention policies of FMSs, aiming to design optimal, i.e., maximally permissive Petri net supervisors. The behavioral permissiveness is considered as the main criterion in evaluating the performance of a liveness-enforcing super-visor for an FMS. Meanwhile, we also consider the structural and computational complexity of a deadlock prevention policy, aiming to design supervisors with behavioral optimality, structural mi-nimality, and low computational complexity. All deadlock control policies in this work are based on the reachability graph analysis of Petri nets. The rest of the thesis is organized as follows.
Chapter 1 provides some basics and notations of Petri nets used throughout this thesis. Struc-tural and reachability graph analysis is also provided. The former includes the concepts of place invariants, siphons, and traps. The latter contains some very important concepts such as the live-zone (LZ), deadlock-live-zone (DZ), legal markings, and first-met bad markings (FBMs).
Chapter 2 proposes a deadlock prevention policy to obtain a maximally permissive liveness-enforcing supervisor for FMS by solving integer linear programming problems (ILPPs). A reacha-bility graph is classified into two zones : live-zone (LZ) and deadlock-zone DZ). An FBM is the
0.3. THESIS ORGANIZATION
one within DZ, representing the very first entry from LZ to DZ. By using an integer linear pro-gramming approach, a PI is designed for an FBM such that it is prevented from being reached and none of the legal markings is forbidden. We propose a vector covering approach to reduce the sets of legal markings and FBM to very small sets, namely, a minimal covering set of legal markings and a minimal covered set of FBM. Thus, we only consider two small sets of legal markings and FBM to obtain the control places. When an FBM is selected and a control place is designed to forbid it, a further covering approach is developed to reduce the set of legal markings to a smaller one. As a result, the integer linear programming problem has a small number of inequalities and can be solved in a short time.
Chapter 3 aims to design a maximally permissive liveness-enforcing Petri net supervisor with a minimal structure. Structural complexity is also an important issue for a maximally permis-sive Petri net supervisor. A deadlock prevention policy for FMS is proposed, which can obtain a maximally permissive liveness-enforcing Petri net supervisor while the number of control places is compressed. A maximally permissive control purpose can be achieved by designing control places such that all markings in the minimal covered set of FBM are forbidden and no marking in the minimal covering set of legal markings is prohibited. An ILPP (namely MCPP) is designed to minimize the number of control places on condition that a control place is associated with a P-semiflow. The resulting net has the minimal number of control places on the premise that the assumption holds, and possesses all permissive states of a plant.
Chapter 4 tries to overcome the computational complexity problem in MCPP and ensures that the controlled system is maximally permissive with a simple control structure. The chapter deve-lops an iterative deadlock prevention policy and a modified version. At each iteration, a maximally permissive PI is designed to forbid as many FBM as possible. Solving the ILPP can obtain a PI and control place. All FBM that are forbidden by the PI are removed from the minimal covered set of FBM. This process is carried out until no FBM is left in the minimal covered set. A maximally permissive supervisor with a small number of control places can be accordingly obtained. We also provide a modified version of the above mentioned method in order to further reduce the com-putational time. In fact, we only modify the iteration steps as follows. At each iteration, an FBM is singled out from the minimal covered set of FBM and a PI is designed to forbid the selected FBM. The PI is computed by solving an ILPP such that the selected FBM is forbidden and no
0.3. THESIS ORGANIZATION
legal markings in the minimal covering set of legal markings are forbidden. At the same time, we also use an objective function to maximize the number of FBM that are forbidden by the PI. The modified version of an ILPP has a small number of constraints and variables. Therefore, compared with the former, it can be solved in a shorter time in general.
Chapter 5 aims to obtain a maximally permissive Petri net supervisor with the lowest imple-mentation 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 ob-servation costs for each transition. Based on reachability graph analysis, maximal permissiveness can be achieved by designing place invariants that prohibit all FBMs but no legal markings. By solving an ILPP, a set of optimal control places are obtained and the objective function is used to minimize the implementation cost of the final supervisor. A vector covering approach is used to reduce the number of considered markings, aiming to reduce the computational overhead of the proposed method.
Chapter 6 illustrates that Petri nets with self-loops are more powerful than pure nets in mo-deling and control of flexible manufacturing systems. A self-loop in a Petri net cannot be ma-thematically represented by its incidence matrix. This chapter presents a mathematical method to design a maximally permissive Petri net supervisor that is expressed by a set of control places with self-loops. A control place with a self-loop can be represented by a constraint and a self-loop associated with a transition whose firing may lead to an illegal marking. The constraint is designed to ensure that all legal markings are reachable and the self-loop is used to prevent the system from reaching illegal markings by disabling the transition at a specific marking. A marking reduction approach is developed in order to cut down the considered markings, which can greatly decrease the computational overhead of the proposed method. An integer linear programming model is de-veloped to compress the number of control places, aiming to reduce the structural complexity of the resulting supervisors. Finally, illustrative examples are used to validate the proposed method and to demonstrate that it can obtain an optimal supervisor for some cases that cannot be optimally controlled by pure net supervisors.
Chapter 7 presents a set classification approach to design maximally permissive supervisors. Supervisory control is usually considered as an external control mechanism to a system by control-ling the occurrences of its controllable events. There exist Petri net models whose legal reachability
0.3. THESIS ORGANIZATION
spaces are non-convex. In this case, they cannot be optimally controlled by the conjunctions of li-near constraints. For Petri net models of flexible manufacturing systems, we present a method to classify the legal markings into several subsets. Each subset is associated with a linear constraint that can forbid all first-met bad markings. Then, the disjunctions of the obtained constraints can make all legal markings reachable and forbid all first-met bad markings, i.e., the controlled net is live and maximally permissive. An ILPP is formulated to minimize the number of the constraints. A supervisory structure is also proposed to implement the disjunctions of the constraints. Finally, examples are provided to illustrate the proposed method.
Chapter 8 presents a Petri net structure, namely an interval inhibitor arc, and its application to the optimal supervisory control of Petri nets. An interval inhibitor arc is an arc from a place to a transition labeled with an integer interval. The transition is disabled by the place if the number of tokens in the place is between the labeled interval. The formal definition and the firing rules of Petri nets with interval inhibitor arcs are developed. Then, an optimal Petri net supervisor ba-sed on the interval inhibitor arcs is designed to prevent a system from reaching illegal markings. Two techniques are presented to simplify the supervisory structure by compressing the number of control places. The proposed approaches are general since they can be applied to any bounded Petri net models. A marking reduction approach is also introduced if they are applied to Petri net models of flexible manufacturing systems. The experimental results show that they can obtain op-timal Petri net supervisors for some net models that cannot be opop-timally controlled by pure net supervisors. Furthermore, the obtained supervisor is structurally simple.
Finally, Chapter 9 concludes this thesis and provides some future directions of the work.
0.3.1 Publications
This thesis includes the work from a number of published papers, as follows : Journal Papers : (published or accepted)
1. Yufeng Chen, Zhiwu Li, Mohamed Khalgui, and Olfa Mosbahi, “Design of a maximally permissive liveness-enforcing Petri net supervisor for flexible manufacturing systems,” IEEE Transactions on Automation Science and Engineering, vol. 8, no. 2, pp. 374–393, 2011. 2. Yufeng Chen and Zhiwu Li, “Design of a maximally permissive liveness-enforcing
super-0.3. THESIS ORGANIZATION
visor with a compressed supervisory structure for flexible manufacturing systems,” Automa-tica, vol. 47, no. 5, pp. 1028–1034, 2011.
3. Yufeng Chen, Zhiwu Li, and Mengchu Zhou, “Behaviorally optimal and structurally simple liveness-enforcing supervisors of flexible manufacturing systems,” IEEE Transactions on Systems, Man, and Cybernetics, Part A : Systems and Humans, vol. 42, no. 3, pp. 615–629, 2012.
4. Yufeng Chen, Zhiwu Li, and Mengchu Zhou, “Most permissive Petri net supervisors for flexible manufacturing systems,” International Journal of Production Research, vol. 50, no. 22, pp. 6357–6371, 2012.
5. Yufeng Chen and Zhiwu Li, “On structural minimality of optimal supervisors for flexible manufacturing systems,” Automatica, vol. 48, no. 10, pp. 2647-2656, 2012.
6. Yufeng Chen, Zhiwu Li, and Abdulrahman Al-Ahmari, “Nonpure Petri net supervisors for optimal deadlock control of flexible manufacturing systems,” IEEE Transactions on Sys-tems, Man, and Cybernetics : SysSys-tems, vol. 43, no. 2, pp. 252–265, 2013.
7. Yufeng Chen and Gaiyun Liu, “Computation of minimal siphons in Petri nets by using binary decision diagrams,” ACM Transactions on Embedded Computing Systems, vol. 12, no. 1, pp. 3 :1–3 :15, 2013.
8. Yufeng Chen, Zhiwu Li, and Mengchu Zhou, “Optimal supervisory control of flexible ma-nufacturing systems by Petri nets : A set classification approach,” IEEE Transactions on Automation Science and Engineering, vol. 11, no. 2, pp. 549–563, 2014.
9. Yufeng Chen, Zhiwu Li, Kamel Barkaoui, and Murat Uzam, “New Petri net structure and its application to optimal supervisory control : Interval inhibitor arcs,” IEEE Transactions on Systems, Man, and Cybernetics : Systems, vol. 44, no. 10, pp. 1384-1400, 2014.
10. Yufeng Chen, Zhiwu Li, and Kamel Barkaoui, “Maximally permissive liveness-enforcing supervisor with lowest implementation cost for flexible manufacturing systems,” Informa-tion Sciences, vol. 256, pp. 74–90, 2014.
11. Yufeng Chen and Kamel Barkaoui, “Maximally permissive Petri net supervisors for flexible manufacturing systems with uncontrollable and unobservable transitions,” Asian Journal of Control, vol. 16, no. 5, pp. 1–13, 2014.
0.3. THESIS ORGANIZATION
Conference Papers :
1. Yufeng Chen, Zhiwu Li, and Kamel Barkaoui, “Maximally permissive Petri net supervisors with a novel structure,” accepted by 12th IFAC International Workshop on Discrete Event Systems, École Normale Supérieure de Cachan, France, May 14–16, 2014.
2. Yufeng Chen, Ding Liu, Gaiyun Liu, and Kamel Barkaoui, “Computation of resource cir-cuits of Petri nets by using binary decision diagrams,” 5th International Conference On Modeling, Simulation and Applied Optimization, Hammamet, Tunisia, April 28–30, 2013. 3. Yufeng Chen, Mengchu Zhou, and Xiaoou Li, “Maximally permissive control of flexible
manufacturing systems with fewest disjunctive constraints,” Proceedings of the 2012 Inter-national Conference on Advanced Mechatronic Systems, Tokyo, Japan, September 18–21, 2012.
4. Yufeng Chen, Zhiwu Li, and Kamel Barkaoui, “Optimal Petri net supervisor with lowest implemental cost for flexible manufacturing systems,” in 16th IEEE Conference on Emer-ging Technologies and Factory Automation (ETFA), Toulouse, September 5–9, 2011. (EI : 20114514505255
Première partie
Chapitre 1
Preliminaries
This chapter provides some key concepts of Petri nets such as their formal definitions, structu-ral analysis, and reachability graph analysis used throughout this thesis.
1.1
Petri nets
1.1.1 Basic Concepts
A Petri net is a directed bipartite graph which consists of two components : a net structure and an initial marking. A net (structure) contains two types of nodes : places and transitions. There are directed arcs from places to transitions and directed arcs from transitions to places in a net. Arcs are labeled by positive integers to represent their weights and labels for unity weight are always omitted. In graphically representation, places are shown as circles and transitions as boxes or bars. A place can hold tokens denoted by black dots, or a positive integer representing their number. The distribution of tokens over the places of a net is called a marking that corresponds to a state of the modeled system. The initial token distribution is hence called the initial marking. LetN denote the set of non-negative integers andN+the set of positive integers.
Definition 1.1 A generalized Petri net (structure) is a four-tuple N= (P, T, F, W) where P and T
are finite and nonempty 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
1.1. PETRI NETS
where x, y ∈ P ∪ T.
Exemple 1.1 A simple Petri net is shown in Fig. 1.1, where P = {p1 − p5}, T = {t1 − t4}, F = {(p1, t1), (t1, p2), (p2, t4), (t4, p1), (t1, p3), (p3, t2), (t2, p4), (p4, t3), (t3, p5), (p5, t4)}, W(p1, t1)= W(t4, p1) = W(t1, p3) = W(p3, t2) = W(t2, p4) = W(p4, t3) = W(t3, p5) = W(p5, t4) = 1, and W(t1, p2) = W(p2, t4) = 2. Places and transitions are graphically represented by circles and boxes, respectively.
S
S
S
S
S
W
W
W
W
Fig. 1.1 – A Petri net example.
Definition 1.2 A marking M of a Petri net N is a mapping from P toN. M(p) denotes the number
of tokens in place p. A place p is marked by a marking M if M(p)> 0. A subset S ⊆ P is marked
by M if at least one place in S is marked by M. The sum of tokens of all places in S is denoted by
M(S ), i.e., M(S ) = p∈S M(p). S is said to be empty at M if M(S ) = 0. (N, M0) is called a net
system or marked net and M0is called an initial marking of N.
Markings and vectors are usually represented via using a multiset (bag) or formal sum notation for the sake of an expedient description. As a result, vector M is denoted by p∈PM(p)p. For instance, a marking that puts two tokens in place p1and three tokens in place p4only in a net with P= {p1-p6} is denoted as 2p2+ 3p4instead of (2, 0, 0, 4, 0, 0)T.
Exemple 1.2 For the Petri net model in Fig. 1.1, its initial marking is (1, 0, 0, 0, 0)T, expediently
denoted as M0= p1. At M0, only p1is marked since M0(p1)= 1 > 0.
Definition 1.3 Let x ∈ P ∪ T be a node of net N = (P, T, F, W). The preset of x is defined as •x = {y ∈ P ∪ T|(y, x) ∈ F}. While the postset of x is defined as x• = {y ∈ P ∪ T|(x, y) ∈ F}. This
1.1. PETRI NETS
notation can be extended to a set of nodes as follows : given X ⊆ P ∪ T, •X = ∪x∈X•x, and
X•= ∪x∈Xx•.
Exemple 1.3 For the Petri net model in Fig. 1.1,•p1= {t4}, p•1= {t1},•p2 = {t1}, p•2 = {t4},•p3= {t1}, p•
3 = {t2},•p4= {t2}, p•4= {t3},•p5= {t3}, and p•5 = {t4}. Moreover,•{p1, p2, p3} = {t1, t4} and {p1, p2, p3}•= {t1, t2, t4}.
Definition 1.4 A transition t∈ T is enabled at a marking M if ∀p ∈•t, M(p)≥ W(p, t). This fact
is denoted as M[t. Firing it yields a new marking M such that∀p ∈ P, M (p)= M(p) − W(p, t) +
W(t, p), as denoted by M[tM . M is called an immediately reachable marking from M. Marking
M is said to be reachable from M if there exist a sequence of transitions σ = t0t1· · · tn and
markings M1, M2, · · · , and Mnsuch that M[t0M1[t1M2· · · Mn[tnM holds. The set of markings
reachable from M in N is called the reachability set of Petri net (N, M) and denoted as R(N, M).
Exemple 1.4 For the Petri net model in Fig. 1.1, only t1 is enabled at the initial marking, i.e., M0[t1. Firing t1, a token is removed from p1and put two tokens in p2and one token in p3. It yields
a new marking M1 = 2p2+ p3, denoted as M0[t1M1. Similarly, we have M1[t2M2, M2[t2M3,
and M3[t2M0, where M2 = 2p2+ p4and M3 = 2p2+ p5. Moreover, we have M0[t1t2M2. The
reachability set of the net is R(N, M0)= {M0, M1, M2, M3}.
Definition 1.5 A Petri net (N, M0) is safe if ∀M ∈ R(N, M0),∀p ∈ P, M(p) ≤ 1 is true. It is
bounded if∃k ∈ N+,∀M ∈ R(N, M0),∀p ∈ P, M(p) ≤ k. It is said to be unbounded if it is not
bounded. A net N is structurally bounded if it is bounded for any initial marking.
Definition 1.6 A net N = (P, T, F, W) is pure (self-loop free) if ∀x, y ∈ P ∪ T, W(x, y) > 0 implies W(y, x) = 0.
Exemple 1.5 The Petri net in Fig. 1.1 is not safe since p2 can hold two tokens when t1 fires at the initial marking. A safe Petri net model is shown in Fig. 1.2. Both net models are bounded, structurally bounded, and pure.
Definition 1.7 A pure net N= (P, T, F, W) can be represented by its incidence matrix [N], where [N] is a|P| × |T| integer matrix with [N](p, t) = W(t, p) − W(p, t). For a place p (transition t), its
1.1. PETRI NETS
S
S
S
S
S
W
W
W
W
Fig. 1.2 – A Petri net example.
Exemple 1.6 For the Petri net in Fig. 1.1, it is clear that
[N+]= ⎡ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎣ 0 0 0 1 2 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ⎤ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎦, [N −]= ⎡ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎣ 1 0 0 0 0 0 0 2 0 1 0 0 0 0 1 0 0 0 0 1 ⎤ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎦, [N]= ⎡ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎢ ⎢⎢⎢⎢⎣ −1 0 0 1 2 0 0 −2 1 −1 0 0 0 1 −1 0 0 0 1 −1 ⎤ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎥ ⎥⎥⎥⎥⎦. Definition 1.8 Given a Petri net (N, M0), t∈ T is live at M0if∀M ∈ R(N, M0),∃M ∈ R(N, M), M [t. (N, M0) is live if∀t ∈ T, t is live at M0. (N, M0) is dead at M0 ift ∈ T, M0[t. (N, M0) is
deadlock-free (weakly live or live-lock) if∀M ∈ R(N, M0),∃t ∈ T, M[t.
Definition 1.9 Let N = (P, T, F, W) be a net and σ a finite sequence of transitions. The Parikh
vector of σ is −→σ : T → N which maps t in T to the number of occurrences of t in σ. Denote
− →t
1 = (1, 0, · · · , 0)T, −→t2 = (0, 1, 0, · · · , 0)T, and −→tk = (0, 0, · · · , 0, 1)T assuming k= |T|.
It is trivial that for each transition t, we have [N](·, t) = [N]−→t . Note that M[tM leads to M = M + [N](·, t). Consequently, if M[tM , we have M = M + [N]−→t . For an arbitrary finite transition sequenceσ such that M[σM , we have
M = M + [N]−→σ (1.1)
1.1.2 Structural Analysis
Structural properties are an important issue to analyze and control Petri nets. Structure analysis is always applied via special structural objects of a Petri net, such as place invariants, siphons, and resource-transition circuits. Based on structural properties, the behavior of a Petri net can be
1.1. PETRI NETS
analyzed simply. This section presents some classical structural objects of a Petri net and their properties.
Definition 1.10 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.
Definition 1.11 P-vector I is called a P-invariant (place invariant, PI for short) if I 0 and
IT[N]=0T. T -vector J is called a T -invariant (transition invariant) if J0 and [N]J=0.
Definition 1.12 P-invariant I is a P-semiflow if every element of I is non-negative.||I|| = {p|I(p) 0} is called the support of I. ||I||+ = {p|I(p) > 0} denotes the positive support of P-invariant I and ||I||− = {p|I(p) < 0} denotes the negative support of I. I is called a minimal P-invariant if ||I|| is not a superset of the support of any other one and its components are mutually prime.
Theorem 1.1
Let (N, M0)be a net with P-invariant I and M be a reachable marking from M0. Then ITM= ITM0.
Property 1.1
If I is a P-semiflow of a net,•||I|| = ||I||•.
Exemple 1.7 For the Petri net in Fig. 1.1, there are two P-invariants I1 = (1 0 1 1 1)T and I2 = (2 1 0 0 0)T, and a T-invariant J1 = (1 1 1 1)T. We have ||I1|| = {p1, p2} and ||I2|| = {p1, p3, p4, p5}. Both I1and I2are minimal P-invariants. According to Property 1.1, we also have •||I1|| = ||I1||• = {t1, t4} and•||I2|| = ||I2||•= {t1, t2, t3, t4}.
Definition 1.13 A nonempty set S ⊆ P is a siphon if•S ⊆S•. S ⊆ P is a trap if S•⊆•S . A siphon (trap) is minimal if there is no siphon (trap) contained in it as a proper subset. A minimal siphon
S is said to be strict if•S S•.
Property 1.2
Let S1and S2are two siphons (traps). Then, S1∪ S2is a siphon (trap). Corollary 1.1
1.1. PETRI NETS
Exemple 1.8 For the Petri net in Fig. 1.1, S = {p1, p3, p4, p5} is both a siphon and trap since •S = S•= {t1, t2, t3, t4}. S is also a P-semiflow.
Property 1.3
Let M∈R(N, M0)be a marking of net (N, M0) and S a trap. If M(S ) > 0, then ∀M ∈ R(N, M), M (S )> 0.
Property 1.4
Let M∈R(N, M0)be a marking of net (N, M0)and S a siphon. If M(S )= 0, then ∀M ∈ R(N, M), M (S )= 0.
Property 1.3 indicates that once a trap is marked at M, it is always marked at any reachable marking from M. Property 1.4 indicates that once a siphon is empty at M, it is always empty at any reachable marking from M.
Theorem 1.2
Let (N, M0)be an ordinary net andΠ the set of its siphons. The net is deadlock-free if ∀S ∈ Π, ∀M ∈ R(N, M0), M(S )> 0.
Definition 1.14 A siphon S is said to be controlled in a net system (N, M0) if∀M ∈ R(N, M0), M(S )> 0.
Definition 1.15 Let N = (P, T, F, W) be a Petri net with PX ⊆ P and TX ⊆ T. NX = (PX, TX, FX, WX)
is called a subnet generated by PX ∪ TX if FX = F ∩ [(PX × TX)∪ (TX × PX)] and ∀ f ∈ FX,
WX( f )= W( f ).
1.1.3 Reachability Graph
Let G(N, M0) be the reachability graph of a bounded Petri net. For deadlock control purpose, markings in a reachability graph can be classified into four categories : deadlock, bad, dangerous and good ones. A deadlock one indicates a dead situation in a system by which no successor is followed. A bad one has successors but cannot reach the initial marking. A good marking is the one which can reach the initial one and whose successors also can reach it. A dangerous marking can reach the initial one and at least one of its successors cannot reach it. For optimal control purpose, both good and dangerous markings should be kept in the controlled system, which, therefore are
1.1. PETRI NETS
legal markings whose set is denoted by ML. For a Petri net system (N, M0), the set of its legal markings is defined as :
ML= {M|M ∈ R(N, M0)∧ M0 ∈ R(N, M)} (1.2)
The setMLis the maximal set of reachable markings such that it is possible to reach initial marking
M0from any legal marking without leavingML.
The set of legal markings can be divided into two sets : the setMGof good markings and the setMDan.of dangerous markings, as defined below.
MG= {M ∈ ML|t ∈ T s.t. M[tM ∧ M ∈ ML} (1.3)
MDan.= {M ∈ ML|∃t ∈ T s.t. M[tM ∧ M ∈ ML} (1.4)
Property 1.5 ML= MG∪ MDan.
The set of illegal markings, denoted asML, can be obtained by removing all legal markings from R(N, M0), i.e.,
ML= R(N, M0)\ ML (1.5)
The set of dead markings is defined as :
MDead= {M ∈ R(N, M0)|t ∈ T s.t. M[t} (1.6)
In [84], G(N, M0) is split into a deadlock-zone (DZ) and a live-zone (LZ), where the DZ contains deadlock and bad markings and the LZ contains all the legal markings. A first-met bad marking (FBM) is defined as the one within DZ, representing the very first entry from LZ to DZ. A mathematical form of the set of FBMs is defined as :
MFBM = {M|M in ML, ∃M inML, t ∈ T, s.t. M [tM} (1.7)
We can see that from an FBM, it is not possible to reach the initial marking and it may lead to a deadlock one or a group of bad ones.
1.1. PETRI NETS
Exemple 1.9 Fig. 1.3 shows the reachability graph of a Petri net, where M13and M14 are
dead-lock, M4, M8, and M9are bad, M1, M2, M3, M5, M6, and M11 are dangerous and the others are
good. The set of FBMs includes M4, M8, M9, M13, and M14.
6 0 W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W GHDGORFN]RQH ILUVWPHWEDGPDUNLQJ W W 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSS 0 SSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS 0 SSSSS
Fig. 1.3 – The reachability graph of a Petri net.
In a reachability grpah, the set of good and dangerous markings in R(N, M0), namelyML, should constitute the maximum legal behavior if a supervisor is optimally designed. It also can be seen that a system cannot reach any illegal marking if all FBMs are forbidden.
An MTSI is a pair of a marking M and a transition t such that the firing of t at M leads to an illegal marking. Hence, the set of MTSIs is defined as follows :
Ω = {(M, t)|M[tM ∧ M ∈ ML∧ M ∈ ML} (1.8)
where M is a dangerous marking and t is called a critical transition. If (M, t) is an MTSI, M and t are called the dangerous marking and the critical transition of (M, t), respectively.
According to MTSIs of a Petri net, transitions are classified into two parts : critical and good ones, whose sets are denoted as Tcand Tg, respectively, which are defined as follows :
Tc = {t ∈ T|∃M ∈ R(N, M0), s.t. (M, t) is an MTSI} (1.9)