Prognozowanie i symulacje

Slides:



Advertisements
Podobne prezentacje
Leszek Smolarek Akademia Morska w Gdyni 2005/2006
Advertisements

PODZIAŁ STATYSTYKI STATYSTYKA STATYSTYKA MATEMATYCZNA STATYSTYKA
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Wzorce.
Wprowadzenie do języka skryptowego PHP
K orzystanie z ogólnodostępnej wersji internetowej.
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
Środki transportu zgłoszeń
Dr inż. Bożena Mielczarek
PRZYKŁAD ROZWIĄZANIA TARCZY
ANALITYCZNE MODELE SYSTEMÓW KOLEJKOWYCH
Kurs Pascala – spis treści
Zdarzenia w programach VI (zdarzenia rejestrowane dynamicznie)
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń  Dr inż. Halina Tarasiuk p. 337, tnt.tele.pw.edu.pl.
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Menu Tabela program Microsoft Word
Podstawy programowania
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Instrukcja USOS Rejestracja na zajęcia obieralne wersja by Marek Opacki.
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
dr hab. Ryszard Walkowiak prof. nadzw.
Moduł Lojalnościowy. Czyli zatrzymanie klienta przy naszym zakładzie optycznym.
Dr inż. Bożena Mielczarek
ANNA BANIEWSKA SYLWIA FILUŚ
Lokalizacja i Globalizacja na witrynie w Visual Web Developer 2008 (ASP.Net) Daniel Literski.
Instrukcja obsługi systemu CMS Przygotowanie
Ćwiczenia 3: System kolejkowy
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
System rejestracji zawodników Polski Związek Judo 2006.
Programowanie obiektowe – zastosowanie języka Java SE
Jak tworzyć algorytmy.? Sposób krok po kroku..
Dr inż. Bożena Mielczarek Wprowadzenie do Areny. Zadanie domowe nr 5.
Korespondencja seryjna
Elżbieta Fiedziukiewicz
Tworzenie komiksu MS PowerPoint Beata Sanakiewicz.
MICROSOFT Access TWORZENIE MAKR
Visual Basic w Excelu.
Symulacja dyskretna Dr inż. Bożena Mielczarek. Model podstawowy (Książka rozdz.8.2) Zadanie: Wyroby wprowadzane są na halę produkcyjną zgodnie z rozkładem.
Projektowanie stron WWW
Symulacja dyskretna Dr inż. Bożena Mielczarek. Model nr 2. (Książka rozdz.8.3, str )  Wyroby napływają w tempie opisanym rozkładem wykładniczym.
Aplikacje internetowe Projektowanie formularzy Część 2.
Tworzenie ankiet online
Dr inż. Bożena Mielczarek Wprowadzenie do Areny Model punktu ksero.
Zagadnienia AI wykład 6.
Dr inż. Bożena Mielczarek Wprowadzenie do Areny. Ryzy papieru.
Wzorce slajdów, animacje, różne orientacje slajdów
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Opracowanie mgr Karol Adamczyk
Komendy SQL do pracy z danymi
SAMOUCZEK PRZYKŁAD ZASTOSOWANIA PROGRAMU DO MODELOWANIA TARCZ.
PRZYKŁAD OBLICZENIOWY PRĘT
Literatura Dr Agnieszka Systemy masowej obsługi 7 Koronacki J.,.
PRZYKŁAD ROZWIĄZANIA KRATOWNICY
Ms Access Raporty Marzena Nowakowska WZiMK, PŚk
Dr inż. Bożena Mielczarek
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
EBSCOhost Collection Manager Konto osoby proponującej książki do zakupu Przewodnik support.ebsco.com.
Tworzenie wykresów część I
Przewodnik Wprowadzenie do
California Cooperative Bank Jakub Bielecki. California Cooperative Bank Plan prezentacji  1. Przedstawienie problemu  2. Założenia modelu  3. Wyniki.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Modelowanie Danych (ERD) – część 1 (Wspomaganie Modelowania danych)
Programowanie obiektowe – zastosowanie języka Java SE
Selekcja danych Korelacja.
Zapis prezentacji:

Prognozowanie i symulacje wprowadzenie do symulacji

Metody analizy systemów Badany system Model fizyczny Rozwiązanie analityczne Eksperyment na modelu systemu Model matematyczny Eksperyment na istniejącym systemie Symulacja

Podstawowe pojęcia model = opis systemu model symulacyjny = wyróżnianie i formalizacja cech systemu oraz ustalanie zależności pomiędzy nimi, zachodzących w czasie modele statyczne i dynamiczne modele stochastyczne i deterministyczne modele zdarzeń dyskretnych i ciągłych

Podstawowe elementy modelu AWESIM! sieć (network) węzły (nodes) czynności (activities) instrukcje kontrolne blok animacji GEN,"PRITSKER","SERIAL WORK STATIONS", 1/1/1996,1; LIMITS,500,-1,-1,2,-1,-1; NETWORK; INIT,0,300; FIN;

Podstawowe pojęcia obiekt – element powodujący zmiany stanu modelowanego systemu w miarę przechodzenia przez model, np. klient, pojazd, informacja atrybut – cecha obiektu, np.: czas pojawienia się w systemie czas niezbędny do obsłużenia rodzaj zbiór – miejsce oczekiwania obiektów na obsługę

najpierw krótko omówimy podstawowe węzły oraz instrukcje kontrolne Panel główny AWESIM! 3.0 najpierw krótko omówimy podstawowe węzły oraz instrukcje kontrolne

Węzeł CREATE Służy do wprowadzania obiektów do systemu, z reguły pierwszy w kolejności Node Label - etykieta węzła, opcjonalnie, jednak czasem konieczne Time Between - czas pomiędzy pojawianiem się obiektów Time of First - czas pojawienia się pierwszego obiektu Save TNOW - numer atrybutu, na którym zapisywany jest czas pojawienia się obiektu Max to Create - maksymalna liczba tworzonych obiektów Max Branches to Take - maksymalna liczba gałęzi, wzdłuż których utworzone obiekty mogą się przemieszczać od tego węzła (powtarza się w niemal wszystkich węzłach)

Węzeł QUEUE Stosowany do modelowania złożonych procesów decyzyjnych, gdy obiekt pojawia się i oczekuje na obsługę, gdzie dyspozycja związana z obiektem zależy od stanu stanowiska oraz liczby obiektów oczekujących na obsługę w kolejce Node Label - etykieta węzła File # - numer zbioru, w którym przechowywane są obiekty z danej kolejki, numerujemy nadając unikalne wartości Init. # in Queue - liczba obiektów w kolejce w momencie rozpoczęcia symulacji Queue Capacity - pojemność kolejki, czyli ile obiektów może stać w kolejce

Węzeł QUEUE Full Action - bez akcji, przepuszczanie lub blokowanie obiektu, który pojawia się w węźle QUEUE. W przypadku, gdy kolejka jest pełna: BALK - przepuszczenie obiekt, czyli przeniesienie do innego węzła w sieci lub usunięcie z systemu w przypadku braku etykiety takiego węzła BLOCK - obiekt oczekuje tak długo, aż znajdzie się miejsce w kolejce NONE - nie powoduje blokowania ani przepuszczania, w przypadku gdy kolejka ma ograniczoną pojemność, obiekty które w niej się nie mieszczą są usuwane z systemu w sposób niekontrolowany

Węzeł TERMINATE Node Label - etykieta węzła Stosowany do usuwania obiektów z sieci Node Label - etykieta węzła Term. Count - liczba obiektów, po których przejściu następuje zakończenie symulacji Gdy w sieci jest kilka węzłów TERMINATE to osiągnięcie przez jeden z nich warunku zakończenia powoduje zakończenie symulacji

Węzeł COLCT Zbieranie statystyk budowane z wykorzystaniem funkcji dostępnych pod przyciskiem F(x) znajdującym się przy polu Value. COLCT # - indeks określający numer kolejny statystyki Value - rodzaj zmiennej lub wyrażenie, którego wartości mają być rejestrowane Identifier - opis węzła (tekst informujący o zbieranych statystykach, ustalamy sami) Gdy chcemy wyniki na histogramie: # of Cells - liczba przedziałów histogramu Lower Limit - granica pierwszego przedziału histogramu Cell Width - szerokość przedziału histogramu

Czynność ACTIVITY Activity # - numer identyfikacyjny czynności Duration - czas trwania czynności Condition - prawdopodobieństwo lub warunek zaistnienia czynności End Node Label - etykieta węzła końca czynności # of Servers - liczba identycznych równolegle działających stanowisk obsługi (tylko czynności obsługi) Identifier - etykieta opisująca czynność, tworzymy sami

Czynności - do czego służą określa się w nich czasy przypisane do obiektów przepływających przez sieć czynności wychodzące z węzłów, gdzie są zbiory to czynności obsługi w czynnościach obsługi określamy liczbę stanowisk (servers) wybór czynności może mieć charakter probabilistyczny (prawdopodobieństwo PROB)) wybór może też mieć charakter warunkowy (COND) czynności można nadać numer. Jest on wykorzystywany jako indeks w funkcjach np. NNACT(I) - liczba obiektów znajdujących się w czynności, gdzie I numer czynności, oraz w raporcie

