CAPITOLUL 6

 

6.5. Determinarea duratei optime de execuție a unui proiect

 

            Metoda PERT (Program Evaluation and Review Techique) încearcă să țină seama de variațiile duratelor de  execuție a  diverselor  activități dintr-un graf de tip ADC. În acest scop, metoda permite calcularea timpului mediu de terminare a unui proiect, identificarea activităților critice precum și estimarea probabilităților de realizare a termenelor planificate.

            Metoda se aplică îndeosebi la proiecte din domeniul cercetării și dezvoltării. Ea pornește de la următoarele ipoteze:

            a) pentru fiecare activitate a unui graf G, atașat unui proiect dat, se poate estima durata optimistă (durata minimă de execuție a unei activități) aij; durata cea mai probabilă (durata cu cea mai mare șansă de realizare) mij și durata pesimistă bij (este intervalul de timp maxim de realizare a activității (i,j));

            b) durata fiecărei activități a proiectului are o distribuție beta:(fig.6.9)

Densitatea de repartiție

 

 

 

Așa cum se vede, distribuția beta satisface condițiile care au un suport practic solid, bazat pe următoarele observații:

            - intersectează axa abciselor în două puncte care pot corespunde duratelor aij și bij;

            - este unimodală, adică are o singură valoare maximă care poate corespunde duratei mij;

            - valoarea (bij - aij) este intervalul de variație al distribuției și poate indica gradul de împrăștiere al duratelor posibile.

            c) durata medie de execuție tij a unei activități (i,j) este dată de:

 ;                                                 (6.12)

 

            d) dispersia duratei tij de execuție a activității (i,j) se calculează cu ajutorul relației:

                                                           (6.13)

 

            Dispersia reprezintă o măsură a gradului de nesiguranță în estimarea duratei de execuție activității (i,j); o valoare mare a acesteia înseamnă o mare nesiguranță în privința duratei reale de execuție;

            e) durata totală a proiectului este o variabilă aleatoare cu distribuție normală a cărei medie tn și dispersie σn2 sunt:

                                                   (6.14)

 

                                                (6.15)

 

unde Dcrit reprezintă mulțimea tuturor arcelor rețelei G care sunt pe drumul critic;

            f) probabilitatea de realizare a duratei planificate Tplan a unui proiect se determină calculând mai întâi factorul de probabilitate Z după relația

                                                   (6.16)

Și apoi se deduce din tabelul valorilor funcției Laplace probabilitatea p(tn £ Tplan);

            g) graful trebuie să conțină un număr suficient de mare de activități pentru a întruni toate condițiile aplicării teoremei limită centrală iar duratele activităților sunt variabile aleatoare independente.

              Teorema limită centrală.

              Fiind dat un șir de variabile aleatoare independente X1, X2, ... Xn, cu dispersiile σ12, σ22, ...σn2, dacă dispersiile sunt finite și suma lor crește indefinit cu n, dar astfel încât fiecare raport σ22/  σi2 --> 0 atunci variabila

 urmeaz_, la limită, o lege de repartiție normală redusă, oricare ar fi distribuția variabilelor Xi.

              Aceasta înseamnă că o sumă de variabile aleatoare independente, fiecare dintre ele având o repartiție oarecare, urmează, dacă numărul acestor variabile este suficient de mare, o lege normală (legea Gauss-Laplace), a cărei medie este suma mediilor variabilelor și a cărei dispersie este suma dispersiilor variabile.

            4) dacă sunt definite termene planificate de finalizare pentru fiecare activitate (Tij), probabilitatea ca fiecare activitate să fie executată la termenul planificat se determină calculând factorii de probabilitate zij, după formula:

                                                      (6.17)

 unde tj este termenul minim de terminare al activității (i,j).  Apoi, utilizând tabelul valorilor funcției Laplace, se determină probabilitățile Pij(tj £ Tij).

 

            Calculul unui program PERT. Presupunem că s-a trasat rețeaua unui proiect și că pentru durata fiecărei activități avem trei estimări aij, mij, bij;

            Procedura de calcul folosește etapele:

            1. Se calculează durata medie a fiecărei actibvități a rețelei utilizând relația (6.12);

            2. Se calculează termenele evenimentelor tj după procedeele ADC cunoscute, considerând duratele activităților determinate și egale cu mediile lor;

            3. Se calculează dispersia duratei fiecărei activități utilizând relația (6.13);

            4. Se determină tn și σn2 cu ajutorul relațiilor (6.14) și (6.15);

            5. Se determină probabilitatea de realizare a duratei planificate a proiectului după relația (6.16) și a tabelului valorilor funcției Laplace;

            6. Se analizează, în final, probabilitatea calculată la punctul 5 șinând seama de următoarele criterii:

            - dacă p(tn £ Tplan) este aproximativ mai mică decât 0,25 există un mare risc de a nu se realiza proiectul la termenul planificat și deci e necesar să se revizuiască duratele de execuție în sensul urgentării lor;

            - dacă p(tn £ Tplan) » 0,5 programarea este justă;

            - dacă p(tn £ Tplan) este aproximativ mai mare ca 0,6 programarea utilizează excesiv anumite resurse.

            7. Dacă sunt date termenele planificate de execuție a fiecărei activități a proiectului, atunci se calculează și probabilitățile ca fiecare activitate fie executată la termenul planificat. În acest sens se utilizează rela_ia (6.17) și tabelul valorilor funcției Laplace.

            Analiza acestor probabilită_i se face dup_ cum urmează:

            - dacă pij (ti £ Tij) este aproximativ mai mică decât 0,6 atunci trebuie luate măsuri de urgentare a executării activității (i,j) în vederea realizării ei în termenul planificat;

            - dacă pij (t £ Tij) ³ 0,6 atunci avem o justă planificare a execuție activității (i,j).

           

