Vous êtes sur la page 1sur 79

Partie B : Réseaux de Petri

PARTIE B
Réseaux de Petri
RdP

SED
Partie B : Réseaux de Petri

Les réseaux de Petri (RdP) sont développés dans les


années 60-62 par un mathématicien allemand Carl
Adam Petri.

Ils deviennent célèbres grâce aux travaux de


chercheurs américains qui les ont utilisés dans les
années 70 (projet MAC au M.I.T.)

Les RdP présentent deux caractéristiques importantes :


 Visualisation et modélisation de
comportements avec parallélisme,
synchronisation et partage de ressources.
 Description formelle, donc résultats théoriques
abondants.

SED
Partie B : Réseaux de Petri

Chapitre 1

Réseaux de Petri
autonomes

SED
Partie B : Réseaux de Petri

Principales définitions
P1 P1

T1 T1
P2 P2

T6 T6
T2 T2
P3 P4 P3 P4

T3 T4 T3 T4
P5 P6 P5 P6


T5 T5
P7 P7

1- RdP non marqué 2- RdP marqué

 Un RdP est représenté par un graphe comportant


deux types de nœuds :
place:
transition: ou ou
Places et transitions sont reliées par des arcs orientés:
place -> transition ou transition -> place
4

SED
Partie B : Réseaux de Petri

 Le nombre de places et le nombre de transitions sont


finis non nuls.
 Tout arc a obligatoirement un nœud à chacune de
ses extrémités :
ou

 Sur la figure 1 :
P = {P1, P2, P3, P4, P5, P6, P7}
T = {T1, T2, T3, T4, T5, T6}
P3 est en amont ou est une entrée de T3 (P3  °T3)
P5 est en aval ou est une sortie de T3 (P5  T3°)
T2 est en amont ou est une entrée de P3 (T2  °P3)
T3 est en aval ou est une sortie de P3 (T3  P3°)

Transition sans place d’entrée : transition source


Transition sans place de sortie : transition puits

SED
Partie B : Réseaux de Petri

 Marquage :
Le RdP de la figure 2 est marqué : chaque place
contient un nombre entier positif ou nul de marques ou
jetons.
Nombre de marques dans Pi : M(Pi) = mi
Exemple : m1=m3=1, m2=m4=m5=m7=0, m6=2

Le marquage d’un RdP est représenté par le vecteur


des marquages :
M=(m1,m2,m3,m4,m5,m6,m7)
M=(1,0,1,0,0,2,0)

Le marquage d’un RdP à un instant t, définit l’état du


RdP et décrit l’état du système modélisé par le RdP.

L’évolution de l’état du système est représentée par


l’évolution du marquage du RdP le modélisant.

SED
Partie B : Réseaux de Petri

 Franchissement de transition :
La figure 2 représente un RdP marqué : chaque place
contient un nombre entier positif ou nul de marques ou
jetons.
P1 P2 P1 P2
  
Avant franchissement

P3 P4 P3 P4

Pas de franchissement P1 P2
possible 
Après franchissement
P3 P4
 

Une transition T est validée si chacune des places en


amont de T contient au moins une marque.
Franchissement d’une transition validée :
- on retire une marque à chacune des places en
amont de T.
- on ajoute une marque à chacune des places
en aval de T.
7

SED
Partie B : Réseaux de Petri

Autres exemples de franchissement

P1 P2 P1 P2
   

P3 P4 P3 P4

P1 P2 P1 P2

P3 P4 P3 P4
   

Remarques :
- La durée de franchissement d’une transition
est considérée comme étant nulle..
- Une transition validée n’est pas nécessairement
immédiatement franchie.

SED
Partie B : Réseaux de Petri

RdP autonomes / non autonomes

Exemple : Cycle des saisons

P1 printemps T1 P2 été P1 printemps T1 P2 été

21 juin

T4 T2 T4 T2
21 mars 21 septembre

P4 T3 P3 P4 T3 P3

hiver automne hiver 21 décembre automne

Un RdP autonome décrit le Un RdP non autonome


fonctionnement d’un décrit le fonctionnement
système qui évolue de d’un système dont
façon autonome : les l’évolution est conditionnée
instants de franchissement par des événements
des transitions, ne sont pas externes ou par le temps.
connus ou pas indiqués.

Un RdP autonome marqué est appelé RdP ordinaire.

SED
Partie B : Réseaux de Petri

Structures particulières
 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.

ou

Un graphe d’événements fortement connexe est un


graphe d’événements tel que, pour toute paire de places
Pa et Pq, il y a un chemin PaTa…PiTiPi+1…Pq.

Puisqu’il y a un chemin Pa -> Pq et un chemin Pq -> Pa, il


y a un chemin Pa -> Pq -> Pa, appelé un circuit.

Un circuit élémentaire est un circuit qui ne traverse pas


deux fois la même place.

10

SED
Partie B : Réseaux de Petri

 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.

ou

 RdP sans conflit (de structure) : aucune place


n’a plus d’une transition de sortie.
P1 P2 P1
indétermination

T1 T1 T2

Conflit <P1, {T1, T2}>

11

SED
Partie B : Réseaux de Petri

 RdP à choix libre : pour tout conflit <Pi, {T1, T2, …}>,
aucune des transitions ne possède une autre place
d’entrée que Pi.

P1 P2 P1

T1 T2 T1 T2

 RdP simple : aucune transition n’est concernée par


plus d’un conflit.

P1 P2
P2 P1

T1 T2 T1 T2 T3

 RdP pur : aucune transition n’a de place d’entrée


qui soit aussi place de sortie de cette même transition.

12

SED
Partie B : Réseaux de Petri

Autres RdP (extensions ou abréviations)


 Les RdP généralisés : des poids sont associés
aux arcs.
 Une transition est validée si chacune de ses places
d’entrée contient un nombre de jetons supérieur ou
égal au poids de l’arc place -> transition.
 Le franchissement d’une transition consiste à
enlever de chacune de ses places d’entrée, un
nombre de marques égal au poids de l’arc place ->
transition, et à ajouter dans chacune de ses places de
sortie, un nombre de marques égal au poids de l’arc
transition -> place.
P1 P2 P1 P2
   
3 3 Avant franchissement

P3 P4 P3 P4
2 2

