Dr inż. Bożena Mielczarek Symulacja dyskretna Dr inż. Bożena Mielczarek
Przykład prostego systemu kolejkowego Przychodzący klienci Stanowisko obsługi Wychodzący klienci Kolejka
Przykład prostego systemu kolejkowego Przychodzący klienci Obsłużeni klienci Stanowisko obsługi (Kasa) Kolejka (FIFO) Klient obsługiwany (na Stanowisku) 4 5 6 7 Cel badań: Zbadać sprawność obsługi klientów Wyznaczyć: czas oczekiwania w kolejce, długość kolejki, wykorzystanie stanowiska obsługi, koszt pobytu w systemie….
Obiekty zgłoszenia, transakcje, ang. entities “gracze”, którzy poruszają się po modelu, zmieniają się, oddziałują (i vice versa) na inne obiekty obiekty dynamiczne: są kreowane, przemieszczane przez model i niszczone w modelu może występować więcej niż jeden typ obiektów Obiekty pojawiają się zgodnie z pewnym schematem: deterministycznym lub losowym
Atrybuty cechy, własności charakteryzują wszystkie obiekty (opisują, różnicują) Obiekty jednego typu mają ten sam zestaw atrybutów ale o różnych wartościach: czas przybycia klienta do banku, priorytet obsługi Rodzaj wykonywanej operacji, ... Atrybut jest nierozerwalnie związany z obiektem
Zasoby Stanowiska obsługi, ang. Resources zgłoszenie zajmuje zasób, a następnie go zwalnia to zgłoszenie “rządzi” zasobem a nie odwrotnie (nawet kilkoma zasobami jednocześnie) zasób może mieć różną pojemność (miejsca przy stolikach w restauracji, kasy w supermarkecie, itd...) pojemność zasobu może się zmieniać w trakcie symulacji czas trwania obsługi może być opisany deterministycznie lub losowo
Kolejki QUEUES miejsce dla obiektów, gdzie czekają w przypadku gdy nie mogą podążać dalej są zwykle związane z zasobami mogą mieć ograniczoną pojemność lub nie Sposób wyboru zgłoszeń z kolejki może być różny: FIFO, LIFO, wg. Priorytetów,….
Model podstawowy Zadanie: Wyroby wprowadzane są na halę produkcyjną zgodnie z rozkładem wykładniczym o średniej 5 minut (inter arrival time) – Blok CREATE „Czesci przybywajace do systemu”. Następnie kierowane są na stanowisko obsługi o nazwie „Maszyna” gdzie poddawane są procesowi obróbki – blok PROCESS „Proces produkcji”. Czas trwania obróbki opisany jest rozkładem trójkątnym. Po za kończeniu obróbki wyroby opuszczają halę – blok DISPOSE „Czesci opuszczajace system”
Uruchamianie symulacji Arena Uruchamianie symulacji Ikona łączenia bloków Bloki „wrzucamy” do okna modelu za pomocą myszki UWAGA! Przy wypełnianiu okien dialogowych NIE NALEŻY używać polskich liter
Moduł Create Nazwa bloku (bez polskich liter) Typ zgłoszenia Czas pomiędzy przybywaniem kolejnych zgłoszeń EXPO= rozkład wykładniczy o średniej 5 minut (Value) Liczba zgłoszeń przybywających razem (jednocześnie) Maksymalna liczba zgłoszeń, które mogą opuścić moduł Create. Infinite = bez limitu Czas przybycia pierwszego zgłoszenia
Moduł Process Nazwa bloku Jak zgłoszenie „rządzi” stanowiskiem obsługi: SEIZE: zajmij stanowisko DELAY: spędź tam czas opisany rozkładem poniżej RELEASE: zwolnij stanowisko Określenie nazwy zasobu i liczby jednostek zasobu JEDNOCZEŚNIE obsługujących zgłoszenie. UWAGA: to nie jest liczba dostępnych Maszyn! Zdefiniowanie czasu przebywania zgłoszenia na stanowisku: TRIANGULAR=rozkład trójkątny(1,3,6)
Moduł Dispose Nazwa bloku Umożliwia zebranie statystyk (np. średni czas pobytu w systemie danego typu zgłoszeń)
Uruchamianie symulacji Liczba powtórzeń Pola powiązane ze sobą Czas trwania powtórzenia Bazowe jednostki symulacji Opcję RUN SETUP wybieramy z głównego Menu – opcja RUN
Animacja stanowiska obsługi
Animacja zgłoszenia
Wyniki: Czas oczekiwania w kolejce i długość kolejki
Wyniki: wykorzystanie zasobu
Model nr 2. (Książka rozdz.8.3) Wyroby napływają w tempie opisanym rozkładem wykładniczym o średniej 5 minut Po przybyciu kierowane są na pierwsze stanowisko, gdzie obróbka trwa TRIA(1,3,6) minut Po opuszczeniu pierwszego stanowiska wszystkie wyroby kierowane są na drugie stanowisko, gdzie poddawane są kolejnemu procesowi obróbki. Czas obsługi na stanowisku „2” jest taki sam jak na „1”. Po opuszczeniu drugiego stanowiska obsługi następuje kontrola jakości wyrobów, która trwa 5 minut. 80% wyrobów pomyślnie przechodzi test. Może zdarzyć się, że wyroby czekają na kontrolę w kolejce. System opuszczają wszystkie wyroby bez względu na wynik testu. Co można powiedzieć o pracy systemu? (Długość kolejek, czas oczekiwania, czas pobytu w systemie) 5 powtórzeń Czas symulacji=24 godziny Jednostki symulacji = minuty
Zadanie 2 do modelu 1
Moduł Decide
Czy przed drugim stanowiskiem będzie tworzyła się kolejka? DLACZEGO? Zadanie 2 do modelu 1, c.d. Należy policzyć liczbę wyrobów dobrych i złych oraz zebrać statystyki dot. czasu w kolejce, długości kolejek i wykorzystania stanowiska kontroli. (Moduł Decide). Dodaj wykresy śledzące długości kolejek i liczbę zajętych maszyn dla wszystkich trzech stanowisk. Czy przed drugim stanowiskiem będzie tworzyła się kolejka? DLACZEGO?
Moduł RECORD Arena zbiera automatycznie wiele statystyk końcowych, ale możemy potrzebować też inne. W zadaniu chcemy znać liczbę wyrobów dobrych i złych. Moduł Record zbiera i umieszcza w raporcie różne statystyki uwzględniając wszystkie zgłoszenia, które przejdą przez ten moduł.
Moduł RECORD Type—Typ naliczanej statystyki. Count zmniejszy lub zwiększy wartość statystyki o wskazaną wartość. Entity Statistics wygeneruje ogólne statystyki związane ze zgłoszeniem. Time Interval policzy i zapamięta różnicę pomiędzy wskazanym atrybutem a bieżącym czasem symulacji. Time Between wyznaczy i zapamięta czas pomiędzy wejściem dwóch kolejnych zgłoszeń do modułu. Expression wyznaczy wartość podanego wyrażenia.
Dynamiczny wykres Należy zbudować wykres śledzący długości trzech kolejek
Dynamiczny wykres: kolejka nr 1 Prawym klawiszem myszy – Build Expression Ta wartość powinna być równa długości jednego powtórzenia
Dynamiczny wykres