Modelarea timpului

SUBIECT: "Tipuri de management al timpului modelului.

Krasnov S.P. Curs ZF III 41gr.

Modelarea timpului

Tipuri de reprezentare a timpului în model

Începând să studiem mecanismele de control al timpului de model, este necesar să vorbim despre rolul pe care îl joacă timpul în simularea simulării. Când ne-am familiarizat cu experimentul de imitație, am observat că este o observație a comportamentului sistemului pentru o anumită perioadă de timp. Desigur, nu este deloc în toate testele statistice faptul că factorul de timp t joacă un rol principal, iar în unele cazuri nu poate fi considerat deloc. Amintiți-vă, de exemplu. problema de a calcula aria unui cerc: rezultatul obținut a fost independent de cât timp "bombardăm" pătratul cu puncte aleatorii (nu este numărul acestor puncte în acest caz). Dar există multe alte probleme în care evaluarea eficacității sistemului simulat este direct legată de caracteristicile temporale ale funcționării acestuia. Acestea includ sarcinile de evaluare a performanțelor deja menționate, unele sarcini pentru a evalua fiabilitatea, calitatea alocării resurselor și toate sarcinile legate de cercetarea eficienței proceselor de serviciu. O caracteristică caracteristică a celor mai multe probleme practice este că debitul proceselor considerate în ele este mult mai mic decât viteza de realizare a experimentului model. De exemplu, dacă munca unui centru de calculat este simulată într-o săptămână, este puțin probabil ca cineva să vină cu ideea reproducerii acestui proces într-un model la aceeași scară de timp. Pe de altă parte, chiar și acele experimente de simulare, în care parametrii de timp ai sistemului nu sunt luați în considerare, necesită o anumită perioadă de timp pentru a opera calculatorul pentru implementarea lor.

În acest sens, atunci când se dezvoltă aproape orice model de simulare și se planifică desfășurarea experimentelor model, este necesar să se raporteze trei reprezentări ale timpului:

în timp real, în care are loc funcționarea sistemului simulat;

model (sau, așa cum se mai numește, sistem) timp, pe scara căruia este organizată activitatea modelului;

ora computerului, reflectând timpul petrecut pe computer pentru a simula.

Cu ajutorul mecanismului de timp al modelului, se rezolvă următoarele sarcini:

este afișată trecerea sistemului simulat de la o stare la alta;

sincronizează activitatea componentelor modelului;

scara de timp a "vieții" (funcționării) sistemului în curs de schimbare a studiului;

controlul experimentului model este controlat;

O realizare cvasi-paralelă a evenimentelor din model este modelată.

Prefixul "cvasi" în acest caz reflectă natura consecventă a procesării evenimentelor (proceselor) în MI, care în sistemul real apar simultan (curgerea).

Necesitatea de a rezolva această problemă se datorează faptului că cercetătorul deține, de regulă, un sistem computerizat uniprocesor, iar modelul poate conține un număr semnificativ mai mare de subsisteme simultan operaționale. Prin urmare, o implementare cu adevărat paralelă (simultană) a tuturor componentelor modelului este imposibilă. Chiar dacă utilizați așa-numitul model distribuit, implementat pe mai multe noduri ale rețelei de calculatoare, nu este deloc necesar ca numărul de noduri să coincidă cu numărul de componente simultane de operare ale modelului. Cu puțin timp înainte, trebuie remarcat faptul că implementarea operației cvasi-paralele a componentelor modelului este o sarcină tehnică destul de complexă. Unele metode posibile pentru rezolvarea ei sunt discutate în următoarea prelegere.

Există două metode de realizare a mecanismului timpului de model - cu un pas constant și pe stări speciale.

Alegerea metodei de realizare a mecanismului timpului de model depinde de scopul modelului, de complexitatea lui, de natura proceselor studiate, de precizia necesară a rezultatelor și așa mai departe.

Schimbarea timpului cu un pas constant

