Sunteți pe pagina 1din 30

Curs 6

Retele Petri Colorate
O retea Petri colorata RC este un sextuplet
RC = < P, T, IN, OUT, M0, C >
in care:
y P = multimea pozitiilor
y T = multimea tranzitiilor
y IN si OUT sunt respectiv functiile asociate culorilor de 
executie a tranzitiilor
y C = { C1, C2, ...} reprezinta multimea culorilor
y M0 = marcajul initial al retelei
Retele Petri Colorate
y Obs. O retea Petri colorata se deosebeste de o retea Petri 
generalizata prin multimea culorilor care se asociaza
retelei.
y 2. O culoare Ck = <ck1, ck2, ..., ckn>, este un n‐tuplu care 
poate transmite, de obicei in combinatia pozitie‐culoare, 
informatii mai complexe decat marcajele retelelor Petri 
generalizate. 
y O culoare poate fi interpretata ca un identificator pentru
marcaje (jetoane), permitând diferentierea acestora prin
intermediul unor informatii complementare. 
y Notatie:  o culoare poate fi reprezentata fie prin intregul n‐
tuplu, fie doar prin identificatorul acestuia ‐ Ck.
y Daca n = 1, atunci culoarea se numeste simpla. 
Retele Petri Colorate
y Exemplu: 
pentru o retea Petri care modeleaza un sistem de 
fabricatie flexibila, o culoare 
C1=<r, p, m> 
poate sa contina informatii despre:
y tipul unui reper de prelucrat, 
y pozitia sa intr‐o coada de asteptare  
y masina pe care urmeaza sa fie prelucrat.
Retele Petri Colorate
y Obs. Utilizarea culorilor permite simplificarea structurilor grafice ale 
retelelor Petri, pastrând constant (sau chiar imbogatind) continutul
informational al acestora.

y Obs. In anumite cazuri, pentru anumite pozitii ale retelei nu mai este


necesara (sau posibila) diferentierea marcajelor (jetoanelor), situatie in 
care se foloseste culoarea neutra, notata <•>.

y Obs.. Exista mai multe nivele de “colorare” ale retelelor Petri 


generalizate, ducând pâna la inlocuirea unei retele intregi printr‐una
compusa dintr‐o pozitie si o tranzitie.
y De regula insa, pentru a pastra caracterul intuitiv al retelelor si ca atare
eficienta lor ca instrumente de modelare, se prefera un nivel de colorare
intermediar, care depinde de caracterul sistemului modelat si de scopul
modelarii. Cazul extrem de colorare are numai o valoare teoretica.
Retele Petri Colorate
y Operatia de colorare a unei retele Petri generalizate se 
numeste impachetare (pliere), iar operatia inversa ‐
despachetare.
Particularitati ale retelelor Petri 
colorate
Pozitiile
y sunt reprezentate in continuare prin cercuri, care pot 
contine marcaje (jetoane) colorate ‐ respectiv 
simboluri de culori. 
y o pozitie poate sa contina la un moment dat mai multe 
marcaje (jetoane) de aceeasi culoare. In functie de 
marcajele (jetoanele) continute si de gradul de 
colorare al retelei, semnificatia aceleiasi pozitii poate 
sa varieze.
Particularitati ale retelelor Petri 
colorate
Tranzitiile
y sunt reprezentate tot prin segmente de dreapta.
y fiecarei tranzitii ii este asociat insa un ansamblu de 
culori (C(tj) pentru o tranzitie tj), fiecare dintre ele 
implicand o posibilitate distincta de executie a 
tranzitiei. 
y Numarul de culori din C(tj) corespunde numarului de 
tranzitii al retelei Petri generalizate echivalente 
(despachetate) care au fost regrupate intr‐una singura.
Particularitati ale retelelor Petri 
colorate
Arcurile
y leaga o tranzitie de o pozitie si au ponderi, reprezentate
prin functii IN sau OUT, care stabilesc corespondenta intre
fiecare culoare asociata tranzitiei si culorile pozitiei. 
y functiile IN si OUT au un argument suplimentar si anume
culoarea Ck in raport cu care urmeaza sa se execute 
tranzitia. 
y pentru un arc care leaga tranzitia tj si pozitia pi, avem
asociate functiile:
y IN(pi, tj/Ck) 
y OUT(pi, tj/Ck).
Particularitati ale retelelor Petri 
colorate
Marcajele
y pentru o pozitie pi, marcajul reprezinta numarul de jetoane
de fiecare culoare continute de pozitia respectiva si este
reprezentat printr‐o suma simbolica.
y vectorul de marcaj se construieste in aceslasi fel ca pentru
retelele generalizate.
Tranzitii valide
y o tranzitie tj este valida in raport cu o culoare Ck ∈C(tj) 
daca si numai daca numarul de marcaje (jetoane) din orice
pozitie pi aflata in amonte de tj este mai mare sau egal cu 
IN(pi, tj/Ck), adica:

