Przykład modelowania symulacyjnego procesu funkcjonowania układu hydraulicznego. Modelowanie symulacyjne: tworzenie warunków

Tworząc metodologię modelowania symulacyjnego, musiałem zrozumieć pojęcia. Problem polegał na tym, że konwencjonalne terminy nie nadawały się do opisu danych statystycznych zebranych w procesie symulacji. Warunki: proces I instancje procesów były nie do przyjęcia, ponieważ nie mogłem pracować w paradygmacie Arystotelesa. Paradygmat Arystotelesa nie pasuje do sprzętu, którego używałem. Jednocześnie praktyczne zastosowanie tej techniki było proste – modelowanie i symulacja obiektów biznesowych na potrzeby podejmowania decyzji zarządczych. Program stworzył wirtualny obiekt, którego opis składał się z opisu scenariuszy i ich interakcji. W programie uruchomiono scenariusze oraz zamodelowano zasoby i interakcje między nimi.

Przypomnę, że:

Modelowanie symulacyjne- metoda badania obiektów polegająca na zastąpieniu badanego obiektu obiektem symulującym. Eksperymenty przeprowadza się na obiekcie symulacyjnym (bez uciekania się do eksperymentów na obiekcie rzeczywistym), w wyniku czego uzyskuje się informacje o badanym obiekcie. Obiekt symulacyjny jest obiektem informacyjnym.

Cel modelowania symulacyjnego- uzyskanie przybliżonej wiedzy o określonym parametrze obiektu bez bezpośredniego pomiaru jego wartości. Oczywiste jest, że jest to konieczne wtedy i tylko wtedy, gdy pomiar nie jest możliwy lub kosztuje więcej niż symulacja. Ponadto do badania tego parametru możemy wykorzystać inne znane parametry obiektu oraz model jego konstrukcji. Zakładając, że model projektowy opisuje obiekt dość dokładnie, zakłada się, że rozkłady statystyczne wartości parametrów modelowanego obiektu uzyskane podczas symulacji będą w pewnym stopniu pokrywać się z rozkładem wartości parametrów obiektu prawdziwy przedmiot.

Oczywiste jest, że użyty sprzęt to matematyka statystyczna. Jest oczywiste, że w statystyce matematycznej nie używa się terminów instancje i typy. Działa z obiektami i zbiorami. W rezultacie do napisania metodologii zmuszony byłem posłużyć się paradygmatem logicznym, na podstawie którego stworzono normę ISO 15926. Jej podstawą jest obecność obiektów, klas i klas klas.

Przykładowe definicje:

Operacja

Wydarzenie


Rysunek przedstawia relację pomiędzy bytami: zdarzenia są zebrane w klasy zdarzeń. Klasę zdarzeń opisuje się za pomocą obiektu katalogu „Events”. Zdarzenia jednej klasy są przedstawiane na diagramach procesów za pomocą elementów graficznych. Na podstawie obiektu katalogu zdarzeń silnik symulacji tworzy symulowane zdarzenia.

Proces

  1. Symulowany proces: Sekwencja symulowanych operacji. Wygodnie jest opisać tę sekwencję w formie wykresu Gantta. Opis zawiera wydarzenia. Na przykład zdarzenia: „start procesu” i „koniec procesu”.
  2. Proces symulowania: Obiekt stworzony w celu symulacji modelowanego procesu. Obiekt ten tworzony jest w pamięci komputera w trakcie trwania symulacji.
  3. Klasa symulowanych procesów: Zbiór symulowanych procesów, połączonych według jakiejś cechy. Najbardziej powszechną unią jest suma procesów, które mają wspólny model. Jako model można zastosować diagram procesu wykonany w dowolnej notacji modelującej: Proces, Procedura, EPC, BPMN.
  4. Klasa procesów symulacyjnych: Wiele symulowanych procesów stworzonych w ramach symulacji w celu symulacji działania.
  5. Proces ( jako obiekt w katalogu): Obiekt katalogu „Procesy.
  6. Proces ( schemat procesu): Model procesów jednej klasy wykonany w formie diagramu. W oparciu o ten model tworzone są procesy symulacyjne.

Wniosek

Dziękuję za uwagę. Mam szczerą nadzieję, że moje doświadczenie przyda się tym, którzy chcą rozróżnić powyższe obiekty. Problem obecnego stanu branży jest taki, że podmioty nazwane jednym terminem przestają się różnić w świadomości analityków. Próbowałem dać ci przykład, jak możesz myśleć i jak możesz wprowadzać terminy, aby rozróżnić różne byty. Mam nadzieję, że lektura była interesująca.

Modelowanie symulacyjne jest potężnym narzędziem do badania zachowania rzeczywistych systemów. Metody modelowania symulacyjnego pozwalają zebrać niezbędne informacje o zachowaniu systemu poprzez stworzenie jego modelu komputerowego. Informacje te są następnie wykorzystywane do projektowania systemu.

Celem modelowania symulacyjnego jest odtworzenie zachowania badanego systemu na podstawie wyników analizy najistotniejszych zależności pomiędzy jego elementami w obszarze przedmiotowym w celu przeprowadzenia różnorodnych eksperymentów.

Modelowanie symulacyjne pozwala symulować zachowanie systemu w czasie. Ponadto zaletą jest to, że czas w modelu można kontrolować: zwalniać w przypadku szybkich procesów i przyspieszać w przypadku modelowania systemów o małej zmienności. Można naśladować zachowanie obiektów, z którymi rzeczywiste eksperymenty są kosztowne, niemożliwe lub niebezpieczne.

Modelowanie symulacyjne stosuje się, gdy:

1. Eksperymentowanie na prawdziwym przedmiocie jest kosztowne lub niemożliwe.

2. Nie da się zbudować modelu analitycznego: w układzie występuje czas, związki przyczynowe, konsekwencje, nieliniowości, zmienne stochastyczne (losowe).

3. Należy symulować zachowanie systemu w czasie.

Imitacja, jako metoda rozwiązywania nietrywialnych problemów, swój początkowy rozwój otrzymała w związku z tworzeniem komputerów w latach 1950-1960.

Istnieją dwa rodzaje imitacji:

1. Metoda Monte Carlo (statystyczna metoda badawcza);

2. Metoda modelowania symulacyjnego (modelowanie statystyczne).

Obecnie istnieją trzy obszary modeli symulacyjnych:

1. Modelowanie agentowe to stosunkowo nowy (lata 90.-2000.) kierunek modelowania symulacyjnego, który służy do badania systemów zdecentralizowanych, których dynamikę wyznaczają nie globalne reguły i prawa (jak w innych paradygmatach modelowania), ale odwrotnie odwrotnie. Kiedy te globalne zasady i prawa są wynikiem indywidualnej działalności członków grupy.

Celem modeli agentowych jest zrozumienie tych globalnych reguł, ogólnego zachowania systemu, w oparciu o założenia dotyczące indywidualnego, prywatnego zachowania jego poszczególnych aktywnych obiektów i interakcji tych obiektów w systemie. Agent to pewna jednostka, która ma aktywność, autonomiczne zachowanie, może podejmować decyzje zgodnie z określonym zestawem reguł, wchodzić w interakcje z otoczeniem, a także zmieniać się niezależnie.

2. Modelowanie zdarzeń dyskretnych to podejście do modelowania, które proponuje abstrakcję od ciągłego charakteru zdarzeń i uwzględnienie jedynie głównych zdarzeń symulowanego systemu, takich jak „oczekiwanie”, „przetwarzanie zamówienia”, „przemieszczanie się z ładunkiem”, „ rozładunek” i inne. Modelowanie zdarzeń dyskretnych jest najbardziej rozwinięte i ma ogromną gamę zastosowań – od systemów logistycznych i kolejkowych po systemy transportowe i produkcyjne. Ten typ modelowania jest najbardziej odpowiedni do modelowania procesów produkcyjnych.


3. Dynamika systemu to paradygmat modelowania, w którym dla badanego układu konstruuje się graficzne diagramy zależności przyczynowych i globalnego wpływu jednych parametrów na inne w czasie, a następnie model utworzony na podstawie tych diagramów poddaje się symulacji komputerowej. W istocie ten typ modelowania, bardziej niż wszystkie inne paradygmaty, pomaga zrozumieć istotę ciągłego identyfikowania związków przyczynowo-skutkowych pomiędzy obiektami i zjawiskami. Wykorzystując dynamikę systemu budowane są modele procesów biznesowych, rozwoju miast, modeli produkcji, dynamiki populacji, ekologii i rozwoju epidemii.

Podstawowe pojęcia budowy modeli

Modelowanie symulacyjne polega na odtworzeniu za pomocą komputerów procesu funkcjonowania systemu rozłożonego w czasie, z uwzględnieniem interakcji ze środowiskiem zewnętrznym.

Podstawą każdego modelu symulacyjnego (IM) jest:

· opracowanie modelu badanego systemu w oparciu o prywatne modele symulacyjne (moduły) podsystemów połączonych interakcjami w jedną całość;

· dobór cech informacyjnych (integracyjnych) obiektu, metody ich pozyskiwania i analizy;

· zbudowanie modelu wpływu środowiska zewnętrznego na system w postaci zestawu modeli symulacyjnych czynników zewnętrznych;

· wybór metody badania modelu symulacyjnego zgodnie z metodami planowania eksperymentów symulacyjnych (IE).

Konwencjonalnie model symulacyjny można przedstawić w postaci bloków operacyjnych, zaimplementowanych w oprogramowaniu (lub sprzęcie).

Rysunek przedstawia strukturę modelu symulacyjnego. Blok symulacji wpływów zewnętrznych (ESI) generuje implementacje procesów losowych lub deterministycznych symulujących wpływ środowiska zewnętrznego na obiekt. Jednostka przetwarzania wyników (RPB) ma za zadanie uzyskać charakterystykę informacyjną badanego obiektu. Niezbędne do tego informacje pochodzą z bloku matematycznego modelu obiektu (BMO). Jednostka sterująca (BUIM) wdraża metodę badania modelu symulacyjnego, jej głównym celem jest automatyzacja procesu przeprowadzania IE.

Celem modelowania symulacyjnego jest skonstruowanie IM obiektu i przeprowadzenie na nim IE w celu zbadania wzorców funkcjonowania i zachowań, z uwzględnieniem zadanych ograniczeń i docelowych funkcji w warunkach symulacji i interakcji ze środowiskiem zewnętrznym.

Zasady i metody budowy modeli symulacyjnych

Proces funkcjonowania układu złożonego można rozpatrywać jako zmianę jego stanów, opisywaną jego zmiennymi fazowymi

Z1(t), Z2(t), Zn(t) w przestrzeni n - wymiarowej.

Zadaniem modelowania symulacyjnego jest uzyskanie trajektorii ruchu rozpatrywanego układu w przestrzeni n-wymiarowej (Z1, Z2, Zn), a także obliczenie niektórych wskaźników zależnych od sygnałów wyjściowych układu i scharakteryzowanie jego właściwości .

W tym przypadku „ruch” układu rozumiany jest w sensie ogólnym – jako każda zmiana w nim zachodząca.

Znane są dwie zasady konstruowania modelu procesowego funkcjonowania systemów:

1. Zasada Δt dla układów deterministycznych

Załóżmy, że stan początkowy układu odpowiada wartościom Z1(t0), Z2(t0), Zn(t0). Zasada Δt polega na przekształceniu modelu układu do takiej postaci, że wartości Z1, Z2, Zn w chwili t1 = t0 + Δt można obliczyć poprzez wartości początkowe, a w chwili t2 = t1+ Δt poprzez wartości ​​w poprzednim kroku i tak dalej dla każdego i-tego kroku (t = const, i = 1 M).

W przypadku systemów, w których czynnikiem decydującym jest losowość, zasada Δt jest następująca:

1. W pierwszym kroku wyznaczany jest warunkowy rozkład prawdopodobieństwa (t1 = t0+ Δt) dla wektora losowego, oznaczmy go (Z1, Z2, Zn). Warunkiem jest, aby stan początkowy układu odpowiadał punktowi trajektorii.