Exemplu. Considerăm un proiect format din 15 activități (fig.6.10).

            Rezolvarea prin metoda PERT a grafului este dată în tabelul 6.5 considerând că termenul planificat al realizării proiectului este de 32 săptămâni.

 

Tabel 6.5 Rezultatele aplicării algoritmului PERT pentru proiectul dat

Activitatea

Denumireaactivită_ii.

Durata

Tij

tij

Termenul min. de terminare al activ.(tj)

Termenul maxim de terminare al act.

Dispersiaσij2

P(tj£Tij)

 

 

aij

mij

bij

 

 

 

 

 

 

(1,3)

(1,2)

(4,7)

(4,6)

(2,5)

(2,12)

(7,8)

(6,9)

(5,6)

(5,10)

(10,11)

(10,12)

(8,9)

(8,13)

(11,13)

(1,4)

(3,5)

(12,13)

A

B

C

D

E

F

G

H

I

J

K

L

M

N

Q

Fictivă

Fictivă

Fictivă

2

4

2

2

4

4

1

2

4

1

1

1

2

1

2

 

5

6

4

3

7

6

3

5

5

2

2

3

3

2

5

8

14

6

4

16

14

5

8

12

3

3

5

4

3

8

16

8

21

22

16

32

24

27

22

25

27

32

27

32

32

5

7

4

3

8

7

3

5

6

2

2

3

3

2

5

5

7

4

3

15

14

7

26

21

17

19

20

10

9

31

16

8

21

22

16

32

24

27

22

25

27

32

27

32

32

1

2,75

0,44

0,11

4

2,75

0,44

1,00

1,77

0,11

0,11

0,44

0,11

0,11

1,00

0,5

0,5

1,0

1,0

0,5

1,0

1,0

0,84

0,72

1,0

1,0

1,0

1,0

1,0

0,84

 

 

            Așa cum se observă drumul critic este dat de activitățile B, E, I, H, Q, durata totală de execuție a proiectului este   tn = 31 săptămâni, dispersia duratei totale este σn2 = 2,75 + 4 + 1,77 + 1,0 + 1 = 10,52 factorul de probabilitate este  iar probabilitatea de realizare a duratei planificate a proiectului este:  p(tn £ Tplan) = 0,617

            Ținând seama că graful are un număr mic de activități, putem spune că avem o planificare justă a proiectului din punct de vedere al termenului final planificat.

            Analizând probabilitățile de realizare la termene planificate ale activităților, observăm că pentru activitățile A,B și E trebuie luate măsuri de urgentare a exercițiilor în vederea realizării acestora la termenele planificate.

 

            Observații.

            Calculele PERT conduc la erori destul de importante:

            - ipoteza că durata medie a proiectului este egală cu cea a drumului critic este incorectă. Durata totală medie estimată prin calcule PERT este întotdeauna optimistă, adică este mai mică decât cea reală. Cu cât există mai multe drumuri paralele într-o rețea și cu cât diferențele dintre lungimile lor sunt mai mici, cu atât eroarea este mai mare;

            - metoda PERT oferă rezultate corecte dacă: a) drumul critic al unui proiect este suficient de lung în comparație cu oricare alt drum complet, astfel încât probabilitatea de a exista un alt drum critic să fie practic neglijabilă; b) drumul critic are suficient de multe activități astfel încât teorema limită centrală să poată fi aplicată.

            Informațiile obținute în urma calculelor PERT, nu sunt suficiente pentru conducătorul de proiect, deoarece atenția acestuia va fi orientată spre activitățile de pe drumul critic, a căror distribuție a fost înlocuită cu mediile lor, fără a acorda atenție și celorlalte activități care în cazul nerealizării uneia la timpul mediu calculat, pot produce perturbații mari în rețea (îndeosebi în cazul rețelelor arborescente) mergând până acolo încât, determină un alt drum critic.

 

            Modelul de simulare PERT În definirea modelului pornim de la următoarele considerente:

            - activitățile (i,j) ale unui proiect P, reprezentat prin rețeaua G, au duratele tij , care sunt variabile aleatoare cu distribuții date;

            - presupunem că duratele tij sunt independent distribuite, fiecare cu un (ordin) interval de variație finit;

            - se numește realizare a proiectului P rețeaua G în care fiecare activitate (i,j) are o durată fixă, extrasă la întâmplare din distribuția lui tij.

            - fiecărei realizări îi corespunde un drum critic și o durată totală stabilite în mod determinist.

            Datele de bază cerute pentru rezolvarea modelului propus sunt distribuțiile duratelor activităților. În cazul unui proiect întâlnim cazuri practice în care, fie toate activitățile au aceeași distribuție a duratelor (cazurile cele mai simple), fie că fiecărei activități a rețelei îi corespunde un tip propriu de distribuție a duratei (cazurile cele mai frecvente). Aceste date sunt obținute de la tehnicienii care au ceva experiență în tipul de activități implicate sau prin metode ale analizei dispersionale în care se ține seama de evoluțiile reale anterioare ale duratelor fiecărei activități obținându-se astfel diferiți parametrii ai distribuțiilor corespunzătoare activităților date (această a doua posibilitate presupune însă un volum de calcule suplimentare, ceea ce ridică costul rezolvării proiectului mărind însă exactitatea datelor obținute).

            În ambele cazuri se consideră suficiente pe lângă limitele domeniului de variație finit, media și dispersia distribuțiilor utilizate pentru fiecare activitate în parte. Acești parametrii (media și dispersia distribuției unei activități) pot fi obținuți impunând niște condiții de realizare a duratelor fiecărei activități (de exemplu, o probabilitate dată a estimărilor pe care le facem).

            Metoda simulării Monte Carlo constă în aplicarea algoritmului de calcul al drumului critic pentru un număr suficient de mare de mulțimi de durate ale activităților (numărul acestora fiind determinate de exactitatea rezultatelor pe care vrem să le obținem), generate conform distribuțiilor corespunzătoare. Această tehnică poate fi utilizată în două moduri de bază diferite.

            Prima implică o mărime relativ mai simplă și este pentru a testa, de exemplu, dacă media duratei a proiectului µ, este sau nu realizată. Aceste teste statistice pot fi secvențiale și implică aplicarea tehnicilor statistice standard. Această abordare are însă dezavantajul că ea dă niște informații întâmplătoare despre distribuția duratei proiectului.

            A doua aplicație a tehnicii, oferă foarte multă oportunitate și va fi considerată în cele ce urmează. Aceasta presupune următorul algoritm de calcul:

            Pasul 1. Se generează duratele aleatoare ale activităților conform cu anumite distribuții date (Beta, lognormală, uniformă, normală, triunghiulară) în intervalul [A,B], în orice fel de combinație. Această flexibilitate permite, în particular, să încercăm diferite distribuții și să observăm efectele ce se obțin în cazul neglijării sau luării în considerare a distribuției fiecărei activități.

            Pasul 2. Se calculează drumul critic, folosind metoda clasică, găsindu-se activitățile critice și termenele activităților.

            Pasul 3. Se determină duratele Ti de realizare a proiectului. Se repetă etapele 1, 2, 3, de N ori, N suficient de mare. Media µ și dispersia σT2 a duratei totale T a lucrării, sunt date de formulele:

            Pasul 4. Pentru fiecare activitate se determină indicele de criticalitate: Cij = vij / N unde vij este numărul care exprimă de câte ori activitatea (i,j) a fost activitate critică din cele N cazuri studiate. Indicele de criticalitate al unei activități, reprezintă probabilitatea ca acea activitate să fie critică.

            Activitățile cu indicii Cij mai mari, formează drumurile critice din graf.

            Întrucât se consideră un număr suficient de mare de realizări, teorema limită centrală, spune că  este o foarte bună aproximație normală cu media µx și dispersia σx2/N, notată cu NOR(µx, σx2/N), unde media pentru X, (variabila aleatoare corespunzătoare duratei proiectului) este μx = M[x], iar σx2, reprezintă dispersia lui X.

            Este clar că valoarea lui N are influență asupra gradului de exactitate al estimației lui μx.

 

            Metode de generare a variabilelor aleatoare de distribuții date specifice rețelelor PERT. Modelul de mai sus, presupune că duratele de execuție ale activităților sunt variabile aleatoare. Dacă X este o astfel de variabilă ea trebuie să aibă următoarele proprietăți.

            C1. SĂ fie mărginită, adică să existe un interval finit astfel încât P(xÏ[A,B]) = 0.

            C2. SĂ existe o valoare M cea mai probabilă M Î [A,B], adică X să fie o variabilă aleatoare unimodală.

            C3. Din inegalitatea lui Cebâșev rezultă că dacă μ = M[x], iar σ2 este dispersia lui X, atunci ; de aceea se poate impune ca variabila de tip PERT să aibă și proprietatea B - A = 6σ.

În problemele de tip PERT în care duratele sunt aleatoare, intervin de obicei următoarele distribuții ale duratelor activităților:

            a) Distribuția uniformă, sau rectangulară, care are densitatea

            b) Distribuția normală a cărei funcție de densitate este următoarea:

 

unde m și σ desemnează parametrii distribuției. În cazul problemelor PERT, ne interesează însă determinarea cu o probabilitate dată a parametrilor m și σ în intervalul (a,b). În această situație vom avea:

            Punând 5, vom obține integrala lui Laplace:

unde valorile lui φ se obțin din tabele. Se demonstrează că punând

m = a+3σ, atunci P(m-3σ < x <m + 3σ) = 0,99 adică, variabila aleatoare X care urmează o lege normală aparține intervalului (a,b) cu o probabilitate foarte aproape de unitate (regula celor trei sigma).

 

            c) Distribuția lognormală. Variabila aleatoare Y se numește lognormală dacă x = lny are o repartiție normală, adică:

 

            De obicei, duratele activităților au repartiții lognormale. Această variabilă nu satisface în mod riguros condiția C1, însă se poate arăta că oricare ar fi 8, există un interval (A,B) astfel că 9.

 

            d) Distribuția Beta. O variabilă aleatoare V are repartiția Beta dacă densitatea sa de repartiție este:

unde

Dar V nu satisface condițiile C1 și C2 de mai sus; de aceea trebuie să facem transformarea  W = (B-A)·V + A. Densitatea de repartiție a variabilei W este:

                                                                                                                                (6.18)

             Aceasta este repartiția β nestandardizată, pentru care avem:

                                                                                                                                (6.19)

            Dăm în continuare, algoritmi de generare a variabilelor de distribuție uniformă, normală, lognormală și beta specifice problemelor Pert.

            1. Generarea (variabilelor) duratelor aleatoare cu distribuție uniformă, pe un interval dat [A,B] presupune următorul algoritm:

            a1 - se generează un număr aleator uniform distribuit u Î (0,1);

            a2 - se consideră ca durată a unei activități valoarea care se obține pentru X calculând expresia X = A +(B-A)·u.

            2. Pentru generarea unei variabile normale pe un interval dat [A,B], ținem seama de regula celor 3 sigma și de teorema limită centrală. Algoritmul în această situație presupune următoarele etape:

            a1 - Se calculează

            a2 - Se calculează µ = A + 3σ;

            a3 - Se generează n=12 numere aleatoare u1,...,u12 uniforme pe (0,1) și independente;

            a4 - Se calculează . Variabila Z are o repartiție normală N(0,1), deoarece pentru n=12, teorema limită centrală se poate considera adevărată;

            a5 - Se calculează X = µ + σ z. Se consideră valoarea lui X ca durată a activității în cursul unei "realizări".

            3. Pentru generarea unei variabile aleatoare lognormale pe un interval [A,B] dat se aplică următorul algoritm:

            a1 - Se calculează media m și dispersia s cu ajutorul formulelor următoare:  unde σ și µ sunt dispersia, respectiv media unei variabile normale pe [A,B];

            a2 - Se calculează µ1 și σ1 conform formulelor următoare:

   și  

            a3 - Se generează o variabilă Z normală N(0,1) folosind procedeul arătat la punctul 2;

            a4 - Se calculează y = µ1+zσ1 (variabila y este normală N(µ1, σ1));

            a5 - Se calculează (x=lny), variabila X este variabila lognormală generată.

            4. Pentru generarea variabilelor de tip beta pe un interval [A,B] se șine seama de următoarea teoremă: dacă x1 și x2 sunt variabile aleatoare independente de tip gama avâd respectiv parametrii (p,λ), (q,λ) atunci variabila V = x1 / (x1 + x2), este o variabilă beta de parametrii p și q. Conform teoremei, generarea unei variabile beta se reduce la generarea a două variabile de tip gama pentru λ dat.

            Algoritmul este următorul:

            a1 - se consideră că (B-A)/6 și că μ = A + 3σT ipoteză presupusă adevărată în cazul distribuției Beta;

            a2 - se determină p și q din relațiile (6.18) și (6.19);

            a3 - se generează o variabilă gama conform formulei x1 = - log(T1. T2 ... Tp)/λ unde T1 T2 ...Tp sunt p numere aleatoare uniforme pe (0,1);

            a4 - Se generează a doua variabilă gama utilizând formula