∀pi ∈°tj M(pi) ≥ IN(pi, tj/Ck)


Particularitati ale retelelor Petri 
colorate
Executia unei tranzitii valide
y tj in raport cu Ck, consta in efectuarea simultana a 
doua operatii
y se retrage din toate pozitiile pi de intrare un numar de 
jetoane egal cu IN(pi, tj/Ck)
y se adauga in toate pozitiile pi de iesire un numar de 
jetoane egal cu OUT(pi, tj/Ck)
y Daca notam cu M marcajul retelei anterior executiei 
tranzitiei si cu M’ marcajul rezultat, avem:
∀pi,     M’(pi) = M(pi) + OUT(pi, tj/Ck) ‐ IN(pi, tj/Ck)
Particularitati ale retelelor Petri 
colorate
Observatie importanta: 
y odata ce o tranzitie este executata in raport cu o culoare
data, aceasta culoare este cea care stabileste regulile de 
executie. 
y toate imaginile functiilor ponderi asociate fie arcurilor de 
intrare in tranzitie, fie celor de iesire sunt calculate având
ca argument culoarea respectiva.
Secvente de executii
y marcajul rezultat in urma executiei unei secvente de k 
tranzitii, pornind de la un marcaj M1 al retelei,  se 
calculeaza pe baza formulei: 

Mk+1(pi) = M1(pi) + OUT(pi, tj/Chj) ‐ IN(pi, tj/Chj)
Exemplu
y Fie doua robocare (r1 si r2) care se deplaseaza intre o 
statie de pornire si o statie terminus. Deplasarea unui 
robocar poate sa se fie pornire → terminus (pt) sau 
terminus → pornire (tp). Odata inceputa deplasarea, 
sensul ei nu mai poate fi modificat. 
Exemplu
y Modelare prin retele Petri generalizate: se face prin 
intermediul a doua retele, fiecare reprezentând 
functionarea unui robocar.
Primul nivel de colorare
Primul nivel de colorare
Se introduc doua culori: 
y pt ‐ care simbolizeaza deplasarea in sensul pornire→terminus si
respectiv
y tp pentru deplasarea in sensul terminus→pornire. 

Semnificatia:
y pozitiei ramase este de “robocar in deplasare”
y tranzitiei ‐ “atingerea unui capat de cursa”(sau, in limbaj de 
evenimente ‐ initierea deplasarii in sens opus celei curente).

y Un marcaj (jeton) de culoare pt in pozitia p ramasa, implica deplasare