Węzeł GOON Node Label - etykieta węzła węzeł kontynuacji, stosujemy, gdy chcemy „rozgałęzić” drogę obiektów” Node Label - etykieta węzła Max Branches to Take - maksymalna liczba czynności, po których może poruszać się wychodzący z węzła obiekt A - Wybór czynności według prawdopodobieństwa B - Wybór czynności według warunku

Instrukcje sterujące GENERAL (GEN) Name - identyfikator autora projektu Project - nazwa projektu Date - data zapisu projektu # of runs - liczba przebiegów symulacyjnych, które mają być przeprowadzone Attempt Execution - dokonać próby wykonania programu Warn of Destroyed Entities - informowanie o usuwanych obiektach Max Errors - max liczba błędów, po której ma być wstrzymana symulacja w praktyce - wystarczy tylko liczba przebiegów, domyślnie - 1

Instrukcje sterujące - LIMITS Instrukcja LIMITS jest stosowana do zdefiniowania wielkości i struktury danych. Musi znajdować się zaraz po instrukcji GEN. Globals - zmienne globalne systemu Attributes - zmienne związane z obiektem my stosujemy tylko atrybuty

Instrukcje sterujące - INITIALIZE Służy do określania czasu rozpoczęcia i zakończenia symulacji oraz do inicjalizacji statystyk, zmiennych i zbiorów Begin time - czas rozpoczęcia przebiegu symulacyjnego Finish time - czas zakończenia przebiegu symulacyjnego Clear statistics between runs - jeżeli Yes wyzerowanie tablic statystyk pomiędzy przebiegami Up to COLCT # - od tego numeru statystyki nie są zerowane między przebiegami dla nas istotny jest tylko czas zakończenia

Ćwiczenie I – model banku

Założenia Klienci przybywają do banku co 3 minuty. Obsługa w okienku trwa 5 minut. Zadaniem modelującego jest zbadanie, ile należy uruchomić okienek, aby w rezultacie otrzymać optymalne wyniki odnośnie do: czasu, jakie klienci spędzali w banku długości kolejek 3. wykorzystania okienek

Analiza systemu pod kątem budowy modelu zmiany stanu są powodowane przemieszczaniem się klienta w systemie, tak więc obiektem w modelu jest klient określamy węzły i czynności sieci, które reprezentują procesy podczas przepływu obiektów każdemu obiektowi mogą być przypisane atrybuty, których wartości pozwalają na określenie czasów pobytu określamy, jakie statystyki będą zbierane w węźle collect

Model AWESIM! - sieć węzeł QUEUE węzeł TERMINATE węzeł CREATE węzeł COLECT

Model AWESIM! – budowa sieci w panelu głównym AWESIM! wybieramy moduł konstruktora sieci wybrane sieci pozostałe, dostępne wciskamy New otwiera się rozwijane pole wyboru węzła, które można także przywołać poprzez Edit-Add wybieramy CREATE

Węzeł CREATE wybieramy pozycję węzła po lewej stronie ekranu wprowadzamy parametr Time Between dla czasu bieżącego (TNOW) oznaczamy atrybut nr 1 (ATRIB[1]) wciskamy OK

Węzeł QUEUE wybieramy pozycję dla węzła na prawo od poprzedniego nadajemy numer zbiorowi wciskamy OK

Węzeł COLLECT w pole Value wpisujemy określenie statystyki, która ma zostać zebrana w węźle COLLECT, czyli TNOW-ATRIB[1] wprowadzamy nazwę w polu Identifier, np. „czas w banku”

Węzeł TERMINATE wybieramy miejsce wciskamy OK

Czynności najeżdżamy kursorem na węzeł, z którego czynność wychodzi, klikamy, puszczamy mysz, najeżdżamy na drugi węzeł, klikamy nadajemy poszczególnym czynnościom numery dla czynności obsługi – oznaczmy czas w Duration oraz liczbę serwerów w # of servers (w ćwiczeniu czas obsługi = 5, a liczba serwerów początkowo 1)

Model AWESIM! – budowa sieci sprawdź, czy Twoja sieć wygląda podobnie, jak poniżej nazwij ją i zachowaj wybierz ją i wciśnij Add sprawdź, czy w panelu głównym pod słowem Network pojawiła się nazwa Twojej sieci

Instrukcje sterujące wciśnij Control-New cztery linie instrukcji są obowiązkowe pole dialogowe otwiera się po dwukrotnym naciśnięciu nazwy (lub Edit-Insert)

Instrukcje sterujące w instrukcji General wpisz swoje dane, nazwę projektu, datę, liczbę przebiegów 1 w Limits – w Max Atrib – 2, do liczby wykorzystanych atrybutów dodajemy 1, z pozostałych zmiennych nie korzystaliśmy w Net – zostawiamy wartości domyślne dodajemy instrukcję Initialize, wpisujemy 400 w Finish Time (czas zakończenia symulacji) Fin nie wymaga żadnych parametrów zachowaj zestaw instrukcji i nazwij, przypisz poprzez SetCurrent

Przeprowadzenie symulacji wciśnij Report-Output-Echo, w celu uzyskania raportu z poprawności składni sieci modelu i instrukcji sterujących jeżeli raport Echo nie wykazał błędów – przejdź do pozycji Intermediate, czyli raportu z poprawności pod względem możliwości przeprowadzenia symulacji raport Summary – wyniki liczbowe symulacji

Raport Summary Część nagłówkowa – informacje ogólne ** AweSim SUMMARY REPORT ** Sun Mar 15 21:50:44 2004 Simulation Project : wiczenie 4 Modeler : Wrona Date : 15/03/04 Scenario : BASECASE Run number 1 of 1 Current simulation time : 400.000000 Statistics cleared at time : 0.000000

Raport Summary Statystyki z węzła COLLECT: średni czas klienta w banku – 84 j. czasu ** OBSERVED STATISTICS REPORT for scenario BASECASE ** Label Mean Standard Number of Minimum Maximum Value Deviation Observations Value Value CZAS W BANKU 84.000 46.476 80 5.000 163.000

Raport Summary Raport z wykorzystania zbiorów: przeciętna kolejka w zbiorze 1 – 26,6 j. czasu, zaś maksymalny czas oczekiwania – ok.. 80 j. czasu ** FILE STATISTICS REPORT for scenario BASECASE ** File Label or Average Standard Maximum Current Average Number Input Location Length Deviation Length Length Wait Time 1 QUEUE Line 3 26.668 15.404 54 53 79.604 0 Event Calendar 3.000 0.000 3 3 5.263

Raport Summary Raport z wykorzystania czynności ** ACTIVITY STATISTICS REPORT for scenario BASECASE ** Activity Label or Average Standard Entity Maximum Number Input Location Utilization Deviation Count Utilization 1 Line 2 0.000 0.000 134 1 3 Line 6 0.000 0.000 80 1 Activity Current Number Utilization 1 0 3 0

Raport Summary Raport z wykorzystania czynności obsługi: serwer w czynności obsługi 2 został wykorzystany w 100% przez czynność przeszło 80 obiektów (czyli tylu klientów zostało obsłużonych ** SERVICE ACTIVITY STATISTICS REPORT for scenario BASECASE ** Activity Label or Server Entity Average Standard Number Input Location Capacity Count Utilization Deviation 2 Line 4 1 80 1.000 0.000 Activity Current Average Maximum Maximum Number Utilization Blockage Idle Time Busy Time or Servers or Servers 2 1 0.000 0.000 400.000

Optymalizacja modelu uzyskane wyniki są niezadawalające – długie kolejki oraz czasy oczekiwania na obsługę, czyli jedno okienko jest niewystarczające dodajemy więc jeszcze jeden serwer w czynności obsługi, zachowujemy zmiany ponawiamy symulację

Wyniki modelu po optymalizacji średni czas obsługi przy dwóch okienkach zmalał do 5 j. czasu, czyli do samej obsługi kolejki nie występowały obsłużono ponad 130 klientów wykorzystanie serwerów wyniosło ok. 80%

Ćwiczenie 2 – rozszerzony model banku

Założenia Kierownictwo banku zdecydowało, że nie chce otwierać drugiego okienka na stałe, ale doraźnie, gdy kolejka przekroczy kilka osób. Zadaniem modelującego jest zbadanie zależności pomiędzy maksymalną liczbą osób w kolejce 1, czasem średnio spędzonym przez klienta, liczbą klientów obsłużonych przez okienko 2 oraz wykorzystaniem okienka 2

Realizacja zastosujemy opcję Balk w węźle QUEUE Queue capacity ustawiamy na początkowo na 3, potem będziemy zmieniać przy akcji Balk wpisujemy nazwę węzła, do którego kierujemy obiekty po przekroczeniu pojemności kolejki dodajemy węzeł QUEUE o etykiecie wybranej przy Balk i numerze zbioru = 2 łączymy nowy węzeł QUEUE z węzłem COLLECT

Wyniki Max w kolejce Czas w banku L. obsłużonych Wyk. II okienka 2 10 po kolejnych zmianach maks. długości kolejki w i węźle QUEUE otrzymano: Max w kolejce Czas w banku L. obsłużonych Wyk. II okienka 2 10 131 64 3 13 130 62,7 4 16 129 61,5 5 18 128 60 6 21 127 59