Sunteți pe pagina 1din 89

TEHNICI DE SIMULARE

1. Obiectivul disciplinei

Prezentarea, cunoa terea i însu irea elementelor de baz i a tehnicilor privind


modelarea i simularea sistemelor, cu aplica ii în practic .

2. Desf urarea disciplinei

Curs : 2 ore / s pt mân .


Laborator : 2 ore / s pt mân .

3. Programa analitic a cursului

1. No iuni despre modele, sisteme, simulare-------------------------------2 ore


2. Descrierea modelelor de simulare----------------------------------------2 ore
3. Numerelor aleatoare uniforme. Metode de generare-------------------2 ore
4. Simularea unor reparti ii prin metoda invers ---------------------------2 ore
5. Simularea unor reparti ii prin metoda respingerii i compunerii----- 2 ore
6. Simularea unor reparti ii prin alte metode-------------------------------2 ore
7. Simularea unor reparti ii multidimensionale----------------------------2 ore
8. Metoda Monte Carlo. Aplica ii-------------------------------------------4 ore
9. Simularea unor procese stochastice--------------------------------------2 ore
10. Simularea unor procese de a teptare--------------------------------------2 ore
11. Simularea unor procese de stocare----------------------------------------2 ore
12. Aplica ii ale simul rii în fiabilitate----------------------------------------4 ore

4. Tematica laboratorului

1. Prezentarea unor elemente de probabilit i i statistic ----------------2 ore


2. Programarea i aplicarea unor testelor statistice------------------------2 ore
3. Simularea aprovizion rii unui stoc----------------------------------------2 ore
4. Generare de numere aleatoare ---------------------------------------------2 ore
5. Simularea unor reparti ii discrete------------------------------------------2 ore
6. Simularea unor reparti ii continue---------------------------------------- 4 ore
7. Simularea unor procese stochastice---------------------------------------2 ore

1
8. Aplica ii ale Metodei Monte Carlo----------------------------------------4ore
9. Simularea unui procese de repara ii---------------------------------------2 ore
10. Simularea unor procese de a teptare--------------------------------------2 ore
11. Simularea unor procese de stocare----------------------------------------2 ore
12. Algoritmi i calcule de fiabilitate-----------------------------------------2 ore

5. Proiecte
1. Verificarea unor ipoteze statistice folosind testul 2 .
2. Verificarea unor ipoteze statistice folosind testul Kolmogorov.
3. Verificarea unor ipoteze statistice folosind alte teste.
4. Generarea unor numere aleatoare folosind metode congruen iale.
5. Generarea unor variabile aleatoare prin metoda invers folosind solu ii
numerice: metoda bisec iei.
6. Generarea unor variabile aleatoare prin metoda invers folosind solu ii
numerice: metoda secantei.
7. Generarea unor variabile aleatoare prin metoda invers folosind solu ii
numerice: metoda lui Newton-Raphson.
8. Generarea unor variabile aleatoare prin metoda respingerii.
9. Generarea unor variabile aleatoare prin metoda compunerii.
10. Generarea unor variabile aleatoare prin alte metode.
11. Generarea vectorilor aleatori având reparti ie normal .
12. Calculul unor integrale prin Metoda Monte Carlo.
13. Simularea unor cazuri concrete de stocare.
14. Simularea unor cazuri concrete de a teptare.
15. Programarea algoritmului pentru calculul func iei de structur a unui sistem.

6. Bibliografie

1. V duva Ion, Modele de simulare cu calculatorul, Editura Tehnic , Bucure ti, 1977.
2. V duva Ion i al ii, Simularea proceselor economice, Editura Tehnic , Bucure ti,
1983.
3. Ra iu Camelia-Suciu, Modelarea i simularea proceselor economice, Editura
Didactic i Pedagogic , Bucure ti, 1995.
4. Gorunescu F., Prodan A., Modelare stochastic i simulare, Editura Albastr , 2001.
5. Barbu Gh., Modele de simulare cu aplica ii în fiabilitate, Editura Tehnic ,
Bucure ti, 1992.
6. Ziegler P.B., Theory of Modelling and Simulation, John Wiley and Sons, New York.

2
7. Evaluare

Prezen activ la curs ---------------------------------------------------------20 %


Activitate la laborator ----------------------------------------------------------10%
Proiect----------------------------------------------------------------------------20%
Examen par ial------------------------------------------------------------------ 20%
Examen final---------------------------------------------------------------------30 %

3
Tehnici de simulare Cursul nr.1

NO IUNI DESPRE SISTEME, MODELE, SIMULARE

Cuvântul „simulare” deriv din latinescul „simulatio”, care înseamn capacitatea de a


reproduce, reprezenta sau imita ceva.
În matematic , termenul „simulare” a fost folosit pentru prima dat de c tre John von
Neumann i S. Ulan în anii 1940-1944, cu ocazia cercet rilor de fizic nuclear efectuate în
S.U.A. Ei, împreun cu N. Metropolis, Fermi i al i matematicieni i fizicieni ai colii „Los
Alamos” au introdus în aceea i perioad un nume pitoresc în matematic i anume „metoda
Monte Carlo”. Denumirea, desigur improprie, provine din faptul c primele metode de
generare a numerelor aleatoare au fost cele oferite de rezultatele ob inute la ruletele
vestitelor cazinouri din Monte Carlo.
Se spune c simularea este mai mult o art decât o tiin .

Modele

Modelarea este o metod de studiu a unor procese i fenomene care se realizeaz prin
substituirea obiectului real al cercet rii. Ca metod de cercetare este destul de veche,
modelele fizice prin similitudine, apoi cele construite prin analogie înlocuind de multe ori
obiectul real supus cercet rii.
Un model presupune, în general, reprezentarea sistemului ca o mul ime de p r i în
interac iune una cu alta.
Modelul poate fi:
un duplicat al sistemului,
o reprezentare simbolic (de exemplu matematic ) a sistemului,
sistemul.
Modelele constituie reprezent ri ale realit ii. Dac ele ar fi tot atât de greu de
manevrat ca realitatea, prin utilizarea lor nu s-ar ob ine nici-un avantaj. De obicei se pot
construi modele mult mai simple decât realitatea, pe baza c rora putem s prevedem i s
explic m cu un înalt grad de acurate e, fenomene complexe. Explica ia const în faptul c ,
de i pentru a descrie un fenomen este necesar un num r mare de variabile, de obicei pu ine
dintre acestea au rol esen ial. Important este s descoperim care sunt acele variabile i
rela iile dintre ele.
Modelarea matematic ocup un loc important în ansamblul metodelor de modelare,
în special prin facilit ile oferite de calculatoarele cu capacitate mare de memorare i vitez
mare de lucru.

4
Modelele matematice au ap rut din necesitatea de a descrie i studia formal
comportarea diferitelor tipuri de sisteme reale, cu scopul lu rii unor decizii privind evolu ia
lor viitoare.
Elaborarea unei structuri matematice împreun cu o list de coresponden e între
simbolurile matematice i obiectele situa iei concrete considerate a condus la ceea ce numim
model matematic.
În procesul de modelare matematic , componentelor sistemului li se asociaz anumite
variabile/parametri, unele cunoscute (controlabile), numite variabile/parametri de intrare,
altele necunoscute(necontrolabile), numite variabile/parametri de ie ire. Leg turile i
interac iunile dintre componentele sistemului sau leg turile sistemului cu exteriorul se
transpun în modelul matematic prin rela ii func ionale(ecua ii i/sau identit i). Scopul
modelului este de a exprima variabilele necontrolabile în func ie de variabilele controlabile,
astfel încât s fie satisf cute criteriile de performan . Uneori nu este posibil s se exprime
sub form de ecua ii toate leg turile, condi ion rile i interdependen ele necesare, motiv
pentru care unele dintre acestea se descriu prin condi ii logice sau proceduri ce pot fi
manipulate numai prin intermediul calculatorului. Modelul matematic completat cu astfel de
proceduri este un model de simulare, care pornind de la valori ale variabilelor controlabile
(generate cu algoritmi speciali), va produce valori ale variabilelor necontrolabile, oferind
variante din care se poate alege cea mai bun . De aici rezult c modelul de simulare
produce experimente asupra sistemului pe care-l simuleaz , ceea ce permite alegerea acelor
valori ale variabilelor i parametrilor de intrare care conduc la performan ele dorite.

Sisteme

Dezvoltarea în ritm accelerat a tiin ei i tehnicii contemporane creeaz complexitate,


care devine din ce în ce mai greu de controlat, de st pânit, de condus. În sprijinul eforturilor
sale de a st pânii complexitatea, de a-i cunoa te componentele, de a descoperi diferite legi
care o guverneaz , omul a creat no iunea de sistem.
Sistemul reprezint un ansamblu de elemente (componente fizice sau logice, legi,
reguli etc.) interconectate, care func ioneaz în comun pentru realizarea unuia sau mai
multor scopuri.
Elementul reprezint o parte din sistem (un subansamblu sau o component ) capabil
s îndeplineasc o anumit func iune în cadrul sistemului.
Elaborarea unei structuri matematice împreun cu o list de coresponden e între
simbolurile matematice i obiectele situa iei concrete considerate a condus la ceea ce numim
model matematic. Modelele matematice au ap rut din necesitatea de a descrie i studia
formal comportarea unei categorii de sisteme reale, cu scopul de a controla i dirija
activitatea lor viitoare.
Necesitatea ob inerii unor informa ii despre un anumit sistem înainte ca el s fie
realizat a condus la apari ia simul rii.

5
Oamenii tr iesc în sisteme sociale. Activitatea tehnologic a produs sisteme fizico-
tehnice complexe.
Exemple: Un automobil este un sistem format din componente care ac ioneaz
împreun pentru a asigura transportul.
Familia este un sistem de convie uire i de cre tere a copiilor.
O clasificare a sistemelor poate fi f cut în sisteme deschise i sisteme cu conexiune
invers .
Un sistem deschis este caracterizat de ie iri care corespund intr rilor în sistem, dar
ie irile sunt izolate de intr ri i nu au nici o influen asupra acestora. Într-un sistem deschis,
rezultatele ac iunii trecute nu comand ac iunea viitoare. Sistemul nu observ i nu
reac ioneaz la propria-i performan .
Exemplu: Un automobil este un sistem deschis care singur nu se poate conduce dup
drumul pe care l-a parcurs în trecut i nici nu are o anumit „ int ”, direc ie, spre care s
mearg în viitor. Un ceas este de asemenea un sistem deschis; el nu- i
Intr ri Iesiri
Sistem

Fig.1 Sistem deschis

observ propria imprecizie pentru a i-o controla singur.

Sistemul cu conexiune invers (cu reac ie sau feed-back) care este denumit i sistem
închis este influen at de propria-i comportare trecut . La aceste sisteme ie irile pot regla
intr rile. Un sistem cu conexiune invers func ioneaz ca o bucl închis care folose te
rezultatele ac iunii trecute ale sistemului pentru a comanda ac iunea viitoare.
Exemplu: Un ceas i posesorul lui formeaz un sistem cu conexiune invers ; când ora
indicat de ceas este comparat cu ora exact , care este luat ca obiectiv, iar ceasul este
potrivit
Decizie Ac iune Starea sistemului Informa ia pentru a
elimina
erorile.

Fig.2 Sistem cu conexiune invers

Bucla conexiunii inverse este o cale închis care leag în aceea i secven o decizie
ce comand ac iunea, starea sistemului i informa ia despre starea sistemului, în final
întorcându-se la punctul de luare a deciziilor.

6
În general, un model M al unui sistem S este un alt sistem S’ care din anumite puncte
de vedere este echivalent cu S, dar care este mai u or de studiat decât S. Printr-un sistem S
în elegem urm toarea structur de mul imi:

S ={T, X, U, V, Y, , }
unde
- T este timpul de baz utilizat pentru cronometrarea i ordonarea evenimentelor; T este un
num r real dac sistemul este cu timp continuu sau întreg dac sistemul este cu timp
discret;
- X reprezint mul imea intr rilor în sistem;
- U este mul imea segmentelor de intrare în sistem, prin segment de intrare în sistem
asociat func iei u : T → X în elegându-se graficul func iei u pe un interval [t 0 , t1 ] , adic :
u ([t 0 , t1 ]) = {(t , u (t )) | t 0 ≤ t ≤ t1 } ;
- V este mul imea st rilor sistemului; starea este un concept de modelare a structurii interne
a sistemului, ce con ine istoria acestuia i care-i afecteaz prezentul i viitorul i
împreun cu forma intr rilor determin în mod unic ie irile din sistem;
- Y este mul imea ie irilor sistemului;
- este func ia de r spuns a sistemului ϕ : X × V → Y ; dac la o intrare u ([t 0 , t1 ]) sistemul se
afl în starea σ t0 ∈ V atunci ie irea sistemului Y = ϕ(u ([t 0 , t1 ]), σ t0 ) ;
- este func ia de tranzi ie a st rilor ceea ce înseamn c dac intrarea u ([t 0 , t1 ]) g se te
sistemul în starea σ t0 ∈ V atunci îl transform pe acesta în starea σt1 = η(u ([t0 , t1]), σt0 ) .
Cunoa terea intr rilor u ∈ U i a r spunsurilor corespunz toarea acestora y ∈ Y
reprezint comportarea sistemului.
Un model al unui sistem trebuie s îndeplineasc urm toarele trei condi ii:
1. modelul trebuie s reflecte cât se poate de fidel realitatea reprezentat ;
2. modelul trebuie s constituie o simplificare a realit ii reprezentate;
3. modelul este prin esen a sa o idealizare a realit ii reprezentate.

Simulare

În proiectarea sistemelor, deosebit de important este ob inerea unor informa ii despre


sistem înainte ca el s fie realizat concret; acest lucru este posibil aplicând tehnica simul rii.
Prin simulare numeric se în elege totalitatea procedeelor matematice i de calcul
destinate studiului comport rii în timp a sistemelor reale cu ajutorul calculatoarelor
electronice numerice, presupunându-se c în evolu ia acestor sisteme intervin i elemente
aleatoare. Simularea numeric este o tehnic potrivit c reia se asociaz sistemului real un
model adecvat numit model de simulare, care reprezint mul imea interac iunilor logice ale
componentelor sistemului, precum i mecanismul schimb rii lor în timp. Modelul este

7
folosit apoi pentru a produce, prin intermediul calculatorului, succesiunea cronologic de
st ri prin care trece sistemul, considerându-se dat starea sa ini ial .
Deoarece în evolu ia lor sistemele reale sunt influen ate de cauze aleatoare al c ror
efect trebuie pus în eviden în cadrul modelelor de simulare, una din problemele
matematice importate ale simul rii numerice const în generarea cu calculatorul a unor
selec ii statistice asupra diferitelor tipuri de variabile aleatoare i procese stochastice.
O alt problem important legat de construirea modelelor de simulare este aceea a
cronometr rii exacte a evenimentelor st rilor sistemului simulat folosind o variabil numit
ceasul simul rii, care este supus unui num r finit de cre teri pe parcursul simul rii.
De i nu ofer solu ii exacte simularea este o tehnic eficient de cercetare atât pentru
fenomenele fizice care nu pot fi percepute de om cât i pentru acelea percepute, dar
imposibil de studiat analitic. Necesitatea simul rii rezid în faptul c adeseori sistemele reale
nu pot fi studiate în mod direct, fie datorit dificult ilor de evaluare calitativ sau cantitativ
a fenomenelor, fie din cauza complexit ii (num rul mare de variabile de intrare i de ie ire,
num rul mare de st ri posibile, complexitatea func iilor i , etc.).
Studiul variantelor de decizie pe modele, pe lâng avantajele de natur economic ,
scurteaz durata de ob inere a solu iilor, permite analiza unui num r mare de variante prin
modificarea condi iilor ini iale, având avantajul revenirii la varianta de r spuns conform cu
cerin ele utilizatorului.
Folosirea unui sistem real pentru experimentare poate conduce la perturbarea
activit ilor unui domeniu în care este studiat sistemul, anumite variante mai pu in inspirate
putând avea implica i imprevizibile.
În cazul unor sisteme care nu exist înc se poate ob ine un plan de construire a
sistemului în func ie de anumite criterii de optimizare a intr rilor i/sau ie irilor sistemului
reprezentat. De exemplu, dac utiliz m simularea pentru proiectarea unui baraj, dimensiunile
i rezisten a acestuia se pot determina prin experimente cu calculatorul pe un model care
prevede cerin a medie de curent electric i factori aleatori precum volumul precipita iilor în
intervalele de timp stabilite. Experimentele reale nu sunt practice, deoarece barajul odat
construit nu poate fi modificat.
Desigur c simularea presupune i unele dezavantaje. Construirea modelelor de
simulare cere o preg tire special . Se spune c simularea este mai degrab o art decât o
tiin , care se înva în timp i prin experien .
Rezultatele simul rii sunt aproximative i nu exacte, iar uneori sunt greu de
interpretat. Cele mai multe ie iri ale sistemului sunt variabile aleatoare (bazate pe intr ri
aleatoare) i va fi greu de determinat dac se datoreaz interac iunilor sistemului sau
întâmpl rii.

8
Tipuri de modele

În multe domenii tiin ifice se folosesc trei tipuri de modele:


• modele imitative
• modele analogice
• modele simbolice.
Modelele imitative transpun realitatea la o alt scar , mai mare sau mai mic , cu
scopul observ rii comport rii realit ii respective. Prin modele imitative se ob in imita ii ale
realit ii, ceea ce înseamn c un model imitativ seam n cu fenomenul pe care-l reprezint ,
dar difer ca m rime; el este o imagine. Pentru exemplificare men ion m desenele, h r ile,
machetele de automobile , nave avioane etc. Modelele imitative ale soarelui i planetelor
sunt mic orate, în timp ce modelele atomice(modelul lui Bohr, de exemplu) sunt m rite.
Modelele imitative sunt specifice, concrete (fizice) i greu de manipulat în scopuri
experimentale.
Modelele analogice, spre deosebire de cele imitative, exprim un fenomen sau proces
pe car-l studiem (al c rui comportament nu-l cunoa tem aprioric) printr-un model realist al
unui fenomen sau proces care prezint analogii.
Modelele analogice folosesc anumite propriet i pentru a reprezenta alte propriet i.
Ele sunt mai pu in specifice, mai pu in concrete, dar mai u or de mânuit decât modele
imitative. De exemplu, se pot utiliza modele unor sisteme hidraulice pentru studierea unor
sisteme electrice sau de transport. Un alt exemplu îl constituie analogiile istorice pentru
prognoza dezvolt rii societ ii într-o anumit ar . Liniile de nivel pe o hart topografic
reprezint un model analogic al în l imilor unei structuri date.
Modelele simbolice folosesc litere, cifre sau alte simboluri pentru a reprezenta
caracteristicile unei realit i. Corela iile între caracteristicile realit ii au condus la scrierea
unor rela ii matematice adecvate i prin aceasta la crearea unui model abstract (matematic).
Modelele matematice folosesc simboluri i ecua ii matematice pentru a reprezenta un
sistem.
Un model de simulare este un tip particular de model matematic al unui sistem.
Modelele de simulare pot fi clasificate astfel:
• statistice sau dinamice
• deterministe sau stochastice,
• discrete sau continue.
Modelele statice sunt acelea care nu iau în mod explicit în considerare variabila timp;
ele reflect situa ii i st ri invariante i atemporale. Cele mai multe modele statice sunt
deterministe i solu iile lor pot fi ob inute i analitic.
Modelele dinamice sunt acelea care in seam de varia ia i interac iunea în timp a
variabilelor considerate. Ele încorporeaz timpul ca m rime fundamental . Timpul constituie
o variabil de stare. Ele se rezolv utilizând tehnica simul rii.