2. Wartości współrzędnych punktu trajektorii układu (t1 = t0+ Δt) oblicza się jako wartości współrzędnych losowego wektora określonego rozkładem znalezionym w poprzednim kroku.

3. Warunkowy rozkład wektora znajdujemy w drugim kroku (t2 = t1 + Δ t), pod warunkiem, że w pierwszym kroku otrzymamy odpowiednie wartości itd., aż ti = t0 + i Δ t przyjmie wartość (tM = t0 + M Δ t).

Zasada Δ t jest uniwersalna i ma zastosowanie w szerokiej klasie systemów. Jego wadą jest to, że jest nieekonomiczny pod względem czasu pracy maszyny.

2. Zasada stanów specjalnych (zasada δz).

Rozpatrując określone typy układów, można wyróżnić dwa typy stanów δz:

1. Normalny, w którym układ znajduje się przez większość czasu, natomiast Zi(t), (i=1 n) zmienia się płynnie;

2. Specyficzne, charakterystyczne dla systemu w określonych momentach czasu, a stan systemu zmienia się gwałtownie w tych momentach.

Zasada stanów specjalnych różni się od zasady Δt tym, że kroki czasowe w tym przypadku nie są stałe, mają wartość losową i są obliczane na podstawie informacji o poprzednim stanie specjalnym.

Przykładami systemów, które mają specjalne stany, są systemy kolejkowe. Stany specjalne pojawiają się po otrzymaniu żądań, zwolnieniu kanałów itp.

Podstawowe metody modelowania symulacyjnego.

Głównymi metodami modelowania symulacyjnego są: metoda analityczna, metoda modelowania statycznego oraz metoda łączona (analityczno-statystyczna).

Metodę analityczną stosuje się do symulacji procesów głównie dla małych i prostych układów, w których nie występuje czynnik losowości. Metoda ta nosi nazwę umowną, gdyż łączy w sobie możliwości symulacji procesu, którego model uzyskuje się w postaci rozwiązania zamkniętego analitycznie lub rozwiązania uzyskanego metodami matematyki obliczeniowej.

Metoda modelowania statystycznego została pierwotnie opracowana jako metoda testów statystycznych (Monte Carlo). Jest to metoda numeryczna polegająca na uzyskiwaniu oszacowań cech probabilistycznych, które pokrywają się z rozwiązaniem problemów analitycznych (na przykład rozwiązywaniem równań i obliczaniem całki oznaczonej). Następnie metodę tę zaczęto stosować do symulacji procesów zachodzących w układach, w których występuje źródło losowości lub które podlegają wpływom losowym. Nazywa się to metodą modelowania statystycznego.

Metoda łączona (analityczno-statystyczna) pozwala na połączenie zalet metod modelowania analitycznego i statystycznego. Stosuje się go w przypadku budowania modelu składającego się z różnych modułów reprezentujących zbiór modeli zarówno statystycznych, jak i analitycznych, które współdziałają jako jedna całość. Ponadto zestaw modułów może obejmować nie tylko moduły odpowiadające modelom dynamicznym, ale także moduły odpowiadające statycznym modelom matematycznym.

Pytania autotestowe

1. Zdefiniować, czym jest optymalizacyjny model matematyczny.

2. Do czego można wykorzystać modele optymalizacyjne?

3. Określić cechy modelowania symulacyjnego.

4. Scharakteryzować metodę modelowania statystycznego.

5. Co to jest model „czarnej skrzynki”, model kompozycji, model struktury, model „białej skrzynki”?

Modele symulacyjne

Model symulacyjnyodtwarza zachowaniestworzenie złożonego systemu oddziałujących na siebie elementówTowarzysz Modelowanie symulacyjne charakteryzuje się występowaniem następujących okoliczności (wszystkie lub niektóre z nich jednocześnie):

  • przedmiotem modelowania jest złożony układ heterogeniczny;
  • symulowany system zawiera czynniki o losowym zachowaniu;
  • wymagane jest uzyskanie opisu procesu rozwijającego się w czasie;
  • Uzyskanie wyników symulacji bez użycia komputera jest zasadniczo niemożliwe.

Stan każdego elementu symulowanego układu opisywany jest za pomocą zestawu parametrów, które przechowywane są w pamięci komputera w postaci tabel. Interakcja elementów systemu opisana jest algorytmicznie. Modelowanie odbywa się w trybie krok po kroku. Na każdym etapie modelowania zmieniają się wartości parametrów systemu. Program realizujący model symulacyjny odzwierciedla zmiany stanu systemu, generując wartości jego wymaganych parametrów w postaci tabel w odstępach czasowych lub w sekwencji zdarzeń zachodzących w systemie. Do wizualizacji wyników modelowania często wykorzystuje się reprezentację graficzną m.in. ożywiony.

Modelowanie deterministyczne

Model symulacyjny opiera się na imitacji procesu rzeczywistego (imitacji). Przykładowo, modelując zmianę (dynamikę) liczby mikroorganizmów w kolonii, można uwzględnić wiele pojedynczych obiektów i monitorować losy każdego z nich, ustalając określone warunki jego przetrwania, rozmnażania itp. Warunki te są zwykle określane ustnie. Przykładowo: po pewnym czasie mikroorganizm dzieli się na dwie części, a po kolejnym (dłuższym) czasie umiera. Spełnienie opisanych warunków jest algorytmicznie zaimplementowane w modelu.

Inny przykład: modelowanie ruchu cząsteczek w gazie, gdzie każda cząsteczka jest reprezentowana jako kula o określonym kierunku i prędkości ruchu. Oddziaływanie dwóch cząsteczek lub cząsteczki ze ścianą naczynia zachodzi zgodnie z prawami zderzenia absolutnie sprężystego i można je łatwo opisać algorytmicznie. Całkową (ogólną, uśrednioną) charakterystykę systemu uzyskuje się na poziomie statystycznego przetwarzania wyników modelowania.

