You are on page 1of 7

2

SIMULAREA NUMERIC. GENERAREA NUMERELOR ALEATOARE

2.1 Descrierea modelelor de simulare. Realizarea experimentelor de simulare n cazul sistemelor complexe, modelele matematice ce au un caracter deductiv nu pot surprinde realitatea. Se apeleaz la modele de simulare care au caracter procedural. n figura 2.1 se prezint procesul de selectare a unei metode de luare a deciziei. Realizarea experimentului de simulare face necesar parcurgerea etapelor de: modelare, programare, analiz economic a rezultatelor . Simularea poate fi analogic, numeric (Monte Carlo i joc de ntreprindere Business Games) i hibrid. Soluia este suboptimal. Simularea este o tehnic de realizare a experimentelor cu calculatorul electronic, care implic utilizarea unor modele matematice i logice care descriu comportarea unui sistem real de-a lungul unei perioade mari de timp. Un sistem de simulare cuprinde: modelul, operatorul simulrii, variabilele I/E, parametrii I/E. PAS AL SIMULRII Etapa n care toate variabilele iau valori constante. Evoluia sistemului n timp se urmrete cu variabila: CLOCK TIME. Pentru un anumit model se poate realiza un algoritm cu ceas fix i sau cu ceas variabil.

FORMULAREA PROBLEMEI ECONOMICE

Nu

EXIST UN MODEL SAU UN SISTEM DE MODELE?

Da

Decizii bazate pe experien/ intuiie

Identificarea alternativelor posibile

Conceperea unui model de simulare

Nu

Conceperea unui model analitic pentru rezolvarea

Da

problemei
Identificarea unor alternative posibile

Se formuleaz problema economic dat. Se formuleaz alternativele decizionale

Experimente cu scopul selectrii celei mai bune alternative

Rezolvarea modelului

Selectarea celor mai bune alternative

Se confirm soluia

Soluia este acceptat?

Nu

Da
Formularea deciziei

Figura 2.1

n figura 2.2 se poate urmri modul n care variaz ceasul n cazul modelelor cu ceas variabil i cu ceas fix. Valorile succesive ale ceasului T sunt marcate prin bare, iar apariiile evenimentului E prin puncte.
E1 E2 E3 E4

y
c T1 c

y
c T2

y
T3

y
c T4

Ceas cu cretere constant


E1 E2 E3 E4 E5

y
T1

y
T2

y
T3

y
T4

y
T5

Ceas cu cretere variabil


Figura 2.2

Fcnd abstracie de particularitile specifice fiecrui program de simulare, exist o structur global comun tuturor programelor de simulare bazate pe metoda ceasului variabil (figura 2.3). Structur ierarhizat

Rutine I/E Simulare activitate

Rutine I/E

Rutine I/E Simulare activitate

Simulare activitate

Program de control Segment rdcin Ciclul de baz al simulrii


Figura 2.3

ncorporat n limbajul de simulare

Legend: I/E = intrri/ieiri

2.2 Generarea numerelor aleatoare Pentru a reproduce n mod realist anumite elemente ale sistemului simulat / pentru rezolvarea unor probleme numerice apare necesitatea existenei unor numere ALESE LA NTMPLARE (aleatoare). Despre un numr oarecare se poate spune c este ntmpltor numai dac se afl ntr-un context statistic. n programele de simulare a proceselor economice, generarea variabilelor aleatoare ocup o pondere relativ mare n timpul total de rulare la calculator. Funcia RND

v = RND[(x )]
Prin definiie, NUMERELE ALEATOARE satisfac cerinele: sunt repartizate uniform ntr-un interval determinat [0; 1] , sunt statistic independente (verificate cu testele 2 , Student, Kolmogorov, Smirnov), sunt reproductibile, funcia de repartiie este stabil, irul enumerat are o perioad de repetiie mare. Principalele clase de metode de generare a numerelor aleatoare sunt: manuale, fizice, de memorizare, care constau n consultarea specialitilor, analitice. n mod practic nu se pot genera numere aleatoare care s satisfac riguros cerinele prezentate. De aceea, numerele furnizate de generatoarele analitice se numesc numere pseudoaleatoare. Generarea numerelor aleatoare n BASIC FUNCIA RND Generarea numerelor aleatoare n BASIC se realizeaz cu ajutorul funciei RND, care atribuie unei variabile un numr aleator cuprins ntre 0 i 1. Formatul: v = RND[(x )] x este o expresie numeric ce afecteaz valoarea atribuit a) la fiecare rulare a programului GENER1 este generat aceeai secven de numere aleatoare.

Programul GENER1 10 FOR I = 1 TO 25 20 PRINT RND (I) 30 NEXT I

"Exemplu:
1213501 651861 8688612 7297625 7988531 7.369809E-02 4903128 454519 1072496 9505102 7038703
b) RND (0) repet ultimul numr generat

Programul GENER2 10 FOR I = 1 TO 10 20 PRINT RND (I) 30 NEXT I 40 PRINT : PRINT RND (10)
Instruciunea RANDOMIZE Instruciunea Randomize iniializeaz generatorul de numere aleatoare.

Formatul este: RANDOMIZE [n] RANDOMIZE RANDOMIZE TIMER [n] este o expresie ntreag, n simpl sau dubl precizie care este utilizat ca smn de numr aleatoriu.
c) Programul GENER3

10 RANDOMIZE (IX) 20 IX = 2345 30 FOR I = 1 TO 10 40 PRINT RND 50 NEXT I

"Exemplu:
3.438723E-03 7.975286E-02 3002123 4781285 8639965 6350425 4734551 6910661 2771857 489469 Ok
d) n cazul n care [n] este omis, limbajul BASIC suspend execuia i cere o valoare cu mesajul: Random Number Seed (-32768 to 32767)?

Programul GENER4 10 RANDOMIZE 10 FOR I = 1 TO 10 30 PRINT RND 40 NEXT I

* Observaie: Introducnd aceeai smn se obine aceeai secven.


e) Introducnd instruciunea RANDOMIZE la nceputul programului i schimbnd la fiecare rulare valoarea iniial (smna), secvena de numere aleatoare generate este diferit. f) Utilizarea funciei TIMER permite ca la fiecare rulare a programului s se obin secvene diferite de numere.

Programul GENER5 10 RANDOMIZE TIMER 20 FOR I = 1 TO 35 30 PRINT RND 40 NEXT I

 Rezumat
Se prezint procesul de selectare a unei metode de luare a deciziei (analitic sau de simulare). Se definete simularea i se prezint conceptele, elementele componente i necesitatea generrii numerelor aleatoare. Se exemplific generarea numerelor aleatoare n BASIC.

y Cuvinte cheie

agenda calendarul evenimentelor ceas constant ceas variabil clock time (ceasul simulrii) experiment de simulare generarea numerelor aleatoare increment lege de repartiie metode analitice de generare

mutare parametru de intrare rutina de comutaie rutina eveniment simulare numeric validarea sistemului simulat variabil aleatoare variabil de ieire variabil de intrare

Bibliografie suplimentar
[1] pag. 37-46

# ntrebri recapitulative
1. Ce reprezint un model de simulare? 2. Scopul modelului de simulare este de a fotografia realitatea? Explicai, exemplificai. 3. De ce nu are modelul de simulare caracter deductiv? 4. Cum se numete simularea caracteristic proceselor economice? 5. De ce agreeaz practicienii elaborarea algoritmilor cu ceas variabil? 6. Ce reprezint rutina eveniment, dar calendarul evenimentelor? 7. Explicai de ce simularea unui sistem este conceput ca un joc. 8. Ce se nelege prin generarea numerelor aleatoare n condiiile unor restricii date? Dar a celor cu o repartiie dat?

You might also like