Académique Documents
Professionnel Documents
Culture Documents
1
Plan :
Chapitre 1 :
Partie I : Introduction aux réseaux de Pétri (RdP)
Partie II : Réseaux de pétri autonomes
Chapitre 2 :
Réseaux de pétri non autonomes
Chapitre 3 :
Modélisation des systèmes dynamique via les RdP
Evaluation des performances des systèmes dynamiques en
utilisant les RdP
2
Introduction à la modélisation et à la
simulation de systèmes à évènements discrets
par réseaux de Petri
3
Importance de la modélisation
Dans une idée de diminuer les coûts tout en améliorant la
performance, l’ensemble des problèmes liés à l’utilisation de
systèmes automatisés n’a pas encore été résolu de manière
optimale. La recherche dans le domaine de la modélisation
des systèmes a pour but de répondre à ce besoin.
4
– Exemple de problème : le comportement non souhaité
Lors de la conception de systèmes automatisés, on voudrait
pouvoir vérifier que lorsqu’ils seront mis en marche, ils feront
bien ce, et seulement ce, pourquoi ils ont été conçus.
6
Un blocage peut survenir si les quatre conditions suivantes
sont remplies simultanément (conditions nécessaires) :
7
Une ressource ne peut pas être prise à partir d'un
processus à moins que le processus ne libère la ressource.
Un ensemble de processus s'attendent les uns les autres
sous forme circulaire.
8
Les systèmes à évènements discrets
Un système à évènements discrets, par opposition à un
système continu, est un système qui satisfait les deux
propriétés suivantes :
9
Exemple :
10
Système Un ensemble d’objets liés pour effectuer quelques
activités dont le but d’atteindre un objectif.
11
Principe des réseaux de Petri :
Un réseau de Petri est un formalisme permettant de
modéliser des systèmes à évènements discrets sous la forme
d’une représentation graphique du système relativement
facile à comprendre pour un humain.
12
Dans le principe, un réseau de Petri peut être considéré
comme un graphe orienté bipartite contenant des places (des
cercle vides), des transitions (des rectangles noirs) et des arcs
(des flèches reliant les transitions et les places entre elles).
13
On peut considérer les places comme des récipients dans
lesquelles on peut placer des jetons (pastille noire à l’intérieur
des places). Les places peuvent représenter une partie du
système, un lieu dans le système, un compteur…)
14
L’ensemble des jetons dans les places représente le
marquage du réseau de Petri et un marquage est associé à un
état du système. Par exemple, dans le cas de la lampe, le
réseau de Petri qui décrit son comportement est présenté par
la suite.
15
Exemple(solution) :
16
Exercice :
Modéliser Un feu rouge par un réseau de Petri (feu rouge
allumé)
17
Exercice(solution) :
18
Réseaux de Petri autonomes
19
Plan :
Définitions fondamentales
RdP particuliers
20
1. Introduction aux réseaux de Pétri
21
Caractéristiques des réseaux de Petri :
22
Cet outil de modélisation est particulièrement bien
adapté à la représentation des systèmes de production.
Outil de modélisation graphique et mathématique
(Applications : productique, automatique et informatique).
23
Les forces des réseaux de Petri :
24
Parallélisme/synchronisation :
Le franchissement de la
transition T1 met un jeton
dans la place P12 (ce qui
marque le déclenchement du
processus 1) et un jeton dans
la place P21 (ce qui marque
le déclenchement du
processus 2). La place P1n
correspond à la fin du
processus 1 et la place P2k à
la fin du processus 2.
26
Parallélisme/synchronisation :
27
Apparition des réseaux de Petri :
Les RdP ont été introduits par Carl Adam Petri en 1962
(Université de Darmstadt – Développement par l’université
de technologie de Massachusset).
28
Définition des réseaux de Petri :
29
RdP autonome :
30
Eté Automne
Printemps Hiver
31
2. Définitions fondamentales :
Définition 1 :
Un RdP non marqué est un graphe biparti constitué de
places, de transitions (correspondant aux sommets du graphe)
et d’arcs qui relient les transitions aux places et les places aux
transitions. De manière plus formelle, un réseau de Petri est
défini comme un 4-uplets (c’est-à-dire un ensemble de 4
éléments) : {𝑃, 𝑇, Pre, Post} Les éléments de ce 4-uplets sont
définis comme suit :
32
P : est un ensemble fini et non vide de places
𝑃 = {𝑃1 , 𝑃2 , … , 𝑃𝑛 }.
𝑇 = {𝑇1 , 𝑇2 , … , 𝑇𝑚 }.
33
Pre : est l’application d’incidence avant : Pre : P×T → IN
(ensemble des entiers naturels), correspondant aux arcs
directs des places vers les transitions.
34
Post : est l’application d’incidence arrière : Post : T×P → IN
correspondant aux arcs directs liant les transitions aux
places.
35
Si 𝑃𝑟é(𝑃𝑖 , 𝑇𝑖 ) > 0, la transition 𝑇𝑖 est une transition de sortie
de la place 𝑃𝑖 . La place 𝑃𝑖 est dite place d’entrée de la
transition 𝑇𝑖 .
36
Notations :
𝑇𝑗𝑜 (respectivement °𝑇𝑗 ) : l’ensemble des places de sortie
(respectivement d’entrée) de la transition 𝑇𝑗 .
37
Matrice d'incidence
𝑊 − = [𝑃𝑟é(𝑃𝑖 , 𝑇𝑗 )]
0 sinon
38
Matrice d'incidence arrière :
𝑊 + = [𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑗 )]
0 sinon
39
Matrice d'incidence :
𝐖 = 𝑾+ − 𝑾−
Tel que :
40
Exemple 2.1 : Donner la matrice d’incidence
41
Exemple 2.1 (solution) :
1000 0001
0100 1000
𝑊− = 0 0 1 0 𝑊+ = 1 0 0 0
0001 0100
[0001] [0010]
42
Définition 2 :
43
Le marquage du réseau 𝑀 est défini par le vecteur de ces
marquages. Le marquage à un certain instant définit l’état du
RdP.
C'est un vecteur colonne de dimension le nombre de places
dans le réseau. Le 𝑖 è𝑚𝑒 élément du vecteur correspond au
nombre de jetons contenus dans la place 𝑃𝑖 .
Le marquage initial 𝑀0 est le nombre de jetons initialement
présent dans chaque place, il représente l’état initial du
système.
44
Exemple 1 : marquage
3
1
[ ]
2
0
45
Exemple 2 : marquage
4
[1]
2
46
Exemple 3 : marquage
1
[0]
3
47
Exemple 4 : Réseau de Petri avec trois états
1 0 0
𝑀0 = [0] 𝑀1 = [1] 𝑀2 = [0]
0 0 1
48
Par convention :
– Les places sont représentées par des cercles
– Les transitions par des barres ou des rectangles
– Les arcs sont des arcs orientés
49
Exercice : donner les ensembles P, T, les matrices Pre, Post , W et
le marquage initial
50
3. Loi d’évolution d’un réseau de Petri :
Les jetons à l’intérieur du réseau de Petri peuvent évoluer
de place en place lorsqu’une transition est dite franchie.
52
Exemple 3.1 :
53
La transition 𝑇1 a été franchie, comme défini par les poids sur
les arcs correspondants :
54
Après franchissement de 𝑇1 , le graphe est le suivant :
55
Exemples (transition non franchissable) :
56
En effet, l’arc qui va de la place 𝑃0 à la transition 𝑇0 est de
poids w=2, il faut donc au moins deux jetons dans la place 𝑃0
pour que la transition 𝑇0 soit franchissable.
57
Exemple (transition franchissable) :
58
La transition 𝑇0 a été franchie, comme défini par les poids sur
les arcs correspondants :
60
Exemple 3.2 : 𝑇1 est une transition franchissable ?
61
Séquence de franchissement :
A partir d'un marquage donné, une séquence de
franchissement 𝑆 est une suite de transitions 𝑇𝑖 𝑇𝑗 …𝑇𝑘 qui
peuvent être franchies successivement.
𝑀𝑖 [𝑆 → 𝑀𝑗
Ou 𝑀𝑖 [𝑆 > 𝑀𝑗
62
Exemple 3.3 : (Deux séquences de franchissement : T1T2 et
T1T3)
63
Franchissement de la séquence T1T2 :
𝑀0 [𝑇1 𝑇2 → 𝑀1
𝑀1 = [0010]𝑇
𝑀0 [𝑇1 𝑇3 → 𝑀2
𝑀2 = [0001]𝑇
64
Equation fondamentale ou équation d'état :
65
Si la séquence de franchissement 𝑆 est tel que 𝑀𝑖 [𝑆 > 𝑀𝐾
alors l'équation fondamentale correspondante s'écrit :
𝑀𝑘 = 𝑀𝑖 + 𝑊 ∗ 𝑉𝑠𝑡
𝑀𝑖 : Marquage initial
𝑊 : matrice d’incidence
𝑉𝑠𝑡 : vecteur caractéristique de la séquence S
𝑀𝑘 : le nouveau marquage obtenu après l‘exécution de la
séquence S.
66
Exemple : le vecteur caractéristique
67
Exemple 3.4 :
𝑆 = 𝑇1 𝑇2
68
Exercice : Déterminer le marquage après franchissement
des transitions T2, T2T3T4T1T3 puis T2T3T4T5T1T3
69
4. Réseaux de Petri particuliers
Transition source : Elle est toujours franchissable
70
Transition puits :
71
Arc inhibiteur
Les arcs inhibiteurs rendent possible le franchissement des
transitions quand les places d’entrée sont vides ou ont un
marquage inférieur a une valeur fixée.
72
RdP Particuliers :
Graphe d’état Graphe d’événement
RdP simple
73
Graphe d'état :
74
Graphe d'événement :
75
RdP sans conflit :
Un RdP avec conflit est un réseau qui possède donc une place
avec au moins deux transitions de sorties. Un conflit est noté:
[𝑃𝑖 , {𝑇1 ,𝑇2 ,…, 𝑇3 }] , avec 𝑇1 ,𝑇2 ,…,𝑇𝑛 étant les transitions de
sorties de la place 𝑃𝑖 .
76
RdP sans conflit RdP avec conflit
77
RdP à choix libre :
Un RdP est à choix libre est un réseau dans lequel pour tout
conflit [ 𝑃𝑖 , {𝑇1 , 𝑇2 ,…, 𝑇𝑛 }] aucune des transitions 𝑇1 ,𝑇2 ,…,𝑇𝑛 ne
possède aucune autre place d’entrée que 𝑃𝑖 .
78
RdP simple :
79
RdP pur :
80
RdP généralisés :
81
rajoute 𝑘 jetons à la place 𝑃𝑖 . Lorsque le poids n’est pas
signalé, il est égal à un par défaut.
82
RdP à capacités :
83
𝒄𝒂𝒑(𝑷𝟐 ) = 𝟐 𝒄𝒂𝒑(𝑷𝟐 ) = 𝟐 𝒄𝒂𝒑(𝑷𝟐 ) = 𝟐
85
5. Outils d’analyse des RdP
Les principales méthodes d’analyse des réseaux de Petri
peuvent être classés en trois groupes :
1. Méthodes basées sur l’énumération de tous les états
possibles :
Arbre et graphes de marquage
Arbre et graphes de couverture
2. Méthodes basées sur l’algèbre linéaire
3. Méthodes de réduction des RdP
86
1. Méthodes basées sur l’énumération de tous les états
possibles
87
Arbre de marquage :
L’arbre des marquages atteignables définit tous les
Marquages que l’on peut atteindre à partir d’un marquage
𝑀0 , c’est une arborescence dans laquelle :
Les nœuds sont les marquages atteignables à partir de 𝑀0 :
chaque nœud correspond à un vecteur de marquage
accessible.
La racine de l’arborescence correspond à 𝑀0
88
Marquages accessibles :
L'ensemble des marquages accessibles est l'ensemble des
marquages 𝑀𝑖 qui peuvent être atteint par le franchissement
d'une séquence 𝑆 à partir du marquage initial 𝑀0 . On le note
∗𝑀0
∗
.𝑀0 = {𝑀𝑖 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑀𝑖 [𝑆 → 𝑀𝑗 }
89
Exemple 5.1 : marquages accessibles
90
Exemple 5.1 : marquages accessibles
91
Graphe de marquage :
92
Exemple 5.1 : graphe de marquage
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
[ ] T1 [ ] T2 [ ]
𝟎 𝟎 𝟏
𝟎 𝟎 𝟎
𝟎
𝟎
T3 [ ]
𝟎
𝟏
93
Exemple 5.2 : Donner le graphe de marquage de l’exemple
suivant
94
Exemple 5.2 :
∗𝑴𝟎={𝑴𝟎,𝑴𝟏,𝑴𝟐,𝑴𝟑}
Avec :
𝟐 𝟏 𝟎 𝟎
𝑴 𝟎 = [ ] 𝑴𝟏 = [ ] 𝑴𝟐 = [ ] 𝑴𝟑 = [ ]
𝟎 𝟏 𝟐 𝟏
95
Exemple 5.2 :
𝟎
T1 [ ]
𝟐
𝟐 𝟏 𝟎
[ ] T1 [ ] T2 [ ]
𝟎 𝟏 𝟏
96
Exemple 5.3 : Donner le graphe de marquage
97
Exemple 5.3 (solution) :
𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 T1 𝟎 T2 𝟏 T4
𝟎 𝟏 𝟏
[ 𝟎] [ 𝟎] [𝟎]
T3
𝟎 𝟎
T3
𝟏 T2 𝟎
𝟎 𝟏
𝟎 𝟎
[𝟏] [𝟏] 98
Graphe de couverture :
Un graphe de couverture est semblable à un graphe de
marquage dans lequel on va utiliser un symbole, par
exemple {𝜔 } , pour indiquer la présence d'un nombre
arbitrairement grand de jetons (en pratique une infinité),
une transition peut alors prélever et ajouter librement des
jetons sur cette place.
99
Graphe de marquage ou graphe de couverture ?
100
Arbre de couverture
101
Algorithme de construction de l’arbre de recouvrement :
102
3. Pour chaque nouveau marquage 𝑀: s’il existe sur le chemin
de 𝑀0 à 𝑀 un marquage identique à 𝑀, alors on ne génère pas
de successeur du marquage 𝑀 (≪ marquage déjà atteint ≫).
4. Si à partir de 𝑀 aucune transition n’est franchissable, Alors,
𝑀 n’a pas de successeur et on retourne à 3 (𝑀 est marque ≪
Blocage ≫), sinon on génère tous les nœuds successeurs de 𝑀
en respectant les règles suivants :
103
Les règles de génération
104
Exemple 5.4 : donner le graphe de recouvrement
105
Exemple 5.4 :
106
Exemple 5.5 : Donner l'arbre et le graphe de couverture de
l'exemple suivant :
107
Exemple 5.5 : Arbre de couverture
108
Exemple 5.5 : Graphe de couverture
109
Exemple 5.6 : graphe de couverture
110
Exemple 5.6 (solution) :
𝑇1 est une transition source, franchissable un nombre infini
de fois. D'où le recours au graphe de couverture.
Si on franchit 𝑇2 :
112
Exemple 5.6 :
T1 [𝝎]
𝑀2
[𝟎] T1 [𝝎]
𝑀0 𝑀1
T2 [𝝎]
𝑀3
113
Propriétés d’un réseau de Petri :
Nous allons voir les propriétés qu’on peut établir pour un RdP
en construisant et en analysant le graphe des marquages
atteignables :
Bornitude
Vivacité
atteignabilité
114
Bornitude :
Une place 𝑃𝑖 d’un RdP <𝑃𝑁, 𝑀> est 𝑘-bornée s’il existe un
entier 𝑘 tel que 𝑀(𝑃𝑖 ) ≤ 𝑘 pour tout 𝑀 dans 𝑅(𝑀0 )).
On dit que le RdP est sauf s’il est 1-borné.
115
Bornitude :
116
Exemple d’un réseau non borné :
La transition T1 est franchissable en permanence et peut donc
être franchie un nombre de fois infini. Chaque franchissement
de T1 ajoutant une marque dans la place P2 et le marquage de
celle-ci peut donc tendre vers l’infini.
117
Vivacité :
118
Vivacité (transition vivante) :
Une transition 𝑇𝑗 d’un RdP <𝑃𝑁, 𝑀> est vivante si quel que
soit le marquage 𝑀, il existe une séquence 𝑆 qui, partant de
𝑀, conduit à un marquage qui permet de franchir la transition
𝑇𝑗 : ∀𝑀 ∈ 𝑅(𝑀0 ), ∃𝑀′ ∈ 𝑅(𝑀) tel que 𝑇𝑗 est franchissable
pour 𝑀′ .
Autrement dit quel que soit l'évolution, il subsistera toujours
une possibilité de franchir Tj à nouveau.
119
Vivacité (RdP vivant) :
Un RdP marqué est vivant pour un marquage initial 𝑀0 si
toutes ses transitions sont vivantes pour ce marquage initial.
Exemple d’un réseau vivant :
120
Exercice : Déterminer la vivacité de T1, T2, T3
121
Exercice (solution) :
122
Vivacité :
Un réseau de Petri marqué < 𝑃𝑁, 𝑀0 > est vivant , s’il est
réversible (réinitialisable) et que toutes ses transitions sont
quasi vivantes.
Réseau réversible :
Soit un réseau de Petri marqué< 𝑃𝑁, 𝑀0 > et soit 𝑅(𝑀0 )
l’ensemble de ses marquages accessibles. Ce réseau marqué
est réversible si et seulement si :
∀𝑀 ∈ 𝑅(𝑀0 ), 𝑀 ≠ 𝑀0 , ∃𝑠 tel que 𝑀 → 𝑀0
123
Un RdP est réversible (ou réinitialisable) si quel que soit le
marquage 𝑀 atteignable à partir de 𝑀0 , 𝑀0 est aussi
atteignable à partir de 𝑀.
Un marquage 𝑀𝑎 est un état d’accueil s’il peut être atteint à
partir de tous les marquages atteignables
124
Exemple 5.9 : un réseau de Petri réinitialisable
125
Atteignabilité :
126
2. Méthodes basées sur l’algèbre linéaire
La construction et l’analyse du graphe des marquages
atteignables permet de déduire les propriétés d’un RdP.
Néanmoins, ce graphe peut devenir très grand : exponentiel
en fonction du nombre de places.
L’analyse structurelle peut aider à établir des propriétés
sans construire le graphe de recouvrement. Les
techniques principales sont :
P-invariant et T-invariant
127
P-invariant :
Les solutions de l’équation 𝑊 𝑡 . 𝑋 = 0 sont appelées places
invariantes ou P-invariants.
𝑋 est un invariant propre si 𝑋 = 0.
Un P-invariant indique que le nombre de marques dans tous
les marquages atteignables satisfait une invariante linéaire.
128
Exemple 6.1 :
1. Calcul du marquage après franchissement de la séquence
𝑆 = 𝑇1 𝑇2 𝑇4
2. Trouver un P-invariant
129
Exemple 6.1 (solution) :
1. D’après l’exemple ci-dessus, le marquage initial est :
𝑀0 = (1 0 0 1 1 0 0)𝑡
Nous supposons que la séquence des transitions à franchir
est : 𝑆 = 𝑇1 𝑇2 𝑇4 donc 𝑢 = 𝑣𝑠𝑡 = (1 1 0 1 0 0 0)𝑡
Donc le nouveau marquage après franchissement de cette
séquence est donné par : 𝑀 = 𝑀0 + 𝑊. 𝑢
Le calcul de 𝑀 donne le résultat suivant :
𝑴 = (𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎)𝒕
130
REMARQUE :
Dans ce cas, le marquage après franchissement de cette
séquence est atteignable.
En général, l’équation d’état ne garantit pas qu’un tel
marquage est atteignable.
Cependant, on peut parfois utiliser l’équation d’état pour
montrer qu’un marquage 𝑴 ne peut pas être atteint, quand
l’équation 𝑀0 + 𝑊. 𝑢 a une solution non naturelle.
131
Exemple 6.1 (solution) :
2. Un P invariant vérifie l’équation suivante : 𝑊 𝑡 . 𝑋=0
On obtient alors 7 équations :
−𝒙𝟏 + 𝒙𝟐 = 𝟎 𝒙𝟏 = 𝒙𝟐
−𝒙𝟐 + 𝒙𝟑 − 𝒙𝟒 = 𝟎
𝒙𝟏 − 𝒙𝟑 + 𝒙𝟒 = 𝟎 𝒙𝟓 = 𝒙𝟔
−𝒙𝟒 − 𝒙𝟔 + 𝒙𝟕 = 𝟎
𝒙𝟑 = 𝒙𝟏 + 𝒙𝟒
𝒙𝟒 + 𝒙𝟓 − 𝒙𝟕 = 𝟎
𝒙𝟒 + 𝒙𝟓 − 𝒙𝟕 = 𝟎 𝒙𝟒 = 𝒙𝟕 − 𝒙𝟔
−𝒙𝟓 + 𝒙𝟔 = 𝟎
Les vecteurs 𝑿𝟏 = (𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎)𝒕 , 𝑿𝟐 = (𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟏)𝒕
et 𝑿𝟑 = (𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏)𝒕 sont des p-invariant.
132
Propriétés (P-invariant) :
133
Propriétés (P-invariant) :
134
T-invariant :
Soit 𝑈 un vecteur caractéristique d’une séquence de
franchissement.
La solution de l’équation 𝑊. 𝑈 = 0 est appelée T-invariant
(transitions invariants) .
Si 𝑈 est un T-invariant, alors le marquage 𝑀 résultant d’une
séquence correspondant à 𝑈 est tel que 𝑀 = 𝑀0 (𝑀0 :
marquage initial).
135
Exemple 6.2 :
On considère le RdP suivant :
136
Exemple 6.2(solution) :
1. L’ équation 𝑀0 + 𝑊. 𝑈 n’admet pas de solution et par
conséquent le marquage 𝑀 = (1 1)𝑡 n’est pas
atteignable.
2. 𝑊. 𝑈 = 0 −𝑢1 + 𝑢2 = 0
𝑢1 − 𝑢2 = 0
𝑈 = (1,1)𝑡 est un T-invariant
137
Exercice : trouver un T-invariant à partir des équations
linéaires pour le réseau suivant :
138