in sens pornire→terminus, având aceeasi semnificatie cu un jeton
necolorat in pozitia p1.
y Prezenta jetonului in pozitia p2 din reteaua originala corespunzatoare
este reprezentata de un jeton de culoare tp in p.
Al doilea nivel de colorare
Al doilea nivel de colorare
y Se pastreaza structura de retea cu doua pozitii si doua
tranzitii, cu aceeasi semnificatie ca in retelele generalizate, 
dar se introduc doua culori r1 si r2 care simbolizeaza
distinct cele doua robocare. 
y Ansamblul pozitie‐culoare asigura pastrarea informatiei
initiale. 
y Un jeton r1 si un jeton r2 in pozitia p1 inseamna ca ambele
robocare se deplaseaza in sensul pornire→terminus, 
y Un jeton r1 in p1 si r2 in p2 inseamna ca robocarul r1 se 
deplaseaza in sensul pornire→terminus, iar robocarul r2 se 
deplaseaza in sensul terminus→pornire, etc.)
Colorarea totala
y f(<r1, tp>) = <r1, pt>, 
y f(<r1, pt>) = <r1, tp>,
y f(<r2, tp>) = <r2, pt>, 
y f(<r2, pt>) = <r2, tp>
Colorarea totala
y Culorile introduse nu mai sunt simple, ci sunt compuse
dintr‐o pereche de culori, si anume una care sa desemneze
robocarul si alta care desemneaza sensul de deplasare al 
acestuia.
y Sunt admisibile toate cele patru combinatii posibile: <r1, 
tp>, <r2, tp>, <r1, pt>, <r2, pt> (semnificatiile simbolurilor
sunt cele prezentate in exemplele de colorare anterioare). 
y Toate cele patru culori comlexe formeaza multimea C1 de 
culori asociata tranzitiei t.
y Functia pondere f, care modeleaza modificarea sensului de 
deplasare, este definita astfel:
y f(<r1, tp>) = <r1, pt>,  f(<r1, pt>) = <r1, tp>,
y f(<r2, tp>) = <r2, pt>,  f(<r2, pt>) = <r2, tp>
Exemple de marcaje complexe si de 
tranzitii valide
y f(<b>) = <v>
y f(<v>) = <b> + <v>
y f(<o>) = <b> + 2<o>

y g(<b>) = <b>
y g(<v>) = <o> + <b>
y g(<o>) = 2<o>
Exemple de marcaje complexe si de 
tranzitii valide
y Marcajul initial este:
m(p1) = 3<b> + 2<v> + <o> m(p2) = 0
y Tranzitia t poate fi executata in raport cu culorile <b>, <v>, 
<o>, dar este valida doar in raport cu culorile<b> si <v>, 
deoarece:
y IN(p1, t/<b>) = f(<b>) = <v> si pozitia p1 contine (mai mult
de) un jeton <v>
y IN(p1, t/<v>) = f(<v>) = <b> + <v> si pozitia p1 contine (mai
mult de) un jeton <b> si un jeton <v>
y In schimb, tranzitia t nu este valida in raport cu <o>, 
deoarece
y IN(p1, t/<o>) = f(<o>) = <b> + 2<o>, iar pozitia p1 nu contine
decât un singur jeton <o>
Exemple de marcaje complexe si de 
tranzitii valide
Executia tranzitiilor si evolutia marcajelor
y Prin executia tranzitiei t in raport cu culoarea <b>, 
marcajul rezultant este
m’(p1) =  3<b> + <v> + <o>
m’(p2) = <b> 

y Prin executia tranzitiei t in raport cu culoarea <v>, 


marcajul rezultant este
m”(p1) =  2<b> + <v> + <o>
m”(p2) = <o> + <b>
Exemplu de modelare
y Linie de fabricatie formata din doua masini (M1 si M2) opereaza
succesiv asupra a doua tipuri de piese. Fiecare piesa este
transportata de la o masina la cealalta pe o paleta, pentru fiecare
tip de piesa existand o paleta. Paletele sunt reciclate la sfârsitul
ciclului de productie al fiecarei piese (succesiunea operatiilor
este aceeasi pentru ambele tipuri de piese, si anume M1 ‐ M2). 
Fiecare masina are un buffer de intrare (B1, respectiv B2). 
Presupunem ca operatiile de incarcare/ descarcare se desfasoara
fara restrictii, deci nu sunt semnificative pentru modelarea
sistemului. Ordonantarea liniei trebuie sa asigure alternarea
pieselor functie de tip. 
y Prima piesa prelucrata trebuie sa fie de tip 1. Marcajul initial 
corespunde unui stoc de n1 piese de tip 1 si n2 piese de tip 2 in 
bufferul de intrare al masinii M1.
Modelare cu 
culori simple
Modelarea ordonantarii
alternative a pieselor se va face
prin functia succ.

f(C1) = C1 + p1
f(C2) = C2 + p2

g(C2) = p2
g(C1) = p1

succ(C2) = C1
succ(C1) = C2
Modelare cu culori simple
y Pozitii:
y B1 si B2 ‐ continutul bufferelor de intrare ale masinilor M1 respectiv
M2
y M1L si M2L ‐ masinile M1 respectiv M2 – libere
y M1O si M2O ‐ masinile M1 respectiv M2 ‐ ocupate
y Tranzitii:
y t1 si T2 ‐ incarcarea masinilor M1 respectiv M2
y T1’ si T2’ ‐ descarcarea masinilor M1 respectiv M2
y Multimea culorilor asociate tuturor tranzitiilor retelelor va fi C={C1, 
C2}.
y In ceea ce priveste pozitiile ele au asociata aceeasi multime de culori, cu 
exceptia pozitiei B1, care are asociata multimea C’=C ∪ {p1, p2}, pentru
a putea modela reciclarea paletelor si dependenta ciclului de prelucrare
de prezenta acestora, ceea ce se va face prin intermediul functiilor f si g 
definite in continuare.
Modelare cu culori simple
y Marcajul initial este urmatorul:
y m0(B1) = n1C1 + n2C2 + p1 +p2 ‐ adica in stocul de 
intrare al masinii M1 exista n1 piese de tip 1 si n2 piese 
de tip 2, precum si o paleta pentru transportul pieselor 
de tip 1 si o paleta pentru transportul pieselor de tip 2.
y m0(M1L) = m0(M2L) = C1 ‐ adica masinile M1 si M2 
sunt libere si asteapta sa prelucreze o piesa de tip 1
Modelare cu culori simple
y Functionarea retelei este urmatoarea:
y Initial, singura tranzitie executabila este t1, prin care se extrage un jeton de tip 
C1 din pozitia M1L (arcul are asociata functia indentitate), respectiv un jeton C1 
si unul p1 din pozitia B1 (arcul are asociata functia f) si se introduce un jeton de 
tip C1 in pozitia M1O ‐ adica o piesa de tip p1 este incarcata pe paleta
corespunzatoare si este incarcata pe masina M1.
y Urmatoarea tranzitie executabila este t1’, prin care se extrage jetonul C1 din 
M1O si se introduc un jeton C1 in B2, respectiv unul C2 in M1L (functia succ) ‐
adica se descarca masina M1 de piesa de tip 1, care este trimisa in bufferul de 
intrare al masinii M2. Masina M1 este eliberata si asteapta spre prelucrare o 
piesa de tip 2.
y In continuare sunt executabile doua tranzitii: t1 care implica incarcarea pe
masina M1 a unei piese de tip 2 transportata pe paleta corespunzatoare si t2 
care implica incarcarea pe masina M2 (libera si asteptând spre prelucrare o 
piesa de tip 1) a piesei de tip 1 din bufferul ei de intrare.
y Daca se urmareste piesa de tip 1, atunci dupa secventa de tranzitii t2 si t2’ se 
observa ca piesa propriu‐zisa iese din sistem, iar paleta este reciclata (prin
intermediul functiei g dispare jetonul de culoare C1 si reapare jetonul p1).
Modelare cu culori complexe
f(<ci, mj>) = pi + <ci,mj>,
unde 1 ≤ i, j ≤ 2

g(<ci, m1>) = pi + <ci,m2>


g(<ci, m2>) = pi

succ1(<c1, mj>) = <c2,mj>


succ1(<c2, mj>) = <c1, mj>
Modelare cu culori complexe
y Modelarea cu culori simple poate conduce, in cazul unei linii de 
fabricatie formata din mai multe masini, chiar si la o retea
colorata prea complicata pentru a fi urmarita.
y Acest dezavantaj poate fi inlaturat prin colorarea atât in raport
cu tipul de piese, cât si in raport cu masinile, ceea ce implica
utilizarea unor culori de forma <ci, mi> cu ci ‐ tipul piesei si mi ‐
tipul masinii pe care se prelucreaza. In aceste conditii, se obtine
in plus si o simplificare a structurii grafice a retelei.

y Culorile p1 si p2 au aceeasi semnificatie ca in cazul precedent.


y Observatia facuta pentru exemplul precedent ramane valabila.