Atunci când se utilizează această metodă, timpul de sistem este calculat prin intervale de timp fixe alese de cercetător. Evenimentele din model se consideră că au avut loc la sfârșitul acestui interval. Eroarea în măsurarea caracteristicilor de timp ale sistemului în acest caz depinde de magnitudinea etapei de modelare t.

Se recomandă utilizarea metodei pasului constant în cazul în care:

evenimentele apar în mod regulat, distribuția lor în timp este destul de egală cu | ritmic;

numărul de evenimente este mare și momentele de apariție sunt aproape;

Este imposibil de determinat în avans momentele de apariție a evenimentelor.

Această metodă de gestionare a timpului modelului este suficient de simplă pentru a realiza când condițiile de apariție a evenimentelor de toate tipurile din model pot fi reprezentate ca o funcție a timpului.

Să presupunem, de exemplu, evenimentul este că avionul zboară intersectează o linie aeriană, care distanța este egală cu R. Dacă aeronava se deplasează într-o linie dreaptă cu viteză constantă V, se poate calcula traseul traversat de aer, cu un interval de timp t: S = S + V -La. În consecință, evenimentul este considerat a fi produs în cazul în care starea S> R, și punctul de timp de apariție este luată egală cu n-t, unde n - numărul de etape de simulare, în care condiția este adevărată.

În general, algoritmul de simulare cu un pas constant este prezentat în Fig. 1 (- valoarea curentă a timpului modelului, - intervalul de simulare specificat), și pentru exemplul cu planul considerat mai sus, în Fig. 2. Rețineți că, spre deosebire de algoritmul generalizat, în exemplul dat, simularea este finalizată nu după un anumit interval de timp, ci când evenimentul care ne interesează. În acest sens, este necesar să subliniem încă o dată că în simularea cu un pas constant rezultatul modelării depinde în mod direct de amploarea acestui pas. Mai mult, dacă pasul este prea mare, rezultatul este probabil să fie incorect: momentul final al următorului pas va coincide foarte rar cu momentul real al trecerii de către aeronava liniei specificate. Această situație este prezentată în Fig. 3.

Modelarea timpului

Fig. 1. Algoritmul de modelare cu pas constant

Modelarea timpului

Fig. 2. Un exemplu de modelare cu un pas constant


Modelarea timpului
Fig. 3. Dependența rezultatului experimental pe etapa de timp a modelului

Următoarea notație este utilizată în figură:

tm1 este axa timpului de model folosind pasul t1;

tm2 este axa timpului model folosind pasul t2

tp este axa timpului real;

TR este momentul real când avionul traversează limita; ;

TR1, TR2 sunt punctele de trecere ale limitei, obținute pentru valorile corespunzătoare t.

Exemplul de mai sus are rolul de a atrage atenția asupra faptului că alegerea amplorii etapei de modelare nu este o sarcină ușoară și foarte importantă. Nu există o metodologie universală pentru rezolvarea acestei probleme, dar în multe cazuri poate fi utilizată una dintre următoarele abordări:

ia mărimea pasului egală cu intensitatea medie a apariției evenimentelor de diferite tipuri;

alegeți dimensiunea pasului egală cu intervalul mediu dintre cele mai frecvente (sau cele mai importante) evenimente.

Modificarea timpului pentru condiții speciale

La modelarea în condiții speciale, timpul de sistem se modifică de fiecare dată printr-o valoare strict corespunzătoare intervalului de timp până la apariția următorului eveniment. În acest caz, evenimentele sunt procesate în ordinea producerii acestora, în timp ce se consideră că apar numai acelea care sunt simultane în realitate.

Pentru a implementa simularea unor state speciale, este necesară elaborarea unei proceduri speciale pentru planificarea evenimentelor (așa-numitul calendar al evenimentelor). Dacă este cunoscută legea distribuirii intervalelor dintre evenimente, atunci această predicție a travaliului nu este: este suficient să adăugăm la valoarea curentă a timpului modelului o valoare a intervalului obținută cu ajutorul senzorului corespunzător.