Pas de franchissement P1 P2
possible 
3 Après franchissement
P3 P4
 2

13

SED
Partie B : Réseaux de Petri

 Les RdP à capacité : des capacités (nombres


entiers >0) sont associées aux places.

 Le franchissement d’une transition d’entrée d’une


place Pi de capacité Cap(Pi), n’est possible que si le
franchissement de cette transition ne conduit pas à un
nombre de marques dans Pi qui dépasse cette
capacité.

P1 P1 P1
  
Franchissement Franchissement
de T1 de T1
T1 T1 T1

P2 P2 P2
Cap(P2)=2  Cap(P2)=2  Cap(P2)=2

T2 T2 T2

P1 P1 P1
  
Franchissement Franchissement
de T1 de T1
T1 T1 T1

P2 P’2 P2 P’2 P2 P’2


   

T2 T2 T2

14

SED
Partie B : Réseaux de Petri

 Les RdP à prédicat : des étiquettes sont


associées aux arcs et des prédicats sont associés aux
transitions.
P1 P1
Omar
Ali Franchissement Ali
de T1
x x
T1 <y est le père de x> T1 <y est le père de x>
y y

P2 P2
Karim

Karim est le père de Omar, qui est lui-même le père de Ali.

 Les RdP colorés : ils comportent des marques


auxquelles on attribue des couleurs et présentent un
grand intérêt pour représenter des systèmes complexes
(cf chap. 3).

 Autres : Les RdP FIFO, les RdP à arcs


inhibiteurs, les RdP à priorités, les RdP non
autonomes, les RdP continus.

15

SED
Partie B : Réseaux de Petri

Chapitre 2

Propriétés et
analyse

16

SED
Partie B : Réseaux de Petri

Propriétés des RdP


 Notations et définitions :
P1

T1
P2 P3 1
0
M0 =
T2 T3
0
P4 P5 0
0
T4 M0 = (1,0,0,0,0)
Forme transposée

A partir de M0, il y a 5 marquages atteignables M0, M1, M2,


M3 et M4, qui constituent l’ensemble des marquages
accessibles du RdP, noté : *M0 = {M0,M1,M2,M3,M4}
Le franchissement de T1, puis de T2, constitue une séquence
de franchissements. On la note S = T1T2.

On dit que: M1 couvre M2 (M1M2) si M1(Pi) M2(Pi),  Pi .


On dit que: M1 est supérieur à M2 (ou M1 couvre strictement
M2) si M1 couvre M2, avec au moins une place Pi telle que
M1(Pi)>M2(Pi).
! Si le marquage initial du RdP est différent de
M0=(1,0,0,0,0), l’ensemble des marquages accessibles est
bien sûr différent. 17

SED
Partie B : Réseaux de Petri

 RdP borné, 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,
pour M0 borné.
P1

T1 P1
T1 
P2
P2

T2

RdP borné RdP non borné

 Un RdP est sauf (binaire) pour M0, si pour tout


marquage accessible, chaque place contient au plus
une marque.

 Un RdP non marqué est structurellement borné si


pour tout marquage initial fini, le RdP marqué est borné.

18

SED
Partie B : Réseaux de Petri

 Vivacité :
 Une transition Tj est vivante pour M0, si pour tout
marquage accessible Mi, il existe une séquence de
franchissements S à partir de Mi, qui contient Tj.
( l’évolution, il restera toujours une possibilité de franchir T j)

 Un RdP est vivant si toutes ses transitions sont


vivantes. P1

P

1

T1

T1 P2

P2

T2

T2 P3

RdP vivant
T3

T1 non vivante
RdP non vivant
 Une transition Tj est quasi vivante pour M0, s’il existe
une séquence de franchissements qui contient Tj, à
partir de M0.
(Il existe une chance pour que Tj soit franchie)
 Un RdP est quasi vivant si toutes ses transitions sont
quasi vivantes. 19

SED
Partie B : Réseaux de Petri

 Sans blocage :
 Un blocage est un marquage tel qu’aucune transition
n’est validée.

 Un RdP est sans blocage pour un marquage initial


M0, si aucun marquage accessible à partir de M0 n’est
un blocage.
P1 P1
 

T1 T2 T1 T2
P2 P3 P2 P3

T3 T3 T4

P4 P4 P5

T4 T5 T6

RdP quasi vivant, RdP quasi vivant,


avec blocage sans blocage

20

SED
Partie B : Réseaux de Petri

 RdP réinitialisable :
 Un RdP a un état d’accueil Ma pour un marquage
initial M0, si pour tout marquage accessible Mi à partir de
M0, il existe une séquence de franchissements
ramenant à Ma.
 Un RdP est réinitialisable pour un marquage initial
M0, si M0 est un état d’accueil.
P1

T1 T2
P2 P3

T3

P4

T4

Pas d’état d’accueil pour M0 = (1,0,0,0)


Mais : 2 états d’accueil pour M’0 = (0,0,1,0)

21

SED
Partie B : Réseaux de Petri

 Conflit effectif et persistance :


 Un conflit effectif est l’existence d’un conflit structurel <Pi,
{T1,T2,…} et d’un marquage M, tel que le nombre de marques
dans Pi est inférieur au nombre de transitions de sortie de P i
qui sont validées par M.

 Un RdP est sans conflit effectif pour un marquage initial M0,


si pour tout marquage accessible à partir de M0, il n’y a pas de
conflit effectif.
 Un RdP est persistant pour un marquage initial M0, si pour
tout marquage accessible Mi à partir de M0, on a: si Tj et Tk
sont validées pour Mi, alors TjTk (ou TkTj) est une séquence de
franchissements à partir de Mi.
P1 P1 P2 P3
  
T1 T2 T1 T2

Conflit effectif Pas de conflit effectif


P1


P1 P1
T1 T2
 
P2 P3
T1 T2 T1 T2

Pas de conflit effectif Conflit effectif T3 T4


mais persistance
Conflit effectif
mais persistance 22

SED
Partie B : Réseaux de Petri

 Invariants linéaires de places et


composantes conservatives :
 Un invariant linéaire de places {P1,P2, …,Pr} est une
somme pondérée des marquages de ces places, tel que
:
q1 M(P1) + … + qr M(Pr) = constante
Pour tout marquage M accessible à partir du marquage
initial.
 L’ensemble des places {P1,P2, …,Pr} est une
