Documente Academic
Documente Profesional
Documente Cultură
Bibliografie:
În funcție de tipul variabilelor, simularea de tip foc poate fi dirijată sau aleatoare.
În cea dirijată, variabilele de intrare sunt deterministe, iar în cea aleatoare, variabilele sunt
aleatoare.
Experimentarea constă în atașarea unor valori arbitrare variabilelor din model și
observarea efectului asupra performanțelor sistemului.
Pentru a realiza un studiu al unui sistem printr-o simulare numerică trebuie străbătuți
următorii pași:
Pasul 1: Formularea corectă și completă a problemei pe baza:
- Analizei comportamentului proceselor și fenomenelor din cadrul sistemului
- Formulării corecte a cerințelor la care trebuie să răspundă modelul de simulare
- Identificării variabilelor de interes major
Pasul 2: Colectarea datelor atât pentru estimarea parametrilor și a formelor funcționale ale
modelului și construirea modelului preliminar
Pasul 3: Testarea preliminară a modelului folosind aceleași date ca la estimarea parametrilor
Pasul 4: Testarea suplimentară a modelului conform unor proceduri speciale care pe baza
unor date specifice realizează predicții ale procesului studiat.
Dacă rezultatele confirmă validarea modelului, se continuă cu pasul următor, în caz contrar se
reia de la pasul 2.
Pasul 5: Se proiectează experimentul de simulare având în vedere scopul simulării și
probabilitățile concrete de realizare ale acestuia.
Pasul 6: Realizarea efectivă a unui număr prestabilit de experimente pe baza unor scheme de
simulare, ceea ce presupune generarea unor situații posibile (variante) de evoluție a
sistemului.
Pasul 7: Se face o analiză matematico-economică a rezultatelor obținute în urma efectuării
experimentelor de simulare, ceea ce presupune o evaluare a consecințelor acestor variante
asupra indicatorilor de eficiență ai sistemului modelat și a unor indicatori statistici asociați
variabilelor de ieșire din model.
Dacă este necesar se fac modificările care se impun în model.
Pasul 8: Se testează dacă obiectivul simulării a fost atins, dacă da, se trece la pasul 9. Dacă
nu, se reiau pașii începând cu pasul 6.
Pasul 9: Se implementează rezultatele simulării în sistemul real.
Aceste modele oferă o serie de facilități atât din format de vedere constructiv cât și al
timpului de calcul necesar obținerii soluțiilor.
Într-o structură cu deplasare variabilă, valorile variabilei ceas ce măsoară deplasarea
sistemului în timp sunt determinate de momentele de apariție (producere) a evenimentelor în
cadrul sistemului, adică:
Aceste metode folosesc de regulă memoria internă sau externă a calculatorului și oferă
avantajul reproductibilității. Ek pleacă de la tabele de tip RAND.
Se pot folosi și alte tabele, cum ar fi: cartea de telefon, tabele de logaritmi, etc., dar numai
după efectuarea unor teste de uniformitate (pentru a stabili că sunt uniform distribuite)
Șirul astfel construit posedă proprietățile statistice ale unui șir de valori ale unei
variabile aleatoare uniform repartizate sau supusă unei anumite legi de repartiție.
Există diverse procedee analistice care au fost algoritmizate având însă neajunsul că
ele conduc după un anumit număr de generări la șiruri periodice. Acestea înseamnă că
într-un șir foarte mare de numere pseudoaleatoare există un indice k astfel încât:
unde b este baza de reprezentare a numerelor, iar [] – partea întreagă a unui număr.
Metoda ”mijlocului pătratului” cere existența unei singure valori inițiale U0, iar
relația de recurență folosită pentru determinarea numerelor din șir este relația (*)
Se recomandă ca 2a = 8 și că cel puțin două cifre ale numărului inițial să fie diferite
de 0 și anume: prima cifră a numărului și cel puțin una din mijlocul numărului.
Această metodă este însă o sursă slabă de numere pseudoaleatoare, în sensul că șirul
obținut prin această metodă se poate reproduce.
Astfel pentru a=2, b=10, U0 = 3792 => U02 = 14379264 => U1 = 3792 => U2 = 3792
…
Această metodă a stat la baza programului de generare a numerelor aleatoare sunt
Metropolis. Folosind acest program (1955 – 1960) cercetătorul G.E.Forsythe încercând
diferite valori de start (pentru U0) a considerat că există cazuri de șiruri care degenerează
luând valoarea 0.
Pentru ca șirurile create prin această metodă să aibă valori în [0, 1], numerele din
trebuie împărțite la b2b.
Se observă că folosind aceeași valoare inițială, obținem aceeași secvență de numere,
deci metoda furnizează șiruri reproductibile(condiția 3).
Din cauză că această metodă s-a dovedit o metodă slabă de generare a unor șiruri de
numere pseudoaleatoare, au fost căutate alte tipuri de metode.
Metodele care au fost create și studiate riguros din punct de vedere teoretic și care au
condus la rezultate bune sunt metodele congruențiale, care utilizează teoria claselor dde
resturi. Ele sunt cele mai răspândite și stau la baza diferiților algoritmi de generare a
numerelor aleatoare (generatori).
Metodele congruențiale se impart în:
- Metode congruențiale aditive;
- Metode congruențiale multiplicative;
- Metode congruențiale mixte.
Observație: Mm algoritmii creați pe baza acestei metode s-a considerat valoarea lui
m=231 – 1
Metode congruențiale mixte
Aceste metode folosesc sitemul de numere [x0, a, c, m] unde:
X0- este valoarea inițială
m – numărul folosit la crearea claselor de resturi
a – multiplicator
c – constantă întreagă
Pasul 3:
Pasul 4: Se repeat pașii 2, 3 până când se ajunge la lungimea dorită a șirului de numere
pseudoaleatoare.
Exemplu:
Cu G1 se obțin valori întregi în [1, 20].
Fie acestea:
S1: {5, 13, 17, 19, 2, 3, 5, 7, 9, 10, 13, 11, 7, 18, 17, 12, 1, 6, 3, 13}
Presupunem că dorim să construim un șir format din 10 numere.
Pentru acesta generăm folosind generatorul G2, obținem un șir de p=20 numere uniform
repartizate în [0, 1]. Fie acestea:
S2: {0,7; 0,3; 0,8; 0,1;0,6; 0,13; 0,77; 0,44; 0,5; 0,3; 0,9; 0,14; 0,55; 0,42; 0,71; 0,01; 0,1;
0,23; 0,81}
Luând primul număr din șirul S1, adică 5 el va folosi ca poziție a elementului ce va fi extras
din al doilea șir, și va construi primul element dintr-un nou șir cu N elemente.
Astfel: pe poziția 5 avem elementul 0,6 (în S2). Acesta va fi extras și înlocuit cu un număr cu
ajutorul lui G2. Fie acestea 0,12.
Folosind al doilea număr din șirul S1 ca poziție a unui element în S2 obținem (extragem) pe
0,55 care va fi înlocuit cu un alt număr obținut folosind generatorul G2. Foe acesta 0,24.
Procedeul se repetă până obținem un șir de N=10 valori.
Astfel: șirul extras va fi 0,6; 0,55; 0,01...........
Curs 3 SPE
Generarea numerelor pseudoaleatoare cu funcții de repartiție date
Fie X o variabilă aleatoare cu o distribuție cunoscută.
Statistica matematică ne pune la dispoziție modele experimentale care prin realizarea
lor evidențiază valori posibile ale variabilei X.
În simularea numerică aceste experimente sunt înlocuite cu calcule relativ simple
realizate în 2 etape:
P1. Se generează unul sau mai multe șiruri de numere uniform distribuite pe [0, 1].
P2. Se aplică un algoritm prin care s transformă șirul generat la P1 într-un șir de numere
pseudoaleatoare cu repartiție dată.
Metode generale:
1. Metoda transformării inversei
2. Metoda compunerii
3. Metoda respingerii
Operația n
Fie Z un număr din șirul de valori aleatoare uniform repartizate ni [0, 1].
Atunci:
Deci:
Și deci:
În
Prin urmare:
F1 = 0; F0=p0=0,42;
F1 = p0+p1 = 0,84
F2 = 0,98
F3 = 1
Deci dacă Z € (F1, F0) => k1 =0 (z € [0, 0,42])
Iar dacă z € [F0 F1) => k2 = 1
(z € [0,42, 0,84)) ș.a.m.d
Metoda respingerii
John von Neumann propune în 1951 o metodă prin care se generează valori posibile
pentru o variabilă aleatoare X dacă aceasta îndeplinește următoarele condiții:
- Valorile posibile sunt în [a, b] cu a<b; a, b € R, b<infinit
- Densitatea de probabilitate f(x) este o funcție mărginită pe [a, b]
Putem spune că și
Se observă că:
Se transformă în:
Pasul 3. Se vor genera 2 șiruri de numere aleatoare uniform distribuite pe [0, 1]:
Pasul 5. Se repetă pentru toate celelalte perechi (k >= 2), iar procesul de generare ale
valorilor lui X când șirul {xk}k€N*are m termini.
Prin urmare:
Pasul 3.
Pasul 4. Perechile de forma (Zk1, Zk2) sunt (0,21, 0,28); (0,01; 0,91); (0,51; 0,59); (0,33; 0,07)
Pasul 5.
Adică: Dacă se notează cu Zj variabila aleatoare care are pe Gj(x) funcție de repartiție,
spunem că X=Zj cu probabilitatea pj.
Algoritmul propus are următorii pași:
Pasul1. Se notează
Se inițializează j=1
Surse
1. Din teorema de mai sus => prin asumarea unui număr relativ mare de numere
pseudoaleatoare uniform distribuite pe [0, 1] se obțin numere repartizate normal
2. Dacă se ține seama de faptul că ni cazul variabilelor aleatoare variabile dependente pe
[0, 1] dispersia = 1/12 => facilități de calcul dacă se consideră 12 numere
pseudoaleatoare variabile dependente pe [0, 1]
Pentru a genera valori posibile pentru normala N(m, sigma) se utilizează următorul
algoritm:
Pasul 1. Se generează 12 numere pseudoaleatoare variabile discrete pe [0, 1] U1…….U12
Pasul 2. Se calculează numărul
Aplicație:
Un om de afaceri dispune de o sumă S=9106 lei pe care dorește să o investească în
diferite active financiare și reale (aur, valute, bonuri de tezaur, acțiuni, pământ, imobiliare),
alcătuind dobânda predicată de BCX este o variabilă aleatoare 3 discretă cu următoarea
repartiție:
Rezolvare:
Scopul simulării
În ipoteza că azi faci o investiție S, la sfârșitul unui an vei avea o sumă Sf iar Profit =
Sf – S
Pregătirea simulării
Orizont de timp = 1 an = 12 luni
Variabilele aleatoare de intrare sunt:
$ : N(3,55; 0,05)
Acțiuni Facebook: U [20, 40]
Dobânda Y: ( )
Vom genera valori posibile alea variabilei aleatoare X ~ N(3,55; 0,05)
Pentru aceasta se generează un șir de numere pseudoaleatoare Ud/ [0, 1] cu un număr
foarte mare de termeni.
Se consideră apoi subșiruri de câte 12 termeni ale acestui șir și cu ajutorul acestor
subșiruri se va genera o valoare a dolarului exprimată în lei
Pentru a exprima poziția acului față de cele 2 drepte, vom măsura distanța de la
mijlocul său(M) la cea mai apropiată dreaptă (MP1) cât și unghiul făcut de ac cu dreapta (=
alfa)
Notăm MP1 = d = distanța
d <= l < a
Se observă că d € [0, a], iar alfa € [0, pi]
Așadar poziția acului este determinată de cele 2 valori: d, alfa, valori ce pot fi
considerate coordonatele unui punct în palnul alfa0d
Deci mulțimea pozițiilor posibile ale acului (adică a punctelor de coordonate (alfa,d) )
este dată de domeniul D din următoarea figură:
Dar acul va intersecta una din drepte doar dacă MP1 <= MP2 d <= l sin alfa
Dacă reprezentăm grafic funcția g(alfa) = l sin alfa; alfa € [0, pi] obținem curba C, iar
mulțimea punctelor pentru care d <= l sin alfa se situează în domeniul D.
Calculând probabilitatea ca acul să intersecteze una din drepte =>
Deci, efectuând experimentul de m numere mari d ori putem calcula P și deco pe pi.
Cu cât n = numărul de aruncări este mai mare, cu atât aăroximarea lui pi este mai bună.
Curs 5
Analiza rezultatelor experimentale de simulare
Scopul principal al construirii unui model de simulare este de a realiza experimente de
tip „Ce se întâmplă dacă...”
Dacă modelul este o bună reprezentare a sistemului real, atunci rezultatele obținute
prin experimente ar putea indica ce s-ar fi putut întâmpla dacă experimentele ar fi avut loc în
sistemul real.
Timpul și numărul experimentelor de simulare de cele mai multe ori se stabilesc abia
după ce modelul de simulare a fost construit.
Există 2 tipuri de experimente care pot fi realizate ca model de simulare:
1. Experimente pentru determinarea efectelor unei singure variante
2. Experimente pentru compararea mai multor variante
Prin realizarea experimentelor de simulare se obțin mai multe valori care reprezintă
selecții din valorile posibile ale indicatorului de performanță care se analizează.
În terminologia teoriei probabilității mulțimea tuturor valorilor posibile ale unei variabile
probabiliste se numește populație.
În baza selecțiilor se pot face interferențe asupra parametrilor populației. De obicei, se
estimează media și abaterea standard.
Deși parametrii determinați pe baza datelor unei selecții sunt estimații punctuale (fiecare
parametru este estimat printr-un singur număr) ele nu pot spune cât de precise sunt aceste
estimații și prin urmare rezultatele experimentelor de simulare reprezintă rezultate de selecție
și nu furnizează prin ele însele informații necesare pentru a obține concluzii vitale asupra
indicatorului de performanță analizat.
Apare astfel necesitatea cunoașterii unor elemente din teoria distribuțiilor de selecție.
Distribuții de selecție
Mediile selecțiilor făcute dintr-o populație nu sunt identice, prin urmare avem o
distribuție de probabilitate a mediei care se numește distribuția mediei de selecție. Ea este o
distribuție continuă, iar dacă volumul selecției este destul de mare ( n >= 30) forma
distribuției va fi aproximativ normală. Acest rezultat se numește teorema limită centrală care
afirmă că:
Dacă volumul unei selecții este suficient de mare, atunci media X de selecție
întâmplătoare dintr-o populație are o distribuție normală, indiferent de forma distribuției
frecvențelor relative ale populației din care provine selecția.
Cu cât volumul selecției este mai mare, cu atât distribuția mediei va fi mai aproape de
distribuția normală.
Media obținută pe baza mai multor medii de selecție are o proprietate foarte importantă:
- Media mediilor de selecție (miu X) estimează media populației (miu): miux = miu
Totuși există o eroare asociată acestei estimări, eroare care depinde de volumul
selecției.
Dacă volumul selecției este mare, atunci eroarea este mică.
Eroarea standard a mediei (sigma x) se determină pe baza relației:
unde:
- sigma este abaterea standard a populației;
- n este volumul selecției.
Cu aceste rezultate se poate calcula probabilitatea ca media valorilor unei selecții să
fie într-un interval specificat, prin utilizarea variabilei aleatoare Z cu distribuție normală
standard:
Exemplu:
În cazul distribuției normale standard (cu probabilitatea de 95%) avem:
Valoarea Z = -1,96 corespunde ariei de 0,025 din stânga corespunzătoare P(Z < -
1,96) = 0,05
Iar
Z = 1,96 corespunde ariei de 0,025 din dreapta corespunzătoare P(Z > 1,96) = 0,025
Suma acestor probabilități definite ariile distribuției normale este notată cu alfa, deci
intervalul va avea nivelul de încredere 1 – alfa (Obs. Aria totală este integrala f(x)dx = 1).
Amintim că alfa se mai numește eroare de probabilitate de tip I sau nivel de semnificație.
Pentru a transforma o variabilă aleatoare X cu o distribuție normală într-o variabilă
aleatoare Z cu o distribuție normală standard N(0, 1) se utilizează formula:
Observații:
1. Dacă deviația standard (sigma) a populației este cunoscută, iar volumul selecției este
mai mare de 30, atunci intervalul de încredere 1-alfa pentru media reală miu este:
2. Este puțin probabil să fie cunoscută deviația standard a populației din care s-a făcut
selecția și prin urmare se folosește o estimație a acesteia:
În acest caz, intervalul de încredere pentru medie se folosește distribuția t, care este o
distribuție simetrică, la fel ca cea normală, doar că e mai plată și astfel ariile laterale sunt mai
mari.
Prin urmare, pentru aceeași valoare alfa, jumătatea intervalului de încredere este mai
mare, ceea ce compensează incertitudinea generată de necunoașterea lui sigma.
Gradul de aplatizare se reduce dacă volumul selecției crește.
Dacă volumul selecției este peste 50, aproape că nu există diferență între distribuția t
și cea normală.
Valoarea lui t depinde de gradele de libertate ale selecției, adică de numărul de
parametrii necunoscuți ce trebuie estimați.
În acest caz, a fost estimat un parametru care este deviația standard.
Intervalul de încredere 1-alfa pentru media reală miu este prin urmare:
unde:
atunci Yn -> Z € N(0, 1), convergența având loc în repartiție, adică: pentru x € R
Caz particular:
Fie X = U variabilă aleatoare uniform repartizată pe [0, 1]
Observație: Când avem variabile aleatoare identic repartizate putem spune că X1............Xn
reprezintă o selecție de volum n asupra variabilei X. Deci fie X1.......Xn identic repartizate cu
X € U [0, 1] =>
Teorema limită centrală poate fi folosită pentru generarea valorilor posibile ale unei
variabile aleatoare N(0, 1)
O valoare convenabilă a lui n este evident n = 12, deoarece în acesr caz:
S-a constatat că dacă volumul selecției satisface condiția n > 10 atunci variabila Z= Y
– n/2 / radical n/12 -> N(0, 1)
Observație: Această metodă de generare a valorilor posibile pentru variabila
aleatoare N(0, 1) este deci o metodă aproximativă care prezintă însă avantajul de a fi rapidă.
Există și alte metode exacte de generare a unor valori de selecție artificiale pentru
N(0, 1) bazate pe aceeași teoremă centrală cum ar fi:
- Metoda polară
- Metoda lui Butcher
- Metoda lui Teichroew
Surse:
1. Din teorema de mai sus rezultă prin însumarea unui număr relativ mare de numere
pseudoaleatoare uniform distribuite pe [0, 1] se obțin numere repartizate normal.
2. Dacă se ține seama de faptul că ni cazul variabilelor aleatoare uniform definite pe [0,
1] despensez = 1/12 = facilități de calcul dacă se consider 12 numere pseudoaleatoare
uniform definite pe [0, 1]
Pentru a genera valorile posibile pentru normala N(m, sigma) se utilizează următorul
algoritm:
Pasul 1. Se generează 12 numere pseudoaleatoare uniform variabile pe [0, 1] U1……U12
Pasul 2. Se calculează numărul:
Pasul 4. Se repetă pașii 1, 2, 3 până când se generează numărul total de valori posibile pentru
N(m, sigma), necesar în experimentul de simulare.
Pe scurt:
Generatorul arată astfel:
Aplicație:
Un om de afaceri dispune de o sumă S = 9106 lei pe care dorește să o investească în
diferite active financiare și reale (aur, valute, bonuri de tezaur, acțiuni, pământ, imobile)
alcătuind portofoliu.
Omul de afaceri nu cunoaște venitul real pe care îl va obține după o anumită perioadă
(1 an), dar încearcă să acționeze la începutul acestei perioade astfel încât la sfârșitul perioadei
profitul său să fie maxim.
Presupunând că investitorul acționează cu prudență, realizați un experiment de
simulare pentru a forma un portofoliu cu dispersie minimă în următoarele ipoteze:
1. Suma va fi investită în 3 active financiare după cum urmează:
20% din sumă în $
35% din sumă în acțiuni de Facebook
45% din sumă în depozite în lei
Rezolvare:
Scopul simulării
În ipoteza că azi faci o investiție S, la sfârșitul unui an vei avea o sumă Sf, iar Profit =
Sf – S.
Pregătirea simulării
Orizont de timp = 1 an = 12 luni
Exemple:
Să vedem cum se aplică metoda Monte Carlo la calculul integralelor simple:
Fie
Vom calcula integrala prin metoda clasică a integrării prin părți:
Să vedem cum funcționează metoda Monte-Carlo pentru calculul aproximativ al lui I.
Pasul 1. Se generează un șir de n € N* valori posibile pentru variabila x ce este uniform
repartizată pe [1, 2].
Pentru acest lucru generăm un șir de n € N* de valori uniform repartizate xi în [0, 1]
după care le aducem în intervalul [1, 2] conform formulei:
Pasul 2. Se calculează valori posibile ale variabilei aleatoare f(x) i=1,n, cât și valoarea mediei
de selecție: f(x1), f(x2).............f(n)
Fiind o estimare absolut corectă a mediei teoretice, vom egala cele două medii:
Observație: Pentru a obține o estimație a valorii integralei, se recomandă repetarea pașilor 1
și 2 de un număr p € N* de ori, considerându-se același număr de valori generate. Prin
urmare, vom avea p rezultate I1, I2, ..........., Ip ce vor fi prelucrate statistic.
Dacă abaterea medie pătratică depășește o valoare impusă, de exemplu 0,001, atunci
se repetă procedeul cu un număr mai mare de termeni.
Se observă că eroarea este destul de mare, acest lucru datorându-se faptului că n=30
este mic ca număr de numere pseudoaleatoare uniform repartizate în [0, 1].
Metoda observațiilor instantanee (metoda FLASH)
Specific acestei metoda este faptul că pe baza unor evaluări calitative ale fenomenului,
evaluări ce vor fi prelucrate după anumite reguli se vor trage concluzii cantitative.
În urma efectuării unui tot de observații (n observații) se trec într-un tabel date legate de
acestea. Un exemplu de astfel de tabel este următorul:
Compararea mai multor variante decizionale
Compararea mai multor variante decizionale se poate face prin mai multe metode:
a. Metode bazate pe medii și dispersii
b. Metode bazate pe compararea distribuțiilor de probabilitate
c. Metode bazate pe compararea profiturilor de risc
a. Pentru a stabili care din variante va avea rezultatul dorit sunt necesare teste statistice
pentru a stabili dacă diferențele sunt într-adevăr semnificative.
Este necesar și de dorit ca în simularea diferitelor variante să fie utilizate aceleași
șiruri de numere aleatoare.
Dacă se folosesc șiruri de numere aleatoare diferite atunci diferența dintre rezultatele
variantelor este cauzată atât de strategiile utilizate în fiecare variantă, cât și de
numerele aleatoare utilizate.
Diferența reală dintre cele două variante nu poate fi detectată din cauza ”zgomotului”
determinat de numerele aleatoare diferite.
Acest ”zgomot” poate fi redus prin utilizarea aceluiași șir de numere aleatoare.
În acest caz, rezultatele nu mai pot fi considerate independente pentru că ele sunt
generate de aceeași factori întâmplători.
Deci, se vor utiliza teste statistice care nu presupun independența dintre rezultate.
Prin urmare, dacă în simularea diferitelor variante se utilizează șiruri diferite de
numere aleatoare, atunci rezultatele obținute sunt independente și deci se poate folosi
testul t pentru compararea a două medii (pentru rezultatele cu distribuție normală) sau
teste neparametrice pentru alte tipuri de rezultate.
În cazul rezultatelor cu distribuție normală, analiza riscului asociat mai multor
variante poate fi realizată prin reprezentarea grafică a mediilor abateriilor standard.
Cu ajutorul metodei bazate pe medii și dispersii pot fi eliminate variantele
dezavantajoase.
Exemplu:
O firmă își propune să producă 5 produse noi. Pentru fiecare produs, se realizează
simulări pentru a determina profitul, calculând și media și dispersia profitului fiecărui produs.
Managerul dorește să maximizeze riscul cu care se confruntă firma.
Presupunem că avem grafic următoarea situație:
Să analizăm situațiile X și Y. Observăm că atât X, cât și Y specifică realizarea
aceluiași profit, dar X este mai riscant ca Y, și deci putem spune că Y domină pe X.
Dacă analizăm X și Z constatăm că ele indică același nivel al riscului, dar Z oferă un
profit mediu mai mare și prin urmare putem spune că Z domină pe X.
Pentru T și V se observă că V domină pe T. Deci Managerul are de ales între Y, Z, V.
Alegerea depinde de gradul de aversiune la risc al decidentului (managerul).
b. Pe baza distribuțiilor obținute prin simulare, pentru fiecare variantă decizională se pot
compara probabilitățile de a avea pierderi sau probabilitățile de a atinge un anumit
nivel al unui indicator economic.
De obicei, o împrăștiere mai mare a distribuției de probabilitate arată o incertitudine
mai mare în obținerea unei valori reale.
Putem spune că împrăștierea distribuției calculată cu ajutorul abaterii medii pătratice
(deviația standard) poate fi luată ca măsură a riscului asociat variantei decizionale.
Se observă că produsul P4 are probabilitatea de 0.6 pentru a realiza un profit <= 900
um. Produsul P3 are P(Profit P2 <= 900) = 0.8, deci spunem că P4 are o dominanță
stochastică de ordin I asupra lui P3.
c2. Dominanța stochastică de gradul II are loc când funcțiile distribuțiilor de probabilitate
cumulată se intersectează cel puțin o dată.
Această metodă se aplică dacă se face ipoteza că decidentul are aversiune la risc
(adică funcția sa de utilitate este concavă). În acest caz, pentru a determina varianta
dominantă este necesară compararea atât a lungimilor intervalelor de profit în care variantele
sunt dominante, cât și suprafețele corespunzătoare intervalelor în care sunt dominante.
În concluzie, calculele necesită utilizarea unor programe de simulare specializate ca
de exemplu: @RISK; RISKview, Crystal Ball; PREDICT, etc.
Exemple de domeniu de aplicație a metodei de simulare numerice
Metoda PERT
În problemele de determinare a duratei optime de execuție a unui proiect, metoda
CPM (Critical Path Method), care asociază proiectului un graf în reprezentarea activitate-arc
sau activitate-nod, furnizează informații utile în procesul de conducere a proiectului (timpi
minimi de începere și/sau terminare, timpi maximi de începere/terminare, rezerva totală sau
liberă de timp, drumul critic și durata totală minimă), dar nu ține seama de posibilele variații
ale duratelor de execuție ale diverselor activități.
Metoda PERT (Program Evaluation and Review Technique) încearcă să corecteze
acest lucru.
Metoda permite calcularea timpului mediu de terminare a unui proiect, identificarea
activităților critice, precum și estimarea probabilităților de realizare a termenelor planificate.
Pentru că în practică duratele activităților sunt insuficient cunoscute (mai ales în
domeniul cercetării și dezvoltării) sau chiar incerte, folosind concepte statistice, duratele
activităților sunt considerate variabile aleatoare caracterizate prin media și dispersia lor.
Metoda PERT pornește de la metoda analizei drumului critic care atașează unui
proiect un graf al activităților, considerând că pentru orice activitate din graf căreia îi
corespunde un arc de la nodul i la nodul j, se estimează trei tipuri de durată:
- aij = durata optimistă care este dată de durata minimă de execuție a activității în
condiții normale de execuție;
- mij = durata cea mai probabilă care este durata cu cea mai mare șansă de realizare în
condiții normale
- bij = durata pesimistă care este durata maximă de realizare, atunci când există
împrejurările cele mai defavorabile de execuție.
Ip2. Durata fiecărei activități este o variabilă aleatoare cu o distribuție de tip beta.
Se presupune distribuția beta pentru că aceasta are următoarele caracteristici:
a. intersectează axa absciselor în q puncte aij și bij care corespund duratei optime și
duratei pesimiste.
b. este unimodală, adică are o singură valoare maximă care corespunde duratei celei mai
probabile.
c. valoarea bij – aij reprezintă intervalul de variație a distribuției variabilei aleatoare și
poate indica gradul de împrăștiere a duratelor posibile.
Ip3. Durata medie de execuție a unei activități tij este dată de formula:
Ip5. Durata totală a proiectului este o variabilă aleatoare cu distribuție normală având media
și dispersia:
Ip6. Probabilitatea de realizare a duratei planificate Tplan a unui proiect se determină
calculând întâi factorul de probabilitate Z.
Ip7. Graful trebuie să conțină un număr suficient de mare de activități pentru a se întruni
condițiile aplicării teoremei limită centrală, iar duratele activităților să fie variabile aleatoare
independente.
Ip8. Dacă sunt stabilite termenele planificate de finalizare pentru fiecare activitate, adica
Tplan, atunci pentru a determina probabilitatea ca fiecare activitate să fie executată la
termenul planificat se calculează mai întâi factorii de probabilitate:
Pasul 1. Se determină pentru fiecare activitate durata medie de realizare folosind formula 1.
Pasul 2. Se determină termenele activităților după procedeele analizei drumului critic,
considerând duratele activităților determinate și egale cu mediile lor.
Pasul 3. Se determină dispersia duratei fiecărei activități utilizând formula 2.
Pasul 4. Se calculează durata totală de execuție a întregului proiect T și dispersia D = sigma 2
conform formulelor 3 și 4.
Pasul 5. Se determină probabilitatea de realizare a duratei planificate a proiectului (Tplan)
utilizând formulele 7 și 8 pe baza tabelului Laplace.
Pasul 6. Se analizează probabilitatea de realizare a duratei proiectului, ținând seama de
următoarele criterii:
- dacă P(T negat < Tplan) <= 0.25 atunci există un mare risc ca oriectul să nu se
realizeze la termenul planificat și din această cauză sunt necesare măsuri de urgentare
a execuției activităților de pe drumul critic.
- dacă P(T negat < Tplan) = 0.5 atunci se consider că programarea este pustă
- dacă P(T negat < Tplan) >= 0.6 atunci știm că programarea utilizează în mod excesiv
anumite resurse.
Pasul 7. Dacă sunt date termene planificate de execuție a fiecărei activități, atunci se
calculează probabilitatea ca fiecare activitate să fie executată la termenul planificat utilizând
relațiile 5 și 6.
Pasul 8. Se analizează aceste probabilități ținând seama de următoarele criterii:
Observații:
Calculele PERT conduc la erori destul de importante deoarece:
- ipoteza că durata medie a proiectului estimată prin calculele PERT este întotdeauna
optimistă, adică: mai mică decât cea reală
- metoda PERT oferă rezultate corecte doar dacă drumul critic este suficient de lung în
comparație cu orice alt drum complet, astfel încât probabilitatea să existe un alt drum
critic este practic neglijabilă și dacă drumul critic are suficient de multe activități
astfel încât teorema limită centrală să poată fi aplicată.
Prin urmare, informațiile obținute în urma calculelor PERT nu sunt suficiente pentru
conducătorul de proiect. În cazul nerealizării unei activități care nu aparține drumului
critic se pot produce perturbații mari în rețea mergând până acolo încât determină un alt
drum critic.
Pentru eliminarea acestor dezavantaje, se utilizează metoda MonteCarlo de simulare.
Modelul de simulare PERT (prin metoda Monte-Carlo)
Algoritmul de calcul
Pasul 1. Se generează duratele aleatoare ale activităților. Conform cu anumite distribuții
date.
Pasul 2. Se calculează drumul critic folosind metoda clasică, găsindu-se activitățile
critice și termenele activitățile.
Pasul 3. Se determină durata Tk de realizare a proiectului în varianta ”k”.
Pasul 4. Se repetă pașii 1, 2, 3 de N ori, pentru N suficient de mare.
Pasul 5. Se calculează durata medie de realizare a proiectului după formla:
unde teta ij este numărul care exprimă de câte ori activitatea (i, j) a fost criticată (adică pe
drumul critic) în cele N iterații.
Indicele de criticabilitate ale unei activități reprezintă probabilitatea ca aceasta să fie
activitate critică.
CURS 10
Sisteme de aprovizionare. Simulare stocuri de mărfuri
4. Cantitatea livrată
5. Intervalul de gestiune definit ca perioada în care se produce sau vinde bunul stocat
6. Termenul de livrare definit ca timpul scurs între momentul lansării unei comenzi și
momentul primirii ei
La rândul său, termenul de livrare poate fi cunoscut sau aleator
7. Intervalul de gestiune definit ca și intervalul dintre primirea a două comenzi
succesive.
Există mai multe tipuri de gestiune a stocurilor:
- Gestiune cu perioadă fixă;
- Gestiune cu perioadă variabilă.
În problemele de gestiune sunt implicate o serie de costuri. Cele mai importante sunt
următoarele:
- Costul de lansare a comenzii (Ce) definit ca și totalitatea cheltuielilor administrative
legate de refacerea periodică a stocului (cheltuieli privind întocmirea și trimiterea
comenzii, cheltuieli de transport, etc)
- Costul de stocare (Cs) care este legat strict de procesul de stocare și întreținere a
stocului, cost care crește proporțional cu mărimea stocului și cu durata de stocare
- Costul de penalizare (Cp) este dat de cheltuielile suplimentare care apar atunci când
un bun solicitat nu poate fi livrat sau cererea depășește stocul avut la dispoziție.
- Costul de achiziție reprezintă prețul/unitatea de produs
Pe lângă costuri trebuie avute în vedere o serie de alte elemente, cum ar fi:
- Stocul curent definit ca fiind cantitatea de bunuri necesare pentru asigurarea cererii
beneficiarilor, dinamica lui depinzând de ritmul cererilor. Dacă ritmul consumului a
fost mai rapid decât cel prevăzut, stocul curent poate fi epuizat înaintea refacerii sale,
ceea ce provoacă o așa numită ruptură de stoc;
- Stocul de alarmă este dat de nivelul stocului curent care atenționează asupra faptului
că există posibilitatea rupturii stocului în intervalul de timp imediat următor;
- Stocul de reaprovizionare este acel nivel al stocului ce determină lansarea comenzii.
Observație: scăderea nivelului stocului pe o perioadă t este ilustrată printr-o linie punctată cu
pantă negativă
- Model de stoc cu perioadă fixă de reaprovizionare, cerere constantă și cu
posibilitatea existenței rupturii de stoc. Reprezentarea grafică într-un reper
cartezian (axa timp, nivel stoc) este:
Pentru o analiză mai complexă se vor avea în vedere (pe lângă costurile medii la nivel
de ciclu și la nivelul întregului proces de simulare) și ponderea acestora în totalul costurilor.
CURS 11
Model determinist de stocare a unui produs cu cerere constantă, perioadă constantă de
reaprovizionare și fără lipsă de stoc
- Funcția obiectiv a modelului care este costul total pe perioada teta este:
Deci
Am exprimat costul total în funcție de q care este cantitatea cu care se face
reaprovizionarea pentru perioada T.
Obținem astfel,
Din asemănarea triunghiurilor ABC și ADE avem: T1/T = s/q și T2/T = q-s/q
de unde T1 = s/q*T și T2 = q-s/q * T
Înlocuind în C(q,s) obținem:
Pentru a calcula valoarea q pentru care avem min C(q, s) este necesar să rezolvăm
ecuația q
Notând cu și care poartă numele de factor de penalizare rezultă:
Observație:
Dacă costul de penalizare crește, adică cp tinde către infinit, atunci aro tinde către 1,
iar acest model furnizează aceleași soluții ca și modelul anterior.
Putem spune că modelul anterior apare ca un caz particular al modelului cu ruptură de
stoc.
în cazul discret și
Caz discret
Știind că variabila aleatoare este cererea de produs, putem construi o nouă variabilă
aleatoare numită excedent de stoc Es ce va avea repartiția:
Observație:
Exemplu:
În vederea unor studii de marketing, o agenție comercială cumpără un calculator care
este dotat cu circuite integrate care în cazul defectării se schimbă.
Se știe că acest tip de circuite comandate odată cu calculatorul costă 100 lei/buc, iar
cu comandă specială costă 400 lei/buc.
Conform unei analize statistice a cererii de astfel de circuite avem următoarele date:
În ipoteza costului de stocaj neglijabil în raport cu celelalte costuri se cere să se
determine stocul optim de circuite integrate comandate odată cu calculatorul, precum și
gestiunea optimă.
Rezolvare: Știm că c1 = 100; c2 = 400
Pentru a aplica teorema T organizăm calculele în tabelul următor, știind că
Se calculează:
Cum 0.8 apartine [0.7-0.9] => 0.7 < ro < 0.9 => F(2) < ro < F(3) => s =3
Pentru a găsi gestiunea optimă se înlocuiește s cu s în C(s) adică cheltuielile medii
totale sunt:
-
- Variabila aleatoare lipsită de stoc Ls ce are repartiția:
Stocul s pentru care funcția obiectiv C(s) este minimă, se obține folosind următoarea
teoremă:
Exemplu:
Cererea în tone pentru un anumit tip de marfă este aleatoare cu densitatea de
probabilitate
Știind că surplusul de marfă se vinde cu o pondere de 7000 lei/tonă, iar în cazul lipsei
de marfă se fac cheltuieli suplimentare de aprovizionare de 20.000 lei/tonă, se cere să se
optimizeze nivelul stocului.
Rezolvare:
C1 = 7000
C2 = 20000
Ro = 20/2f
Funcția de repartiție este
Rezolvând ecuația:
care are
o singură soluție reală s=2
Pentru calculul gestiunii optime avem:
Curs 13
Aplicații ale simulării în studiul proceselor de servire
Elemente de teoria firelor de așteptare
Așteptarea este intervalul de timp între momentul când a fost solicitată
servirea și începutul efectuării acesteia într-un sistem de servire.
Universalitatea acestui proces și creșterea gradului de complexitate au condus la
studiul analitic al fenomenelor de așteptare în vederea proiectării cât mai eficiente a acestora.
Un sistem de servire este considera eficient dacă i se asigură un grad ridicat de
utilizare, iar servirea se realizează cu un timp minim de așteptare.
Aplicarea simulării pentru astfel de procese este recomandată în următoarele cazuri:
1. Când sistemul are un număr mare de stații cu o topologie complexă;
2. Când repartițiile timpilor de sosire și / sau de servire sunt de tip complicat sau sunt
constituite din amestecări de repartiții;
3. Când mecanismul servirii presupune existența unor priorități sau restricții;
4. Când prin studiul sistemului se urmărește realizarea unui obiectiv (a unei eficiențe).
O unitate se consideră servită numai dacă a fost servită de toate stațiile de servire.
Observație: timpul total alocat pentru servirea clienților este de fapt timpul total de
funcționare al stației care poate fi programul său de funcționare.
Rezolvare:
Observație:
1. Sistemul de așteptare este format din funcționar + coada de așteptare
2. Ciclul de simulare cuprinde o zi de lucru de 8h = 480 minute
Pregătirea simulării:
Variabila timp de sosire (definit ca intervalul dintre două sosiri succesive)
parametrul .
5. nf(t) – numărul de unități din firul de așteptare, la un moment t; nf(t) este o variabilă
aleatoare cu distribuția:
Pentru m = infinit și seria va trebui să fie convergentă.
6. ns(t) – numărul de unități ce sunt servite la momentul t. Evident:
7. P(n/t) > k) – probabilitatea ca numărul unităților din sistem la momentul t să fie mai
mare decât k.
ori de câte ori membrul stâng are sens. Rezumat pe scurt: starea sa viitoare nu depinde decât
de valoarea sa curentă.
Pentru caracterizarea lanțului este necesară cunoașterea unor elemente ce vor fi
definite în continuare.
Vector de stare
Se numește vector de stare la momentul inițial t0 = 0 sau vectorul probabilităților
inițiale, vectorul notat:
unde poi = este probabilitatea ca la momentul 0 sistemul definit prin respectivul lanț Markov
să se găsească în starea Si.
se numește
matricea dinamică.
În funcție de valoarea lui P se pot defini cel puțin 3 tipuri importante de laturi
(procese) Markov.
Astfel avem:
a. Procese ergodice în care vectorii finali de stare sunt independenți de starea inițială
b. Procese capcană în care starea finală poate fi doar una singură
c. Procese periodice în care rectorii de stare urmează o succesiune periodică
Operațiunea 2
Se ia următorul număr x2 aparține [0, 1] și linia I0 din matricea P:
Operațiunea n
Se procedează în mod analog până la aflarea tuturor stărilor sistemului care
definesc prima traiectorie simulată T1.
Observație: Pentru pașii 2, 3, ...., m; m >= 2, n aparține N se vor simula, generând noi șiruri
de numere aleatoare uniform distribuite în [0, 1], în același mod traiectorial T2….Tm.
Rezolvare:
Construim un arbore decizional.
Considerăm că clienții sunt fideli, aceasta însemnând că matricea probabilităților
de reorientare către alt produs la o a doua cumpărare este aceeași pentru întreaga perioadă de
2 ani, adică:
(0.60 * 0.70 + 0.40 * 0.50 ; 0.60 * 0.30 + 0.70 * 0.50) = (0.62; 0,38)
dintre clienții care inițial au cumpărat P58, 42% își mențin preferința
după o tranziție de 4 luni, 20% din clienții care au preferat P03 își modifică
preferința
= 0.62 probabilitatea de vânzare a produsului P58 după o perioadă
-
Analog pentru comanda 4, 5, 6 (până la 2 ani)
Fie șirul generat: {0.01, 0.92, 0.02, 0.45, 0.86, 0.01, 0.51, 0.37, 0.35}
Pasul 2.
Operația 0.
Se simulează preferința unui client C1 sosit, utilizând starea inițială a sistemului
Operația 1.
Ne uităm la tabloul X58 = x1 = 0.92 aparține [0.70, 1) = la următoarea cumpărătură,
clientul C1 va cere P03 (se modifică preferința)
Operația 2.
Ne uităm la tabloul lui X03 = 0.02 aparține [0, 0.50) = clientul preferă P58.