Să presupunem, de exemplu, că un avion care zboară, când descrie o simulare cu un pas constant, este observat de dispecer. El introduce informații despre aeronavă, iar intervalele dintre intrările a două mesaje vecine sunt variabile aleatoare distribuite în conformitate cu legea normală cu parametrii dat. Ilustrația acestei situații este prezentată în Fig. 4 (Tc - timpul de introducere a mesajului următor, intervalul t-aleatoriu).

Modelarea timpului

Fig. 4. Schimbarea timpului de model pentru stări speciale.

Dacă momentul apariției unui eveniment este determinat de anumite condiții logice, atunci este necesar să se formuleze aceste condiții și să se verifice adevărul lor pentru fiecare etapă ulterioară a simulării. Practica arată că dificultățile în implementarea mecanismului de schimbare a timpului pentru state speciale sunt în primul rând legate de descrierea corectă a unor astfel de condiții. Dificultățile sunt și mai mari dacă apar mai multe tipuri de evenimente interdependente în model.

Modelarea în condiții speciale este recomandată să se utilizeze dacă:

evenimentele sunt distribuite neuniform în timp sau intervalele dintre ele sunt mari;

cerințe mai mari sunt plasate pe acuratețea determinării poziției reciproce a evenimentelor în timp;

prezența evenimentelor simultane este necesară.

Un avantaj suplimentar al metodei este acela că economisește timp pentru mașină, mai ales atunci când modelează sisteme periodice în care evenimentele nu pot avea loc mult timp.

O schemă generalizată a algoritmului de simulare pentru stări speciale este prezentată în Fig. 5 (tco6.i este momentul prezis al debutului evenimentului i).

Modelarea timpului

RIC. 5. Algoritm pentru modelare în condiții speciale

Pentru a "simți diferența" în utilizarea a două metode pentru gestionarea timpului de model, să revenim la exemplul dispecerului. Să adăugăm acest lucru cu următoarea condiție: este necesar să numărați numărul de mesaje pe care dispecerul va avea timp să le introduceți în timpul unui interval de simulare dat.

În primul rând, este necesar să răspundem la întrebarea: ce înseamnă "statele speciale" care ar trebui să influențeze schimbarea timpului modelului? În practică, în loc de state, sunt luate în considerare evenimente care determină schimbarea stărilor procesului simulat. Pentru procesul de introducere a informațiilor de către dispecer, o astfel de tranziție este destul de simplă: un eveniment este introducerea mesajului următor; cu alte cuvinte, introducerea mesajului următor "avansează" timpul modelului până la intervalul corespunzător. Deci, dacă intervalele dintre mesaje respectă legea normală cu parametrii m și s, atunci următoarea valoare i a momentului modelului tm (i) este definită după cum urmează:

În această expresie, termenul norm (m, s) înseamnă referința la generatorul de numere distribuite în conformitate cu legea normală.

Algoritmul modelului este prezentat în Fig. 6 (N este numărul de mesaje introduse).

Modelarea timpului

Fig. 6. Un exemplu de lucru al modelului pentru statele speciale

Să rezumăm rezultatele menționate în această secțiune.

Alegerea mecanismului de modificare a timpului de model determină tehnologia pentru implementarea modelului de simulare.

Pentru a alege metoda de modelare este influențată de o serie de factori, dar factorul determinant este tipul de sistem care este modelat: pentru sistemele discrete, evenimentele în care distribuite inegal de timp, este mai convenabil de a schimba modelul de timp în condiții speciale.

Dacă componentele unui sistem real trebuie să fie reprezentate într-un model al cărui lucru este măsurat în unități diferite de timp, ele trebuie reduse preliminar la o singură scală.

Subsistemul este un fragment al modelului Simulink, proiectat ca un bloc separat. Utilizarea subsistemelor în compilarea modelului are următoarele aspecte pozitive:

Reduce numărul de blocuri afișate simultan pe ecran, ceea ce facilitează percepția modelului (în mod ideal, modelul ar trebui să fie afișat pe ecran complet).

Vă permite să creați și să depanați fragmente ale modelului individual, ceea ce mărește tehnologia de creare a unui model.