9
Modelele deterministe sunt acelea în care toate variabilele sunt nealeatoare, iar
caracteristicile operative sunt ecua ii de o anumit form ; de obicei, solu iile acestor modele
se ob in pe cale analitic .
Modelele stochastice sunt acelea care con in una sau mai multe variabile de intrare
aleatoare i deci una din caracteristicile operative este dat printr-o func ie de densitate;
intr rile aleatoare conduc la ie iri aleatoare. Modelele stochatice au la baz ideea c
evenimentele nu se produc cu certitudine, ci cu o anumit probabilitate. În cazul modelelor
deterministe evenimentele se produc sau nu se produc, iar în cazul producerii exist o
certitudine bazat pe reguli clare. În cazul modelelor aleatoare evenimentele se produc sau
nu se produc, regulile de inferen ale modelului nu confer certitudine producerii lor.
Aceste modele, de obicei, se rezolv folosind tehnica simul rii, metodele analitice fiind
ineficiente.
Modelele discrete sunt acele modele în care schimb rile st rilor variabilelor se fac la
momente discrete de timp.
Modelele continue sunt acelea în care schimb rile st rilor variabilelor se produc
continuu.

Exemple.

10
Tehnici de simulare Cursul nr.2

DESCRIEREA MODELELOR DE SIMULARE

În procesul de modelare matematic , modelul este reprezentativ pentru


sistemul fizic dac se respect condi ia de cauzalitate, ceea ce conduce la
clasificarea elementelor în:
elemente de intrare (cauz ) care formeaz vectorul de intrare x=(x1,
x2,…xm)
elemente de ie ire (efect) care formeaz vectorul de ie ire y=(y1,
y2,…yn),).
ambii vectori fiind în general aleatori.
În absen a oric ror informa ii asupra structurii sistemului, acesta este
descris matematic de c tre dependen a func ional dintre vectorul de ie ire i
vectorul de intrare: y=f(x).
Variabilele de intrare pot fi:
variabilele deterministe, care se ob in dup reguli bine precizate sau
se g sesc înregistrate pe supor i de informa ie;
variabilele stochastice, care sunt generate cu calculatorul dup
algoritmi de generare performan i, generarea depinzând de parametrii
de intrare care caracterizeaz aceste variabile.
O etap în care toate variabilele de intrare iau valori constante în timpul
execut rii programului de simulare se nume te pas al simul rii.
Variabilele de ie ire depind de variabilele de intrare. Dependen a este
determinat de structura logic a modelului de simulare considerat; o valoare a
unei variabile de ie ire este rezultatul execut rii unui pas al programului de
calcul asociat modelului. Dac cel pu in una din variabilele de intrare este
stochastic , atunci cel pu in una din variabilele de ie ire este stochastic .
De mare importan în construirea modelului de simulare este procedeul
de “mi care” a sistemului în timp; pentru aceasta este necesar introducerea unei
variabile speciale numit ceasul simul rii, care s m soare scurgerea timpului
real în care se simuleaz sistemul, cu scopul de a men ine ordinea corect în timp
a evenimentelor.

11
Modelele de simulare mai con in rela ii func ionale (identit i i/sau
ecua ii) precum i caracteristici operative, fiind utilizate pentru a exprima prin
rela ii matematice interac iunile variabilelor i comportarea sistemului.
O caracteristic operativ este de obicei o ipotez (statistic sau nu) sau o
ecua ie matematic precizat care leag variabilele de intrare ale sistemului de
st ri sau de variabilele de ie ire.
Dac aceste variabile sunt stochastice, caracteristicile operative iau forma
unor func ii de densitate de probabilitate, iar printre parametrii de intrare ai
modelului vor fi i parametrii statistici ai caracteristicilor operative. Ace ti
parametri au rol de m rimi de intrare în modelul de simulare i trebuie estima i în
prealabil din observa ii statistice efectuate asupra procesului sau sistemului ce
urmeaz a fi simulat.
Dup construirea modelului de simulare, simularea în sine, ca experiment,
const în a varia valorile variabilelor i parametrilor de intrare ai sistemului i a
deduce pe baza modelului, ca rezultat al calculelor, efectele lor asupra
variabilelor de ie ire.
Deosebim dou tipuri de simulare:
discret , dac variabilele modelului pot avea numai anumite valori
discrete;
continu , dac variabilele modelului pot avea orice valoare pe
anumite intervale reale.
În cazul simul rii cu timp discret, ceasul simul rii înainteaz de la un
eveniment la altul i nu în mod continuu.
În cazul simul rii cu timp continuu, variabilele care descriu starea
sistemului î i schimb valorile în mod continuu în raport cu timpul.
Etapele rezolv rii unui model de simulare

Construirea modelelor de simulare constituie un proces amplu care în


general presupune parcurgerea urm toarelor etape:

1. Definirea problemei, etap în care se stabilesc obiectivele simul rii:

întreb rile la care trebuie s r spund s fie clare


ipotezele ce trebuiesc testate s fie înso ite de criterii de acceptare
efectele ce urmeaz a fi estimate.

12
2. Colec ionarea, analiza, interpretarea i prelucrarea primar a datelor.

În aceast etap se stabilesc:

datele de observa ie necesare pentru studierea sistemului considerat


modalit ile de strângere a datelor de observa ie

Aceast etap este esen ial deoarece colec ionarea unor date eronate are
mari consecin e în ob inerea rezultatelor finale, motiv pentru care este
necesar o analiz preliminar i o interpretare a lor pentru a depista
eventualele neconcordan e cu realitatea. Se efectueaz o prelucrare primar ,
apoi se face conversia i transmiterea lor, în vederea organiz rii în fi iere
pentru a putea fi utilizate de calculator. Datele de observa ie sunt necesare
pentru estimarea parametrilor caracteristicilor operative ale modelului ce va fi
construit, ini ializarea variabilelor de intrare ale modelului i validarea lui.

3. Formularea modelului de simulare.

Pentru a construi un model matematic de simulare a unui sistem, componentelor


sale li se asociaz anumite variabile i parametri, unele dintre acestea fiind

• cunoscute (controlabile) pe care le numim variabile i parametri de intrare


• necunoscute (necontrolabile) pe care le numim variabile i parametri de
ie ire.

Interac iunile dintre componentele sistemului sau leg turile sistemului cu


exteriorul se reg sesc în modelul matematic sub forma unor rela ii func ionale.
Printre rela iile modelului exist una sau mai multe func ii care leag diferite
variabile i care m soar performan a sistemului. Deoarece în evolu ia lor
sistemele reale sunt influen ate de factori aleatori al c ror efect este pus în
eviden în cadrul modelului de simulare, o parte din variabilele de intrare ale
modelului sunt variabile aleatoare având func ii de reparti ie cunoscute. De aici
apare necesitatea ca modelul de simulare s con in rutine care s genereze
aceste variabile de intrare. Modelul de simulare trebuie s con in

13
• variabile care s descrie st rile componentelor sistemului (variabile de
stare)
• o agend care s memoreze evenimentele care se produc în sistem
• rutine pentru producerea (generarea) diferitelor tipuri de evenimente.

Construirea unui model de simulare difer de la o problem la alta, motiv pentru


care nu pot fi stabilite ni te reguli general valabile. Cu toate acestea se pot indica
câteva reguli de care trebuie s se in seama în construirea modelului de
simulare. Una dintre acestea se refer la num rul de variabile pe care le folose te
modelul; un num r prea mare ar crea dificult i în ceea ce prive te stabilirea
rela iilor func ionale, ar face ca modelul s fie mai pu in flexibil, iar timpul de
calculat ar fi mai mare. Nu trebuie s se ajung nici la cealalt extrem a
simplific rii exagerate a modelului prin folosirea unui num r mic de variabile,
deoarece în acest caz ar putea pierde o parte din aspectele esen iale ale
problemei. Rela iile func ionale ale modelului trebuie s aib o form cât mai
simpl , fiind u or de calculat i evaluat în a a fel încât erorile de calcul induse s
fie cât mai mici, asigurând în acest fel o cât mai bun precizie a modelului.
De mare importan în realizarea modelelor de simulare este ob inerea unui timp
de calcul redus, fapt ce permite simularea diferitelor variante de sistem cu costuri
(eforturi) rezonabile.
O alt cerin de care trebuie s se in seama la construirea modelelor de
simulare se refer la mijloacele prin care poate fi verificat corectitudinea
modelului i variantele ce urmeaz a fi simulate cu ajutorul calculatorului
electronic.

4. Estimarea parametrilor de intrare ai modelului.

Parametrii de intrare ai modelului matematic de simulare se estimeaz prin


metode statistice, folosind datele colec ionate (în prima etap ) despre sistemul
real. Caracteristicile operative pot avea forma unor ecua ii sau sisteme de
ecua ii depinzând de anumi i parametri care pot fi estima i cu ajutorul
tehnicienilor specifici analizei regresiei.

14
5. Evaluarea performan elor modelului i testarea parametrilor.

Aceast etap are ca scop verificarea modelului înainte ca el s fie


programat. Se verific dac parametrii de intrare ai modelului au fost bine
estima i (folosind teste statistice), se verific dac modelul con ine toate
variabilele i parametrii esen iali precum i rela iile func ionale necesare
reprezent rii interdependen elor esen iale ale sistemului real.
În cazul când caracteristicile operative iau forma unor ipoteze statistice
referitoare la reparti iile variabilelor de intrare, atunci se aplic testele de
concordan (testul ℵ 2, Kolmogorov-Smirnov) pentru verificarea acestor
ipoteze.
Dac în urma acestor verific ri se constat c o întrebare sau o ipotez nu
este corect formulat , atunci variabilele i parametrii nu au fost bine ale i,
parametrii de intrare nu au fost bine estima i sau se constat alte neconcordan e
în cadrul modelului, atunci toate etapele precedente vor fi reluate în vederea
corect rii lor.

6. Descrierea algoritmului de simulare i scrierea programului de calcul.


Pe baza rezultatelor etapelor precedente se construie te algoritmul de
calcul care reprezint succesiunea logic a evenimentelor ce urmeaz a fi
reproduse cu calculatorul electronic. Pentru a fi mai u or de programat,
algoritmul este reprezentat printr-o schem logic ; urmeaz scrierea
programului care se poate face fie folosind un limbaj de programare de nivel
inalt: Fortran, Pascal, C / C++, fie un limbaj special de simulare, de exemplu
GPSS.
Alegerea limbajului de programare depinde de mai mul i factori, din care
amintim: timpul calculator necesar simul rii, forma sub care trebuie imprimate
rezultatele simul rii, experien a ca programator etc.
Limbajele de simulare (specializate) fac mult mai u oar descrierea unui
sistem i a comport rii lui în timp. Ele pot u ura mult modelarea, ceea ce face
s fie net superioare din acest punct de vedere limbajele generale de
programare.

15
7. Validarea modelului.

Validarea modelului, adic stabilirea adecv rii lui la realitate, este de


obicei o sarcin complex i dificil . Valoarea unui model în raport cu
contribu ia sa la studiul situa iei concrete modelate este determinat de gradul
s u de adecvare, adic la modul în care predic iile concord cu observa iile.
Metodele de validare a modelelor matematice de simulare nu sunt unice.
Validarea modelului se poate face prin:
testarea modelului într-un caz particular, în care solu ia se cunoa te
sau poate fi dedus cu u urin a pe cale analitic
compararea rezultatelor simul rii cu datele ob inute prin observarea
unor sisteme similare sau prin compara ie cu evolu ia trecut a
sistemului real care a fost simulat.
Variantele modelului care se dovedesc neadecvate sunt modificate pân se
ajunge la solu ii care concord cu realitatea.

8. Planificarea experien elor de simulare.

În aceast etap se face atribuirea variabilelor i parametrilor de intrare a


valorilor care s acopere situa iile reale în care s-ar putea afla sistemul în vederea
select rii variantei care satisface cerin ele utilizatorului.
9. Analiza datelor simulate.

Rezultatele simul rii ne prezint care este “reac ia” sistemului la


modificarea valorilor variabilelor de intrare i mai mult, în ele vom c uta
r spunsurile la întreb rile formulate la început. Acest lucru este posibil
colec ionând datele simulate, prelucrându-le calculând statisticile pentru testele
de semnifica ie i apoi interpretând doar rezultatele.
Ceasul simul rii

Prin intermediul modelului de simulare calculatorul electronic produce succesiv


diferite evenimente care reprezint schimb rile ce au loc în timp în cadrul
sistemului. Pentru a putea men ine ordinea corect a acestor evenimente i pentru
putea preciza, dup fiecare pas al simul rii care este intervalul de timp în care s-

16
a simulat evolu ia sistemului la pasul respectiv, este necesar s se introduc în
modelul de simulare o variabil special numit ceas. La fiecare pas al simul rii
trebuie s se genereze o “cre tere” a ceasului care s se adauge m rimii ceasului
la pasul anterior.
Exist dou tipuri de ceas:
• ceas cu cre tere fix (constant )
• ceas cu cre tere variabil .
Simularea bazat pe metoda ceasului constant, const în a genera de fiecare dat
o cre tere constant c a ceasului i a analiza apoi starea diferitelor elemente ale
sistemului generând toate evenimentele posibile a se produce în intervalul de
timp de lungime c. Dup aceea se va genera o nou cre tere care se va ad uga
ceasului, se va repeta analiza men ionat .
Schema logic a modelului de simulare trebuie în acest caz s descrie în mod
complet evolu ia sistemului pe un interval de timp de lungime c; simularea
sistemului pe un interval mare (oarecare) de timp se va ob ine repetând de un
num r de ori suficient de mare algoritmul referitor la intervalul de timp de
lungime c. Deci pentru modelele de simulare de ceas constant m rimea ceasului
T este de forma:
T=cj (j=0,1,2,…)
unde j este un întreg care reprezint num rul de itera ii ale algoritmului de
simulare.
În cazul ceasului variabil, valoarea (variabil ) a cre terii ceasului este egal cu
lungimea intervalului de timp dintre apari iile a dou evenimente consecutive.
Cu alte cuvinte m rimea cre terii ceasului este egal cu intervalul de timp de la
starea actual la momentul apari iei celui mai apropiat eveniment viitor.
În cazul modelului cu ceas constant, avem:
O e1 e2 e3 e4 T

T1 T2 T3

În cazul modelului cu ceas variabil, avem:

17
O e1 e2 e3 e4 T
T1 T2 T3 T4

Metoda ceasului variabil presupune în mod riguros considerarea ordinii


tuturor apari iilor de evenimente succesive, astfel încât la fiecare nou apari ie
corespunde o cre tere a ceasului.
În cazul modelelor cu ceas constant, dac de exemplu valoarea ceasului la
un moment dat este T=ck, atunci în aceast faz algoritmul de simulare va genera
evenimentele care urmeaz s se produc în intervalul de timp [c(k-1),ck ) i dup
aceea va avansa ceasul la valoarea T=c(k+1).
Un model de simulare bazat pe metoda ceasului constant consider grupul
de evenimente produse în intervalul [c(k-1),ck ) ca i cum s-ar fi produs la momentul
ck.
În consecin procedeul bazat pe metoda ceasului constant, spre deosebire
de cel bazat pe ceas variabil, face ca grupul de evenimente care apar pe un
interval de timp de lungime c s fie sincronizate la momentul termin rii acelui
interval. Din acest motiv este recomandabil s se aleag constanta c cât mai
mic . Aceasta va conduce la cre terea timpului de calcul. Pe de alt parte,
m rirea constantei c datorit sincroniz rii unor evenimente ce se petrec la
momente de timp îndep rtate, va m ri gradul de aproxima ie al modelului i va
reduce timpul de calcul.
Metoda bazat pe ceasul constant este de preferat celei bazat pe ceasul cu
cre tere variabil , mai ales din punctul de vedere al u urin ei cu care se poate
construi algoritmul simul rii.

18
Tehnici de simulare Cursul nr.3

NUMERE ALEATOARE UNIFORME. METODE DE GENERARE

Numere aleatoare: numerele care sunt “alese la întâmplare”.


Se utilizeaz :

în aplica ii în care realizeaz înlocuirea valorilor variabilei aleatoare cu o


mul ime de valori care au propriet ile statistice ale acesteia;
în simularea numeric pentru a reproduce în mod realist anumite elemente ale
sistemului simulat, precum i pentru rezolvarea unor probleme numerice cu
ajutorul metodelor Monte Carlo;
în cercetarea statistic pentru a produce selec ii întâmpl toare în cadrul unei
popula ii statistice, selec ii c rora li se pot aplica apoi procedee de prelucrare
i interpretare specifice statisticii matematice;
în testarea programelor pe calculator.

Se nume te ir de numere aleatoare independente cu o reparti ie de probabilitate specificat ,


irul care îndepline te condi iile:

numerele irului au fost ob inute la întâmplare;


fiecare num r nu este în nici un fel legat de celelalte numere ale irului i în
plus are o anumit proprietate de a se afla într-un anumit interval.

Un sir de numere aleatoare independente cu o reparti ie specificat este o selec ie


întâmpl toare efectuat asupra unei variabile aleatoare a c rei reparti ie este cea specificat .

Observa ie. Dac într-un ir de numere putem prevedea unul din termenii irului în func ie
de termenii preceden i atunci irul nu este aleator. În cadrul irurilor de numere aleatoare de
lungime foarte mare este posibil ca unele numere s se repete, dar ele îndeplinesc anumite
cerin e care le apropie de cele întâmpl toare; ele se numesc numere pseudo-aleatoare.

Exist mai multe procedee de a produce numere întâmpl toare i anume:

1. Tabele cu numere întâmpl toare, care con in numere întregi uniform repartizate pe un
interval.

19
2. Procedee fizice, fiind construite ma ini sau dispozitive fizice pentru producerea de
numere întâmpl toare. Ele se bazeaz pe principii fizice, folosind de exemplu
zgomotul electronic sau radioactiv.
Procedeul radioactiv const dintr-un detector de particule radioactive care
înregistreaz într-o perioad de timp ∆t un num r par sau impar de particule emise de
surs . Un alt procedeu fizic este cel al intensit ii unui curent m surat la momente
distincte astfel încât valorile voltajelor U (t1 ), U (t 2 ), , U (t n ), s poat fi considerate ca
independente. În cazul când un astfel de dispozitiv se folose te pentru generarea de
numere aleatoare cu o anumit reparti ie, dispozitivul este conectat la calculator astfel
încât el s poat produce numere aleatoare la nevoie.

3. Procedee aritmetice
Pentru generarea numerelor aleatoare cu ajutorul calculatoarelor electronice numerice
se folosesc rela ii de recuren de forma:
X n +1 = f ( X n , X n −1 , , X n − m ) ,
n > m, m ≥ 0 unde X n , n ∈ N sunt numere naturale, presupunându-se c vectorul
valorilor ini iale X 0 , X 1 , , X m este dinainte fixat.

Un procedeu aritmetic de ob inere a numerelor aleatoare bazat pe o rela ie de


recuren de forma de mai sus se nume te generator. inând seama de faptul c numerele
sunt generate în acest mod ele nu sunt întâmpl toare, dar pentru anumite alegeri ale lui f i
nu se pot ob ine numere cu propriet i statistice apropiate de cele întâmpl toare. Un
asemenea generator va produce numere pseudo-aleatoare sau cvasi-aleatoare.
Pentru ca un procedeu aritmetic s poat fi numit generator de numere pseudo-
aleatoare, trebuie s îndeplineasc urm toarele condi ii:

1. Generatorul trebuie s fie simplu i rapid, ceea ce înseamn c el trebuie s el trebuie