composante conservative.
printemps T P2 été
P1 1

T4 T2

P4 T3 P3

hiver automne
A tout instant, on a l’invariant : m1 + m2 + m3 + m4 = 1
L’ensemble des places {P1, P2, P3, P4} est une
composante conservative.

23

SED
Partie B : Réseaux de Petri

 Séquences répétitives et composantes


répétitives :
 Une séquence répétitive est une séquence de
franchissements T1T2…Tr à partir d’un marquage M, qui
donne le même marquage M.

 L’ensemble des transitions {T1,T2, …,Tr} est une


composante répétitive.
P1

T1

P2 P3 P4

T2 T3

A partir du marquage initial, si on franchit la séquence


S = T1T2T1T3, on revient au marquage initial.

S = T1T2T1T3 est une séquence répétitive.

L’ensemble des transitions {T1,T2,T3} est une composante


répétitive.

24

SED
Partie B : Réseaux de Petri

Recherche des propriétés :

3 classes de méthodes de recherche des propriétés :

- Graphe des marquages ou arborescence de


couverture

- Algèbre linéaire

- Réductions

25

SED
Partie B : Réseaux de Petri

Graphe des marquages et


arborescence de couverture
 Graphe des marquages :

 Le graphe des marquages est composé de :

- nœuds : marquages accessibles


- arcs : franchissement des transitions
P1

T1 0
2
T1 2 T1 1
0 1 M2
P2 T2
T2 M0 M1
0
1
M3
On peut trouver toutes les propriétés du RdP à partir
de son graphe des marquages :
- Borné
- Non vivant, quasi vivant, 2 états de blocage
- Pas d’état d’accueil, donc non réinitialisable
26

SED
Partie B : Réseaux de Petri

P1

T1

P2 P3 P4

T2 T3

T3

1 0 1 0
1 T1 1 T2 0 T1 0
0 1 0 1
0 0 1 1
M0 M1 M2 M3

On peut trouver toutes les propriétés de ce RdP à partir de


son graphe des marquages :
- Borné
- Vivant
- M0 : état d’accueil, donc RdP réinitialisable
- T1T2T1T3 est une séquence répétitive
….
27

SED
Partie B : Réseaux de Petri

 Arbre et graphe de couverture :

T1
Graphe des marquages
T1
P2
0
T1
1
T1
2 3 …
T2 T2 T2
T2

Le nombre d’états peut être infini (RdP non borné) et


le graphe des marquages ne peut être représenté.
Construction de l’arbre de couverture, avec un
nombre fini de nœuds.
Introduction d’un “marquage“ symbolique  signifiant
que le nombre de marques dans une place donnée,
peut atteindre un nombre entier aussi grand que l’on
veut.
T1 
0 T1 
T2
M0

Arbre de couverture
28

SED
Partie B : Réseaux de Petri

Le graphe de couverture s’obtient en fusionnant les


nœuds de l’arbre de couverture qui correspondent
au même “marquage“. T1

0 T1 
T2
M0

Graphe de couverture
T2
0
1 0 0
P1
 0 T1
1 0
M2 T2 0
T3 T1 0 1 T3
0
P2 P3 M0 M1 1 0
0
T1
1 +
M2
+ + T3
T2 M0 M1 1
Arbre de couverture 0
0 +
T2 M0
1 0 0
T1 0
0 1 0
M2 T2
0 1 T3
0
M0 M1 1 0
0
T1
1 +
M2
 + T3 +
M0 M1
Graphe de couverture
29

SED
Partie B : Réseaux de Petri

Algèbre linéaire
 Notations et définitions :

 Un RdP ordinaire non marqué est un quadruplet


Q = <P,T,Pré,Post> tel que :

- P = {P1,P2,…,Pn} : ensemble fini non vide de


places.
- T = {T1,T2,…,Tm} : ensemble fini non vide de
transitions.
-PT=
- Pré : P x T -> {0,1} application d’incidence
avant (poids des arcs place->transition).
- Post : P x T -> {0,1} application d’incidence
arrière (poids des arcs transition->place).
P1

T1
P2 P3

T2
Pré(P3,T3) = 1 ; Post(P3,T3) = 0
T3
P4 P5 Pré(P1,T4) = 0 ; Post(P1,T4) = 1

T4
30

SED
Partie B : Réseaux de Petri

 Un RdP marqué est un doublet R = <Q,M0> dans


lequel Q est un RdP non marqué et M0 un marquage
initial.
 Les matrices d’incidence :
- Matrice d’incidence avant :
W- = [wij-], où wij- = Pré(Pi,Tj)
- Matrice d’incidence arrière :
W + = [wij+], où wij+ = Post(Pi,Tj)
- Matrice d’incidence :
W = W + - W-
T1 T2 T3 T4 T1 T2 T3 T4

P1 P1 1000 P1 0001
P2 0100 P2 1000
T1
P3
W- = P3 0010 W + =P3 1000
P2 P4 0001 P4 0100
P5 0001 P5 0010
T2 T3
T1 T2 T3 T4
P4 P5
P1 -1 0 0 +1
P2 +1 -1 0 0
T4 W= P3 +1 0 -1 0
P4 0 +1 0 -1
P5 0 0 +1 -1
Signification?

Remarque : RdP -> W, mais W -> RdP?


31

SED
Partie B : Réseaux de Petri

 Equation fondamentale :
P1

T1
P2 P3
P1
T1  

T2 T3
T1 P4 P5
P2 P3

T4
T2 T3
Mk
P4 P5 T3 T1 T2 T3 T3 T3 T2
P1

T4
T1
Mi P2 P3

T2 T3
P4 P5
 
T4

Mf

Mk = Mi + W . S
32

SED
Partie B : Réseaux de Petri

S : vecteur de dimension m dont la composante j


correspond au nombre de franchissements de Tj dans
la séquence S.
1
* Pour S = T1 à partir de Mi, S = 0
0
0
1
-1 0 0 +1
+1 -1 0 0 1
0
On a : Mi + W . S = 1 + +1 0 -1 0 . 0
0 0 +1 0 -1 0
0 0 0 +1 -1 0