Vă permite să creați propriile dvs. biblioteci.

Permite sincronizarea subsistemelor paralele de funcționare.

Vă permite să includeți propriile instrumente de referință în model.

Vă permite să asociați un subsistem cu orice fișier m, asigurându-vă că acest fișier este lansat când subsistemul este deschis (deschiderea subsistemului nestandard).

Utilizarea subsistemelor și mecanismul blocurilor lor vă permite să creați blocuri care nu sunt inferioare celor standard (fereastra proprie a parametrilor blocului, pictograma, ajutorul, etc.).

Numărul subsistemelor din model este nelimitat, în plus, subsistemele pot include și alte subsisteme. Nivelul de cuibare a subsistemelor între ele este, de asemenea, nelimitat.

Comunicare modelul subsistem (sau subsistem nivel ierarhic superior) se realizează cu ajutorul de intrare (blocul Inportbiblioteki Surse) și de ieșire (blocul outport Chiuvete de bibliotecă) porturi. Adăugarea la portul de intrare sau de ieșire a subsistemului conduce la apariția portului subsistemului etichetă de imagine prin care semnalele sunt transmise în subsistem extern sau ieșire în modelul de bază. Redenumirea blocurilor Inport sau Outport vă permite să modificați etichetele de porturi afișate pe pictograma subsistemului de la standardul (In și Out) la cele pe care utilizatorul are nevoie.

Subsistemele pot fi virtuale (subsistem) și monolitice (AtomicSubsystem). Diferența dintre aceste tipuri de subsisteme este ordinea execuției blocurilor în timpul calculului. Dacă subsistemul este virtual, atunci Simulink ignoră prezența limitelor care separă un astfel de subsistem de model, atunci când se determină ordinea calculului blocului. Cu alte cuvinte, într-un sistem virtual, semnalele de ieșire ale unităților multiple pot fi calculate mai întâi, și apoi se calculează blocurile din modelul de bază, și apoi re-calcul este realizat din blocuri incluse în subsistem. Subsistemul monolitic este considerată ca o singură unitate (indivizibile) și Simulink efectuează un calcul al tuturor blocurilor din acest subsistem fără a fi nevoie pentru a porni calculele altor blocuri în modelul de bază. Imaginea subsistemului monolit are un cadru mai gros decât subsistemul virtual.

Subsistemele pot fi, de asemenea, gestionate sau neangajate. Sistemele gestionate sunt întotdeauna monolitice. Subsistemele gestionate au intrări suplimentare (de control), care recepționează semnale care activează acest subsistem. Intrările de control sunt situate pe partea superioară sau inferioară a subsistemului. Când subsistemul gestionat este activat, efectuează calcule. În cazul în care subsistemul gestionat este pasiv, acesta nu efectuează calcule, iar valorile semnalului la ieșirile sale sunt determinate de setările portului de ieșire.

Pentru a crea un subsistem într-un model, puteți utiliza două metode:

Copiați subsistemul necesar din biblioteca subsistemului la model.

Selectați fragmentul model dorit cu mouse-ul și executați comanda Creați subsistem din meniul Editare fereastră al modelului. Fragmentul selectat va fi plasat în subsistem, iar intrările și ieșirile subsistemului vor fi furnizate cu porturile corespunzătoare. Această metodă vă permite să creați un subsistem virtual nemanager. În viitor, dacă este necesar, puteți face subsistemul monolitic, schimbându-l parametrii sau gestionați prin adăugarea unui element de control de la subsistemul necesar, aflat în bibliotecă. Îndrăzniți blocurile din subsistem folosind comanda Anulare.

Fig. 7 ilustrează procesul de creare a unui subsistem într-un al doilea mod. În Fig. 8 prezintă rezultatul acestui proces. Exemplul utilizează un model al unui generator funcțional controlat.

Fig. 7 Crearea unui subsistem

Fig. 8 Un model care utilizează subsistemul







Articole similare

Trimiteți-le prietenilor: