08_modelarea si simularea sistemelor de productie
DESCRIPTION
08_Modelarea Si Simularea Sistemelor de ProductieTRANSCRIPT
Autori:
Prof. dr. ing. VLADIMIR MĂRĂSCU KLEIN
Şef lucr. Ing. GEORGIANA LIMBĂŞAN
MODELAREA ŞI SIMULAREA SISTEMELOR DE
PRODUCŢIE
Braşov, 2013
1
Introducere
Datorită complexităţii situaţiilor existente în cadrul întreprinderilor, cerinţelor de
adaptare rapidă şi cu efort minim la variaţiile factorilor externi ei, elaborarea deciziilor care
trebuie luate într-un timp scurt, au crescut importanţa modelării deciziilor manageriale. În
acest context general se înscrie şi cursul intitulat Modelarea şi Simularea Sistemelor de
Producţie, care face o incursiune în tehnicile de modelare şi simulare folosite în procesul
optimizării deciziilor manageriale.
Cursul intitulat Modelarea şi Simularea Sistemelor de Producţie, prin tematica
abordată, pune la dispoziţia specialiştilor şi studenţilor secţiilor de specialitate o serie de
modele şi tehnici de simulare cu largă aplicabilitate în cadrul sistemelor de producţie (modele
pentru simularea sistemelor de aşteptare, a proceselor de stocare, modele dinamice, modele şi
tehnici de prognoză, modele pentru simularea sistemelor flexibile de producţie etc.), fără a
epuiza domeniul care este foarte vast.
Obiectivele cursului
Cursul intitulat Modelarea şi Simularea Sistemelor de Producţie are ca obiectiv
principal îmbogăţirea cunoştinţelor din sfera disciplinelor cu caracter aplicativ
economic, managerial ale studenţilor Programului de studii Inginerie Economică
Industrială, forma de învăţământ ID. În acest sens, la sfârşitul acestui curs,
studenţii vor fi capabili să:
opereze cu noţiuni precum: modelare, simulare, modele, tehnici de modelare şi
simulare, variabile, parametri, procese;
identifice variabilele şi parametrii pentru diferite tipuri de procese din sistemele
de producţie;
să scrie relaţiile matematice necesare realizării unui model matematic;
să opereze cu interfaţa pachetului software WinQSB pentru rezolvarea
modelelor matematice şi interpretarea rezultatelor simulării proceselor studiate.
Cerinţe preliminare
Cursul Modelarea şi Simularea Sistemelor de Producţie necesită cunoaşterea în
prealabil de către studenţi a noţiunilor specifice teoriei sistemelor, statisticii
matematice şi cercetării operaţionale.
Resurse
Parcurgerea primelor patru unităţi de învăţare nu necesită existenţa unor mijloace
sau instrumente de lucru. Următoarele unităţi de învăţare având ca subiecte
modelarea şi simularea diferitelor tipuri de procese existente în cadrul sistemelor
2
de producţie clasice sau flexibile, necesită utilizarea calculatorului având instalat
pachetul software WinQSB for Windows.
Structura cursului
Cursul Modelarea şi Simularea Sistemelor de Producţie este structurat în 10
unităţi de învăţare, fiecare unitate de învăţare cuprinzând: obiective, aspecte
teoretice privind tematica unităţii de învăţare respective, exemple, teste de
autoevaluare precum şi probleme propuse spre discuţie şi rezolvare în cadrul
activităţilor asistate stabilite. La sfârşitul fiecărei unităţi de învăţare sunt prevăzute
teste de evaluare / autoevaluare, urmate de răspunsurile corecte (doar pentru testele
de autoevaluare).
Durata medie de studiu individual
Parcurgerea de către studenţi a unităţilor de învăţare ale cursului de Modelarea şi
Simularea Sistemelor de Producţie (atât aspectele teoretice cât şi rezolvarea
testelor de autoevaluare şi rezolvarea problemelor propuse) se poate face în 2 -3 ore
pentru fiecare unitate.
Evaluarea
La sfârşitul semestrului, fiecare student va primi o notă, care va cuprinde: un test
grilă, ce va conţine întrebări teoretice din materia prezentată în cadrul acestui
material, test ce va deţine o pondere de 50% în nota finală şi notele aferente
susţinerii a două verificări (sub forma unor teste de laborator) pe parcursul
semestrului, note care vor reprezenta 50 % în nota finală.
Spor la treaba !
3
Cuprins
Introducere ................................ ................................ ................................ ................................ . 1
Chestionar evaluare prerechizite ................................ ................................ ............................... 6
Unitatea de învăţare 1 Aspecte generale privind modelarea şi simularea ................................ 7
1.1. Introducere................................ ................................ ................................ ........... 7
1.2. Competenţe ................................ ................................ ................................ .......... 7
1.3.Noţiuni şi definiţii privind modelarea şi simularea ................................ .............. 7
1.4. Obiectivele simulării ................................ ................................ .......................... 12
1.5. Marcarea timpului în simulare ................................ ................................ .......... 13
1.5.1 Simularea cu ceas constant................................ ................................ .............. 13
1.5.2 Simularea cu ceas variabil................................ ................................ ............... 14
1.6. Clasificarea modelelor................................ ................................ ....................... 15
1.7. Clasificarea tehnicilor de simulare ................................ ................................ ... 17
1.8. Rezumat ................................ ................................ ................................ .............. 20
1.9. Test de autoevaluare/răspunsuri................................ ................................ ........ 21
Unitatea de învăţare 2 Etapele simulării sistemelor de producţie. ................................ .......... 22
2.1. Introducere................................ ................................ ................................ ......... 22
2.2. Competenţe ................................ ................................ ................................ ........ 22
2.3. Analiza şi sinteza sistemului ................................ ................................ .............. 22
2.4. Conceperea şi proiectarea modelului ................................ ................................ 24
2.5. Estimarea variabilelor şi parametrilor................................ .............................. 26
2.5.1 Culegerea datelor pentru simulare ................................ ................................ .. 26
2.6. Stabilirea variabilelor şi parametrilor ................................ .............................. 34
2.6.1 Stabilirea unor corelaţii între variabilele sistemului................................ ....... 36
2.6.2 Stabilirea limitelor admisibile ale variabilelor şi parametrilor ...................... 37
2.7. Rezumat ................................ ................................ ................................ .............. 40
2.8. Test de evaluare ................................ ................................ ................................ . 40
Unitatea de învăţare 3 Evenimente, strategii, funcţii obiectiv. ................................ ................ 41
3.1. Introducere................................ ................................ ................................ ......... 41
3.2. Competenţe ................................ ................................ ................................ ........ 41
3.3. Stabilirea evenimentelor care apar în sistem şi a relaţiilor dintre acestea ....... 41
3.4. Stabilirea unor strategii privind evoluţia evenimentelor sistemului.................. 44
3.4.1 Strategii de prevenire................................ ................................ ....................... 44
3.4.2Strategii de aşteptare ................................ ................................ ........................ 47
3.4 Stabilirea funcţiilor obiectiv ale sistemului ................................ ........................ 49
3.5 Rezumat................................ ................................ ................................ ............... 52
3.6. Test de autoevaluare/răspunsuri................................ ................................ ........ 52
Unitatea de învăţare 4 Elaborarea algoritmului, validarea modelului şi a programului. ...... 53
4
4.1. Introducere................................ ................................ ................................ ......... 53
4.2. Competenţe ................................ ................................ ................................ ........ 53
4.3. Elaborarea algoritmului şi scrierea programului de simulare ......................... 53
4.4. Validarea modelului şi a programului de calcul ................................ ............... 62
4.5. Rezumat................................ ................................ ................................ .............. 63
4.6. Test de evaluare ................................ ................................ ................................ . 63
Unitatea de învăţare 5 Modelarea şi simularea proceselor de aşteptare. ............................... 64
5.1. Introducere................................ ................................ ................................ ......... 64
5.2. Competenţe ................................ ................................ ................................ ........ 64
5.3. Modele matematice ale proceselor de aşteptare ................................ ............... 65
5.3.1 Proces de aşteptare cu o staţie, sosiri Poisson, servire exp onenţială ............. 66
5.3.2 Proces de aşteptare cu S staţii, sosiri Poisson, serviri exponenţiale............... 68
5.3.3 Proces de aşteptare cu o staţie, sosiri Poisson, servire exponenţială şi
lungime permisă limitată a şirului ................................ ................................ ........... 69
5.3.4 Proces de aşteptare cu o staţie, sosiri Poisson, servire după o distribuţie
normală s2 cunoscută ................................ ................................ .............................. 70
5.4. Simularea proceselor de aşteptare ................................ ................................ .... 71
5.4.1 Simularea cu ceas variabil................................ ................................ ............... 72
5.4.2 Simularea cu ceas constant................................ ................................ .............. 75
5.4.3 Simularea unui sistem de aşteptare cu interferenţa maşinilor ........................ 77
5.4.4 Simularea unui proces cu n staţii paralele ................................ ...................... 82
5.5. Rezumat ................................ ................................ ................................ .............. 85
5.6. Test de evaluare ................................ ................................ ................................ . 85
Unitatea de învăţare 6 Modelarea şi simularea proceselor de stocare ................................ ... 86
6.1. Introducere................................ ................................ ................................ ......... 86
6.2. Competenţe ................................ ................................ ................................ ........ 86
6.3. Elemente definitorii din teoria stocurilor ................................ .......................... 86
6.4. Modele de gestiune a stocurilor................................ ................................ ......... 89
6.4.1 Procese de stocare cu perioade egale şi cerere constantă ............................. 89
6.4.2 Proces de stocare cu perioade egale, cerere constantă şi posibilitatea
ruperii stocului................................ ................................ ................................ .......... 92
6.4.3 Procese de stocare cu cerere discretă ................................ ............................. 94
6.4.4 Procese de stocare a mai multor produse diferite ................................ ........... 94
6.5. Simularea unui proces de stocare ................................ ................................ ...... 95
6.6. Rezumat ................................ ................................ ................................ .............. 98
6.7. Test de autoevaluare / răspunsuri................................ ................................ ...... 99
Unitatea de învăţare 7 Modelarea dinamică................................ ................................ .......... 100
7.1. Introducere................................ ................................ ................................ ....... 100
7.2. Competenţe ................................ ................................ ................................ ...... 100
7.3. Aspecte generale ................................ ................................ .............................. 100
7.4. Modelarea dinamică ................................ ................................ ........................ 103
5
7.4.1 Definirea variabilelor modelului dinamic ................................ .................... 105
7.4.2 Întocmirea schemei grafice................................ ................................ ............ 106
7.4.3 Scrierea ecuaţiilor ................................ ................................ ......................... 108
7.5. Rezumat ................................ ................................ ................................ ............ 113
7.6. Test de evaluare ................................ ................................ ............................... 113
Unitatea de învăţare 8 Simularea dinamică ................................ ................................ ........... 114
8.1. Introducere................................ ................................ ................................ ....... 114
8.2. Competenţe ................................ ................................ ................................ ...... 114
8.3. Rezolvarea ecuaţiilor ................................ ................................ ....................... 114
8.4. Simularea dinamică ................................ ................................ ......................... 117
8.5. Rezumat................................ ................................ ................................ ............ 121
8.6. Test de evaluare ................................ ................................ ............................... 121
Unitatea de învăţare 9 Modele şi tehnici de prognoză................................ ........................... 122
9.1. Introducere................................ ................................ ................................ ....... 122
9.2. Competenţe ................................ ................................ ................................ ...... 122
9.3. Aspecte generale ................................ ................................ .............................. 122
9.4. Extrapolarea analitică ................................ ................................ ..................... 129
9.5. Extrapolarea fenomenologică................................ ................................ .......... 132
9.5.1 Modele de tip liniar................................ ................................ ........................ 132
9.5.2 Modele de tip exponenţial ................................ ................................ .............. 133
9.5.3 Modele de tip logaritmic ................................ ................................ ................ 135
9.5.4 Modele de tip hiperbolic ................................ ................................ ................ 135
9.6. Rezumat ................................ ................................ ................................ ............ 136
9.7. Test de autoevaluare/ răspunsuri................................ ................................ ..... 137
Unitatea de învăţare 10 Modelarea şi simularea sistemelor flexibile de producţie .............. 138
10.1. Introducere................................ ................................ ................................ ..... 138
10.2. Competenţe ................................ ................................ ................................ .... 138
10.3. Modelarea cu reţele PETRI a sistemelor flexibile de producţie .................... 138
10.3.1 Modele cu reţele PETRI de tip CE................................ ............................... 145
10.3.2 Modele cu reţele PETRI de tip PT ................................ ............................... 146
10.4. Simularea cu reţele PETRI a sistemelor flexibile de producţie ..................... 147
10.4.1 Simularea cu reţele PETRI de tip PT fără arce multiple ............................. 148
10.4.2 Simularea cu reţele PETRI de tip PT cu arce multiple................................ 149
10.6. Rezumat ................................ ................................ ................................ .......... 151
10.7. Test de autoevaluare/ răspunsuri................................ ................................ ... 152
Bibliografie................................ ................................ ................................ ............................. 153
6
Chestionar evaluare prerechizite
Prezentul chestionar este destinat testării cunoştinţelor apriori ale studenţilor în
domeniul disciplinei curente.
1. Definiţi noţiunea de “sistem”.
2. Ce înţelegeţi prin “mărime de feed-back”?
3. Ce înţelegeţi prin mărime de intrare / ieşire?
4. Ce semnificaţie daţi sintagmei “obiectivul sistemului”?
5. Ce este variabila (caracteristica) statistică?
6. Ce este seria statistică?
7. Daţi un exemplu de relaţie matematică care să descrie o funcţie liniară.
8. Scrieţi relaţia matematică a mediei aritmetice / medianei.
9. Ce semnificaţie are conceptul “trend”?
10. Care sunt elementele componente ale unei serii cronologice?
7
Unitatea de învăţare U1. Aspecte generale privind modelarea şi
simularea
Cuprins
1.1 Introducere ................................ ................................ ................................ ................ 5
1.2 Competenţe. ................................ ................................ ................................ .............. 5
1.1. Introducere
Unitatea de învăţare 1 prezintă principalele noţiuni şi definiţii privind modelarea şi
simularea, obiectivele simulării, modul cum se marchează timpul în modelele de
simulare, precum şi o clasificare a modelelor şi tehnicilor de simulare.
1.2. Competenţele unităţii de învăţare
Obiectivul principal al acestei unităţi de învăţare este acela de a familiariza
studenţii cu noţiunile specifice modelării şi simulării. La sfârşitul acestei unităţi de
învăţare studenţii vor fi capabili să:
înţeleagă noţiunile cu care se operează în modelarea şi simularea diferitelor
procese;
identifice tipul ceasului utilizat în simulare;
deosebească categoriile de modele, după diverse criterii;
identifice tipurile de simulări utilizate în diverse situaţii.
Durata medie de parcurgere a primei unităţi de învăţare este de 3 ore.
1.3. Noţiuni şi definiţii privind modelarea şi simularea
Simularea este o tehnică de realizare a experienţelor cu ajutorul calculatorului
electronic, implicând utilizarea unor modele matematice sau logice ce descriu comportarea
sistemului real pe durata unui interval de timp, mic sau mare.
Tehnicile de simulare se utilizează, de regulă, în acele cazuri în care găsirea unei soluţii
analitice este imposibilă, iar experimentarea nemijlocită pe sistemul real este, dintr-un motiv
sau altul, neoperaţională.
La baza procesului de simulare stau metodele de descriere, modelare şi analiză a unor
sisteme reale (existente) ori în curs de realizare (proiectare).
8
Realitatea este reprezentată prin modele, iar simularea le foloseşte pentru studiul
realităţii.
Simularea presupune întotdeauna utilizarea modelului, ea reprezentând - în esenţă - o
manipulare a modelului.
În activitatea de simulare sunt implicate trei elemente importante şi anume: sistemul
real, modelul, calculatorul şi două relaţii: relaţia de modelare şi relaţia de simulare.
În figura 1.1 se prezintă sintetic procesul de trecere de la “sistemul real” la modelul de
simulare “modelul real”.
Figura 1.1
Modelul este un sistem material sau abstract, care, fiind pus în corespondenţă cu un alt
sistem dat anterior, va putea servi indirect studiului proprietăţilor acestui sistem mai complex
(original) şi cu care modelul prezintă o anumită analogie.
În general, modelul M al sistemului S este un alt sistem S’, din anumite puncte de
vedere echivalent cu S (S’ S) şi care poate fi studiat mai uşor decât S. Din determinarea pe
S’ a unor relaţii se deduc relaţii corespunzătoare pentru S. De obicei, echivalenţa lui S’ cu S
este mai mult aproximativă decât exactă!
Prin model se înţelege deci o imagine condensată a unui fenomen, o machetă a unei
realităţi complexe care există sau care urmează să fie construită.
Prin model de sistem se înţelege o reprezentare condensată şi simplificată a unui sistem
real sau imaginar în scopul de a prezice unele comportări din funcţionarea sa.
Modelul este o imagine mai mult sau mai puţin fidelă a sistemului real; el nu epuizează
sistemul real deoarece atunci s-ar putea substitui acestuia. Dar însăşi raţiunea modelării este
impusă de imposibilitatea reproducerii, în toată complexitatea sa, a sistemului. Este necesar
însă ca în cadrul modelului să fie reproduse aspectele, legile, relaţiile etc. esenţiale ale
sistemului, deoarece de modul cum acestea sunt cuprinse în model depinde utilitatea sa. Unui
sistem i se pot asocia diferite modele; de aceea un model nu poate fi adevărat sau fals; el
reprezintă mai bine sau mai puţin bine un sistem. Din această cauză criteriul practicii,
MODELUL
ABSTRACT
MODELUL
REAL SISTEMUL
REAL
DATE DIN
SISTEM
DATE ANALITICE
DATE SIMULATE
9
verificarea sau validarea modelului constituie o latură caracteristică definitorie a oricărui
model.
Modelarea înseamnă trecerea de la fenomenul real la modelul matematic, prin luarea
în considerare a aspectelor esenţiale şi prin neglijarea unor aspecte şi elemente, uneori destul
de importante, în scopul realizării unui studiu pe un model matematic mai simplu.
Trecerea de la un sistem real la modelul matematic corespunzător, iar de aici - eventual
- la un model fizic, este posibilă şi ca urmare a faptului că există diferite fenomene care sunt
descrise de aceleaşi tipuri de relaţii matematice, doar variabilele şi funcţiile având semnificaţii
diferite.
Acest aspect poate fi reprezentat prin schema din figura 1.2:
Figura 1.2.
Se pleacă de la anumit obiect notat cu O1. De la el se trece la un model matematic M1,
descris prin ecuaţiile E1. Uneori se aproximează E1 prin ecuaţiile liniare EL1. Există apoi un
alt obiect O2, pentru care se imaginează modelul M2, care conduce la ecuaţia E2, respectiv
EL2. Există posibilitatea ca ecuaţiile (EL sau E), corespunzând la două modele diferite, să
coincidă. În acest caz O2 modelează pe O1 şi invers.
Exemplu
De exemplu, micile oscilaţii ale unei mase suspendate de un resort elastic,
mişcarea pendulului şi oscilaţiile electrice dintr-un circuit acordat, reprezintă trei
fenomene total diferite între ele, care pot fi descrise prin relaţiile matematice
O3
M1
O2
O1
M2
M3
E1
E2
E3
EL1
EL2
EL3
10
(1.1), (1.2) şi (1.3), prezentate în continuare:
m kzd zdt
22 0 (1.1)
l gddt
22 0
(1.2)
L qd qdt C
2
21 0 (1.3)
Se poate observa cu uşurinţă că ecuaţiile de mai sus pot fi scrise sub
forma generală:
ax” + bx = 0 (1.4)
Tabelul 1.1
Termenii ecuaţiei Resort Pendul Circuit electric
a m l L
b k g 1/C
x z q
Termenii prezentaţi în tabelul 1.3.1 au următoarele semnificaţii:
pentru resort:
m - masa; k - constanta elastică; z - coordonata, în sensul mişcării
pentru pendul:
l - lungimea; g - acceleraţia gravitaţională; - unghiul de deviaţie;
pentru oscilaţii electrice: L - inductanţa; C – capacitatea; q - sarcina
electrică.
În concluzie, pentru exemplul de mai sus, având în vedere faptul că cele trei fenomene
pot fi descrise de aceeaşi relaţie matematică, rezultă că unele pot fi studiate cu ajutorul
celorlalte.
Daţi şi alte exemple de modele (exprimate prin relaţii matematice sau în alt
mod!) întâlnite în practica sistemelor de producţie.
Modelarea matematică presupune observarea fenomenelor (obţinerea datelor
necesare), elaborarea modelului în conformitate cu cea mai riguroasă teorie cunoscută,
elaborarea unui algoritm de rezolvare a modelului şi, în final, folosirea unui echipament de
calcul pentru a aplica algoritmul elaborat în vederea obţinerii soluţiei optime. Acest tip de
modelare este foarte dificil de implementat în practica studierii sistemelor de producţie,
datorită complexităţii acestora. De multe ori, se evită elaborarea modelului. În acest caz, se
procedează astfel:
11
în funcţie de informaţiile disponibile se elaborează algoritmul de calcul şi se
analizează soluţia obţinută;
dacă soluţia obţinută satisface criteriile considerate în analiză se trece la aplicare.
Dacă nu, se reiau observaţiile sau se re-elaborează algoritmul sau se încearcă elaborarea unui
model, corectându-se algoritmul de calcul în mod corespunzător.
Deci, pot exista cazuri în care modelul nici nu se mai elaborează. Numai dacă
elaborarea algoritmului nu a fost satisfăcătoare, se trece la elaborarea modelului. Este posibil
ca acest model să nu fie complet. După aplicarea algoritmului şi analiza unor rezultate,
modelul se completează, se aplică din nou algoritmul, se reanalizează rezultatele etc. În acest
caz avem de a face cu o modelare procedurală.
Modelarea procedurală este caracterizată prin acordarea unui prim rol, algoritmului
şi unuia secundar, modelului. Ea poate fi realizată în două stra tegii, şi anume:
modelarea generală, când se urmăreşte surprinderea tuturor cazurilor posibile;
modelarea pe tipuri de probleme (clase), când se aleg probleme frecvente din pra ctică
pentru care se elaborează un algoritm specific de rezolvare.
Avându-se în vedere că în modelarea procedurală nu se mai poate face o distincţie prea
clară între model şi algoritm, este necesar ca şi din punct de vedere teoretic să se acorde o
atenţie deosebită algoritmilor.
Algoritmul, în general, trebuie să îndeplinească trei condiţii:
universalitate (se referă la posibilitatea ca algoritmul să asigure prelucrarea unui
număr extrem de mare de date de intrare);
finitudine (se referă la timpul în care se furnizează rezultatele, care trebuie să fie
finit, iar din punct de vedere practic trebuie să fie cel mult de ordinul orelor);
determinism (cu excepţia algoritmilor vagi).
O clasificare a algoritmilor poate fi făcută astfel:
algoritmi exacţi, care au proprietatea:
X X 0 (1.5)
algoritmi aproximativi, care au proprietatea:
X X (1.6)
algoritmi euristici, reprezentând o căutare prin încercări bazate pe intuiţie şi experiment
care se îmbunătăţesc în general succesiv, cu proprietatea că, pentru un dat, nu există
siguranţa că se găseşte o soluţie X, astfel încât să se respecte proprietatea din relaţia 1.6.
În relaţiile de mai sus s-au utilizat următoarele notaţii:
X - vectorul - soluţie furnizat de algoritm;
X - vectorul adevăratei soluţii;
- vector al unor abateri admisibile, dinainte stabilite.
12
1.4. Obiectivele simulării
Obiectivul simulării unui sistem este de a putea emite o serie de predicţii asupra
comportării şi performanţelor sistemului respectiv, având la îndemână doar modelul de o
anumită natură a sistemului şi un set de informaţii cu privire la parametrii sau variabilele
dominante ce determină evoluţia sistemului.
Simularea trebuie să furnizeze informaţii asupra performanţelor sistemului studiat. După
ce a fost construit modelul sistemului şi a fost stabilită o anumită certitudine că respectivul
model este o reprezentare validă a realităţii, executarea unei serii de simulări pentru diverse
seturi de mărimi de intrare permite o înţelegere mai bună a sistemului real în diferite condiţii
de funcţionare.
În cele ce urmează simularea va fi înţeleasă ca o imitare a comportării sistemului
studiat, reprezentat prin modelul său, prezenţa variabilelor aleatoare în modelul respectiv
impunând experimentul repetat, cu caracter statistic. În felul acesta va fi posibilă obţinerea
unor adevărate instantanee privind comportarea sistemului la diferite momente şi în condiţii
variate.
Trebuie subliniat că, în general, simularea nu oferă soluţia optimă pentru sistemul
studiat, ci doar tabloul rezultatelor care s-ar obţine în timp şi în spaţiu, ca urmare a folosirii
variabilelor utilizate. Dar utilizarea acestei metode de studiu este destul de eficientă în
aplicarea tehnicilor de căutare de tip trial and error (încercare - eroare), urmărind
determinarea soluţiei satisfăcătoare (nu întotdeauna optimă).
Dacă modelarea matematică conduce la modele al căror studiu poate fi făcut analitic -
permiţând în aceste condiţii determinarea cu destulă exactitate a variantei de decizie care
trebuie utilizată - simularea oferă o imagine ce reprezintă prelungirea în timp şi spaţiu a
desfăşurării unui proces ale cărui coordonate definitorii se consideră cunoscute cel puţin
statistic din trecut şi care se presupune a funcţiona cel mai adesea în regim regulat sau
staţionar, adică fără modificări consistente ale caracteristicilor de bază.
În concluzie, simularea permite realizarea cel puţin a următoarelor obiective:
Prelungirea în timp şi spaţiu a desfăşurării unor procese pe baza unor ipoteze de l ucru
privind legile ce le guvernează (deci de variaţie a structurii, dacă este cazul, a parametrilor ce
caracterizează procesul şi a mărimilor de intervenţie asupra acestora), în scopul identificării
unor variante de intervenţie avantajoasă asupra desfăşurării ( funcţia praxiologică).
Identificarea unui model suficient de realist al unui sistem, utilizabil apoi în
conformitate cu cele menţionate la aliniatul de mai sus (funcţia gnoseologică).
Căutarea unor regimuri de funcţionare avantajoase, aproximând regimul optimal pe
baza experimentului statistic (funcţiile praxiologică şi gnoseologică în acelaşi timp).
13
Trebuie reţinut faptul că simularea poate ajuta efectiv la studiul unui sistem real sau la
proiectarea unui sistem, dar ea nu produce miracole dacă nu există date de intrare corecte,
modele corespunzătoare şi nu se cunoaşte setul de restricţii necesar.
1.5 Marcarea timpului în simulare
În orice model de simulare se introduce variabila de ieşire numită ceasul simulării, care
stabileşte - la fiecare pas - intervalul de timp în care se simulează procesul real. În tehnicile de
simulare a sistemelor de producţie se utilizează două tipuri de ceas pentru simulare:
ceas cu increment constant;
ceas cu increment variabil.
Modelele pentru simularea aceluiaşi sistem sunt diferite în funcţie de cele două tipuri
de ceas !
1.5.1 Simularea cu ceas constant
Simularea bazată pe metoda ceasului constant constă în a genera de fiecare dată o
creştere constantă t a ceasului şi a analiza apoi starea diferitelor elemente ale sistemului
generând toate evenimentele E posibile a se produce în intervalul de timp de lungime t. După
aceea se va genera o nouă creştere care se va adăuga ceasului, se va repeta analiza menţionată
etc.
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 t; simularea sistemului pe un interval
mare 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 t (figura 1.3):
0 E1 E2 E 3 E 4 E5 E6
timp
t t t
T 0 T 1 T 2 T 3
Figura 1.3
Timpul total T de simulare a modelului va fi:
T = k t (t N; k = 0,1,2...) (1.7)
unde: k reprezintă numărul de iteraţii ale algoritmului de simulare.
Valoarea curentă a ceasului va fi:
Ti+1 = Ti + t (1.8)
14
Alegând t drept unitate de măsură a timpului (t = 1), ceasul variază luând un număr
de valori întregi, independente de evenimentele care apar şi de ordinea lor relativă.
Un model de simulare bazat pe metoda ceasului constant consideră grupul de
evenimente produse în intervalul [ T(k-1), Tk ] ca şi cum s-ar fi produs la momentul Tk. În
consecinţă, acest procedeu face ca grupul de evenimente care apar pe un interval de timp de
lungime t să fie sincronizat la momentul terminării acelui interval. Sincronizarea este
artificială şi ea depinde în mod esenţial de mărimea lui t. Micşorarea lui t duce la mărirea
timpului de calcul; mărirea lui t va micşora timpul de calcul dar va mări gradul de aproximare
al modelului.
1.5.2 Simularea cu ceas variabil
În cazul simulării bazată pe metoda ceasului variabil, valoarea creşterii este egală cu
lungimea intervalului de timp dintre apariţiile a două evenimente consecutive (figura 1.4).
0 E1 E2 E 3 E 4 E5 E6
timp
t 1 t2 t3 t 4 t 5 t6
T0 T1 T2 T 3 T 4 T5 T6
Figura 1.4
Timpul total T de simulare a modelului va fi:
T tii
n
1 (1.9)
Valoarea curentă a ceasului va fi:
Ti+1 = Ti + ti+1 (1.10)
Metoda bazată pe ceasul variabil presupune că apariţiile succesive de evenimente sunt
asociate în mod biunivoc cu schimbările succesive din sistem. 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; din această cauză metoda ceasului cu creştere variabilă se
mai numeşte şi regula (metoda) evenimentului următor.
Construcţia algoritmului de simulare a sistemului în cazul procedeului bazat pe ceas cu
creştere variabilă presupune că evenimentele care apar sunt împărţite în clase (tipuri)
distincte; apariţiile evenimentelor de un anumit tip implică un anumit gen de schimbări în
sistem. Algoritmul de simulare va produce în acest caz o istorie a stărilor sistemului în felul
următor: va înregistra toate evenimentele viitoare în ordinea impusă de evoluţia sistemului iar
după ce va mări ceasul cu intervalul de timp până la apariţia celui mai apropiat eveniment
următor va renunţa la evenimentele din trecut.
15
În concluzie, această metodă presupune în mod riguros considerarea tuturor
evenimentelor succesive, astfel încât la fiecare nouă apariţie corespunde o creştere a ceasului.
Să ne reamintim...
Pentru descrierea sintetică a conceptului de model, este necesar să punem în
evidenţă următoarele trei laturi:
modelul este o imagine incompletă a unui sistem existent sau care urmează
să fie construit;
modelul trebuie validat prin criteriul practicii în vederea determinării
gradului său de utilitate şi a aplicării sale;
modelul este manipulat în vederea prezicerii comportării în diferite situaţii a
sistemului studiat.
Simularea permite, în general:
structurarea mai bună a problemei investigată;
testarea diferitelor căi de acţiune care nu pot fi formulate explicit în cadrul
modelului;
determinarea formei funcţionale de exprimare a legăturilor dintre
fenomenele cercetate şi estimarea valorilor parametrilor modelului.
1.6 Clasificarea modelelor
Complexitatea şi diversitatea sistemelor a condus la necesitatea elaborării unor modele
foarte variate. Pentru sistematizarea mulţimii tipurilor de modele elaborate până în prezent, se
pot folosi o serie de criterii, prezentate după cum urmează:
I După natura fizică a elementelor modelului se disting:
a) modele fizice - conţin elemente de natură fizică;
Exemple
machetele instalaţiilor tehnologice
b) modele abstracte - includ elemente variabile ale căror legături sunt relaţii
funcţionale între acestea. Modelele abstracte pot fi calitative şi cantitative.
Exemple
Modele abstracte calitative: organigramele, diagrama cauză – efect, grafuri etc.
Modele abstracte cantitative (modele matematice): sunt formate exclusiv din
funcţii matematice particularizate.
Modelele matematice pot fi deterministe, statistice, aleatoare, vagi (fuzzy) sau mixte.
Modelele deterministe cuprind numai funcţii matematice deduse prin aplicarea unor
legi generale şi în care nu intervin variabile aleatoare.
16
Modelele statistice cuprind cel puţin o relaţie dedusă prin prelucrarea statistică a unor
date experimentale.
Modelele aleatoare implică utilizarea variabilelor aleatoare pentru descrierea
funcţionării sistemului. Ca exemplu se pot da modelele proceselor de aşteptare care apar mai
cu seamă în cadrul sistemelor de servire.
Modelele vagi (fuzzy) reflectă imprecizia sistemului studiat şi permit stabilirea
gradului de apartenenţă la o anumită proprietate.
Modelele mixte includ variabile aleatoare pentru descrierea relaţiilor din sistem şi
urmăresc determinarea parametrilor statistici ai mărimilor de ieşire, precum şi determinarea
unor funcţii matematice.
c) modele hibride - presupun interacţiunea dintre un sistem format din elemente fizice
şi un calculator electronic programat corespunzător
Exemplu
în întreprinderi se folosesc aparate de măsură şi control cuplate cu un
calculator electronic care este programat să adopte decizia de modificare a
parametrilor astfel ca să se realizeze în permanenţă un regim de funcţionare cât
mai economic.
Daţi exemple de alte modele din categoria celor fizice şi abstracte
II După natura matematică a relaţiilor ce descriu legăturile sistemului echivalent există:
a) modele liniare;
b) modele neliniare.
a) Modelele liniare sunt caracterizate prin aceea că atât restricţiile cât şi funcţiile
obiectiv sunt de gradul întâi. Ca exemplu se pot da modelele de programare liniară.
Exemplu: Este prezentat un model liniar al unei probleme de optimizare a
capacităţii. Prima linie reprezintă funcţia obiectiv, celelalte fiind restricţiile
problemei
[max] f = 115 x1 + 142 x2 + 97 x3
10 x1 + 5 x2 + 12 x3 10.800
7 x1 + 11 x2 + 8 x3 12.480
11 x1 + 14 x2 + 15 x3 9.600
12 x1 + 13 x2 + 10 x3 10.500
12 x1 + 13 x2 + 10 x3 7.200
b) Modelele neliniare sunt caracterizate prin aceea că restricţiile şi funcţiile obiectiv au
grad diferit de unu.
17
III După natura istoriei sistemului, există:
a) modele statice;
b) modele dinamice.
a) Modelele statice au parametrii independenţi de timp, iar soluţiile oferite trebuie
mereu actualizate. Ca exemplu se pot da modelele de încărcare a utilajelor.
b) Modelele dinamice sunt descrise prin funcţii de timp. Majoritatea sistemelor de
producţie se pretează a fi modelate cu ajutorul acestor modele, care aproximează mai fidel
realitatea obiectivă.
IV În funcţie de obiectul cercetării, modelele se clasifică în:
a) modele macroeconomice;
b) modele microeconomice.
a) Modelele macroeconomice au ca obiect de studiu sistemele de producţie agregate, la
nivel de întreprindere.
b) Modelele microeconomice au ca obiect de analiză sistemele elementare. Ca exemplu
pot fi date modelele proceselor de stocare, de aprovizionare etc.
V După modul de construire a modelului se disting:
a) modele cu increment fix;
b) modele cu increment variabil.
a) Modelele cu increment fix sunt cele care sunt utilizate în simularea cu ceas având
increment fix .
b) Modelele cu increment variabil sunt cele care sunt utilizate în simularea cu ceas
având increment variabil (metoda evenimentului următor).
VI După natura variabilelor modelele pot fi:
a) discrete;
b) continue.
a) Modelele discrete conţin variabile care pot fi puse în corespondenţă cu mulţimea
numerelor naturale sau cu o submulţime finită a acestor numere.
b) Modelele continue conţin variabile cu puterea continuului (mărimi care pot fi puse
în corespondenţă cu punctele intervalului [0, 1] ).
Scrieţi un sistem de ecuaţii / inecuaţii de gradul întâi. În ce categorie de modele se
putea încadra acesta?
1.7 Clasificarea tehnicilor de simulare
Ca şi modelele, tehnicile de simulare pot fi clasificate după mai multe criterii, astfel:
I După natura echipamentului utilizat, tehnicile de simulare se clasifică astfel:
a) simulare analogică;
b) simulare numerică;
18
c) simulare hibridă.
a) Simularea analogică este o tehnică de simulare care foloseşte sisteme (dispozitive)
ale căror legi de conduită sunt aceleaşi cu legile de conduită ale sistemului studiat.
Exemple: analogia dintre sistemul informaţional al unei societăţi comerciale şi
sistemul nervos al unui organism biologic, analogia dintre creşterea unui sistem
economic şi dezvoltarea unei culturi de microorganisme, analogia dintre sistemul
de aprovizionare al unei întreprinderi şi un sistem hidraulic cu intrări şi ieşiri etc.
Simularea analogică se poate clasifica, la rândul ei astfel:
simulare analogică directă;
simulare analogică indirectă.
Simularea analogică directă constă în stabilirea unei analogii directe între sistemul
original şi sistemul cu ajutorul căruia se efectuează simularea (denumit simulator). După
natura dispozitivelor utilizate, simularea analogică directă poate fi fizică, chimică, biologică
etc. Un exemplu de simulare fizică îl constituie machetele.
Simularea analogică directă nu este aplicată în prezent pentru analiza şi proiectarea
sistemelor de producţie sau economice.
Simularea analogică indirectă constă în folosirea unor elemente analogice modulare
(sumatoare, integratoare, amplificatoare etc.) interconectate astfel încât legea de funcţionare a
acestui ansamblu să fie aceeaşi cu cea a sistemului original. Această tehnică este utilizată în
studiul sistemelor a căror evoluţie se poate descrie prin ecuaţii diferenţiale. Ca exemplu pot fi
date sistemele de reglare automată continue ale maşinilor unelte.
b) Simularea numerică (denumită şi simulare matematică) constă în analiza şi studiul
sistemelor utilizând analogiile de calcul.
Simulările numerice se clasifică, la rândul lor, astfel:
simulare de tip joc;
simulare prin metoda Monte Carlo.
Simulare de tip joc presupune ataşarea la sistemul studiat a unui model care descrie
dependenţele logice dintre variabilele şi parametrii sistemului (deci un model determinist!).
La un ciclu de simulare, parametrii rămân constanţi iar variabilele se schimbă.
Simularea de tip joc poate fi dirijată sau aleatoare.
Simularea de tip joc dirijată: variabilele de intrare care intervin sunt deterministe
(deci model determinist - variabile deterministe);
Simularea de tip joc aleatoare: variabilele de intrare care intervin sunt de natură
aleatoare (deci model determinist - variabile aleatoare).
Simularea Monte Carlo ataşează la sistemul studiat un model aleator care utilizează
variabile aleatoare. În cadrul sistemelor de producţie, metoda Monte Carlo se utilizează în
19
studiul gestiunii stocurilor dintr-un depozit de materiale, repartiţiei optime a utilajelor,
proceselor de reparaţii etc.
c) Simularea hibridă constă în conectarea unui simulator analogic cu un calculator
numeric. Are avantajele rezolvării cu viteză ridicată a problemelor dinamice şi programării
rapide a unor probleme complicate. În prezent se utilizează mai mult în procesele chimice,
siderurgice etc., dar specialiştii prevăd o dezvoltare viitoare în simularea altor procese de
producţie precum şi în simularea proceselor economice.
II După natura algoritmilor utilizaţi, simularea poate fi:
a) deterministă;
b) aleatoare;
c) deterministă cu perturbaţii aleatoare.
a) Simularea deterministă este un proces de simulare în care atât variabilele (în cadrul
fiecărui ciclu de simulare) cât şi parametrii (de la un ciclu de simulare la altul) capătă valori
deterministe. Aceste valori sunt fie date, fie rezultate dintr-un algoritm care furnizează
rezultate predeterminabile.
b) Simularea aleatoare (Monte Carlo) este un procedeu de simulare în care cel puţin o
variabilă sau un parametru capătă valori aleatoare. Acest tip de simulare are aplicaţii
importante mai ales în studiul sistemelor microeconomice, cum sunt procesele de aşteptare,
procesele de stocare, activitatea de reparaţii, problemele de trafic etc.
c) Simularea deterministă cu perturbaţii aleatoare, spre deosebire de cea deterministă,
include şi mărimi aleatoare, care nu schimbă evoluţia generală a sistemului, dar conferă un
grad mai mare de realism.
III Din punct de vedere al raportului de simulare, tehnicile de simulare se clasifică
astfel:
a) simulare în timp real;
b) simulare în pseudotimp.
Raportul de simulare reprezintă raportul dintre timpul real şi timpul de simulare:
RT
TSreal
simulare (1.11)
a) Simularea în timp real este un procedeu în care raportul de simulare este echiunitar:
RT
TSreal
simulare 1 (1.12)
În cadrul sistemelor de producţie această situaţie nu este practic posibilă, datorită
timpului real mare.
b) Simularea în pseudo-timp constă în folosirea unui raport de simulare diferit de unu
(RS 1).
20
În sistemele de producţie se utilizează de obicei simulări mai rapide decât timpul real
(Tsimulare < Treal), deci rapoarte de simulare supraunitare:
RT
TSreal
simulare 1 (1.13)
De exemplu, operaţiile de inventariere din cadrul unei întreprinderi care au loc într-un
interval de cinci ani pot fi simulate într-o oră de timp calculator.
Se pot utiliza însă şi simulări mai lente decât timpul real (Tsimulare > Treal), când raportul
de simulare este subunitar:
RT
TSreal
simulare 1 (1.14)
Ca exemplu poate fi dat studiul procesului de muncă prin analizarea micromişcărilor
muncitorilor, în vederea stabilirii unor timpi de muncă preponderenţi.
IV După momentul efectuării simulării, se pot diferenţia:
a) ante-simulare;
b) post-simulare.
a) Ante-simularea se efectuează înainte de a avea loc funcţionarea reală a sistemului.
Este folosită la proiectarea sistemelor de producţie şi la prognozele economice.
b) Post-simularea se efectuează după ce a avut loc funcţionarea reală a sistemului de
producţie, deci se utilizează la analiza sistemelor care sunt în stare de funcţionare.
1.8. Rezumat
Simularea este o tehnică de realizare a experienţelor cu ajutorul calculatorului
electronic, implicând utilizarea unor modele matematice sau logice ce descriu
comportarea sistemului real pe durata unui interval de timp, mic sau mare;
Modelul este un sistem material sau abstract, care, fiind pus în corespondenţă cu un
alt sistem dat anterior, va putea servi indirect studiului proprietăţilor acestui sistem
mai complex (original) şi cu care modelul prezintă o anumită analogie;
Modelarea înseamnă trecerea de la fenomenul real la modelul matematic, prin luarea
în considerare a aspectelor esenţiale şi prin neglijarea unor aspecte şi elemente,
uneori destul de importante, în scopul realizării unui studiu pe un model matematic
mai simplu;
În tehnicile de simulare a sistemelor de producţie se utilizează două tipuri de ceas
pentru simulare:
ceas cu increment constant;
ceas cu increment variabil.
Complexitatea şi diversitatea sistemelor a condus la necesitatea elaborării unor
modele şi tehnici de simulare foarte variate.
21
1.9. Test de autoevaluare a cunoştinţelor
1. Simularea presupune rezolvarea unor modele matematice, cu utilizarea:
a. tabelelor matematice;
b. calculatorului electronic;
c. riglelor de calcul.
2. Modelul unui sistem de producţie este:
a. o machetă a unor utilaje;
b. un desen tehnic;
c. un sistem abstract, format dintr-un set de relaţii matematice.
3. Obiectivul simulării constă în:
a. emiterea unor predicţii asupra comportării sistemului respectiv;
b. calculul costurilor de producţie;
c. construirea unui model al sistemului.
4. La simularea utilizând ceas constant, intervalul de timp dintre două evenimente
consecutive este:
a. variabil;
b. aleator;
c. constant.
5. La simularea utilizând ceas variabil, intervalul de timp dintre două evenimente
consecutive este:
a. variabil;
b. aleator;
c. constant.
Răspunsurile testului de autoevaluare
1. b;
2. c;
3. a;
4. c;
5. a.
22
Unitatea de învăţare U2. Etapele simulării sistemelor de producţie
Cuprins
2.1. Introducere ................................ ................................ ................................ ............. 20
2.2. Competenţe ................................ ................................ ................................ ............ 20
2.1. Introducere
Realizarea unui experiment de simulare este un proces care se desfăşoară, de
obicei, în mai multe etape. Unitatea de învăţare conţine primele trei etape pentru
realizarea unui experiment de simulare.
2.2. Competenţe
După parcurgerea acestei unităţi de învăţare studenţii vor putea să:
stabilească componentele sistemului;
identifice sursele de date necesare conceperii modelului pentru simulare;
recunoască tipurile de date culese despre un sistem;
stabilească variabilele şi parametrii;
realizeze analiza corectitudinii datelor cu ajutorul testelor specifice;
opereze cu metodele de generare a numerelor aleatoare;
Durata medie de parcurgere a acestei unităţi de învăţare este de 3 ore.
2.3. Analiza şi sinteza sistemului
Analiza sistemului constă în descompunerea lui în părţi componente Ci (i = 1,2...n), în
vederea înţelegerii naturii lui şi a trăsăturilor esenţiale.
Exemple
Componentele la nivelul unei secţii, pot fi locurile de muncă, la nivelul unei
întreprinderi, componentele pot fi departamentele sau serviciile sau secţiile etc.
În cazul exemplului dat, dacă facem referire la locurile de muncă, numărul n al
componentelor este mare, dar posibil de luat în calcul. La nivelul întreprinderii,
componentele nu mai pot fi locurile de muncă, deoarece numărul n este prea
mare. Componentele întreprinderii vor fi secţiile, obţinute prin agregarea
locurilor de muncă.
23
Daţi şi alte exemple de componente pentru diferite tipuri de sisteme.
Prin agregare se reduce volumul informaţiilor care se culeg şi se prelucrează, dar se
pierde din precizia rezultatelor obţinute.
Dacă se consideră mai puţine componente, sistemul va fi descris cu ajutorul unui număr
mai mic de variabile şi parametri de stare. Deşi predicţiile rezultate privitoare la evoluţia
sistemului vor fi lipsite de şansa de a se confirma pentru toate cazurile individuale, acest mod
de abordare este preferat în practică, în primul rând datorită expeditivităţii obţinerii
rezultatelor.
În practica managerială se folosesc diverse metode de agregare, care, în majoritatea
cazurilor, oferă o serie de avantaje: facilitarea adoptării deciziei, adoptarea unor decizii
operative în cazul apariţiei unor perturbaţii, precizie mare la nivel global datorită
compensărilor reciproce etc.
Trebuie însă ţinută seama că agregarea are şi o serie de dezavantaje: erori mari la nivel
ierarhic inferior, ignorarea unor relaţii între componentele agregate etc.
Utilizarea calculatoarelor electronice în tehnicile de simulare permite să se ajungă la un
grad mare de dezagregare, cu următoarele avantaje: corectitudine relativ mare la adoptarea şi
urmărirea deciziilor, precizie mare în transmiterea şi urmărirea realizăr ii obiectivelor etc.
Din cele expuse rezultă că este necesar să se găsească soluţia de compromis între
agregare şi dezagregare, respectiv este necesar să se găsească un grad raţional de agregare.
De exemplu, gradul de agregare a informaţiei gS
a al unui sistem de producţie se
defineşte, în general, ca un raport între cantitatea de informaţie CI* în ipoteza maximei
agregări posibile (când cantitatea de informaţie este minimă) şi cantitatea de informaţie CI a
soluţiei S adoptată, adică:
gCICIa
S *
(2.1)
Dacă se adoptă soluţia S* a maximei agregări posibile (CI
*=CI), atunci:
gCICIa
S* * 1 (2.2)
Dacă se adoptă o soluţie Sd a maximei dezagregări posibile (CI ), atunci:
gaSd 0 (2.3)
În concluzie, gradul de agregare va fi:
0 1 gaS (2.4)
Gradul de dezagregare gS
d se defineşte cu ajutorul relaţiei:
g gCICId
SaS 1 1
* (2.5)
24
Se observă că:
0 1 gdS (2.6)
Agregarea unui sistem se realizează atât prin agregarea componentelor, cât şi a relaţiilor
dintre componente.
În cazul simulării care utilizează un model matematic, aceasta constă în: agregarea
variabilelor şi a parametrilor, agregarea restricţiilor, agregarea resurselor, agregarea
consumurilor specifice, agregarea coeficienţilor funcţiei obiectiv şi eventual agregarea
criteriilor economice.
Pentru agregarea variabilelor se pot folosi diferiţi operatori (funcţii). În majoritatea
cazurilor, operatorii de agregare sunt simpli, de natură aditivă (medii aritmetice simple, medii
aritmetice ponderate etc.). În acest sens, agregarea se poate concepe în două moduri:
a) Se consideră o clasă superioară C care conţine două submulţimi astfel încât chiar
dacă adunarea elementelor din submulţimi distincte nu are sens, totuşi să aibă sens adunarea
acestora în cadrul clasei superioare C.
Exemplu
Pentru a exprima producţia fizică a unei unităţi economice constructoare de
maşini care produce strunguri şi maşini de frezat, nu are sens adunarea producţiei
fizice a celor două tipuri de maşini. Dacă se consideră o clasă superioară a
maşinilor unelte, adunarea devine posibilă.
b) Folosirea unor unităţi convenţionale, caz în care se defineşte o unitate etalon (de
exemplu, în cazul producţiei variate de tractoare se foloseşte CP). Agregarea se face în acest
caz după un criteriu, care poate fi de natură valorică sau fizică (greutate, putere etc.).
În alte cazuri se folosesc operatori de tip multiplicativ, cum ar fi media geometrică. Se
poate exemplifica acest operator în cadrul ritmului mediu de creştere a producţiei unei unităţi
economice, ca medie geometrică a ritmurilor anuale de creştere.
Sinteza sistemului este o etapă a proiectării, care permite compunerea, combinarea
elementelor necesare realizării sistemului complet, urmărindu-se totodată dacă acesta atinge
nivelul de performanţe propus.
2.4. Conceperea şi proiectarea modelului
În cadrul acestei etape, se impune atingerea unor obiective, şi anume:
Primul obiectiv îl constituie formularea problemei: trebuie să se precizeze întrebările
la care să se răspundă, ipotezele care trebuie testate şi efectele care trebuie estimate.
25
Al doilea obiectiv îl constituie colectarea şi prelucrarea primară a datelor. Pentru
aceasta trebuie să se răspundă la întrebările: care sunt datele necesare, de unde se obţin
acestea şi cum sunt ele introduse în model.
Dintre sursele de date se amintesc: documente şi rapoarte, generatoare de date,
experimentări etc. După obţinerea lor, datele primare pot fi organizate în fişiere, tabele ,
rapoarte etc. şi sunt prelucrate în vederea eliminării unora dintre ele care, în general, nu
caracterizează fenomenul din care provin.
Al treilea obiectiv îl constituie stabilirea modelului potenţial. A construi modelul
înseamnă a alege variabilele, parametrii şi relaţiile funcţionale corespunzătoare şi a preciza
algoritmul care conduce la determinarea elementelor de ieşire în funcţie de elementele de
intrare.
Este greu de stabilit reguli standard pentru construirea celui mai bun model al unei
probleme date. Alegerea poate fi făcută însă cu ajutorul unor jaloane, dintre care amintim:
Numărul de variabile care trebuie să fie incluse în model: un model cu un număr
prea mare de variabile va fi greu de manevrat, iar altul cu un număr prea mic de
variabile poate să piardă din vedere anumite aspecte ale problemei.
Eficienţa de calcul a modelului: timpul de calcul necesar pentru atingerea unui
anumit obiectiv trebuie să fie rezonabil de mic.
Timpul necesar programării: un model complex, cu multe variabile, necesită un
personal cu înaltă calificare şi un consum mare de timp. Limbajele specializate
reduc timpul de programare, însă reduc şi flexibilitatea modelului.
Scrieţi modelul matematic (funcţie obiectiv şi restricţii) pentru următoarea
problemă: Pentru a fabrica două produse P1 si P2 este necesar să se execute
operaţii de prelucrare pe trei maşini M1, M2 şi M3, în mod succesiv, ordinea
operaţiilor fiind indiferentă. Timpii unitari de execuţie sunt prezentaţi în tabelul
2.1. Se presupune că maşinile nu au timpi morţi, provocaţi de aşteptarea unui
produs aflat în curs de prelucrare la o altă maşină, datorită faptului că nu există
preferinţe în ordinea operaţiilor.
Tabelul 2.1
PRODUSUL Timp [minute]
M1 M2 M3
P1 11 7 6
P2 9 12 16
Condiţionările din procesul de producţie sunt :
- maşina M1 poate funcţiona cel mult 165 ore ;
- maşina M2 poate funcţiona cel mult 140 ore ;
26
- maşina M3 poate funcţiona cel mult 160 ore şi cel puţin 120 ore.
Beneficiul pentru o unitate de produs x1 este de 900 u.b pentru produsul P1 , iar
pentru produsul P2 beneficiul pentru o unitate de produs x2 este de 1000 u.b.
Să se determine câte unităţi x1 şi x2 din fiecare produs trebuie fabricate lunar,
pentru a obţine, în condiţiile date, un beneficiu total maxim .
Să ne reamintim...
Analiza sistemului constă în descompunerea lui în părţi componente Ci (i =
1,2...n), în vederea înţelegerii naturii lui şi a trăsăturilor esenţiale.
Sinteza sistemului este o etapă a proiectării, care permite compunerea,
combinarea elementelor necesare realizării sistemului complet, urmărindu-se
totodată dacă acesta atinge nivelul de performanţe propus.
Pentru construirea unui bun model pentru o anumită problemă, numărul de
variabile trebuie să fie adecvat complexităţii problemei de rezolvat, astfel încât
timpul necesar programării să nu fie prea mare şi flexibilitatea modelului să nu se
reducă.
2.5. Estimarea variabilelor şi parametrilor
În procesul de elaborare a modelelor de simulare, componentelor sistemului li se
asociază o serie de variabile şi parametri, unele dintre acestea fiind cunoscute (controlabile),
numite şi variabile / parametri de intrare, altele fiind necunoscute (necontrolabile), numite
variabile / parametri de ieşire. Aceste variabile sau parametri sunt de fapt date, care în funcţie
de natura lor, pot fi deterministe sau aleatoare.
2.5.1. Culegerea datelor pentru simulare
2.5.1.1 Surse de date
Simularea unui sistem existent, real, presupune colectarea unor date, unor informaţii
asupra evoluţiei trecute ale acestuia.
În simularea unui sistem de producţie, sursele de date pot fi:
istoria sistemului studiat;
măsurări asupra sistemului;
sisteme analoage;
generatoare de date.
Din primele trei surse prezentate mai sus se obţin date reale, pe când din cea de a patra
sursă prezentată se obţin date sintetice.
Când datele se obţin în urma unor măsurări asupra sistemului, denumite în limbaj
statistico-matematic selecţii, trebuie ulterior aplicată statistica matematică pentru analiză şi
interpretare.
27
Datele culese despre un sistem pot fi diferite ca natură a lor, una din clasificările
posibile fiind prezentată în continuare:
Date cinematice: sunt acele date care dau coordonate de referinţă în timp şi spaţiu.
Date dinamice: sunt date care variază în timp dar nu şi în spaţiu.
Date statice: spre deosebire de cele dinamice, acestea nu se modifică în timp.
Metodele de culegere a datelor depind de natura lor precum şi de dispozitivele de stocare a
datelor. Astfel, datele cinematice pot fi culese ON-LINE foarte rapid, datele dinamice sunt
culese periodic iar datele statice se culeg, în general, o singură dată.
Exemple
Date cinematice: datele referitoare la mişcările roboţilor dintr-o celulă
flexibilă
Date dinamice: datele referitoare la temperatura zilnică, la nivelul stocului
într-un depozit de materiale etc.
Date statice: datele referitoare la greutatea unui motor electric, la lăţimea
părţii carosabile a unei străzi etc.
Daţi exemple de date din cele trei categorii prezentate anterior.
2.5.1.2 Caracteristicile datelor empirice
Datele provenite din sursele prezentate mai sus constituie, pentru tehnica de
simulare, variabile care, după cum se ştie, pot fi deterministe sau aleatoare. Din punct de
vedere practic, se consideră variabile deterministe acele mărimi care au proprietatea
că, fiind dată o eroare admisibilă a , o probabilitate , foarte apropiată de 1 (de ex.
= 0,98), precum şi o valoare medie X , satisfac relaţia: p x x x x xa a( ) (2.7)
unde x este un rezultat al unei măsurători a variabilei analizate. În caz contrar,
variabila este aleatoare.
Dacă relaţia (2.7) este satisfăcută, atunci variabila x este considerată deterministă
şi va fi declarată în programul de simulare numai prin valoarea medie X .
Dacă relaţia (2.7) nu este satisfăcută, este necesar să se stabilească tipul repartiţiei
R a variabilei aleatoare x .
Pentru aceasta, este necesar să se mărească volumul selecţiei astfel încât să se
poată stabili tipul repartiţiei R în limitele preciziei necesare.
Se emite apoi o ipoteză asupra tipului repartiţiei (pentru variabile discrete,
repartiţia binomială, Pascal, hipergeometrică, iar pentru variabilele continue, repartiţia
normală, lognormală, exponenţială, gamma, beta etc.).
28
Se verifică în continuare ipoteza cu ajutorul testelor de semnificaţie: Kolmogorov,
2, Pearson, Henry etc. Dacă testul de semnificaţie nu este satisfăcut, se încearcă un alt
tip de repartiţie.
2.5.1.3 Analiza corectitudinii datelor
În simularea oricărui sistem un rol foarte important îl are corectitudinea datelor sau, cu
alte cuvinte, “curăţirea” datelor de acelea care produc perturbaţii în procesul normal al
simulării.
Datele culese despre evoluţia unui sistem pot fi afectate de erori având următoarele
cauze: metoda de măsurare, mijlocul de măsurare, mediu, operator. Erorile care apar pot fi:
Erori aberante (grosolane), care provin din neatenţia operatorului sau din
defecţiunile grave ale aparatelor de înregistrare. Eroarea ori valoarea aberantă diferă
semnificativ de restul valorilor xi i n culese. Ele pot să nu mai apară la o reluare a
procedurii de culegere. De asemenea, pot fi eliminate prin aplicarea unor teste statistice
corespunzătoare: Romanovski, Grubs, Irvin etc.
Exemplu
În cazul aplicării testului Irwin (denumit şi testul ), şirul de date xi se
ordonează crescător sau descrescător. Valorile susceptibile a fi aberante sunt cele
de la extremităţile şirului astfel obţinut. Pentru verificarea valorii suspecte xn se
calculează expresia:
x xS
n n 1 (2.8)
în care S este abaterea medie pătratică a şirului celor n date.
Comparând valoarea lui cu valoarea cr din tabelele lucrărilor de specialitate,
valoarea xn se elimină din şirul de date dacă:
cr (2.9)
Dacă valoarea xn a fost eliminată, se recalculează abaterea medie pătratică S
pentru cele n-1 valori rămase şi testul se aplică din nou, până când nu se mai
elimină date ale şirului.
Erori sistematice. În cursul operaţiei de culegere a datelor este posibil ca anumiţi
factori să aibă o acţiune constantă asupra rezultatelor xi care afectează toate datele. Acest tip
de erori sunt greu de depistat chiar dacă se repetă procesul de culegere. Asemenea factori pot
fi: reglarea incorectă a aparatului de măsurat, variaţia condiţiilor exterioare de mediu (de
exemplu, un aparat se poate utiliza la o temperatură diferită de cea la care a fost etalonat sau
reglat).
Datele afectate de astfel de erori pot fi depistate prin măsurarea aceleiaşi mărimi cu
metode diferite şi compararea rezultatelor obţinute.
Erori accidentale sau aleatoare. Aceste erori sunt acelea care au rămas după
eliminarea celor grosolane şi/sau sistematice. Apariţia lor se datorează unui complex de
29
factori a căror acţiune individuală nu poate fi sesizată nici în timpul culegerii datelor, nici
după aceea. Având caracter aleator, aceste erori se studiază cu ajutorul teoriei probabilităţilor,
care stabileşte în ce măsură influenţează ele estimaţiile adevăratelor valori ale mărimilor
măsurate.
Identificaţi tipurile de erori care pot să apară în timpul procesului de culegere a
datelor despre evoluţia temperaturii aerului în timpul unei săptămâni.
2.5.1.4 Generarea variabilelor aleatoare
În simularea oricărui sistem, existent sau în curs de proiectare, intervin variabile de
intrare/ieşire care urmează o anumită repartiţie statistică. Aşa cum s-a amintit, pentru
stabilirea repartiţiei este necesară executarea unei selecţii din care să fie deduse tipul
repartiţiei şi parametrii acesteia.
Odată acestea stabilite, prin simulare se pot genera valori ale acestor variabile aleatoare
cu ajutorul generatoarelor de date. Orice generare de valori ale variabilelor aleatoare are la
bază un generator de numere aleatoare uniform distribuite pe un interval dat (0, M), M fiind
un număr întreg. Dacă printr-un anumit procedeu se generează numere aleatoare întregi x,
uniform repartizate pe intervalul (0, M), M suficient de mare , atunci se pot obţine numere
aleatoare U uniform repartizate în intervalul (0,1) prin transformarea:
UxM x M , 0 (2.10)
Aceste numere sunt de fapt pseudoaleatoare, deoarece unele dintre ele se pot repeta. Ele
vor fi numite totuşi în continuare numere aleatoare.
Generatorul de numere aleatoare trebuie să satisfacă următoarele condiţii:
Să fie simplu şi rapid (să utilizeze o memorie redusă în calculator şi să aibă o viteză
de generare mare).
Să producă şiruri de numere oricât de lungi care să nu conţină repetiţii (perioada de
repetare să fie cât mai mare posibilă).
Să producă numere independente stocastic unul faţă de altul (numerele aleatoare să
nu fie autocorelate).
Să producă numere a căror repartiţie să fie uniformă pe intervalul (0,1). Acest lucru
se demonstrează cu ajutorul testelor de concordanţă (2, Kolmogorov etc.).
Să producă numere reproductibile, în sensul că dacă se porneşte generatorul cu
aceeaşi valoare iniţială trebuie să se obţină acelaşi şir de numere aleatoare. Condiţia este
necesară în scopul încercării programelor şi comparării rezultatelor.
Există mai multe metode de generare a numerelor aleatoare, şi anume:
Metode manuale: se utilizează dispozitive cum ar fi zaruri, rulete, urne cu bile etc.
Viteza de generare este redusă şi de aceea nu sunt folosite în simularea sistemelor de
producţie.
30
Metode fizice: se utilizează procese fizice intrinsec aleatoare, cum sunt, de exemplu,
zgomotul electronic sau radioactiv. Au avantajul unor parametri statistici foarte favorabili, dar
şi dezavantajul că şirurile de numere generate nu sunt reproductibile.
Metode de memorizare: se utilizează tabele de numere aleatoare (de exemplu tabelele
RAND , cu circa 106 numere) sau memoria internă/externă a calculatorului electronic. Au
avantajul reproductibilităţii, dar consumă multă memorie (la memoria internă) sau consumă
mult timp de lucru (la memoria externă).
Metode analitice: se utilizează un algoritm de calcul bazat pe o relaţie de recurenţă.
Se dau funcţiile fj aparţinând unei clase de funcţii F şi un şir iniţial u1, u2, ... , un. Pe baza
funcţiilor fj şi a şirului iniţial se pot genera numerele un+1, un+2, ..., uj . Un nou număr aleator
uj+1 se generează cu ajutorul relaţiei:
u f u u u
f F i n n nj j j j j n
j
1 1 1
1 2
,
, , , , ...., ...,
(2.11)
Deci, numărul uj+1 derivă din cele n numere precedente. Primul număr generat este:
u f u u un n n n 1 1 1, ,..., (2.12)
Şirul astfel obţinut este reproductibil şi are o perioadă finită (după un număr oarecare de
generări se reproduce şirul iniţial u1, u2, ..., ur, ceea ce conduce la generarea unui subşir care a
mai fost generat). Rezultă că într-un şir foarte mare de numere pseudoaleatoare există h
numere x1, x2, ... , xh cu proprietatea xi xj pentru orice i şi j aparţinând mulţimii 1, 2, ... , h.
În continuare însă, xh+1 = x1, xh+1 = x2 etc. Dacă se repetă la un moment dat s numere (s fiind
numărul de valori iniţiale), evident că se repetă întregul subşir de h numere.
Numărul h reprezintă lungimea intervalului de aperiodicitate. Lungimea perioadei este h
- s. Pentru a nu se obţine rezultate eronate este necesar ca şirul generat să nu depăşească
lungimea perioadei (h-s), adică:
N h s (2.13)
în care N reprezintă numărul maxim de cicluri necesar efectuării simulării.
2.5.1.5 Generarea variabilelor aleatoare cu repartiţie uniformă.
În programele de simulare a proceselor de producţie, generarea variabilelor aleatoare ocupă o
pondere relativ mare în timpul total de rulare pe calculator. Aceasta se datorează
numeroaselor evenimente perturbatoare care apar în desfăşurarea proceselor de producţie
care, de fapt, reprezintă de cele mai multe ori procese aleatoare.
Prin definiţie, numerele aleatoare sunt repartizate uniform într-un interval determinat
dacă funcţia de repartiţie nu diferă semnificativ de funcţia:
0, când x 0;
F(x) = x, când x ( 0, 1); (2.14)
1, când x 1.
31
Dintre metodele recurente pentru generarea numerelor aleatoare cu repartiţie uniformă
cel mai des sunt utilizate metodele congruenţiale, care folosesc teoria claselor de resturi.
Metoda congruenţială aditivă. Se dau r numere iniţiale: k1, k2, ... , kr şi se generează
numere întregi pseudoaleatoare prin formula recursivă:
k k k M i r ri i i r 1 1 2mod , , , ... (2.15)
Metoda congruenţială multiplicativă. Se porneşte de la un număr iniţial k1 , o
constantă multiplicativă a şi de la un număr k, dat. Întregii pseudoaleatori vor fi:
k a k M ii i 1 2 3mod , , , ... (2.16)
Metoda congruenţială mixtă. Se consideră două valori întregi constante a şi c, precum
şi o valoare iniţială kj. Întregii pseudoaleatori consecutivi sunt de forma:
k ak c M ii i 1 2 3mod , , , ... (2.17)
Obs.: metoda congruenţială multiplicativă este un caz particular al metodei mixte.
În relaţiile de mai sus, se scrie “a b ( mod M )” şi se citeşte “a este congruent cu b
modulo M” dacă a-b este un întreg multiplu de M.
În cazul limbajelor specializate pentru simulare, problema generatorului de date nu mai
cade în sarcina utilizatorului, deoarece fiecare astfel de limbaj are încorporat cel puţin un
generator de numere aleatoare.
2.5.1.6 Generarea variabilelor aleatoare cu repartiţie dată
Generarea numerelor aleatoare cu repartiţie dată se efectuează în două etape. În prima
etapă se generează numere aleatoare cu o repartiţie uniformă, iar în a doua etapă se aplică un
algoritm care asigură transformarea repartiţiei uniforme în repartiţia dată. Acest algoritm
depinde de natura repartiţiei - empirică sau teoretică - precum şi de natura variabilei - discretă
sau continuă. Din aceste puncte de vedere se pot aplica şapte metode de generare a numerelor
aleatoare cu o repartiţie dată, conform recomandărilor din tabelul 2.2:
Tabelul 2.2
Natura repartiţiei şi a vari abilei
Metoda utilizată
Empirică
Discretă Continuă
Teoretică
Discretă Continuă
Metoda jobenului Da Da Da Da
Metoda transformatei inverse - Rar Rar Da
Metoda respingerii Da Da Da Da
Metoda compunerii - - Da Da
Metoda compunerii - respingerii - - Da Da
Metode specifice repartiţiei date - - Da Da
Metode aproximative Da Da Da Da
Metoda jobenului este recomandabilă pentru acele tipuri de repartiţii la care
frecvenţa maximă este mult mai mare decât frecvenţa medie (figura 2.1).
32
Pentru a ilustra această metodă se consideră o variabilă aleatoare discretă de forma:
X = x x xf f f
n
n
1 2
1 2
...
...
(2.18)
unde fi reprezintă frecvenţa relativă a valorii xi, calculată cu ajutorul relaţiei:
fi = n
n
i
ii
n
1
(2.19)
unde ni este frecvenţa absolută a valorii xi.
Figura 2.1
Frecvenţele relative cumulate se pot calcula în acest caz cu ajutorul relaţiei de
recurenţă:
F0=0, F1=f1,; Fi=Fi-1+fi; Fn=1; i = 2, 3, ..., n (2.20)
Pentru a genera numere aleatoare respectând condiţiile exprimate în relaţia variabilei
aleatoare discrete X se poate folosi următorul algoritm de calcul numeric (care prezintă
analogii cu extracţia la întâmplare a unor bileţele dintr-o urnă sau joben):
Pasul 1. Se generează yi uniform repartizat în intervalul (0,1).
Pasul 2. Se compară yi cu Fi până când:Fi-1<yi< Fi, i = 1, 2, ...,n.
Metoda transformatei inverse se bazează pe acelaşi principiu ca metoda jobenului,
dar se aplică mai ales în cazul repartiţiilor continue, definite cu ajutorul unei singure funcţii
F(x) pe întreg domeniul de existenţă În acest scop se generează numere uniform repartizate
(0,1); numerele cu o repartiţie oarecare se obţin din relaţia:
x = F-1
() (2.21)
unde F-1
reprezintă inversa funcţiei de repartiţie.
Evident, metoda se poate aplica numai dacă această inversă se calculează uşor (cum
este cazul repartiţiilor liniară, exponenţială, Cauchy, Weibull, Pearson de tipul XI, arcsin,
geometrică etc.).
f(x)
Medie
x
c
33
Algoritmul de calcul pentru generarea unei valori de selecţie a variabilei aleatoare X
(care are funcţia de repartiţie F) este următorul:
Pasul 1. Se generează yi uniform repartizat în intervalul (0, 1).
Pasul 2. Se calculează X = F-1
(yi)
Metoda respingerii este recomandabilă în cazul când frecvenţa maximă este
apropiată de frecvenţa medie (figura 2.2):
Figura 2.2
Algoritmul general de generare a numerelor cu ajutorul acestei metode este următorul:
Pasul 1. Se calculează un majorant c al funcţiei f(x):
c Max [f(x)]. (2.22)
Pasul 2. Se generează un număr xi în intervalul [a, b] uniform repartizat ( a reprezintă
valoarea minimă a variabilelor xi, iar b valoarea maximă, valori care sunt în general cunoscute
sau se pot estima în orice proces de producţie).
Pasul 3. Se calculează f(x).
Pasul 4. Se generează un număr yi 0, c.
Pasul 5. Se compară yi cu f(xi).
Dacă yi f(xi) atunci se acceptă xi ca punct generat.
Dacă yi > f(xi), se respinge perechea (x i, yi) şi se reia algoritmul de la pasul 2.
Metoda compunerii utilizează următorul algoritm general de generare a numerelor
aleatoare:
Pasul1. Se generează perechi de numere aleatoare x1 şi x2 uniform repartizate pe
intervalul [0, 1].
Pasul 2. Se determină un număr aleator z, din ecuaţia x1 = H(z):
z=H-1
(x1). (2.23)
Pasul 3. Se determină un număr aleator y, din ecuaţia:
x2 = G(z, y), adică y = G-1
(z, x2). (2.24)
Se consideră că y este numărul generat, având legea prezentată.
Care sunt metodele cunoscute pentru generarea variabilelor aleatoare?
Realizaţi o clasificare a lor, precizând criteriul utilizat.
f(x)
Medie
x
c
34
2.6. Stabilirea variabilelor şi parametrilor
Variabilele sunt acele mărimi care se schimbă atât în cursul unui ciclu de simulare,
cât şi de la un ciclu la altul. În cazul în care în cadrul unui ciclu de simulare mărimea nu se
schimbă, ea constituie un parametru.
Parametrii sunt deci constanţi, în cadrul unui ciclu de simulare, dar se pot schimba de
la un ciclu de simulare la altul.
În cadrul unui sistem de producţie se întâlnesc variabile de decizie şi variabile de stare.
Variabilele de decizie sunt acelea asupra cărora analistul deţine un control complet şi,
în funcţie de valoarea lor la un moment dat, poate lua o decizie de continuare, oprire,
schimbare a rutei de parcurs etc. a procesului.
Variabilele de stare sunt dependente de cele de decizie şi descriu starea în orice
moment a unui element, component etc., ele neputând fi controlate direct de analist.
Pe de altă parte, tipurile de variabile care intervin în sistemele de producţie pot fi:
Xi - variabilă de intrare, care este o variabilă exogenă controlabilă (variabilă de dec izie);
Xp - variabilă perturbatoare, care este o variabilă exogenă necontrolabilă;
Xs - variabilă intermediară, care este o variabilă de stare;
Xe - variabilă de ieşire, care este o variabilă endogenă.
Schema generală a sistemului de producţie sub acţiunea variabilelor este redată în figura
2.3:
Xp
Xi Xe
Figura 2.3
În unele cazuri particulare, este posibil ca una din cele patru categorii de variabile să
lipsească.
Studiul de simulare se poate referi la analiza valorilor a p parametri asupra rezultatelor
obţinute. Se admite că pentru fiecare parametru i prezintă un interes deosebit numai ni valori
distincte. Rezultă că numărul de variante de simulare Nv este:
Nv i
p
in
1
(2.25)
Timpul de calcul al procedurilor de simulare Ts este:
T N C t n C ts vi
p
i
. . . .
1
(2.26)
XS
35
în care: C - numărul mediu de cicluri de simulare pentru o variantă;
t - timpul mediu de calcul pentru un ciclu de simulare.
Se constată că timpul de calcul poate ajunge uşor la valori prohibitive.
Exemplu
Dacă într-un proces de producţie intervin numai 5 parametri (p = 5), fiecare
parametru poate lua 10 valori (n1 = n2 = n3 = n4 = n5 = 10), numărul ciclurilor de
simulare pentru a se asigura precizia cerută este C = 1000 cicluri, iar timpul pe
ciclu este t = 0,1 sec., se obţine:
Ts = 105 x 10
3 x 10
-1 = 10
7 sec. 115 zile (2.27)
Chiar dacă se îmbunătăţesc performantele calculatorului, prin micşorarea
timpului de calcul de 100 ori, se obţine un timp de calcul al simulării :
Ts = 105 x 10
3 x 10
-3 = 10
5 sec. 11 zile (2.28)
ceea ce încă reprezintă o durată care nu convine din punct de vedere
practic. Rezultă că este oportună analiza şi a altor posibilităţi de reducere a
timpului necesar simulării.
În acest scop se procedează la o clasificare a parametrilor în trei clase, şi anume:
parametri de importanţă maximă;
parametri de importanţă medie;
parametri de importanţă redusă.
În funcţie de tipul parametrului, se determină numărul valorilor posibile care urmează a
fi luate în calcul, după cum urmează:
în cazul parametrilor de importanţă maximă, se iau în considerare toate valorile;
în cazul parametrilor de importanţă medie, se iau în considerare numai trei valori
caracteristice: maximă, medie şi minimă;
în cazul parametrilor de importanţă redusă, se ia în considerare numai o singură
valoare caracteristică (de obicei valoarea medie).
Exemplu
Pentru exemplul de mai sus, pe baza unei analize fenomenologice a
parametrilor sistemului se poate presupune că s-au stabilit următoarele: un
parametru este de importanţă maximă, trei parametri sunt de importanţă medie,
iar unul are o importanţă relativ redusă.
Timpul de calcul pentru simulare devine:
Ts = (101 x 3
3 x 1
1) x 10
3 x 10
-1 = 27 x 10
3 sec 7,5 ore (2.29)
Efectul clasificării prezentată mai sus este cu atât mai spectaculos cu cât
numărul de parametrii ai sistemului de producţie simulat este mai mare.
Identificaţi variabilele de decizie şi de stare pentru cazul procesului de
fabricaţie al inelelor de rulmenţi.
36
2.6.1 Stabilirea unor corelaţii între variabilele sistemului
Majoritatea relaţiilor dintre variabilele care descriu funcţionalitatea unui sistem sunt de
natură aleatoare. În plus, datorită erorilor de măsurare, chiar relaţiile deterministe au un
caracter aleator (evident mai puţin pronunţat decât în cazul relaţiilor de natura aleatoare).
Rezultă că este necesar să se analizeze gradul de dependenţă dintre toate variabilele sistemului
de producţie.
Evident că analiza poate fi redusă, în sensul de a se folosi analogiile cu alte cazuri
cunoscute. Dacă pe baza unor cercetări s-a dovedit independenţa a două variabile x şi y, iar în
sistemul analizat condiţiile sunt similare, se poate considera că această proprietate se
păstrează. Dacă a fost dovedită o anumită dependenţă pentru sisteme analoge cu cel studiat ,
se poate admite că această dependenţă se menţine.
Dacă se pot efectua măsurători, dar în număr restrâns, se poate introduce o corecţie a
funcţiei de dependenţă stabilită pentru sistemul analog, de forma:
y f x (2.30)
În sistemul analizat, fie variabilele X şi Y. Se poate admite , în baza analogiei dintre cele
două sisteme, că:
Y c f X (2.31)
Pentru a stabili constanta c se consideră o selecţie a perechilor de variabile (xi, yi) din
sistemul analog precum şi selecţia analogă corespunzătoare din sistemul analizat (Xi, Yi). Se
obţine:
y f
Y c f X
cYy
f xf X
i x
i i i
iii
i
i
i
.
.
(2.32)
unde s-a notat cu ci o valoare particulară a constantei c.
Pentru un număr n de măsurători, valoarea constantei c va fi:
c
c
ni
n
i
(2.33)
Cu cât se dovedeşte mai mult că variabila c nu are un caracter aleator pronunţat, cu atât
ipoteza este mai bună.
În cazul în care nu se pot stabili nici un fel de analogii între sistemul analizat şi alte
sisteme, se consideră mai întâi perechea de variabile (X, Y), efectuându-se o serie de
măsurători asupra valorilor xi şi yi corespunzătoare acestora. Se aplică apoi teoria corelaţiei,
calculându-se coeficientul de corelaţie.
Coeficientul corelaţiei simple de sondaj indică intensitatea interdependenţei liniare
dintre variabilele aleatoare normale X, Y şi este definit prin relaţia:
37
Rn x y y x
n x x n y y
x y
i i ii
n
i
ni
i
n
i
n
i ii
ni
i
ni
i
n,
11 1
1 1
22
1 1
2
2
(2.34)
Dacă acest coeficient este apropiat de 1, se conchide că există o corelaţie strânsă şi se
acceptă o dependenţă liniară.
Pentru valori mai mici, se încearcă alte tipuri de relaţii (de gradul doi, exponenţiale
etc.). În cazul în care coeficientul de corelaţie este nul se consideră că variabilele sunt
independente.
O particularitate a dependenţelor între unele variabile ale sistemelor constă în decalarea
apariţiei efectului faţă de apariţia cauzei.
Exemple
În cazul unor investiţii realizate la un moment dat, nu se constată o creştere
imediată a volumului producţiei. Această creştere poate fi înregistrată numai
după darea în funcţiune a noilor capacităţi de producţie şi atingerea parametrilor
proiectaţi. În această situaţie, datele culese sunt de forma (X t, Yt), unde t
reprezintă perioada în care s-au efectuat măsurătorile. Pentru şirul de perechi fără
decalaj (Xt , Yt) nu se constată o corelaţie bună. Din această cauză se încearcă a
se găsi corelaţii de forma (Xt, Yt+k), unde k reprezintă decalajul mediu dintre cele
două fenomene.
Se recomandă să se efectueze încercări în jurul valorii medii k pentru a se
stabili decalajul care conduce la cea mai bună corelaţie. În mod similar, în cazul
apariţiei unui eveniment perturbator Ep, este posibil ca efectele asupra
parametrilor de stare să apară după un timp p. De asemenea, chiar în cazul în
care efectele apar imediat, este posibil ca măsurile de înlăturare a consecinţelor
negative să fie amânate cu un interval de timp p .
Complexitatea sistemelor de producţie obligă însă la studiul dependenţei dintre mai
multe variabile. În acest scop este necesar să se aplice teoria corelaţiei multiple şi analiza
factorială.
2.6.2 Stabilirea limitelor admisibile ale variabilelor şi parametrilor.
În timpul evoluţiei sistemului de producţie, o serie de variabile sau de funcţii nu trebuie
să depăşească anumite limite date (de exemplu, nivelul resurselor disponibile), adică:
Xi < LiS
sau Xj LjS (2.35)
F(X1, X2, ...Xp) < LS
1,2...p (2.36)
F( X1, X2, ...Xq) LS
1,2...q (2.37)
38
În alte cazuri, dimpotrivă, se impune ca variabilele sau funcţiile să depăşească anumite
limite date, adică:
Xi > LIi sau Xj L
Ij (2.38)
F(X1, X2....Xp) > LI1,2...p (2.39)
F(X1, X2 ....Xq) LI1,2 ...q (2.40)
Există de asemenea posibilitatea de a impune atât o limită inferioară cât şi o limită
superioară, aceleiaşi variabile sau aceleiaşi funcţii , adică să se impună simultan restricţii de
tipurile de mai sus.
Stabilirea limitelor admisibile, inferioare sau superioare ale variabilelor, comportă două
etape:
În prima etapă se culeg informaţii cu aspect calitativ. Pe baza unui schimb de
informaţii cu alte sisteme (furnizori, beneficiari etc.) sau a unor date din interiorul sistemului,
se precizează cât de puternică este restricţia considerată. Din acest punct de vedere, restricţiile
se clasifică în:
restricţii rigide, la care nerespectarea într-un procent foarte mic conduce la o
penalizare foarte mare. Restricţiile rigide sunt de natură deterministă şi au forma (2.35) -
(2.40).
restricţii slabe, la care nerespectarea într-un procent mic conduce la o penalizare
mare (dar care nu tinde către infinit) şi numai la depăşirea cu un procent mare penalizările
devin foarte mari.
Restricţiile slabe sunt de natură probabilistică sau fuzzy. O restricţie de natură
probabilistică are de exemplu forma:
P L F x x x LIm m
sm m( ( , ... ) ), ... , ... , ...1 2 1 2 1 2 1 2 (2.41)
unde 1,2 ...m reprezintă o probabilitate dată adminisibilă.
Această restricţie se mai poate scrie şi în sens fuzzy, sub forma:
L F x x x LIm m
sm1 2 1 2 1 2, ... , , ,...( ... ) (2.42)
Există de asemenea posibilitatea de a se scrie relaţiile (2.41) sau (2.42) sub formă
deterministă, ataşând costuri de penalizare CP , care depind de depăşirea limitelor admisibile.
Evident, dacă limitele admisibile nu se depăşesc, costurile de penalizare CP sunt nule. Dacă o
limită superioara Lsj sau inferioară L
Ij este depăşită cu un anumit procent j
S sau j
I , atunci
penalizarea este o funcţie f de acest procent, respectiv:
C f sau C fpS
s jS
pI
I jI ( ) ( ) (2.43)
Deci în prima etapă se stabileşte numai faptul dacă restricţiile sunt rigide sau slabe.
În etapa a doua se culeg informaţii cu aspect cantitativ. Ţinându-se seama de natura
restricţiilor, se stabilesc parametrii caracteristici. În cazul restricţiilor rigide se stabilesc
limitele superioare Lsj sau inferioare L
Ij, iar în cazul restricţiilor slabe se stabilesc atât limitele
39
superioare L
S1,2,...m sau inferioare L
I1,2,...m cât şi probabilitatea limită admisibilă 1 2, ,...m.
Probabilitatea limită se stabileşte fie pe bază de apreciere, consultând mai mulţi specialişti, fie
pe baza unor analize statistice a datelor din perioadele precedente.
În cazul utilizării mulţimilor vagi (fuzzy) este necesar să se stabilească o serie de grade
de apartenenţă. În acest scop se pot folosi diverse funcţii (mai ales exponenţiale) ai căror
parametri se determină astfel ca să satisfacă unele condiţii impuse de specialişti.
Exemple
- o maşină unealtă, poate funcţiona lunar cel mult 180 ore;
- un anumit tip de produs aparţinând nomenclatorului de producţie al firmei
trebuie să ocupe cel mult X % şi cel puţin Y% din totalul producţiei pe o
anumită perioadă de timp;
- beneficiul total al firmei trebuie să aibă o valoare de Z unităţi monetare
etc.
Daţi exemple de alte tipuri de restricţii ce apar în diverse procese de
producţie.
Să ne reamintim...
Variabilele sunt acele mărimi care se schimbă atât în cursul unui ciclu de
simulare, cât şi de la un ciclu la altul.
Parametrii sunt constanţi, în cadrul unui ciclu de simulare, dar se pot
schimba de la un ciclu de simulare la altul.
În cadrul unui sistem de producţie se întâlnesc variabile de decizie şi
variabile de stare.
Există şi alte tipuri de variabile în cadrul sistemului de producţie , cum sunt:
variabila de intrare, variabila perturbatoare, variabila de ieşire.
Este necesar să se analizeze gradul de dependenţă dintre toate variabilele
sistemului de producţie, datorită faptului că majoritatea relaţiilor dintre variabilele
care descriu funcţionalitatea unui sistem sunt de natură aleatoare şi datorită apariţiei
erorilor de măsurare, caz în care, chiar relaţiile deterministe au un cara cter aleator.
În timpul evoluţiei sistemului de producţie, o serie de variabile sau de funcţii
nu trebuie să depăşească anumite limite date (de exemplu, nivelul resurselor
disponibile)
Modelele de simulare conţin aşadar variabile sau funcţii pentru care s -a
impus atât o limită inferioară cât şi o limită superioară.
40
2.7. Rezumat
o În simularea oricărui sistem, existent sau în curs de proiectare, intervin
variabile de intrare/ieşire care urmează o anumită repartiţie statistică.
o Pentru stabilirea repartiţiei este necesară executarea unei selecţii din care să
fie deduse tipul repartiţiei şi parametrii acesteia.
o Apoi, prin simulare, pot fi generate valori ale acestor variabile aleatoare cu
ajutorul generatoarelor de date. Orice generare de valori ale variabilelor aleatoare
are la bază un generator de numere aleatoare uniform distribuite pe un interval dat
(0, M), M fiind un număr întreg.
o Există mai multe metode de generare a numerelor aleatoare, cum ar fi:
metode manuale, metode fizice, metode de memorizare, metode analitice.
o Generarea numerelor aleatoare cu repartiţie dată se efectuează în două etape.
În prima etapă se generează numere aleatoare cu o repartiţie uniformă, iar în a doua
etapă se aplică un algoritm care asigură transformarea repartiţiei uniforme în
repartiţia dată.
Există mai multe metode de generare a numerelor aleatoare cu repartiţie
dată: metoda jobenului, metoda transformatei inverse, metoda compunerii, metoda
respingerii etc.
2.8. Test de evaluare a cunoştinţelor
1. Enumeraţi câteva dintre caracteristicile unui generator de numere aleatoare.
2. Care sunt diferenţele dintre datele dinamice, statice şi datele cinematice?
3. Ce fel de erori pot afecta corectitudinea datelor culese despre evoluţia unui
fenomen?
4. Ce înţelegeţi prin variabilă deterministă / variabilă a leatoare?
5. Câte metode de generare a variabilelor aleatoare cunoaşteţi?
6. Care sunt tipurile de restricţii ce se pun variabilelor şi parametrilor?
7. Care sunt diferenţele dintre variabilele de decizie şi variabilele de stare?
8. Care este diferenţa dintre variabilă şi parametru?
41
Unitatea de învăţare U3. Evenimente, strategii, funcţii obiectiv
Cuprins
3.1. Introducere ................................ ................................ ................................ ............. 39
3.2. Competenţe ................................ ................................ ................................ ............ 39
3.1. Introducere
Realizarea unui experiment de simulare este un proces care se desfăşoară, de
obicei, în mai multe etape. Unitatea de învăţare conţine alte etape pentru realizarea
unui experiment de simulare: Stabilirea evenimentelor care apar în sistem;
Stabilirea unor strategii privind evoluţia evenimentelor sistemului; Stabilirea
funcţiilor obiectiv ale sistemului.
3.2. Competenţe
După parcurgerea acestei unităţi de învăţare studenţii vor putea să:
înţeleagă modul de stabilire a evenimentelor care apar în sistem şi a relaţiilor
dintre acestea;
înţeleagă modul de stabilire a unor strategii privind evoluţia evenimentelor
sistemului;
înţeleagă modul de stabilire a funcţiilor obiectiv ale sistemului.
Durata medie de parcurgere a acestei unităţi de învăţare este de 3 ore.
3.3. Stabilirea evenimentelor care apar în sistem şi a relaţiilor dintre acestea
Un element important al simulării îl constituie producerea şi eşalonarea în timp a
evenimentelor. Prin eveniment se înţelege modificarea cel puţin a unui parametru prin care se
descrie starea uneia sau a mai multor componente ale sistemului. Pregătirea simulării
sistemului presupune implicit definirea evenimentelor care intervin în evoluţia sistemului
studiat. Elaborarea schemei de simulare prin calcul necesită, în plus, specificarea
condiţionărilor (legăturilor) dintre evenimente.
În figura 3.1 se prezintă simbolurile grafice folosite pentru diverse tipuri de condiţionări
între evenimentele A şi B.
Evenimentele se pot clasifica după următoarele criterii:
natura evenimentelor;
42
natura condiţionărilor (legăturilor);
caracterul prelucrării;
posibilităţile de prevedere;
acţiunea asupra parametrilor de stare.
a) b)
c) d)
Figura 3.1
În funcţie de natura lor, evenimentele pot fi:
evenimente sistem, care reprezintă evenimente ale sistemului
Exemple
În categoria evenimentelor sistem pot fi incluse: intrarea unui material în stoc,
consumul unui material dintr-un depozit etc.
evenimente program, care reprezintă evenimente asociate programului de
prelucrare a datelor
Exemple
În categoria evenimentelor program pot fi incluse următoarele: imprimarea
parametrilor de stare ai componentelor sistemului la o perioadă predeterminată,
terminarea calculelor când un anumit test este satisfăcut etc.
Daţi exemple de alte evenimente care reprezintă evenimente ale unui sistem de
producţie şi de evenimente program.
În funcţie de natura condiţionărilor, evenimentele pot fi:
evenimente contigente, a căror apariţie este condiţionată de apariţia altor evenimente
(de exemplu, evenimentul “satisfacerea unei cereri” este condiţionat de evenimentul “apariţia
unei cereri”);
evenimente noncontigente, a căror apariţie nu este legată de apariţia altor evenimente
în sistem (de exemplu, evenimentul “apariţia unei cereri suplimentare pentru un anumit
produs” este independent de evenimentul “ achiziţionarea de către firmă a unor ca lculatoare”).
În funcţie de caracterul prelucrării asociate apariţiei evenimentului:
evenimente care nu necesită decizii, deci a căror prelucrare nu necesită decizii;
evenimente cu decizii, care la rândul lor pot fi:
B
B
A
A
B
B
A
A
43
Evenimente strict solidare (producerea lui A atrage după sine în mod sigur producerea
lui B - figura 3.1.a).
Exemplu
Evenimentul “intrarea în stoc a unei cantităţi dintr-un material” implică totdeauna
evenimentul “creşterea stocurilor materiale”.
Evenimentele parţial solidare ( producerea lui A poate determina cu o probabilitate
dată producerea lui B - figura 3.1.b).
Exemplu
Evenimentul “intrarea unui client într-un magazin” poate conduce uneori la
generarea evenimentului “servirea clientului”.
Evenimentele strict divergente (producerea lui A atrage după sine în mod sigur
anularea lui B - figura 3.1.c).
Exemple
Evenimentul “reducerea creditului” inhibă evenimentul “creşterea stocurilor de
materiale”; „creşterea dobânzilor la bănci” inhibă evenimentul „creşterea
solicitărilor pentru creditele de consum”.
Evenimente parţial divergente (producerea lui A poate determina cu o anumită
probabilitate anularea lui B - figura 3.1.d).
Exemplu
Evenimentul “premierea unui muncitor” poate inhiba în unele cazuri apariţia
evenimentului “neglijenţă în muncă”.
În modelele de simulare, între clasele de evenimente pot exista toate tipurile de
dependenţă precizate anterior (figura 3.2).
În funcţie de posibilităţile de prevedere, evenimentele pot fi:
evenimente previzibile (apariţia lor decurge după plan);
evenimente perturbatoare (apariţia lor nu poate fi stabilită anticipat şi care acţionează
de cele mai multe ori, în defavoarea obiectivelor sistemului).
Figura 3.2
E
G
F
B
D
A
C
44
În funcţie de acţiunea asupra variabilelor sau parametrilor de stare, evenimentele
pot fi clasificate astfel:
evenimente cu acţiune imediată , care modifică parametrii începând chiar din
momentul apariţiei lor.
Exemplu
Evenimentul “întreruperea curentului electric” modifică variabila “maşină-
unealtă”, trecând-o din starea “funcţionare” în starea “aşteptare”.
evenimente cu acţiune întârziată, care modifică parametrii numai după trecerea unei
perioade de timp.
Exemplu
Evenimentul “suplimentarea unei cereri pentru un produs”, modifică variabila
“mărimea stocului” conducând la necesitatea aprovizionării cu un surplus de
material, dar, până la momentul achiziţionării acestui surplus se poate consuma
din stocul existent .
Pentru a se uşura munca de construire a schemei logice a modelului de simulare este
util ca, în prealabil, să se construiască o listă care să cuprindă toate tipurile de evenimente
împreună cu tipurile de dependenţe dintre ele.
Daţi şi alte exemple de evenimente (de diferite tipuri) care pot să apară în
sistemele de producţie.
3.4. Stabilirea unor strategii privind evoluţia evenimentelor sistemului.
Strategiile reprezintă reguli de construire a diverselor succesiuni de variante privind
evoluţia parametrilor de stare ai sistemului de producţie. Decidenţii unui sistem de producţie
dispun de două grupe de strategii:
strategii de prevenire a evenimentelor perturbatoare;
strategii de aşteptare.
3.4.1 Strategii de prevenire.
Dacă se dispune de un minim de informaţii necesare, decidenţii preferă să aplice o serie
de strategii menite să prevină apariţia evenimentelor perturbatoare. În acest caz este necesar
să se stabilească strategiile posibile de prevenire SP a evenimentelor perturbatoare sau cel
puţin o selecţie a unor astfel de strategii.
Exemplu
În cazul unor utilaje, este posibil să se efectueze unele reparaţii înainte de a apare
defecţiunile. În această situaţie există însă un număr mare de strategii posibile
cum ar fi:
de a se efectua reparaţiile cu un decalaj mare de timp i , înainte de
45
momentul cel mai probabil al apariţiei defecţiunilor (ceea ce costă relativ mult,
dar conduce la o siguranţă mai mare în funcţionare);
de a se efectua reparaţiile cu un decalaj de timp i mai mic, înainte de acest
moment (ceea ce conduce la un cost mai redus al reparaţiilor, dar scade siguranţa
în funcţionare).
Din punct de vedere practic, numărul acestor strategii se poate reduce foarte mult,
considerând numai diverse decalaje de timp i’ între momentul efectuării reparaţiei şi
momentul apariţiei defecţiunilor. Se constată că, din punct de vedere practic, există un decalaj
max, care nu poate fi depăşit (deoarece frecvenţa reparaţiilor devine prea mare, deci costul
reparaţiilor ar fi prohibitiv). Ca valoare minimă a decalajului se poate lua, de exemplu, chiar
min = 0 (dacă s-ar considera valori negative atunci s-ar obţine de fapt strategii de aşteptare).
Având în vedere faptul că, din punct de vedere practic, nu se poate opera cu unităţi de timp
mai mici decât “ziua calendaristică”, numărul strategiilor posibile pentru exemplul prezentat
este, în general, de ordinul unităţilor (numai la utilajele cu ciclu mare de reparaţie ar putea
ajunge de ordinul zecilor).
În unele cazuri, strategiile posibile s-ar putea stabili cu ajutorul unui algoritm, constituit
din operaţii logice sau aritmetice. În cazul când numărul acestor strategii ar fi prea mare, se
pot genera numere aleatoare, cu ajutorul cărora să se extragă numai o selecţie a strategiilor
posibile.
În cadrul unei abordări mai generale a sistemului, se consideră mai multe strategii S1,
S2,...Sn cărora li se ataşează la fiecare moment probabilităţile p1(t), p2(t), ... pn(t) de a fi
aplicate. Rezultă astfel următoarea clasificare a strategiilor de prevenire SP:
Strategii necondiţionate de răspunsurile unor sisteme externe, care pot fi deterministe
sau aleatoare:
strategii deterministe, în cazul cărora se poate scrie relaţia:
pi(t) = 1 (3.1)
Aceste strategii, la rândul lor, pot fi:
strategii deterministe pure, dacă:
pi(t) = 1 , t (3.2)
unde t(0,T) este orizontul de timp;
strategii deterministe alternante după anumite reguli, dacă:
pi(t)=1; pj(t’) = 1; pk(t”)=1 etc. (3.3)
relaţia dintre (i,j,k,...) şi (t,t’, t”...) fiind bine precizată.
strategii aleatoare, care la rândul lor pot fi:
strategii aleatoare uniforme, dacă:
p t n i n ti 1
1 2, , ... , ; (3.4)
46
strategii aleatoare cu repartiţie dată (strategii mixte). Repartiţia dată poate fi:
- staţionară, dacă:
pi(t)= pi, i=1,2,...n; (3.5)
- nestaţionară, dacă:
pi(t) = i (t), i=1,2,...n, (3.6)
unde i reprezintă o funcţie oarecare.
Strategii condiţionate de răspunsurile unor sisteme externe:
strategii condiţionate în mod determinist, în cadrul cărora la fiecare răspuns al
sistemelor exterioare se aplică o anumită strategie;
strategii condiţionate în mod probabilistic, în cadrul cărora la fiecare răspuns al
sistemelor exterioare se pot aplica diverse strategii, fiecare având o anumită probabilitate.
Cunoscând strategiile posibile, se pune problema stabilirii consecinţelor Kp ale aplicării
fiecărei strategii. Aceste consecinţe constau fie în modificări ale probabilităţilor de apariţie a
evenimentelor perturbatoare, fie în modificări ale parametrilor de stare ai componentelor.
Cunoscând aceste consecinţe, trebuie calculate două feluri de costuri:
costul de aplicare al strategiei de prevenire (faţă de situaţia neaplicării acestor
strategii);
costul consecinţelor aplicării strategiei de prevenire (faţă de situaţia neaplicării
acestei strategii).
Exemplu
Se poate considera cazul reparaţiilor unor maşini, ca în exemplul
prezentat anterior. Costul aplicării strategiei de a se executa o reparaţie cu i zile
înainte de momentul cel mai probabil de apariţie a defecţiunilor se poate estima
considerând reducerea ciclului mediu de reparaţie T . Costul reparaţiilor creşte
deci în raportul: iT
T
. În schimb, probabilitatea de apariţie a defecţiunilor
înainte de efectuarea reparaţiei pd scade foarte mult pe măsură ce decalajul i
este mai mare. Trebuie stabilită deci o relaţie de forma:
pd = fd( i ) (3.7)
unde fd este o funcţie oarecare (discretă sau continuă, deterministă sau
aleatoare). Cunoscând şi penalizarea pentru apariţia unei defecţiuni, se pot calcula
valorile medii ale costurilor consecinţelor aplicării strategiei considerate.
În general, costurile de aplicare a unei strategii depind de frecvenţa de aplicare şi costul
mediu al realizării strategiei respective. Aplicarea unei strategii are unele efecte asupra
costurilor de producţie, conducând în majoritatea cazurilor la economii ale acestui ind icator.
Daţi exemple de strategii de prevenire pentru un sistem de producţie din sfera
dumneavoastră de activitate.
47
3.4.2 Strategii de aşteptare
În cazul când nu se dispune nici cel puţin de un minim de informaţii, se aplică
strategii de aşteptare a evenimentelor perturbatoare. Chiar dacă se aplică strategii de
prevenire, evenimentele perturbatoare tot vor apare! (evident cu o probabilitate mai mic ă).
Datorită apariţiei evenimentelor perturbatoare, vectorul de stare al sistemului nu se mai
găseşte în domeniul admisibil (deoarece se poate depăşi cel puţin una din limitele admisibile).
Decidentul trebuie să dispună în acest caz de o serie de strategii posibile de modificare SM,
care să-i permită readucerea parametrilor de stare în limitele admisibile.
Exemplu
O întreprindere şi-a propus ca volumul producţiei zilnice xi al unui anumit
produs să depăşească o anumită limită inferioară LiI
, adică:
x Li iI (3.8)
în condiţiile unui anumit coeficient al schimburilor (de exemplu c = 1 < 3). Dacă
însă, datorită unor perturbaţii, se realizează numai un volum xi* , cu proprietatea
că: xi*
< LiI
(3.9)
atunci întreprinderea dispune de strategia de a mări coeficientul schimburilor de
la 1 la maximum 3. Încercând cu c = 2 , variabila xi* se măreşte cu o cantitate
xi . Dacă: xi* + xi > Li
I (3.10)
atunci mărirea coeficientului schimburilor de la 1 la 2 constituie o strategie
posibilă de modificare a parametrilor sistemului.
Şi în acest caz există, în unele situaţii, un număr imens de strategii posibile, din
care însă se poate extrage numai o selecţie.
Există însă şi cazuri când, orice strategie s-ar aplica, sistemul nu mai poate fi readus în
limitele admisibile. Aceasta se întâmplă mai ales în cazul restricţiilor slabe de forma (2.38)
sau (2.39). Evident, în această situaţie, trebuie stabilite strategiile care realizează o depăşire
minimă a limitei admisibile.
În unele cazuri, strategiile SM de modificare a parametrilor de stare care permit
readucerea unor parametri în limitele admisibile, pot avea şi unele efecte nedorite asupra altor
parametri ai sistemului. Rezultă necesitatea de a se stabili pentru fiecare strategie consecinţele
KM asupra tuturor parametrilor de stare ai sistemului.
Pentru fiecare strategie de modificare SM se stabilesc costurile aferente CM, care se
compun din:
costuri de aplicare a strategiilor;
costuri corespunzătoare consecinţelor aplicării strategiilor.
Aplicarea unei strategii SM de modificare a sistemului la parametri admisibili are în
general un efect favorabil asupra costului de producţie, care poate fi interpretat ca o
“recompensă” aferentă unei anumite strategii.
48
Înainte de efectuarea simulării nu se cunosc nici probabilităţile Pp nici probabilităţile Pm
în care trebuie aplicate strategiile de prevenire SP, respectiv de modificare SM, astfel ca să se
obţină performanţe optime în cadrul sistemului. Aceste probabilităţi se pot însă stabili pe baza
unor date statistice din trecut sau pe bază de apreciere.
Aplicând una din metodele cunoscute ale teoriei deciziilor de grup se pot stabili
priorităţi de aplicare ale strategiilor de prevenire SP sau ale strategiilor de modificare SM. Pe
baza acestor priorităţi, se pot evalua apoi probabilităţile de aplicare a strategiilor. O metodă
mai rapidă de evaluare a acestor probabilităţi ar putea fi utilizarea relaţiei:
pNNii
(3.11)
în care:
pi - probabilitatea de aplicare a strategiei de prevenire sau modificare de rang i (Si);
Ni - numărul de specialişti care au exprimat preferinţe pentru strategia S i;
N - numărul total de specialişti.
Vectorii Pp şi Pm constituie vectori aleatori, având numai rol de iniţializare în program.
În timpul rulării programului, pe baza anumitor reguli de decizie, se vor alege strategiile de
prevenire SP sau de modificare SM care tind să optimizeze performanţele sistemului. Deci, în
final, vectorii aleatori Pp şi Pm se modifică, din care cauză elementele iniţiale ale acestor
vectori nu necesită o precizie mare.
Să ne reamintim...
Prin eveniment se înţelege modificarea cel puţin a unui parametru prin care
se descrie starea uneia sau a mai multor componente ale sistemului.
Pregătirea simulării sistemului presupune implicit definirea evenimentelor
care intervin în evoluţia sistemului studiat.
Elaborarea schemei de simulare prin calcul necesită, în plus, specificarea
condiţionărilor (legăturilor) dintre evenimente.
În cazul simulării sistemelor de producţie se pot defini mai multe categorii de
evenimente.
În modelele de simulare, între clasele de evenimente pot exista diferite tipuri
de dependenţă.
Construirea schemei logice a modelului de simulare este facilitată dacă , în
prealabil, se întocmeşte o listă care să cuprindă toate tipurile de evenimente
împreună cu tipurile de dependenţe dintre ele.
Strategiile reprezintă reguli de construire a diverselor succesiuni de varia nte
privind evoluţia parametrilor de stare ai sistemului de producţie.
Decidenţii dispun de două tipuri de strategii: strategii de prevenire şi strategii
de aşteptare.
49
3.5. Stabilirea funcţiilor obiectiv ale sistemului
Sistemul de producţie este, în majoritatea cazurilor, un sistem cu mai multe funcţii
obiectiv.
Exemple
La nivel microeconomic funcţii obiectiv pot fi:
costul de producţie;
beneficiul;
productivitatea muncii;
consumul de energie etc.
În prima etapă este necesară stabilirea tuturor acestor funcţii obiectiv.
În etapa a doua este necesară stabilirea formei funcţiei obiectiv (liniară, neliniară etc.)
precum şi a naturii acestei funcţii (deterministă, aleatoare etc.).
În cazul când funcţia obiectiv este deterministă, se stabilesc coeficienţii care intervin în
calculul acesteia. În acest scop se prelucrează o serie de date statistice (cheltuieli, preţuri,
consumuri specifice etc.).
În cazul în care natura funcţiei este aleatoare, în afara coeficienţilor menţionaţi mai sus,
se stabilesc coeficienţi de risc.
Aşa cum s-a arătat, trebuie stabilite consecinţele apariţiei evenimentelor perturbatoare
(care provoacă în unele cazuri depăşirea limitelor admisibile ale parametrilor de stare) asupra
funcţiilor obiectiv. De asemenea, trebuie să se precizeze legea după care variază funcţiile
obiectiv în cazul aplicării unor strategii de prevenire SP sau a unor strategii de modificare SM
a parametrilor de stare.
În cazul aplicării strategiilor de prevenire SP, efectul asupra funcţiilor obiectiv este
următorul:
o creştere a costurilor totale, datorată costului aplicării strategiilor de prev enire SP;
o reducere a probabilităţilor de apariţie a evenimentelor perturbatoare şi prin aceasta,
o reducere a costurilor.
Efectul global va fi acela de reducere a costurilor faţă de varianta nefolosirii strategiilor
de prevenire.
În cazul aplicării strategiilor de modificare SM, efectele asupra funcţiilor obiectiv sunt
următoarele:
o creştere a costurilor totale, datorată costurilor de aplicare a strategiilor de
modificare SM;
o reducere a costurilor, datorată readucerii sistemului în limitele admisibile.
Efectul global va fi, şi în acest caz, de reducere a costurilor faţă de neaplicarea
strategiilor de modificare.
În cazul în care este respectată condiţia independenţei criteriilor se consideră că există
proprietatea de aditivitate multidimensională, ceea ce permite construirea unei funcţii obiectiv
50
globală. În acest scop se stabilesc mai întâi coeficienţii de importanţă ai fiecărei funcţii
obiectiv, prin consultarea unui grup de specialişti. Apoi, prin aplicarea teoriei deciziilor de
grup şi teoriei deciziilor multidimensionale, se construieşte funcţia obiectiv globală.
În faza premergătoare rulării programului de simulare, se poate elabora un algoritm de
construire a funcţiei obiectiv globală. După efectuarea unui număr semnificativ de cicluri de
simulare prin care se estimează valorile tuturor funcţiilor obiectiv, devine posibilă, prin
aplicarea acestui algoritm, construirea funcţiei obiectiv globală.
Exemple
1: Presupunem că funcţia obiectiv este beneficiul întreprinderii.
Se presupune că, la un moment dat, stau la dispoziţie mai multe resurse
(materie primă, forţă de muncă, maşini-unelte, resurse financiare etc.) date în
cantităţi corespunzătoare. Cu ajutorul acestor resurse pot fi desfăşurate activităţi
de producţie. Se notează cu Pj, 1 j n , unul din produsele ce pot fi realizate şi
cu xj nivelul (cantitatea) necunoscut al acestui produs care trebuie determinat.
Se notează cu cj beneficiul pe care întreprinderea producătoare îl va avea
realizând şi valorificând o unitate din produsul Pj. În general, acest beneficiu este
pozitiv, dar poate fi şi negativ în cazul în care întreprinderea lucrează în pierdere
la acest produs.
Beneficiul adus de întregul nivel de producţie xj va fi egal cu ci xj , iar
pentru toate produsele întreprinderii considerate, acesta va fi notat cu f şi va avea
expresia:
f c x c x c x c x c xj j n n j jj
n
1 1 2 2
1... ... (3.12)
Problema care se pune este de a găsi acea variantă de producţie (sau acele
variante) care face ca funcţia f să fie maximă.
max f c xjj
nj
1 (3.13)
Aceasta va fi funcţia obiectiv a modelului matematic de simulare care descrie
problema economică a beneficiului întreprinderii.
2. Să admitem că funcţia obiectiv este costul de producţie.
Se presupune că în decursul a n luni trebuie realizate ri, 1 i n , unităţi
dintr-un anumit produs. Funcţionarea normală a întreprinderii permite un volum
de producţie de xi, 1 i n , unităţi pe lună. Din anumite considerente, se poate
prevede o producţie suplimentară de yi, 1 i n , unităţi lunare.
Costurile unitare de producţie sunt egale cu ci pentru producţia normală şi cu
ci pentru cea suplimentară, iar costurile unitare de stocare lunară sunt egale cu di
, 1 i n .
51
Trebuie să se stabilească cât anume trebuie să realizeze întreprinderea în orar
normal, cât în orar suplimentar şi cât anume să stocheze din producţie, pentru a
avea cheltuieli totale minime.
Se notează cu:
xi - o unitate din produsul Pi ce se realizează în orar normal în luna i;
yi - o unitate din produsul Pi ce se realizează în orar suplimentar în luna i;
Si - cantitatea din produsul Pi care se stochează în luna i.
Costul total al producţiei va fi:
f c x c y c x c y d Si i i i i ii
n
1 1 1 1
2 (3.14)
Costul total trebuie să fie cât mai mic, deci relaţia de mai sus devine:
min f c x c y c x c y d Si i i i i ii
n
1 1 1 1
2 (3.15)
Aceasta constituie funcţia obiectiv a modelului matematic de simulare a
problemei economice a costurilor minime de producţie.
Scrieţi modelul matematic (funcţia obiectiv şi restricţiile) pentru
următoarea aplicaţie:
Pentru a fabrica două produse P1 si P2 este necesar să se execute operaţii de
prelucrare pe trei maşini M1, M2 şi M3, în mod succesiv, ordinea operaţiilor
fiind indiferentă. Timpii unitari de execuţie sunt prezentaţi în tabelul 1. Se
presupune că maşinile nu au timpi morţi, provocaţi de aşteptarea unui produs
aflat în curs de prelucrare la o altă maşină, datorită faptului că nu există preferinţe
în ordinea operaţiilor.
Tabelul 1
PRODUSUL Timp [minute]
M1 M2 M3
P1 11 7 6
P2 9 12 16
Condiţionările din procesul de producţie sunt :
- maşina M1 poate funcţiona cel mult 165 ore ;
- maşina M2 poate funcţiona cel mult 140 ore ;
- maşina M3 poate funcţiona cel mult 160 ore şi cel puţin 120 ore.
Beneficiul pentru o unitate de produs x1 este de 900 u.b pentru produsul P1 , iar
pentru produsul P2 beneficiul pentru o unitate de produs x 2 este de 1000 u.b.
Să se determine câte unităţi x1 şi x2 din fiecare produs trebuie fabricate lunar,
pentru a obţine, în condiţiile date, un beneficiu total maxim .
52
3.6. Rezumat
Prin eveniment se înţelege modificarea cel puţin a unui parametru prin care se
descrie starea uneia sau a mai multor componente ale sistemului.
Strategiile reprezintă reguli de construire a diverselor variante privind evoluţia
parametrilor de stare ai sistemului, existând două grupe de strategii:
strategii de prevenire a evenimentelor perturbatoare;
strategii de aşteptare.
Simularea funcţionării sistemului se poate face în ipoteza aplicării unor strategii
de prevenire a apariţiei evenimentelor perturbatoare sau a unor strategii de
modificare a parametrilor de stare, în cazul unor abateri semnificativ de mari a
parametrilor de stare efectivi faţă de limitele admisibile.
Sistemul de producţie este un sistem, în majoritatea cazurilor cu mai multe
funcţii obiectiv, de aceea, în prima etapă a construirii modelului de simulare, este
necesar să se identifice toate funcţiile obiectiv, apoi forma şi natura funcţiei
obiectiv.
3.7. Test de autoevaluare a cunoştinţelor
1. Restricţiile rigide care sunt impuse limitelor admisibile ale variabilelor şi
parametrilor se caracterizează prin:
a. nerespectarea lor într-un procent mic duce la o penalizare mică;
b. nerespectarea lor într-un procent mic nu duce la penalizări;
c. nerespectarea lor într-un procent mic duce la o penalizare mare.
2. Evenimentele perturbatoare se caracterizează prin:
a. apariţia lor poate fi prevăzută cu certitudine;
b. apariţia lor nu poate fi prevăzută;
c. apariţia lor duce la stabilizarea sistemului.
3. Strategiile de prevenire se aplică atunci când:
a. nu se dispune de informaţii privind sistemul studiat;
b. se dispune de informaţii foarte puţine privind sistemul studiat;
c. se dispune de informaţii suficiente privind sistemul studiat.
4. În cazul aplicării strategiilor de prevenire, efectul asupra funcţiilor obiectiv va fi:
a. de creştere a costurilor totale;
b. de menţinere constantă a costurilor totale;
c. de reducere a costurilor totale.
3.8. Răspunsurile testului de autoevaluare a cunoştinţelor
1. c; 2. b; 3. c; 4. a.
53
Unitatea de învăţare U4. Elaborarea algoritmului, validarea
modelului şi a programului
Cuprins
4.1. Introducere ................................ ................................ ................................ ............. 51
4.2. Competenţe ................................ ................................ ................................ ............ 51
4.1. Introducere
Realizarea unui experiment de simulare este un proces care se desfăşoară, de
obicei, în mai multe etape. Unitatea de învăţare conţine ultimele două etape pentru
realizarea unui experiment de simulare: Elaborarea algoritmului şi scrierea
programului de simulare, şi, Validarea modelului şi a programului de calcul.
4.2. Competenţe
După parcurgerea acestei unităţi de învăţare studenţii vor putea să:
Înţeleagă modul de elaborare a algoritmului necesar scrierii programului pentru
simulare;
Opereze cu variabilele, parametrii programului de simulare
Durata medie de parcurgere a acestei unităţi de învăţare este de 2 ore.
4.3. Elaborarea algoritmului şi scrierea programului de simulare
Pe baza informaţiilor obţinute în etapele precedente, se poate trece la simularea
funcţionării sistemului, în ipoteza aplicării unor strategii de prevenire a apariţiei
evenimentelor perturbatoare sau a unor strategii de modificare a parametrilor de stare, în cazul
unor abateri semnificativ de mari a parametrilor de stare efectivi faţă de limitele admisibile.
În figurile 4.1.a, 4.1.b şi 4.1.c este prezentată schema logică generală a evoluţiei stărilor
sistemului studiat. Paşii principali ai algoritmului de simulare a funcţionării sistemului sunt:
PASUL 1. Introducerea sau iniţializarea datelor de intrare. Aceste date pot fi :
mulţimea componentelor sistemului c;
vectorul de stare iniţială a componentelor sistemului S0 ;
repartiţiile variabilelor şi parametrilor sistemului R;
corelaţiile între variabilele sistemului C;
limitele admisibile ale parametrilor de stare L;
mulţimea evenimentelor previzibile E şi evenimentelor perturbatoare Ep
caracteristicile evenimentelor şi relaţiilor logice dintre acestea (Hi pentru E respectiv Hj
pentru Ep);
54
START
STOP
Citirea datelor de intrare
Generarea unor numere aleatoare pentru a stabili
intervalul de timp ti şi calculul timpului curent:
t’i = ti + ti
Generarea unor numere aleatoare pentru a
stabili evenimentele perturbatoare şi
caracteristicile acestora
Tipărirea
rezultatelor
I
Stabilirea
momentului la care
se pot amâna Ep
J
B
C
D
(1)
(2)
(3)
NU t’i < T
(29) DA
(4)
Există eveniment DA
planificat în intervalul
(t i , t’i) ?
NU
(5)
(6)
Există evenimente NU
perturbatoare Ep?
(8) (7) DA
DA Evenimentele NU
Ep se pot amâna ?
Figura 4.1.a.
55
(9)
DA
(10)
(11) Există NU
posibilitatea Smin
ij Sti
ij Smax
ij
amânării
(12) NU (21) DA
(16) (22)
(16) (23)
(16) (24)
DA DA
Nc N1 Nc N3
(16)(17) NU (25) NU
Figura 4.1.b
D
Modificarea parametrilor de
stare Sti
ij =Sti
i + Sti
ij
Generarea unor numere
aleatoare pentru a stabili
strategiile Sp
Generarea unor numere aleatoare
pentru a stabili strategiile Sm
Modificarea parametrilor de
stare: S*ti
ij = Sti
ij + Mti
ij
Modificarea parametrilor de stare
(ca la pasul 9)
Stabilirea valorilor funcţiilor
obiectiv FO şi FOG
Stabilirea valorilor funcţiilor
obiectiv FO şi FOG
Generarea unui nou vector de
probabilitate Pp.
Calculul mediei şi dispersiei
funcţiilor FO şi FOG
Generarea unui nou vector de
probabilitate Pm.
Calculul mediei şi dispersiei
funcţiilor FO şi FOG
C B
G H
E F
56
(18) (26)
DA DA
Nc N2 Nc N4
(19) NU (27) NU
(20) (28)
Figura 4.1.c
coeficienţii de probabilitate ;
strategiile posibile de prevenire a evenimentelor perturbatoare SP;
consecinţele aplicării strategiilor de prevenire asupra parametrilor de stare Kp ;
costurile aplicării strategiilor de prevenire Cp;
strategiile posibile de modificare a parametrilor de stare în cazul depăşirii limitelor
admisibile ale acestora SM;
consecinţele aplicării strategiilor de modificare Km;
costurile aplicării strategiilor de modificare Cm ;
funcţiile obiectiv ale sistemului FO;
funcţia obiectiv globală a sistemului FOG;
numărul de cicluri de simulare în diverse etape ale programului:
1. în cazul depăşirii limitelor admisibile:
- numărul iniţial de cicluri necesare estimării funcţiilor obiectiv N1;
Alegerea valorii optime a
funcţiilor FO sau FOG.
Alegerea strategiei optime de
prevenire.
Alegerea valorii optime a
funcţiilor FO sau FOG.
Alegerea strategiei optime de
modificare.
Stabilirea unor noi date iniţiale:
P’p, N
’3, N
’4 etc.
Stabilirea unor noi date iniţiale:
P’m, N
’1, N
’2 etc.
G E F H
I J
57
- numărul iniţial de cicluri necesare alegerii celei mai eficiente strategii de modificare
N2;
2. în cazul încadrării în limitele admisibile:
- numărul iniţial de cicluri necesare estimării funcţiilor obiectiv N3;
- numărul iniţial de cicluri necesare alegerii celei mai eficiente strategi i de prevenire N4;
perioada (orizontul) pentru care se efectuează simularea T;
diverse valori admisibile ale erorilor .
PASUL 2. Calculul timpului curent.
Dacă momentul considerat de model este t, atunci la următorul ciclu de simulare noul
moment t’ este dat de relaţia:
t t t' (4.1)
unde t reprezintă incrementul (creşterea) timpului. Efectuând succesiv acest pas se
obţine evoluţia calendarului.
Aşa cum s-a arătat în unitatea de învăţare U1, pentru a genera evoluţia calendarului se
pot folosi două metode:
metoda incrementului fix, la care creşterea t este prestabilită.
Dacă t este prea mic, este posibil ca mulţimea evenimentelor perturbatoare Ep să fie
vidă. Aceasta necesită creşterea cu un nou interval t şi reluarea ciclului. Testările sunt
reluate pentru un număr mare de intervale (deoarece t este mic), metoda devenind astfel
foarte costisitoare datorită timpului mare de calcul. Există însă avantajul unei analize
minuţioase şi riguroase a sistemului. Dacă incrementul t este prea mare, volumul calculelor
se reduce, dar precizia nu este satisfăcătoare. Mărimea intervalului t se stabileşte astfel ca
probabilitatea de apariţie a două evenimente perturbatoare de acelaşi tip, în intervalul (t, t +
t ), să fie nesemnificativă. Dacă pi t este probabilitatea amintită, condiţia care trebuie
satisfăcută este
p ti i2 , ()i (4.2)
în care i este un prag de semnificaţie admisibil dat.
Această relaţie este satisfăcută de o infinitate de intervale t . Evident însă că se alege
intervalul maxim t care satisface sistemul de inecuaţii 4.2.
metoda incrementului variabil, la care t are semnificaţia unui interval de timp
dintre două apariţii succesive a evenimentelor perturbatoare.
Incrementul t este generat uniform repartizat, astfel încât să se încadreze între o limită
minimă şi maximă:
t t tmin max (4.3)
În cazul în care se stabileşte o evoluţie a calendarului pentru mai multe componente c1,
c2, ..., ci , se vor utiliza incremente de timp t 1, t 2,... t i diferite, fiecare având o anumită
repartiţie.
58
PASUL 3. Se testează dacă momentul t’ se încadrează în perioada de simulare T:
t’ < T (4.4)
Dacă se încadrează (t’<T ), se trece la pasul 4.
Dacă nu se încadrează t T' , se trece la pasul 29.
PASUL 4. Se testează dacă există evenimente E planificate să se producă în
intervalul de timp ti .
Dacă există, se trece la pasul 9.
Dacă nu există, se trece pasul 5.
PASUL 5. Se generează numere aleatoare conform cu repartiţiile date pentru a se
stabili evenimentele perturbatoare Ep care apar precum şi anumite caracteristici Hj ale
acestora .
Aceste caracteristici Hj ale evenimentelor perturbatoare Ep, împreună cu caracteristicile
Hi ale evenimentelor planificate E, permit stabilirea efectelor S asupra parametrilor de stare
ai unor anumite componente ale sistemului de producţie.
De exemplu, pentru un atelier s-a stabilit frecvenţa relativă de apariţie a unei defecţiuni
la un utilaj fd , într-o anumită perioadă de timp t .
Se stabileşte mai întâi numărul de perioade în care se testează apariţia evenimentului
perturbator de mai sus, cu ajutorul relaţiei:
tdaca
t
tdaca
t
1 1 0 5
1 0 5
,
, (4.5)
unde
t
reprezintă partea întreagă a lui
t .
Se generează un număr aleator 1 0 1 ( , ). Dacă 1 < fd , se consideră că a apărut
evenimentul perturbator. Dacă 1 > fd , se repetă testul (se generează alt număr aleator 2 ).
Dacă 2 < fd , se consideră că a apărut perturbaţia. Dacă 2 < fd se repetă testul de
cel mult ori. Dacă nici după repetarea de ori a acestui test nu s-a obţinut la nici o generare
cazul:
i df (4.6)
atunci se consideră că evenimentul perturbator nu s-a produs în intervalul t .
Se trece la testarea apariţiei altor evenimente perturbatoare.
În urma apariţiei evenimentelor perturbatoare, starea unor componente se modifică în
consecinţă. De exemplu, componenta “muncitor” trece din starea “ocupat” în starea
“neocupat”, componenta “reper” trece din starea “în curs de prelucrare” în starea “aşteptare”
59
etc. Evident, toate aceste modificări, constând în diverse tipuri de relaţii, trebuie incluse în
program sub formă de instrucţiuni. Prin aplicarea acestor instrucţiuni, rezultă un vector de
modificare a parametrilor de stare S, ca o consecinţă a acţiunii atât a evenimentelor
perturbatoare Ep , cât şi a evenimentelor planificate E.
PASUL 6. Se testează dacă au existat evenimente perturbatoare Ep în intervalul de timp
t . Dacă a existat cel puţin un eveniment perturbator, se trece la pasul 7. Dacă nu a apărut
nici un eveniment perturbator, atunci se reia algoritmul de la pasul 2.
PASUL 7. Se testează dacă acţiunea de înlăturare a consecinţelor evenimentului
perturbator Ep se poate amâna. Dacă se poate amâna, se trece la pasul 8. Dacă nu se poate
amâna, se trece la pasul 9.
PASUL 8. Se stabileşte momentul p la care se poate amâna acţiunea de înlăturare a
consecinţelor evenimentului perturbator Ep. Această amânare este posibilă în doua cazuri:
când însăşi consecinţele evenimentului perturbator au loc cu
un decalaj p (cunoscut încă de la datele de intrare);
când consecinţele evenimentului perturbator au loc imediat, dar sistemul poate
funcţiona în bune condiţii dacă înlăturarea efectelor negative ale acestui eveniment nu
depăşeşte un decalaj admisibil p .
Cunoscând decalajul p se poate stabili momentul p la care se înlătură consecinţele
evenimentului Ep:
p i pt ' (4.7)
Mulţimea momentelor p se memorează, iar la fiecare reluare a pasului 4 se testează
dacă:
t ti p i ' (4.8)
unde ti şi t’i reprezintă două momente succesive.
PASUL 9. Se trece la modificarea parametrilor de stare. În cazul utilizării
incrementului de timp variabil, această modificare se efectuează conform relaţiei:
S S Sijt
it
ijti i i
' (4.9)
în care:
Sijti'
- vectori de stare ai componentei ci la momentul ti', când în intervalul ti au
apărut evenimente E sau Ep cu acţiune imediată, având caracteristicile Hi, respectiv Hj;
Siti
- vectori de stare ai componentei ci la momentul ti ; Sij
ti - modificările vectorilor de stare Sit, cauzate de evenimentele E sau Ep , având
caracteristicile Hi, respectiv Hj.
În cazul utilizării unui increment fix, se aplică relaţia:
t
ij
t
i
tt
ij SSS (4.10)
Succesiunea vectorilor de stare obţinută cu ajutorul acestui pas reprezintă evoluţia
stărilor sistemului.
60
PASUL 10. Se verifică dacă noii parametrii de stare (Sijti'
sau Sijt t) se încadrează în
limitele admisibile. Daca se încadrează, se trece la pasul 21. Dacă nu se încadrează, se trece la
pasul 11.
PASUL 11. Se testează dacă modificările parametrilor de stare pot fi efectuate în
momentul considerat sau dacă, din diverse motive, trebuie amânate. Dacă se amână, se trece
la pasul 8. Dacă nu se amână, se trece la pasul 12.
PASUL 12. Se generează numere aleatoare pentru a se stabili strategiile de modificare
SM a stărilor (în cazul când parametrii nu se încadrează în limitele admisibile).
În cazul unor strategii pentru care s-au obţinut cu o probabilitate aproape certă rezultate
cu eficienţă maximă, se poate renunţa la generarea numerelor aleatoare şi aplica direct
strategia respectivă (strategie pură).
PASUL 13. Se efectuează modificarea parametrilor de stare conform strategiilor SM
stabilite la pasul 12. În cazul utilizării metodei incrementului variabil se aplică relaţia:
S S Mijt
ijt
ijti i i* ' ' '
(4.11)
unde M ijti'
reprezintă modificările efectuate asupra parametrilor de stare conform
strategiilor SM la momentul (t’i).
În cazul utilizării incrementului fix se aplică relaţia:
S S Mijt t
ijt t
ijt t* (4.12)
Succesiunea vectorilor de stare obţinută la acest pas reprezintă o succesiune a
evoluţiilor posibile ale stărilor sistemului studiat. Numai după calculul funcţiei obiectiv şi
generarea unui număr N1 de evoluţii posibile ale stărilor se poate decide succesiunea preferată
din punct de vedere economic şi care respectă restricţiile sistemului.
PASUL 14. Se calculează valorile funcţiilor obiectiv corespunzătoare evoluţiei stărilor
sistemului, generată la pasul 13. Pentru fiecare evoluţie posibilă de succesiune a stărilor se
calculează funcţia obiectiv.
În cazul mai multor funcţii obiectiv se poate aplica un algoritm de construire a unei
funcţii obiectiv globală.
PASUL 15. Se testează dacă numărul ciclurilor efectuate depăşeşte valoarea N1. Dacă
da ( N Nc 1), se trece la pasul 16. Dacă nu ( N Nc 1), se reia algoritmul de la pasul 12.
Numărul N1 de evoluţii posibile se determină astfel ca să se asigure precizia necesară,
ţinând seama şi de economicitatea rulării programului de simulare. Din punct de vedere
practic, programul se iniţializează cu un număr N1 care satisface în primul rând din punct de
vedere al economicităţii programului şi se presupune că asigură o precizie acceptabilă. După
aceea, se poate testa precizia obţinută. Dacă testul nu este satisfăcut, se măreşte numărul N1 cu
un număr N1 de cicluri de simulare (de exemplu, N N1 101 , ). Suplimentarea
numărului de cicluri de simulare poate fi continuată până la obţinerea preciziei necesare.
PASUL 16. Se calculează media şi dispersia funcţiilor obiectiv pentru fiecare strategie
aplicată.
61
PASUL 17. Se generează un nou vector de probabilitate a strategiilor de modificare.
PASUL 18. Se testează dacă numărul ciclurilor depăşeşte N2. Dacă depăşeşte
( N Nc 2 ), se trece la pasul 19. Dacă nu depăşeşte, (Nc < N2), se reia algoritmul de la pasul
12.
PASUL 19. Se alege optimul funcţiei obiectiv (sau al funcţiei obiectiv globală) şi se
stabileşte strategia optimă de modificare SMopt.
PASUL 20. Se efectuează schimbări în datele de intrare conform strategiei adoptată la
pasul 19 (probabilitatea aplicării strategiilor de modificare SM, numărul de cicluri N1 şi N2
etc.) şi se reia algoritmul de la pasul 2.
PASUL 21. Se generează diverse strategii de prevenire SP, respectând probabilităţile
furnizate de datele de intrare.
PASUL 22. Se modifică parametrii de stare (ca la pasul 9).
PASUL 23. Se calculează funcţia obiectiv corespunzătoare fiecărei strategii de
prevenire SP generată la pasul 21, având consecinţele de la pasul 22.
PASUL 24. Se testează dacă numărul de cicluri este mai mic decât N3. Dac este mai
mic (Nc < N3) , se reia algoritmul de la pasul 21. Dacă nu este mai mic ( N Nc 3 ), se trece
la pasul 25.
PASUL 25. Se generează un nou vector de probabilitate a strategiilor de prevenire. Se
calculeaza valorile medii şi dispersiile funcţiilor obiectiv.
PASUL 26. Se testează dacă numărul de cicluri depăşeşte N4. Dacă depăşeşte
( N Nc 4 ), se trece la pasul 27.
Dacă nu depăşeşte (N Nc 4), se reia algoritmul de la pasul 21.
PASUL 27. Se alege optimul funcţiei obiectiv (sau al funcţiei obiectiv globală) şi se
stabileşte strategia optimă de prevenire SPopt. .
PASUL 28. Se efectuează schimbări în datele de intrare (probabilitatea aplicării
strategiilor de prevenire SP, numărul de cicluri de simulare N3 , N4 şi se reia algoritmul de
pasul 2.
PASUL 29. Se afişează rezultatele, care pot fi foarte variate:
- vectorii aleatori ai strategiilor de modificare;
- vectorii aleatori ai strategiilor de prevenire;
- media funcţiilor de eficienţă;
- dispersia funcţiilor de eficienţă;
- abaterea medie pătratică a funcţiilor de eficienţă;
- probabilităţile ca parametrii sistemului să fie sau nu în limitele normale;
- evoluţia parametrilor de stare ai sistemului în ipoteza aplicării unor anumite strategii.
Pentru scrierea programului de calcul al modelului de simulare există două posibilităţi:
62
să se folosească un limbaj general de programare (FORTRAN, COBOL , QBASIC,
TURBOPASCAL etc.);
să se folosească un limbaj special de programare (GPSS, CSMP, DYNAMO,
SIMUB, SIMSCRIPT, SIMULA etc.).
Deşi au unele dezavantaje (necesită o pregătire specială a programatorilor, rezolvă
numai anumite probleme, nu toate calculatoarele au compilatoare pentru ele etc.), facilităţile
de care dispun impun utilizarea cu precădere a acestor din urmă limbaje.
4.4 Validarea modelului şi a programului de calcul
Întrucât trebuie să reprezinte cu un grad acceptabil de fidelitate relaţiile existente între
elementele componente ale sistemului modelat, metodologia de construire a modelului
cuprinde în mod obligatoriu etapa de validare a acestuia, consecutivă construirii modelului şi
experimentării lui cu date pentru care există o apreciere a consecinţelor în funcţionare.
Astfel, modelul considerat ca reprezentare satisfăcătoare a unui sistem este rezultatul
unor iteraţii parcurgând de fiecare dată ciclul sistem - model - validare - sistem, reprezentat
schematic în figura 4.2.
În figură, S reprezintă sistemul modelat iar M1 , M2 , ... , Mk sunt modele ale sistemului
realizate succesiv ca urmare a necesităţilor de perfecţionare a reprezentării cerută de etapa de
validare a modelului (în acest caz, Mk reprezintă modelul care realizează reprezentarea
satisfăcătoare a sistemului).
Operatorii care reprezintă utilizarea informaţiilor obţinute direct de la sistem sau din
istoria evoluţiei sale în construirea modelelor M1 , ... , Mk s-au notat cu 1, 2, ... , k .
Cu i,i+1 s-a notat operatorul de utilizare a informaţiei obţinută de la modelul Mi pentru
construirea modelului Mi+1 (operator de învăţare). Cu i s-a notat operatorul de comparare a
rezultatelor obţinute pe modelul Mi cu cele de care se dispune pentru modelul considerat în
aceleaşi condiţii, precum şi de apreciere a calităţii reprezentării realizată de modelul Mi
(validarea modelului).
Validarea programului de calcul este una din etapele cele mai complexe. Cea mai
simplă cale de validare este testarea programului într-un caz particular în care soluţia este
cunoscută.
Datele de test vor fi astfel alese încât programul să fie parcurs pe toate ramurile, să
solicite toate subrutinele şi să editeze toate tipurile de rezultate.
Când acest lucru nu este posibil se vor compara rezultatele de ieşire cu cele obţinute din
observarea situaţiilor reale asemănătoare.
63
k
2
1 12 k-1,k
S M 1 M 2 . . . . Mk
1
2
k
Figura 4.2. Ciclul sistem - model - validare – sistem
4.5 Rezumat
Simularea funcţionării sistemului se face pe baza unui algoritm de simulare.
Simularea poate fi cu ceas variabil sau cu ceas constant.
Programul de calcul pentru simulare poate fi scris într-un limbaj general sau
special de programare.
Validarea programului de calcul este una din etapele cele mai complexe şi
obligatorii.
4.6 Test de evaluare a cunoştinţelor
1. Care este cea mai simplă cale de validare a programului de simula re?
2. Care sunt datele de intrare în schema logică a programului de simulare?
3. Care sunt metodele folosite în programul de simulare pentru a genera evoluţia
calendarului?
4. Ce efect au evenimentele perturbatoare asupra sistemului, şi cum se „marchează”
acestea în algoritmul de simulare?
5. În urma programului de simulare ce fel de rezultate se pot obţine?
64
Unitatea de învăţare U5. Modelarea şi simularea proceselor de
aşteptare
Cuprins
5.1. Introducere ................................ ................................ ................................ ............. 62
5.2. Competenţe ................................ ................................ ................................ ............ 62
5.1. Introducere
În cadrul sistemelor de servire, considerate ca subsisteme ale sistemelor de
producţie, apare adesea un consum de timp, inutil şi nedorit, al utilajelor,
resurselor sau oamenilor, consum care se datorează imposibilităţii de a corela
temporal diverse activităţi care se intercondiţionează. Iau astfel naştere procesele
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
proceselor de aşteptare în vederea proiectării cât mai eficiente a sistemelor de
servire. Un sistem de servire este considerat eficient dacă i se asigură un grad
ridicat de utilizare, iar servirea se realizează cu un timp minim de aşteptare.
Un proces de aşteptare se caracterizează prin trei elemente principale:
consumatorii, care solicită un serviciu;
şirul de aşteptare;
staţia de servire, care are rolul de satisface solicitările consumato rilor.
Unitatea de învăţare îşi propune prezentarea elementelor de bază aparţinând teoriei
aşteptării, precum şi prezentarea celor mai utilizate modele ce stau la baza
simulării unor procese de aşteptare ce apar în majoritatea sistemelor de producţie.
5.2. Competenţe
La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
identifice principalele elemente ale unui sistem se aşteptare: consumatorii, care
solicită un serviciu, şirul de aşteptare şi staţia de servire, care are rolul de satisface
solicitările consumatorilor;
identifice situaţiile în care se impune simularea unui proces de aşteptare;
optimizeze, din punct de vedere economic, procesul de aşteptare considerat ca
ansamblu.
Durata medie de parcurgere a primei unităţi de învăţare este de 3 ore.
65
5.3. Modele matematice ale proceselor de aşteptare
Studiul unui proces de aşteptare se face cu ajutorul unui model de aşteptare.
Pentru a înţelege ce înseamnă un proces de aşteptare, sunt date în continuare câteva
exemple.
Exemple
Exemple de procese de aşteptare pot fi următoarele: utilajele care aşteaptă
nefolosite din lipsă de semifabricate, maşinile-unelte care aşteaptă să fie
reparate într-un atelier de reparaţii, paletele cu piese care aşteaptă să fie
prelucrate pe maşinile-unelte, clienţii care aşteaptă să fie serviţi la ghişeul
unei bănci etc.
Exemplificaţi şi alte procese de aşteptare întâlnite în practică.
Datele de intrare pentru un model de aşteptare sunt:
Ritmul sosirii consumatorilor.
Consumatorii sosesc la anumite intervale de timp, care pot fi:
egale;
neegale, dar determinate;
aleatorii, cu repartiţie cunoscută (o lege aproape generală a sosirilor
aleatoare este legea lui POISSON);
Numărul de staţii de servire .
În funcţie de numărul de staţii, se deosebesc trei situaţii:
o staţie de servire;
un număr finit de staţii de servire;
un număr infinit de staţii de servire.
Ritmul de servire.
Ritmul de servire poate fi:
constant;
variabil, dar determinat;
aleatoriu, cu repartiţie cunoscută ( o lege a servirilor, foarte des întâlnită în
cadrul sistemelor de producţie, este cea exponenţială);
Disciplina şirului de aşteptare.
Din observarea sistemelor de producţie reale rezultă că există diferite discipline de
aşteptare, dintre care se menţionează:
primul venit, primul servit (FIFO);
66
ultimul venit, primul servit (LIFO);
la întâmplare (SA - servire aleatoare);
cu priorităţi (SPR - servire prioritară).
Costul unei unităţi în sistem / perioada de timp;
Costul unui serviciu / perioada de timp.
Un model al unui proces de aşteptare se notează astfel:
A / S / c: ( L; d ) (5.1)
unde:
A - repartiţia timpului dintre două sosiri;
S - repartiţia timpului de servire;
c - numărul de staţii ale sistemului;
L - lungimea maximă a cozii;
d - disciplina şirului de aşteptare.
Studiul proceselor de aşteptare are ca scop final optimizarea, din punct de vedere
economic, a procesului considerat ca ansamblu. Întrucât poate exista o mare varietate de
procese de aşteptare, există şi un mare număr de modele, care se deosebesc între ele prin
datele de intrare: probabilităţile sosirilor şi servirilor, numărul de staţii de servire etc.
5.3.1 Proces de aşteptare cu o staţie, sosiri Poisson, servire exponenţială
Un caz foarte obişnuit este cel în care sosirile în sistem urmează legea lui Poisson iar
intervalele de timp de servire urmează legea exponenţială. Se formulează la început ipoteza că
ritmul sosirilor este mai mic decât ritmul servirilor; în ipoteza contrară, nu ar fi posibil un
regim stabil iar şirul de aşteptare ar deveni din ce în ce mai mare cu timpul t (figura 5.1):
Figura 5.1
Modelarea matematică permite determinarea următoarelor caracteristici:
numărul mediu de unităţi din sistem:
nm
1 (5.2)
numărul mediu de unităţi din şirul de aşteptare:
S
Sosirile
consumatorilor
Şirul de
aşteptare Plecările
consumatorilor
Staţia de
servire
67
2
1 (5.3)
timpul mediu de aşteptare din sistem:
tn
s
11
1 11
(5.4)
timpul mediu de aşteptare din şirul de aşteptare:
t f
11
11
2
(5.5)
probabilitatea pn ca în sistem să existe n unităţi:
ddt p t p t p t p t nn n n n( ) ( ) ( ) ( ) ( ) , 1 1 0 (5.6)
Se caută funcţiile pn(t) care constituie soluţia sistemului diferenţial format de aceste
ecuaţii. În cazul particular în care probabilităţile pn sunt independente de timp (cazul cel mai
important întâlnit în realitate), se spune că procesul este staţionar şi permanent:
pn(t) = pn (5.7)
În relaţiile de mai sus s-au utilizat următoarele notaţii:
- ritmul mediu al sosirilor;
- ritmul mediu al servirilor;
= / - factor de utilizare (factor de servire).
Exemplu
O maşină de prelucrare prin electroeroziune dintr-o secţie de sculărie lucrează timp de
10 ore pe zi, putând prelucra 10 piese pe oră. Pentru prelucrarea pe maşină sunt aduse
70 de piese pe zi. În ipoteza că sosirea pieselor se face după o distribuţie Poisson şi
prelucrarea lor urmează o lege exponenţială, să se determine caracteristicile procesului
de aşteptare a pieselor pentru a fi prelucrate.
Problema de mai sus este de tipul: proces de aşteptare cu o staţie, sosiri Poisson,
servire exponenţială. Caracteristicile procesului de aşteptare se pot determina
utilizând pachetul informatic WinQSB – modulul Queuing Analysis , opţiunea
Simple M/M System . Modulul informatic necesită introducerea mai multor date,
printre care:
- numărul staţiilor de servire: o maşină de prelucrare prin electroeroziune;
- rata sosirii consumatorilor: numărul pieselor aduse pentru prelucrare: 70
piese / zi;
- rata servirii: timpul de lucru zilnic: 10 ore* 10 piese pe oră = 100
- etc.
Încercaţi să identificaţi la propriul loc de muncă două procese de aşteptare cu o
staţie, identificând datele de intrare corespunzătoare.
68
5.3.2. Proces de aşteptare cu S staţii, sosiri Poisson, serviri exponenţiale
Dacă cele S staţii care asigură servirea nu sunt ocupate când se prezintă o unitate, ea
este servită imediat; dimpotrivă, dacă cele S staţii sunt ocupate, unitatea trebuie să aştepte şi
se formează un şir de aşteptare (figura 5.2):
Figura 5.2
Modelarea matematică permite determinarea următoarelor caracteristici:
numărul mediu de unităţi din sistem:
n n pm nn
0
(5.8)
numărul mediu de unităţi din şirul de aşteptare:
( )!( / )
n S pS S S
pn
S
n S
1
2 01 1
(5.9)
numărul mediu de staţii neocupate:
( )S n pnn
S
0 (5.10)
timpul mediu de aşteptare din şirul de aşteptare:
tS S S
pf
S
! ( / )1 2 0 (5.11)
probabilitatea ca o staţie să aştepte:
p n SS S
pS
( )! ( / )
1 0 (5.12)
unde:
n - numărul de unităţi din sistem;
S - numărul de staţii de servire;
= / - intensitatea traficului, factor de servire sau factor de întreţinere;
1
2
S
Sosiri ale
consumatorilor
Şirul de
aşteptare
Staţiile de servire
Plecarea
consumatorilor
69
- ritmul mediu al sosirilor;
- ritmul mediu al servirilor;
pn - probabilitatea ca în sistem să existe n unităţi:
p pn
nn Sn 0 1
!, (5.13)
p pn
S Sn Sn n S 0
!, (5.14)
p0 - probabilitatea ca în sistem să existe 0 unităţi:
p SS S
nnn
S0
0
1
1
1
! ( / ) !
(5.15)
Exemplu
Proces de aşteptare cu patru staţii (patru case de marcat într-un supermarket),
ritmul sosirii clienţilor, = 6, ritmul servirilor pentru o staţie, = 2, disciplina de
aşteptare de tip FIFO.
Identificaţi la propriul loc de muncă un proces de aşteptare cu mai multe staţii,
definind şi datele de intrare corespunzătoare.
5.3.3 Proces de aşteptare cu o staţie, sosiri Poisson, servire exponenţială şi
lungime permisă limitată a şirului
Modelarea matematică permite determinarea următoarelor caracteristici:
numărul mediu de unităţi din sistem:
n
k k u
km
k k
k
1 11 1
2
1
1 ,
,
(5.16)
numărul mediu de unităţi din şirul de aşteptare:
n pm 1 0 (5.17)
timpul mediu de aşteptare din sistem:
tn n
pSm
a
m
k
1
(5.18)
timpul mediu de aşteptare din şirul de aşteptare:
70
t
n p n p
pfm
a
m
k
1 1
10 0
(5.19)
unde:
p0 - probabilitatea ca în sistem să fie 0 cereri;
pk - probabilitatea ca în sistem să fie k cereri;
k - lungimea maximă permisă a şirului de aşteptare.
Exemplu
Într-o secţie de prelucrări mecanice sunt folosite 6 maşini identice, care funcţionează
independent unele de altele. Avariile care se produc la aceste maşini sunt aleatorii, cu
distribuţie Poisson, având un ritm de defectare = 10 maşini / lună. Pentru repararea
lor secţia are trei mecanici, durata reparaţiilor fiind distribuită după o lege
exponenţială cu ritmul = 5 maşini / lună.
Problema de mai sus este de tipul: proces de aşteptare cu S staţii, sosiri Poisson,
servire exponenţială. Caracteristicile procesului de aşteptare se pot determina
utilizând pachetul informatic WinQSB – modulul Queuing Analysis , opţiunea
Simple M/M System. Modulul informatic necesită introducerea mai multor date,
printre care:
- numărul staţiilor de servire: trei mecanici;
- rata (ritmul) sosirii consumatorilor: = 10 maşini / lună;
- rata (ritmul) servirii: = 5 maşini / lună;
- numărul clienţilor potenţiali ai sistemului (consumatorii pot sosi într-un
număr limitat sau infinit): numărul maşinilor folosite în cadrul secţ iei = 6
etc.
5.3.4 Proces de aşteptare cu o staţie, sosiri Poisson, servire după o distribuţie
normală s2 cunoscută
Modelarea matematică permite determinarea următoarelor caracteristici:
numărul mediu de unităţi din şirul de aşteptare:
2 2 2
2 1S
(5.20)
numărul mediu de unităţi din sistem:
nmS
2 2 222 1
(5.21)
timpul mediu de aşteptare din şirul de aşteptare:
t fS
2 2
2 1
(5.22)
71
timpul mediu de aşteptare din sistem:
tn
Sm S
2 222 1
(5.23)
În mod asemănător se pot scrie modelele matematice pentru diferite cazuri particulare
de sisteme de aşteptare:
o staţie, sosiri Poisson, servire la intervale constante;
o staţie, sosiri Poisson, servire cu distribuţie arbitrară, mai multe fire de aşteptare;
o staţie, sosiri Poisson, servire exponenţială, clienţi luaţi la întâmplare;
o staţie, sosiri la intervale regulate, servire exponenţială etc.
Să ne reamintim...
Studiul unui proces de aşteptare se face cu ajutorul unui model de aşteptare.
Un model al unui proces de aşteptare se notează astfel:
A / S / c: ( L; d )
În care: A - repartiţia timpului dintre două sosiri;
S - repartiţia timpului de servire;
c - numărul de staţii ale sistemului;
L - lungimea maximă a cozii;
d - disciplina şirului de aşteptare.
Elementele definitorii ale unui proces de aşteptare sunt:
- Ritmul sosirii consumatorilor.
- Numărul de staţii de servire
- Ritmul de servire.
- Disciplina şirului de aşteptare.
- Costul unei unităţi în sistem / perioada de timp;
- Costul unui serviciu / perioada de timp.
Studiul proceselor de aşteptare are ca scop final optimizarea, din punct de
vedere economic, a procesului considerat ca ansamblu.
5.4. Simularea proceselor de aşteptare
Aplicarea simulării pentru studiul proceselor de aşteptare este recomandabilă, de obicei,
în următoarele situaţii:
când sistemul de servire are un număr mare de staţii cu o topologie complexă;
când repartiţiile timpilor de sosire / servire sunt de tip complex (gamma, Weibull
etc.) sau sunt amestecuri de repartiţii;
când mecanismul servirilor presupune existenţa unor priorităţi sau a unor restri cţii;
când prin studiul sistemului se urmăreşte realizarea unui obiectiv (a unei eficie nţe).
72
Se presupune că modelul procesului de aşteptare este de forma:
A / S / 1; ( , FIFO) (5.24)
unde:
A - repartiţia timpului dintre două sosiri consecutive;
S - repartiţia duratei de serviciu;
1 - numărul de staţii de serviciu;
- lungimea maximă a şirului de aşteptare;
FIFO - disciplina serviciului.
Se prezintă, mai întâi, două tehnici generale de simulare, una cu ceas variabil, cealaltă
cu ceas constant, cu scopul de a pune în evidenţă modul în care intervine tipul ceasului în
procesul de simulare. Alegerea metodei se face pe baza următoarelor criterii: precizia
necesară, efortul de calcul (timp de rulare, mărimea memoriei calculatorului) şi datele
disponibile (observaţiile s-au efectuat la intervale de timp constante sau “din eveniment în
eveniment”).
5.4.1. Simularea cu ceas variabil
Notaţiile utilizate sunt următoarele:
AT - intervalul de timp dintre două sosiri consecutive (variabilă aleatoare);
ST- durata unei serviri (variabilă aleatoare);
WT - timpul de aşteptare a unui client oarecare la coadă;
TWT - timpul total de aşteptare al tuturor clienţilor;
TID - timpul de neocupare a staţiei de servire;
TTID - timpul total de neocupare a staţiei de servire;
NS - numărul total de servicii care trebuie simulate;
ICOUNT - contor care numără serviciile.
Variabilele AT şi ST sunt variabile de intrare. Repartiţiile lor se presupun cunoscute,
iar parametrii acestor repartiţii sunt parametrii de intrare. Numărul total de servicii NS este de
asemenea un parametru de intrare.
Variabilele WT, TWT, TID şi TTID sunt variabile de ieşire. Cu ajutorul acestora pot fi
calculate şi următoarele variabile:
timpul mediu de aşteptare:
AWTTWTNS
(5.25)
timpul mediu de neocupare:
ATIDTTIDNS
(5.26)
La momentul începerii simulării, sunt satisfăcute următoarele condiţii iniţiale:
WT = TWT = 0 (5.27)
73
TID = TTID = 0 (5.28)
ICOUNT = 0 (5.29)
Schema logică a algoritmului de simulare se prezintă în fig. 5.3.
În blocul (1) se fac iniţializări conform (5.27 - 5.29) şi se citesc valorile parametrilor
de intrare.
În blocul (2) se generează un interval de timp de sosire (se simulează sosirea unui
client în sistem), iar în blocul (3) se calculează timpul de sosire ajustat.
În blocul (4) se generează un serviciu de durată ST, care se numără cu ajutorul
contorului ICOUNT.
În blocul (5) acest timp de serviciu se compară cu timpul de sosire ajustat AT şi ca
rezultat al comparării se determină evenimentul următor (care se va produce primul).
În continuare, dacă în blocul (5) s-a găsit ST > AT, atunci înseamnă că staţia de
serviciu este ocupată şi se trece la blocul (6).
În blocul (6) se ia timpul de lenevire al staţiei TID nul, se calculează timpul de
aşteptare WT al clientului care urmează să fie servit primul şi se adaugă la timpul total de
aşteptare TWT.
Dacă în blocul (5) se găseşte staţia neocupată (ST AT), atunci în blocul (7) se ia
timpul de aşteptare al clientului care va fi servit primul WT nul, se calculează timpul de
lenevire TID al staţiei şi se adună la timpul total de lenevire TTID.
În blocul (8) se decide dacă simularea se termină sau nu, iar în blocul (9) se calculează
parametrii de ieşire, cu relaţiile (5.25) şi (5.26), precum şi alte statistici necesare.
74
START
STOP
Iniţializări şi citirea parametrilor
de intrare
Generează AT
AT = AT - WT
Generează ST
ICOUNT=ICOUNT+1
WT = 0
TID = AT - ST
TTID = TTID + TID
TID = 0
WT = ST - AT
TWT = TWT + WT
Calculează parametrii de ieşire.
Afişează rezultatele.
ST>AT
ICOUNT < NS
(1)
(2)
(3)
(4)
DA (5) NU
(6) (7)
DA (8)
NU
(9)
Figura 5.3
Daţi valori concrete parametrilor de intrare (parametrii repartiţiilor pentru
variabilele AT şi ST), NS, WT, TWT, TID, TTID şi calculaţi timpul total de
aşteptare (blocurile 2 – 6).
75
5.4.2. Simularea cu ceas constant
Simularea bazată pe metoda ceasului cu increment constant constă în generarea unei
creşteri constante C a ceasului şi analizarea, apoi, a stării diferitelor elemente ale sistemului,
cu generarea tuturor evenimentelor posibile a se produce în intervalul de timp de lungime C.
Notaţiile utilizate sunt următoarele:
AT - intervalul de timp dintre două sosiri consecutive;
TAT - momentul ultimei sosiri;
ST - durata unui serviciu;
TST - momentul terminării ultimului serviciu;
WT - timpul de aşteptare al unui client oarecare;
TWT - timpul total de aşteptare a clienţilor;
TID - timpul de neocupare a staţiei de serviciu de la terminarea unui serviciu până la
începerea altui serviciu;
TTID - timpul total de neocupare a staţiei de serviciu;
NT - durata impusă simulării;
CLOCK - ceasul simulării;
C - incrementul ceasului;
I - varibilă întreagă care desemnează lungimea curentă a cozii.
Variabilele AT şi ST sunt variabile de intrare. Repartiţiile lor se presupun
cunoscute, iar parametrii acestor repartiţii sunt parametrii de intrare. Durata impusă simulării
NT este, de asemenea, un parametru de intrare.
Variabilele WT, TWT, TID, TTID, TAT şi TST sunt variabile de ieşire.
La momentul începerii simulării sunt satisfăcute următoarele condiţii iniţiale
WT = TWT = TAT = 0 (5.30)
TID = TTID = TST = 0 (5.31)
CLOCK = I = 0 (5.32)
Schema logică a algoritmului de simulare se prezintă în figurile 5.3.a şi 5.3.b.
Blocurile (1) - (4) precizează condiţiile iniţiale şi determină începerea simulării.
În blocul (5) se constată dacă staţia este liberă sau ocupată. Dacă este ocupată (TAT <
TST), atunci se continuă cu blocul (6): se măreşte coada cu o unitate (adică ultimul client sosit
se depune la coadă), se calculează durata aşteptării clientului şi se adună la timpul total de
aşteptare.
Blocul (7) compară ceasul cu momentul ultimei sosiri, iar dacă ceasul este anterior
ultimei sosiri atunci se măreşte ceasul cu valoarea constantă C, se generează o nouă sosire şi
se recalculează momentul ultimei sosiri (blocul (9)).
76
START
Iniţializări şi citirea
parametrilor
Generează AT
TAT = TAT+AT
CLOCK = CLOCK+C
I=I+1
WT=TST-TAT
TWT=TWT+WT
TID=TAT-TST
TTID=TTID+TID
TST=TAT
I = I - 1
CLOCK=CLOCK+C CLOCK=CLOCK+C
Generează ST
TST=TST+ST
Generează AT
TAT=TAT+AT
TAT < TST
II= = 0
CLOCK>TST-TID CLOCK>TAT
(1)
(2)
(3)
(4)
DA (5) NU
DA (10) NU
I = 0
(6) (11)
(12)
(7) (13 )
DA NU (8) DA NU (14)
(9) (15)
B A
Figura 5.3.a
77
STOP Calculează parametrii de
ieşire şi afişează rezultatele
CLOCK<NT
B A
(16)
DA
NU (17)
Figura 5.3.b
Dacă în blocul (5) s-a găsit staţia liberă, atunci se continuă cu blocul (10), care
constată dacă coada este vidă sau nu. În caz afirmativ (coada vidă), în blocul (11) se
determină timpul de neocupare (lenevire) al staţiei TID care se adaugă la timpul total de
lenevire TTID şi se reactualizează TST (momentul terminării ultimului serviciu) până la
valoarea TAT (momentul ultimei sosiri). În caz negativ (coada nevidă) în blocul (12) se
micşorează coada cu o unitate.
Blocul (13) compară din nou ceasul cu momentul terminării ultimului serviciu; dacă
acesta din urmă este ulterior ceasului, atunci se măreşte ceasul cu constanta C.
În blocul (15) se simulează un serviciu şi se adaugă durata acestuia la TST.
Blocul (16) decide dacă simularea continuă sau se opreşte.
Blocul (17) calculează parametrii de ieşire şi alte statistici care fac obiectul simulării.
De exemplu, se poate calcula durata totală a serviciilor cu relaţia:
SST = TST - TTID (5.33)
Daţi valori concrete parametrilor de intrare şi determinaţi timpul de neocupare
(lenevire) al staţiei (blocurile 2 - 11).
5.4.3. Simularea unui sistem de aşteptare cu interferenţa maşinilor
Se presupune că un sistem constă din N maşini care sunt deservite de M muncitori
(M<N).
Maşinile funcţionează automat (fără intervenţia permanentă a operatorului ), însă după
anumite perioade de funcţionare se defectează şi sunt reparate de către un muncitor. Dacă la
un moment dat numărul n al maşinilor defecte satisface condiţia n > M, atunci n - M maşini
vor aştepta. Timpul în care aşteaptă aceste maşini se numeşte timp de interferenţă. Problema
care se pune este să se găsească regimul optim de lucru al sistemului în sensul că să nu se
78
obţină pierderi nici din cauza nefolosirii capacităţii de reparaţie, nici din cauza creşterii
timpului de interferenţă. Această problemă se numeşte problema interferenţei maşinilor şi ea
corespunde unui model de forma:
. / . / . M: ( N - M ) (5.34)
Se prezintă în continuare un model de simulare pentru problema interferenţei
maşinilor, în cazul în care disciplina serviciului este FIFO. Algoritmul simulării este construit
pe principiul ceasului cu creştere variabilă, folosindu-se următoarea listă de variabile şi
parametrii:
N - numărul maşinilor;
M - numărul muncitorilor;
I - lungimea curentă a cozii , 0 I N - M;
K - numărul de muncitori liberi la un moment dat , 0 K M;
NB - numărul total de evenimente ce se cer a fi simulate;
RT - durata de funcţionare neîntreruptă a unei maşini;
ST - durata unei reparaţii ( variabilă aleatoare cu repartiţie cunoscută );
WT - durata aşteptării neîntrerupte (a maşinii care aşteaptă);
TID - durata timpului de “lenevire” a unui muncitor care începe un serviciu la un
anumit moment de timp;
T(J) - timpul total al maşinii J, 1 J N ( aceasta este un fel de ceas al maşinii J );
SS(J) - timpul total de reparaţii al maşinii J;
SR(J) - timpul total de funcţionare al maşinii J;
SW(J) - timpul total de interferenţă ( aşteptare ) al maşinii J;
TAT(L) - timpul total al muncitorului L, 1 L M ( aceasta este un fel de ceas al
muncitorului L );
SID(L) - timpul total de lenevire al muncitorului L;
TBS(L) - timpul total de lucru al muncitorului L;
0 dacă maşina J este în stare de funcţionare;
IX(J) = 1 dacă maşina J este în reparaţie;
-1 dacă maşina J este în aşteptare .
JM - maşina pe care o prelucrează programul de simulare la un moment dat, dintre
maşinile care sunt în funcţiune sau în reparaţie (maşina cu cel mai mic timp);
KM - maşina cu cel mai mare timp de aşteptare neîntrerupt;
LM - muncitorul care efectuează o reparaţie la un moment dat;
LA - primul muncitor care devine liber;
TMI - ceasul simulării (timpul maşinii JM );
TATM - timpul total al unui muncitor care efectuează o reparaţie la un moment dat (
timpul muncitorului LM );
79
TMK - timpul total al maşinii cu cel mai mare timp de aşteptare neîntreruptă ( timpul
total al maşinii KM );
ICOUNT - contor care numără evenimentele generate (acest contor împreună cu NB
defineşte condiţia de terminare a programului de simulare ) .
Întregii pozitivi N, M şi NB sunt parametri de intrare. ST şi RT sunt variabile
aleatoare de intrare, pentru care se presupune că există subrutine de generare; parametrii
repartiţiilor acestor variabile aleatoare sunt de asemenea parametri de intrare.
Variabilele SS(J), SR(J), SW(J), 1 J N şi SID(L), TBS(L),
1 L M sunt variabile de ieşire ale modelului de simulare.
Ceilalţi parametri descriu stări ale componentelor sistemului şi agenda sistemului ( de
exemplu IX(J), LM, LA, JM, KM ).
Condiţiile iniţiale sunt următoarele:
I = ICOUNT = 0, (5.35)
K = M, (5.36)
SS(J) = SW(J) = 0, 1 J N, (5.37)
TAT(L) = TBS(L) = SID(L) = 0,1 L M, (5.38)
IX(J) = 0, 1 J N, (5.39)
şi ele exprimă consecinţe ale stării sistemului în momentul pornirii maşinilor.
Algoritmul simulării este prezentat în schema logică din figurile 5.4.a şi 5.4.b.
În blocul (1) sunt făcute iniţializările şi sunt citite valorile parametrilor de intrare ( N,
M, NB ) şi parametrii variabilelor aleatoare ( RT şi ST ).
În blocurile (2) şi (3) se simulează începutul funcţionării maşinilor actualizând timpul
fiecărei maşini şi timpul total de reparaţie al fiecărei maşini.
Blocul (4) avansează ceasul TMI până la evenimentul următor stabilind maşina JM la
care s-a produs acest eveniment.
Dacă maşina JM s-a aflat până în acel moment în stare de funcţionare (blocul (5)),
IX(JM) = 0, înseamnă că ea la momentul TMI s-a oprit. De aceea în blocul (6) se alege
conform regulei FIFO muncitorul LM care are timpul total (ceasul) TAT cel mai scurt. Blocul
(7) decide dacă muncitorul LM este liber (K>0) sau nu (K=0). În ultimul caz blocul (8) pune
în aşteptare maşina JM (care nu poate fi reparată), deci coada se măreşte cu o unitate iar
muncitorul LM va fi primul muncitor LA care se eliberează.
80
(1)
(2)
(3)
(4)
=0 (5) =1
(6) (10)
= 0 (7) > 0 = 0 (11) > 0
K = ? I = ?
(12)
(8)
(9) (13)
(14)
B A
Figura 5.4.a
START
Iniţializări şi citirea
parametrilor de intrare
J = 2, N
Generează RT
T(J) = RT
SR(J) = RT
TMI=MIN T(J)
IX(J) 0
T(JM) = TMI
TATM=MIN TAT(L)
TATM=TAT(LM)
IX(JM)=0
IX(JM) = 1
I = I + 1
LA = LM
K = K+1 K = K+1
IX(JM) = 1
Generează ST
SS(JM) = SS(JM) + ST
TAT(LM) = T(JM) =
TMI+ST
TBS(LM) = TBS(LM) +
ST
TID = TMI - TATM
SID(LM) = SID(LM) +
TID
ICOUNT = ICOUNT + 1
TMK = MIN T(J)
IX(J) = -1
T(KM) = TMK
WT = TMI - TMK
SW(KM) = SW(KM) +
WT
Generează ST
T(KM) = TAT(LA) =
TMI+ST
SS(KM) = SS(KM) + ST
TBS(LA) = TBS(LA) +
ST
IX(KM) = 1
I = I - 1
ICOUNT = ICOUNT + 1
Genereazã RT
SR(JM) =
SR(JM)+RT
T(JM) = TMI + RT
ICOUNT =
ICOUNT+1
IX(JM) =?
81
A
(16)
<NB (15) =NB
B ICOUNT = ?
Figura 5.4.b
Dacă dimpotrivă în blocul (7) se găseşte că muncitorul LM este liber, atunci el poate
efectua reparaţia maşinii JM (blocul (9) simulează această reparaţie împreună cu toate
consecinţele sale).
Revenind la blocul (5), dacă până la momentul dat maşina s-a aflat în reparaţie
înseamnă că ea este pusă în stare de funcţionare la momentul TMI (fapt care se realizează în
blocul (10)).
Deci, terminându-se o reparaţie, în blocul (11) se decide dacă muncitorul eliberat
rămâne în continuare liber (I = 0) sau va efectua o nouă reparaţie.
Dacă I = 0, atunci se măreşte numărul muncitorilor care aşteaptă, cu o unitate (blocul
(12)).
Dacă dimpotrivă în blocul (11), I > 0, înseamnă că muncitorul eliberat este muncitorul
LA (precizat în blocul (8)). De aceea blocul (13) alege conform disciplinei FIFO maşina KM
care aşteaptă de cel mai mult timp, îi calculează timpul de aşteptare WT şi îl adaugă la timpul
total al ma-
şinii KM, apoi repară maşina KM simulând toate consecinţele acestei reparaţii.
În continuare, blocul (14) simulează funcţionarea maşinii JM împreună cu
consecinţele sale.
În blocul (15) se decide continuarea sau oprirea experimentelor de simulare. În cazul
opririi experimentelor de simulare se continuă cu blocul (16) care calculează parametrii de
ieşire ai modelului şi alte statistici care interesează în calculele următoare.
Daţi valori concrete parametrilor de intrare (N, M, NB, parametrii variabilelor
aleatoare: RT, ST) şi calculaţi timpul de aşteptare al muncitorului şi al maşinii
(blocurile 1 – 13, mergând pe varianta că muncitorul eliberat va efectua o nouă
reparaţie.
STOP
Calculează parametrii
de ieşire. Afişează
rezultatele.
82
5.4.4. Simularea unui proces cu n staţii paralele
Se prezintă în continuare un model de simulare de forma:
. / . / N: ( , FIFO) (5.40)
unde cele n staţii sunt presupuse paralele, repartiţiile serviciilor în aceste staţii fiind diferite. Sistemele
de aşteptare descrise de modelul de mai sus sunt diverse. De exemplu, un atelier de reparaţii cu N
muncitori şi N maşini care execută comenzile în ordinea sosirii poate fi descris de acest model. Lista
variabilelor şi parametrilor modelului este prezentată în continuare:
AT - intervalul de timp (aleator) dintre două sosiri;
ST(J) - durata unui serviciu (variabilă aleatoare) la staţia J,1JN
WT - timpul de aşteptare la coadă a unui client oarecare;
TID - timpul curent de lenevire al staţiei care începe un serviciu;
TAT - suma intervalelor de timp de sosire (momentul sosirii ultimului client);
TT(J) - timpul staţiei J la plecarea a ultimului client (ceasul staţiei J);
TTMIN- ceasul simulării (definit ca cel mai mic din ceasurile TT(J),1 J N;
L - staţia cu cel mai mic timp TT(J), (adică TTMIN = TT(L))
NS - numărul de sosiri care trebuie simulat (NS >>>N);
ICOUNT- contor care numără sosirile;
SST(J) - suma duratelor de serviciu ale staţiei J;
SWT(J) - suma aşteptărilor clienţilor serviţi de staţia J;
TTID(J) - timpul total de lenevire al staţiei J;
DIF - TAT -TTMIN.
Variabilele AT şi ST(J), 1 J N sunt variabile de intrare, parametrul NS este parametru de
intrare ( ca şi parametrii repartiţiilor variabilelor AT şi ST(J)), iar celelalte variabile sunt variabilele de
ieşire. Se presupune că la momentul iniţial există un client în sistem.
Condiţiile iniţiale sunt:
TAT = 0, (5.41)
TT(J) = 0, 1 J N; (5.42)
SST(J) = SWT(J) = TTID(J) = 0, (5.43)
1 J N.
Schema logică a modelului de simulare este prezentată în figurile 5.5.a şi 5.5.b, ea fiind
construită pe principiul ceasului variabil.
Blocul (1) citeşte parametrul NS şi parametrii variabilelor aleatoare de intrare şi fixează
condiţiile iniţiale.
În blocurile (2) şi (3) se generează N - 1 sosiri (un client se găseşte deja în staţie !) şi
reactualizează momentul ultimei sosiri TAT şi timpii de neocupare (lenevire) ai staţiilor.
Blocul (4) precizează că au avut loc N sosiri.
83
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
NS (9) > NS
ICOUNT=?
(10) (16)
DIF = ? (11) +
(12) (13)
= 0
A B
Figura 5.5.a
START
STOP
Iniţializări şi citirea
parametrilor de intrare
J = 2, N
J = 1, N
Generează AT
TAT = TAT + AT
ICOUNT = 1
Generează ST(J)
TT(J) = TTID(J) + ST(J)
SST(J) = SST(J) + ST(J)
TTMIN = MIN TT(J)
1 J N
TTMIN = TT(L)
ICOUNT = ICOUNT + 1
Generează AT
TAT =TAT + AT
DIF = TAT - TMIN
Calculează statistici.
Afişează rezultatele.
TID=DIF
TTID(L)=TTID(L)+
TID
WT= -DIF
SWT(L)=SWT(L)+
WT
84
A
(14)
B
(15)
Figura 5.5.b
În blocurile (5) şi (6) se simulează servirea primilor N clienţi precizând timpii staţiilor
TT(J), la sfârşitul serviciilor şi se reactualizând duratele de serviciu ale staţiilor.
Blocul (7) stabileşte valoarea ceasului (avansează ceasul până la momentul când a
avut loc evenimentul următor) şi maşina L care va efectua serviciul următor, iar blocul (8)
numără clientul care urmează să sosească.
Dacă în blocul (9) ICOUNT > NS atunci înseamnă că au fost deja simulate NS sosiri,
deci se continuă cu blocul (16).
Dacă dimpotrivă, în blocul (9) ICOUNT NS, atunci înseamnă că nu au fost încă
simulate NS sosiri şi se execută blocul (10), care generează o nouă sosire, reactualizează
momentul ultimei sosiri şi calculează diferenţa DIF.
Cu ajutorul semnului lui DIF (blocul (11)) se stabileşte dacă clientul sosit în blocul
(10) aşteaptă, caz în care se execută blocul (12), sau este servit, caz în care se execută blocul
(13); în acest ultim caz înseamnă că staţia L cu cel mai mic timp (ceas) a aşteptat (lenevit)
intervalul de timp DIF.
În continuare blocul (14) generează un nou serviciu şi reactualizează timpul total de
funcţionare al staţiei L.
Blocul (15) reactualizează ceasul staţiei L (care a efectuat ultimul serviciu) şi trece din
nou controlul la blocul (7).
Daţi valori concrete parametrilor de intrare (NS, parametrii repartiţiilor
variabilelor AT şi ST(J)) şi calculaţi durata de aşteptare a unui client la coadă
(blocurile 1 – 12).
Generează ST(L)
SST(L) = SST(L) +ST(L)
TT(L)=TTMIN+ST(L)
85
5.5. Rezumat
Datele de intrare principale ale unui model pentru procesele de aşteptare
sunt: ritmul sosirii consumatorilor, numărul de staţii de servire, ritmul de servire,
disciplina şirului de aşteptare;
Modelarea matematică a unui proces de aşteptare permite determinarea
următoarelor caracteristici: numărul mediu de unităţi din sistem, numărul mediu de
unităţi din şirul de aşteptare, timpul mediu de aşteptare din sistem, timpul mediu de
aşteptare din şirul de aşteptare;
Simularea proceselor de aşteptare se recomandă în următoarele situaţii:
când sistemul de servire are un număr mare de staţii cu o topologie
complexă;
când repartiţiile timpilor de sosire / servire sunt de tip complex (gamma,
Weibull etc.) sau sunt amestecuri de repartiţii;
când mecanismul servirilor presupune existenţa unor priorităţi sau a unor
restricţii;
când prin studiul sistemului se urmăreşte realizarea unui obiectiv (a unei
eficienţe).
Simularea proceselor de aşteptare se poate realiza pe baza metodei ceasului
cu increment constant, sau a ceasului cu increment variabil. Alegerea metodei se
face pe baza următoarelor criterii: precizia necesară, efortul de calcul (timp de
rulare, mărimea memoriei calculatorului) şi datele disponibile (observaţiile s-au
efectuat la intervale de timp constante sau “din eveniment în eveniment”).
5.6. Test de evaluare a cunoştinţelor
1. Un proces de aşteptare se caracterizează printr-unul din următoarele
elemente:
a. staţie de servire;
b. magazie de stocare;
c. sală de aşteptare.
2. Una din datele de intrare pentru un model al unui proces de aştept are este:
a. mărimea lotului de aprovizionare;
b. numărul de staţii de servire;
c. numărul de muncitori pe schimb.
3. Factorul de servire se determină cu relaţia:
a. = 1/
b. = 1/
c. = /
86
Unitatea de învăţare U6. Modelarea şi simularea proceselor de
stocare
Cuprins
6.1. Introducere ................................ ................................ ................................ ............. 84
6.2. Competenţe ................................ ................................ ................................ ............ 84
6.1. Introducere
În procesul de producţie intervin valori materiale (cantităţi) care intră în proces
(materii prime sau materiale) şi valori care ies din proces (produse finite). Aceste
valori materiale se constituie sub forma unor stocuri.
Stocul sau inventarul este o resursă de orice fel care are o valoare economică,
resursă caracterizată printr-o variaţie determinată de intrări şi ieşiri
Scopul menţinerii unui stoc S este acela de a satisface o cerere. Întrucât prin
satisfacerea cererii stocul se micşorează, este necesară reaprovizionarea lui, adică
realizarea unor intrări în stoc.
Unitatea de învăţare prezintă principalele noţiuni privind stocurile: definiţie, scop,
elemente definitorii etc. De asemenea face o scurtă incursiune în modelele folosite
pentru gestiunea stocurilor, precum şi a posibilităţilor de simulare a proceselor de
stocare. Unitatea de învăţare se finalizează cu un test de autoevaluare, urmat de
răspunsurile la întrebări.
6.2. Competenţe
La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
identifice elementele definitorii ale unui proces de stocare;
identifice principalele aspecte la care trebuie să răspundă modelele de gestiune a
stocurilor;
opereze cu noţiunile specifice modelelor de gestiune a stocurilor;
optimizeze, din punct de vedere economic, procesul de stocare.
Durata medie de parcurgere a acestei unităţi de învăţare este de 3 ore.
6.3. Elemente definitorii din teoria stocurilor
Stocul sau inventarul este o resursă de orice fel care are o valoare economică, resursă
caracterizată printr-o variaţie determinată de intrări şi ieşiri. Valoarea resursei S este o funcţie
de timp, S = S(t).
87
Scopul menţinerii unui stoc S este acela de a satisface o cerere. Întrucât prin
satisfacerea cererii stocul se micşorează, este necesară reaprovizionarea lui, adică realizarea
unor intrări în stoc.
Se notează cu a(t) rata intrărilor în stoc (cantitatea care intră în stoc în intervalul T de
timp la momentul t), cu b(t) rata ieşirilor din stoc şi cu r(t) rata cererii. Cererea nu se confundă
totdeauna cu ieşirea (ieşirea din stoc se poate realiza, de exemplu, din cauza deprecierii
produselor), însă de cele mai multe ori b(t) = r(t). Se notează cu S0 = S(0) valoarea stocului
la momentul iniţial t=0. Variaţia stocului este dată de relaţia:
S(t)= S0 + 0
t [a(t) - b(t)]dt (6.1)
Funcţia a(t) trebuie aleasă astfel încât să se realizeze un anumit obiectiv sau o eficienţă
dorită. Această eficienţă se defineşte în funcţie de costuri. Costurile sau cheltuielile ce se
efectuează pentru derularea procesului de aprovizionare, aducerea, depozitarea, stocarea
materialelor şi satisfacerea cererii de consum, se împart în următoarele categorii:
costul de lansare (Cl) – toate cheltuielile care se fac la începutul procesului de
stocare;
costul de stocare (Cs) – include toate cheltuielile efectuate pe timpul staţionării
resurselor materiale în stoc;
costul lipsei de stoc (penuriei) (Cp) – apare atunci când la un moment dat cererea de
consum este mai mare decât stocul existent, deci cererea nu poate fi satisfăcută integral sau
parţial.
În continuare sunt date exemple de costuri specifice unui proces de stocare.
Exemple
Costul de lansare: toate cheltuielile ce se fac la întocmirea comenzii,
trimiterea acesteia la furnizor, pregătirea livrării unei părţi din comandă,
cheltuielile de transport ale acesteia, deplasarea delegatului, beneficiarului
etc. În general aceste cheltuieli sunt fixe pe comandă şi se exprimă în
u.m./comandă.
Costul de stocare: cheltuieli cu primirea, recepţia, pentru transportul intern,
manipulare, depozitare propriu-zisă, conservare, pază, evidenţă, eventuale
deteriorări, cheltuieli determinate de imobilizarea fondurilor financiare în
materialele stocate. Se exprimă în u.m. / zi stocare.
Costul lipsei de stoc (penurie, lipsă, penalizare): amenzi, penalizări, generate
de întreruperea producţiei şi /sau cheltuieli suplimentare pentru satisfacerea
operativă a cererii din alte surse. Se exprimă în u.m. /zi cât lipseşte din stoc
materialul.
Daţi exemple de acţiuni orientate către obiectivul reducerea costurilor unui
proces de stocare.
88
Cele trei categorii de costuri alcătuiesc costul total în procesul de asigurare a resurselor
materiale necesare.
Costul total al stocării depinde de nivelul stocului şi de timp. Minimizarea acestui cost
total duce la o politică optimă de reaprovizionare.
În afară de variabilele a(t), b(t) şi r(t) amintite, în modelele de teoria stocurilor intervin
şi alte tipuri de variabile legate în special de mecanismul reaprovizionării, adică de
mecanismul intrărilor în stoc.
Reaprovizionarea se face la momente diferite de timp t0<t1< t2 ... în cantităţile q(t0),
q(t1), q(t2)... . Intervalele de timp Ti = ti+1 - ti , i = 0,1, 2, ... se numesc cicluri de
reaprovizionare. Variaţia stocului S(t) se reprezintă grafic prin segmente oblice, aşa cum se
prezintă în figura 6.1.
Pe axa orizontală, considerată ca axă a timpului, se notează momentele de
reaprovizionare, iar pe verticală se notează comenzile q(ti), care înseamnă cantităţile care intră
în stoc la momentele ti .
Această reprezentare grafică are în vedere condiţii simplificatoare: reaprovizionarea
instantanee şi cererea perfect ritmică.
În intervalele (s1 , t3 ) şi (s2 , t4 ) se produce lipsa de stoc. Lotul care se comandă, în
general, nu intră în stoc în momentul când a fost lansată comanda, ci după un anumit interval
de timp Li (i = 0,1,2...), numit interval de livrare (figura 6.2).
Comanda q(t1) se lansează la momentul t1 - L0 = T0 - L0 , când stocul atinge o valoare
critică P, numită nivel de reaprovizionare sau punct de comandă. S
q(t0) q( t1) q(t 2) q(t 3)
t0 t 1 t 2 s1 t3 s 2 t4 t
Figura 6.1
Mărimile L şi P pot fi presupuse cunoscute sau pot fi variabile de decizie, care trebuie
alese de decident în vederea realizării eficienţei optime.
89
Intervalul de timp dintre două comenzi consecutive se numeşte interval de control al
stocului. Momentul lansării comenzii este momentul când nivelul stocului S scade la valoarea
nivelului de reaprovizionare P.
Figura 6.2
6.4. Modele de gestiune a stocurilor
Problema gestiunii stocurilor constă în stabilirea unor reguli de aprovizionare astfel ca
în stoc să nu lipsească articole necesare procesului de producţie sau aprovizionării pieţei.
Un model de gestiune a stocurilor trebuie să răspundă la două întrebări:
când se comandă? (care sunt punctul de comandă şi perioada de reaprovizion are);
cât se comandă? (care este mărimea lotului de aprovizionare).
Se prezintă în continuare modelele unor procese de stocare care diferă între ele prin
variabilele de intrare.
6.4.1 Procese de stocare cu perioade egale şi cerere constantă (modelul
WILSON).
Acest model presupune un consum constant şi o aprovizionare instantanee. Principiul de
bază al acestui model constă în determinarea lotului de aprovizionare q care să minimizeze
costul total de gestiune a stocului.
Se fac următoarele ipoteze:
se cunoaşte cererea totală N şi perioada de gestiune ;
nu se admite lipsa de stoc;
costurile de lansare Cl şi de stocare Cs sunt cunoscute;
stocul mediu este q/2 şi pe perioada de reaprovizionare T cheltuielile de stocare se
evaluează la q
2 Cs T;
I(t)
S
q(t1) q(t2) q(t3) q(t0)
P
t0 T0 L0 t1 T1 t2 T2 t3 T3 t 4 t
90
punctul de comandă este egal cu zero.
Reprezentarea grafică a acestui proces de stocare se poate vedea în fig.6.3.
Costul total al gestiunii pe perioada va fi dat de relaţia:
C(q) = CqC T N
qls
2 (6.2)
Având în vedere că:
Nq T
(6.3)
relaţia (4.2) devine:
C(q) = N Cq
q Ce s.
2 (6.4)
S
q q q q
t0 t 1 t 2 t 3 t 4 t
T T T T
Figura 6.3
Impunând condiţia de minim C’(q) = 0, se obţine lotul optim de reaprovizionare:
q1 = 2 N C
Cl
s (6.5)
şi corespunzător, perioada de reaprovizionare:
T1 = 2 CN C
l
s (6.6)
91
Costul total minim va fi:
C(q) = 2 N C Ce s (6.7)
Exemplu
Un producător de accesorii pentru automobile primeşte o comandă de
120.000 de tablouri de bord, pe care trebuie să le livreze timp de un an (240 de
zile lucrătoare). În ce ritm trebuie el să-şi reaprovizioneze stocul, dacă nu i se
admite nici o întârziere în livrări ? Cererea constructorului de automobile are un
ritm constant, iar costurile sunt următoarele :
- costul de stocare Cs = 35 u.b. / zi * 240 zile = 8400 u.b.
- costul de lansare C l = 300.000 u.b. / comandă.
Să se determine elementele gestiunii optime.
Procesul de stocare din aplicaţia de mai sus este de tip model Wilson. Pentru
rezolvare, se propune utilizarea pachetului soft-ware WinQSB, modulul
Inventory Theory and System. Programul permite rezolvarea mai multor tipuri
de probleme, însă pentru această aplicaţie se impune introducerea datelor
conform opţiunii: Deterministic Demand Economic Order Quantity (Modelul
lotului economic, cu cerere cunoscută ).
Pentru modelul de mai sus datele de intrare sunt:
- mărimea cererii pentru perioada considerată (DEMAND PER YEAR): 120000;
- costul lansării comenzii (ORDER OR SETUP COST PER YEAR): 300000;
- costul de stocare (UNIT HOLDING COST PER YEAR) : 8400.
Se obţin următoarele rezultate :
ORDER QUANTITY (mărimea optimă a comenzii de aprovizionare): 2,927.70
MAXIMUM INVENTORY (nivelul maxim al stocului): 2,927.70
MAXIMUM BACKORDER (nivelul maxim al lipsei de stoc): 0
ORDER INTERVAL IN YEAR (mărimea ciclului de reaprovizionare): 0.0244
REORDER POINT (mărimea punctului de reaprovizionare): 0
TOTAL SETUP OR ORDERING COST (costul total de lansare): $ 12,296,341.00
TOTAL HOLDING COST (costul total de stocare): $ 12,296,341.00
TOTAL SHORTAGE COST (costul total al lipsei de stoc): 0
TOTAL MATERIAL COST (costul total cu materialele): 0
GRAD TOTAL COST (Costul total al sistemului): $ 24,592,682.00
92
6.4.2 Proces de stocare cu perioade egale, cerere constantă şi posibilitatea ruperii
stocului.
Fie Cp costul lipsei de stoc, Cl costul de lansare a comenzii şi Cs costul de stocare a
unui articol într-o unitate de timp. O astfel de gestiune se prezintă grafic în figura 6.4.
Pentru o perioadă T, costurile implicate în proces sunt:
- costul lansării unui lot: C l;
- costul stocării: 12 1SC Ts ;
- costul penalizării: 12 2( )q S C Tp
S
S
q
T 1 T 2 T 1 T 2 t
T T
Figura 6.4
Costul total pe intervalul de gestiune, pentru cele N/q perioade, va fi:
C(q,S) = C SC T q S C TNql s p
12
121 2 (6.8)
Dar:
Nq T
; TSqT1 ; T
q Sq
T2
şi prin înlocuire în relaţia (6.7), costul total devine:
C(q,s) = N C
qN S C T
qN q S C T
ql s p
2
2 22 2 =
93
= N C
qS Cq
q S Cq
l s p
2 2
2 2 (6.9)
Impunând condiţiile de minim:
CS 0 şi
Cq 0 , (6.10)
se obţine lotul optim:
q0 = 2 N C
CC CC
l
s
s p
p
(6.11)
şi corespunzător, perioada optimă de reaprovizionare:
T0 = 2CN C
C CC
l
s
s p
p
(6.12)
Costul total minim va fi:
C0 (q0 ) = 2 N C CC
C Cl sp
s p
(6.13)
sau
C0 = C1 , unde
CC C
p
s p .
Dar < 1, deci politica de aprovizionare care presupune existenţa lipsei de stoc
este mai convenabilă decât politica ce nu admite lipsa de stoc !
Cantitatea
CC C
p
s p se numeşte factor de indisponibilitate sau factor de penurie.
Utilizând programul WinQSB, rezolvaţi următoarele aplicaţii. Comentaţi
rezultatele obţinute. Introducerea datelor se va realiza în modulul prezentat la
pag. 89
1. Analizaţi şi comentaţi următoarele două cazuri A şi B, propuse spre rezolvare,
care consideră aceeaşi cerere anuală, şi acelaşi număr de zile necesar pentru
sosirea materialului la firmă după lansarea comenzii, costurile fiind însă diferite.
A B
Cererea anuală (units/year) 30000 30000
Număr zile an 365 365
Lead time (zile) 9 9
Costul de lansare (um/comandă) 50 3
Costul de stocare (um/unit/an) 2,60 45
94
6.4.3 Procese de stocare cu cerere discretă.
Se presupune că se cer din stoc, în fiecare unitate de timp, cu frecvenţa n, cantităţi de
aceeaşi mărime a şi că aprovizionarea se face prin comenzi de mărime q = k a , k = 1, 2 ... ( k –
numărul de cereri dintr-o perioadă). Intrarea în stoc are loc în acelaşi timp cu o ieşire.
Nivelul mediu al stocului este a k 1
2, iar costul pe unitatea de timp este:
C(k) = aC k nC
ks l
1
2 (6.14)
Prin derivare în raport cu k rezultă:
k = 2 nCaC
l
s (6.15)
Deci lotul de aprovizionare este:
q = k a (6.16)
Dacă k = 1, nu mai este necesară stocarea.
6.4.4 Procese de stocare a mai multor produse diferite.
Se presupune că se stochează n produse diferite, cu costurile de lansare Cli şi costurile
de stocare Csi , 1 i n. Se cere să se determine loturile de aprovizionare qi şi ciclurile de
reaprovizionare Ti 1 i n, pe un interval de gestiune, fiecare produs fiind cerut în total în
cantitatea Ni , 1 i n.
Costul total aferent fiecărui produs i este:
Ci (qi) = N Cq
qCi li
i
isi
2 (6.17)
iar costul total al stocării se defineşte ca fiind:
C(q1, ... ,qn) = C qi ii
n
1
(6.18)
Din condiţia de minim (derivatele parţiale egale cu zero) rezultă că loturile optime şi
ciclurile de reaprovizionare optime sunt:
qi = 2 N C
Ci li
si (6.19)
Ti = 2CN C
li
i si (6.20)
95
Utilizând programul WinQSB, rezolvaţi următoarele aplicaţii. Comentaţi
rezultatele obţinute. Introducerea datelor se va realiza în modulul prezentat la
pag. 89
1. Cererea anuală (365 zile lucrătoare) pentru un produs este de 17640 unităţi.
Costul de stocare Cs, pentru o unitate de produs, pentru întreaga perioadă este
de 36,5 u.m, iar costul de lansare a comenzii este Cl = 500 u.m /comandă. Se
cunoaşte că numărul de zile de la lansarea comenzii până la primirea
materialelor - durata de aşteptare a comenzii (Lead time) este de 9 zile. Să se
stabilească politica optimă de gestiune a stocului şi să se interpreteze rezultatele
obţinute.
2. Pentru depozitul de materiale al unei secţii de sculărie se cer anual (250 zile
lucrătoare) un număr de 6.000 repere de un anumit tip. Costul de lansare a
comenzilor de aprovizionare este Cl = 15.000 u.b., iar costul de stocare pentru
un articol este Cs = 2,5 u.b. / zi * 250 zile = 625 u.b. Să se determine elementele
gestiunii optime.
Să ne reamintim...
simularea are la bază un model de simulare care conţine variabile şi parametri;
variabilele se pot modifica în cazul unui ciclu de simulare;
în cazul variabilelor aleatoare trebuie stabilit tipul repartiţiilor;
parametrii rămân aceeaşi în cadrul unui ciclu de simulare, dar se pot modifica de
la un ciclu de simulare la altul;
în schemele de simulare se poate utiliza ceasul cu increment fix sau ceasul cu
increment variabil.
6.5. Simularea unui proces de stocare
Simularea are la bază un model care pune în evidenţă aproape toate elementele ce se pot
întâlni în construcţia modelelor de simulare pentru probleme legate de stocuri. Astfel, prin
intermediul modelului se poate obţine o variantă de plan pentru lansarea comenzilor,
momentele lansării comenzilor L şi momentele sosirii comenzilor T, împreună cu toate
cheltuielile CH, CD, CS, TC legate de procesul de reaprovizionare şi menţinere a stocului.
Lista variabilelor şi parametrilor modelului de simulare este următoarea:
H - costul de stocare; R - cererea din stoc pe unitate de timp;
D - costul lipsei de stoc; VI - nivelul curent al stocului;
S - costul de lansare; Q - mărimea optimă a comenzii;
96
CH - costul total de stocare; P - mărimea nivelului de reaprovizionare;
CD - costul total al lipsei de stoc; L - timpul de avans al lansării comenzii;
CS - costul total al lansării; BI - nivelul iniţial al stocului;
TC - cheltuieli totale de stocare; TT - perioada totală a simulării.
T - momentul intrării comenzii în stoc;
Mărimile H, D, S, Q, P, BI şi TT sunt parametrii de intrare, în timp ce variabilele
aleatoare R şi T sunt variabile de intrare care au repartiţii cunoscute.
Condiţiile iniţiale în momentul începerii simulării sunt următoarele:
TC = CH = CD = CS = 0
VI = BI;T = 0 (6.21)
CLOCK = 0
Schema logică a modelului de simulare se prezintă în figura 6.5.
In blocul (1) se introduc în memoria calculatorului valorile parametrilor de intrare şi se
fixează valorile iniţiale ale variabilelor de intrare, conform relaţiilor (6.21).
În continuare, blocul (2) generează o nouă cerere şi măreşte valoarea ceasului cu un
increment (se utilizează ceas cu increment constant).
Blocul (3) exprimă condiţia de terminare a simulării. Dacă simularea continuă, atunci
în blocul (4) se verifică dacă s-a atins momentul intrării în stoc a unei comenzi. În caz
afirmativ, se încarcă comanda Q în stoc (blocul (5)) şi se continuă cu blocul (6), în care se
satisface cererea R.
În continuare, în blocul (7) se cercetează nivelul stocului rămas. Dacă acesta este
negativ, atunci în blocul (8) se calculează costul stocului care lipseşte în unitatea de timp,
adică VI * D, îl adaugă la CD şi se readuce stocul la valoarea zero. Aici se observă că
modelul presupune existenţa lipsei se stoc, dar cererea nesatisfăcută nu se păstrează; ea intră
însă în calculul costului cauzat de lipsa de stoc.
În continuare, se execută blocul (9), care calculează costul stocării, VI*H, pe unitatea
de timp şi îl adaugă la costul total al stocării CH. Se trece apoi la executarea blocului (10),
care verifică dacă este nevoie să se lanseze o nouă comandă sau nu; în caz negativ se trece la
blocul (2) iar în caz afirmativ se execută blocul (11).
97
(1)
(2)
(3)
(13) DA
(4) DA
(14) (5)
NU
(6)
(7) < 0
VI = ?
0 (8)
(9)
(10) DA
P < VI
(11) NU
TCLOCK
(12)
Figura 6.5
STOP
Citirea parametrilor de
intrare. Iniţializări.
Generează R
CLOCK=CLOCK+C
TC=CH+CD+CS
VI = VI - R
CH=CH+VI*H
Calculează
parametrii de ieşire.
Afişează rezultatele. VI=VI+Q
CD=CD+VI*D
VI=0
CS = CS + S
Generează L
T = CLOCK + L
CLOCK TT
T = CLOCK
START
98
În blocul (11), se verifică din nou dacă la momentul respectiv soseşte o nouă comandă
sau nu; în caz negativ se trece la blocul (2) iar în caz afirmativ se execută blocul (12), care
lansează o nouă comandă, adăugându-i costul lansării S la costul total al lansării CS,
generându-i timpul de avans L şi determinându-i momentul T când ea va intra în stoc.
Revenind la blocul (3), dacă în acest bloc se decide că simularea este completă, se
execută blocul (13), în care se calculează costul total TC şi apoi blocul (14), în care se
calculează statistici ale modelului şi se imprimă rezultatele finale.
Cu o mică modificare, modelul poate fi adaptat şi pentru cazul când cererea
nesatisfăcută se păstrează. Modificarea constă în înlocuirea blocurilor 7, 8 şi 9 din figura 6.5
cu blocurile 7, 8 şi 9 din figura 6.6.
(7)
0 < 0
VI = ?
(9) (8)
Figura 6.6
Pentru schema logică din figura 6.5 daţi valori concrete parametrilor de intrare
(blocul 1). Mergând pe varianta „simularea continuă”, calculaţi care este costul total
de stocare, pe unitatea de timp (parcurgând blocurile 4 – 9).
6.6. Rezumat
Stocul sau inventarul este o resursă de orice fel care are o valoare economică,
resursă caracterizată printr-o variaţie determinată de intrări şi ieşiri;
Valoarea resursei S este o funcţie de timp, S = S(t);
Scopul menţinerii unui stoc S este acela de a satisface o cerere;
Costul total de stocare este compus din costul de lansare (Cl), care cuprinde
cheltuielile privind introducerea materialelor în stoc, costul de stocare (Cs), care
cuprinde cheltuielile datorate imobilizării fondurilor, cheltuielile de stocare
(depozitare, supraveghere etc.), eventualele pierderi datorate deprecierii bunurilor
din stoc şi costul lipsei de stoc (penuriei) (Cp), care cuprinde cheltuielile determinate
de lipsa de stoc (ruperea stocului apare atunci când cererea este superioară stocului).
O politică optimă de reaprovizionare presupune minimizarea costului total.
CD=CD+VI*D CH=CH+VI*H
99
6.7. Test de autoevaluare a cunoştinţelor
1. Scopul unui stoc este:
d. să micşoreze costurile de producţie;
e. să majoreze cheltuielile de aprovizionare;
f. să satisfacă o cerere a sistemului de producţie.
2. Pentru modelarea unui proces de stocare trebuie să se cunoască:
a. perioada de gestiune;
b. numărul de muncitori dintr-o secţie;
c. suprafaţa depozitului în care se păstrează stocul.
3. O politică de reaprovizionare convenabilă presupune utilizarea unui model:
a. fără ruperi (lipsuri) de stoc;
b. cu ruperi (lipsuri) de stoc;
c. cu stocuri foarte mari.
4. Simularea proceselor de stocare permite:
a. determinarea productivităţii muncii;
b. calcularea costurilor totale de stocare;
c. determinarea tipurilor de produse dintr-un stoc.
5. Costul total de stocare conţine:
a. costul de stocare, costul de lansare şi costul lipsei de stoc;
b. costul de lansare şi costul lipsei de stoc;
c. costul produselor stocate.
Răspunsurile testului de autoevaluare a cunoştinţelor
1. c;
2. a;
3. b;
4. b;
5. a.
100
Unitatea de învăţare U7. Modelarea dinamică
Cuprins
7.1. Introducere ................................ ................................ ................................ ............. 98
7.2. Competenţe ................................ ................................ ................................ ............ 98
7.1. Introducere
Obiectivul central al Dinamicii Sistemelor, ca metodă de abordare ştiinţifică a
problemelor în care timpul reprezintă un factor esenţial, este să ajute managerii să
determine politicile cu care aceştia vor controla eficient sistemele în funcţie de
perturbaţiile mediului înconjurător.
Pentru realizarea obiectivului său, Dinamica Sistemelor utilizează o serie de
metode, cum sunt: analiza de sistem, modelarea dinamică, simularea dinamică,
prezentate în cadrul unităţilor de învăţare U7 Şi U8. În cadrul metodelor se
urmăresc principalele elemente ale unui sistem dinamic, modul de realizare al unui
model dinamic şi etapele de realizare a unui model dinamic. De asemenea se
prezintă şi o schemă pentru simularea dinamică.
7.2. Competenţe
La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
identifice obiectivele şi limitele sistemului studiat, elementele componente;
evidenţieze raporturile de interdependenţă dintre subsisteme , precum şi cu alte
sisteme din mediul înconjurător;
opereze cu noţiuni specifice dinamicii sistemelor (nivel, ritm, informaţie, nivel
dorit);
întocmească schema grafică a sistemului necesară modelării dinamice;
scrie ecuaţiile aferente sistemului studiat.
Durata medie de parcurgere a acestei unităţi de învăţare este de 3 ore.
7.3. Aspecte generale
Sistemele de producţie, economice şi sociale au un comportament dinamic. Aceasta
înseamnă că, pe măsura scurgerii timpului, variabilele cu care se măsoară starea lor (nivelul
stocurilor, salariile, profiturile, rezervele valutare etc.) fluctuează în mod semnificativ.
Managerii unor astfel de sisteme au drept obiective principale inhibarea variaţiilor nedorite
şi/sau favorizarea variaţiilor benefice.
101
Exemplu
O firmă deţine un stoc de produse finite pe care îl diminuează prin vânzări şi
îl completează prin producţie. Astfel, stocul de produse finite creşte şi scade
în decursul timpului cu cantităţi însemnate.
Fie STOC.INIT şi STOC.FIN stocul la începutul, respectiv la sfârşitul unei
perioade de timp (o săptămână) şi fie PROD cantitatea de bunuri produsă în
perioada dată, iar LIV cantitatea livrată pe piaţă. În acest caz se poate scrie
relaţia:
STOC.FIN = STOC.INIT + PROD - LIV (7.1)
Referitor la exemplul de mai sus, se pot face următoarele observaţii:
Variaţia lui LIV de la o zi la alta este cel puţin una din cauzele modificării stocului;
PROD este supus unor influenţe aleatoare datorate posibilităţii defectării utilajelor,
dificultăţilor de aprovizionare cu materii prime etc. Acestea sunt, de regulă, cauze minore
într-un sistem bine organizat şi nu explică complet comportamentul acestuia;
PROD variază cel mai mult datorită deciziilor managerilor. De exemplu, dacă
stocul scade prea mult, managerul poate decide să mărească ritmul producţiei.
În concluzie, politica managerială afectează cel mai mult comportamentul dinamic al
unui sistem. Această politică se stabileşte, în general, în funcţie de modul în care informaţiile
externe, cum sunt cele referitoare la cererea pieţei, sintetizate în LIV sunt percepute de către
manager. Politicile, altfel spus regulile după care managerii îşi aleg deciziile, pot diminua
efectele pe care perturbaţiile externe le au asupra sistemului de producţie sau pot să le
accentueze.
Dinamica Sistemelor presupune utilizarea unor metode care decurg, în mod firesc, din
caracterul sistemic al acestei discipline. Aceste metode sunt, în principal, următoarele:
Analiza de sistem;
Modelarea dinamică;
Simularea dinamică.
Analiza de sistem constituie una din cele mai importante metode ale Dinamicii
Sistemelor. Ea permite definirea precisă a obiectivelor şi limitelor sistemului studiat, a
elementelor (subsistemelor) componente, a raporturilor de interdependenţă dintre susbsisteme
precum şi cu alte sisteme din mediul înconjurător.
Legăturile între subsistemele unei întreprinderi sunt de natură cibernetică şi trebuie
privite atât din punctul de vedere al factorului timp, cât şi din punctul de vedere al factorului
spaţiu. Acest lucru implică structurarea lor, în cadrul unor modele dinamice, pe nivele
ierarhice, cu punerea în evidenţă a funcţionalităţii fiecărui subsistem în parte şi a intercorelării
lor, cu posibilitatea luării unor măsuri de ordin organizatoric şi decizional care să conducă la o
funcţionare mai bună, în ansamblu, a întregului sistem.
102
Studiul relaţiilor dintre subsistemul de producţie şi celelalte subsisteme ale
întreprinderii, pune în evidenţă faptul că acesta se comportă ca un element de comandă şi
filtraj pentru celelalte subsisteme, cele din urmă intervenind ca elemente de reglare pe bucla
de reacţie a subsistemului de producţie.
Legăturile dintre subsisteme sunt de tip discret, adică transmiterea semnalelor (de
comandă) şi recepţionarea răspunsului (efectelor) se fac la anumite intervale de timp.
Alegerea perioadei de eşantionare (intervalul între transmiterea a două semnale consecutive)
este esenţială pentru o reprezentare corectă a sistemului real (aceeaşi perioadă constantă
pentru toate variabilele de stare are un efect de mediere asupra valorilor lor).
Exemplu
Caracterul dinamic al procesului de producţie implică studiul legăturilor sale
cu celelalte procese ale întreprinderii. În acest scop, întreprinderea este
considerată ca un sistem închis şi se va studia subsistemul producţie în
interacţiune cu celelalte subsisteme: aprovizionare-desfacere, logistică,
întreţinere - reparaţii, resurse umane, financiar-contabil, proiectare, calitate
etc.
Modelarea dinamică constă din alcătuirea unor sisteme de ecuaţii cu diferenţe
finite, cu ajutorul cărora se aproximează comportamentul continuu al sistemelor de producţie
studiate.
Prima etapă în modelarea dinamică o constituie delimitarea sferei de cuprindere a
obiectului modelat: sistemul de producţie. Se consideră apoi principalele funcţiuni şi activităţi
ale acestuia, precizându-se deci submodelele modelului general.
Următoarea etapă presupune stabilirea legăturilor dintre submodele realizând astfel o
primă rafinare a modelului. Această rafinare continuă, considerând elementele şi legăturile
într-un model. În felul acesta se poate realiza un model tipologic pentru toate întreprinderile,
indiferent de ramura industrială de care aparţin, pentru că el nu este determinat de
particularităţile tehnologice ale întreprinderii ci de caracterul comun al esenţei lor economice.
De aceea, înainte de alcătuirea modelului este necesară o analiză economică a procesului
studiat care începe cu evidenţierea specificului lui calitativ.
Dintre avantajele modelării dinamice reţinem următoarele:
reprezintă un instrument de tratare sistemică, globală a sistemelor de producţie
complexe, cu însuşirea de a cuprinde procesele de intercondiţionare reciprocă, precum şi pe
cele de reglare (feed-back);
evidenţiază relaţiile cantitative şi calitative din sistem şi permite găsirea, prin
simulare, a unor soluţii efective, operaţionale, chiar pentru probleme de foarte mare amploare;
103
oferă utilizatorilor posibilitatea unei abordări conversaţionale, în care decidentul
deţine un rol activ;
evită rigiditatea altor metode de modelare matematică, deoarece modelarea
dinamică este subordonată analizelor şi interpretărilor calitative.
Simularea dinamică utilizează modelele dinamice pentru a simula comportamentul
sistemelor studiate în vederea determinării strategiilor decizionale optime. Simularea se
efectuează pe intervale finite de timp prin modificări ale parametrilor sau schimbări ale
politicilor proprii modelelor simulate.
Daţi exemple de subsisteme, din cadrul sistemului de producţie, care
interacţionează cu subsistemul de fabricaţie.
7.4. Modelarea dinamică
Conceptul fundamental al modelării dinamice este ciclul informaţie - decizie - acţiune,
care constituie o buclă elementară de feed-back în care se identifică o cale directă: intrare
(decizie) - ieşire (starea sistemului), precum şi o cale de reacţie inversă: ieşire (starea
sistemului) - informaţie despre ieşire (eventual prelucrată) şi intrare (decizie). Dacă se ţine
seama de acţiunea tuturor factorilor existenţi la un moment dat, acest ciclu poate fi reprezentat
sub forma unei scheme clasice de reacţie (figura 7.1):
Informaţii despre
obiectivul
sistemului Decizii
Informaţii despre starea sistemului
Figura 7.1
O decizie comandă acţiunea asupra stării sistemului şi informaţia despre starea
sistemului se întoarce la punctul de decizie. Informaţia disponibilă la un moment dat,
fundamentează decizia curentă care comandă canalul de acţiune.
Exemplu
Comenzile de înlocuire a mărfurilor pentru a menţine un stoc într-un depozit
ilustrează structura circulară cauză - efect a unei bucle de reacţie (figura 7.2).
Decizia de comandă generează un flux de comenzi la furnizor, care livrează
bunurile în stoc. Informaţia despre stoc este intrarea pe baza căreia se
fundamentează decizia de comandă.
Starea sistemului
104
Informaţii despre
nivelul impus
(stocul dorit) Decizie de comandă
Informaţii despre nivelul stocului (stoc real)
Figura 7.2
În realitate, apar întârzieri între decizie şi acţiune precum şi în transmiterea informaţiei
care trebuie luată în considerare, în sensul de a se acţiona pentru aplicarea cât mai rapidă a
deciziei, respectiv înainte de a se modifica substanţial parametrii care au stat la baza adoptării
acesteia (figura 7.3).
Aceste întârzieri pot duce la următoarele situaţii:
decizia este luată în raport cu o stare anterioară a sistemului, dar afectează starea lui
actuală;
informaţia despre starea sistemului va afecta o decizie ulterioară stării pe care o
măsoară.
Obiectiv Decizie Decizie
Informaţie Informaţie
Figura 7.3
Descrierea matematică a comportării dinamice a unui sistem se face cu ajutorul unui
sistem de ecuaţii neliniare cu diferenţe finite ale cărui soluţii (valorile variabilelor de stare)
reprezintă evoluţia posibilă a sistemului real, în timp.
Activitatea de concepere a unui model dinamic se desfăşoară în mai multe etape:
Definirea variabilelor;
Întocmirea schemei grafice ( de tip FORRESTER);
Scrierea ecuaţiilor, conform schemei grafice realizată la etapa precedentă;
Rezolvarea ecuaţiilor cu ajutorul calculatorului electronic.
Starea sistemului
Întârziere
Nivelul stocului
Întârziere
105
7.4.1 Definirea variabilelor modelului dinamic
Într-un proces dinamic, variabilele pot fi în principal de două tipuri1:
variabile care reprezintă acumulări de cantităţi, măsurabile riguros la un moment
dat, numite niveluri (de exemplu,);
variabile care reprezintă procese în curs de desfăşurare, într-un anumit ritm,
măsurabile de regulă ca valori medii, numite fluxuri.
Exemple
Niveluri: nivelul producţiei, măsurat fizic sau valoric, nivelul profitului,
nivelul cifrei de afaceri;
Fluxuri: ritmul de fabricaţie, ritmul consumului, ritmul livrărilor etc.
Stabilirea variabilelor şi simbolizarea acestora:
Se consideră un sistem de producţie - stocare în care cu STOC se
notează cantitatea de produse aflată în stoc, cu PROD - ritmul producţiei într-
o perioadă de timp, iar cu CONS - ritmul consumului.
PROD şi CONS sunt variabile care determină creşterea, respectiv
descreşterea variabilei STOC, deci ele sunt variabile de flux. Ambele vor fi
măsurate, de exemplu, în [unităţi / săptămână]. Variabila STOC poate fi
măsurată în [tone], [bucăţi] sau, mai simplu, în [unităţi].
Pentru o perioadă de timp de DT săptămâni, rezultă că modificarea
efectivă a stocului va fi:
DT * (PROD - CONS) (7.2)
dacă PROD şi CONS rămân constante pe această perioadă de timp.
Pentru a introduce influenţa variabilei “timp”, după fiecare nume de variabilă
se pune un punct şi se scrie momentul de timp la care se referă. Astfel,
STOC.1 se referă la stocul din prima săptămână, STOC.2 la cel din a doua
săptămână ş.a.m.d.
Generalizând, se consideră trei momente succesive de timp J, K şi L. Lungimea
intervalului de timp dintre aceste momente este aceeaşi, şi anume DT săptămâni.
Valorile succesive ale stocului la aceste momente de timp sunt STOC.J, STOC.K şi
STOC.L. Deoarece producţia şi consumul se desfăşoară între aceste momente de timp, s-a
convenit să se noteze PROD.JK pentru ritmul producţiei în intervalul de timp de la J la K şi,
analog, CONS.JK pentru ritmul consumului de la J la K .
1 Între terminologia teoriei sistemelor şi cea utilizată la modelele dinamice există
următoarele analogii:
stare nivel (rezultatul acţiunii)
intrare ritm (decizie)
mărime de feed-back informaţie
obiectivul sistemului nivelul dorit
106
O ipoteză de bază este aceea că DT este ales astfel încât PROD şi CONS să nu se
schimbe în cursul acestui interval de timp.
Având în vedere cele de mai sus, se poate scrie ecuaţia:
STOC.K = STOC.J + DT * (PROD.JK - CONS.JK) (7.3)
aceasta fiind o ecuaţie de nivel.
Identificaţi variabilele care intervin în cazul unui sistem de stocare – livrare produse.
7.4.2 Întocmirea schemei grafice.
Întocmirea schemei grafice are la bază variabilele determinate în etapa precedentă
precum şi documentaţia care rezultă în urma analizei sistemului. Acestea vor fi materializate
pe o schemă grafică, schemă care va evidenţia structura sistemului şi principalele lui
componente. Simbolurile grafice utilizate la întocmirea schemei grafice se prezintă în figura
7.4.
Sursă infinită Flux de personal
Variabilă de stare (nivel) Flux de utilaje
Variabilă de decizie (ritm) Flux de materiale
Variabilă auxiliară Flux de informaţii
Flux de comenzi
Constantă $ $
Flux bănesc
107
Figura 7.4
La întocmirea schemei grafice trebuie avute în vedere următoarele reguli şi prec izări:
Succesiunea ritmurilor şi nivelurilor pe un flux dat este bine determinată: unui nivel
îi poate urma numai un ritm şi, reciproc, unui ritm îi poate urma numai un nivel.
Trebuie respectată compatibilitatea fluxurilor:
într-un nivel pot intra sau ieşi numai fluxuri de aceeaşi natură fizică;
într-un ritm sau ecuaţie auxiliară pot intra numai mărimi care au semnificaţia unor
informaţii.
Variabilele de ritm rămân constante pe durata unui interval, în timp ce variabilele
de nivel capătă valori distincte la momente diferite.
Formal, variabilele de nivel primesc un singur indice, iar variabilele de ritm primesc
indice dublu.
Constantele care intervin în modele au semnificaţie de informaţii, de aceea ele sunt
situate în fluxuri de acest tip.
Având în vedere cele prezentate mai sus, bucla de reacţie din figura 7.2 poate fi
reprezentată şi ca în figura 7.5.
Timp de ajustare T
Stoc dorit Xd Furnizor
Ritm de comenzi R
(Decizie de comandă)
Stoc real X
Figura 7.5
108
În modelarea dinamică, trecerea de la observare (analiză) la reprezentarea relaţiilor din
sistem se face prin recunoaşterea efectelor similare (şi nu prin recunoaşterea identităţilor de
valori sau a diferenţelor dintre ele).
Întocmiţi schema grafică pentru cazul unui sistem de stocare – livrare produse.
7.4.3 Scrierea ecuaţiilor.
Sistemul de ecuaţii este format din:
ecuaţii de stare (exprimă ritmul variaţiei stării);
ecuaţii auxiliare (exprimă dependenţa unei variabile de altă variabilă).
Bucla din figura 7.5 reprezintă un sistem de ordinul unu deoarece există numai o
singură variabilă de nivel (stocul). Schema ilustrează un sistem elementar de comandă a
stocului unde nu există nici o întârziere între comanda mărfurilor şi recepţionarea lor în
depozit.
Scopul sistemului este să menţină stocul dorit Xd care apare ca o constantă în procesul
de decizie.
Decizia asupra ritmului comenzilor este să aducă stocul real la stocul dorit. O politică
simplă de producţie ar putea fi atunci exprimată cu relaţia:
R k Xd X (7.4)
Factorul k va trebui să specifice cât de repede trebuie corectată eroarea de stoc. El va
trebui să asigure dimensionalitatea corectă a ecuaţiei, adică va trebui să aibă dimensiunea:
unitati / timp
unitati timp
1 (7.5)
Relaţia 7.4 mai poate fi scrisă sub forma:
RT
Xd X 1
(7.6)
în care T este numit timp de ajustare şi este măsurat, de exemplu, în săptămâni, luni etc.
Exemplu
Să presupunem că stocul dorit Xd = 1000 unităţi şi că T = 10 săptămâni. Cu
relaţia 7.6 se calculează ritmul. Astfel:
R X 1
101000 (5.7)
Dacă se ştie stocul iniţial, poate fi calculat ritmul iniţial al producţiei.
Se presupune că stocul iniţial este de 100 unităţi. Rezultă:
R 1
10 1000 100 90unitati
saptamina (7.8)
109
Dacă ritmul producţiei este acelaşi două săptămâni înainte de
recalculare, atunci se mai adaugă 2 x 90 = 180 unităţi de stoc, care se adaugă
la stocul iniţial, astfel că acesta va fi de 100 + 180 = 280 unităţi. Folosind
această nouă valoare a stocului, se obţine ritmul :
R 1
101000 280 72
unitatisaptamina
(7.9)
Dacă se consideră din nou două săptămâni, noul stoc la sfârşitul celor
patru săptămâni va fi 280 + 2 x 72 = 424 unităţi.
Ritmul în care stocul se apropie de valoarea dorită (1000 unităţi) este
proporţional cu (1000 – X).
R 1
101000 100 90
unitatisaptamina
(7.10)
Comportarea în timp a stocului este prezentată în figura 7.6 .
Stoc
[unităţi]
Xd
Timp
[săptămâni]
Figura 7.6
Un sistem de ordinul 2 are două variabile de nivel care reprezintă starea sistemului
(figura 7.7). Au fost adăugate mărfuri comandate şi nelivrate X 2 şi un ritm de primire P.
110
Timp de ajustare T
Stoc dorit Xd Furnizor
Ritm de comenzi R
(Decizie de comandă)
Mărfuri comandate
şi nelivrate X2
Ritm de
primire P
Figura 7.7
Combinaţia variabilei de nivel reprezentând mărfurile comandate X2 cu variabila de flux
reprezentând ritmul de primire P are efectul introducerii unei întârzieri între ritmul comenzii
şi ritmul primirii. O nouă valoare pentru mărfuri comandate se calculează pornind de la
vechea valoare, adăugând unităţile care au venit prin ritmul de comandă şi scăzând unităţile
care au ieşit prin ritmul de primire.
O întârziere de C săptămâni între ritmul de comandă R şi ritmul de primire P poate fi
determinată cu expresia:
P C X1
2unitati
saptamina (7.11)
Stoc X1
111
Expresia matematică a nivelului X1 se determină ţinând seama de expresia ritmului P.
Deoarece acesta depinde de X2 , înseamnă că X1 este o funcţie de X2 :
X k X k DTX kC1 121 (7.12)
X k X k DTXd X k
TX kC2 2
1 11
(7.13)
În general, un nivel X reprezintă un rezervor care acumulează debitele unor fluxuri R,
S, prin care creşte sau descreşte conţinutul rezervorului.
O nouă valoare a nivelului se calculează adăugând sau scăzând din valoarea
precedentă, schimbarea apărută într-un interval de timp:
x k x k DT R k S k 1 (7.14)
unde: x = nivel (unităţi);
x(k+1) = noua valoare a nivelului calculată la timpul k+1;
x(k) = valoarea nivelului la timpul precedent k;
DT = intervalul de timp k, k+1;
R = ritmul în care creşte nivelul I (unităţi / timp);
S = ritmul în care scade nivelul I (unităţi / timp).
În figura 7.8 este prezentată variaţia stocului pentru sistemul de ordinul 2 prezentat
mai sus.
În ecuaţia de nivel pot apare mai multe ritmuri. Intervalul DT este un parametru al
procesului de calcul şi nu un parametru al procesului real.
Ritmurile de flux ale sistemului măsurate în unităţi / timp ( de exemplu oameni / lună)
se acumulează în trepte în intervale de timp succesive de lungime DT. Intervalul DT poate fi
schimbat arbitrar fără să afecteze validitatea modelului. Toate celelalte ecuaţii în model sunt
formulate în termenii unităţii de timp de bază folosită în sistemul real.
X1
[unităţi]
Timp
[săptămâni]
Figura 7.8
112
Ecuaţiile de nivel descriu de fapt un proces de integrare de tip:
x x R St
00
dt (7.15)
de aceea nivelul se poate calcula numai dacă se cunosc condiţiile iniţiale.
Există două tipuri de ecuaţii de nivel:
Ecuaţii de nivel conservativ (acele nivele conţinând fluxuri care sunt, prin natura
lor, indestructibile, de exemplu produse, bani, comenzi e tc.).
Forma de bază a unei ecuaţii de nivel conservativ este:
NIVEL.K = NIVEL.J+DT(RITM.1+RITM.2+ ...) (7.16)
Ecuaţii de nivel neted (acele nivele care operează doar cu fluxuri de informaţii în
cazul cărora nu apare nevoia conservării lor).
Forma de bază a unei ecuaţii de nivel neted este:
NIVEL.K=NIVEL.J+DT*1/CAT*(RITM.JK-NIVEL.J) (7.17)
unde CAT reprezintă o Constantă de Ajustare a Timpului.
Ecuaţiile de ritm arată cum sunt comandate fluxurile în sistem. În aceste ecuaţii
apar nivelele şi constantele. Ecuaţia de ritm este calculată la timpul k, folosind informaţia
privind nivelele la timpul k, pentru a găsi debitele fluxurilor pentru intervalul k, k+1.
Forma unei ecuaţii de ritm este:
R k f nivele,constante (7.18)
unde f este o funcţie oarecare care descrie strategia de control a fluxului. Relaţiile 7.6 şi
7.10 reprezintă două exemple de ecuaţii de ritm. Aceste ecuaţii sunt expresii de strategie care
arată cum sunt luate deciziile implicite. Ele reflectă procesele de control care sunt implicate în
structura sistemului de reacţia de stare existentă în sistem.
Ecuaţiile de ritm nu pretind cunoaşterea unor valori iniţiale deoarece sunt complet
determinate de valorile iniţiale ale variabilelor de nivel.
Ecuaţiile auxiliare formează structura fină a unui ritm, în sensul că, de multe ori,
claritatea şi înţelesul unei ecuaţii de ritm pot fi accentuate împărţind-o în părţi care sunt scrise
ca ecuaţii separate (numite ecuaţii auxiliare).
Se presupune că stocul dorit este o variabilă care depinde de ritmul mediu al
desfacerii. Ecuaţia de ritm pentru comenzi şi ecuaţia auxiliară pentru stocul dorit ar putea fi:
R k AT X k X kd 1
(7.19)
X k w A kd (7.20)
În ultima ecuaţie w este o constantă iar A(k) este ritmul mediu al vânzărilor, adică un
nivel.
113
Ecuaţiile auxiliare trebuie evaluate după ecuaţiile de nivel de care depind. Când există
ecuaţii auxiliare, şi de obicei sunt numeroase, calculul se face în următoarea ordine: nivele,
auxiliare, ritmuri.
7.5. Rezumat
Sistemele de producţie, economice şi sociale au un comportament dinamic;
Modelarea dinamică constă din alcătuirea unor sisteme de ecuaţii cu diferenţe
finite, cu ajutorul cărora se aproximează comportamentul continuu al sistemelor de
producţie studiate;
Activitatea de concepere a unui model dinamic se desfăşoară în mai multe
etape: definirea variabilelor, întocmirea schemei grafice (de tip FORRESTER),
scrierea ecuaţiilor, conform schemei grafice realizată la etapa precedentă, şi
rezolvarea ecuaţiilor.
Variabilele modelului dinamic pot fi de două tipuri: niveluri şi fluxuri;
Schema grafică a sistemului studiat evidenţiază structura acestuia şi principalele
lui componente;
Scrierea ecuaţiilor modelului se face prin reprezentarea funcţiilor realizate de
sistem, nu prin reprezentarea elementelor lui.
Sistemul de ecuaţii este format din ecuaţii de stare şi ecuaţii auxiliare.
Ecuaţiile de ritm sunt complet determinate de valorile iniţiale ale variabilelor de
nivel;
Ecuaţiile auxiliare formează structura fină a unui ritm, adică o ecuaţie de ritm
poate fi împărţită în părţi care sunt scrise ca ecuaţii separate.
Ecuaţiile auxiliare trebuie evaluate după ecuaţiile de nivel de care depind.
7.6. Test de evaluare a cunoştinţelor
1. Care sunt metodele utilizate în dinamica sistemelor pentru studierea
comportamentului acestora în timp?
2. Care sunt etapele pe care le presupune modelarea dinamică?
3. Ce sunt ecuaţiile de stare?
4. Ce înţelegeţi prin ecuaţii auxiliare?
5. Ce stă la baza întocmirii schemei grafice?
6. Care este deosebirea între ecuaţiile de ritm şi cele de nivel?
7. Cum se face calculul când există ecuaţii auxiliare?
114
Unitatea de învăţare U8. Simularea dinamică
Cuprins
8.1. Introducere ................................ ................................ ................................ ........... 112
8.2. Competenţe ................................ ................................ ................................ .......... 112
8.1. Introducere
În cadrul unităţii de învăţare U8 este prezentat modul de rezolvare a ecuaţiilor
pentru un sistem dinamic, precum şi procedura de calcul utilizată în simularea
dinamică.
8.2. Competenţe
La sfârşitul unităţii de învăţare U8 studenţii vor fi capabili s ă:
Opereze cu notaţiile specifice în cazul rezolvării ecuaţiilor unui model dinamic;
Realizeze schema de simulare dinamică.
Durata medie de parcurgere a acestei unităţi de învăţare este de 2 ore.
8.3.Rezolvarea ecuaţiilor
Să ne reamintim...
Ecuaţiile sunt de mai multe tipuri: ecuaţii de stare, ecuaţii auxiliare, ecuaţii de
ritm şi ecuaţii de nivel;
Ecuaţiile de nivel pot fi : de nivel conservativ (acele nivele conţin fluxuri care
sunt, prin natura lor, indestructibile: bani, produse, comenzi) şi de nivel neted (acele
nivele care operează doar cu fluxuri de informaţii în cazul cărora nu apare nevoia
conservării lor);
Ecuaţiile de ritm sunt complet determinate de valorile iniţiale ale variabilelor de
nivel;
Ecuaţiile auxiliare formează structura fină a unui ritm, adică o ecuaţie de ritm
poate fi împărţită în părţi care sunt scrise ca ecuaţii separate.
Ecuaţiile auxiliare trebuie evaluate după ecuaţiile de nivel de care depind.
Atunci când există ecuaţii auxiliare, calculul se face în ordinea: nivele, auxiliare,
ritmuri.
Calculele se desfăşoară iterativ, fiind ordonate în timp de diferenţa de timp DT. În
limbajul Dinamicii Sistemelor a fost adoptată convenţia ca litera K după punctul care urmează
115
numelui de variabilă să desemneze momentul în care se efectuează calculul curent.
Corespunzător, J este utilizat pentru a desemna momentul la care a fost făcut calculul
precedent şi L pentru momentul următor. Ecuaţiile modelului dinamic sunt astfel scrise încât
nu necesită nici un alt moment în procesul de calcul. Calculul este limitat complet la timpul J,
intervalul JK, timpul K şi intervalul KL .
La începutul calculelor pentru timpul K sunt disponibile, din calculele precedente,
nivelele la timpul J şi ritmurile pe intervalul JK.
Exemplu
În figura 8.1 este prezentată o situaţie în care calculele precedente au fost
terminate la momentul t = 5 şi este gata să înceapă calculul stării sistemului
pentru perioada următoare 5 + DT.
În această figură sunt reprezentate două nivele N1.J şi N2.J şi trei
ritmuri pe intervalul de timp JK. Ritmul R1.JK este asociat fluxului de intrare
în cadrul nivelului N1 şi este singurul ritm care afectează acest nivel. Ritmul
R2I.JK este asociat fluxului de intrare în nivelul N2 , în timp ce ritmul R2E.JK
este asociat fluxului de ieşire din nivelul N2 .
Acestea sunt toate informaţiile disponibile calculului noilor valori ale
nivelelor la timpul K. Noile valori ale ritmurilor pe intervalul KL nu pot fi
calculate încă pentru că ele depind de nivelele încă necalculate pentru timpul
K.
Ritmurile constante pe intervalul JK acţionează asupra nivelelor
începând cu timpul J şi modifică nivelele după o pantă uniformă pe tot
parcursul intervalului. Noile valori ale nivelelor sunt calculate prin adăugarea
şi scăderea modificărilor specifice de ritmuri. Aceste modificări se calculează
prin înmulţirea ritmurilor cu DT.
Succesiunea calculării nivelelor nu are importanţă, deoarece fiecare
nivel depinde doar de propria sa valoare anterioară şi de ritmurile din
intervalul JK. Nici un nivel nu depinde de un alt nivel. Terminând calculul
nivelelor se ajunge la situaţia prezentată în figura 8.2, în care sunt
reprezentate nivelele la timpul K.
116
R2E.JK
N2.J
R2I.JK
N1.J R1.JK
5 5+DT 5+2DT 5+3DT 6 Timp
J K L
Figura 8.1
R2E.JK
N2.J
N2.K
R2I.JK
N1.K
N1.J R1.JK
5 5+DT 5+2DT 5+3DT 6 Timp
J K L
Figura 8.2
Deşi valorile sunt calculate pentru intervale discrete DT, natura ecuaţiilor de nivel şi
de ritm implică ritmuri constante, care la rândul lor implică o modificare continuă a nivelelor,
specificată în figură prin linii întrerupte.
117
Pornind de la nivelele de la timpul K se pot calcula ritmurile viitoare care reprezintă
decizia pe intervalul KL. Se observă că decizia viitoare este fundamentată pe informaţiile
curente, disponibile la timpul K, şi numai pe ele.
Întregul proces se repetă acum pentru următorul moment L. Pentru aceasta, primul pas
este de a avansa indicatorii de timp J, K, L cu un interval DT. Relativ la noua poziţie a lui K,
nivelele lui K devin nivelele lui J şi ritmurile KL devin ritmurile JK (figura 8.3).
Pentru momentul iniţial, când t = 0, apare o abatere de la secvenţa nivel - ritm a
calculului. Trebuie date valori iniţiale pentru toate nivelele. Ritmurile înainte de t = 0 nu sunt
considerate. Având nivelele deja fixate, se începe cu calculul ritmurilor pentru intervalul
0=0+DT, fiind apoi parcurs întregul ciclu de calcul al nivelelor şi ritmurilor.
R2E.KL
N2.K
R2I.K L
N1.K
R1.KL
5 5+DT 5+2DT 5+3DT 6 Timp
J K L
Figura 8.3
8.4. Simularea dinamică
Ideea de bază în simularea dinamică a sistemelor de producţie este aceea a
determinării valorilor în fiecare dintre momentele de timp cerute ale unui interval dat.
Diferenţele dintre două momente numerice de timp se numesc intervale de simulare şi
sunt egale cu DT unităţi de timp. Perioada scursă de la începutul simulării se notează cu TIMP
(TIME), iar durata totală impusă simulării se notează cu LUNGIME (LENGH).
Procedura de calcul în simularea dinamică are la bază următoarele reguli:
Deoarece nivelele depind de ritmuri şi nu de alte nivele, valorile lor curente se pot
calcula în orice ordine.
118
Ecuaţiile de ritm şi cele auxiliare se calculează pe baza valorilor anterioare ale
nivelelor.
O simulare poate include multe momente de timp, dar doar trei dintre acestea sunt
necesare pentru calcule. Acestea se notează cu J, K, L, iar perioadele care le separă prin JK şi
KL şi sunt egale cu DT perioade de timp.
În figura 8.4 se prezintă secvenţa de calcul corespunzătoare acestor momente de timp,
iar în figura 8.5 se prezintă procedura generală de calcul. Punctul K este considerat ca valoare
curentă şi, cunoscând nivelele la momentul K, pot fi determinate ritmurile pentru intervalul
KL.
Pasul n: J - K - L
Pasul n + 1: J - K - L
Timpul de simulare se deplasează apoi cu DT, astfel încât L, următorul moment,
devine K, noul timp curent.
Valorile calculate pentru vechiul K şi KL sunt renotate cu J şi JK. Cu ritmurile pentru
JK şi nivelele la momentul J se determină noile nivele la momentul K şi procesul se repetă.
Cu cât TIMPUL avansează, valorile calculate sunt stocate astfel încât, în final, ele să poată fi
reprezentate grafic sau tabelar în funcţie de timp.
Figura 8.4
Calculează nivele la momentul K
(momentul curent)
Calculează auxiliarele la momentul K şi
ritmurile pentru perioada KL
Avansează TIMPUL cu DT (se trece la L)
Re-notează K cu J, L cu K şi KL cu JK
Calculează nivelele pentru acest nou K
Determină noul moment L
119
Strategiile decizionale optime referitoare la un sistem de producţie pot fi perfecţionate,
atât din punct de vedere static cât şi din punct de vedere dinamic, cu ajutorul simulării
dinamice, deoarece aceasta permite:
luarea în considerare a aspectelor dinamice ale desfăşurării procesului de producţie;
posibilitatea evidenţierii diverşilor factori perturbatori pe o anumită perioadă de
timp (lipsă resurse umane, lipsă semifabricate etc.);
posibilitatea considerării oricăror alte legături cu diverse secţii ale întreprinderii şi
eventual cu alte întreprinderi;
verificarea strategiilor propuse şi alegerea unor strategii sub-optime;
analiza stabilităţii sistemului de producţie în timp etc.
Avantajul esenţial al aplicării simulării dinamice constă în posibilitatea de a stabili
evoluţia stării sistemului de producţie, toate variabilele modelului elaborat fiind funcţii de
timp.
DA
TIMP = LUNGIME ?
NU
Figura 8.5
Trebuie însă amintite şi o serie de dezavantaje care decurg din utilizarea modelării şi
simulării dinamice:
Sortează auxiliarele şi ritmurile
pentru a obţine o secvenţă calculabilă
Dacă TIMPUL = 0, fixează nivelele
la valorile lor iniţiale
Integrează pentru a obţine nivelele la momentul K
Calculează auxiliarele la momentul K şi
ritmurile pentru intervalul KL
Fixează TIMP = TIMP + DT
şi renotează toate variabilele
Afişează rezultate.
Sfârşit
120
necesitatea însuşirii tehnicilor de modelare dinamică de către personalul de
conducere al întreprinderii;
dificultăţi în stabilirea unei unităţi comune de măsură a producţiei realizată la
diversele locuri de muncă sau secţii;
durata relativ mare de pregătire a datelor şi de calcul în cazul când se urmăreşte o
analiză în unităţi naturale sau mai apropiate de cele naturale.
Pentru simularea dinamică a sistemelor, se pot utiliza limbaje de nivel înalt cum ar fi
FORTRAN, PL1 etc. sau limbaje de simulare speciale cum sunt DYNAMO (DYNAmic
MOdels) - pentru sisteme de management, DYSMAP (DYnamic System Modelling and
Analysis Package) - pentru sisteme de management, CSMP (Continous System Modelling
Program) - pentru sisteme tehnice etc.
Avantajele limbajelor de nivel înalt constau în marea lor disponibilitate şi flexibilitate
cu care pot fi utilizate pentru modelarea celor mai complicate reguli de decizie. Pe de altă
parte, rezultatele obţinute cu FORTRAN, de exemplu, sunt mult prea simple faţă de cele
obţinute prin utilizarea limbajelor DYSMAP şi CSMP, care au facilităţi grafice deosebite
pentru simularea dinamică a sistemelor.
De exemplu, compilatorul DYNAMO este un program care prelucrează cu ajutorul
calculatorului ecuaţiile unui model al unui sistem dinamic cu conexiune inversă. Rezultatele
simulării sunt date sub formă de tabele şi grafice, îndeplinind următoarele funcţii:
Realizează verificarea logică a ecuaţiilor şi listează mesajele de eroare. Multe erori
pot apare din cauză că setul de ecuaţii nu respectă conceptele modelului conexiunii inverse.
Recunoaşte numai modelele concepute în conformitate cu conceptele structurale ale
sistemului dinamic, grupând ecuaţiile de nivel şi ritm şi aranjând ecuaţiile auxiliare.
Programează modelul, adică ecuaţiile cu notaţiile lor algebrice sunt transformate în
instrucţiuni de operare detaliate ale calculatorului.
Execută calculul interactiv bazat pe instrucţiunile de comandă care dau intervalul
de calcul cât şi perioada de calcul, furnizează rezultatele simulării sistemului reprezentat de
model.
Pregăteşte şi editează forma tabelară şi grafică cerută.
121
8.5. Rezumat
Pentru rezolvarea ecuaţiilor calculele se desfăşoară iterativ, fiind ordonate în
timp de diferenţa de timp DT.
Simularea dinamică se efectuează pe intervale finite de timp prin modificări
ale parametrilor sau schimbări ale politicilor proprii modelelor simulate;
Simularea dinamică se realizează urmărind anumite reguli.
8.6. Test de evaluare a cunoştinţelor
1. Ce presupune din punct de vedere simulare dinamică rezolvarea sistemului de
ecuaţii?
2. Care sunt dezavantajele care decurg prin utilizarea modelării şi simulării
dinamice?
3. Care sunt avantajele care decurg din utilizarea simulării dinamice?
4. Enumeraţi şi detaliaţi regulile care trebuie urmate în simularea dinamică.
122
Unitatea de învăţare U9. Modele şi tehnici de prognoză
Cuprins
9.1. Introducere ................................ ................................ ................................ ........... 120
9.2. Competenţe ................................ ................................ ................................ .......... 120
9.1. Introducere
Planificarea este una dintre funcţiile organizaţiei, prin care îşi stabileşte
obiectivele de realizat, mijloacele şi resursele necesare îndeplinirii lor. Planificarea
trebuie să ţină cont de resursele disponibile şi de rezultatele obţinute în trecut de
organizaţie. Planurile pot fi extrem de simple sau foarte complexe, principalele elemente
ce le diferenţiază fiind: orizontul de planificare şi gradul de detaliere. Din acest punct de
vedere se deosebesc: strategia organizaţiei, planul de afaceri, planul curent, etc. Strategia
organizaţiei precizează opţiunile majore ale acesteia pe intervale de timp relativ mari, fiind
apanajul conducerii de la cel mai înalt nivel. Implementarea şi elaborarea strategiei se
bazează pe viziunea de ansamblu asupra organizaţiei şi atitudinea anticipativă,
obiectivele strategice fiind stabilite pe baza unor analize, evaluări şi prognoze ale
principalilor factori de influenţă. În acest context general se înscrie şi tematica
prezentată în cadrul acestei unităţi de învăţare. Sunt prezentate elementele
definitorii ale seriilor cronologice, deoarece tehnicile de prognoză se bazează pe
seriile cronologice. Sunt prezentate modele de prognoză precum şi tehnici utilizate
în cadrul modelelor de predicţie.
9.2. Competenţe
La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
identifice elementele definitorii ale unei serii cronologice;
identifice tipul trendului;
recunoască modelele de prognoză;
opereze cu diferite modele de prognoză.
Durata medie de parcurgere a acestei unităţi de învăţare este de 3 ore.
9.3. Aspecte generale
Una din principalele responsabilităţi ale oricărei întreprinderi (firme, societăţi) este
planificarea viitorului ei. Această activitate de planificare constă în generarea unei serii de
predicţii privind evoluţia viitoare. Predicţia beneficiilor viitoare, a evoluţiei pieţei, a
necesarului de resurse sunt doar câteva exemple sugestive.
123
Aceste predicţii ale evoluţiilor viitoare sunt denumite prognoze. Prognozele s-au
dezvoltat în principal pentru a ajuta decidenţii să evalueze diverse strategii de lucru.
Una din tehnicile de bază de prognoză se bazează pe seriile cronologice. Caracteristica
principală a unui model de prognoză cu serie cronologică este bazarea lui pe date istorice (din
trecut). Seriile cronologice sunt datele statistice cel mai frecvent utilizate în practica
econometrică. Acestea permit estimarea relaţiilor dintre fenomenele economice, dar şi
prognozarea evoluţiei de viitor a variabilei dependente. În acest mod factorii de decizie au
posibilitatea adaptării măsurilor de politică economică în funcţie de obiectivele specifice.
Componentele unei serii sunt următoarele: trendul (tendinţa), fluctuaţiile ciclice, fluctuaţiile
neregulate şi fluctuaţiile sezoniere.
Trendul exprimă tendinţa generală de evoluţie pe termen lung a variabilei dependente,
tendinţă dată de nivelul istoric (din perioadele precedente) a valorilor seriei. Cauzele
principale ale prezenţei trendului într-o serie cronologică sunt : evoluţii demografice
(creşterea populaţiei), variaţii ale nivelului de preţ în economie, creşterea productivităţii
muncii datorită progresului tehnic etc. Determinarea trendului se face prin procedee obişnuite
de estimare , cea mai utilizată metodă fiind metoda celor mai mici pătrate.
Exemplu
- prognoza unei firme asupra beneficiilor din vânzări pentru anul următor
va trebui să se bazeze pe bilanţul vânzărilor din anul precedent.
- trend pozitiv: se poate constata că dacă volumul de vânzări al unui
magazin creşte continuu de-a lungul timpului, situaţia se datorează sporului
natural (pozitiv) al populaţiei din regiune. Dacă, volumul fizic al vânzărilor este
acelaşi pentru intervalul de timp considerat, valoarea mărfurilor comercializate
poate avea o tendinţă crescătoare datorită faptului că indicele de preţ manifestă o
tendinţă crescătoare.
Explicaţi de ce progresul tehnic – sursa principală a creşterii productivităţii
muncii – este o altă cauză a prezenţei trendului într-o serie cronologică.
Fluctuaţiile sezoniere sunt întâlnite mai frecvent în cazul seriilor trimestriale, lunare sau
săptămânale. Sunt uşor de previzionat datorită regularităţii apariţiei lor. Aceste fluctuaţii sunt
în general determinate de particularităţi de anotimp, obiceiuri de consum etc., fenomene ce
apar regulat în comportamentul individual sau al agenţilor economici.
124
Exemplu
- consumul de îngheţată şi băuturi răcoritoare înregistrează în fiecare vară
creşteri spectaculoase faţă de celelalte anotimpuri.
- volumul vânzărilor (în general) creşte foarte mult în perioada
premergătoare sărbătorilor, datorită obiceiurilor specifice indivizilor.
Fluctuaţiile neregulate au un caracter pur aleatoriu, neregulat şi sporadic. Sunt produse
în general de fenomene neprevăzute cum ar fi: greve, alegeri, războaie, condiţii
meteorologice, schimbări legislative etc. Datorită caracterului lor aleatoriu de cele mai multe
ori este practic imposibil de a determina cauza care le-a produs.
Exemplu
- numărul de turişti dintr-o staţiune poate să scadă semnificativ într-o
anumită perioadă de timp datorită condiţiilor meteorologice nefavorabile.
- declanşarea unei greve va determina scăderea volumului de producţie în
perioada respectivă.
Daţi şi alte exemple de fluctuaţii sezoniere şi neregulate.
Fluctuaţiile ciclice exprimă variaţiile valorilor seriei care revin la un anumit număr de
perioade, cu amplitudini şi frecvenţe diferite. Această componentă este frecventă în cazul
seriilor trimestriale, lunare, anuale (în cazul indicatorilor macroeconomici). Dintre cauzele
care pot determina ciclicitatea activităţii economice enumerăm: ritmuri diferite de evoluţie a
indicatorilor economici, caracterul intrinsec de ciclicitate al progresului tehnic etc. Aceste
cauze determină o evoluţie sinusoidală a economiei care înregistrează perioade de creştere,
recesiune, perioade de redresare şi de relansare a creşterii.
Exemplu
- urmând exemplul economiei, se disting patru faze de evoluţie ale
componentei ciclice ale unei serii de timp: perioada de creştere, cea de maximă
amplitudine, perioada de descreştere şi cea de minimă amplitudine.
Pentru practică, există o varietate de modele de prognoză, fiecare cu caracteristicile,
avantajele şi limitele sale. Un rezumat al acestor modele, cu precizarea orizontului de timp
pentru care se face prognoza, se prezintă în tabelul 9.1.
Dintre modelele prezentate în tabelul 9.1, cele mai utilizate în practică sunt modelul cu
medie mobilă, modelul cu ajustare exponenţială şi modelul cu descompunere.
125
Modelul cu medie mobilă utilizează media ultimelor n valori pentru a previziona
valoarea următoare a seriei cronologice. Expresia generală pentru calculul mediei mobile este:
MA A A A
Ntt t t t N
1 2 3 1
(9.1)
unde: Mt - media mobilă pentru perioada t;
At-1 - valoarea actuală pentru perioada t-1;
N - numărul de perioade de timp.
Modelul cu ajustare exponenţială utilizează suma ponderată a tuturor datelor din
trecut ale unei serii dinamice, cu ponderea cea mai mare plasată asupra celei mai recente date
valorice.
Ponderea este plasată datelor valorice în aşa fel încât să le confere acestora o
importanţă care scade exponenţial odată cu vechimea lor.
Tabelul 9.1
MODEL
DESCRIERE
ORIZONTUL DE
TIMP
Naiv Valoarea prognozată pt. perioada
următoare este egală cu valoarea actuală.
Scurt
Medie mobilă simplă Valoarea prognozată este o medie bazată
pe două sau mai multe date valorice
importante.
Scurt
Medie mobilă ponderată Valoarea prognozată este o medie bazată
pe două sau mai multe date valorice,
fiecăreia acordându-se o pondere diferită.
Scurt
Ajustare exponenţială Valoarea prognozată este o medie bazată
pe valoarea precedentă, valoarea
prognozei precedente şi un coeficient de
ajustare.
Scurt
De descompunere Valoarea prognozată se bazează pe o
analiză a următoarelor componente: trend
(tendinţă), ciclu, sezonalitate şi
neregularitate.
Lung
Regresie Valoarea prognozată se bazează pe relaţia
dintre variabila dependentă şi timp.
Mediu
Regresie multiplă Similar cu precedenta, cu excepţia că
modelul conţine două sau mai multe
variabile de predicţie.
Mediu
126
MODEL
DESCRIERE
ORIZONTUL DE
TIMP
Autoregresie O formă specială a regresiei multiple unde
fiecare din variabilele de predicţie are o
valoare legată de variabila dependentă.
Mediu
Se utilizează trei tipuri de bază de modele cu ajustare exponenţială:
modele cu un singur factor de ajustare;
modele cu doi factori de ajustare (includ efectele trendului);
modele cu trei factori de ajustare (includ efectele trendului şi efectele sezoniere).
Expresia generală a modelului cu ajustare exponenţială cu un singur factor de ajustare
este:
F F A Ft t t t 1 ( ) (9.2)
unde:
Ft+1 - valoarea prognozată pentru perioada t+1;
Ft - valoarea prognozată pentru perioada t;
At - valoarea actuală pentru perioada t;
- coeficient de ajustare (0 < < 1).
Expresiile generale ale modelului cu ajustare exponenţială cu doi factori de ajustare
sunt următoarele:
F Y F Tt t t t ( ) ( )1 1 1 (9.3)
T F F Tt t t t ( ) ( )1 11 (9.4)
F Y Tt t t 1 (9.5)
unde:
Yt - valoarea actuală pentru perioada t;
Yt-1 - valoarea actuală pentru perioada t-1;
Tt - trendul estimat pentru perioada t;
Tt-1 - trendul estimat pentru perioada t-1;
- coeficient de ajustare (0 < < 1);
- coeficient de ajustare pentru trend (0 < < 1).
Exemplu
O firmã producãtoare de maşini-unelte a vândut strunguri cu comandã numericã,
situaţia livrãrilor fiind prezentatã în tabelul 9.2
Sã se previzioneze valoarea vânzãrilor pentru anul urmãtor utilizând :
a. modelul cu medie mobilã, pentru n = 3 şi n = 5 ;
b. modelul cu ajustare exponenþialã, pentru = 0.2 şi = 0.5
127
Tabelul 9.2
ANUL NR. STRUNGURI
VÂNDUTE
1986 45
1987 79
1988 77
1989 81
1990 102
1991 124
1992 132
1993 156
1994 161
1995 168
1996 174
Rezolvare:
a. model cu medie mobilã, pentru n = 3. Se utilizează relaţia 9.1 şi se obţin
următoarele rezultate (tabelul 9.3):
Tabelul 9.3
Anul Valorile seriei Valori
prognozate
1998 45
1999 79
2000 77
2001 81 67
2002 102 79
2003 124 86.67
2004 132 102,33
2005 156 119,3
2006 161 137,33
2007 168 149,67
2008 174 161,67
b. modelul cu ajustare exponenţialã, pentru = 0.2
Se utilizează relaţia 9.2, în care: = 0.2, Ft este prima valoare a seriei Ft = 45,
128
At = Ft = 45
Astfel: Ft1+1 = F1 + 0,2 (A1- F1) = 45+ 0,2 (45-45) = 45,
Rezultă că valoarea prognozată pentru anul al doilea (1999) va fi 45
Pentru anul al treilea (2000) valoarea prognozată va fi:
F2+1 = F2 + 0,2 (A2 – F2) = 45 + 0,2 (79 – 45) = 51,8 ş.a.m.d. Rezultatele sunt
date în tabelul 9.4.
Tabelul 9.4
Anul Valorile seriei Valori
prognozate
1998 45
1999 79 45
2000 77 51,8
2001 81 56,84
2002 102 61,67
2003 124 69,74
2004 132 80,59
2005 156 90,87
2006 161 103,9
2007 168 115,32
2008 174 125,85
Pentru problema din exemplul anterior, determinaţi valorile prognozate pentru
model cu medie mobilă, n = 5.
Pentru problema din exemplul anterior, determinaţi valorile prognozate pentru
modelul cu ajustare exponenţială, = 0.5.
Una din problemele cele mai importante ale simulării o constituie setul modelelor de
prognoză, cu ajutorul cărora se simulează evenimente sau stări care vor avea loc. Modelele de
prognoză se pot clasifica după mai multe criterii:
după orizontul de timp la care se referă prognoza:
prognoze pe termen scurt;
prognoze pe termen mediu;
prognoze pe termen lung .
după sfera de cuprindere:
prognoze macroeconomice;
129
prognoze microeconomice.
după tehnicile utilizate:
prognoze extrapolate, care la rândul lor pot fi:
o analitice;
o fenomenologice;
prognoze euristice;
prognoze morfologice.
Scopul simulării cu modele de prognoză urmăreşte următoarele obiective:
prevederea cât mai exactă a comportării sistemului sau procesului;
precizarea tendinţelor de scurtă durată şi de lungă durată;
formularea modelului matematic al comportării sistemului printr-o funcţie:
y = f(t) (9.6)
Dintre tehnicile utilizate în cadrul modelelor de predicţie, una din cele mai importante
este extrapolarea, ea implicând o serie de noţiuni matematice care pot fi aplicate şi în cadrul
celorlalte tehnici. Extrapolarea, la rândul ei, poate fi analitică sau fenomenologică.
9.4. Extrapolarea analitică
Această metodă are la bază teoria prognozei asupra seriilor dinamice (cronologice) de
date. O astfel de serie reprezintă un şir de date ce caracterizează fenomenul sau procesul
studiat în diferite momente de timp.
Notând cu xt mărimea indicatorului X, ce caracterizează procesul la momentul t, atunci
expresia:
xt tt T
1 (9.7)
arată traiectoria procesului pe orizontul [1,T], tra iectorie descrisă prin indicatorul X.
Întrucât timpul este o variabilă ce nu are origine finită, punctul zero se alege în mod
arbitrar, în general acesta fiind primul moment de timp pentru care există o valoare concretă a
seriei dinamice. Cu aceste considerente, problema extrapolării se enunţă astfel: cunoscând
valorile {xt}, t = 1,2..., T, să se determine valorile {x t}, t = T+1, T+2, ..., T+, unde
reprezintă mărimea orizontului de prognoză.
În studiul de prognoză al oricărui sistem trebuie ţinută seama de trei factori importanţi:
trendul (tendinţa);
variaţiile periodice în jurul trendului;
influenţa factorilor aleatori.
Trendul cuantifică manifestarea tendinţei esenţiale de evoluţie a procesului,
subordonând sau anulând anumite trăsături sau direcţii neesenţiale care pot apare pe parcursul
evoluţiei.
130
În jurul trendului pot exista variaţii periodice, ciclice (figura 9.1) sau sezoniere
(figura 9.2), provenite de la alte fenomene ori procese din spaţiul în care se află procesul
studiat. Din această cauză, direcţia principală de evoluţie nu este întotdeauna liniară.
În spaţiul în care se găseşte procesul de studiat pot apare, de asemenea, o serie de
factori aleatori care influenţează fenomenul în cauză.
Producţia
[mii piese]
250
□
200
□ □ □
150 □
□
100 □ □
50
1990 91 92 93 94 95 96 97 [anul]
Figura 9.1
În aplicarea metodei, o importanţă deosebită o are construirea seriei dinamice de date,
element pe care se bazează prognoza. În general, este bine ca seria să conţină foarte multe
date, deoarece numai aşa este posibilă aproximarea cât mai corectă a evoluţiei viitoare a
fenomenului. Numărul minim de date din seria xt , poate fi dat în funcţie de orizontul
prognozelor, conform relaţiilor 9.8...9.10.
pentru prognoze pe termen scurt:
T 34 (9.8)
pentru prognoze pe termen mediu:
43 2T T (9.9)
pentru prognoze pe termen lung:
T 12 (9.10)
131
Producţia
[sute piese]
500 □
□
400
300 □ □
200 □ □
□ □
100
1 2 3 4 1 2 3 4 [trim.]
1990 1991 [anul]
Figura 9.2
Pentru identificarea şi reprezentarea analitică a trendului se parcurg următoarele patru
etape:
Alegerea clasei de funcţii matematice liniare F (polinominale, exponenţiale,
logaritmice etc.), care poate reprezenta în mod corespunzător trendul fenomenului.
Identificarea funcţiei f F care să aproximeze, pe intervalul [1,T] , cât mai bine
valorile xt tt T
1 :
f(t) xt , t = 1,2,..., T (9.11)
Funcţia continuă f trebuie să îndeplinească următoarele condiţii:
să reprezinte şirul dinamic cu erori sub anumite limite;
să conducă, prin extrapolare , la valori care să nu depăşească limitele admise;
să necesite un număr mic de operaţii de calcul.
În alegerea funcţiei f se ţine seama şi de distanţa d dintre vectorii xt tt T
1 şi
f t tt T( )
1 . Trendul fenomenului analizat este reflectat cel mai bine de funcţia f F
pentru care:
d x f t d x f tt t
t T
t
t Tt t
t T
t
t T
1 1 1 1
, ( ) min , ( ) (9.12)
Cea mai utilizată distanţă este cea euclidiană, definită prin:
d x y x yi ii
n
( , )
2
1
(9.13)
132
în care x şi y sunt vectori cu n componente xi, respectiv yi.
Stabilirea metodei de rezolvare a problemei de minim (9.12). Alegerea metodei
depinde atât de tipul clasei F, cât şi de alegerea distanţei d. De exemplu, în cazul în care d este
distanţa euclidiană, se va utiliza metoda celor mai mici pătrate.
Verificarea calităţii ajustării, care se realizează prin utilizarea unor indicatori
statistici: media aritmetică, abaterea medie pătratică, coeficienţii de corelaţie etc.
Care sunt etapele necesare identificării şi reprezentării analitice a trendului?
În general, trendul nu are o evoluţie liniară. Care sunt cauzele care determină
evoluţia neliniară a trendului?
9.5. Extrapolarea fenomenologică
Acest tip de extrapolare este utilizat cu precădere în cazul în care seriile de date
disponibile sunt relativ scurte. Se porneşte de la emiterea unor ipoteze asupra indicatorilor ce
caracterizează fenomenul sau procesul. Considerând că procesul este descris de funcţia
f R R: , continuã şi derivabilă pe R, atunci indicatorii de caracterizare a procesului sunt:
viteza de evoluţie (variaţie) ve :
vd f tdt y te
( )( ) 9.14
ritmul de creştere, rc :
ry ty tc ( )( ) 9.15
coeficientul de elasticitate a funcţiei , ce :
cdf tdt
f tte
( ):
( ) 9.16
În modelele care urmează variabila independentă este timpul t, dar ele se pot aplica şi
pentru situaţiile când variabila independentă are o altă semnificaţie.
9.5.1. Modele de tip liniar
Când procesul studiat are o viteză de evoluţie constantă, respectiv:
v y te ( ) 9.17
atunci trendul este descris de funcţia liniară:
y t t( ) 9.18
şi poate avea una din formele prezentate în figura 9.3:
133
y(t) y(t)
> 0 = 0
> 0 > 0
t t
a) b)
y(t)
< 0
> 0
t
c)
Figura 9.3
9.5.2. Modele de tip exponenţial
Când procesul studiat are viteza de evoluţie proporţională în orice moment cu nivelul
deja atins, atunci trendul este descris de o funcţie exponenţială. Într -adevăr, dacă:
v y t y te ( ) ( ) 9.19
sau:
ry ty tc ( )( ) 9.20
atunci trendul este descris de soluţia ecuaţiei diferenţiale:
y t k e t( ) 9.21
care este o funcţie exponenţială, având una din formele prezentate în figura 9. 4.
134
y(t)
= 0.9
= 0.1
t
Figura 9.4
În practică se întâlnesc şi modele la care exponenţiala are diferite forme particulare.
Dintre acestea amintim:
)7.9()(
)6.9()(
)5.9()(
figuraety
figuratty
figuraety
t
t
(t) y(t)
> 1 =1
> 0
e
0 < < 1
< 0
t t
Figura 9.5 Figura 9.6
y(t)
> 0
135
< 0
t
Figura 9.7
9.5.3. Modele de tip logaritmic
Acest tip de modele este caracterizat prin aceea că viteza de evoluţie a procesului
este dată de relaţia:
v y t te
( )
9.22
din care, prin integrare , rezultă soluţia:
y t t( ) ln 9.23
care este o funcţie logaritmică care descrie trendul sistemului (figura 9.8).
În practicã, este des utilizat şi modelul semi-logaritmic:
y t t( ) ln 9.24
având forma prezentată în figura 9.9:
y(t) > 0 y(t)
> 0
> 0
t 10-
t
Figura 9.8 Figura 9.9
9.5.4. Modele de tip hiperbolic
Când procesul studiat este de tip involutiv cu ritmul de forma:
ry ty t tc
( )( )
1
9.25
se obţine modelul:
y tkt( )
9.26
136
care este o funcţie hiperbolică (figura 9.10):
y(t)
> 0
> 0
t
< 0
> 0
Figura 9.10
Să se rezolve următoare problemă:
Consumul de energie electrică într-o secţie de montaj, timp de un an, este
prezentat în tabelul 9.5. să se previzioneze valoarea consumului de energie
electrică pentru perioada următoare, utilizând:
- modelul cu ajustare exponenţială, pentru = 0,5 şi = 0,9;
- modelul cu ajustare exponenţială în ipoteza existenţei unui trend.
Tabelul 9.5
LUNA CONSUMUL
[KW]
1 340
2 420
3 380
4 460
5 360
6 320
7 400
8 360
9 440
10 400
11 300
12 440
9.6. Rezumat
Caracteristica principală a unui model de prognoză cu serie cronologică este
bazarea lui pe date istorice (din trecut);
Cele mai utilizate modele de prognoză sunt: modelul cu medie mobilă,
137
modelul cu ajustare exponenţială şi modelul cu descompunere;
Dintre tehnicile de prognoză, una din cele mai importante este extrapolarea,
ea implicând o serie de noţiuni matematice care pot fi aplicate şi în cadrul celorlalte
tehnici. Extrapolarea, la rândul ei, poate fi analitică sau fenom enologică;
Extrapolarea analitică are la bază teoria prognozei asupra seriilor dinamice
(cronologice) de date. O astfel de serie reprezintă un şir de date ce caracterizează
fenomenul sau procesul studiat în diferite momente de timp;
Extrapolarea fenomenologică este utilizată cu precădere în cazul în care
seriile de date disponibile sunt relativ scurte.
9.7. Test de autoevaluare a cunoştinţelor
1. Modelele de prognoză se utilizează în cadrul unui sistem de producţie pentru:
a. planificarea evoluţiei viitoare;
b. stabilirea necesarului de materiale;
c. determinarea necesarului de resurse umane.
2. Modelul de prognoză cu ajustare exponenţială se utilizează pentru un termen:
a. lung;
b. mediu;
c. scurt.
3. Ponderea datelor valorice din cadrul unui model exponenţial scade exponenţial
odată cu:
a. numărul lor;
b. vechimea lor
c. complexitatea lor.
4. Extrapolarea analitică este o tehnică de prognoză bazată pe:
a. informaţii bursiere;
b. valori prognozate ale volumului vânzărilor;
c. serii cronologice de date.
5. Extrapolarea fenomenologică este o tehnică de prognoză care se utilizează atunci
când seriile de date sunt:
a. lungi;
b. scurte;
c. inexistente.
9.8. Răspunsurile testului de autoevaluare
1. a; 2. c; 3. b; 4. c; 5.b
138
Unitatea de învăţare U10. Modelarea şi simularea sistemelor
flexibile de producţie
Cuprins
10.1. Introducere ................................ ................................ ................................ ......... 136
10.2. Competenţe ................................ ................................ ................................ ........ 136
10.1. Introducere
Sistemul flexibil de producţie este constituit dintr-o grupă de maşini-unelte cu
comandă numerică (centre de prelucrare) comandate de un sistem central şi
echipate cu un sistem de transport comun şi automatizat, pentru semifabricate,
scule, piese, în vederea realizării unei producţii continue.
Din punct de vedere sistemic, sistemul flexibil de producţie reprezintă o combinare
a unui subsistem de prelucrare cu un grad dezvoltat de automatizare, cu un
subsistem logic automatizat (pentru transport a semifabricatelor între diferite
posturi, a alimentării automatizate a maşinilor, a schimbării sculelor, a controlului
pieselor) şi un sistem de comandă. În prima parte a unităţii de învăţare sunt
prezentate noţiuni generale despre modelarea sistemelor flexibile de producţie cu
reţele PETRI, iar a doua parte tratează problematica simulării cu reţele PETRI,
prezentând două tipuri de simulări. Unitatea de învăţare se finalizează cu un test de
evaluare a cunoştinţelor.
10.2. Competenţe
La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
identifice elementele definitorii ale unei reţele PETRI;
opereze cu simbolurile grafice utilizate pentru modelarea sistemelor flexibile de
fabricaţie;
deosebească diferitele tipuri de modele utilizate în modelarea sistemelor
flexibile de fabricaţie;
Durata medie de parcurgere a acestei unităţi de învăţare este de 3 ore.
10.3. Modelarea cu reţele PETRI a sistemelor flexibile de producţie
139
Una din cele mai importante metode de modelare a sistemelor flexibile de producţie,
în cadrul cărora se desfăşoară evenimente asincrone concurente, se bazează pe reţelele
PETRI.
Analiza unui model are ca obiective principale verificarea unor proprietăţi generale ale
modelelor din categoria respectivă de sisteme flexibile, precum şi verificarea unor proprietăţi
specifice modelului analizat. Confirmarea existenţei proprietăţilor atestă faptul că structura
modelului adoptat este corectă, iar infirmarea existenţei anumitor proprietăţi indică prezenţa
unor erori de modelare.
În cazul reţelelor PETRI, principalele proprietăţi verificate prin analiză sunt:
viabilitatea;
reiniţializarea;
limitarea.
Reţeaua este viabilă pentru un “marcaj iniţial” dacă pentru orice “marcaj” M
obţinut din cel iniţial şi pentru orice “tranziţie” t a reţelei există o “secvenţă” de tranziţii
“executabile” care include şi tranziţia t (o “tranziţie” modelează un eveniment din sistemul
flexibil). Prezenţa proprietăţii de viabilitate asigură faptul că în funcţionarea sistemului
flexibil nu vor apare blocaje care ar împiedica funcţionarea în continuare a sistemului flexibil.
Reţeaua este proprie sau reiniţializabilă dacă în orice marcaj M accesibil din cel
iniţial există o secvenţă de tranziţii care conduce din nou la marcajul iniţial. Această
proprietate asigură repetabilitatea unor succesiuni de comenzi emise de la un anumit nivel de
conducere din cadrul sistemului flexibil, repetabilitate care reprezintă o caracteristică a celor
mai multe sisteme de automatizare.
Reţeaua este limitată sau mărginită dacă numărul de simboluri de marcaj în orice
“poziţie” este limitat pentru oricare dintre variantele posibile de marcaje ( “poziţiile “
modelează condiţiile necesare pentru ca un eveniment să poată avea loc). Condiţia de limitare
constituie o garanţie a faptului că sistemul flexibil modelat este finit, respectiv că are un
număr finit de stări; absenţa acestei proprietăţi indică o eroare de modelare.
O reţea PETRI (RP) este un model grafic de tipul grafurilor orientate, cu două
categorii de noduri:
poziţii (care modelează condiţii);
tranziţii (care modelează evenimente).
Relaţiile dintre evenimentele care pot avea loc şi condiţiile necesare pentru ca anumite
evenimente să se producă efectiv sunt reprezentate prin arcele grafului, care stabilesc
legăturile orientate dintre poziţiile p şi tranziţiile t, precum şi dintre tranziţii şi poziţii, întrucât
prin producerea unui eveniment are loc modificarea atât a condiţiilor de apariţie a
evenimentului cât şi a celor care decurg din producerea evenimentului.
Poziţiile se reprezintă grafic prin cercuri, iar tranziţiile prin dreptunghiuri. Faptul că o
condiţie este îndeplinită se reprezintă grafic prin introducerea unui simbol în cercul poziţiei p
140
aferentă condiţiei respective; simbolul este un punct, prezenţa sau absenţa lui constituind
“marcajul “ poziţiei p, notat prin m(p). În transpunerea aspectului grafic al unei RP într-o
relaţie matematică, prezenţa punctului corespunde atribuirii valorii m(p) = 1, iar absenţa
punctului corespunde atribuirii valorii m(p) = 0 (figura 10.1).
Marcajele tuturor poziţiilor piP formează marcajul reţelei, transpus într-un vector a
cărui formă este prezentată în relaţia 10.1.
p1 p2
t1
p3 p 4
Figura 10.1
M
m pm p
m p
m p
i
n
( )( )...(...( )
)
12
(10.1)
în care: pi este mulţimea poziţiilor respective;
i =1, 2, ... , n
n este numărul elementelor mulţimii respective;
m(p i) 0,1 corespunde reţelelor binare.
În exemplul grafic din figura 10.1, întrucât punctele sunt reprezentate în p1, p2, rezultă
un “marcaj iniţial” M0 cu valorile: m(p1)=1, m(p2)=1, m(p3)=0, m(p4)=0, respectiv:
M0
1100
(10.2)
Producerea unui eveniment care poate avea loc este modelată prin “executarea”
tranziţiei corespunzătoare evenimentului, executare care implică schimbarea marcajelor
poziţiilor legate prin arce de tranziţia respectivă: toate poziţiile de la care sosesc arce nu vor
mai avea puncte (în RP binare), iar în toate poziţiile spre care pleacă arce vor fi introduse
141
puncte. De exemplu, prin executarea tranziţiei t1 din figura 10.1 se obţine marcajul din figura
10.2, cu vectorul M prezentat în relaţia 10.3.
Exemple
Exemplul corespunde unui centru de prelucrare CP dotat cu un robot R pentru
deservire. Dacă se consideră că:
p1 modelează condiţia aferentă informaţiei “CP este liber”;
p2 modelează condiţia aferentă informaţiei “robotul R a apucat piesa care
urmează să fie prelucrată”;
p3 modelează condiţia aferentă informaţiei “CP este încărcat”;
p4 modelează condiţia aferentă informaţiei “robotul R este liber”;
t1 modelează evenimentul aferent execuţiei comenzii de alimentare.
Figura 10.2
M1
0011
(10.3)
Alte exemple de structuri sunt prezentate în figurile 10.3 şi 10.4.
p1 p2 p3 p 1 p 2 p 3
t1 t1
p2
p1
p3
p4
t1
142
p4 p4
Figura 10.3
Reprezentările din figurile 10.1 10.4 corespund unor RP “neinterpretate”, în sensul
că reprezentarea este abstractă, fără nici o precizare a semnificaţiilor. În cazul RP
“interpretate” intervin etichete asociate poziţiilor şi tranziţiilor, explicând semnificaţia
acestora.
p 1 p 1
t1 t 1
p 2 p 3 p 2 p 3
Figura 10.4
Reluând schema din figura 10.1 şi semnificaţiile menţionate în aliniatul anterior, o
variantă interpretată a schemei este prezentată în figura 10.5.
CP liber p1 p 2 R cu piesa
t1 Execuţia comenzii de
alimentare a CP cu piesa
CP încărcat p 3 p 4 R liber
Figura 10.5
Relaţiile dintre condiţii şi evenimente, respectiv legăturile prin arce între poziţii şi
tranziţii pot fi transpuse matematic prin intermediul a două matrice de incidenţă “înainte”
143
(Pre) şi “înapoi” (Post). La aceste matrice liniile corespund poziţiilor, iar coloanele
tranziţiilor, pentru n poziţii şi m tranziţii dimensiunile matricelor Pre şi Post fiind n*m.
În cazul RP binare, elementele aij ale acestor matrice pot avea valorile 0 sau 1. Astfel,
în matricea Pre apare valoarea aij=1 dacă la tranziţia j soseşte un arc de la poziţia i şi apare
valoarea aij=0 în caz contrar. În matricea Post apare valoarea aij=1 dacă la poziţia i soseşte un
arc de la tranziţia j şi apare valoarea aij=0 în caz contrar.
Exemplu
Pentru RP binară ilustrată în figura 10.6, se pot scrie matricele prezentate în
tabelele 10.1 şi 10.2.
Tabelul 10.1 Tabelul 10.2
Pre t1 t2 t3 t4 Post t1 t2 t3 t4
p1 1 0 0 0 p1 0 0 1 0
p2 1 0 0 0 p2 0 0 0 1
p3 0 1 0 0 p3 1 0 0 0
p4 0 0 1 0 p4 1 0 0 0
p5 0 0 1 0 p5 0 1 0 0
p6 0 0 0 1 p6 0 0 1 0
Diferenţa dintre Post şi Pre reprezintă matricea de incidenţă C:
[C] = [Post] - [Pre] (10.4)
şi reflectă structura reţelei. Pentru RP binare, elementele gij ale acestei matrice
pot lua valorile -1,0 sau 1, deci gij-1, 0, 1. Pentru exemplul din figura 10.6,
matricea de incidenţă este prezentată în tabelul 10.3.
Tabelul 10.3
t1 t2 t3 t4
-1 0 1 0 p1
-1 0 0 1 p2
C = 1 -1 0 0 p3
1 0 -1 0 p4
0 1 -1 0 p5
0 0 1 -1 p6
144
Se constată că matricea Pre defineşte arcele de la poziţii la tranziţii, deci reflectă aplicaţia
P*T - 0, 1 - mulţimile P şi T fiind definite la început; matricea Post defineşte arcele de la
tranziţii la poziţii, reflectând aplicaţia T*P - 0, 1, iar matricea C defineşte toate arcele,
reflectând o relaţie F de dependenţă cauzală şi aplicaţia aferentă, respectiv:
F P T T P * * (10.5)
P T T P* * , , 1 0 1 (10.6)
Structura unei reţele Petri binară Rb poate fi definită prin cuadruplul:
R P,T,Pre,Postb (10.7)
iar a unei reţele Petri binară marcată Rbm , prin cuplul:
R R Mbm b , 0 (10.8)
M0 fiind marcajul original.
p1 p2
t1 t 4
p 3 p 4
t2
p 5 p 6
t3
Figura 10.6
145
1. Ce înţelegeţi prin „tranziţii”?
2. Ce înţelegeţi prin „poziţii”?
3. Care sunt deosebirile dintre matricea „Pre” şi matricea „Post”?
10.3.1 Modele cu reţele Petri de tip CE
Întrucât RP binare modelează evenimente dependente de condiţii care pot fi satisfăcute
sau nesatisfăcute, ele sunt denumite şi reţele Petri de tip CE (“condiţii - evenimente”). Există
mai multe variante de reţele Petri binare, unele dintre acestea fiind prezentate în continuare.
Astfel, dacă la o RP binară fiecare tranziţie este conectată la o singură poziţie de
intrare şi la o singură poziţie de ieşire, atunci RP reprezintă o “maşină de stare” (figura 10.7).
Dacă la o RP binară fiecare poziţie este conectată la o singură tranziţie de intrare şi la
o singură tranziţie de ieşire, atunci RP reprez intă un “graf de evenimente” (figura 10.8).
Dacă o RP binară este în acelaşi timp o “maşină de stare” şi un “graf de evenimente”,
atunci RP se reduce la un ansamblu de circuite disjuncte, de tipul celui prezentat în figura
10.9:
Se spune că o RP este pură dacă nu conţine “bucle elementare”, respectiv bucle
formate dintr-o poziţie p şi o tranziţie t, tranziţia având la intrare şi ieşire aceeaşi poziţie şi
reciproc, poziţia având la intrare şi ieşire aceeaşi tranziţie. Pentru ca asemenea situaţii să nu
aibă loc este necesar ca pentru toate elementele cu aceiaşi indici să existe relaţia 10.9.
p1 p 1
t1 t1
p2 p2
t2 t2
p3 p 3
t3 t4
t3
Figura 10.7 Figura 10.8
146
p 1
t 1
p 3 p2
t3 t 2
p 5 p 4
t 5 t 6
Figura 10.9
Pre(pi, tj) * Post(pi, tj) = 0 (10.9)
În cazul reţelelor pure, matricea C permite reconstituirea matricilor Pre şi Post, astfel
că relaţiile lui Rb şi Rbm de definiţie a unei RP binare pot fi înlocuite cu relaţiile:
Rb = (P, T, C) (10.10)
Rbm = (Rb, M0) (10.11)
10.3.2 Modele cu reţele Petri de tip PT
Reţelele de tip PT (poziţii-tranziţii) sunt de nivel superior celor de tip CE,
reprezentând o extensie a lor. În RP de tip PT nu mai intervine condiţia ca pentru posibilitatea
executării unei tranziţii să nu existe nici un punct în poziţiile de ieşire, această condiţie fiind
înlocuită prin cea de respectare a capacităţii maxime K(p) fixată pentru fiecare poziţie.
În cazul arcelor de capacitate 1 (cifră care în acest caz nu se notează pe schemă)
condiţia referitoare la poziţiile de intrare pentru ca o tranziţie t să fie executată este similară
cu cea din reţelele CE: în toate poziţiile de intrare în t să existe cel puţin un punct. Executarea
tranziţiei t are în reţelele PT acelaşi efect ca în reţelele CE, respectiv scăderea unui punct din
toate poziţiile de intrare şi adăugarea unui punct în toate poziţiile de ieşire. Un exemplu este
prezentat în figura 10.10:
147
p1 p2 p3 p 1 p 2 p3
t t
p 4 p 5 p 4 p 5
Figura 10.10
La reţelele de tip PT cu arc de capacitate n > 1 care soseşte la o tranziţie t de la o
poziţie p, pentru ca t să fie executabilă intervine condiţia ca p să conţină puncte n, întrucât un
arc de capacitate n echivalează cu n arce paralele între poziţiile p1, p2, ... , pn (cu câte un
singur punct) şi tranziţia t. Această condiţie poate fi considerată o “condiţie colaterală
implicită”.
Pe baza considerentelor expuse, structura unei reţele PT poate fi definită ca un
cvintuplu:
RPT = (P, T, F, K, L) (10.12)
iar o reţea PT marcată poate fi definită ca un sextuplu:
RPTm = (P, T, F, K, L, M 0) (10.13)
unde, în raport cu relaţiile anterioare:
F P T T P * * (10.14)
P T T P* * , , 1 0 1 (10.15)
în care: F = relaţia reflectată în elementele matricei [C]=[Post]-[Pre]
K = un vector ale cărui elemente definesc capacităţile de puncte ale tuturor
poziţiilor;
L = o aplicaţie F << N (N fiind mulţimea numerelor naturale) care defineşte
multiplicitatea fiecărui arc.
10.4. Simularea cu reţele PETRI a sistemelor flexibile de producţie
După modelarea unui subsistem dintr-un SFP prin intermediul unei RP urmează
efectuarea unor calcule care să permită analiza comportării modelului, deci punerea în
evidenţă a proprietăţilor sale.
Se consideră ca date iniţiale structura modelului - reflectată în matricele Pre, Post,
respectiv în matricea de incidenţă C - şi marcajul iniţial M0. Se determină apoi secvenţele
posibile de tranziţii şi evoluţia succesivă a marcajelor până la epuizarea tuturor stărilor
148
posibile ale reţelei, verificându-se dacă apar blocaje, dacă este obţinut din nou marcajul iniţial
după trecerea prin stările posibile sau dacă se ajunge într-o stare finală corespunzătoare
încheierii prevăzute a activităţilor stabilite pentru subsistemul modelat.
10.4.1 Simularea cu reţele Petri de tip PT fără arce multiple
În cadrul reţelelor de tip PT calculul unui nou marcaj M1 care rezultă din cel iniţial M0
prin executarea unei tranziţii tk executabile se efectuează cu relaţia:
M M col Post col e M col Ctk tk tk1 0 0 Pr (10.16)
unde coltk Post, coltk Pre, coltk C reprezintă coloana aferentă tranziţiei tk din matricile
Post, Pre respectiv C.
Pentru justificarea relaţiei (10.16) se consideră RP din figura (8.6) cu Pre, Post, C din
paragraful respectiv, marcajul reprezentat constituind marcajul corespunzător vectorului:
M0 = [1 1 0 0 0 0 ]t (10.17)
Conform celor prezentate anterior şi ilustrate în figurile 10.1 10.4 singura tranziţie
executabilă în reţeaua din figura 10.6 (pentru marcajul M0) este t1, iar executarea acestei
tranziţii conduce la scăderea unui punct din marcajul poziţiilor de intrare p1, p2 şi la adăugarea
unui punct la marcajul tranziţiilor p3, p4, pentru aceste patru poziţii rezultând marcajul din
figura 10.2. Ca urmare, rezultă marcajul:
M1 = [ 0 0 1 1 0 0 ]t (10.18)
Din relaţiile lui Pre şi Post din tabelele 10.1 şi 10.2 se constată că adăugarea unui
punct în p3 şi p4 corespunde sumei:
M0 + coltk Post (10.19)
iar scăderea unui punct din p1 şi p2 corespunde diferenţei:
M0 - coltk Pre (10.20)
Combinarea scăderii punctului din p1 şi p2 cu adăugarea unui punct în p3 şi p4 se
transpune în combinarea sumării şi scăderii din M0 a vectorilor colt1 Post şi colt1 Pre,
rezultând:
M1=M0+colt1 Post-colt1 Pre=[1 1 0 0 0 0 ]t + [0 0 1 1 0 0]
t
'-[1 1 0 0 0 0 ]t = [0 0 1 1 0 0]
t (10.21)
deci obţinându-se expresia (10.18).
Având în vedere că:
[C] = [Post] - [Pre] (10.22)
în locul relaţiei (10.21) poate fi folosită relaţia:
M1 = M0 + colt1 C= [1 1 0 0 0 0]t + [-1 -1 1 1 0 0]
t = [0 0 1 1 0 0]
t (10.23)
Cu marcajul M1 se constată din figura 10.6 că numai t2 poate fi executată şi rezultă
noul marcaj M2 prin relaţia:
M2 = M1 + colt2 C = [0 0 1 1 0 0]t + [0 0 -1 0 1 0]
t = [0 0 0 1 1 0]
t (10.24)
cu puncte în p4, p5. În această stare a reţelei poate fi executată tranziţia t3 şi se obţine:
149
M3 = M2 + colt3 C = [0 0 0 1 1 0]t +[1 0 0 -1 -1 1]
t = [1 0 0 0 0 1]
t (10.25)
cu puncte în p1, p6. Marcajul M2 permite executarea tranziţiei t4, care conduce la
marcajul:
M4 = M3 + colt4 C = [1 0 0 0 0 1]t + [0 1 0 0 0 -1]
t = [1 1 0 0 0 0]
t = M0 (10.26)
deci se regăseşte marcajul iniţial din (10.18).
În cazul reţelei elementar de simple din figura 10.6 rezultă “secvenţa posibilă de
tranziţii executabile” s:
s = t1* t2* t3* t4 (10.27)
prin intermediul tranziţiilor din această secvenţă fiind accesibile marcajele M1, M2, M3,
M4 = 0, secvenţa posibilă şi marcajele accesibile fiind determinate succesiv prin intermediul
relaţiei:
M’ = M + coltk C (10.28)
unde M’ este marcajul obţinut din M prin executarea tranziţiei tk. În formă condensată,
succesiunea tranziţiilor şi marcajelor poate fi exprimată prin relaţia:
M0t1M1t2M2t3M3t4M4 (10.29)
În toate marcajele M0 M4 intervin două puncte, deci reţeaua este “conservativă”, în
toate stările posibile suma punctelor fiind constantă. Reţeaua este de asemenea
“reiniţializabilă”, întrucât M4=M0 şi este “viabilă”, deoarece nu apar blocaje.
10.4.2 Simularea cu reţele Petri de tip PT cu arce multiple
Pentru analiza secvenţei de tranziţii posibile şi a marcajelor accesibile este considerată
reţeaua din figura 10.11, cu două poziţii şi cu capacităţile arcelor notate pe desen, intervenind
condiţia ca o tranziţie să fie executabilă numai dacă numărul de puncte din poziţiile de intrare
este cel puţin egal cu capacitatea arcelor care pleacă spre tranziţia respectivă.
p1
5 5
2 2
t1 t2 t3
3 1
3 5
p2
150
Figura 10.11
Folosind metodologia expusă, se obţin matricele:
Pre
5 2 00 1 5
12
pp (10.30)
Postpp
2 0 53 3 0
12
(10.31)
din ele rezultând:
Cpp
3 2 53 2 5
12
(10.32)
Din marcajul iniţial:
M051
(10.33)
există, printre altele, posibilitatea executării secvenţei de tranziţii:
S = t2*t2*t3*t1 (10.34)
Astfel, din M0 este executabilă tranziţia t2, rezultând marcajul:
M133
(10.35)
care se obţine prin relaţia:
M M col Ct1 0 251
22
33
(10.36)
Din M1, tranziţia t2 este din nou executabilă, rezultând marcajul:
M215
(10.37)
care se obţine prin relaţia:
M M col Ct2 1 233
22
15
(10.38)
Relaţia (10.38) atestă faptul că din M2 tranziţia t3 este executabilă, deoarece în p2
există un număr de puncte (5 puncte) egal cu capacitatea arcului dintre p2 şi t3 (egală cu 5
puncte), rezultând marcajul:
151
M360
(10.39)
care se obţine prin relaţia:
M M col Ct3 2 315
55
60
(10.40)
Din figura 10.11 se constată că pentru marcajul M3 singura tranziţie executabilă este
t1, prevăzută dealtfel în secvenţa (10.34), rezultând marcajul:
M433
(10.41)
care se obţine prin relaţia:
M M col C Mt4 3 1 160
33
33
(10.42)
Care sunt diferenţele dintre simularea cu RP fără arce multiple şi simularea cu RP cu
arce multiple?
10.6. Rezumat
Una din cele mai importante metode de modelare a sistemelor flexibile de
producţie, în cadrul cărora se desfăşoară evenimente asincrone concurente, se
bazează pe reţelele PETRI;
reţea PETRI (RP) este un model grafic de tipul grafurilor orientate, cu două
categorii de noduri:
poziţii (care modelează condiţii);
tranziţii (care modelează evenimente).
Relaţiile dintre evenimentele care pot avea loc şi condiţiile necesare pentru ca
anumite evenimente să se producă efectiv sunt reprezentate prin arcele grafului;
Relaţiile dintre condiţii şi evenimente, respectiv legăturile prin arce între poziţii şi
tranziţii pot fi transpuse matematic prin intermediul a două matrice de incidenţă
“înainte” (Pre) şi “înapoi” (Post). La aceste matrice liniile corespund poziţiilor, iar
coloanele tranziţiilor.
152
10.7. Test de evaluare a cunoştinţelor
1 Cu ajutorul reţelelor Petri se pot modela:
a) sisteme flexibile de producţie;
b) sisteme de stocare;
c) sisteme de ecuaţii liniare.
2 Evenimentele din cadrul unui sistem de producţie sunt reprezentate într-o reţea
Petri prin:
a) poziţii;
b) tranziţii;
c) puncte.
3 Matricea de incidenţă reprezintă:
a) suma dintre matricea Post şi matricea Pre;
b) diferenţa dintre matricea Post şi matricea Pre;
c) diferenţa dintre matricea Pre şi matricea Post.
4 O reţea Petri binară este caracterizată prin:
a) fiecare poziţie este conectată la o singură tranziţie;
b) fiecare poziţie este conectată la mai multe tranziţii;
c) fiecare tranziţie este conectată la mai multe poziţii.
5 La modelarea unui sistem cu reţele Petri:
a) trebuie să apară blocaje;
b) nu trebuie să apară blocaje;
c) apare blocaj numai la ultima tranziţie.
153
BIBLIOGRAFIE
1. BALTAC, V. Informatica programării producţiei întreprinderilor industriale, Editura
Academiei, Bucureşti, 1989.
2. DODESCU, GH., ODĂGESCU, I.ş.a. Simularea sistemelor, Editura Militară, Bucureşti,
1986.
3. DUGULEANĂ, L., Statistică, Editura Infomarket, Braşov, 2002.
4. ENCIU, G. Sisteme flexibile de producţie, Universitatea “Politehnica”, Bucureşti, 1994.
5. FORRESTER, J.W. Principiile sistemelor. Teorie şi autoinstruire programată, Editura
Tehnică, Bucureşti, 1979.
6. IONESCU, GH., CAZAN, E., NEGRUŢĂ, A., Modelarea şi optimizarea deciziilor
manageriale, Editura Dacia, ClujNapoca, 1999
7. MĂRĂSCU – KLEIN, V., Modelarea şi simularea sistemelor de producţie, Editura
LUXLIBRIS, Braşov, 1997.
8. MIHOC, GH. ş.a. Modele matematice ale aşteptării, Editura Academiei, Bucureşti, 1976.
9. MOHORA, C. ş.a. Simularea sistemelor de producţie. Editura Academiei Române,
Bucureşti, 2001.
10. POPESCU, I., RĂDULESCU, D. Modelarea sistemelor de producţie, Editura Tehnică,
Bucureşti, 1986.
11. RAŢIU-SUCIU, C. Modelarea şi simularea proceselor economice, Editura Didactică şi
Pedagogică, Bucureşti,1995.
12. RĂDĂCEANU, E. Limbaje de simulare, Editura Militară, Bucureşti, 1981.
13. RUSU, C., BRUDARU, O. Proiectarea liniilor de fabricaţie flexibile, Editura Tehnică,
Bucureşti, 1990.
14. STOICA, M. ş.a. Modelarea microeconomică, Editura Omegapres, Bucureşti, 1994.
15. STOICA, M. ş.a. Introducere în modelarea procedurală, Editura “Scrisul românesc”,
Craiova, 1989.
16. VĂDUVA, I. Simularea proceselor economice, Editura Tehnică, Bucureşti, 1983.
17. VIŞINOIU, N., Statistică. Metode utilizate în economie, Editura LuminaLex, Bucureşti,
2001.