s fie u or de programat, s ocupe memorie pu in i s solicite timp de calcul redus.
2. Generatorul trebuie s produc iruri de numere de lungime oricât de mare, f r ca
numerele irului s se repete. Aceasta ar însemna s nu produc iruri cu perioad
finit . inând seama c m rimea cuvântului unui calculator este limitat , ceea ce
înseamn c orice calculator poate lucra numai cu numere întregi mai mici decât un
num r dat, rezult c nu putem construi generatori cu perioad infinit . De aceea,
cerin a ca un generator s produc iruri oricât de lungi de numere se reduce la faptul
c generatorul trebuie s aib perioad cât mai mare posibil .
3. Generatorul trebuie s produc numere independente stochastic unul fa de altul.
Practic acest lucru nu este realizabil cu calculatorul, dar un generator este acceptat
dac produce numere care sunt foarte pu in dependente stochastic sau foarte pu in
corelate. Gradul de independen stochastic se verific cu ajutorul testelor statistice.

20
4. Generatorul trebuie s produc numere a c ror reparti ie s fie uniform , ceea ce se
poate verifica cu ajutorul testelor de concordan (testul ,testul Kolmogorov etc.).

Datorit simplit ii lor, generatorii cel mai frecvent utiliza i sunt aceia care produc
numere pseudo-aleatoare întregi.
Ideea folosirii procedeelor aritmetice generarea algoritmic de numere care au
calit i apropiate de cele întâmpl toare apar ine lui John von Neumann. El a propus o
metod particular cunoscut sub numele de metoda p r ii de la mijlocul p tratului.

Generarea cu calculatorul a numerelor aleatoare uniforme


Fie {Ω, K, P} un câmp de probabilitate i X : Ω → R o variabil aleatoare.
Fie F : R → [0,1] , F(x ) = P( X < x ) = P({ω ; X (ω ) < x}) . A genera cu calculatorul o variabil
aleatoare înseamn a alege un num r de evenimente elementar ω 1 , ω 2 , , ω n i a determina
valorile X i = X (ω i ) ale variabilei aleatoare.
Valorile X 0 , X 1 , , X n reprezint o selec ie asupra variabilei aleatoare X .
O generare este un algoritm care este capabil s produc un X i , dar dac am itera
acel algoritm el s fie în stare s produc X 0 , X 1 , , X n astfel ca ele s fie independente
stochastic i identic repartizate.
Spunem c X 1 , X 2 , , X n sunt independente stochastic dac
n
F(x 1 , x 2 , , xn ) = ∏ F (x )
i =1
i i

F(x 1 , x 2 , , x n ) = P( X 1 < x1 , , X n < x n )


Spunem c X 1 , X 2 , , X n sunt identic repartizate dac toate au aceea i reparti ie
Fi ( x ) = F j (x ), i ≠ j .
A genera o variabil aleatoare înseamn a produce o selec ie.
De obicei numerele aleatoare sunt valorile unei selec ii referitoare la o variabil
aleatoare U care are reparti ie uniform .
Dac U este o variabil aleatoare discret uniform , atunci toate valorile ei sunt egal
probabile:
0, x<0
0 1
X: , F(x ) = 1 2, 0 ≤ x < 1
12 12
1, x ≥1
0 1 2 n
X:
1n 1n 1n 1n 1n
Dac U este o variabil aleatoare continu uniform , atunci ea admite o
densitate de reparti ie de forma
K , x ∈ (a, b )
f (x ) =
0, x ∉ (a, b )

21
∞ b
k se determin din condi ia 1 = f (x )dx = kdx = k (b − a ) → k = 1 b − a
−∞ a

i o func ie de reparti ie uniform :


0, x≤a
F (x ) = (x − a ) (b − a ), a < x < b
1, x≥b
În acest caz spunem c variabila aleatoare U are reparti ie uniform pe (a, b ) .
Numerele aleatoare uniforme pe (0, 1) sunt cele mai importante pentru simularea numeric .

Lema lui Smirnov-Hincin

Lema. Dac X este o variabil aleatoare având func ia de reparti ie F(x ) i U este o
variabil aleatoare uniform pe (0, 1) , atunci variabila aleatoare Y = F −1 (U ) ( F admite invers ,
fiind cresc toare) are func ia de reparti ie F(x ) .

Demonstra ie:
( )
P(Y < x ) = P F −1 (U ) = P(U < F(x )) = F(x )
Concluzie. Dac tim s gener m numere aleatoare uniforme pe (0, 1) , atunci putem
genera valori de selec ie pentru orice variabil aleatoare X dup algoritmul:
1. generez un num r aleator uniform pe (0, 1)
2. calculez X = F −1 (U )
Dac U 1 , U 2 , , U n este un ir de numere aleatoare uniforme, independente pe (0, 1)
atunci X 1 , X 2 , , X n (X i = F −1 (U i )) este un ir de numere aleatoare independente a c ror func ie
de reparti ie este F . În situa iile în care inversa lui F are o expresie analitic u or de calculat,
problema gener rii unui ir de numere aleatoare cu func ia de reparti ie F(x ) se reduce la
generarea unui ir de aceea i lungime, de numere aleatoare uniforme pe (0, 1) .
Dac printr-un anumit procedeu reu im s gener m numere aleatoare întregi X ,
uniform repartizate pe intervalul (0, M ) , M fiind suficient de mare, atunci se pot ob ine
numerele aleatoare U , uniforme pe (0, 1) prin:
U = X M ,0 < X < M .
Propozi ie: Dac not m cu U variabila aleatoare uniform pe intervalul (0, 1) atunci
variabila V = (a + (b − a )U ) este uniform pe (a, b ) .
Demonstra ie:
0, x≤a
P(V < x ) = P(a + (b − a )U < x ) = P(U < (x − a ) (b − a )) = ( x − a ) (b − a ), a < x < b
1, x≥b

22
Observa ie: Pentru variabila aleatoare U uniform pe (0, 1) avem:
1, x ∈ (0, 1)
ϕ (x ) =
0, x ∉ (0, 1)
0, x<0
Φ ( x ) = x, 0 ≤ x < 1
1, x ≥1
Cele prezentate mai sus pot fi generalizate în cazul vectorilor aleatori.
Se consider vectorul V ∈ R 2 uniform pe [a,b]×[c,d].

Densitatea sa de reparti ie este:


1 (b − a ) × (b − a ), v ∈ I
f (v ) = , v = (v1 , v 2 )
0 în rest

Defini ie: Dac X = ( X 1 , X 2 ) este vector aleator cu dou componente i notez f (x1 , x 2 )
densitatea de reparti ie i F(x1 , x 2 ) = P( X 1 < x1 , X 2 < x 2 ) func ia de reparti ie, iar cu f i (x i ), Fi ( X i )
densit ile i respectiv func iile de reparti ie marginale,
f 1 (x1 ), F1 (x1 ) = F(x1 , ∞ ) ,
f 2 (x 2 ), F2 (x 2 ) = F(∞, x 2 ) ,
atunci independen a stochastic revine la:
F(x1 , x 2 ) = F1 (x1 ) F2 (x 2 ) ,
f (x1 , x 2 ) = f 1 (x1 ) f 2 (x 2 )
Propozi ie: Dac V ∈ R 2 , uniform pe un interval I (I = [a, b]× [c, d ]), V = (V1 , V 2 ) , atunci V1
este uniform pe [a, b] i V2 este uniform pe [c, d ] , iar V1 este independent de V2 .
Demonstra ie:
Func ia de reparti ie a lui V este:
0 v1 ≤ a, v 2 ≤ c
F (v1 , v 2 ) = (v1 − a )(v 2 − c ) (b − a )(d − c ) (v1 , v 2 ) ∈ I
1 v1 ≥ b, v 2 ≥ d
F1 (v1 ) = F(v1 , ∞ )
func ie de reparti ie uniform pe [a, b] , F2 (v 2 ) = F(∞, v 2 ) func ie de
reparti ie uniform pe [c, d ] atunci:
f 1 (v1 ) = 1 (b − a ) , v1 ∈ [a, b]
f 2 (v 2 ) = 1 (d − c ) , v 2 ∈ [c, d ]
f (v1 , v 2 ) = 1 (b − a )(d − c )
Aceast proprietate arat c dac vrem s ob inem puncte uniforme în domeniu, putem
genera puncte uniforme pe componente.

23
d
c I

a b
Observa ie: Propozi ia este adev rat numai pe intervale i nu pe domenii oarecare.

Metode de generare a numerelor aleatoare

Construirea unui generator de numere aleatoare este destul de dificil , pe de o parte datorit
periodicit ii mari, iar pe de alt parte datorit cerin elor statistice de independen
stochastic i uniformitate.
Knuth, bazându-se pe procedeul lui John von Neumann i pe alte opera ii numerice care în
mod intuitiv aveau caracter aleatoriu, a construit un generator de numere super-aleatoare, pe
care când l-a utilizat a constatat în mod surprinz tor c reproduce un anumit num r.
Concluzia lui Knuth a fost c generatoarele de numere aleatoare nu trebuie construite prin
metode intuitive, ele trebuie s aib la baz teorii matematice riguroase.
În general, producerea de numere aleatoare se bazeaz pe metode recurente, iar cele care au
fost riguros studiate i au produs rezultate bune sunt metodele congruen iale. Ele au fost
ini iate de Lehmer.

1. Metoda p tratului din mijloc

S presupunem c folosim o reprezentare în baza b a numerelor întregi cu care


lucr m, care de obicei este 2 sau 10.
Presupunem c toate aceste numere au 2a cifre, a = 1,2, . În caz contrar se
completeaz în fa a num rului cu zerouri.
Xn: a a în baza b, 2a cifre 0 ≤ X n ≤ b 2a
X n2 : a a a a

X n +1

Fiind dat num rul aleator întreg X n , urm torul num r pseudo-aleator X n +1 se
define te dup von Neumann ca fiind format din cifrele p r ii din mijloc a p tratului lui X n .
Astfel, ridicând pe X n la p trat se ob ine un num r cu 4a cifre; luând cele 2a cifre de la
mijlocul irului de 4a cifre ale lui X n2 se ob ine num rul X n +1 . Acest procedeu poate fi
exprimat prin rela ia de recuren :
[ ] [ ]
X n +1 = X n2 b a − X n2 b 3a b 2 a

24
Aceast metod s-a dovedit a fi o surs slab de numere pseudo-aleatoare deoarece
anumite numere se repet .
De exemplu pentru a=2 i b=10, num rul 37922 se repet deoarece 37922=14379264.

2. Metode congruen iale

Aceste metode constau în a determina num rul X n +1 din Xn pe baza rela iei
congruen iale de recuren :

X n +1 = (aX n + c )(mod M ), n = 0, 1, 2.

unde a, c, M sunt întregi nenegativi.


Pentru ob inerea unui ir de numere întregi pseudo-aleatoare este necesar s se aleag
de la început în mod convenabil numerele X 0 , a, c, M . Num rul întreg pozitiv X 0 este
termenul ini ial al irului de numere pseudo-aleatoare. El se mai nume te generator mixt-
congruen ial, deoarece paranteza din membrul drept con ine o înmul ire i o adunare.
Se pune problema alegerii constantelor a i c care dau o perioad maxim , urmând ca
din clasa generatorilor respectivi s alegem pe aceia care produc numere pseudo-aleatoare de
bun calitate din punct de vedere statistic.
Teorem : irul de numere definit de rela ia congruen ial liniar are o perioad maxim de
m rime M dac i numai dac :
1. c este prim cu M
2. b = a − 1 este multiplu de p , pentru orice divizor prim al lui M
3. b este un multiplu de 4 dac M este un multiplu de 4.

De exemplu se pot alege:

M = 2 35 , a = 2 23 + 214 + 2 2 + 1, c = 1, X 0 = 0, a = 3141592621

Generatorul multiplicativ - congruen ial de perioad maxim

Acest generator se ob ine din cel mixt – congruen ial, lund c=0

X n +1 = aX n (mod M )

25
Acest generator nu poate avea perioada de lungime maxim , ceea ce-l face mai pu in utilizat
decât precedentul.
Pentru calculatoare cu lungimea cuvântului de 32 bi i, se poate lua M = 2 31 − 1 cel mai mare
num r întreg reprezentabil pe un cuvânt de memorie, iar a = 7 5 = 16807.

26
Cursul nr. 4 Tehnici de simulare

SIMULAREA UNOR REPARTI II PRIN METODA INVERS

Fie C o familie de variabile aleatoare pentru care se cunosc algoritmi de generare. Se


pune problema s determin m un algoritm T care s transforme o mul ime de variabile
aleatoare C ∈ C într-o mul ime de variabile aleatoare X , X = T (C1 , C 2 , , C n ) .
Cu alte cuvinte, pornind de la o familie de variabile aleatoare pentru care cunoa tem
algoritmi eficien i de generare din punct de vedere al calculabilit ii, s determin m
algoritmul care genereaz variabile aleatoare mai dificil de generat.

Pentru generarea variabilelor aleatoare se utilizeaz urm toarele metode:

1. Metoda invers
2. Metoda respingerii
3. Metoda compunerii (amestec rii)
4. Alte metode de generare a variabilelor aleatoare
5. Metode particulare de generare a variabilelor aleatoare

Metoda invers

Lem . Dac X este o variabil aleatoare oarecare având func ia de reparti ie F ( X ) , iar
U este un num r aleator uniform pe (0,1), atunci variabila aleatoare Y = F −1 (U ) are func ia de
reparti ie F ( X ) .

Demonstra ie
( )
P(Y < X ) = P F −1 (U ) < X = P(U < F ( X )) = F ( X ) , unde F −1 este inversa func iei de reparti ie.
q.e.d.
De aici se desprinde concluzia c dac avem o variabil aleatoare a c rei func ii de
reparti ie F ( X ) este cunoscut i un num r aleator U uniform pe (0,1), o valoare de selec ie
asupra variabilei X se ob ine calculând inversa func iei de reparti ie având ca argument
num rul aleator U .

27
Generalizând, rezult c fiind dat irul {X n }n∈N de variabile aleatoare cu func ia de
reparti ie F ( X ) i {U n }n∈N un ir de numere aleatoare uniforme pe (0,1) i independente
stocastic se poate ob ine un ir de valori de selec ie Yn având aceea i func ie de reparti ie
F ( X ) , Yn = F −1 (U n ) .
Metoda invers este cea mai simpl metod de generare a variabilelor aleatoare. Ea
prezint câteva inconveniente:

1. În generarea unor numere aleatoare uniforme pe (0,1), unele dintre acestea se


apropie foarte mult de 0 sau de 1, ceea ce prin rotunjire pot fi asimilate cu 0 sau 1. Metoda
fiind bazat pe calculul inversei func iei de reparti ie F în calcule apare adeseori func ia ln
care datorit rotunjirilor în 1 sau 0 poate conduce la 0 sau la .
2. Metoda invers poate induce multe erori de calcul datorit prezen ei unor func ii
ca ln, exp, etc. care se calculeaz dup valori aproximative.
3. În multe cazuri func ia de reparti ie nu poate fi inversat i atunci se apeleaz la
metode numerice care de asemenea pot induce erori de calcul.
Metoda invers poate fi aplicat pentru generarea variabilelor aleatoare de tip continu,
discrete i a vectorilor aleatori.

Presupunem c dispunem de un generator de numere aleatoare: Random Numbers


Generation (RNG) pentru generarea de numere aleatoare uniforme pe (0,1) i independente
stocastic. În aceste condi ii, algoritmul de generare a unei valori de selec ie a unei variabile
aleatoare pentru care se cunoa te func ia de reparti ie F ( X ) se prezint astfel:

Pas 0: Ini ializare RNG ( Random Number Generation ) un generator de numere


aleatoare capabil s produc numere aleatoare uniforme i independente pe ( 0, 1).
Intrare parametrii
Ini ializarea invers rii func iei F ( X )
Pas 1: Genereaz U → (0,1) ( → = uniform)
Pas 2: Calculeaz X = F −1 (U ) (valoare generat ).
Pentru a calcula valoarea unei variabile de selec ie se reitereaz acest algoritm.

Pentru verificarea algoritmului se poate aplica cel mai simplu test care const în
calculul mediei i dispersiei de selec ie. Verificarea se face pentru un volum de gener ri
n > 1000 ceea ce înseamn reiterarea acestui algoritm de cel pu in de 1000 de ori, se
calculeaz media de selec ie m dispersia de selec ie s 2
1 n
m= X i , unde X 1 , X 2 , , X n sunt n valori ob inute prin reiterarea algoritmului.
n i =1

28
s =
2 1 n
n − 1 i =1
(
Xi − m )
2

Se compar aceste valori cu media i dispersia i cu cât erorile sunt mai mici, rezult
c algoritmul este mai bun.
Algoritmul mai poate fi verificat aplicând testul 2 sau un test Kolmogorov.

Generarea variabilelor aleatoare discrete (metoda invers )

x1 x2 xn n
Fie x : 0 < pi < 1, pi = 1
p1 p2 pn i =1

Variabilele aleatoare de tip discret iau un num r finit de valori.


Rezolv m ecua ia F(X)=U.
Consider intervalul (0,1) pe care îl acoperim cu probabilit i:

p1 p2
p

Generez un num r aleator U care va c dea într-un interval acoperit cu probabilit i pi,
rezult ca valoarea de selec ie va fi X = X i . Putem s gener m un indice aleator.
Genereaz U i = [L ⋅ U ] + 1 (aflu în al câtelea interval sunt)

0 1

0 1 2 L

29
Algoritm:

Pas 0: ini ializeaz RNG


intrare X i , 1 ≤ i ≤ n
i
Fi ( X ) = pα , 0 < pα < 1
α =1
j←0
Pas 1: genereaz U ~> (0,1)
Pas 2: j ← j + 1
Pas 3: dac U > F j transfer la 2
Pas 4: X = X j (valoare generat )

Generarea vectorilor aleatori (metoda invers )

Lem . Fie X = ( X 1 , , X k )′ , X ∈ k
, cu func ia de reparti ie F (x1 , , x k )
F1 (x1 ) = P( X 1 < x1 )
F2 (x1 , x 2 ) = P( X 2 < x 2 | X 1 < x1 )
Not m:
Fk (x1 , x 2 , , x k ) = P( X k < x k | X 1 < x1 , , X k −1 < x k −1 )
Unde F1 (x1 ) este func ia de reparti ie marginal a variabilei aleatoare X 1 , F2 (x1 , x 2 ) este
func ia de reparti ie a variabilei aleatoare X 2 condi ionat de X 1 < x1 , etc.
Dac U 1 ,U 2 , ,U k sunt numere aleatoare uniforme pe (0,1) i independente stocastic,
atunci vectorul aleator Y = (Y1 , , Yk ), Y ∈ k unde:
Y1 = F1 (U 1 )
−1

Y2 = F2
−1
(Y1 ,U 2 )

Yk = Fk
−1
(Y1 , Y2 , , Yk −1 , U k )
are func ia de reparti ie F (x1 , x 2 , , xk ) , unde Fi −1 (x1 , , xi −1 , y ) este inversa lui Fi (x1 , , xi −1 , xi ) .

Demonstra ie:
Pentru simplificarea scrierii vom da demonstra ia în cazul k = 2 .
Pentru k > 2 demonstra ia se poate realiza prin induc ie.
F (x1 , x 2 ) = P( X 1 < x1 , X 2 < x 2 ) = P( X 1 < x1 )P ( X 2 < x 2 | X 1 < x1 ) = F1 (x1 )F2 (x1 , x 2 ) Calcul m reparti ia
comun a vectorilor (Y1 ,Y2 ) .

30
P(Y1 < y1 , Y2 < y 2 ) = P F1( −1
(U 1 ) < y1 , F2 −1 (Y1 , U 2 ) < y 2 ) =
= P[U 1 < F1 ( y1 ), (U 2 < F2 (Y1 , y 2 ) | Y1 < y1 )] = P(U 1 < F1 ( y1 )).
P(U 2 < F2 ( y1 , y 2 ) | Y1 < y1 ) = F1 ( y1 )F2 ( y1 , y 2 ) = F ( y1 , y 2 )

