Exemple de modele de simulare. Modele de simulare. Etapele dezvoltării modelelor de simulare. Software de simulare a sistemului

Modele de simulare

Model de simularereproduce comportamentulsistem complex de elemente care interacționeazăcamaradPentru simulare se caracterizează prin prezența următoarelor circumstanțe (în același timp, toate sau unele dintre ele):

  • obiectivul modelării este un sistem eterogen complex;
  • în sistemul simulat există factori de comportament aleatoriu;
  • este necesară obținerea unei descrieri a procesului în curs de dezvoltare;
  • este fundamental imposibil să obții rezultate de simulare fără a folosi un computer.

Starea fiecărui element al sistemului simulat este descrisă de un set de parametri care sunt stocați în memoria computerului sub formă de tabele. Interacțiunile elementelor sistemului sunt descrise algoritmic. Modelarea se realizează pas cu pas. La fiecare etapă a simulării, se modifică valorile parametrilor sistemului. Un program care implementează un model de simulare reflectă o modificare a stării sistemului, oferind valorile parametrilor doriți sub formă de tabele prin pași de timp sau în succesiunea evenimentelor care au loc în sistem. Pentru a vizualiza rezultatele simulării, este adesea utilizată o reprezentare grafică, inclusiv animat.

Modelare deterministă

Modelul de simulare se bazează pe imitarea procesului real (imitație). De exemplu, modelând schimbarea (dinamica) numărului de microorganisme dintr-o colonie, se pot lua în considerare multe obiecte individuale și să monitorizeze soarta fiecăruia dintre ele, stabilind anumite condiții pentru supraviețuirea, reproducerea sa etc. Aceste condiții sunt de obicei specificate în formă verbală. De exemplu: după o anumită perioadă de timp, microorganismul este împărțit în două părți, iar după o altă perioadă (mai lungă), acesta moare. Îndeplinirea condițiilor descrise este implementată algoritmic în model.

Un alt exemplu: modelarea mișcării moleculelor într-un gaz, când fiecare moleculă este reprezentată ca o bilă cu o anumită direcție și viteză de mișcare. Interacțiunea a două molecule sau a unei molecule cu peretele vasului are loc conform legilor coliziunii absolut elastice și este ușor descrisă algoritmic. Obținerea caracteristicilor integrale (generale, medii) ale sistemului se realizează la nivelul procesării statistice a rezultatelor simulării.

Un astfel de experiment pe calculator pretinde de fapt să reproducă un experiment la scară completă. La întrebarea: "De ce trebuie să faci asta?" putem da următorul răspuns: simularea vă permite să selectați „în formă pură” consecințele ipotezelor inerente conceptului de microevente (adică la nivelul elementelor de sistem), eliminând influența inevitabilă a altor factori într-un experiment de teren, pe care poate nici nu suspect. Dacă o astfel de simulare include elemente ale unei descrieri matematice a proceselor la nivel micro și dacă cercetătorul nu își stabilește sarcina de a găsi o strategie de reglare a rezultatelor (de exemplu, controlul numărului de colonii de microorganisme), atunci diferența dintre modelul de simulare și modelul matematic (descriptiv) este destul de arbitrară.

Exemplele de mai sus ale modelelor de simulare (evoluția unei colonii de microorganisme, mișcarea moleculelor într-un gaz) conduc la determinirocadădescrierea sistemelor. Le lipsesc elemente de probabilitate, aleatorie a evenimentelor în sisteme simulate. Luați în considerare un exemplu de modelare a unui sistem cu aceste calități.

Modele de proces aleatoriu

Cine nu s-a întâmplat să stea la coadă și să-și dea seama cu nerăbdare dacă ar putea face o achiziție (sau să plătească un apartament, să călărească un carusel etc.) pentru ceva timp la dispoziția sa? Sau, încercând să apelez biroul de asistență și să dai bipuri de mai multe ori, să te enervezi și să evaluezi dacă voi trece sau nu? Dintre aceste probleme „simple”, la începutul secolului XX s-a născut o nouă ramură a matematicii - teoria cozii, folosind aparatul teoriei probabilității și statistici matematice, ecuații diferențiale și metode numerice. Ulterior, a devenit clar că această teorie are numeroase ieșiri la economie, afaceri militare, organizarea producției, biologie și ecologie etc.

Un rol important joacă modelarea computerului în rezolvarea problemelor de coadă, implementată sub forma unei metode de testare statistică (metoda Monte Carlo). Posibilitățile metodelor analitice de rezolvare a problemelor cu cozi emergente sunt foarte limitate, în timp ce metoda de testare statistică este universală și relativ simplă.

Luați în considerare cea mai simplă problemă a acestei clase. Există un magazin cu un singur vânzător, care include la întâmplare cumpărătorii. Dacă vânzătorul este gratuit, atunci începe să îl servească imediat pe cumpărător, dacă mai mulți cumpărători vin în același timp, linia este construită. Există multe alte situații similare:

  • repararea flotei I și autobuzelor care au părăsit linia din cauza ruperii;
  • camera de urgență și pacienții care au primit o programare cu ocazia unei vătămări (adică fără un sistem de programare);
  • un schimb telefonic cu o singură intrare (sau un singur operator telefonic) și abonați care sunt în coadă atunci când intrarea este ocupată (un astfel de sistem uneori
       practicate);
  • server LAN și computere personale la locul de muncă care trimit un mesaj către un server capabil să primească simultan și să nu prelucreze mai mult de un mesaj.

Procesul clienților care vin la magazin este un proces aleatoriu. Intervalele de timp dintre sosirile oricărei perechi consecutive de cumpărători sunt evenimente aleatorii independente, distribuite în conformitate cu o anumită lege, care pot fi stabilite numai prin numeroase observații (sau o versiune plauzibilă a acesteia este luată pentru modelare). Al doilea proces aleatoriu din această sarcină, care nu este în niciun fel conectat cu primul, este durata serviciului pentru fiecare dintre clienți.

Scopul sistemelor de modelare de acest fel este obținerea unui răspuns la o serie de întrebări. O întrebare relativ simplă este: care este timpul mediu și cozile pentru cozi pentru legile de distribuție date ale variabilelor aleatorii de mai sus? Întrebare mai dificilă; Care este distribuția timpilor de așteptare a serviciului în coadă? Nu mai puțin dificilă întrebare: la ce proporții ale parametrilor distribuțiilor de intrare va exista o criză în care linia nu va ajunge niciodată la cumpărătorul nou înscris? Dacă vă gândiți la această sarcină relativ simplă, eventualele întrebări se vor înmulți.

Metoda de simulare arată în general. Formulele matematice utilizate sunt legile distribuției variabilelor aleatorii inițiale; constantele numerice utilizate sunt parametri empirici incluși în aceste formule. Nu se rezolvă ecuații care ar fi utilizate în studiul analitic al acestei probleme. În schimb, are loc o simulare a cozii, redată folosind programe de calculator care generează numere aleatorii cu legi de distribuție predeterminate. Apoi, se realizează procesarea statistică a totalității valorilor obținute ale cantităților determinate de obiectivele de modelare specificate. De exemplu, numărul optim de vânzători se găsește pentru diferite perioade din programul de lucru al magazinului, ceea ce va asigura absența cozilor. Aparatul matematic folosit aici se numește metode de statistici matematice.

Articolul „Modelarea sistemelor și proceselor ecologice” descrie un alt exemplu. imitaţiemulțisimulări: unul dintre numeroasele modele de pradă. Indivizii din speciile aflate în aceste relații, conform anumitor reguli care conțin elemente ale întâmplării, se mișcă, prădătorii mănâncă pradă și se reproduc amândoi etc. Astfel demodelul nu conține nicio formulă matematică, ci necesită statisticistaticprocesarea rezultatelor.

Exemplu de algoritm determinist model de simulare

Luați în considerare un model de simulare a evoluției unei populații de organisme vii, cunoscută sub numele de Viață, ușor de implementat în orice limbaj de programare.

Pentru a construi algoritmul de joc, luați în considerare un câmp pătrat din n - \\ - 1coloane și rânduri cu numerotare normală de la 0 la p.Pentru comoditate, definim coloanele și rândurile de extremitate drept „zona moartă”; acestea joacă doar un rol auxiliar.

Pentru orice celulă internă a câmpului cu coordonate (i, j), se pot determina 8 vecini. Dacă celula este „vie”, pictăm peste ea, dacă celula este „moartă”, ea gol.

Stabiliți regulile jocului. Dacă celula (i, j) este „vie” și este înconjurată de mai mult de trei celule „vii”, aceasta moare (din cauza suprapopulării). De asemenea, o celulă „vie” moare dacă există mai puțin de două celule „vii” în mediul său (din singurătate). O celulă moartă prinde viață dacă în jurul ei apar trei celule vii.

Pentru comoditate, introducem un tablou bidimensional ȘI, ale cărui elemente iau valoarea 0 dacă celula corespunzătoare este goală și 1 dacă celula este „live”. Apoi algoritmul pentru determinarea stării celulei cu coordonata (eu, j) poate fi definit astfel:

S: \u003d A + A + A + A + A + A + A + A;
   Dacă (A \u003d 1) Și (S\u003e 3) Sau (S< 2)) Then B: =0;
Dacă (A \u003d 0) Și (S \u003d 3)
   Atunci B: \u003d 1;

Aici, tabloul determină coordonatele câmpului la „etapa următoare. Pentru toate celulele interne de la i \u003d 1 la n - 1 și j \u003d 1 la n - 1, mai sus este adevărat. Rețineți că generațiile ulterioare sunt determinate în același mod, trebuie doar să efectuați procedura de reasignare:

Pentru I: \u003d 1 Că N - 1
   Pentru J: \u003d 1 Că N - 1
   A: \u003d B;

Pe ecranul afișajului este mai convenabil să se afișeze starea câmpului nu în matrice, ci în formă grafică.
   Rămâne doar să se stabilească procedura de configurare a configurației inițiale a terenului de joc. Când se determină aleatoriu starea inițială a celulelor, algoritmul este potrivit

Pentru I: \u003d 1 To K Do
   Începeți K1: \u003d Aleator (N-1);
   K2: \u003d Aleator (N-1) +1;
   Sfârșit;

Este mai interesant pentru utilizator să stabilească el însuși configurația inițială, care este ușor de implementat. Ca urmare a experimentelor cu acest model, se pot găsi, de exemplu, așezări stabile ale organismelor vii care nu mor niciodată, rămânând neschimbate sau modificându-și configurația cu o anumită perioadă. Absolut instabilă (murind în a doua generație) este relocarea „crucii”.

Într-un curs de informatică de bază, studenții pot implementa modelul de simulare al vieții ca parte a secțiunii Introducere în programare. O dezvoltare mai amănunțită a simulării poate avea loc în liceu într-un curs de informatică specializat sau electiv. În continuare se va vorbi despre această opțiune.

Începutul studiului este o prelegere despre simularea proceselor aleatorii. În școala rusă, conceptele de teoria probabilității și statistici matematice încep să fie introduse doar în cursul matematicii, iar profesorul ar trebui să fie pregătit să facă o introducere în acest material, care este cel mai important pentru formarea viziunii asupra lumii și a culturii matematice. Subliniem că vorbim despre o introducere elementară în cercul conceptelor discutate; acest lucru se poate face în 1-2 ore.

Apoi discutăm probleme tehnice asociate cu generarea pe un computer de secvențe de numere aleatorii cu o lege de distribuție dată. Se poate baza pe faptul că în fiecare limbaj de programare universal există un senzor de numere aleatorii distribuit uniform pe un segment de la 0 la 1. În această etapă, este imposibil să intri în problema dificilă a principiilor punerii în aplicare a acesteia. Pe baza senzorilor de numere aleatorii disponibile, vă arătăm cum puteți aranja

a) un generator de numere aleatorii distribuite uniform pe orice segment [a, b];

b) un generator de numere aleatoare pentru aproape orice lege de distribuție (de exemplu, folosind metoda intuitiv clar de „selecție-respingere”).

Este recomandabil să începeți luarea în considerare a problemei de coadă descrise mai sus cu o discuție a istoricului de rezolvare a problemelor de coadă (problema Erlang de deservire a apelurilor la centrală telefonică). Urmează apoi luarea în considerare a celei mai simple sarcini, care poate fi formulată prin exemplul formării și inspecției unei cozi într-un magazin cu un singur vânzător. Rețineți că la prima etapă a modelării, distribuția variabilelor aleatorii la intrare se poate presupune a fi la fel de probabilă, ceea ce, deși nu este realist, dar înlătură o serie de dificultăți (pentru a genera numere aleatorii, puteți utiliza pur și simplu senzorul încorporat în limbajul de programare).

Atragem atenția elevilor asupra întrebărilor care se pun în primul rând la modelarea sistemelor de acest fel. În primul rând, este calculul valorilor medii (așteptări matematice) ale unor variabile aleatorii. De exemplu, care este timpul mediu de a face coadă la ghișeu? Sau: găsiți timpul mediu petrecut de vânzător în așteptarea cumpărătorului.

Sarcina profesorului, în special, este de a clarifica faptul că mijloacele de probă în sine sunt variabile aleatoare; într-un alt eșantion de aceeași dimensiune, acestea vor avea valori diferite (pentru dimensiuni mari de eșantion - nu prea diferite unele de altele). Mai mult, opțiunile sunt posibile: într-un public mai pregătit, puteți arăta o metodă pentru estimarea intervalelor de încredere în care așteptările matematice ale variabilelor aleatorii corespunzătoare sunt la probabilități de încredere (metode cunoscute din statisticile matematice fără a încerca să se justifice). Într-o audiență mai puțin pregătită, ne putem limita la o afirmație pur empirică: dacă în mai multe eșantioane de volum egal valorile medii coincid într-o zecimală, atunci acest semn este cel mai probabil corect. Dacă simularea nu reușește să atingă precizia dorită, creșteți dimensiunea eșantionului.

Într-o audiență și mai pregătită matematic, se poate pune întrebarea: care este distribuția variabilelor aleatorii care sunt rezultatele modelării statistice pentru distribuțiile date ale variabilelor aleatorii care sunt parametrii de intrare ai acesteia? Deoarece prezentarea teoriei matematice corespunzătoare în acest caz este imposibilă, ar trebui să ne limităm la metode empirice: construirea histogramelor distribuțiilor rezultate și compararea lor cu mai multe funcții de distribuție tipice.

După practicarea abilităților primare ale acestei simulări, trecem la un model mai realist, în care fluxurile de intrare ale evenimentelor aleatorii sunt distribuite, de exemplu, potrivit Poisson. Acest lucru va impune studenților să stăpânească în continuare metoda de generare a secvențelor de numere aleatorii cu legea de distribuție specificată.

În problema considerată, ca în orice problemă mai complexă a cozii, poate apărea o situație critică atunci când coada crește nelimitat în timp. Modelarea abordării unei situații critice pe măsură ce unul dintre parametri crește este o sarcină de cercetare interesantă pentru cei mai instruiți studenți.

Folosind exemplul unei sarcini de coadă, mai multe concepte și abilități noi sunt elaborate simultan:

  • concepte ale proceselor aleatorii;
  • concepte și abilități simple de simulare;
  • construcția de modele de simulare de optimizare;
  • construirea de modele cu mai multe criterii (prin rezolvarea problemelor celui mai rațional serviciu pentru clienți în combinație cu interese
       proprietar de magazin).

Sarcina :

    1.    Schițarea conceptelor cheie;
  • Alegeți sarcini practice cu soluții pentru cursuri de bază și specializate în informatică.

Un alt exemplu de modele esențiale ale mașinilor sunt modelele de simulare. În ciuda faptului că simularea devine o metodă din ce în ce mai populară pentru studierea sistemelor și proceselor complexe, astăzi nu există o definiție unică a unui model de simulare recunoscut de toți cercetătorii.

În majoritatea definițiilor utilizate, se înțelege că modelul de simulare este creat și implementat folosind un set de instrumente matematice și instrumentale care permit utilizarea computerului pentru a efectua calcule direcționate ale caracteristicilor procesului simulat și optimizarea unora dintre parametrii acestuia.

Există, de asemenea, puncte de vedere extreme. Una dintre ele este legată de afirmația potrivit căreia orice descriere logică și matematică a unui sistem care poate fi utilizată în timpul experimentelor de calcul poate fi recunoscută ca model de simulare. Din aceste poziții, calculele asociate cu variația parametrilor în probleme pur deterministe sunt recunoscute prin simulare.

Susținătorii unui alt punct de vedere extrem consideră că modelul de simulare este în mod necesar un pachet software special care vă permite să simulați activitățile oricărui obiect complex. „Metoda de simulare este o metodă experimentală pentru studierea unui sistem real folosind modelul său de computer, care combină caracteristicile unei abordări experimentale și condiții specifice pentru utilizarea tehnologiei computerizate. Simularea este o metodă de modelare bazată pe mașini, de fapt fără ca computerul să nu fi existat niciodată și doar dezvoltarea tehnologiei informației a dus la apariția acestui tip de simulare computerizată. " Această abordare neagă posibilitatea de a crea modele simple de simulare fără a utiliza un computer.

Definiția 1.9. Model de simulare  - un tip special de modele de informații care combină elemente ale modelelor analitice, computer și analogice, care permite utilizarea unei secvențe de calcule și o afișare grafică a rezultatelor lucrărilor sale pentru a reproduce (simula) funcționarea obiectului studiat atunci când este expus la diverși factori (de obicei aleatori).

Simularea este folosită astăzi pentru modelarea proceselor de afaceri, lanțurilor de aprovizionare, operațiunilor militare, dinamicii populației, proceselor istorice, concurenței și a altor procese, pentru a prezice consecințele deciziilor manageriale în diverse domenii. Simularea vă permite să explorați sisteme de orice natură, complexitate și scop și cu aproape orice grad de detaliu, limitată doar de complexitatea dezvoltării unui model de simulare și de capacitățile tehnice ale instrumentelor de calcul utilizate pentru efectuarea experimentelor.

Modelele de simulare care sunt dezvoltate pentru a rezolva problemele practice moderne conțin, de obicei, un număr mare de elemente stochastice care interacționează complex, fiecare fiind descris de un număr mare de parametri și este supus influențelor stocastice. În aceste cazuri, de regulă, modelarea la scară completă este nedorită sau imposibilă, iar soluția analitică este dificilă sau, de asemenea, imposibilă. Adesea, implementarea unui model de simulare necesită organizarea de calcul distribuit. Din aceste motive, modelele de simulare sunt în esență modele de mașini.

Modelul de simulare implică reprezentarea modelului sub forma unui algoritm implementat de un program de calculator, a cărui execuție simulează o secvență de modificări de stare în sistem și afișează astfel comportamentul sistemului sau procesului simulat.

Notă!

În prezența factorilor aleatori, caracteristicile necesare ale proceselor simulate sunt obținute ca urmare a rulărilor repetate ale modelului de simulare și procesării statistice ulterioare a informațiilor acumulate.

Rețineți că, din punctul de vedere al socialistului-avocat, este legitim să interpretați simularea ca o tehnologie informațională: „Simularea unui proces controlat sau a unui obiect controlat este o tehnologie informațională la nivel înalt care oferă două tipuri de acțiuni efectuate de un computer:

  • 1) lucrează la crearea sau modificarea unui model de simulare;
  • 2) operarea modelului de simulare și interpretarea rezultatelor. "

Principiul modular al construirii unui model de simulare. Deci, simularea presupune existența unor modele logico-matematice construite, care descriu sistemul studiat în raport cu mediul extern, reproducerea proceselor care se desfășoară în acesta cu păstrarea în timp a structurii și secvenței lor logice, folosind tehnologia computerului. Este cel mai rațional să construiești un model de simulare al funcționării unui sistem în mod modular. În acest caz, se pot distinge trei blocuri interconectate de module ale unui astfel de model (Fig. 1.7).

Fig. 1.7.

Partea principală a modelului algoritmic este implementată în blocul care simulează procesele de funcționare a obiectului (blocul 2). Aici se organizează o numărătoare inversă a timpului modelului, se reproduce logica și dinamica interacțiunii elementelor modelului, se efectuează experimente pentru acumularea datelor necesare pentru calcularea estimărilor caracteristicilor funcționării obiectului. Blocul care simulează efectele aleatorii (blocul 1) este utilizat pentru a genera valori ale variabilelor și proceselor aleatorii. Include generatoare de distribuții standard și mijloace de implementare a algoritmilor pentru modelarea efectelor aleatorii cu proprietățile necesare. În blocul pentru procesarea rezultatelor de simulare (blocul 3), se calculează valorile curente și finale ale caracteristicilor care compun rezultatele experimentelor cu modelul. Astfel de experimente pot consta în rezolvarea problemelor conexe, inclusiv optimizarea sau invers.

  •   Lichkina II. II. Decret. Op.
  • Calculul distribuit este o modalitate de a rezolva problemele de calcul intensiv în muncă, utilizând mai multe computere, cel mai adesea combinate într-un sistem de calcul paralel.
  •   Emelyanov A. A, Vlasova E. A., Duma R. V. Simularea proceselor economice. M.: Finanțe și statistici, 2006.S. 6.

Modelreprezintă o descriere abstractă a sistemului, al cărui nivel de detaliu este determinat de cercetătorul însuși. O persoană ia o decizie despre dacă acest element al sistemului este semnificativ și, prin urmare, dacă va fi inclus în descrierea sistemului. Această decizie este luată ținând cont de obiectivul care stă la baza dezvoltării modelului. Succesul simulării depinde de cât de bine este capabil cercetătorul să identifice elementele esențiale și relațiile dintre ei.

Sistemul este considerat ca fiind format din multe elemente interconectate combinate pentru a îndeplini o funcție specifică. Definiția unui sistem este în mare parte subiectivă, adică. depinde nu numai de scopul prelucrării modelului, ci și de cine determină sistemul.

Deci, procesul de modelare începe cu determinarea scopului dezvoltării modelului, pe baza căruia sunt atunci limitele sistemului  și nivelul necesar de detalii  procese simulate. Nivelul selectat de detalii ar trebui să permită extragerea de la detalii inexacte din cauza lipsei de informații privind funcționarea unui sistem real. Descrierea sistemului ar trebui să includă, de asemenea, criterii pentru eficacitatea sistemului și soluții alternative evaluate care pot fi considerate ca parte a modelului sau ca intrări ale acestuia. Estimările soluțiilor alternative în funcție de criteriile de performanță date sunt considerate rezultate ale modelului. De obicei, evaluarea alternativelor necesită modificări la descrierea sistemului și, în consecință, restructurarea modelului. Prin urmare, în practică, procesul de construire a unui model este iterativ. După ce recomandările pot fi elaborate pe baza evaluărilor alternativelor obținute, putem continua cu implementarea rezultatelor simulării. Mai mult, recomandările ar trebui să precizeze clar atât principalele decizii, cât și condițiile de punere în aplicare a acestora.

Simulare(în sens larg) - există un proces de construire a unui model al unui sistem real și de instalare a experimentelor pe acest model pentru a înțelege comportamentul sistemului sau pentru a evalua (în cadrul restricțiilor impuse) diverse strategii care asigură funcționarea acestui sistem.

Simulare(în sens restrâns) este o reprezentare a comportamentului dinamic al unui sistem prin mutarea acestuia de la o stare la alta, în conformitate cu reguli operaționale (algoritmi) binecunoscute.

Deci, pentru a crea un model de simulare, este necesar să se izoleze și să descrie starea sistemului și algoritmii (regulile) schimbării acestuia. În plus, acest lucru este scris în termeni de un instrument de modelare (limbaj algoritmic, limbaj de specialitate) și procesat pe un computer.

Model de simulare(IM) este o descriere logică și matematică a sistemului, care poate fi folosită în timpul experimentelor pe un computer digital.

MI poate fi utilizat pentru a proiecta, analiza și evalua funcționarea sistemelor. Experimentele cu mașini sunt efectuate cu MI, care ne permit să tragem concluzii despre comportamentul sistemului:

· În absența construcției sale, dacă este un sistem proiectat;

· Fără a interfera cu funcționarea sa, dacă este un sistem existent, experimentarea căruia este imposibil sau nedorit (costuri mari, pericol);

· Fără a distruge sistemul, dacă scopul experimentului este de a determina efectul asupra acestuia.

Procesul de formare a unui model de simulare poate fi reprezentat pe scurt după cum urmează ( Fig.2):

Fig.2. Schema de formare a modelului de simulare

Concluzie:  IM se caracterizează prin reproducerea fenomenelor descrise de o diagramă de proces formalizată, cu păstrarea structurii lor logice, secvenței alternării în timp și, uneori, a conținutului fizic.

Simularea computerizată (IM) este utilizată pe scară largă în studiul și gestionarea sistemelor complexe discrete (SDS) și a proceselor din acestea. Astfel de sisteme includ instalații economice și industriale, porturi maritime, aeroporturi, complexe de pompare de petrol și gaze, sisteme de irigare, software complex de sisteme de control, rețele de calculatoare și multe altele. Utilizarea pe scară largă a IM se explică prin faptul că dimensionalitatea sarcinilor care este rezolvată și non-formalizabilitatea sistemelor complexe nu permit utilizarea unor metode de optimizare strictă.

Sub imitaţievom înțelege metoda numerică de efectuare a experimentelor pe calculator cu modele matematice care descriu comportamentul sistemelor complexe pentru o lungă perioadă de timp.

Experiment de simulare reprezintă afișarea procesului care se desfășoară în SDS pentru o perioadă lungă de timp (minut, lună, an etc.), care necesită, de regulă, câteva secunde sau minute de funcționare a computerului. Cu toate acestea, există probleme pentru soluția cărora este necesar să se efectueze atât de multe calcule în timpul modelării (de regulă, acestea sunt probleme asociate sistemelor de control, modelarea suportului pentru luarea deciziilor optime, elaborarea strategiilor de management eficiente etc.) încât MI funcționează mai lent decât un sistem real. Prin urmare, capacitatea de a simula o perioadă lungă de lucru a SDS într-un timp scurt nu este cel mai important lucru care oferă simularea.

Caracteristici ale simulării:

1. Experimentele cu mașina sunt efectuate cu MI, care ne permit să tragem concluzii despre comportamentul sistemului:

· Fără construcția sa, dacă este un sistem proiectat;

· Fără a interfera cu funcționarea sa, dacă este un sistem existent, experimentarea cu care este imposibil sau nedorit (scump, periculos);

· Fără distrugerea lui, dacă scopul experimentului este de a determina impactul maxim asupra sistemului.

2. Explorați experimental interacțiunile complexe din cadrul sistemului și înțelegeți logica funcționării acestuia.

4. Studierea efectului tulburărilor aleatorii externe și interne.

5. Studierea gradului de influență a parametrilor sistemului asupra indicatorilor de performanță.

6. Verificați noile strategii de gestionare și luare a deciziilor în managementul operațional.

7. Previzionați și planificați funcționarea sistemului în viitor.

8. Realizează instruirea personalului.

Baza experimentului de simulare este modelul sistemului simulat.

MI a fost dezvoltat pentru modelarea sistemelor stochastice complexe - discrete, continue, combinate.

Modelarea înseamnă că momentele secvențiale de timp sunt setate și starea modelului este calculată de un computer în mod secvențial la fiecare din aceste momente de timp. Pentru a face acest lucru, trebuie să setați o regulă (algoritm) pentru tranziția modelului de la o stare la alta, adică transformarea:

unde sunt stările modelului în momentul de timp, care este un vector.

Introducem în considerare:

Vectorul de stare al mediului extern (intrarea modelului) la

Vector de control la momentul de timp.

Apoi, MI-ul este determinat de sarcina operatorului, cu ajutorul căruia este posibil să se determine starea modelului în momentul următor, din starea actuală, vectorii de control și mediul extern:

Scriem această transformare într-o formă recursivă:

Operatordefinește un model de simulare a unui sistem complex, cu structura și parametrii acestuia.

Un avantaj important al IM este capacitatea de a ține cont de factorii necontrolati ai obiectului simulat, care sunt un vector:

Atunci noi avem:

Model de simulare  - Aceasta este o descriere logică și matematică a sistemului, care poate fi utilizată în timpul experimentelor pe calculator.

Fig. 3.  Compoziția sistemului complex IM

Revenind la problema simulării unui sistem complex, distingem condiționat în MI: modelul obiectului controlat, modelul sistemului de control și modelul tulburărilor interne aleatorii (Fig.3).

Intrările modelului obiectului controlat sunt împărțite în tulburări necontrolate controlate și necontrolate. Acestea din urmă sunt generate de senzori de numere aleatorii conform unei legi de distribuție date. La rândul său, controlul este ieșirea modelului sistemului de control, iar perturbările reprezintă ieșirea senzorilor cu număr aleatoriu (modele de perturbație internă).

Iată algoritmul sistemului de control.

Simularea vă permite să explorați comportamentul obiectului simulat pe o perioadă lungă de timp - imitație dinamică. În acest caz, după cum am menționat mai sus, este interpretat ca numărul de timp. În plus, puteți investiga comportamentul sistemului la un moment dat - imitație statică, apoi tratat ca un număr de stare.

Cu simularea dinamică, timpul poate varia cu pași constanți și variabili ( Fig.4):

Fig. 4.  Simulare dinamică

Aici g   eu  - momentele evenimentelor din SDS, g *   eu  - momente ale evenimentelor din timpul simulării dinamice cu un pas constant, g   „I  - momente ale evenimentelor cu pas variabil.

Cu un pas constant, implementarea este mai simplă, dar precizia este mai mică și pot exista puncte de timp goale (adică suplimentare) atunci când se calculează starea modelului.

Cu un pas variabil, timpul trece de la eveniment la eveniment. Această metodă este o reproducere mai precisă a procesului, nu există calcule inutile, dar este mai dificil de implementat.

Puncte cheiedecurgând din cele de mai sus:

1. IM este o metodă numerică și trebuie utilizată atunci când nu se pot utiliza alte metode. Pentru sistemele complexe, aceasta este în prezent principala metodă de cercetare.

2. Simularea este un experiment, ceea ce înseamnă că în implementarea sa trebuie utilizată teoria planificării experimentului și procesării rezultatelor.

3. Cu cât este descris mai precis comportamentul obiectului modelat, cu atât este mai precis modelul. Cu cât este mai exact modelul, cu atât este mai complex și necesită resurse informatice mari și timp pentru cercetare. Prin urmare, trebuie căutat un compromis între precizia modelului și simplitatea acestuia.

Exemple de sarcini: analiza proiectelor de sisteme în diferite etape, analiza sistemelor existente, utilizarea în sisteme de control, utilizarea în sisteme de optimizare etc.

Simularea este un instrument puternic pentru studierea comportamentului sistemelor reale. Metodele de simulare vă permit să colectați informațiile necesare despre comportamentul sistemului prin crearea modelului său de computer. Aceste informații sunt apoi utilizate pentru proiectarea sistemului.

Scopul simulării este de a reproduce comportamentul sistemului studiat pe baza analizei relațiilor cele mai semnificative dintre elementele sale din aria subiectului pentru diferite experimente.

Simularea vă permite să simulați în timp comportamentul sistemului. Mai mult, avantajul este că timpul modelului poate fi controlat: încetinește în cazul proceselor cu mișcare rapidă și accelerează pentru a simula sistemele cu variabilitate lentă. Puteți simula comportamentul acelor obiecte, experimente reale cu care sunt costisitoare, imposibile sau periculoase.