x2 = -log(T1 ...Tq)/λ unde T1... Tq au aceiași semnificație ca și T1 ...Tp.

            a6 - variabila este variabila beta utilizată ca durată a unei activități în calculul unei "realizări" a proiectului.

 

             Analiza performanțelor aplicării simulării Monte Carlo pentru determinarea duratelor a unui proiect Rezolvarea grafului din figura 6.11 și utilizând metoda PERT clasică, a dus la obținerea următoarelor rezultate: durata proiectului este de 66.0 iar dispersia este 60.27, drumul critic trecând prin 1-2-4-5-9. Metoda Monte Carlo utilizând 10.000 realizări implică o medie de 67.0 ± 0.13 și o dispersie de 44.3 ± 2 în cazul utilizării distribuției beta. În figura 6.11 sunt trecuți indicii de criticalitate obținuți în urma aplicării metodei Monte Carlo. Valorile acestora pot fi considerate ca o măsură utilă a gradului de atenție pe care conducătorul proiectului, o acordă fiecărei activități a proiectului. Notăm de asemenea faptul că activitățile 6-8 și 8-9 nu sunt niciodată critice. De fapt, ele nu pot fi critice, dar algoritmul determinist nu ne poate da o asemenea informație.

 

                                                                                                Fig. 6.4.

 

            Notăm că abordarea statistică a determinat același drum critic, însă prin simulare drumul critic a fost determinat în condițiile în care s-a impus un grad de siguranță mult mai mare decât în cazul modelului determinist, obținându-se totodată și un surplus de informații.

            Trebuie însă să arătăm că acest exemplu constituie un caz simplu de graf întâlnit în practică. În realitate, există rețele mult mai complexe pentru care simularea Monte Carlo oferă rezultate mult mai interesante, rezolvând și înlăturând erorile pe care le presupune metoda PERT calsică.

            Practica simulării Monte Carlo în determinarea duratelor de execuție a proiectelor a demonstrat că, foarte mult timp, se consumă cu generarea numerelor aleatoare, astfel încât timpul de rulare este esențial o funcție liniară de numerele aleatoare generate sau, pentru o aceeași rețea, o funcție liniară de numărul activităților din rețea. Aceste relații sunt adevărate pentru rețele foarte mari cu un grad mare de arborescență. Pentru o rețea de 200 activități și 10.000 de cicluri de simulare utilizând un program pentru IBM 7090, timpul de rulare a fost, în jur de 20 de minute pentru distribuții triunghiulare și în jur de cinci minute pentru distribuții uniforme. În cazul folosirii metodelor analitice timpul de rulare crește exponențial cu numărul arcelor.

            În scopul micșorării duratei de rulare se propun diverse metode. Două dintre acestea ni se par mai interesante:

            - se consideră realizarea obținută prin punerea tuturor duratelor activităților la cel mai scăzut punct al șirului de valori și găsim drumul critic corespunzător proiectului și durata lui, l. Punem apoi toate duratele activităților care nu sunt pe drumul critic la valoarea lor cea mai înaltă. Se determină activitățile care sunt pe drumurile cu lungime mai mare decât l. Activitățile care n-au fost luate în considerare după cele două teste sunt înlăturate, urmând numai pentru cele rămase să se aplice simularea Monte Carlo;

            - în cazul în care nu ne interesează distribuția exactă a duratei proiectului ci numai media și durata ei, activitățile care sunt întotddeauna critice sunt înlocuite cu activități deterministe cu duratele egale cu mediile distribuțiilor originale.