Taki eksperyment komputerowy faktycznie ma na celu odtworzenie eksperymentu na pełną skalę. Na pytanie: „Dlaczego musisz to zrobić?” możemy udzielić następującej odpowiedzi: symulacja pozwala wyizolować „w czystej postaci” konsekwencje hipotez osadzonych w wyobrażeniach o mikrozdarzeniach (tj. na poziomie elementów systemu), uwalniając je od nieuniknionego wpływu innych czynników w naturalny eksperyment, o którym być może nawet nie wiemy o podejrzanym. Jeżeli w takim modelowaniu uwzględnione zostaną także elementy matematycznego opisu procesów na poziomie mikro, a badacz nie postawi sobie za zadanie znalezienia strategii regulowania wyników (np. kontrolowania wielkości kolonii mikroorganizmów), to różnica pomiędzy modelem symulacyjnym a matematycznym (opisowym) okazuje się dość warunkowa.

Powyższe przykłady modeli symulacyjnych (ewolucja kolonii mikroorganizmów, ruch cząsteczek w gazie) prowadzą do deterministycznyłazienka opis systemów. Brakuje im elementów prawdopodobieństwa i losowości zdarzeń w symulowanych systemach. Rozważmy przykład modelowania systemu, który ma te cechy.

Modele procesów losowych

Kto nie stał w kolejce i niecierpliwie zastanawiał się, czy uda mu się dokonać zakupu (lub opłacić czynsz, pojeździć na karuzeli itp.) w dostępnym mu czasie? Albo, próbując zadzwonić na infolinię i kilka razy słyszysz krótkie sygnały, denerwujesz się i oceniasz, czy dam radę, czy nie? Z takich „prostych” problemów narodziła się na początku XX wieku nowa gałąź matematyki – teoria kolejek, wykorzystująca aparat rachunku prawdopodobieństwa i statystyki matematycznej, równań różniczkowych i metod numerycznych. Następnie okazało się, że teoria ta ma liczne implikacje w ekonomii, sprawach wojskowych, organizacji produkcji, biologii i ekologii itp.

Istotną rolę odgrywa modelowanie komputerowe w rozwiązywaniu problemów kolejkowych, realizowane w formie statystycznej metody testowej (metoda Monte Carlo). Możliwości metod analitycznych rozwiązywania rzeczywistych problemów kolejkowych są bardzo ograniczone, natomiast metoda badań statystycznych jest uniwersalna i stosunkowo prosta.

Rozważmy najprostszy problem tej klasy. Jest sklep z jednym sprzedawcą, do którego klienci wchodzą losowo. Jeśli sprzedawca jest wolny, natychmiast zaczyna obsługiwać kupującego, jeśli jednocześnie wejdzie kilku kupujących, tworzy się kolejka. Jest wiele innych podobnych sytuacji:

  • plac napraw pojazdów mechanicznych i autobusów, które opuściły linię w wyniku awarii;
  • izba przyjęć oraz pacjenci, którzy zgłosili się na wizytę w związku z kontuzją (tj. bez systemu wizyt);
  • centrala telefoniczna z jednym wejściem (lub jednym operatorem telefonicznym) i abonentami, którzy w przypadku zajętości wejścia ustawiani są w kolejce (taki system czasami jest
    doświadczony);
  • serwer sieci lokalnej i komputery osobiste w miejscu pracy, które wysyłają wiadomość do serwera zdolnego do odbierania i przetwarzania nie więcej niż jednej wiadomości na raz.

Proces przychodzenia klientów do sklepu jest procesem losowym. Odstępy czasowe pomiędzy przybyciem dowolnej kolejnej pary kupujących są niezależnymi zdarzeniami losowymi rozłożonymi według pewnego prawa, które można ustalić jedynie na podstawie licznych obserwacji (lub przyjąć do modelowania jakąś ich wiarygodną wersję). Drugim procesem losowym w tym problemie, który nie jest w żaden sposób powiązany z pierwszym, jest czas obsługi każdego klienta.

Celem modelowania systemów tego typu jest uzyskanie odpowiedzi na szereg pytań. Stosunkowo proste pytanie – jaki jest średni czas oczekiwania w kolejce po dane prawa rozkładu powyższych zmiennych losowych? Trudniejsze pytanie; Jaki jest rozkład czasów oczekiwania na obsługę w kolejce? Równie trudne pytanie: przy jakich proporcjach parametrów rozkładów wejściowych nastąpi kryzys, w którym kolej nowo wchodzącego nabywcy nigdy nie nastąpi? Kiedy myślisz o tym stosunkowo prostym zadaniu, możliwe pytania się mnożą.

Metoda modelowania wygląda tak ogólnie. Stosowane wzory matematyczne to prawa rozkładu początkowych zmiennych losowych; użyte stałe numeryczne są parametrami empirycznymi zawartymi w tych wzorach. Nie rozwiązano żadnych równań, które można by zastosować w analitycznym badaniu tego problemu. Zamiast tego symulowana jest kolejka, rozgrywana przy użyciu programów komputerowych, które generują liczby losowe z określonymi prawami dystrybucji. Następnie przeprowadza się obróbkę statystyczną zbioru uzyskanych wartości wielkości określonych przez zadane cele modelowania. Ustalana jest np. optymalna liczba sprzedawców dla różnych okresów godzin otwarcia sklepu, co zapewni brak kolejek. Stosowany tu aparat matematyczny nazywa się metody statystyki matematycznej.

Inny przykład opisano w artykule „Modelowanie systemów i procesów ekologicznych” imitacjanie modelowanie: jeden z wielu modeli układu drapieżnik-ofiara. Osobniki gatunków pozostające we wskazanych związkach, według pewnych reguł zawierających elementy przypadku, poruszania się, drapieżniki zjadają ofiary, obaj się rozmnażają itp. Taki model nie zawiera żadnych wzorów matematycznych, ale wymaga Przy okazjistatyczny przetwarzanie wyników.

Przykład algorytmu deterministycznego model symulacyjny

Rozważmy model symulacyjny ewolucji populacji organizmów żywych, zwany „Życiem”, który jest łatwy do wdrożenia w dowolnym języku programowania.

Aby skonstruować algorytm gry, rozważ kwadratowe pole n -\- 1 kolumny i wiersze o regularnej numeracji od 0 do P. Dla wygody skrajne kolumny i wiersze graniczne definiujemy jako „martwą strefę”, pełnią one jedynie rolę pomocniczą;