Metoda invers pentru solu ii numerice ale lui F( X )=0.


Metoda invers poate fi aplicat i în cazul când nu putem calcula explicit inversa
func iei F. În aceste cazuri trebuie rezolvat ecua ia F(X)=U numeric, ceea ce cere un volum
mult mai mare de timp când F este continu . Desigur c aceasta conduce la un algoritm care
are o precizie sc zut .

În cele ce urmeaz X este necunoscut , fiind solu ia exact a ecua ieiF(X)=U, iar
X * este valoarea ob inut prin algoritmul de calcul al inversei.

Condi ia de oprire a algoritmului | X - X * |< δ pentru un >0 mic,în anumite situa ii


este este posibil s nu ne satisfac deoarece pentru valori mai mari ale lui X aceasta ar putea
s implice ca num rul de cifre semnificative cerut s dep easc cuvântul calculatorului.

O a doua condi ie de oprire poate fi dat prin | F( X * ) – F ( X )|< ε , unde ε >0 este un
num r mic.

Cei mai cunoscu i algoritmi numerici pentru calculul inversei F(X)=U sunt:

Metoda bisec iei

Se g se te un interval (a,b) care s con in solu ia:

REPEAT

X ← (a+ b)/2

IF F(X) U

THEN a ← X

ELSE b ← X

UNTIL b-a< 2 δ

RETURN X

31
Metoda secantei
Se g se te un interval (a,b) care con ine solu ia

REPEAT

X ← a+(b-a) FU(b−)F− F( a()a )

IF F(X) U

THEN a ← X

ELSE b ← X

UNTIL b-a< δ

RETURN

Metoda lui Newton-Raphson


Se alege o valoare ini ial pentru X

REPEAT

X ← X - F (f X( X) −)U

UNTIL condi ia de oprire este satisfacut .

RETURN X

Observa ie. Pentru primele dou metode avem nevoie de un interval( a,b) care s
con in solu ia. Metoda lui Newton –Raphson converge dac F este convex sau concav .

32
Cursul nr. 5 Tehnici de simulare

SIMULAREA UNOR REPARTI II PRIN METODARESPINGERII I COMPUNERII

Metoda respingerii

Fie X o variabil aleatoare a c rei generare dorim s o simul m, cu condi ia s -i putem


asocia urm toarele elemente:
• = {S1 , S 2 ,...., S n ,....} o familie de variabile aleatoare pe care tim s le gener m.
• N o variabil aleatoare discret , N ∈ N + , P( N < ∞) = 1 , pe care tim, de asemenea s o
gener m.
• o proprietate (variabil logic ce poate lua dou valori ) ce se poate verifica prin
calcul.
• Ψ o func ie m surabil , Ψ : R n → R.

Defini ie. Dac unei variabile aleatoare X i se poate asocia un sistem de patru elemente {
N, Ψ } astfel încât pentru orice n ∈ N + , fiind date
S1 , S 2 ,...., S n ,.... ∈ care satisfac proprietatea variabila aleatoare Ψ ( S1 , S 2 ,...., S n ) are aceea i
func ie de reparti ie cu X , atunci am definit un procedeu de respingere pentru generarea lui
X.

Algoritmul de generare:

0. Ini ializ ri
• Algoritmul pentru generarea lui N .
• Algoritmul pentru generarea lui S1 , S 2 ,...., S n .
• Algoritmul pentru verificarea propriet ii
• Algoritmul pentru calculul lui Ψ .

1. Genereaz o valoare de selec ie n ∈ N + .


2. Genereaz S1 , S 2 ,...., S n .
3. Dac S1 , S 2 ,...., S n nu satisfac proprietatea respingere) transfer la 1.
4. Calculeaz X = Ψ ( S1 , S 2 ,...., S n ) valoarea generat .

33
Observa ii.
1. Se nume te algoritm de respingere deoarece în Pasul 3 se decide dac are loc o
respingere sau o acceptare.
2. Not m cu p a probabilitatea de acceptare i cu p r probabilitatea de respingere;
algoritmul este performant dac p a este mare, iar p r este mic .
3. N poate fi o variabil aleatoare sau o constant .
4. Familia trebuie s tim s o gener m simplu i rapid.
5. Proprietatea trebuie s fie u or de verificat.
6. Func ia Ψ s fie simpl i u or de evaluat.

Lema 1. (Prima lem de respingere).


Fie X vector aleator a c rui densitate de reparti ie este f ( x ) , x ∈ R k pe care vrem s -l
gener m.
Fie Y un vector aleator a c rui densitate de reparti ie este h( y ) , y ∈ R k pe care tim s -l
gener m.
Presupunem c exist o constant 0 < α < ∞ astfel încât

f ( x ) / h( x ) ≤ α , x ∈ R k

Fie U o variabil aleatoare uniform pe (0,1) , independent de Y.


Densitatea de reparti ie a vectorului aleatoriu Y condi ionat de

0 ≤ U ≤ f ( y ) / (αh( y ))

este f ( x ) .
Demonstra ie.
Func ia de reparti ie a lui Y condi ionat de

0 ≤ U ≤ f ( y ) / (αh( y ))

este

H * ( y ) = P( Y ≤ y| 0 ≤ U ≤ f ( y ) / (αh( y ))) , y ∈ R k

Not m

A = { Y ≤ y } , B = { 0 ≤ U ≤ f ( y ) / (αh( y )) }

34
f ( y)
∞ ∞ αh ( y )
P( B) = P( U ≤ f ( y ) / (αh( y ))) = ...... ( d u ) h( y ) d y =
−∞ −∞ 0

∞ ∞ ∞ ∞
1 1
= ...... f ( y ) / (αh( y )) h( y )d y = ...... f ( y )d y =
−∞ −∞
α −∞ −∞
α

f (v)
y1 y k αh ( v ) y1 yk

H ( y ) = .... (
*
d u )h( v )d v = ..... h( v ) f ( v ) / (αh( v ))d v =
−∞ −∞ 0 −∞ −∞

y1 yk

= ..... f ( v )d v = F ( y ) i lema este demonstrat .


−∞ −∞

Algoritmul de generare

0. Ini ializare RNG


Ini ializare algoritmi pentru calculul lui f ( x ) i h( y ) .
Ini ializare algoritm pentru generarea lui Y.
1. Genereaz U cu RNG i un vector aleator Y independent de U.
2. Dac U > f ( y ) / (αh( y )) transfer la 1.
3. X= Y.

Observa ie.
1
Probabilitatea de acceptare p a = P( B) = .
α
Procedeul este performant dac p a se apropie de 1.

Metoda compunerii sau amestec rii

Fie X o variabil aleatoare a c rei func ie de reparti ie este F ( x) , de forma:

m m
F ( x) = pi Gi ( x),0 < pi < 1,1 ≤ i ≤ m, m > 1, pi = 1
i =1 i =1

unde Gi ( x) sunt func ii de reparti ie. Se spune în acest caz c F (x) este amestecarea familiei
{G1 , G2 ,....., Gm } de func ii de reparti ie dup variabila aleatoare discret N pentru care
P ( N = i ) = pi ,1 ≤ i ≤ m sunt cunoscute.

35
Se observ c func iile de reparti ie {G N ( x)},1 ≤ N ≤ m , depind de indicele aleator N, iar F ( x)
este media în raport cu N a variabilelor aleatoare {G N ( x)}.
Dac not m cu Z N variabila aleatoare care are func ia de reparti ie {G N ( x)} , atunci X = Z i cu
probabilitatea pi = P( N = i ).
Observa ie. Dac F ( x) i Gi ( x) au densit ile de reparti ie f ( x) i respectiv g i ( x) , atunci

m
f ( x) = p i g i ( x)
i =1

Procedeul de amestecare discret

Dac exist un algoritm pentru generarea variabilelor Z N ,1 ≤ N ≤ m , atunci algoritmul de


generarea variabilei aleatoare X se prezint astfel:

0. Ini ializare RNG.


Ini ializarea algoritmului pentru generarea unei variabile din familia {Z N }.
i
Intrare Gi = pα ,1 ≤ i ≤ m
α =1
j←0
1. Genereaz un num r U uniform pe (0,1).
2. j ← j +1
3. Dac U < G j transfer la 2.
4. X = Z j.

sau

0. Ini ializ ri.


1. Genereaz un indice aleator (o variabil aleatoare discret ).

12...........m
i→I:
p1 p 2 ..... p m
2. Genereaz X = Z i .

Exemplu.
La un service sosesc pentru verificare periodic automobile de k tipuri:

36
12........i......k
K:
p1 p 2 ... pi .... p k

unde pi ,1 ≤ i ≤ k reprezint procentul de ma ini de tipul i.


Durata Z i ,1 ≤ i ≤ k dintre dou sosiri de acela i tip este o variabil aleatoare exponen ial
negativ de parametru λi ,1 ≤ i ≤ k .
Intervalul de timp X dintre dou sosiri oarecare are ca func ie de reparti ie amestecarea
func iilor de de reparti ie Gi ( x) = 1 − e − λ x , x > 0,1 ≤ i ≤ k , ceea ce înseamn c func ia de
i

reparti ie a lui X este dat de


k
F ( x) = pi (1 − e −λi x )
i =1

Algoritmul de generare:

0. Ini ializeaz RNG.


Intrare λi ,1 ≤ i ≤ k
i
Intrare Gi = pα ,1 ≤ i ≤ k
α =1
j←0
1. Genereaz U cu RNG.
2. j ← j +1
3. Dac U < G j transfer la 2.
4. Genereaz un nou U cu RNG.
1
5. X = − ln U .
λj

Procedeul de amestecare continu

Func ia de reparti ie F (x) constituie compunerea unei familii de func ii de reparti ie


{G ( x, y ), y ∈ R } dup func ia de reparti ie H ( x) , de forma:
+∞
F ( x) = G ( x, y )dH ( y )
−∞

Se observ c F (x) este valoarea medie a func iei de reparti ie G ( x, Y ) , unde Y este un
parametru aleator care are func ia de reparti ie H ( y ).

37
În acest caz, algoritmul de generare a variabilei aleatoare X când se cunosc algoritmi de
generare pentru Y (având func ia de reparti ie H ( y ) ) i pentru Z Y (cu func ia de reparti ie
G ( x, Y ) ) se prezint astfel:
0. Ini ializare RNG.
Ini ializarea algoritmului pentru generarea lui Y .
Ini ializarea algoritmului pentru generarea lui Z Y .
1. Genereaz Y .
2. Genereaz Z Y .
3. X = Z Y .

Exemplu.
Fie G ( x, λ ) = 1 − e − λx , x > 0, λ > 0 unde λ este un parametru aleator care are reparti ie
exponen ial H (λ ) = 1 − e − µλ , µ > 0 .
Func ia de reparti ie F (x) se ob ine astfel:


µ
F ( x) = (1 − e −λx ) µe − µλ dλ = 1 −
0
x+µ

reprezentând func ia de reparti ie Pearson de tipul XI.


Algoritmul de generare a variabilei aleatoare X ce corespunde amestec rii familiei de
reparti ii exponen iale {G ( x, λ ), λ > 0} dup reparti ia exponen ial H (λ ) este urm torul:
0. Ini ializeaz RNG.
1. Genereaz U cu RNG.
1
2. Calculeaz Λ = − ln U .
µ
3. Genereaz un alt U cu RNG.
1
4. Calculeaz X = − ln U .
Λ
Acest algoritm poate fi utilizat pentru generarea unor valori de selec ie urmând reparti ia
Pearson de tipul XI.

Observa ie.
k
Dac în expresia F ( x) = pi Gi ( x) , unele probabilit i pi sunt mari, iar variabilele aleatoare
i =1

corespunz toare Z i se genereaz u or, atunci algoritmul de generare este performant.

38
Tehnici de simulare Cursul nr. 6

ALTE METODE DE SIMULARE A UNOR VARIABILELOR ALEATOARE

Unul din principiile generale de generare a variabilelor const în a reduce problema la


generarea variabilelor aleatoare mai simplu de generat i dac este posibil la variabile
aleatoare uniforme.
Vom prezenta o metod particulare de generare a variabilelor aleatoare bazat pe
metoda respingerii folosind vectorii aleatori uniformi pe un domeniu D = {(u , v ); γ (u , v ) ≤ 0} , γ =
frontiera domeniului.

Algoritmul de generare

Pas 0 : Ini ializare RNG.


Intrare parametrii. Determin I = [u1 , u 2 ] × [v1 , v 2 ] astfel încât D⊂I
Pas 1 : Genereaz U ′, V ′ ~ > (0,1) uniform i independente
U/ ∗ = u1 + (u 2 − u1 )U ′
Pas 2 : Calculeaz ∗
V = v1 + (v 2 − v1 )V ′
Pas 3 : Dac (U ∗ , V ∗ )∉ D transfer la 1.
Pas 4 : X = h(U ∗ , V ∗ ) valoarea general .

Observa ii :

1. Procedeul prezentat este un procedeu de respingere deoarece în pasul 3 este


respins procedura care nu apar in domeniului.
ariaD
2. Performan a algoritmului este dat de probabilitatea de acceptare pa =
ariaI
.
1
3. Algoritmul este considerat performant dac ≤ pa < 1 .
3
4. probabilitatea de respingere pr = 1 − pa .

39
5. O problem dificil în aplicarea acestui algoritm const în determinarea
intervalului bidimensional I .
u1 ≥ 0, u 2 ≥ 0, u1 < u 2 , 0 < v 2 − v 2 < ∞
Pentru determine intervalul I exist cel pu in dou metode.

1. Metoda multiplicatorilor lui Lagrange

Prin aceast metod determinarea lui u1 i u2 se face considerând func ia

F1 (u , v ) = u + λγ (u , v ) .
∂F1
=0
∂u
Se consider sistemul: u = u (λ i ), v = v (λ i ) , i ≥ 1 , γ [u (λ i ), v(λ i )] = 0 .
∂F1
=0
∂v
u1 = min u (λ i ) , u 2 = max u (λi )

2. Metoda tangentelor

I = [u1 , u 2 ] × [v1 , v 2 ], D ⊂ I

Se face consinderând tangenta la un domeniu D de forma u=const, v=const.

( ) ( ) ( ) (
P u1 , v ∗ , Q u 2 , v ∗∗ , R u ∗ , v1 , S u ∗∗ , v 2 )
D = {(u , v ); γ (u , v ) ≤ 0}
∂γ ∂γ
dγ = du + dv
∂u ∂v
∂γ
m(u, v ) = = − ∂u
dv
Panta tangentei o not m cu:
du ∂γ
∂v

u1 lim m(u , v ) = ∞
u →u1
(
γ u1 , v∗ = 0 )
v → v∗

u2 lim m(u , v ) = ∞
u →u 2
(
γ u 2 , v ∗∗ = 0 )
v →v∗∗

v1 lim m(u , v ) = 0
u →u ∗
(
γ u ∗ , v1 = 0)
v →v1

v2 lim m(u , v ) = 0
u →u ∗∗
(
γ u ∗∗ , v 2 = 0 )
v → v2

40
Lem . Fie X o variabil aleatoare a c rui densitate de reparti ie este f (x ) ,
1
f (x ) = g (x ), x ∈ R , k = g (x )dx .
k R

D = (u , v );0 ≤ u ≤ g 1 2
v
Fie m rginit ⇔ D<∞.
u
V
Atunci: X= are func ia de reparti ie F (x ) , unde F (x ) este func ia de reparti ie
U
corespunz toare densit ii de reparti ie f (x ) . ( F ′(x ) = f (x ) )
(U , V ) vector aleatoriu bidimensional uniform pe (0,1) × (0,1) .

Demonstra ie
1
, (u , v ) ∈ D
(U , V ) uniform pe D dac g (u , v ) = ariaD
0, inrest
ariaD = dudv = dudv
D u
0 ≤ u ≤ g1 2
v

v
=x u =t
Facem transformarea u
v = tx
u =t
∂u ∂u
D (u , v ) D(u , v ) ∂t ∂x = 1 0 = t
dudv = , = dudv = tdtdx
D(t , x ) ∂v
dtdx
D (t , x ) ∂v x t
∂t ∂x

∞ g1 / 2 ( x ) ∞ ∞
t2 g1 / 2 ( x ) 1 k
ariaD = tdtdx = tdt dx = 0 dx = g ( x)dx =
2 2 −∞ 2
0 ≤ t ≤ g1 / 2 ( x ) −∞ 0 −∞

V
calcul m func ia de reparti ie a v.a. X=
U

x g1 2 ( ω ) x x
1 2 t2 1
P( X < x ) = P
V g1 / 2 ( ω )
<x = tdt dω = 0 = g (ω)dω =
U ariaD −∞ 0
k −∞ 2 k −∞
x
= f (ω)dω = F ( x) .
−∞

41
Exemplu: Generarea variabilei aleatoare Weibul
ν
νx ν −1e − x , x > 0, ν > 0
Fie X , f ( x) =
0, x ≤ 0
ν −1 ν
1 v

ν −1 − x ν
g (x ) = x , D = (u , v );0 ≤ u ≤
v 2
K =ν e e 2 u
u

Domeniul D se mai poate scrie:


ν ν −1
1 v

D = (u , v ); 0 ≤ ue
v 2
2 u
≤1 .
u
ν ν −1
1 v

Not m γ (u, v ) = ln ue v
2 u 2

u
ν
ν −1
1 v
γ (u , v ) = ln u + ≤ 0 , D = {(u , v ); γ (u , v ) ≤ 0}
v
ln −
2 u
2 u
udv − vdu
ν −1
du ν udv − vdu v ν −1 u2
dγ = + 2
− ⋅
u 2 u u 2 v
u

v v
dv − du ν −1 dv − du
du ν u v ν −1 u
+ − =0
u 2 u u 2 v
u
v
Not m =q
u
du ν dv − qdu ν −1 ν − 1 dv − qdu
+ q − = 0 /⋅ u
u 2 u 2 q
ν ν − 1 dv − qdu
du + (dv − qdu )q ν −1 − = 0 / : du
2 2 q
dv
−q
ν dv ν −1 ν − 1 du
1+ −q q − =0
2 du 2 q
dv νq ν −1 ν − 1 dv νq ν −1 − ν + 1
−q − = −1 = −1
du 2 2q du 2q
dv
=q− ν
2q
,
dv q νq ν − ν − 1
=
( )
du νq − ν + 1 du νq ν − ν + 1

a) u1 , u 2 dv → ∞ q → ∞ νq ν − ν + 1 → 0, νq ν − ν − 1 ≠ 0
du

42
u
q= ,q → ∞ dac u→0 u ≥ 0, u1 = 0
v

ν −1
νq ν − ν + 1 = 0 , q = , γ (u , v ) = 0
ν
ν −1
1ν ν −1
1 ν −1 ν −1 ν −1 u 1 ν −1 ν −1 2ν
ln u + − ln =0 ln ν −1
=− u2 = e 2ν
2 ν 2 ν 2 ν ν
ν −1 2ν

q (νqν − ν − 1)
dv
b) v1 , v 2 , →0 q → 0 sau νqν − ν − 1 → 0,νqν − ν + 1 ≠ 0
du
v
q→0 →0 v1 = 0
u
1/ ν
ν +1
νq ν − ν − 1 = 0 q= , γ (u , v ) = 0
ν
1/ ν
1 ν +1 ν −1 ν +1 u ν +1
ln u + − ln =0 ln ν −1
=−
2 ν 2 ν 2ν
ν +1 2ν

ν
ν −1 ν +1
ν + 1 2ν − 2ν
u= e
ν
v
q= v 2 = uq
u
ν −1 ν +1
1/ ν −
ν +1 ν +1 2ν 2ν
v2 = e
ν ν
ν +1 ν +1

ν +1 2ν 2ν
v2 = e
ν

Algoritmul de generare

Pas 0 : Ini ializ ri RNG


Intrare ν .
ν −1 ν +1
ν −1 ν +1
ν −1 2ν ν +1 2ν −
Intrare u1 = 0, u 2 = e 2ν , v1 = 0, v 2 = e 2ν
ν ν
Pas 1 : Gener m U ′, V ′ ~ > (0,1) uniform pe (0,1) si indep
Pas 2 : Calcul m U ∗ = U 2U ′, V ∗ = v 2 v ′′
ν
1 V∗ ν −1 V ∗
Pas 3 : Dac ln U + ∗
− ln ∗ > 0 transfer la pasul 1
2 U∗ 2 U

43
V∗
Pas 4 : X= valoarea generat
U∗

Lem . Fie X o variabil aleatoare a c rei densitate de reparti ie este


1
f ( x ) = g ( x ), g ( x ) ≥ 0, x ∈ .
k
2
Fie (U ,V ) un vector aleator pe domeniul D, D = (u, v ) : 0 ≤ u ≤ g 3 v
, aria D < ∞ .
u

Atunci densitatea de reparti ie a lui X=


V
este f (x) .
U

Generarea variabilelor aleatoare N(0,1)


( x − m )2
1
Defini ie. X → N (m, σ ) dac f (x ) = e 2σ 2 , x∈
σ 2π
x2
1 −
Deci X → N (1,0) dac f (x ) = e 2

Aplicând lema se ob ine
1 v2
x2 −

X → N (1,0 ) k = 2π ; g ( x ) = e ; D = (u , v ) : 0 ≤ u ≤ e
3 u
2 =

1 v2
1 v2
= (u, v ) : 0 ≤ ue 3 u ≤ 1 , γ (u , v ) = ln u + , D = {(u , v ) : γ (u , v ) ≤ 0}.
3 u

1 λv 2
F1 = u + λγ (u, v ), F1 (u , v ) = u + λ ln u + .
3 u
∂F1 λ 1 λv 2 3u 2 + 3λu − λv 2
=1+ − = .
∂u u 3 u2 3u 2
∂F1
= 0 3u 2 + 3λu − λv 2 = 0 (1) .
∂u

∂F1 2 λv
=
∂v 3 u
v=0 (2)
∂F1
=0
∂v
Din rela iile (1) i (2) form m sistemul:
3u 2 + 3λu − λv 2 = 0 u = −λ

v=0 v=0

44
∂F1
=0
∂u u = −λ
∂F1
Din sistemul: =0 ⇔ v=0
∂v
γ (u , v ) = 0 1 v2
ln u + =0
3 u

Deci ln(− λ ) = 0 λ = −1
u1 = 0
Lu m
u2 = 1
λv 2
F2 (u , v ) = v + λγ (u , v ) = v + λ ln u +
3u 2
∂F2 λ λv 2
= − .
∂u u 3u 2
∂F 2 2
Din 2 = 0 3λu −2λv = 0 λ ≠ 0 v = 3 (∗)
∂u 3u u 2
∂F2 2λv
=1+ .
∂v 3u
∂F
Din 2 = 0 1 + 2λ v = 0 (∗) 1 + 2λ 3 = 0 v = −λ
∂v 3 u 3 2v
∂F2
=0 v2 v2 v2
∂u =3 =3 =3 3
u u u v1 = −
∂F2 e
= 0 ⇔ v = −λ ⇔ v = −λ ⇔ v = −λ
∂v 3
2 1 3 v2 =
γ (u , v ) = 0 ln u +
1v
=0 u= v2 = e
3 u e e

Algoritmul de generare :

Pas 0: Ini ializare RNG

Intrare: v1 = − 3 / e , v 2 = 3 / e
Pas 1: Genereaz U ′ ~> (0,1) .
Calculeaz (
U * = U ′ U * = u1 + (u 2 − u1 )U ′ )
U * ~ > (0,1)
Pas 2: Genereaz V ′ ~> (0,1)
Genereaz V * = v1 + (v2 − v1 )V ′
V * ~ > (v1 , v 2 )
2
Pas 3: Dac ln U * + 1 / 3V * / U * > 0 transfer la 1.
(perechea (U * ,V * ) generat nu este în domeniu)

45
V*
Pas 4: X= (valoarea generat )
U*
aria D
Probabilitatea de acceptare: Pa =
aria I
dudv v
aria D =x
= D
= u = ... = Pa ≈ 0,75
aria I (u2 − u1 )× (v2 − v1 )
u =t

46
Tehnici de simulare Cursul nr. 7

SIMULAREA UNOR VECTORI ALEATORI

Problema gener rii vectorilor aleatori este de mare importan în construirea


modelelor de simulare, generarea unor procese stochastice, în aplicarea metodei Monte Carlo
la integrale multiple.
Pentru a g si metode de generare a vectorilor aleatori s-a încercat generalizarea unor
metode folosite la generarea variabilelor aleatoare; datorit dificult ii de calcul pu ine dintre
acestea au condus la rezultate scontate.
Pentru calculul integralelor multiple I = f(V)dV , D ⊂ Rk .
D

Se poate folosi urm torul procedeu Monte Carlo


- Se genereaz o selec ie V1 , V2 , , Vn de vectori aleatori independen i identic
repartiza i cu reparti ie uniform pe D.
n
1
- Se estimeaz I prin In = f (Vi ) .
n i =1

- Dac f L2 (D) atunci M(In )=I, lim D 2 (I n ) = 0 ,adic In este o estima ie absolut
n→∞

corect pentru I.
Calculul integralei In când n este suficient de mare cu ajutorul calculului prin metoda
Monte Carlo este uneori mai eficient decât prin mijloacele analizei numerice.

Generarea vectorilor aleatori uniformi

Se presupune c I este un interval k-dimensional, Ii =(ai ,bi) , 1 i k i V este un


vector aleator care are reparti ie uniform pe I.
1
k
, dac x ∈ I
Dac not m ϕ( x) = ∏ (b
i =1
i − ai ) densitatea de reparti ie a lui V, atunci
0, în rest
k
ϕ( x ) = ∏ ϕ (x ) , unde
i =1
i i i este densitatea de reparti iei Vi, uniform pe Ii=(ai,bi). Vectorul V are
componente variabile aleatoare uniforme pe (ai, bi) i independente.
Algoritmul de generare se prezint astfel:

47
0.Ini ializare RNG;
Intrare k 0 ,k N* i 0
1. Genereaz variabile aleatoare U uniforme pe (0,1)
i i+1
2. Vi ai+(bi-ai) U
3. Dac i k transfer la 1
Vectorul V=(V1,...,Vk) este vectorul aleator generat
Pentru a genera un vector aleator V care are reparti ie uniform pe un domeniu
oarecare D ⊂ R k ,not m cu I intervalul care con ine domeniul D. Dac D domeniu simplu
conex i f(X)=0 este ecua ia frontierei care delimiteaz acest domeniu, f fiind o func ie de k
variabile ,atunci algoritmul de generare bazat pe metoda respingerii se prezint astfel:
0. Ini ia izare RNG.
Intrare I(a i , b i ,1 ≤ i ≤ k )
1. Se genereaz un vector U uniform pe I
2. Dac f (U ) > 0 transfer la 1(se presupune c U ∈ D dac f (U ) < 0 )
3. V=U.
Cele mai simple metode i rapide metode de generare a vectorilor aleatori constau în
a reduce problema generarea vectorilor aleatori uniformi ,care sunt cei mai u or de generat.
Lem . Fie X = (X1 ,..., X k )' un vector aleator cu valori în R k a c rui densitate de
reparti ie este f (X ) = 1 Hg(X ) , g(X ) ≥ 0, X ∈ R k , unde H = g(X )dX . Fie (V0 , V1 ,..., Vk )' un vector
RK

v1 v
aleator uniform pe domeniul D ⊂ R k , astfel: D= (v 0 , v1 ,..., v k )' ∈ R k +1 ,0 ≤ v 0 ≤ g1 k +1 ,..., k
v0 v0
presupus m rginit, adic aria D < ∞ . Atunci densitatea de reparti ie a lui X = (X1 ,..., X k )' unde
X i = Vi V0 , i = 1,2,..., k , este f (X ) .
Demonstra ie
Vectorul aleator (V0 , V1 ,..., Vk )' are reparti ie uniform pe D, dac densitatea sa de
1
, dac (v 0 , v1 ,..., v k ) ∈ D
'
reparti ie este dat de g (v 0, v1 ,..., v k ) = ariaD ,unde aria
0, în rest
D= dv0 dv1 ...dv k
1
v v
0≤ g k +1 1 ,..., k
v0 v0

48
x 1 = v1 v 0 v1 = tx 1
x 2 = v2 v0 v 2 = tx 2
Facem transformarea de coordonate: ........... sau .............. al c rui Jacobian
x k = vk v0 v k = tx 0
t = v0 v0 = t
1 0 0 ... 0
x1 t 0 ... 0
D(v 0 , v1 ,..., v k )
este = x2 0 t ... 0 = tk
D(t, x1 ,...., x k )
... ... ... ... ...
xk 0 0 ... t
1
g k +1 ( x1 ,..., xk )
1
... g (x1 ,..., x k ) dx1 ...dx k =
H
Aria D= ... t k dtdx1 ...dx k = t dtdx1 ...dx k = =
k

1 0
k +1 k k +1
R
0≤t ≤ g k +1 ( x1 ,..., xk ) Rk

v 1
P( X 1 < x1 ,..., X k < x k ) = P
v1
< x1 ,..., k < x k = dv 0 dv1 dv k
v0 v0 aria D v1 v
< x1 ,..., k < xk D
v0 v0
1
x1 xk g k +1 ( x1 ,..., xk )

P( X 1 < x1 ,..., X k < x k ) = (k + 1) H t dtdx1 ...dx k


k

−∞ −∞ 0
x1 xk
1
= g (x1 x k ) dx1 ...dx k = F ( X ) , unde F(X) este func ia de reparti ie a lui f (X ) , X ∈ R k i
H −∞ −∞

lema este demonstrat .

Algoritmului de generare
Pas 0. Ini ializeaz algoritmul RNG pentru generarea unor numere aleatoare
uniforme pe (0,1);
Intrare parametrii.
Determin un interval I, D ⊂ I ,de forma: I = [v10 , v02 ] × [v11 , v12 ] × [v1k , vk2 ]
Pas 1. Genereaz vectorul aleator (V0* , V1* ,..., Vk* ) uniform pe I, astfel:
Vi* = vi1 + (vi2 − vi1 )U i , i = 1,2,..., k unde U i sunt numere aleatoare independente, uniforme pe (0,1).
Pas 2. Dac (V0* ,V1* ,...,Vk* ) ∉ D transfer la 1,aaltfel la 3.
'

Pas 3. X i = h(V0* ,V1* ,...,Vk* ), i = 1,2,..., n iar h exprim leg tura între V0*,V1*,...,Vk*.
Observa ii
1.Punctele (V0*,V1*,...,Vk*) sunt uniform repartizate pe domeniul m rginit D,
algoritmul descris mai sus fiind un algoritm de respingere.

49
2. Performan a algoritmului este caracterizat de probabilitatea de acceptare
aria D
(probabilitatea de trecere de la pasul 2 la pasul 3 ) dat de pa = .
∏( )
k
v i2 − vi1
i =1

3.Algoritmul este performant dac pa este mare.