1 -1 0
0 +1 +1
= 1
+ +1
= +2
= Mk
0 0 0
0 0 0 0
* De même, pour S’ = T3 T3 T2 à partir de Mk, S’ = 1
0 2
-1 0 0 +1
+1 0 0
+1 -1 0 0
On a : Mk + W. S’ = +2 + +1 0 -1 0 . 1
0 2
0 +1 0 -1
0 0
0 0 +1 -1
0 0 0
+1 -1 0
= +2 + -2 = 0 = Mf
0 +1 +1
0 +2 +2 33

SED
Partie B : Réseaux de Petri

De même, on vérifie que Mi + W . (S+S’) = Mf

! A un vecteur F de dimension m, il peut


correspondre zéro, une ou plusieurs séquences de
franchissements.
 Composantes conservatives et invariants de
marquage :
q1
 Soit F = q2 avec qi  ℕ tel que :
… (qi est le poids associé à la place Pi)
qn
FT . W = 0 Avec 0 = [0 0 … 0]

Alors F est appelé : P-semi-flot m


Soient:
- M0 : marquage initial d’un RdP
- W : matrice d’incidence
- S : vecteur caractéristique d’une séquence de
franchissements.
- Soit F vérifiant (*). Donc F : P-semi-flot
On a : M = M0 + W.S M
FT.M = FT.M0 + FT.W.S M
=0
FT.M = FT.M0 M
C’est un invariant linéaire de places 34

SED
Partie B : Réseaux de Petri
1
1
Soit F1 =
0
1
0 -1 0 0 +1
+1 -1 0 0
On a : 1 1 0 1 0 . +1 0 -1 0 = 0 0 0 0
0 +1 0 -1
0 0 +1 -1
F1T . W = 0

L’ensemble des places auxquelles sont associées


des pondérations non nulles, est appelé
composante conservative.
Ex : {P1,P2,P4} est une composante conservative.
1
0
On a : F1T.M = F1T.M0,  M et avec M0 =
1
m1 1 0
m2 0 0
11010 m3 = 1 1 0 1 0 1
m4 0
m5 0
Un invariant linéaire de places est donc :
m 1 + m2 + m4 = 1

Procéder de même avec F2, tel que F2T= 10101


35

SED
Partie B : Réseaux de Petri

 Composantes répétitives et invariants de


franchissements :
q1
 Soit Y = q2 avec qj  ℕ tel que :
… (qj est le poids associé à la transition Tj)
qm
W.Y=0 Avec 0 = 0
… n
Alors Y est appelé : T-semi-flot 0

S’il existe S tel que S est un T-semi-flot, alors :

M = M0 + W.S = M0

Alors S est une séquence répétitive, ou un


invariant de franchissements.
L’ensemble des transitions auxquelles sont
associées des pondération non nulles, est appelé
composante répétitive.
1
Soit Y = 1 , un T-semi-flot (on vérifie que W.Y = 0)
1
1
Et M0 = (1,0,1,0,0)

Alors S = T1 T3 T2 T4 est une séquence répétitive


et {T1, T2, T3, T4} est une composante répétitive 36

SED
Partie B : Réseaux de Petri

Propriété : Toute combinaison linéaire de P-semi-flots


(T-semi-flots) est encore un P-semi-flot (T-semi-flot).

Propriété : Soit R un graphe d’événements fortement


connexe, dont l’ensemble des transitions est
T = {T1,T2,…,Tm} et dont l’ensemble des circuits est
C = {C1, C2,…, Ck,…}.

- A chaque Ck correspond un P-semi-flot tel que


si P(Ck) = {P1,P2,…,Pr} est l’ensemble des
places dans le circuit Ck, on a l’invariant de
marquage :

M(P1)+M(P2)+…+M(Pr) =
M0(P1)+M0(P2)+…+M0(Pr) = M0(Ck)

- Le seul T-semi-flot est le vecteur à m


composantes (1,1,…,1). Donc si plusieurs
séquences répétitives existent, chacune d’elles
contient chaque transition le même nombre de
fois.

Les invariants linéaires de places et les invariants de


franchissements d’un RdP, permettent d’établir des
propriétés de ce RdP : borné, conservatif,
réinitialisable…

37

SED
Partie B : Réseaux de Petri

Un RdP permet de visualiser

 Parallélisme :

T1
P1 P2

P3 P4

T2

 Synchronisation :

P1 P2
 T1
P1 P2
T1
P4 
P3

T2

Rendez-vous Sémaphore
38

SED
Partie B : Réseaux de Petri

 Partage de ressources :

T1 T2

P1

T3 T4

 Mémorisation :

T1

P1

P2 P1
 P2


T1
T2

d’un franchissement d’un nombre


39

SED
Partie B : Réseaux de Petri

 Lecture :
P2

P1
 T1

 Capacité limitée :

T1

P’1 P1

T2

40

SED
Partie B : Réseaux de Petri

Chapitre 3

Les RdP colorés

41

SED
Partie B : Réseaux de Petri

Présentation intuitive
Jeton Couleur
Place Ensemble de couleurs
Transition Ensemble de couleurs
Arc Fonction

 Exemples :

+ + +&

(+) (+)

&

(+) (+)

+ +
42

SED
Partie B : Réseaux de Petri

+ + +&
F ID
F
(&) (&)
ID ID

+
F ID
F
(&)
(&)
ID ID

& &
Avec F(&) = +

43

SED
Partie B : Réseaux de Petri

Gb Db
Chariot bleu
Ab Bb
Gr Dr
Chariot rouge
Ar Br

P1b P1r
 Déplacement à  Déplacement à
gauche gauche

T1b Arrivée à T1r Arrivée à


gauche gauche

P2b P2r
Déplacement à Déplacement à
droite droite

T2b Arrivée à droite T2r Arrivée à droite

Chariot bleu Chariot rouge

44

SED
Partie B : Réseaux de Petri

 Notion de couleur :

P1 P1 P1
 br br

Id
T1 T1 {b,r} T1 {b,r}
Id Id
P2 P2 P2

Id
T2 T2 T2
{b,r} {b,r}

 Notion de fonction :
On peut aussi colorer le sens de déplacement de
chacun des chariots :
r Pr Pr
f(d) = g P /g /d
f(g) = d g d g
f Id f Id f Id
Tr {g,d} Tr {g,d} Tr {g,d}

Chariot rouge Chariot rouge Chariot rouge