Dla dowolnej komórki wewnętrznej pola o współrzędnych (i,j) można zdefiniować 8 sąsiadów. Jeśli komórka jest „żywa”, zamalowujemy ją; jeśli komórka jest „martwa”, to pusty.

Ustalmy zasady gry. Jeżeli komórka (i,j) jest „żywa” i jest otoczona przez więcej niż trzy „żywe” komórki, umiera (z powodu przeludnienia). „Żywa” komórka również umiera, jeśli w jej otoczeniu znajdują się mniej niż dwie „żywe” komórki (z samotności). „Martwa” komórka ożywa, jeśli wokół niej pojawią się trzy „żywe” komórki.

Dla wygody wprowadzamy tablicę dwuwymiarową A, których elementy przyjmują wartość 0, jeśli odpowiednia komórka jest pusta, i 1, jeśli komórka jest „aktywna”. Następnie algorytm wyznaczania stanu komórki wraz ze współrzędnymi (I, J) można zdefiniować w następujący sposób:

S:=A+A+A+A+A+A+A+A;
Jeśli (A = 1) I (S > 3) Lub (S< 2)) Then B: =0;
Jeśli (A = 0) I (S = 3)
Wtedy B: = 1;

Tutaj tablica definiuje współrzędne pola w kolejnym etapie Dla wszystkich komórek wewnętrznych od i = 1 do n - 1 i j = 1 do n - 1, powyższe jest prawdziwe. Należy pamiętać, że kolejne generacje wyznaczane są podobnie, po prostu muszą przeprowadzić procedurę przeniesienia:

Dla I: = 1 Następnie N - 1 Zrób
Dla J: = 1 Następnie N - 1 Zrób
O:=B;

Wygodniej jest wyświetlać stan pola na ekranie wyświetlacza nie w formie matrycy, ale w formie graficznej.
Pozostaje tylko określić procedurę ustalania wstępnej konfiguracji pola gry. Do losowego określania stanu początkowego komórek odpowiedni jest algorytm

Dla I: = 1 Do K Do
Rozpocznij K1: = Losowy (N-1);
K2:= Losowy (N-1)+1;
Koniec;

Bardziej interesujące dla użytkownika jest samodzielne ustawienie początkowej konfiguracji, co jest łatwe do wdrożenia. W wyniku eksperymentów z tym modelem można znaleźć np. stabilne osady organizmów żywych, które nigdy nie umierają, pozostając niezmienione lub zmieniając swoją konfigurację przez pewien czas. Absolutnie niestabilne (zanikające w drugim pokoleniu) jest osadnictwo „krzyżowe”.

Na podstawowym kursie informatyki studenci mogą wdrożyć model symulacji życia w ramach sekcji „Wprowadzenie do programowania”. Bardziej dogłębne opanowanie modelowania symulacyjnego można uzyskać w szkole średniej na specjalistycznym lub fakultatywnym kursie z informatyki. Ta opcja zostanie omówiona poniżej.

Zajęcia rozpoczynają się wykładem na temat modelowania symulacyjnego procesów losowych. W szkołach rosyjskich pojęcia teorii prawdopodobieństwa i statystyki matematycznej dopiero zaczynają być wprowadzane na kursy matematyki, a nauczyciel powinien być przygotowany na wprowadzenie do tego materiału, który jest niezbędny do kształtowania światopoglądu i kultury matematycznej. Podkreślamy, że mówimy o elementarnym wprowadzeniu w zakres omawianych pojęć; można to zrobić w ciągu 1-2 godzin.

Następnie omawiamy zagadnienia techniczne związane z komputerowym generowaniem ciągów liczb losowych przy zadanym prawie rozkładu. W tym przypadku możemy polegać na tym, że każdy uniwersalny język programowania posiada czujnik liczb losowych równomiernie rozłożonych w przedziale od 0 do 1. Niewłaściwe jest na tym etapie wchodzenie w złożoną kwestię zasad jego realizacji. W oparciu o istniejące czujniki liczb losowych pokazujemy, jak to zorganizować

a) generator liczb losowych o równomiernym rozkładzie na dowolnym segmencie [a, b];

b) generator liczb losowych w ramach niemal dowolnego prawa dystrybucji (np. wykorzystując intuicyjnie przejrzystą metodę „wyboru-odrzucenia”).

Rozważanie opisanego powyżej problemu kolejkowania warto rozpocząć od omówienia historii rozwiązywania problemów kolejkowania (problem Erlanga obsługi zgłoszeń w centrali telefonicznej). Następnie rozważymy najprostszy problem, który można sformułować na przykładzie tworzenia i sprawdzania kolejki w sklepie z jednym sprzedawcą. Należy pamiętać, że na pierwszym etapie modelowania można przyjąć, że rozkłady zmiennych losowych na wejściu są jednakowo prawdopodobne, co choć nierealne, eliminuje szereg trudności (do generowania liczb losowych można po prostu wykorzystać czujnik wbudowany w język programowania).

Zwracamy uwagę uczniów na to, jakie pytania padają w pierwszej kolejności przy modelowaniu tego typu układów. Po pierwsze, jest to obliczenie wartości średnich (oczekiwań matematycznych) niektórych zmiennych losowych. Na przykład, jaki jest średni czas oczekiwania w kolejce do kasy? Lub: znajdź średni czas, jaki sprzedawca spędza na czekaniu na kupującego.

Zadaniem nauczyciela jest w szczególności wyjaśnienie, że środki próbki same w sobie są zmiennymi losowymi; w innej próbce tej samej wielkości będą miały różne wartości (przy dużych próbach - niezbyt różniących się od siebie). Możliwe są dalsze opcje: bardziej przygotowanemu słuchaczowi można pokazać metodę szacowania przedziałów ufności, w której mieszczą się matematyczne oczekiwania odpowiednich zmiennych losowych przy danych prawdopodobieństwach ufności (używając metod znanych ze statystyki matematycznej bez próby ich uzasadnienia). Dla mniej przygotowanej publiczności możemy ograniczyć się do stwierdzenia czysto empirycznego: jeśli w kilku próbkach o jednakowej wielkości średnie wartości pokrywają się z pewnym miejscem po przecinku, to najprawdopodobniej ten znak jest poprawny. Jeżeli symulacja nie zapewnia pożądanej dokładności, należy zwiększyć liczebność próby.

Jeszcze bardziej przygotowanemu matematycznie odbiorcy można postawić pytanie: jaki jest rozkład zmiennych losowych będących wynikami modelowania statystycznego, przy danych rozkładach zmiennych losowych będących jego parametrami wejściowymi? Ponieważ przedstawienie odpowiedniej teorii matematycznej w tym przypadku jest niemożliwe, powinniśmy ograniczyć się do technik empirycznych: konstruowania histogramów rozkładów końcowych i porównywania ich z kilkoma typowymi funkcjami rozkładu.

Po opanowaniu początkowych umiejętności tego modelowania przechodzimy do bardziej realistycznego modelu, w którym rozłożone są strumienie wejściowe zdarzeń losowych, na przykład według Poissona. Będzie to wymagało od studentów dodatkowego opanowania metody generowania ciągów liczb losowych z określonym prawem rozkładu.

W rozpatrywanym problemie, jak i w każdym bardziej złożonym problemie dotyczącym kolejek, może zaistnieć sytuacja krytyczna, gdy kolejka będzie rosła w nieograniczonym czasie. Modelowanie podejścia do sytuacji krytycznej w miarę wzrostu jednego z parametrów jest ciekawym zadaniem badawczym dla najlepiej przygotowanych studentów.

Na przykładzie problemu z kolejką można ćwiczyć jednocześnie kilka nowych koncepcji i umiejętności:

  • koncepcje procesów losowych;
  • koncepcje i podstawowe umiejętności modelowania symulacyjnego;
  • budowa optymalizacyjnych modeli symulacyjnych;
  • budowanie modeli wielokryterialnych (poprzez rozwiązywanie problemów dotyczących najbardziej racjonalnej obsługi klienta w połączeniu z interesami
    właściciel sklepu).

Ćwiczenia :

    1. Narysuj diagram kluczowych pojęć;
  • Wybierz zadania praktyczne wraz z rozwiązaniami do kursów podstawowych i specjalistycznych z informatyki.

Model jest abstrakcyjnym opisem systemu, którego poziom szczegółowości ustala sam badacz. Osoba podejmuje decyzję, czy dany element systemu jest niezbędny, a co za tym idzie, czy zostanie uwzględniony w opisie systemu. Decyzja ta podejmowana jest z uwzględnieniem celu leżącego u podstaw opracowania modelu. Sukces modelowania zależy od tego, jak dobrze badacz jest w stanie zidentyfikować istotne elementy i relacje między nimi.

System jest postrzegany jako składający się z wielu powiązanych ze sobą elementów, połączonych w celu pełnienia określonej funkcji. Definicja systemu jest w dużej mierze subiektywna, tj. zależy to nie tylko od celu przetwarzania modelu, ale także od tego, kto dokładnie definiuje system.

Zatem proces modelowania rozpoczyna się od określenia celu opracowania modelu, na podstawie którego zostanie zbudowany granice systemu I wymagany poziom szczegółowości symulowane procesy. Wybrany poziom szczegółowości powinien pozwalać na abstrakcję od aspektów funkcjonowania rzeczywistego systemu, które ze względu na brak informacji nie są precyzyjnie określone. Dodatkowo opis systemu musi zawierać kryteria efektywności systemu oraz ocenione rozwiązania alternatywne, które można uwzględnić jako część modelu lub jako jego dane wejściowe. Oceny alternatywnych rozwiązań oparte na zadanych kryteriach wydajnościowych uważa się za wyniki modelu. Zazwyczaj ocena alternatyw wymaga zmian w opisie systemu, a co za tym idzie, przebudowy modelu. Dlatego w praktyce proces budowy modelu jest iteracyjny. Gdy na podstawie ocen rozwiązań alternatywnych możliwe będzie sformułowanie zaleceń, można rozpocząć wdrażanie wyników modelowania. Jednocześnie rekomendacje powinny jasno formułować zarówno główne decyzje, jak i warunki ich realizacji.

Modelowanie symulacyjne(w szerokim znaczeniu) to proces konstruowania modelu rzeczywistego systemu i przeprowadzania eksperymentów na tym modelu w celu zrozumienia zachowania systemu lub oceny (w ramach narzuconych ograniczeń) różnych strategii zapewniających funkcjonowanie tego systemu .

Modelowanie symulacyjne(w wąskim znaczeniu) to reprezentacja dynamicznego zachowania systemu poprzez przechodzenie go z jednego stanu do drugiego zgodnie ze znanymi regułami działania (algorytmami).

Aby więc stworzyć model symulacyjny, należy zidentyfikować i opisać stan systemu oraz algorytmy (zasady) jego zmiany. Jest to następnie zapisywane w kategoriach jakiegoś narzędzia modelującego (język algorytmiczny, język specjalistyczny) i przetwarzane na komputerze.

Model symulacyjny(IM) to logiczno-matematyczny opis układu, który można wykorzystać podczas eksperymentów na komputerze cyfrowym.

MI można wykorzystać do projektowania, analizowania i oceny funkcjonowania systemów. Eksperymenty maszynowe przeprowadzane są za pomocą IM, co pozwala wyciągnąć wnioski na temat zachowania się systemu:

· w przypadku braku jego konstrukcji, jeżeli jest to układ projektowany;

· bez ingerencji w jego funkcjonowanie, jeśli jest to system istniejący, z którym eksperymentowanie jest niemożliwe lub niepożądane (wysokie koszty, niebezpieczeństwo);

· bez niszczenia systemu, jeśli celem eksperymentu jest określenie wpływu na niego.

Proces tworzenia modelu symulacyjnego można w skrócie przedstawić w następujący sposób ( Ryc.2):

Ryc.2. Schemat budowy modelu symulacyjnego

Wniosek: IM charakteryzuje się reprodukcją zjawisk opisanych sformalizowanym diagramem procesu, z zachowaniem ich logicznej struktury, kolejności przemian w czasie, a czasem także treści fizycznej.