Dificultatea aplic rii acestui algoritm const în determinarea intervalului minimal I
care-l con ine pe D. Pentru aceasta îl scriem pe D sub forma: D = {(v0 ,..., vk )' ; γ (v0 ,..., vk ) ≤ 0} i
procedeul de determinare a lui I revine la a rezolva problemele de optim vi1 = min vi ,
D

vi2 = max vi , 0 ≤ i ≤ k .
D

Aplicând metoda multiplicatorilor lui Lagrange pentru rezolvarea problemelor de


optim, vom g si pe v0,v1,…,vk astfel ca :
Fi (v0 , v1 ,..., v k ) = min
Fi (v0 , v1 ,..., vk ) = max , i = 1,2,..., n
unde cu condi ia γ (v0 , v1 ,..., vk ) = 0.
Fi (v 0 , v1 ,..., v k ) = v i + λγ (v 0 , v1 ,..., v k )
Lem Fie X = ( X 1 , X 2 ,... X k ) un vector aleator (k- dimensional )cu valori în R k , a c rui
1

densitate de reparti ie este dat de: f (x ) = 1 / Hg (x ) , g (x ) ≥ 0, x ∈ R k H = g (x )dx


RK

Fie (V0 ,V1 ,...Vk ) 1


un vector aleator uniform pe D ⊂ R k +1 , astfel:
(v0 , v1 ,..., v k )1 ∈ R k*1 ,0 ≤ v0 ≤ g (v1 v 0 ,..., v k v 0 ) presupus m rginit (ariaD ∞ ) . Atunci
1
D= k *1

densitatea de reparti ie a lui X = ( X 1 , X 2 ,... X k )


1
unde X i = Vi V0 este f (x ) .
Algoritmul de generare:
Pas 0: Ini ializarea algoritm pentru producerea unor numere aleatoare uniforme i
independente pe (0,1) . Intrare parametrii.
Pas 1: Determin un interval I = [v10 , v02 ]× [v11 , v12 ]× ...[v1k , vk2 ] a. î. D ⊂ I .
Pas 2: Generare U i ~> (0,1) 0 ≤ i ≤ k
Calculeaz Vi = vi1 + (vi2 − vi1 )U i 0 ≤ i ≤ k
Pas 3: Calculeaz Vi V0 , i = 1,2,...k
Pas 4:Dac Vi V0 ∉ D transfer la 2.
Pas 5: X = (V1 V0 ,...,Vk V0 )1 vectorul generat.

Exemple.
Aplic m lema i algoritmul pentru generarea vectorilor aleatori având reparti ie Dirichlet
i multinomial .

Generarea vectorului aleator Dirichlet.

50
Vectorul aleator X = ( X 1 , X 2 ,... X k )1 este repartizat Dirichlet de parametrii ν1 ,..., ν k +1 dac
densitatea sa de reparti ie este:
Γ(ν1 + ... + ν k ) 1 −1
f (x1 ,..., x k ) = x1 ⋅ ... ⋅ x kν k −1 ⋅ (1 − x1 − ... − x k ) k +1
ν −1
(1)
Γ(ν1 ) ⋅ ... ⋅ Γ(ν k )
Γ(γ ) ⋅ ... ⋅ Γ(γ k +1 )
sau f (x1 ,..., xk ) = 1 h(x1 ,..., xk ) unde H = 1
H Γ(γ 1 + ... + γ k +1 )
h( x1 ,..., x k ) = x1 ⋅ ... ⋅ x k ⋅ (1 − x1 − ... − x k )
ν k +1 −1
1 −1 ν k −1
(1')
d
Not m d = k + 1, α i = ν i − 1,1 ≤ i ≤ d , α = αi
i =1
α k +1 d
k
v1α1 d ...v kα k d v0 − vi
i =1
Domeniul D din lem devine: D = 0 ≤ v0 ≤ (2)
v0α d

α+d k
sau D = 0 ≤ v0 d v1−α1 d ⋅ ... ⋅ v k−α k d
(v0 − v )−αk +1 d ≤1 (2') unde v= vi
i =1

α+d k
αi α
Introducând func ia : γ (v0 , v1 ,..., v k ) = ln v0 − ln vi − k +1 ln (v0 − v ) domeniul D
d i =1 d d
devine: D = {γ(v0 , v1 ,..., vk ) ≤ 0}
Pentru a determina intervalul I ⊂ R k +1 , aplic m metoda multiplicatorilor lui Lagrange
func iilor : Fi = vi + λγ,0 ≤ i ≤ k unde λ este multiplicatorul lui Lagrange.

Cazul i=0
∂F0 α + d 1 α k +1 1
= 1+ λ − =0
∂v0 d v0 d v0 − v
∂F0 α 1 α k +1 1
În acest caz avem: = 1+ λ l − =0 (4)
∂vl d vl d v0 − v
∂F0
= γ (v0 , v1 ,..., v k ) = 0
∂λ
α k +1 α
Din a doua rela ie (4) deducem : = l adic vl α k +1 = (v0 − v )α l ,1 ≤ l ≤ k
v0 − v vl
d k k
Din α= αi = α l + α k +1 α l = α − α k +1
i =1 l =1 l =1
v0 (α − α k +1 )
însumând dup l, se ob ine v= (5)
α
Din prima rela ie (4) deducem :

51
v 0 = −λ
λα k +1
v0 − v = − (6)
α
λα l
vl = −
α
k +1

∏α αl d
l
Introducând valorile lui v date de (6) în a treia rela ie (4), ob inem : λ=− l =1
de unde
αα d
αl d
d
αl
v00 = 0, v10 = ∏
l =1 d
(6b)

Cazul i ≥ 1 .

În acest caz avem :


∂Fi α + d 1 α k +1 1
= 1+ λ − =0
∂v0 d v0 d v0 − v
∂Fi α 1 α k +1 1
= 1+ λ − i − =0
∂vi d vi d v0 − v
(7)
∂Fi α 1 α k +1 1
= 1+ λ − l − = 0, l ≠ i,1 ≤ l ≤ k
∂vl d vl d v0 − v
∂Fi
= γ (v0 , v1 ,..., v k ) = 0
∂λ
α+d α α
Din prima rela ie (7) deducem: = k +1 adic v0 − v = k +1 v0 (8)
v0 v0 − v α+d
λα i − v0
A 2-a rela ie (7) conduce la : vi = (9)
dv0 + λ(α + d )
Din a 3-a rela ie (7) g sim : vl = α l v0 α + d , l ≠ i,1 ≤ l ≤ k (10)
α + d − α k +1
Din (8) se ob ine apoi v = v0 (11)
α+d
λ(α + d )
v0 = − , vi = −λ
d + αi
Din (9), (10), (11) se deduce c : (12)
λα l
vl = − ,l ≠ i
d + αi
Introducem valorile date de (9) i (12) în ultima rela ie (7) i se ob ine :
d d + αi
∏α
l =1
−αl d
l (d + α i ) d
αi d αl d
k +1
d + αi d + αi αl

l ≠i
λ=− α+d
adic : vi0 = 0, vi1 = ,1 ≤ i ≤ k (13)
αi α+d α+d
(α + d ) d l =1

52
Deci intervalul I este : [ ][ ] [ ]
I = 0, v10 × 0, v11 × ... 0, v1k unde v10 este dat de (6b), iar vi1 ,1 ≤ i ≤ k
sunt da i de (13).
Algoritmul de generare:
Pas 0: Intrare k , ν i ,1 ≤ i ≤ k + 1
k +1
Calculeaz d = k + 1, α = α i , a1 = α + d , a 2 = (α + d ) d , bi = α i d ,1 ≤ i ≤ k + 1
i =1

Calculeaz v10 conform cu (6b) i vi1 conform cu (13) 1 ≤ i ≤ k


Pas 1: Genereaz U ~> (0,1) i ia v0 = v10U
Pas 2: Genereaz U i ,1 ≤ i ≤ k , U i ~ > (0,1) i independente i calculeaz
k
X i = vi1U i ,1 ≤ i ≤ k , v' Xi
i '1
Pas 3: Dac v0 + v ≤ 0 transfer la Pas1.
k
α k +1
Pas 4: Dac a0 ln v0 − bi ln X i − ln(v0 − v ) ≥ 0 transfer la Pas1.
i '1 d
Xi
Pas 5: Xi ←
V0
H 1
Probabilitatea de acceptare : pa = sau
k +1 k


i =0
vi1

Γ(γ 1 ) ⋅ ... ⋅ Γ(γ k +1 ) 1


pa =
(k + 1)Γ(γ 1 + ... + γ k +1 ) α 2k +1 k
α i (d + α i )
αi d

d (α + d ) ∏i =1 d (α + d )
Se poate aplica formula n | ≈ n n e − n 2πn

Algoritmul este performant pentru valori nu prea mari ale parametrilor.

Generarea unui vector aleator cu reparti ie multinomian

Reparti ia multinomial este o extensie a reparti iei binomiale. Un vector


X = ( X 1 , X 2 ,... X k ) are o reparti ie multinomial dac func ia sa de frecven este:
1

k k
n|
f ( x1 , x 2 ,..., x n ) = p1x1 p 2x2 ... p kxk unde xi ≥ 0, xi ∈ Z , xi = n,0 ≤ pi ≤ 1, pi = 1 . Reparti ia
x1 | x 2 | ...x n | i =1 i =1

multinomial se bazeaz pe urm torul model, ca rezultat al uni experien e sunt posibile
evenimentele incompatibile A1 ,..., Ak , pi = P( Ai ) , iar X i reprezint num rul de apari ii ale
evenimentului Ai în n experien e.
Se tie c M ( X i ) = npi , D 2 ( X i ) = npi (1 − pi )
Algoritmul de generare:

53
Pas 0: Ini ializare RNG.
Intrare n.
k
Intrare p α ,1 ≤ α ≤ k , pα = 1
α =1
i
Calculeaz F [i ] = pα ,1 ≤ i ≤ k
α =1

Ini ializare j=0.


Pas 1: Genereaz un U cu RNG. l = 0, j ← j + 1
Pas 2: l ← l + 1
Pas 3: Dac U ≥ F [l ] transfer la Pas2.
Pas 4: X [l ] ← X [l ] + 1
Pas 5: Dac j < n transfer la Pas1.
Pas 6: Dac j = n, X = ( X [1],... X [k ])'
Observa ii: Vectorul X este vectorul multinomial generat. Componentele lui X se
ob in prin num rarea evenimentelor Ai care apar în n experien e, a. î. în fiecare
experien a apare numai un astfel de eveniment.
Conform alg , se utilizeaz evenimentul Ai dac num rul aleator U cade în
intervalul I ⊂ (0,1) de lungime pi ,1 ≤ i ≤ k . Pentru simularea evenimentelor Ai se acoper
intervalul (0,1) cu k intervale a ezate într-o anumit ordine, având respectiv lungimile
p j ,1 ≤ j ≤ k .
Reparti ia multinomial poate fi utilizat în controlul statistic al calit ii; unul din
evenimentele Ai corespunde piesei defecte, iar celelalte corespund la diferite categorii de
calitate.

Generarea vectorilor aleatori normali


Fie X un vector aleator k-dim normal N (µ, Σ ) unde µ este vectorul valoare medie i
Σ este matricea de covarian presupus pozitiv definit . Densitatea de reparti ie a lui
1 −1
X ⊂ R k , este: f (x, µ, Σ ) = unde forma p tratic Φ(x ) = (x − µ )`Σ −1 (x − µ )
e −1 2(x −µ )`Σ (x −µ )
(2π) (det Σ ) k 2 12

este pozitiv definit . Densitatea de reparti ie a vectorului aleator Z normal N (O, I ) unde O
k
1 1 − xi2 2
este vectorul nul i I este matricea unitate, este: f (x, O, I ) = e −1 2x`x = ∏ e
(2π) k 2
i =1 2π
Ceea ce înseamn c vectorul Z are k componente independente, având fiecare reparti ia
normal N (0,1) . Generarea vectorului Z se face generând k variabile normale N (0,1)
independente. Pentru a genera un vector aleator N (µ , Σ ) se folose te teorema :

54
Teorem . Dac Z este un vector aleator k-dim normal N (O, I ) i X este un vector
aleator k-dim normal N (µ , Σ ) , iar C este o matrice superior triunghiular astfel ca CC`= Σ ,
atunci vectorul aleator Y = µ + CZ are aceea i reparti ie ca X.
Algoritmul de generare:
Pas 0: Ini ializare RNG.
Intrare µ , Σ .
Calculeaz elementele matricei C.
Pas 1: Genereaz un vector aleator Z ≈ N (O, I ) .
Pas 2: Calculeaz X = µ + CZ .
Caz particular: k=2. Vectorul X = ( X 1 , X 2 ) are reparti ie normal bidimensional :

1
f ( x1 , x 2 ) = e −1 2Q ( x1 , x2 )
(2π)(det Σ )
Q( x1 , x 2 ) = σ11 (x1 − µ1 ) + 2σ12 ( x1 − µ1 )(x 2 − µ 2 ) + σ 221 ( x 2 − µ 2 )
2 2

σ11 σ12
Σ= , µ = (µ1 , µ 2 )`, µ i = M [X i ], i = 1,2
σ 21 σ 22
( )
σ ij = Cov X i , X j , i, j = 1,2
σ12 ρσ1σ 2 Cov( X 1 , X 2 )
Σ= , σ i2 = D 2 ( X i ), ρ =
ρσ1σ 2 σ22
σ1σ
Cov( X , Y ) = M [( X − M [X ])(Y − M [Y ])]
Cov( X , Y ) = M [XY ] − M [X ]M [Y ].

Cov( X , Y ) = 0 dac X i Y sunt independente.


Cov( X , Y )
ρ (X ,Y ) = coeficient de corela ie.
σ ( X )σ (Y )
2 2

1 x − m1
− 2ρ
( x − m1 )( y − m2 ) + y − m2
2 1−ρ 2 σ1 σ1σ 2 σ2
1
f ( x, y ) = e
(2π)σ1σ 2 1 − ρ2

55
Tehnici de simulare Cursurile nr.8-9

METODA MONTE CARLO. APLICA II

Calculul integralelor multiple prin metoda Monte Carlo

Fie z = f (x1 , x 2 , , x k ) o func ie continu într-un domeniu m rginit D din spa iul cu k
dimensiuni. Problema care se pune este s calcul m integrala multipl :
(1) I = f (x1 , x 2 , , x k )dx1 dx 2 dx k
(D )
Geometric, num rul I reprezint volumul k + 1 -dimensional al unui cilindru drept în
spa iul Ox1 x 2 x k z având ca baz domeniul D i m rginit superior de suprafa a
z = f (x1 , x 2 , , x k ) .

56
Transform m integrala (1) astfel încât domeniul de integrare rezultat s fie con inut
în cubul unitate k -dimensional. Dac domeniul D este cuprins în paralelipipedul k -
dimensional
(2) a i ≤ x i ≤ bi , 1 ≤ i ≤ k
prin transformarea
(3) x i = a i + (bi − a i )ξ i
paralelipipedul k -dimensional se transform în cubul unitate k - dimensional:
0 ≤ ξ i ≤ 1, 1≤ i ≤ k
i domeniu de integrare D va fi cuprins în acest cub unitate.

Calcul m Jacobianul transform rii i se ob ine:

∂x1 ∂x1 ∂x1


∂ξ 1 ∂ξ 2 ∂ξ k b1 − a1 0 0
∂x 2 ∂x 2 ∂x 2
D(x1 , x 2 , , xk ) b2 − a 2
∏ (b ).
0 0 k
= ∂ξ ∂ξ 2 ∂ξ k = = −aj
D(ξ 1 , ξ 2 , ,ξ k ) 1 j
j =1

∂x k ∂x k ∂x k 0 0 bk − a k
∂ξ 1 ∂ξ 2 ∂ξ k
(4) I= h (ξ 1 , ξ 2 , , ξ k )dξ 1 dξ 2 dξ k
(D )

57
unde h (ξ 1 , ξ 2 , , ξ k ) = (b1 − a1 ) (bk − a k ) ⋅ f [a1 + (b1 − a1 )ξ 1 , , (bk − a k )ξ k ]
ξ = (ξ 1 , ξ 2 , , ξ k )
Notând integrala (4) se scrie sub forma prescurtat :
dσ = dξ 1 dξ 2 dξ k
(5) I= h (ξ )dσ
(D )
Vom prezenta dou metode de calcul al integralei (5), folosind numerele aleatoare.

Prima metod

Consider m un tabel cu numere aleatoare uniform repartizate pe (0,1) i


independente; alegem k iruri din aceste numere:
ξ 1(1) , ξ 2(1) , , ξ n(1) ,
ξ 1(2 ) , ξ 2(2 ) , , ξ n(2 ) ,

ξ 1(k ) , ξ 2(k ) , , ξ n(k ) ,


Punctele M i (ξ i(1) , ξ i(2 ) , , ξ i(k ) ) (i = 1,2, ) pot fi considerate ca puncte aleatoare repartizate
uniform în cubul unitate k -dimensional.
Lu m un num r N suficient de mare de puncte M 1 , M 2 , , M N i verific m care dintre
ele apar in domeniului D .

Dac ecua ia frontierei Γ este ϕ (ξ ) = 0 , atunci pentru ϕ (ξ ) > 0 punctul ξ ∉ D , iar pentru
ϕ (ξ ) ≤ 0 punctul ξ ∈ D .
Fie n num rul de puncte aleatoare M i care apar in domeniului D ; celelalte N − n vor
c dea în afara acestui domeniu. Atunci pentru N suficient de mare avem urm toarea formul
aproximativ :
vol (D ) n
I1 ≅ h (M i )
n i =1

58
unde vol (D )
este volumul domeniului de integrare k - dimensional D.
În cazul în care este dificil s se calculeze vol (D ) se ia
vol (D ) =
n
N
i valoarea aproximativ a integralei este:
n
1
I1 ≈ h (ξ i ) .
N i =1

Exemplu. S se calculeze prin metoda Monte Carlo integrala:

I= (x 2
)
+ y 2 dxdy
(D )
unde D = {( x, y ); 1 2 ≤ x ≤ 1, 0 ≤ y ≤ 2 x − 1} .
Consider m urm torul tabel de numere aleatoare repartizate uniform pe intervalul
[0,1] {Tab 1} i lu m pentru fiecare dou numere consecutive din acest tabel ca fiind
coordonate ale punctului aleator (x, y ) .
Tabel m coordonatele x i y ale punctelor aleatoare în tabelul 2 rotunjindu-le la 3
zecimale i alegându-le pe acelea ce apar in domeniului de integrare.
Tabelul 2 se ob ine astfel:
Dintre toate valorile lui x care variaz între x = 1 2 i x =1. Pentru aceste valori vom
lua ε 1 = 1 , iar pentru celelalte lu m ε 1 = 0 .
Dintre toate valorile lui y corespunz toare lui x le alegem pe acelea con inute între
y (x ) = 0 i y (x ) = 2 x − 1 .
Pentru aceste valori punem ε 2 = 1 , iar pentru restul ε 2 = 0 .
Calcul m ε = ε 1ε 2 . Numai pentru punctele pentru care ε = 1 apar in domeniului de
integrare.
În situa ia de fa , dintre cele N = 20 de puncte, numai n = 4 apar in domeniului de
integrare.

4 1
vol (D ) =
n
= = .
N 20 4
Atunci
1 1
⋅ (0,452 + 0,855 + 1,048 + 1,482) = 0,240
I1 =
4 4
Valoarea exact a integralei este I 1 = 0,21875 .
Se observ o acurate e sc zut , fapt explicat prin aceea c num rul de puncte N = 20
nu este suficient de mare.

59
0,57705 0,35483 0,11578 0,65339
0,71618 0,09393 0,93045 0,93382
0,73710 0,30304 0,93011 0,05758
0,70131 0,55186 0,42844 0,00336
0,16961 0,64003 0,52906 0,88222
0,53324 0,20514 0,09461 0,98585
0,43166 0,00188 0,99602 0,52103
0,26275 0,55709 0,69962 0,91827
0,05926 0,86977 0,31311 0,07069
0,66289 0,31303 0,27004 0,13928

x x x ε1 y y (x ) y (x ) ε2 ε f (x, y )
0,557 0,500 1,000 1 0,716 0 0,154 0 0
0,737 0,500 1,000 1 0,701 0 0,474 0 0
0,170 0,500 1,000 0 0,533 0
0,432 0 0,263
0,059 0 0,663
0,355 0 0,094
0,303 0 0,552
0,640 1 0,205 0 0,280 1 1 0,452
0,002 0 0,557
0,870 1 0,323 0 0,740 1 1 0,855
0,116 0 0,930
0,930 1 0,428 0 0,860 1 1 1,048
0,529 1 0,095 0 0,0580
0,996 1 0,700 0 0,992 1 1 1,1482
0,313 0 0,270
0,653 1 0,934 0 0,306 0 0
0,058 0 0,003
0,882 1 0,986 0 0,764 0 0
0,521 0,500 1,000 1 0,918 0 0,042 0
0,071 0,500 1,000 0 0,139

60
A doua metod

Fie y = h(ξ 1 , ξ 2 , ..., ξ k ) ≥ 0 . Atunci integrala (1) poate fi considerat ca volumul solidului
din spa iul cu (k+1) dimensiuni, adic
(6) I = (V) ... d 1 d 2 dξ k dy ,
unde volumul V determinat de urm toarele condi ii:
ξ = (ξ 1 , ..., ξ k ) ∈ D , 0 ≤ y ≤ h(ξ ) .
Dac în domeniul D
0 ≤ h( ) ≤ B, 0≤ i ≤ 1, i = 1, 2, ...k
atunci schimbarea de variabil
1
η= y
B
ne duce la
I=B ... dξ1dξ 2 . . . dξ k dη
(V )

unde V este cilindrul din spa iul Oξ 1 . . .ξ k η construit pe domeniul ∆ i m rginit inferior de
1
hiperplanul η = 0 i superior de hiperplanul η = y, V fiind situat în cubul unitate k +1-
B
dimensional:

61
0 ≤ ξ i ≤ 1, i = 1, ,k
0 ≤η ≤1

Lu m pe intervalul [0,1] k +1 iruri de variabile aleatoare repartizate uniform:


(1) (1) (1)
ξ1 , ξ 2 , ,ξ n ,
ξ 1(2 ) , ξ 2(2 ) , , ξ n(2 ) ,

ξ 1(k ) , ξ 2(k ) , , ξ n(k ) ,


η1 , η 2 , , η n ,
cu ajutorul c rora definim punctele aleatoare:
M i (ξ i(1) , ξ i(2 ) , , ξ i(k ) , η i ) , i = 1, 2 ,
din spa iul k + 1 dimensional Oξ 1. . .ξ k η .
Dac din num rul total de N puncte aleatoare n apar in domeniului V , atunci este
adev rat urm toarea formul aproximativ :
n
I ≈ B⋅ .
N

62
∆ fiind cub unitate, atunci este suficient s se verifice pentru fiecare punct ξ i(1) , ξ i(2 ) , , ξ i(k )
condi ia
ηi ≤
1
B
(
h ξ i(1) , ξ i(2 ) , , ξ i(k ) ).

Exemplu. Ne propunem s calcul m volumul m rginit de suprafe ele:


z = 2+ (0,5) − (x − 0,5)2 − ( y − 0,5)2
(x − 0,5)2 − ( y − 0,5)2 = (0,5)2 , z = 0
Volumul cerut este numeric egal cu valoarea integralei:
(7) I = dxdydz
(V )
Deoarece în volumul V 0 ≤ z ≤ 2,5 , introducem urm toarea variabil :
z
η=
2,5
care transform integrala (7) în integrala:
I = 2,5 dxdydη
V

unde V este volumul m rginit de suprafe ele:


(x − 0,5)2 − ( y − 0,5)2 = (0,5)2
η = 0,8 + 0,4 (0,5) − (x − 0,5)2 + ( y − 0,5)2 , η = 0
adic V apar ine cubului unitate:
0 ≤ x ≤ 1, 0 ≤ y ≤ 1, 0 ≤ η ≤ 1 .
Generând pe intervalul [0,1] trei iruri de numere aleatoare repartizate uniform,
corespunz tor coordonatelor x, y, .
Alegem punctele pentru care η ≤ 0,8 i punem pentru ele ε 2 = 1 .
Alegem din aceste puncte ce apar in domeniului V pe acelea pentru care este
satisf cut inegalitatea
(x − 0,5)2 + ( y − 0,5)2 ≤ (0,5)2 .Pentru acestea ε 1 = 1 , iar pentru celelalte ε 1 = 0 .
Calcul m ε = ε 1ε 2 . Punctele pentru care ε = 1 apar in domeniului V .
n
I = 2,5 .
N

Estimarea num rului π prin metoda Monte Carlo

Fie ( X 1 , X 2 ) un vector aleator bidimensional uniform într-un p trat cu latura egal cu 2,


având centrul în origine i laturile paralele cu axele de coordonate.
Fie un cerc cu centrul în origine, de raz 1 înscris în acest p trat.
Se consider un punct luat la întâmplare în interiorul p tratului.

63
Probabilitatea ca punctul s cad în interiorul cercului este dat de raportul între aria cercului
i aria p tratului.

2 Aria − cercului
2 π
P{( X 1 , X 2 ) s fie în cerc } = P( X 1 + X 2 ≤ 1) = =
Aria − patratului 4
Dac variabila aleatoare U este uniform pe (0,1) atunci 2U este uniform pe (0,2) , iar
2U − 1 este uniform pe (−1,1).
Gener m dou numere aleatoare U1 i U 2 uniforme i independente pe (0,1) i facem
substitu ia X 1 = 2U1 − 1 i X 2 = 2U 2 − 1 . Dac not m cu N num rul perechilor ( X 1 , X 2 ) generate
i cu N1 num rul perechilor ( X 1 , X 2 ) care „cad” în interiorul cercului, adic X 12 + X 2 2 ≤ 1 ,
atunci π se poate aproxima prin 4 N1 / N .
Algoritmul de generare.
Pas0. Ini ializare RND, N1 ← 0
Pas1. Genereaz U1 uniform pe (0,1) i calculeaz X 1 = 2U1 − 1
Pas2. Genereaz U 2 uniform pe (0,1) i calculeaz X 2 = 2U 2 − 1
Pas3. Dac X 12 + X 2 2 ≤ 1 atunci N1 ← N1 + 1
Se itereaz acest algoritm de N ori i π se aproximeaz prin 4 N1 / N .

Tehnici de simulare Cursul nr.10

64
.
SIMULAREA PROCESELOR DE STOCARE

No iuni de teoria stocurilor.

Problema stocurilor este de mare importan in orice proces de productie. De rezolvarea ei


depinde procesul de productie respectiv.
Procesul de produc ie con ine dou tipuri de valori materiale :

- valori materiale care intr in procesul de produc ie :


- materii prime
- materiale

- valori materiale care ies din procesul de produc ie.

Bunul mersal produc iei depinde de stocul care o alimenteaz .


Stocul trebuie dimensionat de a a manier încât sa nu fie prea mare i nici insuficient.
Stocul din care se aprovizioneaz produc ia trebuie dimensionat optim, având pierderi
valorice mici.
Stocul care con ine produsele rezultate trebuie s îndeplineasc acelea i condi ii.
Rezolvarea acestor probleme se face cu ajutorul modelelor matematice de teoria stocurilor.
Stocul este o resurs care are o valoare economic caracterizat prin intr ri
( reaprovizionarea stocului ) i ie iri care nu sunt întotdeauna determinate de cerere.
Valoarea stocului S variaz în timp, ceea ce înseamn c S=S(t), t fiind timpul. Modificarea
valorii S la momentul t va fi determinat de cantit ile care intr i care ies la momentul
respectiv.
Fie a(t) rata intr rilor în stoc i b(t) rata ie irilor din stoc.
Not m cu r(t) rata cererii la momentul t, care în cele mai multe situa ii este r(t) = b(t).
Not m S 0 = S(0), unde t = 0 este momentul initial de la care se urm re te evolu ia stocului.

S(t) = S 0 + [a (t ) − b(t )]dt


Func iile r(t) i a(t) nu pot fi întotdeauna controlabile (ele fiind date), dar func ia a(t) care
caracterizeaz intensitstea intr rilor în stoc trebuie aleas astfel încât s realizeze un obiectiv
sau o eficien dorit . Aceast eficen se defins te în func ie de ni te costuri :
- costul de stocare ( imobilizarea fondurilor b ne ti în materii prime, cheltuieli de
depozitare i conservare etc);
- costul de lansare( cheltuieli pentru lansareaa comenzilor de reaprovizionare i
introducerea lor în stoc);

65
- costul lipsei de stoc (determinat de pierderile cauzate de lipsa materiilor prime,
materiale etc ).
Eficien a unui stoc de-a lungul unei perioade de timp este o func ional de forma :

E = E[ a(t), b(t),r(t)]

Func iile a(t) i b(t) sunt în general cunoscute.


Dac E este o variabil aleatoare, atunci se determin func iile necunoscute din condi ia ca
valoarea medie a lui E s fie optim .
În majoritatea modelelor de stocare, intrarea în stoc(reaprovizionarea) se face la momente
discrete de timp t 0 <t 1 <... Intervalele de timp t i +1 - t i = T i , i=0,1,2,...se numesc cicluri de
reaprovizionare. Intr-un interval de timp [0,T ]pot avea loc mai multe reaprovizion ri (mai
multe cicluri de reaprovizionare) .
Varia ia stocului S(t) este determinat de intr ri , ie iri i de rata cererii.
Ciclurile de reaprovizionare T i ( i=0,1,2...) pot fi egale sau nu.
În unele modele de reaprovizionare se pune problema determin rii lotului optim de
reaprovizionare i a ciclului optim de reaprovizionare.
Lotul de aprovizionare nu intr în stoc în momentul când a fost lansat, ci dup un interval de
timp L, numit timp de avans.
Comanda se lanseaz în momentul când stocul a atins un nivel P, numit nivel de
reaprovizionare i este strict legat de timpul de avans.
Momentul lans rii comenzii este momentul când nivelul stocului scade la valoarea nivelului
de reaprovizionare.
Totalitatea elementelor care definesc mecanismul de reaprovizionare constituie ceea ce se
nume te politic de reaprovizionare. O astfel de politic poate s urm reasc loturile de
reaprovizionare, ciclurile de reaprovizionare, nivelul de reaprovizionare, timpul de avans etc.
Politica este optim dac elementele ce o caracterizeaz conduc la eficin optim pe
intervalul de timp dat.
Modelele de teoria stocurilor se pot clasifica astfel :
- dup evolu ia în timp ( timpul intervine explicit sau nu ), modelele pot fi :
- dinamice
- statice .
- dup natura aleatoare a elementelor ( care nu sunt elemente de decizie )
- stochastice
- deterministe

- dup domeniile de valori posibile ale unor variabile care intervin în aceste modele
- cu cerere continu
- cu cerere discret

66
Cele mai interesante i mai apropiate de realitate sunt cele dinamice i stochastice.
Modelele de teoria stocurilor sunt asem n toare cu cele de teoria a tept rii; sosirile în firele
de a teptare corespund intr rilor în stoc, iar serviciile corespund ie irilor din stoc.
Deosebirea între cele dou tipuri de modele const în aceea c sosirile i servirile sunt
variabile aleatoare cunoscute, în timp ce în teoria stocurilor se cunoa te numai cererea ( care
poate fi variabil aleatoare sau nu ) i se caut s se determine o politic optim de
reaprovizionare a stocului.

Model de simulare pentru stocarea unui produs

Se pune problema ob inerii unor variante privind :


- momentul lans rii comenzilor
- momentul intr rii comenzilor
- cheltuielile aferente procesului de reaprovizionare i men inere a stocului pentru
un singur produs.
Introducem nota iile

CS - costul stoc rii unei unit i de produs pe unitatea de timp


CL - costul lipsei produsului din stoc
CLC - costul lans rii unei comenzi de reaprovizionare

TCS - costul total al stoc rii


TCL - costul total al lipsei de stoc
TCLC - costul total al lans rii de comenzi
TC - cheltuieli totale legate de procesul de reaprovizionare i men inerea stocului

T - momentul intr rii comenzii în stoc


R - cererea din stoc pe unitatea de timp
NCS - nivelul curent al stocului
Q - m rimea optim a comenzii
P - m rimea nivelului de reaprovizionare, astfel încât stocul s fie suficient pe
perioada timpului de avans
TA - timpul de avans al lans rii comenzii
CEAS - ceasul simul rii
NIS - nivelul initial al stocului
TS - timpul de simulare

Date de intrare
- costul stoc rii CS
- costul lipsei de stoc CL

67
- costul lans rii unei comenzi CLC
- m rimea optim a comenzii Q
- m rimea nivelului de reaprovizionare P
- nivelul ini ial al stocului NIS
- durata simul rii DS
Variabile aleatoare cu reparti ii cunoscute ( se introduc parametrii )
- cererea R
- timpul de avans al lans rii comenzii TA

Rezultatele simul rii


- costul total al stoc rii TCS
- costul total al lipsei de stoc TCL
- costul total al lans rii comenzii TCLC
- cheltuieli de reaprovizionare i men inerea stocului TC
- nivelul curent al stocului NCS

Ini ializ ri
TCS=TCL=TCLC=TC=0
NCS=NIS CEAS=0

Acest model nu p streaz cererea neonorat .

Intrari, Initializari

Gnereaza R
CEAS CEAS + 1
68
NU
CEAS<=TS

DA
TC = TCS + TCL + TCLC
DA
T=CEAS

Calculeaza statistici NU NCS NCS + Q


Imprima rezultate

NCS NCS-R
STOP

NU
NNCS=CS=
NCS < 0
DA

TCS TCS+NCS*CS TCL TCL – NCS * CL

P < NCS DA
NU

NU
T <=CEAST<=
CEA
DA

DA
TCLC TCLC + CLC
INTRARI,
Genereaza TA INITIALI
Se introduc m rimile T CEAS+TA
de intrare. Se ini ializeaz
GENETEAZA R
CEAS CEAS + 1
69
variabilele de ie ire. Genereaz o cerere.
M re te valoarea ceasului cu
o unitate .

NU Condi ia de terminare a simil rii


CEAS<=TS

DA Se verific dac a atins momentul intr rii


TC = TCS + TCL + TCLC unei comenzi. DA, se adaug comanda
DA sosit la stoc.
T=CEAS Se satisface cererea generat

NU NCS NCS + Q
CALC . STATISTICI
REZULTATE

NCS NCS-R

STOP

NNCS=CS=
NCS < 0
Se cerceteaz nivelul DA
Stocului r mas. Dac este
negativ se calculeaz pierderile. TCL TCL - NCS * CL
NU NCS = 0
Nu se p streaz TCS TCS + NCS * CS
cererea. Se calcu-
leaz costul stoc rii.
DA
Se verific dac este P < NCS

nevoie s se lanseze o
nou comand .
NU

Se verific dac NU
sose te onou T <=CEAST<=DA
CEA
comand .

DA .
Se lanseaz o nou comand . Se adaug costul lans rii.
Se genereaz timpul TCLC TCLC + CLC de avans. Se determin intrarea.
GENEREAZA TA
Tehnici de simulare T CEAS+TA Cursul nr. 11

70
SIMULAREA UNOR MODELE DE A TEPTARE

Teoria a tept rii sau teoria firelor de a teptare se ocup cu studiul evolu iei sistemelor
care prezint aglomer ri (sisteme de a teptare).
A teptarea este intervalul de timp dintre momentul când a fost solicitat servirea i
începutul procesului de servire.
Studiul unui sistem de a teptare se face cu ajutorul unui model, care se noteaz
prescurtat astfel:
ASC: (L;d) (1)
Unde:
A – este reparti ia timpului de servire dintre dou sosiri consecutive;
S – este reparti ia duratei de serviciu;
C – este num rul de sta ii de serviciu;
L – este lungimea maxim a cozii;
d – este disciplina de serviciu.
Disciplina de serviciu poate fi:
FIFO (primul venit, primul servit);
LIFO (ultimul venit, primul servit);
PS (servire prioritar );
RA (servire aleatoare).

Exemplu: Weib(ν )Exp( λ )1: ( ∞ , FIFO)

Acest model de a teptare este caracterizat de sosiri cu reparti ie Weibull de parametru


ν , serviri cu reparti ie exponen ial negativ cu parametru λ , sistemul are o singur sta ie
care asigur sosirea clien ilor care intr în sistem, firul de a teptare poate cre te indefinit
(L= ∞ ), iar regula de servire este primul venit, primul servit.
Sistemele de servire pot fi:
Monocanal

U U U S U U U

Cereri de servire Sta ie Unit i servite


(unit i în firul de a teptare) (flux de ie ire)

Serie (sta iile sunt dispuse succesiv sau în cascad )

U U U S1 S2 S3 … SN U U U

71
Cereri de servire Sta ii flux de ie ire

Paralel

S1 U

U U U S2 U

SN U

Sistemul de a teptare este complet specificat dac se cunosc toate elementele din (1). Pentru
un sistem specificat se poate calcula intensitatea traficului pe care-l asigur acesta
ρ = M(s)/M(τ )
unde s reprezint durata servirii, iar τ este intervalul de timp dintre dou sosiri
consecutive.
Pentru sistemele monocanal prezint interes gradul de utilizare al sta iei de servire,
timpul mediu de servire, num rul unit ilor servite pân la un moment dat i starea sta iei
(liber sau ocupat ) în orice moment.
Pentru sistemele cu sta ii în paralel sau serie prezint interes num rul mediu de sta ii
ocupate, gradul de ocupare al fiec rei sta ii de servire, timpul mediu de a teptare în fiecare
sta ie, num rul sta iilor ocupate la un moment dat.
Pentru firele de a teptare prezint interes lungimea curent i lungimea maxim a cozii,
timpul mediu de a teptare în fir.
Dac λ reprezint num rul mediu de sosiri, iar µ este num rul mediu de serviri, atunci
intensitatea traficului este ρ = λ / µ .
O problem dificil de rezolvat const în validarea modelului.
O metod simpl const în a testa modelul într-un caz particular în care solu ia este
cunoscut .
O alt metod const în a compara datele furnizate de model cu rezultatele ob inute prin
observarea situa iilor reale similare. Dac diferen ele se încadreaz în limite acceptate, atunci
modelul poate fi validat.
În cazul în care ie irile modelului sunt stochastice se impune aplicarea unor teste
statistice adecvate.
Aplicarea simul rii pentru studiul sistemelor de a teptare se recomand datorit
elementelor aleatoare care intervin: timpul de sosire, timpul de servire, etc.
În cele ce urmeaz ne propunem s simul m un model de a teptare de forma:
•  • 1: ( ∞ , FIFO)

72
Se vor prezenta dou metode: una bazat pe ceas variabil, iar cealalt bazat pe ceas
constant.

Modelul cu ceas variabil

Introducem urm toarele nota ii:


ITSC – intervalul de timp (aleator) dintre dou sosiri consecutive;
DS – durata servirii (variabil aleatoare);
TAC - timpul de a teptare al unui client oarecare în fir;
TNS - timpul de neocupare al sta iei de serviciu de la terminarea unui
serviciu la începerea altui serviciu;
TTAC - timpul total de a teptare al clien ilor;
TTNS - timpul total de neocupare al sta iei de serviciu;
NS - num rul total de servicii ce trebuie simulate;
CONTS - contor care num r serviciile.

Variabilele ITSC i DS sunt variabile de intrare; reparti iile lor se presupun cunoscute,
iar parametrii acestor reparti ii sunt parametrii de intrare. NS este de asemenea parametru de
intrare.
Variabilele TAC i TNS sunt variabile aleatoare de ie ire, ca i TTAC, TTNS.
De aici se pot calcula:
- timpul mediu de a teptare
TTAC
MTAC =
NS
- timpul mediu de neocupare a sta iei
TTNS
MTTNS =
NS
La momentul ini ial (momentul începerii simul rii) sunt satisf cute urm toarele
condi ii ini iale:
TAC=0, TNS=0, TTAC=0, TTNS=0, CONTS=0.
Presupunem c pentru ITSC i DS dispunem de generatori care pot fi apela i în
programul de simulare.
Schema logic a algoritmului de simulare se prezint astfel:

73
START

Ini ializ ri i introducerea


parametrilor de intrare

Genereaz ITSC Genereaz un interval de timp de


sosire, ceea ce este echivalent cu
venirea unui client
ITSC:=ITSC-TAC Calculeaz timpul de sosire ajustat

Genereaz DS Genereaz un serviciu care este


CONTS:=CONTS+1 num rat de contor

Durata serviciului se compar cu timpul de


sosire ajustat pentru a determina evenimentul
În acest caz sta ia este ocupat urm tor
DA NU
DS ≥ ITSC
Sta ia este neocupat

TNS:=0 Timpul de neocupare TAC:=0 Clientul care


este zero sose te este servit
f r s a tepte, deci
TAC=0
TAC:=DS-ITSC Se calculeaz timpul de TNS:=ITSC-DS Se determin
a teptare al clientului ce timpul de
urmeaz a fi servit neocupare al sta iei
primul i se însumeaz i se însumeaz
TTAC:=TTAC+TAC TTNS:=TTNS+TNS

DA Decide dac simularea se termin


CONST<NS sau nu

NU

Calculeaz parametrii i
furnizeaz rezultatele

STOP 74
Observa ie.

Modelul se bazeaz pe principiul ceasului variabil, dar f r a folosi o variabil ceas


efectiv , ci una echivalent , (timpul de sosire ajustat) cu care se realizeaz acela i scop i
anume determinarea evenimentului urm tor.

Modelul cu ceas constant

În acest caz, modelul, pe lâng parametrii i variabilele utilizate în modelul cu ceas


variabil va folosi i alte variabile i anume:

TTS - timpul total al sosirilor;


MTS - momentul termin rii ultimului serviciu;
CEAS - ceasul simul rii;
C - constant cu ajutorul c reia se avanseaz ceasul;
L - lungimea curent a cozii (variabil de tip întreg);
TS - durata simul rii (simularea se termin când CEAS ≥ DS) aici nu se
folose te CONST.
În aceste condi ii se fac urm toarele ini ializ ri:
TTAC=0, TTNS=0, TTS=0, MTS=0, CEAS=0, L=0.
Schema logic a modelului de simulare se prezint astfel:

Validarea modelelor

Pentru validarea modelelor de simulare de mai sus trebuie calculat intensitatea de


trafic a sistemului de a teptare (raportul dintre num rul mediu de clien i care sosesc i
num rul mediu de clien i care plec în unitatea de timp).
Pentru un sistem de a teptare intereseaz factorul de eficien al sistemului, care, pe
baza rezultatelor simul rii se calculeaz cu formula:

TTAC + DTS
Fe =
DTS

unde DTS este durata total a serviciilor i este dat de:

DTS=MTS-TTNS .

75
START

Ini ializarea i introducerea


parametrilor de intrare

Genereaz ITSC

TTS:=TTS+ITSC

CEAS:=CEAS+C

Constat dac sta ia este


Sta ie ocupat liber sau ocupat Sta ie liber
DA NU
TTS<MTS
Verific dac sunt clien i
în coad sau nu
L:=L+1 Se m re te coada cu o DA L=0 NU
unitate
Se calculeaz durata
TAC:=MTS-TTS Timpul de TNS:=TTS-MFS L:=L-1
a tept rii clientului i se
neocupare al
adun la timpul total de
sta iei se
a teptare Se
TTAC:=TTAC+TAC adun la cel TTNS:=TTNS+TNS mic orea
total
z coada
Actualizeaz
DA Compar ceasul cu cu o
CEAS>TTS MTS la MTS:=TTS
momentul ultimei sosiri unitate
valoarea TTS
NU i dac este anterior
ultimei sosiri îl m re te
CEAS:=CEAS+C cu C Compar ceasul cu DA NU
CEAS>MTS
momentul termin rii
ultimului serviciu
Dac este ulterior CEAS:=CEAS+C
Genereaz ITSC Genereaz o nou sosire
ceasului, se m re te
i se recalculeaz
ceasul cu C
momentul ultimei sosiri
TTS:=TTS+ITSC Genereaz un serviciu Genereaz DS

MTS:=MTS+DS

DA CEAS<TS Decide dac simularea


continu sau se opre te
NU
Calculeaz parametrii
de ie ire

76
Livreaz rezultatele
Tehnici de simulare Cursul nr. 12

SIMULAREA UNOR PROCESE STOCHASTICE

Procesele stochastice studiaz mul imi de variabile aleatoare care descriu procese a c ror
evolu ie urmeaz legi probabiliste.
Defini ie. O mul ime de variabile aleatoare { X t , t ∈ T } unde T ⊂ R se nume te proces
stochastic.
Defini ie. Un proces stochastic în care mul imea T este cel mult num rabil se nume te lan .
Parametrul t poate fi timpul. Pentru t fixat X i este o variabil aleatoare, ceea ce înseamn c
pentru a cunoa te procesul este necesar s se cunoasc reparti iile sale pentru fiecare t ∈ T ,
precum i reparti ia vectorului aleator ( X t , X t ,..., X t ) pentru t1 ≤ t2 ≤ ... ≤ tn i pentru orice n .
1 2 n

Lan uri Markov


S presupunem c avem un sistem care în fiecare moment este în una din st rile s1 , s2 ,..., sN .
Notând cu X n starea sistemului la momentul t = n , rezult c
X n ∈ { s1 , s2 ,..., s N } .
Not m cu pij (n) = P( X n+1 = s j / X n = si )
Dac pij (n) = pij avem un lan Markov.
Dac pij (n) depinde de n avem un proces Markov.
Not m π i (n) = P( X n = i) probabilitatea ca în momentul n sistemul s aib starea i.
N
Elementele pij au proprietatea c pij = 1 pentru orice i = 1,2,..., N .
j =!

Un lan Markov este bine definit prin matricea P i vectorul π 0 definite astfel:
P = ( pij ) pentru i, j = 1,2,..., N care se nume te matricea probabilit ilor de trecere.
π 0 = (π i (0)) = (π 1 (0), π 2 (0),..., π N (0)) unde π i (0) = P( X 0 = i ) reprezint reparti ia probabilit ilor
ini iale.
Lan ul { X n , n ∈ N } se nume te lan Markov de ordinul întâi discret i omogen dac fiecare din
variabilele { X n } ia o aceea i mul ime S discret de valori (finit sau num rabil ), valori ce
corespund st rilor procesului, astfel încât
P( X n = j / X n −1 = i1 , X n − 2 = i2 ,..., X n − p = i p ) = P( X n = j / X n −1 = i ) = pij , n ∈ N , p ∈ N , p > 1 pentru orice
st ri i, j ∈ S .
Dac S = {1,2,..., m}, m < ∞ , lan ul se nume te cu un num r finit de st ri.

77
Probabilit ile pij , care se numesc probabilit i de trecere, ne ajut s determin m reparti ia
st rilor la momentul n, când se cunoa te reparti ia la momentul n-1.
Defini ie. Se nume te traiectorie a unui lan Markov, mul imea de st ri (i1 , i2 ,..., in ) prin care
trece lan ul la momentele de timp 1,2,..., n .
O pereche (t , it ) , cu t fixat este un punct al traiectoriei.
Problema gener rii cu calculatorul a unui lan Markov revine la generarea unui punct al
traiectoriei, adic la generarea st rii j când se cunoa te starea precedent i.
Presupunem c matricea probabilit ilor de trecere P = ( pij ) este cunoscut .
Generarea unei st ri a unui lan Markov finit (cu m st ri) i omogen de ordinul întâi se face
astfel:
Pas 0. Ini ializare RNG.
j
Intrare F [i, j ] = pik ,1 ≤ i, j ≤ m
k =1
j←0
Pas 1. Genereaz U cu RNG uniform pe (0,1)
Pas 2. j ← j + 1
Pas 3. Dac F [i, j ] ≤ U transfer la Pas2.
Pas 4. Scrie j.

78
Tehnici de simulare Cursurile nr. 13 - 14

APLICA II ALE SIMUL RII ÎN FIABILITATE

No iuni de baz

Fiabilitatea:
parametru principal al calit ii oric rui produs;
se calculeaz pe baza comport rii sistemelor studiate în exploatare.
Controlul de calitate apreciaz calitatea produsului finit în momentul livr rii c tre
beneficiar, în timp ce fiabilitatea apreciaz comportarea în timp a utiliz rii produsului.
Defini ia fiabilit ii (conform Comisiei Electronice Interna ionale): o caracteristic a unui
sistem (dispozitiv, produs etc.) exprimat prin probabilitatea cu care el îndepline te o func ie
necesar în condi ii date, pe o durat de timp dat .
Defini ia defec iunii: pierderea par ial sau total sau modificarea acelor propriet i ale
sistemului care diminueaz în mod esen ial sau conduc la pierderea complet a capacit ii de
func ionare.
Momentul apari iei unei defec iuni, timpul de func ionare pân la apari ia unei defec iuni
sau între dou defec iuni sunt variabile aleatoare.
Tipuri de fiabilitate:
fiabilitate previzional (proiectat , precalculat ) este fiabilitatea imprimat unui
sistem pe baz de calcule de c tre proiectant în etapa de concep ie a acestuia,
pornind de la caracteristicele componentelor, utilizare, solicit ri etc.;
fiabilitate experimental (tehnic ) determinat în urma experiment rii, în
condi ii de laborator, a func ion rii sistemului (produsului) în conformitate cu
normele prev zute în documenta ia tehnic ;
fiabilitatea opera ional (la beneficiar) determinat în condi ii reale de
exploatare, cu luarea în considerare a factorilor interni i externi;
fiabilitatea nominal este prescris în standarde, norme interne etc.

Indicatori de fiabilitate

Pentru studierea fiabilit ii unui sistem f r reînnoire este suficient s se ia în


considerare durata scurs de la punerea în func iune a sistemului pân la defectarea
acestuia, durat care este o variabil aleatoare. Caracteristicile numerice ale variabilei
aleatoare se numesc indicatori de fiabilitate ai sistemului.
Fie T durata de func ionare pân la defectare a unui sistem i F(t) func ia de reparti ie
a acestei variabile aleatoare.

79
Probabilitatea ca la momentul prescris s aib loc o defectare a sistemului este

F(t) = P(T<=t) (1)


Probabilitatea func ion rii f r defec iuni a unui sistem - fiabilitatea lui – este dat de

R(t) = P(T>t) (2)

Func iile R(t) i F(t) reprezint probabilit ile unor evenimente complementare în
sensul teoriei probabilit ilor.
Comportarea sistemului în jurul unui moment dat este descris de viteza instantanee
de defectare:

f(t) = dF(t)/dt = - dR(t)/dt (3)

care este de fapt densitatea de probabilitate a timpului de func ionare.


Pentru a descrie pericolul de defectare în jurul unui moment dat al unui sistem aflat în
bun stare la acel moment, se define te un alt indicator numit rat de defectare, definit astfel:

r(t) = lim [ F(t+ ∆t ) - F(t) ] / [ R(t) ∆t ] = f(t) / R(t)


∆t → 0
sau
r(t) = F ' (t)/R(t) = F ' (t)/(1-F(t)) = - R' (t)/R(t) (4)

Integrând, cu condi ia ini ial R(0) = 1, se ob ine:


1
− r ( u ) du
R(t) = e 0
(5)

Fiabilitatea unui sistem poate fi descris i prin caracteristicile numerice ale variabilei
aleatoare timpului de func ionare pân la prima defectare :

media timpului de func ionare


∞ ∞
m = tf (t )dt = R(t )dt (6)
0 0

dispersia timpului de func ionare

80

D = (t − m) 2 f(t)dt (7)
0

abaterea medie p tratic a timpului de func ionare

m= D (8)

cuantila timpului de functionare

F(t α ) = α , 0< α <1

Media i dispersia timpului de func ionare pot fi determinate i experimental.

Func ii care descriu uzura sistemelor


Cele mai multe sisteme se uzeaz în timp. În teoria fiabilit ii, uzura include orice alterare
în timp a caracteristicilor sistemului.

Pe baz experimental s-a constatat c , în general, orice sistem parcurge în evolu ia sa


trei stadii:

defectarea timpurie, când caracteristicile sale de fiabilitate se


îmbun t esc în timp;

durata util de via , când performan ele sistemului r mân constante;

uzura, când se constat o sc dere rapid a caracteristicilor de fiabilitate.

O exprimare matematic a uzurii poate fi dat în termenii ratei de defectare a unui


sistem.

Defini ie. Un sistem are uzur pozitiv dac func ia sa de fiabilitate este
descresc toare, ceea ce înseamn c fiabilitatea scade în timp.

Defini ie. Un sistem are uzur negativ dac func ia sa de fiabilitate este cresc toare,
ceea ce înseamn c fiabilitatea cre te cu vârsta.

Din rela ia (5) rezult c rata de defectare a unui sistem cu uzur pozitiv este
cresc toare, iar rata de defectare a unui sistem cu uzur negativ este descresc toare în
timp.

81
Nota ii. Sistemele cu uzur pozitiv se noteaz cu IFR (Increasing Failure Rate), iar
cele cu uzur negativ DFR (Decreasing Failure Rate).

Defini ie. Se nume te sistem cu uzur medie pozitiv , sistemul pentru care func ia
1 1
ln este cresc toare în timp i se noteaz IFRA (Increasing Failure Rate Average).
t R

Defini ie. Se nume te sistem cu uzur medie negativ , sistemul pentru care func ia
1 1
ln este descresc toare în timp i se noteaz cu DFRA (Decreasing Failure Rate
t R
Average).

Simularea fiabilit ii

Problema realiz rii unor sisteme cu fiabilitate ridicat în general, i a sistemelor


tehnice în special este o condi ie de prim importan în procesul de proiectare i fabrica ie.
Utilizarea simul rii ne ajut la detectarea rapid a elementelor cu fiabilitate sc zut ,
care contribuie la defectarea sistemului, determinând sc derea siguran ei în func ionare.
Simularea permite estimarea cantitativ a fiabilit ii sistemului, rezultatele fiind de
mare importan în stabilirea structurii i fiabilit ii precalculate a componentelor sale.
Descrierea matematic a fiabilit ii unui sistem poate fi f cut la nivel global,
ignorând structura sistemului, sau la nivel structural, lund în considerare elementele
sistemului i rela iile dintre ele.
Studiul fiabilit ii la nivel structural are ca scop s stabileasc o rela ie între
fiabililitatea sistemului i fiabilitatea componentelor sale.
Pentru a fi mai u or de studiat, adeseori sistemul se reprezent sub forma unui graf.
Nodurile sau vârfurile reprezint elementele sistemului, iar arcele grafului reprezint
leg turile între elemente. Elementele sistemului pot fi conectate între ele în serie, paralel,
punte sau combina ii ale acestora.
În cele ce urmeaz vom considera c avem un sistem cu n componente i vom nota
cu R i ( i=1,2,...,n ) fun ia de fiabilitate a componentei i, iar cu R S func ia de fiabilitate a
sistemului.
Pentru simplificarea exprim rii vom asocia fiec rei componente i ( i=1,2,...,n ) o
variabil binar xi , i = 1, n .
1, daca elementul functioneaza
xi =
0, daca elementul nu functioneaza
X = ( x1 , , x n ) este vectorul de stare,
pi = P( xi = 1), qi = P( xi = 0 )
pi = 1 − q i , i = 1, n

82
S = starea sistemului
1, daca sistemul functioneaza
S=
0, daca sistemul nu functioneaza
R = P(S = 1) (Reliability = fiabilitatea sistemului)
F = P(S = 0 ) (Failure)
Leg tura dintre starea sistemului i starea componentelor este dat de o func ie
boolean numit func ie de structur : S = Φ(x1 , , x n )
Fiabilitatea sistemului depinde fiabilitatea componentelor.
Leg tura dintre fiabilitatea sistemului i fiabilitatea componentelor este dat de
func ia R = h( p1 , , p n ) .
Deosebim 3 tipuri de sisteme:

1. Sisteme serie: sistemul func ioneaz dac i numai dac toate componentele
func ioneaz .

Func ia de structur este: Φ(x ) = x1 ∧ x 2 ∧ ∧ x n = min ( x1 , , xn )


n n
Func ia de fiabilitate a componentelor: R = P(S = 1) = ∏ P(xi = 1) = ∏ pi
i =1 i =1

2. Sisteme paralele: sistemul func ioneaz dac i numai dac cel pu in una din
componentele sale func ioneaz .

Func ia de structur este: Φ(x ) = x1 ∨ x 2 ∨ ∨ x n = max(x1 , , x n ) care se poate reduce ca cazul


precedent prin negarea variabilei de stare:

S = x1 ∨ x 2 ∨ ∨ x n = x1 ∧ x 2 ∧ ∧ xn

ceea ce înseamn c sistemul nu func ioneaz dac nici una din componentele sale nu
func ioneaz . De aici se poate deduce probabilitatea de defectare a sistemului notat cu F :

( ) ( )
n n
F = P S = 1 = ∏ P x i = 1 = ∏ qi , unde qi = 1 − pi
i =1 i =1

n
R = 1 − F = 1 − ∏ (1 − pi )
i =1

83
3. Sisteme complexe (sisteme „punte”)

4.1 Propriet i structurale ale sistemelor coerente

Defini ie. Un sistem este coerent dac func ia sa de structur este cresc toare i
fiecare component este important .
Defini ie. Componenta i a unei func ii de structur este neînsemnat dac Φ este
constant în xi , adic :
Φ (1i , X ) = Φ (0 i , X ), unde (0 i , X ) = ( x1 , x 2 , , xi −1 ,0, xi +1 , , xn )

Propozi ie. Fie un sistem coerent cu n componente având func ia de structur ,


atunci :

x 1 ∧ x 2 ∧ ... ∧ x n (X) x 1 ∨ x 2 ∨ . . . ∨ x n , ∀ x i ∈ {0,1}

Aceast propozi ie subliniaz faptul c performan a unui sistem coerent este


m rginit inferior de performan a sistemului serie i superior de performan a sistemului
paralel.

Propozi ie. Fie func ia de structur a unui sistem coerent. Au loc inegalit ile:

(X ∨ Y) ≥ (X) ∨ (Y)

dac structura sistemului este de tip paralel i

(X ∧ Y) ≤ (X) ∧ (Y)

dac structura sistemului este de tip serie.

Propozi ie. Fie func ia de structur a unui sistem cu n componente. Atunci are
loc urm toarea identitate :

84
(X)=x i (1 i ,X) +(1-x i ) (0 i ,X), ∀ i=1,2, . . ., n

Not m cu C = {1,2, , n} mul imea componentelor sistemului.

Defini ie. Se nume te drum, un vector X pentru care (X)=1 i îi corespunde


mul imea C 1 (X).
Un drum minim este o mul ime minim de elemente a c ror func ionare asigur
func ionarea sistemului.

Defini ie. Se nume te t ietur , un vector X pentru care (X)=0 i îi corespunde


mul imea C 0 (X).
O t ietur minim este o mul ime care con ine un num r minim de elemente a
c ror defectare cauzeaz defectarea sistemului.
C 0 ( X ) = {xi | xi = 0} taietura
Not m:
C1 ( X ) = {xi | xi = 1} drum
1) La sistemele serie avem t ieturi: C 0 ( X ) = {{x1 }, , {x n }}= n t ieturi
2) La sistemele paralele avem t ieturi: C 0 ( X ) = {x1 , , x n } =1 t ietur
3) La sistemele complexe avem t ieturi:
C 0 ( X ) = {{x1 , x3 }, {x 2 , x 4 }, {x1 , x5 , x 4 }, {x3 , x5 , x 2 }}
1) La sistemele serie avem drumul: C1 ( X ) = {x1 , , x n } drum minim
2) La sistemele paralele avem drumurile: C 0 ( X ) = {{x1 }, , {x n }}n drumuri.
3) La sistemele complexe avem drumurile:
C1 ( X ) = {{x1 , x 2 }, {x1 , x3 }, {x1 , x5 , x 4 }, {x3 , x 4 }{x3 , x5 , x 2 }}
Φ s (x1 , , x n ) = x1 ⋅ x 2 ⋅ ⋅ x n
Φ p (x1 , , x n ) = x1 ∨ x 2 ∨ ∨ xn
Φ c ( x1 , , x5 ) = x1 ⋅ x 2 ∨ x3 ⋅ x 4 ∨ x1 ⋅ x5 ⋅ x 4 ∨ x3 ⋅ x5 ⋅ x 2

Exemplu:

85
Simularea fiabilit ii unui sistem coerent

Realizarea unor sisteme cu fiabilitate ridicat în faza de concep ie se poate face


prin simularea diferitelor structuri ( variante de sistem ), alegându-se aceea care corespunde
cerin elor utilizatorului.
O evaluare numeric aproximativ a func iei de fiabilitate a sistemului poate fi
realizat în asemenea situa ii printr-o metod experimental , care const în generarea unor
st ri posibile ale sistemului ( cunoscând func iile de fiabilitate ale componentelor ) i
evaluând de fiecare dat performan a sistemului. Raportul dintre num rul situa iilor în care
sistemul func ioneaz i num rul total de simul ri reprezint o estima ie a func iei de
fiabilitate a sistemului. Precizia estim rii depinde de num rul de simul ri realizate.
Pe baza acestor considera ii, a no iunilor introduse mai sus i presupunând
independen a componentelor sistemului din punct de vedere al defect rii, algoritmul de
simulare se prezint astfel:

Algoritmul de simulare:

Pas0. Ini ializare RNG.


Ini ializare algoritm pentru generarea fiabilit ii componentelor.
Intrare parametrii.
Pas1. Calcularea func iei de structur a sistemulu cu algoritmul FIAB1.
Pas2. Generarea fiabilit ilor componentelor pi , i = 1, n cu algoritmul FIAB2
Pas3. Calcularea fiabilit ii sistemului cu algoritmul FIAB3.

Algoritmul pentru calculul func iei de structur a sistemului

Sistemele a c ror structur nu poate fi, în general, redus la combina ii de tip serie
sau paralel ( structuri elementare ) le numim sisteme complexe.
În cazul sistemelor complexe, determinarea func iei de structur devine o problem
dificil . Un asemenea algoritm, pe care l-am numit FIAB1, pentru un sistem cu n
componente reprezentat sub forma unui graf cu k noduri, se prezint astfel :

86
Pas0: Intrare matrice asociat sistemului (matricea conexiunilor) [C] kxk .
Pas1: Se adun la matricea C matricea identitate de ordinul k.
Pas2: Se înl tur prima coloan i ultima linie a matricei ob inute.
Pas3: Calculeaz det Dk −1 asociat matricei r mase folosind opera iile de sum i
produs boolean.
Φ = Dk −1

Algoritmul pentru calculul fiabilit ii componentelor:

Pe baza datelor ob inute în urma încerc rilor de durat , pe componente, privind


varia ia parametrilor acestora cu solicitarea i timpul, se determin densit ile de
probabilitate asociate componentelor sistemului.
Cunoscând func iile de fiabilitate ale componentelor, algoritmul de generare, denumit
FIAB2, se prezint astfel :

Pas0: Ini ializare RNG.


Ini ializeaz algoritmii pentru generarea fiabilit ii componentelor.

Intrare parametri corespunz tori func iilor de fiabilitate ale


componentelor.
Pas1: Genereaz numere aleatoare uniforme pe (0,1)
Pas2: Genereaz o valoare de selec ie p i corespunz toare componentei i (
i=1,2, . . . , n ).

Algoritmul pentru calculul fiabilit ii sistemului

Calculul fiabilit ii unui sistem complex este o problem dificil care conduce la un
volum mare de munc i este greu de algoritmizat. În asemenea cazuri, o evaluare numeric
a func iei de fiabilitate poate fi realizat printr-o metod Monte Carlo, cu ajutorul
calculatorului.
În ipoteza independen ei defect rii componentelor sistemului, fiecare component
poate fi în una din cele dou st ri : func ioneaz sau este defect , iar algoritmul, denumit
FIAB3, se prezint astfel :

87
Pas0: Ini ializeaz RNG.
Ini ializeaz algoritmul pentru calculul func iei de structur .
Ini ializeaz algoritmii pentru generarea fiabilit ilor componentelor
p i ( i=1,2, ...,n).
Intr ri : parametri densit ilor de probabilitate corespunz toare
componentelor sistemului.

k =1
Pas1: Calculeaz func ia de structur cu algoritmul FIAB1.
Pas2: Genereaz p k cu algoritmul FIAB2 .
Pas3: Genereaz U k → (0,1)
Pas4: dac U k < p k atunci xk = 1 , altfel x k =0
Pas5: k ← k + 1 dac k ≤ n trece la Pas 2. Altfel trece la Pas 6
Pas6: S = Φ(x1 , , x n )

Fiabilitatea sistemului se ob ine ca fiind:


n
Si
R= i =1

unde N depinde de precizia cerut i reprezint num rul de simul ri efectuate cu algoritmul
de mai sus.

Aplica ii ale teoriei bayesiene în fiabilitate

Func ionarea unui sistem este influen at de o mul ime de factori. Influen a acestor factori
este diferit . De mare importan pentru func ionarea unui sistem este cunoa terea factorilor
care au o influen semnificativ asupra sistemului.
Ob inerea unor informa ii privind influen a unor factori asupra func ion rii sistemului înainte
de efectuarea unor încerc ri de fiabilitate se poate realiza folosind metode bayesiene.
În contextul teoriei fiabilit ii se pune problema estim rii bayesiene a parametrilor legii de
reparti ie a timpului de func ionare sau a indicatorilor de fiabilitate dac nu exist o lege de
reparti ie a timpului de func ionare.
Teorema lui Bayes. Dac A1 , A2 ,..., An formeaz un sistem complet de evenimente, atunci
pentru orice eveniment A, avem:

P( A / Ai ) P( Ai )
P ( Ai / A) = i = 1,2,..., n
P( A / A1 ) P( A1 ) + P( A / A2 ) P( A2 ) + ... + P( A / An ) P( An )

88
Demonstra ie.
Observa ie.Dac se cunosc probabilit ile P( Ai ) i P( A / Ai ) unde A este un eveniment
oarecare, atunci probabilitatea evenimentului Ai , tiind c A s-a realizat este dat de formula
lui Bayes.
În locul evenimentelor Ai vom considera cauze (ipoteze) notate cu H i , constituind un model
adecvat pentru o situa ie practic .
Evenimentul A este interpretat ca realizarea unei situa ii practice, iar probabilit ile P( H i )
sunt cunoscute i se numesc ”probabilit i apriori” ale diferitelor ipoteze.
Pe de alt parte, cauza H i realizeaz evenimentul A cu probabilitatea PA / H i ) , aceste
probabilit i fiind i ele cunoscute.
tiind c evenimentul A s-a produs, formula lui Bayes permite calcularea lui P( H i / A) ,
care se numesc „probabilit i aposteriori”.
Cu alte cuvinte, tiind c evenimentul A s-a produs, care este probabilitatea ca acest fapt s
se datoreze cauzei H i .
Exemplu. Defec iunile unor arbori de transmisie sunt datorate în 25% din cazuri cuplurilor
aplicate i în 75% aceste defect ri se datoreaz montajului. Printre defect rile datorate
cuplurilor foarte puternice, 20% antreneaz ruperea arborilor, în timp ce doar 5% dintre
defectele de montaj au aceea i consecin . Constatând o ruptur de arbore, se poate
determina probabilitatea ca ea s se datoreze unei suprasolicit ri.

89