Se apelează la simulare atunci când:

1. Este costisitor sau imposibil să experimentezi pe un obiect real.

2. Este imposibil să construim un model analitic: sistemul are timp, relații cauzale, consecință, neliniarități, variabile stochastice (aleatorii).

3. Este necesar să imităm comportamentul sistemului în timp.

Imitația, ca metodă de soluționare a problemelor non-banale, a fost inițial dezvoltată în legătură cu crearea computerelor în anii 1950 și 1960.

Se pot distinge două tipuri de imitații:

1. Metoda Monte Carlo (metoda testului statistic);

2. Metoda de simulare (modelare statistică).

În prezent, există trei domenii ale modelelor de simulare:

1. Modelarea agenților este o direcție relativ nouă (anii 1990- 2000) în modelarea de simulare, care este folosită pentru a studia sistemele descentralizate, a căror dinamică este determinată nu de reguli și legi globale (ca în alte paradigme de modelare), ci invers. Când aceste reguli și legi globale sunt rezultatul activității individuale a membrilor grupului.

Scopul modelelor de agenți este de a face o idee despre aceste reguli globale, comportamentul general al sistemului, bazat pe presupuneri despre comportamentul individual, privat al obiectelor sale individuale active și interacțiunea acestor obiecte în sistem. Un agent este o anumită entitate care are activitate, comportament autonom, poate lua decizii în conformitate cu un anumit set de reguli, să interacționeze cu mediul și, de asemenea, să se schimbe independent.

2. Modelarea discretă a evenimentelor este o abordare a modelării, care oferă un rezumat din natura continuă a evenimentelor și ia în considerare doar principalele evenimente ale sistemului simulat, cum ar fi: „așteptare”, „procesarea comenzii”, „mișcare cu sarcină”, „descărcare” și altele. Modelarea discretă a evenimentelor este cea mai dezvoltată și are o gamă largă de aplicații - de la sistemele de logistică și de coadă la sistemele de transport și producție. Acest tip de simulare este cel mai potrivit pentru modelarea proceselor de producție.


3. Dinamica sistemului este o paradigmă de modelare, în care diagramele grafice ale relațiilor de cauzalitate și influențele globale ale unor parametri asupra altora de-a lungul timpului sunt construite pentru sistemul studiat, iar apoi modelul creat pe baza acestor diagrame este simulat pe un computer. De fapt, acest tip de modelare mai mult decât oricare altă paradigmă ajută la înțelegerea esenței a ceea ce se întâmplă pentru a identifica relațiile cauzale între obiecte și fenomene. Folosind dinamica sistemului, sunt construite modele de procese de afaceri, dezvoltarea orașului, modele de producție, dinamica populației, ecologie și dezvoltare epidemică.

Conceptele de bază ale construirii modelelor

Simulare bazată pe reproducerea folosind calculatoare implementate în timp a procesului de funcționare a sistemului, ținând cont de interacțiunea cu mediul extern.

Baza oricărui model de simulare (IM) este:

· Dezvoltarea unui model al sistemului studiat bazat pe modele (module) de simulare private ale subsistemelor, unite prin interacțiunile lor într-un singur întreg;

· Alegerea caracteristicilor informative (integrative) ale obiectului, a metodelor de pregătire și analiză a acestora;

· Construirea unui model de impact asupra mediului asupra sistemului, sub forma unui set de modele de simulare a factorilor de influență externă;

· Alegerea metodei de cercetare a modelului de simulare în conformitate cu metodele de planificare a experimentelor de simulare (IE).

În mod condiționat, un model de simulare poate fi reprezentat ca blocuri de operare, software (sau hardware) implementate.

Figura prezintă structura modelului de simulare. Blocul de simulare a influențelor externe (BIVV) formează implementarea proceselor aleatorii sau determinate care simulează efectele mediului extern asupra obiectului. Unitatea de procesare a rezultatelor (BOR) este proiectată pentru a obține caracteristicile informative ale obiectului studiat. Informațiile necesare pentru acest lucru provin din blocul modelului matematic al obiectului (BMO). Unitatea de control (BUIM) implementează o metodă pentru studiul modelului de simulare, principalul său scop este automatizarea procesului IE.

Scopul simulării este de a construi MI-ul obiectului și de a efectua un IE asupra acestuia pentru a studia legile funcționării și comportamentului, ținând cont de constrângerile date și funcțiile obiective în condiții de imitație și interacțiune cu mediul extern.

Principii și metode pentru construirea de modele de simulare

Procesul de funcționare a unui sistem complex poate fi considerat ca o modificare a stărilor sale descrise de variabilele sale de fază

Z1 (t), Z2 (t), Zn (t) în spațiul n - dimensional.

Sarcina de simulare este obținerea traiectoriei sistemului în cauză în spațiul n-dimensional (Z1, Z2, Zn), precum și calcularea unor indicatori care depind de semnalele de ieșire ale sistemului și caracterizează proprietățile acestuia.

În acest caz, „mișcarea” sistemului este înțeleasă în sensul general - ca orice schimbare care are loc în el.

Sunt cunoscute două principii de construire a unui model al procesului de funcționare a sistemelor:

1. Principiul fort pentru sistemele deterministe