45

SED
Partie B : Réseaux de Petri

On peut colorer le sens de déplacement et les chariots


(coloration totale) :

f(<g,r>) = <d,r> P1
<g,b>
f(<d,r>) = <g,r>
<g,r>
f(<g,b>) = <d,b>
f(<d,b>) = <g,b> f Id
T1 {<g,r>, <g,b>, <d,r>, <d,b>}

On définit des couleurs complexes composées de


2 couleurs simples. Par exemple, <g,r> signifie : le
chariot rouge se déplace à gauche.
L’ensemble des couleurs {<g,r>,<g,b>,<d,r>,<d,b>}
représente les différents états du système.

Dans le cas général, une couleur est représentée


par un n-uplet Ck = <ck1,ck2, …, ckn>.
Par exemple, dans un système de production,
<o,p,m> peut représenter :
-la nature d’un objet
-sa position dans une file d’attente
-la machine sur laquelle il doit passer

46

SED
Partie B : Réseaux de Petri

Le passage d’un RdP ordinaire à un RdP coloré


correspond à une opération de pliage. L’opération
inverse est un dépliage.
P1
P1 dépliage
<> 

f T 1a
T1 {<a>,<b>} T1b

f Id P 2a P2b
P2 
<a>

Id T 2a T2b
T2
{<a>,<b>}
pliage
f(<a>) = <>
f(<b>) = <>

<> représente une couleur neutre.


Chacun de ces RdP représente le partage de 2
ressources identiques entre 2 consommateurs a et b.

47

SED
Partie B : Réseaux de Petri

Définition des RdP colorés

Un RdP coloré est un sextuplet :


R = <P, T, Pré, Post, M0, C>
- P : ensemble des places
- T : ensemble des transitions
- Pré, Post : fonctions relatives aux couleurs
- C = {C1, C2, …} : ensemble des couleurs

 Le graphe :
2 types de nœuds :
Places : contiennent des marques colorées.
Transitions : ensemble de couleurs associé à chacune.

Ces nœuds sont reliés par des arcs pondérés par une
fonction Pré ou Post..

48

SED
Partie B : Réseaux de Petri

P1
<b> f(<b>) = <v>
<b> <v> f(<v>) = <b>+<v>
<v> <o> f(<o>) = <b>+2<o>
<b>
T1 f
{<b>,<v>,<o>}
g
P2
g(<b>) = <b>
g(<v>) = <b>+<o>
g(<o>) = 2<o>

 Evolution du marquage :
Pré (P1, T1/<v>) = f(<v>) = <b> + <v>
Post (P2, T1/<v>) = g(<v>) = <b> + <o>
Le franchissement de T1 par rapport à <v> retire 2 marques
<b> et <v> de P1, et ajoute 2 marques <b> et <o> dans P2.

P1
f(<b>) = <v>
<b> f(<v>) = <b>+<v>
<v> <o> f(<o>) = <b>+2<o>
<b>
T1 f
{<b>,<v>,<o>}
g
P2
g(<b>) = <b>
<b> <o> g(<v>) = <b>+<o>
g(<o>) = 2<o>
49

SED
Partie B : Réseaux de Petri

Dans le cas général, soient :


- C(Tj) : ensemble des couleurs associées à la
transition Tj.
- Ck  C(Tj)
- M : marquage courant du RdP
Tj est validée par rapport à Ck pour le marquage M si et
seulement si :
M(Pi)  Pré(Pi, Tj/Ck)  Pi  °Tj

Pour l’exemple précédent :


T1 est validée par rapport à <v> car :
P1 étant la seule place d’entrée de T1,
on a M(P1)  Pré (P1, T1/<v>)
En effet :
M(P1) = 3<b>+2<v>+<o>
Pré (P1, T1/<v>) = <b> + <v>

Par rapport aux autres couleurs, T1 est-elle validée?

50

SED
Partie B : Réseaux de Petri

Dans le cas général, soit :


- M’ : le marquage atteint après franchissement
de Tj par rapport à Ck.
Alors M’(Pi) = M(Pi) + Post(Pi, Tj/Ck) - Pré(Pi, Tj/Ck) Pi

Généralisation à une séquence de franchissements


-> Equation fondamentale

f(C1) = C1+C2
T2/C2
f(C2) = C2
P1 T1/C1 P1 T2/C1 P1
C1 C1
C2

f f f
T1 {C1,C2} T1 {C1,C2} T1 {C1,C2}
Id f Id f Id f
P2 P2 C P2 C
1 2
C2
Id Id Id
T2 T2 T2
{C1,C2} {C1,C2} {C1,C2}

k
Mk+1(Pi) = M1(Pi) +  Post(Pi, Tj/Chj) - Pré(Pi, Tj/Chj) Pi
j=1
51

SED
Partie B : Réseaux de Petri

 Modélisation :

Plusieurs niveaux de coloration :


RdP ordinaire RdP avec coloration totale

- concis + concis
+ lisible - lisible

Compromis
Il faut conserver à chaque couleur une signification
qui facilite la compréhension du système décrit.

Coloration totale d’un RdP ordinaire :


P
M0c
Post Pré
T {<T1>, <T2>, …, <Tm>}

Ensemble des couleurs associées à la place P :


C(P) = {<P1>, <P2>, …, <Pn>}
Ensemble des couleurs associées à la transition T :
C(T) = {<T1>, <T2>, …, <Tm>} 52

SED
Partie B : Réseaux de Petri

 Pré(P, T/<Tj>) = Pré(P1,Tj)<P1>+ … + Pré(Pn,Tj)<Pn>


 Post(P, T/<Tj>) = Post(P1,Tj)<P1>+ … + Post(Pn,Tj)<Pn>

 M0C = M0(P1) <P1> + … + M0(Pn) <Pn>

Exemple :

T1 T3

P1 P2  P3

T2 T4

Pré(P, T/<T1>) = <P2>


P Pré(P, T/<T2>) = <P1>
<P2> Pré(P, T/<T3>) = <P2>
Pré(P, T/<T4>) = <P3>
Post Pré
T {<T1>,<T2>,<T3>,<T4>} Post(P, T/<T1>) = <P1>
Post(P, T/<T2>) = <P2>
Post(P, T/<T3>) = <P3>
Post(P, T/<T4>) = <P2>
53

SED
Partie B : Réseaux de Petri

Exemples
 Ligne de fabrication :
Stock 1 Machine 1 Stock 2 Machine 2

La ligne de fabrication représentée produit deux types de pièces p1


et p2 à l’aide de deux machines munies chacune d’un stock
d’entrée. Toutes les pièces passent dans le même ordre sur les
deux machines. Elles sont portées par des palettes (ni pour les
pièces de type pi) recyclées à la fin de production de chaque pièce.
L’ordonnancement du système consiste à envoyer alternativement
les deux types de pièces : p1,p2,p1,p2,…
Les couleurs C1 et C2 sont associées aux pièces de type 1 (pièce
p1) et de type 2 (pièce p2), respectivement. Dans ce modèle, la
coloration est faite par rapport aux pièces, l’ensemble des couleurs
{C1,C2} est associé à toutes les places et à toutes les transitions.

STi : pièces dans le stock d’entrée de la machine i


MLi : machine i libre
MOi : machine i occupée
Ti : chargement de la machine i
T’i : déchargement de la machine i
Les places ST1, MO1, ST2, MO2 représentent l’état physique de la
ligne alors que les places ML1 et ML2 expriment qu’une machine est
une ressource unique partagée entre plusieurs palettes.
54

SED
Partie B : Réseaux de Petri
n1C1
n2C2 ST1

T1 {C1,C2}
Succ(C1) = C2

MO1 C1 ML1 Succ(C2) = C1

T’1 {C1,C2}
succ

ST2

T2 {C1,C2}

MO2 C1 ML2

T’2 {C1,C2}
succ
C x M = {<ci,mj>} i=1,2; j=1,2
n1<c1,m1> ST Succ1(<c1,mj>) = <c2,mj>
n2<c2,m1> Succ1(<c2,mj>) = <c1,mj>
Succ2(<ci,m1>) = <ci,m2>
T1 CxM Succ2(<ci,m2>) = <ci,m1>
succ2
MO <c1,m1> ML
<c1,m2>

T’1 CxM
succ1
55

SED
Partie B : Réseaux de Petri

 Système de transport à structure PAPS :

1 2 3 4 5 6 7 n=8
Entrée Sortie
o2 o1 o4 o1

Le convoyeur linéaire représenté peut transporter simultanément q


types d’objets appelés o1,o2,…,oq, le nombre maximum d’objets
simultanément transportés étant n (ce qui correspond à n
emplacements). Sur la figure, n=8. Il y a un objet o2 sur
l’emplacement 2, un objet o1 sur l’emplacement 4, un objet o4 sur
l’emplacement 6 et un objet o1 sur l’emplacement 7.
Dans ce modèle, la coloration est faite par rapport aux objets et par
rapport aux emplacements du convoyeur.

Ensembles de couleurs simples :


O = {<oj>, 1  j  q}
R = {<ri>, 1  i  n}

Ensembles de couleurs complexes :


A = O x {<r1>, …, <rn-1>}
O x {<r1>}, O x {<rn>}

56

SED
Partie B : Réseaux de Petri

Emplacements vides
Pv
<r1>
<r3>
<r5>
<r8>
Proj1°Succ2

Proj1 Proj1

T3 Proj1

T1 T2
O x {<r1>} O x {<r8>}

A
Succ2

Id
Id

Id

<o2,r2>
<o1,r4>
<o4,r6>
Pp <o1,r7>
Emplacements pleins

Fonctions:
Proj1 : projection / 1ère composante
Succ1 : successeur 1ère composante
Succ2 : successeur 2ème composante
57

SED
Partie B : Réseaux de Petri

 Ligne d’assemblage :

Machine2
Entrée Sortie
1 2 3 4 5 6 7 8 9 10 11 12
Machine1 Machine3

On considère un système de production composé de 3 machines


desservies par un convoyeur linéaire. 3 types de pièces différentes
sont produits, chacun sur une machine distincte. On suppose
qu’une pièce de type j (j = 1,2,3) est produite sur la machine j.
Pièces et machines ont donc la même identificateur. Les pièces
arrivent dans un ordre quelconque, à des instants quelconques. La
dimension d’une section du convoyeur est égale à celle d’une
palette.
Ce système est un système de transport à structure PAPS avec des
contraintes supplémentaires relatives au passage sur les machines.

Le modèle RdP est constitué de 2 sous-modèles :


- sous-modèle du convoyeur
- sous-modèle décrivant l’occupation des machines.

Ensembles de couleurs :
O = {<o1>, <o2>, <o3>} : pièces et machines.
R = {<r1>, <r2>,…, <r12>} : emplacements sur le convoyeur.
(<oj>, <ri>): pièce de type j dans l’emplacement i.
B = {(<o1>, <r3>), (<o2>, <r7>), (<o3>, <r10>)}
A = O x {<r1>, <r2>,…, <r11>} - B 58

SED
Partie B : Réseaux de Petri

Emplacements vides P1
12
<ri> Proj1
i=1

Proj1 Proj1°Succ2 Proj1

Proj1

convoyeur
T3
T1 T2
O x {<r1>} O x {<r12>}
A Succ2
Id

Id Id

Emplacements pleins Succ2


P2

T4 B Proj2

P3 Machines P4
Proj1°Succ2
libres
Machines <o1> machines
occupées <o3>
<o2>

T5 Proj2

B
59

SED
Partie B : Réseaux de Petri

Propriétés d’un RdP coloré


Les propriétés des RdP colorés sont les mêmes que
celles des RdP non colorés, mais elles se présentent
parfois de manière différente.

 Marquage :

Pour l’exemple précédent :

<r1>+…+<r12>
M= 0
0
<o1>+<o2>+<o3>

 Matrice d’incidence :
T1 T2 T3 T4 T5
Proj1 Proj1
P1 -Proj1 Proj1 0
-Proj1oSucc2 -Proj1oSucc2

P2 Id -Id Succ2-Id -Id Succ2


W=
P3 0 0 0 Id -Id

P4 0 0 0 -Proj2 Proj2

60

SED
Partie B : Réseaux de Petri

 Equation fondamentale :

M = M0 + W S

 Invariants linéaires de places :


