SIECI PETRI’EGO W.Muszyński WM
Koncepcja sieci Petri WM Projektowanie struktur sterowania dla przebiegów, których równoległość podlega pewnym ograniczeniom (np. zasobowym) stwarza o wiele więcej trudności, niż w przypadku przebiegów sekwencyjnych. Przebiegi współbieżne zmieniają swój stan niezależnie od siebie co powoduje utracenie możliwości przeglądu sytuacji całości zachodzących zjawisk. Sieci Petri są stosunkowo łatwe w weryfikacji i poglądowe, wyróżniają się możliwościami zastosowania w bardzo wielu dziedzinach: od zagadnień programowania, przetwarzania informacji, sterowania i zarządzania operacjami, systemami technicznymi, do zastosowań w zakresie teorii organizacji i teorii np prawa (spójność przepisów, bezkonfliktowość ustaw itp). Jest koncepcją posiadającą dużą podbudowę matematyczną, zarazem stosunkowo poglądową jeśli chodzi o reprezentację i interpretacje graficzne. Istnieją narzędzia informatyczne do modelownia, symulacji i analizy własności.
Co to są sieci Petri ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie jest reprezentowane przez kwadrat. Spełnienie jakiegoś warunku oznacza się umieszczając kropkę (znacznik) w odpowiadającym mu okręgu. Zbiór warunków spełnionych w pewnej konfiguracji systemu nazywamy przypadkiem. e Spełnione są warunki wejściowe i wystąpiło zdarzenie „e” e Zaszło zdarzenie „e” Spełnione są warunki wyjściowe 3 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku - jako sieć warunków i zdarzeń 4 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 5 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 6 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 7 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 8 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 9 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 10 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 11 WM 2012
Przykładowa sieć Petri Wiosna Początek lata Lato Początek jesieni Jesień Początek zimy Zima lub wiosna Nie jesień Początek wiosny Zima Cztery pory roku 12 WM 2012
Zastosowania Sieci Petriego WM Narzędzie do opisu przepływów pracy (workflows), materiałów, zasobów… Modelowanie systemów wytwarzania, produkcji, planowania… Sterowanie procesami współbieżnymi Sterowanie sekwencyjne (sterowniki programowalne PLC) Protokoły komunikacji i sieci Oprogramowanie, projekt, specyfikacja, symulacja, walidacja i implementacja systemów sterowania i zarządzania. i wiele innych obszarów…
Sieci Petri WM Dla logistycznych systemów sterowania i zarządzania to: narzędzie graficzne narzędzie matematyczne narzędzie analizy fomalnej i symulacji narzędzie optymalizacji
Sieci Petri WM
Sieć Petri typu P/T WM Sieć w postaci grafu o dwu rodzajach wierzchołków zwanych miejscami i przejściami Wierzchołki są połączone skierowanymi łukami Łukami przepływają znaczniki z miejsc do przejść oraz z przejść do miejsc Przepływ znaczników w sieci obrazuje zmiany stanów systemu
Symbole WM miejsce przejście znacznik pipi tjtj (symbol umieszczany w miejscach)
Koncepcja podstawowa WM Aby zaszło jakieś zdarzenie muszą być spełnione pewne warunki wejściowe W wyniku zajścia zdarzenia powstają pewne warunki wyjściowe warunki wejściowe warunki wyjściowe zdarzenie
Koncepcja podstawowa WM Warunki wejściowe są spełnione Zdarzenie może zajść W wyniku zajścia zdarzenia powstają pewne warunki wyjściowe warunki wejściowe warunki wyjściowe zdarzenie
Koncepcja podstawowa WM Spełnienie warunków wejściowych Zajście zdarzenia W wyniku zajścia zdarzenia powstają pewne warunki wyjściowe warunki wejściowe warunki wyjściowe zdarzenie
Interpretacja symboli WM Miejsca to: – warunki, zasoby, … Przejścia to: – zdarzenia, akcje, operacje, … Znaczniki to: – dostępne zasoby, spełnienie warunku, … Łuki – łączą miejsca i przejścia
Sieci Petri WM PN= P: zbiór skończony miejsc {p 1, p 2,…, p n } T: zbiór skończony przejść {t 1, t 2,…, t m } I: PxT―>{0,1} funkcja wejściowa (łuki wejść) O:TxP―>{0,1} funkcja wyjściowa (łuki wyjść)
Sieci Petri WM PN= gdzie: P = {p 0, p 1, p 2 } T = {t 0, t 1 } I = {(p 0, t 0 ), (p 1, t 1 )} O = {(t 0, p 1 ), (t 1, p 2 )} p0p0 p1p1 p2p2 t1t1 t0t0
Markowana Sieć Petri WM PN = M 0 markowanie początkowe M 0 : P ―> NN zbiór liczb naturalnych M 0 = (0, 1, 0) markowanie początkowe dla sieci powyżej p0p0 p1p1 p2p2 t1t1 t0t0
Przygotowanie do odpalenia WM Wszystkie miejsca wejściowe przejść mają wystarczającą liczbę znaczników, które są warunkiem odpalenia. We wszystkich miejscach wyjściowych przejścia jest miejsce na znaczniki, które pojawią się w wyniku odpalenia przejścia. p0p0 p1p1 p2p2 t1t1 t0t0
Reguła odpalania przejścia WM W wyniku odpalenia przejścia, z miejsc wejściowych zabierane są znaczniki (tyle ile wynoszą odpowiednie wagi łuku), natomiast w miejscach wyjściowych pojawiają się znaczniki (w takiej ilości jaka wynika z wagi odpowiednich łuków wyjściowych) p2p2 p4p4 t1t1 p0p0 p1p1 p3p3 t0t0 2 p2p2 p4p4 t1t1 p0p0 p1p1 p3p3 t0t0 2 przed odpaleniempo odpaleniu
Podstawowe konstrukcje WM zależności (akcji, działań, … od warunków, zasobów, …) sekwencje (działań, zdarzeń, operacji …) sytuacje konfliktów (konflikty decyzji, akcji, wyborów, …) współbieżność (zdarzeń, działań, procesów, …) cykle synchronizacja
Podstawowe konstrukcje WM p0p0 p1p1 p2p2 t1t1 zależności p0p0 p1p1 p2p2 t1t1 warunki wejściowe spełnione przejście przygotowane do odpalenia przejście odpalone warunki wyjściowe zajście warunków wejściowych umożliwia zajście zdarzenia opisanego przejściem i zaistnienie warunków wyjściowych
Podstawowe konstrukcje WM sekwencje działań p0p0 p1p1 p2p2 p3p3 p4p4 t1t1 t0t0 t2t2 t3t3 t 1 t 2 t 3 t 4
Podstawowe konstrukcje WM konflikt tylko jedno ze zdarzeń t 0 lub t 1 może zajść, tylko jedno z dwu przejść może się zapalić p2p2 p4p4 t1t1 p0p0 p1p1 p3p3 t0t0
Podstawowe konstrukcje WM współbieżność p1p1 p2p2 p3p3 t2t2 t1t1 p7p7 p5p5 p6p6 t4t4 t3t3 p0p0 p4p4 t0t0 t5t5
Podstawowe konstrukcje WM cykliczność p1p1 p2p2 p3p3 p1p1 p2p2 p3p3 p1p1 p2p2 p3p3 p1p1 p2p2 p3p3 t1t1 t2t2 t3t3 t1t1 t2t2 t1t1 t2t2 t1t1 t2t2 t3t3 t3t3 t3t3
Jak zaprojektować sterownik dla świateł WM
Przykład - sterownik świateł WM samochody piesi
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykład - sterownik świateł WM samochody piesi przycisk dla pieszych
Przykładowa sieć modelująca prosty ESP WM Sieć modelująca ESP (Elastyczny System Produkcyjny) Roboty wykonują operacje produkcyjne obsługując maszyny znajdujące się w ich strefach pracy. Istnieje wspólna strefa (bufor o pewnej pojemności) w której może jednocześnie przebywać tylko jeden robot ( z uwagi na możliwość kolizji). p 1 (p 4 ) robot R 1 (R 2 ) pracuje poza strefą wspólną p 2 (p 5 ) robot R 1 (R 2 ) żąda dostępu do strefy wspólnej p 3 (p 6 ) robot R 1 (R 2 ) w strefie wspólnej p 7 strefa wspólna wolna p 8 strefa wspólna zajęta przez R 1 p 9 strefa wspólna zajęta przez R 2 strefa wspólna strefa pracy R 2 strefa pracy R 1 strefa pracy R 2 R1R1 R2R2 bufor pełny bufor pusty R 2 opuszcza buforR 1 opuszcza bufor Sieć Petri modelująca ESP
CZASOWE SIECI PETRI WM
Deterministyczna czasowa sieć Petri WM Każdemu przejściu jest przypisany pewien czas palenia, który oznacza, że miejsce odpalone pobiera znaczniki z odpowiednich miejsc wejściowych i po upływie czasu (t) przekazuje do miejsc wyjściowych. Każdemu miejscu jest przypisany pewien czas opóźnienia (p), po którym znaczniki są dostępne w miejscu do którego napływają w wyniku odpalenia. PN = P R + R +
Determistyczna czasowa sieć Petri WM transportery R1R2 M2 M1 produkty gotowe części palety p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1
Deterministyczna czasowa sieć Petri WM MiejsceInterpretacjaCzas operacji p1dostępne części i palety0 p2M1 obróbka10 p3cześć dostępna do obróbki na M20 p4M2 obróbka16 p5M1 wolna0 p6miejsca na transporterze wolne0 p7M2 wolna0 p8R1 wolny0 p9R2 wolny0 PrzejścieInterpretacjaCzas operacji t1t1 R1 ładuje M11 t2t2 R1 z M1 na transp.1 t3t3 R2 ładuje M21 t4t4 R2 rozład. M21 p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 M 0 =( ) markowanie początkowe
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Deterministyczna czasowa sieć Petri WM p7p7 p6p6 p5p5 p2p2 p1p1 p4p4 p3p3 p9p9 p8p8 t4t4 t3t3 t2t2 t1t1 części i palety M1 wolne M1 obróbka miejsca na transporterze R1 wolny R1 ładuje M1R1 rozł. M1 część gotowa R2 ładuje M2 M2 obróbkaR2 rozł. M2 R2 wolny M2 wolna
Cykle produkcji WM PętlaCzas realizacjiSuma znaczników Czas cyklu t1p2t2p3t3p4t4p1t1t1p2t2p3t3p4t4p1t t 1 p 2 t 2 p 5 (lub p 8 )t t2p3t3p6t2t2p3t3p6t2 221 t 3 p 4 t 4 p 7 (lub p 9 )t Minimalny cykl realizacji produktu wynosi 18 Cykl Produkcji = max i (D i /N i ) gdzie D i czas łączny przebywania znaczników w miejscach i przejściach i-tej pętli N i suma znaczników w miejscach pętli
Stany (markowania osiągalne) dla analizowanej sieci WM s1 = ( ) s2 = ( ) s3 = ( ) s4 = ( ) s5 = ( ) s6 = ( ) s7 = ( ) s8 = ( ) s9 = ( ) s10 = ( ) s11 = ( )
Diagram stanów dla sieci WM s11 s1 s2 s3 s4 s9 s10 s5 s6 s7 s8 t1t1 t2t2 t4t4 t4t4 t4t4 t4t4 t1t1 t1t1 t1t1 t3t3 t2t2 t3t3 t2t2 t3t3 t3t3
Macierz incydencji WM
Analiza zachowania sieci sterującej WM Założono 3 palety w systemie, każda po 2 części Najkrótszy czas cyklu produkcji wynosi 18 Sieć ma potrzebne własności strukturalne Może być wykorzystana jako sterownik procesu produkcji Sterowanie odbywa się asynchronicznie Zwiększenie liczby palet i części w systemie nie skraca cyklu produkcji
STOCHASTYCZNE SIECI PETRI WM
Przykład stochastycznej sieci Petri WM M2 ładowanie praca rozładownie p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 zadania w systemie ładowanie awaria M1 reperowana M1 zreperowana M1 pracuje M1 wolna detal gotowy dostępne 2 miejsca na transporterze rozładowanie M1 t1t1 t2t2 t3t3 t5t5 t4t4 miejsce opis p1p1 detale i palety dostępne P2P2 M1 obrabia detal p3p3 detal gotów do obróbki M2 p4p4 M1 reperowana p5p5 M1 wolna p6p6 transporter dostępny miejsceopisintensywność palenia t1t1 załadunek R1 i M1 t2t2 obróbka i rozładunek M1 przez R1 t3t3 załadunek, obróbka i rozładunek M2 przez R2 t4t4 M1 awaria t5t5 M1 zreperowana i prawdopodobieństwo stanu M i i intensywność odpalania 2 3 intensywność produkcji w szt/jed. czasu 0 = 0.05 1 = 0.40 2 = 0.50 3 = 0.05 stąd szt/jed. czasu
Przykład stochastycznej sieci Petri WM M 0 =(100012)M 1 =(010002)M 2 =(001011) M 3 =(000102) t3t3 t2t2 t1t1 t4t4 t5t5 Graf markowań osiągalnych
SIECI PETRI ZE ZNACZNIKAMI INDYWIDUALNYMI WM
KOLOROWE SIECI PETRI WM
Sieci Petri Zalety i wady Możliwość modelowania różnych systemów, w tym: – struktur, zachowań, własności. Możliwość symulacji Istnieją symulatory i analizatory własności modeli sieciowych Sieci mogą być sterownikami Możliwość optymalizacji: – struktur, zachowań, własności. Różnorodność specyficznych klas sieci Petri dla różnych zastosowań Metody analizy: – metody algebraiczne – metody symulacyjne – metody analizy wydajności Stosunkowo łatwa translacja modelu sieciowego na kod źródłowy i szybkie prototypowanie i projektowanie systemów Podstawowa klasa sieci Petri tzw. sieci P/T ma ograniczone możliwości modelowania pewnych własności (nierozróżnialność znaczników). Brak symulatorów dla zastosowań przemysłowych, głównie dla celów edukacyjnych i badawczych. Brak jednoznacznych metodologii projektowania i badania modeli sieciowych. Brak na razie metod i algorytmów dla automatycznej konstrukcji modeli sieciowych. Brak jednoznacznej dokumentacji, rozproszone źródła i dokumentacja. Potrzeba doświadczenia przy konstrukcji modeli dla złożonych i dużych systemów. WM
Literatura WM C. Girault, Petri Nets for Systems Engineering: A Guide to Modeling, Verification, and Applications, Springer-Verlag, P. Witas, Symulator sieci Petriego ze znacznikami indywidualnymi, praca mgr, Uniw. Warszawski, 2003 P. Starke, Sieci Petri, PWN, Wwa, 1987 Cz. Skowronek, Z. Sarjusz-Wolski, Logistyka w przedsiębiorstwie, PWE, 1999 S. Abt, Zarządzanie logistyczne w przedsiębiorstwie, PWE, Warszawa 1998 Z. Banaszak, W. Muszyński, Zarządzanie operacjami, materiały MBA, Uniw. Szczeciński, 2005 M. Dotoli, M. P. Fanti, A. Giua, C. Seatzu, First-order hybrid Petri nets. An application to distributed manufacturing systems, Nonlinear Analysis: Hybrid Systems, vol. 2, no. 2, 2008 S. Iwan, Sieci Petri jako metoda modelowania systemów logistyki miejskiej, Logistyka, 6/2008 M. Silva and E. Teruel. Petri nets for the design and operation of manufacturing systems, European Journal of Control, 3, 1997 A. Desrochers, ed. Modeling and Control of Automated Manufacturing Systems. IEEE Computer Society Press, 1989 W. Reisig: Simple Composition of Nets. Petri Nets, 2009:23-42 N. Smata, Ch. Tolba, i in. Modélisation de la chaîne logistique en utilisant les réseaux de Petri continus.
WM Dziękuję za uwagę