Modelowanie symulacyjne (IM) na komputerze znajduje szerokie zastosowanie w badaniu i sterowaniu złożonymi układami dyskretnymi (CDS) i procesami w nich zachodzącymi. Do takich systemów zaliczają się obiekty gospodarcze i przemysłowe, porty morskie, lotniska, kompleksy pompowe ropy i gazu, systemy nawadniające, oprogramowanie do skomplikowanych systemów sterowania, sieci komputerowe i wiele innych. Powszechne stosowanie IM tłumaczy się tym, że wielkość rozwiązywanych problemów oraz brak możliwości formalizacji złożonych systemów nie pozwalają na stosowanie ścisłych metod optymalizacyjnych.

Pod imitacja zrozumiemy numeryczną metodę prowadzenia eksperymentów komputerowych z modelami matematycznymi opisującymi zachowanie złożonych układów w długim okresie czasu.

Eksperyment symulacyjny to zobrazowanie procesu zachodzącego w SDS w długim okresie czasu (minuta, miesiąc, rok itp.), który zwykle zajmuje kilka sekund lub minut czasu pracy komputera. Istnieją jednak problemy, dla których podczas modelowania konieczne jest przeprowadzenie tylu obliczeń (z reguły są to problemy związane z systemami sterowania, wspomaganiem modelowania w podejmowaniu optymalnych decyzji, opracowywaniem skutecznych strategii sterowania itp.), że IM działa wolniej niż w rzeczywistym systemie. Dlatego też możliwość symulacji długiego okresu pracy VTS w krótkim czasie nie jest najważniejszą rzeczą, jaką zapewnia symulacja.

Możliwości symulacji:

1. Z IM przeprowadza się eksperymenty maszynowe, które pozwalają wyciągnąć wnioski na temat zachowania się układu:

· bez jego konstrukcji, jeśli jest to system projektowany;

· bez ingerencji w jego funkcjonowanie, jeżeli jest to system istniejący, z którym eksperymentowanie jest niemożliwe lub niepożądane (kosztowne, niebezpieczne);

· bez jego zniszczenia, jeżeli celem eksperymentu jest określenie maksymalnego oddziaływania na system.

2. Eksperymentalnie badać złożone interakcje w systemie i rozumieć logikę jego funkcjonowania.

4. Badać wpływ zewnętrznych i wewnętrznych zakłóceń losowych.

5. Zbadaj stopień wpływu parametrów systemu na wskaźniki wydajności.

6. Testować nowe strategie zarządzania i podejmowania decyzji w zarządzaniu operacyjnym.

7. Przewidywać i planować funkcjonowanie systemu w przyszłości.

8. Przeprowadzić szkolenie personelu.

Podstawą eksperymentu symulacyjnego jest model symulowanego układu.

IM został opracowany do modelowania złożonych układów stochastycznych - dyskretnych, ciągłych, kombinowanych.

Modelowanie oznacza, że ​​wyznaczane są kolejne momenty w czasie i komputer oblicza stan modelu sekwencyjnie w każdym z tych momentów. W tym celu należy ustalić regułę (algorytm) przejścia modelu z jednego stanu do drugiego, czyli transformacji:

gdzie jest stanem modelu w -tym momencie, który jest wektorem.

Wprowadźmy pod uwagę:

Wektor stanu środowiska zewnętrznego (wejście modelu) w danej chwili,

Wektor kontrolny w th chwili czasu.

Następnie wyznacza się IM poprzez podanie operatora, za pomocą którego można określić stan modelu w następnym momencie na podstawie stanu w chwili obecnej, wektorów sterujących i środowiska zewnętrznego:

Zapisujemy tę transformację w formie rekurencyjnej:

Operator definiuje model symulacyjny złożonego systemu wraz z jego strukturą i parametrami.

Ważną zaletą IM jest możliwość uwzględnienia niekontrolowanych czynników modelowanego obiektu, którymi są wektor:

Następnie mamy:

Model symulacyjny to logiczno-matematyczny opis układu, który można wykorzystać podczas eksperymentów na komputerze.

Ryc.3. Skład IM złożonego systemu

Wracając do problemu modelowania symulacyjnego złożonego systemu, warunkowo wyróżnijmy w IM: model obiektu sterowanego, model układu sterowania i model wewnętrznych zaburzeń przypadkowych (Ryc.3).

Wejścia modelu obiektu kontrolowanego dzielą się na zakłócenia kontrolowane kontrolowane i niekontrolowane niekontrolowane. Te ostatnie generowane są przez czujniki liczb losowych zgodnie z zadanym prawem rozkładu. Sterowanie z kolei jest wyjściem modelu układu sterowania, a zakłócenia są wyjściem czujników liczb losowych (model zaburzeń wewnętrznych).

Oto algorytm systemu sterowania.

Symulacja pozwala na badanie zachowania symulowanego obiektu w długim okresie czasu – symulacja dynamiczna. W tym przypadku, jak wspomniano powyżej, jest on interpretowany jako numer momentu w czasie. Ponadto możesz badać zachowanie systemu w określonym momencie - symulacja statyczna, następnie traktowany jako numer stanu.

Dzięki symulacji dynamicznej czas może zmieniać się w stałych i zmiennych krokach ( Ryc.4):

Ryc.4. Symulacja dynamiczna

Tutaj G I– momenty zdarzeń w VTS, g* I– momenty zdarzeń podczas symulacji dynamicznej ze stałym krokiem, g ' I- momenty zdarzeń o zmiennym kroku.

Przy stałym kroku implementacja jest prostsza, ale dokładność jest mniejsza i podczas obliczania stanu modelu mogą występować puste (czyli dodatkowe) punkty czasowe.

Dzięki zmiennym krokom czas przesuwa się od zdarzenia do zdarzenia. Ta metoda jest dokładniejszym odtworzeniem procesu, nie ma niepotrzebnych obliczeń, ale jest trudniejsza do wdrożenia.

Podstawowe postanowienia wynika z tego, co zostało powiedziane:

1. MI jest metodą numeryczną i należy ją stosować, gdy nie można zastosować innych metod. W przypadku układów złożonych jest to obecnie główna metoda badawcza.

2. Naśladownictwo jest eksperymentem, co oznacza, że ​​przy jego przeprowadzaniu należy posługiwać się teorią planowania eksperymentu i przetwarzania jego wyników.

3. Im dokładniej opisano zachowanie modelowanego obiektu, tym dokładniejszy jest wymagany model. Im dokładniejszy model, tym jest on bardziej złożony i wymaga większych zasobów komputera oraz czasu na badania. Dlatego też konieczne jest poszukiwanie kompromisu pomiędzy dokładnością modelu a jego prostotą.

Przykładowe zadania do rozwiązania: analiza projektów systemów na różnych etapach, analiza istniejących systemów, zastosowanie w układach sterowania, zastosowanie w układach optymalizacyjnych itp.

Model symulacyjny– opis systemu i jego zachowania, który można zaimplementować i zbadać podczas operacji komputerowych.

Modelowanie symulacyjne najczęściej wykorzystuje się do opisu właściwości dużego systemu, pod warunkiem, że zachowanie jego obiektów składowych jest bardzo proste i jasno sformułowane. Opis matematyczny sprowadza się wówczas do poziomu statycznego przetwarzania wyników modelowania przy poszukiwaniu makroskopowych charakterystyk układu. Taki eksperyment komputerowy faktycznie ma na celu odtworzenie eksperymentu na pełną skalę. Modelowanie symulacyjne jest szczególnym przypadkiem modelowania matematycznego. Istnieje klasa obiektów, dla których z różnych powodów nie opracowano modeli analitycznych lub nie opracowano metody rozwiązania otrzymanego modelu. W tym przypadku model matematyczny zastępuje się symulatorem lub modelem symulacyjnym. Modelowanie symulacyjne pozwala testować hipotezy i badać wpływ różnych czynników i parametrów.

Modelowanie symulacyjne to metoda pozwalająca na budowanie modeli opisujących procesy tak, jak przebiegałyby w rzeczywistości.

Taki model można „odgrywać” w czasie zarówno dla jednego testu, jak i danego ich zestawu. W tym przypadku o wynikach zadecyduje losowy charakter procesów. Z tych danych można uzyskać dość stabilne statystyki. Eksperymentowanie z modelem nazywa się imitacją.

Imitacja– zrozumienie istoty zjawiska bez eksperymentów na przedmiocie.

Imitacja jako metoda rozwiązywania nietrywialnych problemów osiągnęła swój początkowy rozwój w związku z powstaniem komputerów w latach 1950–1960. Rodzaje symulacji: metoda Monte Carlo (metoda badań statycznych); metoda symulacyjna (modelowanie statyczne).

Zapotrzebowanie na modelowanie symulacyjne: 1) eksperymentowanie na rzeczywistym obiekcie jest kosztowne i niemożliwe; 2) nie da się zbudować modelu analitycznego: system ma czas, związki przyczynowe, konsekwencje, nieliniowości, zmienne losowe; 3) konieczna jest symulacja zachowania systemu w czasie.

Cel modelowania symulacyjnego– odtworzenie zachowania badanego systemu na podstawie wyników analizy najważniejszych zależności pomiędzy jego elementami (opracowanie symulatora badanej dziedziny do przeprowadzania różnych eksperymentów).

Rodzaje modelowania symulacyjnego.

Modelowanie agentowe– stosunkowo nowy (1990–2000) kierunek modelowania symulacyjnego, który wykorzystuje się do badania systemów zdecentralizowanych, których dynamikę wyznaczają nie globalne reguły i prawa (jak w innych paradygmatach modelowania), ale odwrotnie. Kiedy te globalne zasady i prawa są wynikiem indywidualnej działalności członków grupy. Celem modeli agentowych jest zrozumienie tych globalnych reguł, ogólnego zachowania systemu w oparciu o założenia dotyczące indywidualnego, prywatnego zachowania jego poszczególnych aktywnych obiektów oraz interakcji tych obiektów w systemie. Agent to określona jednostka posiadająca aktywność i autonomiczne zachowanie; może podejmować decyzje zgodnie z określonym zestawem zasad, wchodzić w interakcje z otoczeniem, a także zmieniać się niezależnie.

Dyskretna symulacja zdarzenia– podejście do modelowania, które proponuje abstrakcję od ciągłego charakteru zdarzeń i uwzględnienie jedynie głównych zdarzeń symulowanego systemu, takich jak: „oczekiwanie”, „realizacja zamówienia”, „ruch z ładunkiem”, „rozładunek” itp. Modelowanie zdarzeń dyskretnych jest najbardziej rozwinięte i ma ogromny zakres zastosowań – od systemów logistycznych i kolejkowych po systemy transportowe i produkcyjne. Ten typ modelowania jest najbardziej odpowiedni do modelowania procesów produkcyjnych. Założona przez Jeffreya Gordona w latach 60.

Dynamika systemu- dla badanego układu konstruowane są graficzne diagramy zależności przyczynowych i globalnego wpływu jednych parametrów na inne w czasie, a następnie model stworzony na podstawie tych diagramów jest symulowany komputerowo. Zasadniczo ten typ modelowania, bardziej niż wszystkie inne paradygmaty, pomaga zrozumieć istotę ciągłego identyfikowania związków przyczynowo-skutkowych między obiektami i zjawiskami. Wykorzystując dynamikę systemu budowane są modele procesów biznesowych, rozwoju miast, modeli produkcji, dynamiki populacji, ekologii i rozwoju epidemii. Metoda została opracowana przez Forrestera w 1950 r.

Niektóre obszary zastosowań modelowania symulacyjnego: procesy biznesowe, walka, dynamika populacji, ruch drogowy, infrastruktura IT, zarządzanie projektami, ekosystemy. Popularne systemy symulacji komputerowych: AnyLogic, Aimsun, Arena, eM-Plant, Powersim, GPSS.

Modelowanie symulacyjne pozwala symulować zachowanie systemu w czasie. Ponadto zaletą jest to, że czas w modelu można kontrolować: zwalniać w przypadku szybkich procesów i przyspieszać w przypadku modelowania systemów o małej zmienności. Można naśladować zachowanie tych obiektów, a prawdziwe eksperymenty są kosztowne, niemożliwe i niebezpieczne.

Podziel się ze znajomymi lub zapisz dla siebie:

Ładowanie...