Si F est solution de W FT = 0
Alors F vérifie :
FT M = F T M 0
T1 T2 T3 T4 T5
Proj1 Proj1
P1 -Proj1 Proj1 0
-Proj1oSucc2 -Proj1oSucc2

P2 Id -Id Succ2-Id -Id Succ2


Pour W =
P3 0 0 0 Id -Id

P4 0 0 0 -Proj2 Proj2

Id 0
2 P-semi-flots : Proj1 0
Proj1 Id
0 Id
61

SED
Partie B : Réseaux de Petri

D’où les invariants linéaires de places :

M(P1) + Proj1(M(P2) + M(P3)) = <r1>+ … + <r12>

M(P3) + M(P4) = <o1> + <o2> + <o3>

62

SED
Partie B : Réseaux de Petri

Chapitre 4

Les RdP temporisés

63

SED
Partie B : Réseaux de Petri

Présentation

Un RdP temporisé permet de décrire un système


dont le fonctionnement dépend du temps.

Les RdP temporisés sont utiles pour l’évaluation des


performances d’un système.

La temporisation peut être modélisée de 2 façons:


- Temporisation associée aux places
(RdP P- temporisé)
- Temporisation associée aux transitions
(RdP T-temporisé)

64

SED
Partie B : Réseaux de Petri

RdP P-temporisés
 Définition :

Un RdP P-temporisé est un doublet <R, Tempo> tel que :


- R est un RdP marqué
- Tempo est une application de l’ensemble P des
places dans ℚ+ (rationnels positifs ou nuls)
Tempo(Pi) = di = temporisation associée à Pi

 Principe du fonctionnement :
T1 T1 T1 T1

P1 d1 P1  d1 P1  d1 P1 d1

T2 T2 T2 T2

P2 d2 P2 d2 P2 d2 P2  d2
T3 T3 T3 T3

Marque indisponible
dans P1
d1
Marque disponible
dans P1
Marque indisponible
dans P2 d2
Franchissement
de T1
Franchissement
de T2 65

SED
Partie B : Réseaux de Petri

Fonctionnement d’un RdP P-temporisé :


- A l’instant initial, M0 est constitué de marques
disponibles.
- A t quelconque : M = Md + Mi
Md : marques disponibles, Mi : marques indisponibles
Une transition est validée pour M si elle est validée pour Md
Le franchissement (de durée nulle) se fait comme dans un
RdP non temporisé. Si une marque est déposée dans Pi à
l’instant t, alors elle est indisponible dans ]t, t+di[.
P1 M 0 P1 P1 P1 P1
 d1=2 d1=2 d1=2  d1=2  d1=
2
T1 T1 T1 T1 T1

P2 P2 P2 P2 P2
d2=3  d2=3  d2=3 d2=3 d2=
3
T2 T2 T2 T2 T2
vitesse max cas général

0tx x+3  t  x+3+y x+3+y+2  t  …

x < t < x+3 x+3+y < t < x+3+y+2

t=0 t=3 t=5


0<t<3 3<t<5

66

SED
Partie B : Réseaux de Petri

Fonctionnement à vitesse maximale : Dès qu’une


transition est validée, elle est franchie.
Graphe des marquages à vitesse maximale :
T2/3
1 T1/0 0 1
0 1 T1/2 0
M0 M1 M2
On peut indiquer sur le graphe des marquages à vitesse
maximale, les durées d’indisponibilité résiduelles des marques.
T2/3
1(0) T1/0 0 1(2)
0 1(3) T /2 0
1
M0 M1 M2

Autres marquages initiaux : 1 , 2


1 0

1(0) {T1T2}/0 1(2) T1/2 0 T2/1 1(2)


1(0) 1(3) 2(1,3) 1(2)
M’0 M’1 M’2 M’3

{T1T1}/0 {T1T2}/2
{T2T2}/3
2(0,0) 0 2(2,2)
0 2(3,3) 0
{T1T1}/2
M’’0 M’’1 M’’2 67

SED
Partie B : Réseaux de Petri

Remarque : Sur ces exemples, on remarque qu’au bout


d’un certain temps ( 0), un régime stationnaire
(fonctionnement périodique) s’installe.
Propriété : Soit RT un RdP P-temporisé dont les
temporisations sont des nombres rationnels. Le
fonctionnement à vitesse maximale conduit à un
fonctionnement périodique au bout d’un temps fini, pour
tout marquage initial tel que RT soit borné.
Fonctionnement en vitesse propre : Un RdP P-temporisé
fonctionne en vitesse propre si toute marque ne reste dans
une place que pendant sa durée d’indisponibilité
(fonctionnement en vitesse maximale tel qu’aucune marque
ne reste disponible).
Définition : La fréquence de franchissement fj d’une
transition Tj, est le nombre moyen de franchissements de
Tj par unité de temps, lorsque le régime stationnaire est
établi.
P1
Le fonctionnement à vitesse maximale est
 d1=2
un fonctionnement en vitesse propre.

T1 Nombre moyen de marques dans P1 : f2 . d1

P2 Nombre moyen de marques dans P2 : f1 . d2


d2=3

T2
68

SED
Partie B : Réseaux de Petri

Invariant de marquage : m1 + m2 = 1
Si on remplace par les valeurs moyennes en régime
stationnaire :

d1 . f2 + d2 . f1 = 1 (*)

2 f2 + 3 f 1 = 1 (1)

(*) : Les fréquences réelles peuvent être inférieures ou égales


à ces fréquences, si le RdP ne fonctionne pas en vitesse
propre. Le signe “=“ doit alors être remplacé par “ “.

Or : f1 = f2 (2)
(voir graphe des marquages à vitesse maximale)

(1) et (2)  f1 = f2 = 0,2


P1
d1=2


P3
T1  d3=1

P2
d2=3
Ne fonctionne pas en vitesse propre

T2

69

SED
Partie B : Réseaux de Petri

Plus généralement, on a les relations suivantes :


1) XT . D . W+ . F  XT . M0
X : P-semi-flot
D : Matrice diagonale des durées
W + : Matrice d’incidence arrière
F : Vecteur des fréquences
M0 : Marquage initial
2) F =  Fk . Yk
Yk : T-semi-flot
k
Fk : Fréquence de franchissement associée à Yk (paramètre
scalaire)
Propriété : Soit RT un graphe d’événements fortement
connexe, dont l’ensemble des transitions est
T = {T1,T2,…,Tm} et dont l’ensemble des circuits est
C = {C1, C2,…, Ck,…}. Soit Ck = P1T1P2T2…PrTr un circuit
élémentaire, d(Ck) = d1 + d2 + …+ dr, et
M(Ck) = M0(P1)+M0(P2)+…+M0(Pr).