Să presupunem că starea inițială a sistemului corespunde valorilor Z1 (t0), Z2 (t0), Zn (t0). Principiul involvest implică transformarea modelului de sistem în așa fel încât valorile Z1, Z2, Zn la momentul t1 \u003d t0 + Δt să poată fi calculate prin valorile inițiale, iar la momentul t2 \u003d t1 + Δt prin valorile din pasul anterior, și astfel pentru fiecare i- etapa (t \u003d const, i \u003d 1 M).

Pentru sistemele în care aleatoriu este un factor determinant, principiul ist este următorul:

1. Distribuția probabilității condiționale este determinată la prima etapă (t1 \u003d t0 + Δt) pentru un vector aleator, o notăm (Z1, Z2, Zn). Condiția este ca starea inițială a sistemului să corespundă punctului traiectoriei.

2. Coordonatele punctului traiectoriei sistemului (t1 \u003d t0 + Δt) sunt calculate ca coordonatele vectorului aleator specificate de distribuția găsită în pasul anterior.

3. Distribuția condiționată a vectorului la a doua etapă se găsește (t2 \u003d t1 + Δ t), cu condiția ca valorile corespunzătoare să fie obținute la prima etapă etc., până când ti \u003d t0 + i Δ t preia valoarea (tМ \u003d t0 + М t).

Principiul Δ t este universal, aplicabil unei clase largi de sisteme. Dezavantajul său este neeconomic din punct de vedere al costului timpului computerizat.

2. Principiul stărilor speciale (principiul δz).

Când se ia în considerare unele tipuri de sisteme, se pot distinge două tipuri de state δz:

1. Normal, în care sistemul este situat de cele mai multe ori, în timp ce Zi (t), (i \u003d 1 n) se schimbă fără probleme;

2. Special, caracteristic sistemului în anumite momente, iar starea sistemului se schimbă brusc în aceste momente.

Principiul stărilor speciale diferă de principiul int prin faptul că etapele de timp în acest caz nu sunt constante, este aleatorie și se calculează în conformitate cu informațiile despre starea specială anterioară.

Exemple de sisteme cu condiții speciale sunt sistemele de coadă. Condițiile speciale apar la momentul primirii cererilor, în momentele lansării canalelor etc.

Principalele metode de simulare.

Principalele metode de simulare sunt: \u200b\u200bmetoda analitică, metoda modelării statice și metoda combinată (analitico-statistică).

Metoda analitică este utilizată pentru a simula procesele în principal pentru sisteme mici și simple, unde nu există un factor de aleatorie. Metoda este numită condiționat, deoarece combină capabilitățile de a simula un proces al cărui model este obținut ca o soluție închisă analitic sau o soluție obținută prin metode de matematică computațională.

Metoda de modelare statistică a fost inițial dezvoltată ca metodă de testare statistică (Monte Carlo). Aceasta este o metodă numerică constând în obținerea estimărilor caracteristicilor probabilistice care coincid cu rezolvarea problemelor analitice (de exemplu, rezolvarea ecuațiilor și calcularea unei anumite integrale). Ulterior, această metodă a început să fie utilizată pentru a simula procesele care au loc în sistemele în care există o sursă de aleatoriu sau care sunt supuse influențelor aleatorii. Se numește metoda de modelare statistică.

Metoda combinată (analitico-statistică) vă permite să combinați avantajele metodelor de modelare analitică și statistică. Este utilizat în cazul dezvoltării unui model format din diverse module care reprezintă un set de modele statistice și analitice care interacționează în ansamblu. Mai mult, setul de module poate include nu numai module care corespund modelelor dinamice, ci și module care corespund modelelor matematice statice.

Întrebări de testare

1. Determinați ce este un model matematic de optimizare.

2. De ce pot fi utilizate modele de optimizare?

3. Identificați caracteristicile simulării.

4. Pentru a caracteriza metoda modelării statistice.

5. Care este modelul tipului „cutie neagră”, modelul compoziției, structurii, modelul tipului „cutie albă”?

Exemplul de mai jos poate găsi aplicație în rezolvarea unei clase mari de probleme. De exemplu, problemele de gestionare a resurselor umane și tehnice. Simularea va ajuta orice companie comercială să reducă costurile materialelor, personalului și echipamentelor.

Căutați numărul optim de angajați pentru a oferi clienților nivelul necesar de servicii

În prima etapă, este stabilit criteriul principal pentru nivelul de serviciu în bancă - dimensiunea medie a cozii. În continuare, sunt selectați parametrii corespunzători ai sistemului pentru a seta parametrii modelului: numărul de clienți, intensitatea sosirii lor, timpul de primire a unui client și abaterile naturale de la valorile medii care apar periodic, de exemplu, orele de vârf și solicitările complexe ale clienților.

Apoi, este creată o diagramă bloc corespunzătoare structurii sucursalei bancare și proceselor sale de afaceri. Modelul ia în considerare doar factorii care influențează problema analizată. De exemplu, prezența unui departament de servicii juridice sau a unui departament de credit nu afectează serviciile persoanelor, deoarece aceste departamente sunt separate fizic și funcțional.


În cele din urmă, după încărcarea datelor de intrare în model, simularea începe, și devine posibil să vedeți activitatea sucursalei bancare în dinamică, ceea ce vă permite să procesați și să analizați rezultatele. Dacă dimensiunea medie a cozii de clienți a depășit limita stabilită, atunci numărul de angajați disponibili este crescut, iar experimentul este efectuat din nou. Acest proces poate fi efectuat automat până la găsirea unei soluții optime.

eroare: