Jak działa silnik symulacji
Jak działa silnik symulacji
ProcessMind wykorzystuje silnik symulacji zdarzeń dyskretnych (DES) do modelowania procesów. Poznanie jego działania ułatwia konfigurację symulacji i prawidłową interpretację wyników. Silnik można przetestować na własnym procesie w ramach okresu próbnego.
Czym jest symulacja zdarzeń dyskretnych?
W symulacji zdarzeń dyskretnych stan systemu zmienia się tylko w określonych zdarzeniach. Zegar przeskakuje od jednego zdarzenia do następnego, a pomiędzy nimi nic się nie dzieje. To podejście sprawdza się w procesach biznesowych, ponieważ:
- Działania mają określony czas rozpoczęcia i zakończenia
- Zasoby są przydzielane i zwalniane w konkretnych momentach
- Sprawy wpływają i są kończone w określonych momentach
Dlaczego zdarzenia dyskretne?
W przeciwieństwie do symulacji ciągłej, stosowanej w fizyce i mechanice płynów, procesów biznesowych nie trzeba modelować chwila po chwili. Wniosek kredytowy nie przechodzi stopniowo ze stanu „złożony” do „zatwierdzony”. Jego stan zmienia się w określonych zdarzeniach.
Główna pętla zdarzeń
Silnik symulacji działa według prostej pętli:
1. Initialize: Set up starting conditions
2. Get Next Event: Find the earliest scheduled event from the priority queue
3. Advance Time: Move simulation clock to that event's time
4. Process Event: Handle the event (start activity, complete activity, etc.)
5. Schedule New Events: Based on what happened, add new events
6. Repeat: Continue until end time or max events reached (5,000,000)
7. Output: Generate the complete event log Rodzaje zdarzeń
Podczas symulacji generowanych i przetwarzanych jest kilka rodzajów zdarzeń:
| Rodzaj zdarzenia | Co się dzieje |
|---|---|
| Wpływ sprawy | Nowa sprawa rozpoczyna proces w zdarzeniu początkowym |
| Rozpoczęcie działania | Sprawa rozpoczyna działanie (przydzielane są zasoby) |
| Zakończenie działania | Sprawa kończy działanie (zasoby zostają zwolnione) |
| Ocena Gateway | Punkt decyzyjny określa, którą ścieżką lub ścieżkami podąża sprawa |
| Zakończenie sprawy | Sprawa dociera do zdarzenia końcowego |
Generowanie i napływ spraw
Sprawy trafiają do symulacji przez zdarzenia początkowe w modelu BPMN. Sposób ich napływu określa rozkład generowania spraw.
Domyślny wzorzec napływu
Domyślnie sprawy napływają zgodnie z rozkładem Poissona, w tempie jednej sprawy na godzinę. Powstają w ten sposób realistyczne, losowe odstępy między kolejnymi sprawami, typowe dla wielu procesów biznesowych.
Dostosowywanie napływu spraw
Różne wzorce napływu można skonfigurować za pomocą rozkładów opisanych w dokumentacji Rozkłady.
Przepływ spraw przez proces
Sequence Flow
Po zakończeniu elementu sprawa przechodzi od razu do kolejnego elementu zgodnie z wychodzącym Sequence Flow. Jeśli prowadzi tylko jedna ścieżka, sprawa przechodzi nią automatycznie.
Działanie Gateway
Gateway sterują rozgałęzianiem i łączeniem ścieżek spraw:
| Typ Gateway | Działanie |
|---|---|
| XOR (wykluczający) | Losowo wybierana jest dokładnie jedna ścieżka wychodząca, z uwzględnieniem przypisanych prawdopodobieństw. Prawdopodobieństwa są traktowane jako wagi względne i automatycznie normalizowane. |
| AND (równoległy) | Wszystkie ścieżki wychodzące są realizowane jednocześnie. Sprawa dzieli się na równoległe tokeny. |
| OR (włączający) | Losowo wybierane są ścieżki, przy czym co najmniej jedna z nich zawsze zostaje wybrana. |
| Zdarzeniowy | Losowy wybór spośród dostępnych zdarzeń. |
Ustawianie prawdopodobieństw
W przypadku Gateway XOR należy przypisać prawdopodobieństwa do poszczególnych ścieżek wychodzących. Są to wagi względne:
- Wartości 70, 20 i 10 zostaną znormalizowane do 70%, 20% i 10%
- Wartości 7, 2 i 1 dadzą ten sam wynik
- Nieprzypisane ścieżki otrzymują pozostałą część prawdopodobieństwa
Wykonywanie działań
Gdy sprawa dociera do zadania (działania), silnik wykonuje kolejno następujące kroki:
1. Sprawdź dostępność zasobów
Czy wymagany zasób ma wolną przepustowość?
2. Umieść sprawę w kolejce, jeśli to konieczne
Jeśli zasoby są niedostępne, sprawa trafia do kolejki oczekujących. Domyślnie ProcessMind stosuje kolejność FIFO (pierwsze weszło, pierwsze wyszło), czyli sprawy są przetwarzane w kolejności napływu.
3. Przydziel zasoby
Gdy zasoby staną się dostępne, wymagane jednostki zostaną zarezerwowane dla tej sprawy.
4. Wylosuj czas przetwarzania
Silnik losuje wartość z skonfigurowanego rozkładu czasu przetwarzania. Określa ona, ile potrwa działanie.
5. Zaplanuj zdarzenie zakończenia
Zdarzenie zakończenia zostaje dodane do kolejki zdarzeń o godzinie current_time + processing_time.
6. Zwolnij zasoby
Po wystąpieniu zdarzenia zakończenia zasoby wracają do puli i mogą zostać wykorzystane przy obsłudze innych spraw.
Minimalny czas przetwarzania
Aby zapewnić unikatowe znaczniki czasu i realistyczny przebieg symulacji, każde działanie trwa co najmniej 1 sekundę. Nawet przy rozkładzie o zerowym czasie trwania działanie potrwa co najmniej tyle.
Prawdopodobieństwo pominięcia
Dla działań można ustawić prawdopodobieństwo pominięcia (0–100%). Gdy działanie zostanie pominięte:
- Sprawa od razu przechodzi do następnego elementu
- Nie są zużywane żadne zasoby
- Nie upływa czas, poza minimalną 1 sekundą
- Działanie pojawia się w dzienniku z minimalnym czasem trwania
Pozwala to modelować sytuacje, w których niektóre kroki procesu są czasem pomijane.
Obsługa czasu
Zegar symulacji
Symulacja korzysta z wirtualnego zegara, który przesuwa się skokowo od jednego zdarzenia do następnego. Jeśli kolejne zdarzenie zaplanowano na 10:35, a bieżąca godzina to 10:30, zegar przeskakuje od razu do 10:35.
Jednostki czasu
Wszystkie czasy są wewnętrznie przeliczane na spójne jednostki. Czas trwania można podawać w:
- Sekundach
- Minutach
- Godzinach
- Dniach
Tempo napływu ustawia się osobno, na godzinę, dzień, tydzień, miesiąc lub rok.
Okresowość i przedziały czasu
Parametry mogą się zmieniać w zależności od czasu symulacji. Na przykład:
- Inne tempo napływu w dni robocze i w weekendy
- Inne czasy przetwarzania na porannej i popołudniowej zmianie
- Inna dostępność zasobów w godzinach szczytu
Szczegóły konfiguracji opisano w dokumentacji Okresowość.
Zarządzanie zasobami
Pule zasobów
Każdy zasób ma określoną przepustowość, czyli liczbę spraw, które może obsługiwać jednocześnie.
Zarządzanie kolejką
Gdy zapotrzebowanie przekracza dostępną przepustowość, sprawy czekają w kolejce. Domyślnie ProcessMind stosuje kolejność FIFO (pierwsze weszło, pierwsze wyszło), dzięki czemu sprawy są przetwarzane w kolejności napływu.
Generowanie dziennika zdarzeń
W trakcie symulacji każde wykonanie działania jest zapisywane w wynikowym dzienniku zdarzeń:
| Pole | Opis |
|---|---|
| Identyfikator sprawy | Unikatowy identyfikator każdej sprawy (nadawany kolejno) |
| Działanie | Nazwa elementu BPMN |
| Znacznik czasu rozpoczęcia | Czas rozpoczęcia działania |
| Znacznik czasu zakończenia | Czas zakończenia działania |
| Zasób | Zasób, który wykonał działanie |
| Atrybuty | Atrybuty sprawy w danym momencie |
Dziennik ma standardowy format i można go analizować za pomocą wszystkich narzędzi ProcessMind.
Ograniczenia symulacji
| Ograniczenie | Wartość | Cel |
|---|---|---|
| Maksymalna liczba zdarzeń | 5 000 000 | Zapobiega niekontrolowanemu przebiegowi symulacji |
| Minimalny czas trwania | 1 sekunda | Zapewnia unikatowe znaczniki czasu |
Zacznij od krótkiego okresu, a potem go wydłuż
Konfigurując nową symulację, zacznij od krótkiego okresu, na przykład kilku dni lub tygodni, aby sprawdzić ustawienia. Gdy model działa prawidłowo, można wydłużyć symulowany okres.
Następne kroki
Projektuj lepsze procesy. Buduj spójną architekturę. Zachowaj kontrolę.
Uzyskaj dostęp od razu, bez karty kredytowej i czekania. Przedstaw sposób działania organizacji w postaci przejrzystych, powiązanych modeli procesów.
Buduj architekturę procesów, określaj właścicieli i mechanizmy kontroli oraz uzgadniaj role i zakresy odpowiedzialności na każdym poziomie.
Rozpocznij okres próbny i stwórz solidną podstawę do nadzorowania, zarządzania i ciągłego doskonalenia procesów.