- La fréquence de franchissement correspondant au


fonctionnement en vitesse propre du circuit élémentaire
Ck est :
M(Ck)
f(Ck) =
d(Ck)
- Toutes les transitions ont la même fréquence de
franchissement :
f1 = f2 = … = fm = f(RT)

- f(RT) = min (f(C1), f(C2), …, f(Ck),…)

70

SED
Partie B : Réseaux de Petri

Application :

P1
d1=2


P3
T1  d3=1

P2
d2=3

T2

Ce RdP est représenté par un graphe d’événements


fortement connexe, possédant 2 circuits élémentaires :
C1 = P1T1P2T2 et C2 = P2T2P3T1

f(C1) = 2/5 = 0,4 et f(C2) = ¼ = 0,25

D’où f1 = f2 = min(f(C1), f(C2)) = 0,25

71

SED
Partie B : Réseaux de Petri

Exemple

On considère un ensemble de m machines identiques en parallèle


produisant 2 types de pièces. Le temps de production de la pièce 1
est de 1,2 unités de temps et celui de la pièce 2 est de 1,9 unités de
temps.

On désire une production moyenne de 2 pièces par unités de temps


pour la pièce 1 et 1 pièce par unité de temps pour la pièce 2.

Quel est le nombre minimal de machines qu’il faut pour assurer


cette production?

Pièces 1 et 2 brutes Pièces 1 et 2 finies




72

SED
Partie B : Réseaux de Petri

P1

T1 T3
P2 P3

T2 T4

Il y a 1 P-semi-flot et 2 T-semi-flots :
1 0
1
1 0
X= 1 Y1 = Y2 =
0 1
1
0 1
Soient f1, f2, f3 et f4 les fréquences respectives de
franchissement de T1, T2, T3 et T4. f1
On a donc f1 = f2 et f3 = f4 F= f1
f3
XT . D . W + . F = 1,2 . f1 + 1,9 . f3 f3
et XT . M0 = m
Sachant que f1 = 2 et f3 = 1 :
m  4,3
5 machines sont nécessaires pour assurer cette production.
73

SED
Partie B : Réseaux de Petri

RdP T-temporisés
 Définition :

Un RdP T-temporisé est un doublet <R, Tempo> tel que :


- R est un RdP marqué
-Tempo est une application de l’ensemble T des
transitions dans ℚ+ (rationnels positifs ou
nuls)
Tempo(Tj) = dj = temporisation associée à Tj
 Principe du fonctionnement :
T1 d1 T1 d1 T1 d1 T1 d1

P1 P1  P1 o P1

T2 d2 T2 d2 T2 d2 T2 d2

P2 P2 P2 P2 
T3 d3 T3 d3 T3 d3 T3 d3
Marque non réservée
dans P1
Marque réservée dans
P1 d2
Marque non réservée
dans P2
Fin de franchissement
de T1
Décision de franchir
de T2 74
Fin de franchissement
de T2
Partie B : Réseaux de Petri

Fonctionnement d’un RdP T-temporisé :


- A l’instant initial, M0 est constitué de marques
non réservées.
- A t quelconque : M = Mr + Mn
Mr : marques réservées, Mn : marques non réservées
Une transition est validée pour M si elle est validée pour Mn
Si une transition Tj est validée pour M, et si on décide de
réserver les marques nécessaires à son franchissement à
l’instant t, les marques restent réservées dans ]t, t+dj[, et le
franchissement est effectué à t+dj.

P1 M 0 P1 P1 P1 P1
 o 

T1 d1=2 T1 d1=2 T1 d1=2 T1 d1=2 T1 d1=2

P2 P2 P2 P2 P2
 o o oo o
T2 T2 T2 T2 d2=3 T2
d2=3 d2=3 d2=3 d2=3
vitesse max

t=0 t=2 t=3


0<t<2 2<t<3

75

SED
Partie B : Réseaux de Petri

Fonctionnement à vitesse maximale : Dès qu’une


transition est validée, les marques nécessaires à son
franchissement sont réservées.

Graphe des marquages à vitesse maximale :


1 T1/2 0 T2/1 1
1 2 1
M0 M1 M2

{T1T2}/2

{T1T1}/2
2 0
0 2
M’0 {T2T2}/3 M’1

Fréquences de franchissement en régime stationnaire:


Comme pour les RdP P-temporisés, on a une inéquation
par invariant de marquage. Le nb moyen de marques dans
une place Pi est au moins égal au produit de la fréquence
de sa transition de sortie Tj par la durée dj (ou à la somme
des produits Fj dj dans le cas de plusieurs transitions de
sortie)
76

SED
Partie B : Réseaux de Petri

Propriété : Soit RT un graphe d’événements fortement


connexe, dont l’ensemble des transitions est
T = {T1,T2,…,Tm} et dont l’ensemble des circuits est
C = {C1, C2,…, Ck,…}. Soit Ck = P1T1P2T2…PrTr un circuit
élémentaire, d(Ck) = d1 + d2 + …+ dr et
M(Ck) = M0(P1)+M0(P2)+…+M0(Pr).

- La fréquence de franchissement correspondant au


fonctionnement du circuit élémentaire Ck est :
f(Ck) = M(Ck)
d(Ck)
- Toutes les transitions ont la même fréquence de
franchissement :
f1 = f2 = … = fm

- f1max = f2max = … = fmmax = f(RT)


= min (f(C1), f(C2), …, f(Ck),…)

77

SED
Partie B : Réseaux de Petri

On peut montrer que les RdP P-temporisés et T-


temporisés sont équivalents. On peut passer d’un
modèle à l’autre.

 

T1 d1=x T’1

P1 d1=x

T’’1

RdP T-temporisé  RdP P-temporisé

78

SED
Partie B : Réseaux de Petri

P’1

P1
d1=x T1 d1=x

P’2

RdP P-temporisé  RdP T-temporisé

79

SED

Vous aimerez peut-être aussi