Académique Documents
Professionnel Documents
Culture Documents
Variantes et domaines
d’application
Algèbre linéaire
Matrices d’incidence
Équation fondamentale
Classes des Réseaux de Petri
Introduction
• Les Réseaux de Petri ont été introduits au début des années 60 par
Carl Adam Petri
• Ce sont des outils de modélisation des systèmes à événements discrets
•Ils ont pris un essor important durant les années 70 grâce aux travaux de
chercheurs du M.I.T
Ils présentent les avantages suivants :
• Clarté de la représentation des outils graphiques
Des arcs relient une place à une transition ou une transition à une place,
mais jamais une place à une place ou une transition à une transition
P1
M:P N
T1
M = [2, 1]
P2
Places, transitions, arcs et marquages
P1 P1
T1 T1
P2 P2
T6 T6
T2 T2
P3 P4 P3 P4
T3 T4 T3 T4
P5 P5 P5 P5
T5 T5
P7 P7
P1 P2 P1 P2
T1 T1
P3 P4 P3 P4
Calculateur 1
Une mémoire commune
Deux calculateurs:
N’a pas besoin de la
Mémoire mémoire
commune Demande la mémoire
Utilise la mémoire
Calculateur 2
Modèle RdP du système
• Le
Le franchissement de la transition
marquage du réseau évolue
Mémoire validée consiste à:
libre au cours du franchissement des
p1
p1
p1 p7
p7
p7 p4
p4
p4
transitions
– Enlever des jetons
Le franchissement des transition
d’une places
t1
t1 t4
t4
amont (le nombre
est fonction est égal
des conditions desau
p5
p5
p5
poids de l’arc
ressources amont)
des places amont
p2
p2
p2
t6
t6
t6
– Ajouter des jetons
Une transition est diteaux places
valide, dans
t3
t3
t3 aval (le nombre
un marquage, est égale
si, dans chaqueau
t2
t2
t2 t5
t5 p6
p6
p6
poids de l’arcnombre
place amont aval) de jetons est
p3
p3
p3
au moins égal au poids de l’arc
sortant
Calculateur 1 Calculateur 2
Réseau de Petri Généralisé
• Un réseau dans lequel le poids affecté à chaque arc est égal à 1 est
un réseau de Petri élémentaire.
élémentaire
• Un Réseau de Petri dans lequel le poids de certains arcs est
supérieur à 1 est un Réseau de Petri Généralisé
P1 P1
2
Ta Ta
3
P2 P3 P2 P3
P1 P1
P2 P2
2 2
T1 T1
P3 P3
P1 P1
P2 P2
2 2
Franchissement de T1
T1 T1
P3 P3
Franchissement d’une transition
P1 P1
P2 P2
2 2
Franchissement de T1
T1 T1
P3 P3
Franchissement d’une transition
P2
M0 = [1, 2, 0]
T1
P3
Franchissement d’une transition
P2
M0 = [1, 2, 0]
Marquage après Franchissement
2
T1
M1 = [1, 0, 1]
P3
En t0, il y avait 3 jetons dans le
réseau ; en t0 + ∆t, il y en a 2.
P1 P2 P1 P2 P
1 P2
3 3 3
T1 T1
2 T1
2 2
P3 P3
P4 P3
P4 P4
Avant Après
franchissement franchissement
Graphe de marquages
accessibles
P1
P2
T1 et T2 sont franchissables.
2
Hypo H1 : le moniteur choisit T1
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
T2
2
P5
Graphe de marquages
accessibles
P1
P2
T1 et T2 sont franchissables.
2
Hypo H1 : le moniteur choisit T1
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T2
2
P5
Graphe de marquages
accessibles
P1
P2
T1 et T2 sont encore franchissables.
2
On peut continuer sur cette « branche ».
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
2
P5
Graphe de marquages
accessibles
P1
P2
T1 et T2 sont encore franchissables
2
Hypo H2 : le moniteur choisit T1
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
2
P5
Graphe de marquages
accessibles
P1
P2
T1 et T2 sont encore franchissables
2
Hypo H2 : le moniteur choisit T1
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Revenons un pas en arrière.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Revenons un pas en arrière.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Hypo H3 : le moniteur choisit T2
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Hypo H3 : le moniteur choisit T2
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Hypo H3 : le moniteur choisit T2
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Revenons deux pas en arrière.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Revenons deux pas en arrière.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Revenons deux pas en arrière.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Hypo H4 : le moniteur choisit T2
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Hypo H4 : le moniteur choisit T2
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
2
Hypo H4 : le moniteur choisit T2
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0] [1, 5, 0, 3, 2]
T1 T2
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
Seule, T1 est franchissable.
2
Continuons sur cette dernière branche.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0] [1, 5, 0, 3, 2]
T1 T2
T1
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
P2
Seule, T1 est franchissables.
2
Continuons sur cette dernière branche.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0] [1, 5, 0, 3, 2]
T1 T2
T1
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
[1, 3, 1, 3, 2]
P5
P2
Seule, T1 est franchissables
2
Continuons sur cette dernière branche.
T1
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0] [1, 5, 0, 3, 2]
T1 T2
T1
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
Graphe de marquages
accessibles
P1
On a finalement un graphe. Il P2
[2, 5, 1, 4, 0]
P3
T1 T2
P4
[2, 3, 2, 4, 0] [1, 5, 0, 3, 2]
T1 T2
T1
T2
[2, 1, 3, 4, 0] [1, 3, 1, 3, 2] 2
P5
P1 T1 P2
Printemps été
T4 T2
P4 T3 P3
hiver automne
P1 T1 P2
Printemps été
21 mars
21 décembre T4 T2 21 juin
P4 T3 P3
hiver automne
21 septembre
Graphe d’événements
Un graphe d’événements est un RdP tel que chaque place a exactement une
transition d’entrée et une transition de sortie.
Structures particulières
Graphe d’états
Un graphe d’états est un RdP tel que chaque transition a exactement
une place d’entrée et une place de sortie.
Réseau de Petri borné, réseau sauf
Une place Pi est bornée pour M0 si pour tout marquage accessible à partir de
M0 le nombre de marques dans Pi est borné.
Un RdP est borné si toutes ses places sont bornées quelque soit M0 borné.
P1
P1
T1 T1
P2
P2
T2
Une transition Tj est vivante pour M0 si pour tout marquage accessible de Mi,
il existe une séquence de franchissement S à partir de Mi qui contient Tj
P1
T1
P1 P2
T1 T2
P2 P3
T2 T3
P1
P1
T1 T2 T1 T2
P2 P3 P2 P3
T3
T3 T4
P4
P4 P5
T4 T5 T6
P1
conflit effectif
T1 T2
P1 P2 P3 P1
T1 T2 T1 T2
Mémoires
libres
p1 p9 p5
Modèle RdP
t1 t5
p2 p6
Conflit structurel
t4 t8
t2
t6
p3 p7
2 2
p4 t3 t7 p8
Calculateur 1 Calculateur 2
Exemple de conflit
Mémoires
libres
p1 p9 p5
Modèle RdP
t1 t5
t2
Conflit effectif
t6
p3 p7
2 2
p4 t3 t7 p8
Calculateur 1 Calculateur 2
Exemple de conflit
Mémoires
libres
p1 p9 p5
Modèle RdP
t1 t5
p2 p6
Après le franchissement de t1
t4 t8
t2
t6 Blocage le RdP n’est pas
p3 p7 vivant
2 2
Calculateur 1 Calculateur 2
Invariants linéaires de places
et composantes conservatives
Un invariant linéaire de places {P1, ..., Pr} est une somme pondérée des
marquages de ces places telle que :
q1M(P1) + … + qr M(Pr) = constante, pour tout M ∈ *M0.
L'ensemble des places {P1, …, Pr} est une composante conservative
P1 T1 P2
Printemps été
T4 T2
P4 T3 P3
hiver automne
T1
P2 P3 P4
T2 P4 T3
On peut trouver toutes les propriétés du RdP à partir du graphe des marquages.
On peut voir qu’il est borné, qu’il n'est pas vivant et qu’il a 2 états de blocage.
exemple
P1 P = {P1, P2, P3, P4, P5}
2 T = {T1, T2, T3, T4, T5}
T1
P3
P2
V(T1, P2) = 1
T2 T3 V(P1, T1) = 2
P4 P5 .
2 V(T5, P1) = 2
T4 T5
Exemple (suite)
M0
T2
M1 T5
M2 T3
T4
T3 T1
T2
M3 M4
T4
1 1 3 1 1
0 1 0 1 0
M0 = 0 M1 = 0 M2 = 0 M3 = 1 M4 = 1
1 0 0 0 1
1 1 0 0 0
Analyse par énumération
Il consiste à construire un graphe des marquages accessibles sur lequel on
peur vérifier l’ensemble des propriétés des RdP
Exemple :
P1 T2
T1 P2
P3 T3
Analyse par énumération
0 0
0 0
M0 = T3 Blocage
1 1
0 1
T1
1 1 0
0 0 1
T3 T2 Blocage
1 0 0
0 1 1
T1
2 2 1 0
0 0 1 2
T3 T2 T2 Blocage
1 0 0 0
0 1 1 1
Propriétés des réseaux de Petri
ensemble des marquages accessibles
P1
T1
P2 P3
T2 T3
P4 P5
T4
Pré (pi,tj) =
poids de l’arc pi → tj si l’arc existe
0 sinon
Post (pi,tj) =
poids de l’arc tj → pi si l’arc existe
0 sinon
S est le vecteur caractéristique d’une séquence S tel que:
S est une séquence de franchissement réalisable à partir d'un marquage
Mi donnant Mk
S est un vecteur de dimension n égale au nombre de transitions dans le
réseau et sa composante numéro j correspond au nombre de fois où la
transition tj est franchie dans la séquence S
Algèbre linéaire
Matrices d’incidence et équation
fondamentale
Dans les matrices d’incidence, les transitions représentent
les colonnes et les places représentent les lignes
Matrice d'incidence avant
W _ = [pré(pi, tj )]
Matrice d'incidence arrière
W + = [post (pi, tj )]
Matrice d'incidence
W = W + −W −
Équation fondamentale
M k = Mi + W × S
Algèbre linéaire
P1
T1
P2 P3
T2 T3
P4 P5
T4
T1 T2 T3 T4 T1 T2 T3 T4
1 0 0 0 P1 0 0 0 1 P1
0 1 0 0 P2 1 0 0 0 P2
W- = 0 0 1 0 P3 W+ = 1 0 0 0 P3
0 0 0 1 P4 0 1 0 0 P4
0 0 0 1 P5 0 0 1 0 P5
Matrice d'incidence : W = W+ - W-
T1 T2 T3 T4
-1 0 0 +1 P1
+1 -1 0 0 P2
W= +1 0 -1 0 P3
0 +1 0 -1 P4
0 0 +1 -1 P5
Équation fondamentale
Franchissement de la transition T2
0 -1 0 0 +1 0 0 0
0
1 +1 -1 0 0 1 -1 0
1
1 + +1 0 -1 0 . = 1 + 0 = 1
0
0 0 +1 0 -1 0 +1 1
0
0 0 0 +1 -1 0 0 0
Mi W ST Mk
Mi + W . S = Mk
M k = Mi + W × S
t1
1 − 1 0 0 1 1 0
0 p2 p3
1 − 1 0 0 1 0
M 2 = 0 + 1 0 − 1 0 x = 1 t2
0 t3
0 0 1 0 − 1 1 p4
0 0 0 1 − 1 0 p5
0
t4
Composantes conservatives et
invariants de marquages
FT . Mi = FT . M0 + FT . W . S
Si FT . W = 0, on a FT . Mi = FT . M0 quelle que soit S
Composantes conservatives et
invariants de marquages (suite)
-1 0 0 +1
+1 -1 0 0
[1 1 0 1 0] +1 0 -1 0 = [0 0 0 0 0 ]
0 +1 0 -1
0 0 +1 -1
FT W
{P1, P2, P4} est une composante conservative. Avec le marquage initial
M0 = (1, 0, 0, 0, 0), on a l’invariant linéaire de places : m1 + m2 + m4 = 1.
L’invariant d’un T-semi-flot est une condition nécessaire pour qu’un RdP
soit réinitialisable.
Quelques classes de RdP
P1 P2 P1 P2 P1 P2
T1 T1 T1
P3 P3 P3
Avant Après
franchissement franchissement
Les réseaux de Petri colorés
Gb Db
Chariot Bleu
Deux
Ab Bb systèmes
Gr Dr identiques
Chariot rouge
Ar Br
b r
P1 P1
déplacement à gauche déplacement à gauche
b r
T1 T1
arrivée à gauche arrivée à gauche
b r
P2 déplacement à droite P2 déplacement à droite
b r
T2 arrivée à droite T2 arrivée à droite
On voit que le modèle des deux systèmes est compose de deux RdP identiques.
Peut-on représenter le fonctionnement des deux chariots par un seul RdP ?
P1
On fusionne les deux RdP en un seul :
T1
P2
T2
id
T2 T2 {b , r}
{b, r}
Notion de fonction
Il y a similitude dans le déplacement des chariots : alternance des mouvements vers la
gauche et vers la droite;
Peut-on représenter les deux mouvements par une même place Pr pour le chariot rouge
?
Pour distinguer l'état "déplacement à droite" de l'état "déplacement à gauche", on associe les
couleurs g et d à la place Pr.
Or définit une fonction f telle que f(g) = d et f (d) = g.
Pr Pr
g d
Franchissement id
f id f
Tr {g,d} Tr {g,d}
par rapport à g
Pr
g
Franchissement
f id
par rapport à d Tr {g,d}
Couleurs et fonctions dans le cas
général
On veut construire un RdP coloré avec une place et une transition pour le
système des deux chariots.
On définit des doublets de couleurs composes de deux couleurs simples : par
exemple le couple <g, r> dans la place P1 indique que le chariot rouge se
déplace vers la gauche.
P1
<g, r >
<g, b >
f id
T1 {<g, r >, <g, b >, <d, r>, <d, b >}
P1 P1
< >
Dépliage
f Ta1 Tb1
T1
id { , }
Pa2 Pb2
P2 < a > Pliage
id Ta2 Tb2
T2 { <a>,<b> }
Le RdP coloré est général dans sa structure et permet d’avoir une grande
concision.
Quelques classes de RdP
les RdP Colorés
f(C1)= C1 +C2
f(C2)= C2 Franchissement
de T2/C2
Franchissement Franchissement
C1 C1
de T1/C1 de T2/C1
C2
f f f
{C1,C2} {C1,C2} {C1,C2}
t1 f t1 t1
f f
id id C1 id
C2 C2
id id id
{C1,C2} {C1,C2} {C1,C2}
t2 t2 t2
Modélisation
Par coloration totale, tout RdP ordinaire R peut être transformé en un
RdP coloré avec une seule place et une seule transition.
P
Mc0
Pré
T {<T1 >, …,<Tm>}
Post
Dans ce modèle la place P résulte de la fusion des places Pi de R et la
transition T, de la fusion des transitions Tj de R.
L'ensemble des couleurs associées à la place P est l’ensemble des places Pi,
soit :
C(P) = {<P1 >, …,<Pn>}
et l’ensemble de couleurs associées à la transition T est :
C(T) = {<T1 >, …,<Tm>}
Exemple d’application : une ligne de
fabrication
T1
{C1, C2}
ML1
MO1 succ(C1) = C2
C1
succ(C2) = C1
T1. {C1, C2}
succ
ST2
Dans ce modèle, la coloration est faite par,
T2 {C1, C2} rapport aux pièces, l'ensemble de couleurs
ML2 (C1, C2) est associé à toutes les places et a
MO2 C1 toutes les transitions.
P1 d1 P1 d1 P1 d1 P1 d1
T2 T2 T2 T2
P2 P2 P2 P2
d2 d2 d2 d2
T3 T3 T3 T3
Marque indisponible
dans P1
Marque disponible dans d1
P1
Marque indisponible
dans P2 d2
Franchissement de T1
Franchissement de T2
Principe du fonctionnement d'un réseau de
Petri T-temporisé
T1 T1 T1 T1
P1 d1 P1 d1 P1 d1 P1 d1
T2 T2 T2 T2
P2 P2 P2 P2
d2 d2 d2 d2
T3 T3 T3 T3
(fin de ) Franchissement de T1
Décision de Franchir T2
Franchissement de T2
Quelques classes de RdP
les RdP Continus