Documente Academic
Documente Profesional
Documente Cultură
CURS 8
3. TEORIA ORDONANȚĂRII
3.1. INTRODUCERE
O problemă de ordonanțare constă în stabilirea unei ordini de efectuare a activităților
(operațiilor) unui proiect, astfel ca interdependențele dintre ele să fie respectate în cadrul
resurselor disponibile și durata totală de execuție a acestuia să fie minimă.
Pentru a putea concretiza definiția de mai sus, trebuie clarificate noțiunile de proiect, de activitate
(operație) a acestuia, de interdependență între activități și de resursă a proiectului.
I. Prin proiect se înțelege o acțiune de mare amploare sau un proces complex destinat
atingerii unui scop bine precizat. La un proiect deosebim următoarele caracteristici:
un obiectiv, care poate fi un produs, o cantitate de informații, sau un rezultat de natură
organizatorică;
un ansamblu de activități (subacțiuni, subprocese, operații), corelate logic și
tehnologic, a căror realizare permite atingerea obiectivului propus;
un proces tehnologic prin care se precizează intercondiționările între activități,
interesând în special ordinea de execuție a acestora.
Proiectele pot fi clasificate după natura lor în:
✓ proiecte industriale și proiecte de investiții, prin care se obține un produs material
(ex.: fabricarea unei mașini-unelte, construcția unei clădiri etc.);
✓ proiecte organizatorice al căror scop este de a obține un rezultat de natură
informațională sau organizatorică (ex.: un proiect de cercetare științifică, înființarea
unui centru de cercetare).
Pentru a permite o analiză amănunțită a desfășurării lui, alegerea variantelor optime de
execuție și un control continuu al evoluției sale, trebuie să descompunem proiectul în
părți componente la un nivel care să permită tratarea unitară a fiecărei părți și stabilirea
conexiunilor între acestea. Aceste componente se numesc activități sau operații.
II. O activitate (operație) este o parte distinctă dintr-un proiect, un subproces precis
determinat, care consumă timp și resurse.
Vom presupune în continuare că activitățile au următoarele proprietăți:
fiecare activitate este indivizibilă (nu se mai descompune în subactivități);
fiecare activitate are o durată cunoscută;
o activitate, odată începută, nu poate fi întreruptă.
CERCETARE OPERATIONALA 2
Dacă facem simpla adunare a duratelor activităților rezultă că durata întregului proiect ar fi de
47,5 săptămâni. Greșit. De ce? De exemplu, activitățile A2÷A6 se pot desfășura în paralel
(simultan), adică ele se termină în 2 săptămâni și nu în 7 săptămâni. Alt exemplu: Activitatea A9
(Construcția gardului) se poate poate realiza simultan cu activitatea A8 (Turnarea fundației și a
hidroizolației de la nivelul fundației). Activitățile A11÷A15 se pot realiza simultan. Este clar că
durata de realizare a proiectului va fi mai mică decât 47,5 săptămâni.
În concluzie: DURATA TOTALĂ A PROIECTULUI NU ESTE EGALĂ CU SUMA DURATELOR
ACTIVITĂȚILOR!!!
sau preced în mod necesar această activitate ?”; ”care este durata activității ?”. Se naște în acest
fel un tabel care conține activitățile proiectului, condiționările între activități și duratele acestora.
Un astfel de tabel trebuie să conțină cel puțin următoarele elemente:
a) activități: în această coloană se enumeră activitățile proiectului, fiind puse în evidență
printr-o denumire sau printr-un simbol (codul activității);
b) condiționări: se precizează, pentru fiecare activitate, activitățile imediat precedente, prin
simbolurile lor; activitățile de start nu au activități precedente, în celulă fiind trecută o
liniuță;
c) durata: pentru fiecare activitate se precizează durata de execuție, într-o anumită unitate
de măsură; durata unei activități este o constantă.
Modelele de analiză a drumului critic se bazează pe reprezentarea proiectului printr-un graf,
elementele tabelului asociat acestuia fiind suficiente pentru a construi graful corespunzător.
În tabelul 1 este prezentat un proiect, activitățile fiind notate prin litere mari A, B, C, … .
Activitățile A și B sunt activitățile de început ale proiectului. Activitatea A este direct precedentă
activității C. De asemenea, activitatea B este direct precedentă activităților D și E, activitățile C,
D, și E sunt direct precedente activității F, iar activitatea E este direct precedentă activității G.
Tabelul 1
Activitățile Activitățile direct Durate
proiectului precedente (condiționări) (u.t.)
A - 3
B - 2
C A 2
D B 6
E B 4
F C, D, E 4
G E 1
Există mai multe moduri de a reprezenta un proiect printr-un graf, cele mai cunoscute fiind
prezentate în subcapitolele următoare.
3.2.1. Metoda MPM (Metro Potential Method)
Metoda potențialelor sau MPM este un procedeu de analiză a drumului critic în care singurul
parametru analizat este timpul și în reprezentarea graficului rețea se ține seama de următoarele
convenții:
✓ fiecărei activități i se asociază un nod;
✓ fiecărui nod i se asociază o valoare dată de durata activității pe care o reprezintă;
✓ condiționarea (succesiunea) a două activități se reprezintă printr-un arc, orientat de la o
activitate la alta;
✓ fiecărui arc dintre două activități A și B i se asociază o valoare tAB reprezentând durata
dintre sfârșitul/ începutul activității A și începutul/ sfârșitul activității B; reprezentarea
CERCETARE OPERATIONALA 5
Activitatea B începe după ce s-a terminat activitatea A. Putem considera că arcul (A,B)
are el însuși o durată tAB 0 , ceea ce înseamnă că activitatea B poate începe după ce
s-au scurs tAB unități de timp de la terminarea activității A. În general, nu toate
legăturile ”terminare–început” au durată, cele mai multe având durata tAB = 0 .
Activitatea B poate începe după tAB unități de timp după începerea activității A. Dacă
tAB = 0 activitățile încep în același timp.
Această legătură arată că activitatea A este terminată cu tAB unități de timp înaintea
terminării activității B. Dacă tAB = 0 activitățile se termină în același timp.
Se numește activitate de bază orice activitate folosită ca bază de referință, față de care este
format timpul de așteptare. Durata de așteptare tAB se raportează la activitatea de bază.
După cum se vede în figura anterioară, graful rețea poate conține următoarele activități fictive: o
activitate de start și o activitate de final a proiectului; aceste activități sunt necesare în cazul în
care există mai multe activități care nu sunt condiționate de nicio activitate a proiectului (A și B),
respectiv când există mai multe activități care nu au nicio activitate direct succesoare (H și G).
Calculul termenelor activităților
Un nod al grafului (care reprezintă o activitate) se reprezintă printr-un
dreptunghi compartimentat în șase părți (celule), care vor fi completate
conform figurii alăturate:
✓ centru–sus: numărul sau simbolul activității i.
✓ dreapta–sus: termenul ”cel mai devreme al terminării activității”: tmf (m=minim, f=finish);
s
✓ stânga–jos: termenul ”cel mai târziu al începerii activității”: tM (M=Maxim, s=start);
f
✓ dreapta–jos: termenul ”cel mai târziu al terminării activității”: tM (M=Maxim, f=finish).
s
I. Întotdeauna se începe cu calculul termenului ”cel mai devreme al începerii activității” tm
și termenului ”cel mai devreme al terminării activității” tmf . Pentru aceasta ne deplasăm
în graf de la stânga la dreapta (de la începutul proiectului către sfârșitul proiectului).
Considerăm cele 3 tipuri de relații între 2 activități A1 și A2 direct succedate de
activitatea B:
unde activitățile Ai sunt direct precedente activității B, tAiB sunt duratele de așteptare ≥ 0;
2. Termenul cel mai devreme al terminării activității B este egal cu suma dintre termenul cel
mai devreme al începerii activității B și durata sa d(B):
f
tm (B ) = tms (B ) + d(B )
Observație: termenul cel mai devreme al terminării al ultimei activității din graf
reprezintă durată totală de execuție a proiectului, notată cu T.
s
II. Se trece la calcul termenului ”cel mai târziu al începerii activității” tM și termenului ”cel
f
mai târziu al terminării activității” tM . Pentru aceasta ne deplasăm în graf de la dreapta
la stânga (de la sfârșitul proiectului către începutul proiectului).
Considerăm cele 3 tipuri de relații între 2 activități B1 și B2 direct precedate de activitatea
A:
unde activitatea A este direct precedentă activităților Bi, tABi sunt duratele de așteptare ≥ 0;
4. Termenul cel mai târziu al începerii activității A este egal cu diferența dintre termenul cel
mai târziu de terminare a activității A și durata sa d(A):
s
tM ( A ) = tMf ( A ) − d( A )
Calculul rezervelor de timp
a) Rezerva totală de timp ( R t ) a unei activități A reprezintă timpul maxim cu care se poate
amâna sau se poate mări durata activității, fără depășirea termenului final de execuție al
proiectului:
Rt ( A ) = tM
f
( A ) − tmf ( A )
CERCETARE OPERATIONALA 9
R ( A ) = min tm
s
(Bi) − tmf ( A )
unde activitatea A este direct precedentă activităților Bi.
Exemplu: Fie proiectul sintetizat în tabelul următor. Toate activitățile sunt de tip ”terminare–
început”, unitatea de timp este o săptămână, iar duratele de așteptare între activități sunt toate
egale cu 0.
f
tm (B ) = tms (B ) + d(B )
s
✓ activitatea s: tm ( s ) = 0 ; tmf ( s ) = tms ( s ) + d( s ) = 0 + 0 = 0 (s este activitate de început)
s
✓ activitatea A: tm ( A ) = tmf ( s ) + tsA = 0 + 0 = 0 ; tmf ( A ) = tms ( A ) + d( A ) = 0 + 3 = 3
s
✓ activitatea B: tm (B ) = tmf ( s ) + tsB = 0 + 0 = 0 ; tmf (B ) = tms (B ) + d(B ) = 0 + 2 = 2
s
✓ activitatea C: tm ( C ) = tmf ( A ) + tAC = 3 + 0 = 3 ; tmf ( C ) = tms ( C ) + d( C ) = 3 + 2 = 5
s
✓ activitatea D: tm (D ) = tmf (B ) + tBD = 2 + 0 = 2 ; tmf (D ) = tms (D ) + d(D ) = 2 + 6 = 8
s
✓ activitatea E: tm (E ) = tmf (B ) + tBE = 2 + 0 = 2 ; tmf (E ) = tms (E ) + d(E ) = 2 + 4 = 6
s
✓ activitatea F: tm (F ) = max tmf ( C ) + tCF ;tmf (D ) + tDF ;tmf (E ) + tEF = max 5 + 0;8 + 0;6 + 0 = 8 ;
f
tm (F ) = tms (F ) + d(F ) = 8 + 4 = 12
s
✓ activitatea G: tm ( G) = tmf (E ) + tEG = 6 + 0 = 6 ; tmf ( G) = tms ( G) + d( G) = 6 + 1 = 7
s
✓ activitatea f: tm ( f ) = max tmf (F ) + tFf ;tmf ( G ) + tGf = max 12 + 0;7 + 0 = 12 ;
f
tm ( f ) = tms ( f ) + d( f ) = 12 + 0 = 12
s
tM ( A ) = tMf ( A ) − d( A )
CERCETARE OPERATIONALA 12
f
✓ activitatea f: tM ( f ) = 12 ; tMs ( f ) = tMf ( f ) − d( f ) = 12 − 0 = 12 (f este activitate finală)
f
✓ activitatea G: tM ( G) = tMs ( f ) − tGf = 12 − 0 = 12 ; tMs ( G) = tMf ( G) − d( G) = 12 − 1 = 11
f
✓ activitatea F: tM (F ) = tMs ( f ) − tFf = 12 − 0 = 12 ; tMs (F ) = tMf (F ) − d(F ) = 12 − 4 = 8
f
✓ activitatea E: tM (E ) = min tMs (F ) − tEF ;tMs ( G) − tEG ; = min8 − 0;11 − 0 = 8 ;
s
tM (E ) = tMf (E ) − d (E ) = 8 − 4 = 4
f
✓ activitatea D: tM (D ) = tMs (F ) − tDF = 8 − 0 = 8 ; tMs (D ) = tMf (D ) − d (D ) = 8 − 6 = 2
f
✓ activitatea C: tM ( C ) = tMs (F ) − tCF = 8 − 0 = 8 ; tMs ( C ) = tMf ( C ) − d( C ) = 8 − 2 = 6
f
✓ activitatea B: tM (B ) = min tMs (D ) − tBD ;tMs (E ) − tBE = min2 − 0;4 − 0 = 2 ;
s
tM (E ) = tMf (E ) − d(E ) = 2 − 2 = 0
f
✓ activitatea A: tM ( A ) = tMs ( C ) − tAC = 6 − 0 = 6 ; tMs ( A ) = tMf ( A ) − d( A ) = 6 − 3 = 3
f
✓ activitatea s: tM ( s ) = min tMs ( A ) − tsA ;tMs (B ) − tsB = min3 − 0;0 − 0 = 0 ;
s
tM ( s ) = tMf ( s ) − d( s ) = 0 − 0 = 0
activitatea E: valoarea din celula dreapta-jos = minimul dintre valoarea din celula dreapta-sus a
activității F – tEF, adică 8 – 0 = 8 și valoarea din celula dreapta-sus a activității G – tEG
adică 11 – 0 = 11, DECI SE VA SCRIE VALOAREA MINIMĂ 8
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității E –
valoarea din celula centru-jos a activității E, adică 8 – 4 = 4
activitatea D: valoarea din celula dreapta-jos = valoarea din celula dreapta-sus a activității F – tDF,
adică 8 – 0 = 8
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității D –
valoarea din celula centru-jos a activității D, adică 8 – 6 = 2
activitatea C: valoarea din celula dreapta-jos = valoarea din celula dreapta-sus a activității F – tCF,
adică 8 – 0 = 8
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității C –
valoarea din celula centru-jos a activității C, adică 8 – 2 = 6
activitatea B: valoarea din celula dreapta-jos = minimul dintre valoarea din celula dreapta-sus a
activității D – tBD, adică 2 – 0 = 2 și valoarea din celula dreapta-sus a activității E – tBE
adică 4 – 0 = 4, DECI SE VA SCRIE VALOAREA MINIMĂ 2
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității B –
valoarea din celula centru-jos a activității B, adică 2 – 2 = 0
activitatea A: valoarea din celula dreapta-jos = valoarea din celula dreapta-sus a activității C – tAC,
adică 6 – 0 = 6
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității A –
valoarea din celula centru-jos a activității A, adică 6 – 3 = 3
activitatea s: valoarea din celula dreapta-jos = minimul dintre valoarea din celula dreapta-sus a
activității A – tsA, adică 3 – 0 = 3 și valoarea din celula dreapta-sus a activității B – tsB
adică 0 – 0 = 0, DECI SE VA SCRIE VALOAREA MINIMĂ 0
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității s –
valoarea din celula centru-jos a activității s, adică 0 – 0 = 0
Se folosește formula: Rt ( A ) = tM
f
( A ) − tmf ( A ) :
✓ activitatea A: Rt ( A ) = tM
f
( A ) − tmf ( A ) = 6 − 3 = 3 (valoarea din celula dreapta-jos a
activității A – valoarea din celula dreapta-sus a activității A, adică 6 – 3 = 3)
✓ activitatea B: Rt (B ) = tM
f
(B ) − tmf (B ) = 2 − 2 = 0 (valoarea din celula dreapta-jos a
activității B – valoarea din celula dreapta-sus a activității B, adică 2 – 2 = 0)
✓ activitatea C: Rt ( C ) = tM
f
( C ) − tmf ( C ) = 8 − 5 = 3 (valoarea din celula dreapta-jos a
activității C – valoarea din celula dreapta-sus a activității C, adică 8 – 5 = 3)
✓ activitatea D: Rt (D ) = tM
f
(D ) − tmf (D ) = 8 − 8 = 0 (valoarea din celula dreapta-jos a
activității D – valoarea din celula dreapta-sus a activității D, adică 8 – 8 = 0)
✓ activitatea E: Rt (E ) = tM
f
(E ) − tmf (E ) = 8 − 6 = 2 (valoarea din celula dreapta-jos a
activității E – valoarea din celula dreapta-sus a activității E, adică 8 – 6 = 2)
✓ activitatea F: Rt (F ) = tM
f
(F ) − tmf (F ) = 12 − 12 = 0 (valoarea din celula dreapta-jos a
activității F – valoarea din celula dreapta-sus a activității F, adică 12 – 12 = 0)
✓ activitatea G: Rt ( G) = tM
f
( G) − tmf ( G) = 12 − 7 = 5 (valoarea din celula dreapta-jos a
activității G – valoarea din celula dreapta-sus a activității G, adică 12 – 7 = 5)
✓ activitatea A: R ( A ) = tm
s
( C ) − tmf ( A ) = 3 − 3 = 0 (valoarea din celula stânga-sus a activității
C – valoarea din celula dreapta-sus a activității A, adică 3 – 3 = 0)
✓ activitatea B: R (B ) = min tm
s
(D ) ;tms (E ) − tmf (B ) = min2;2 − 2 = 2 − 2 = 0 (minimul valorilor
celulelor stânga-sus ale activităților D și E – valoarea din celula dreapta-sus a activității B,
adică 2 – 2 = 0)
✓ activitatea C: R ( C ) = tm
s
(F ) − tmf ( C ) = 8 − 5 = 3 (valoarea din celula stânga-sus a activității
F – valoarea din celula dreapta-sus a activității C, adică 8 – 5 = 3)
✓ activitatea D: R (D ) = tm
s
(F ) − tmf (D ) = 8 − 8 = 0 (valoarea din celula stânga-sus a activității
F – valoarea din celula dreapta-sus a activității D, adică 8 – 8 = 0)
✓ activitatea E: R (E ) = min tm
s
(F ) ;tms ( G) − tmf (E ) = min8;6 − 6 = 6 − 6 = 0 (minimul valorilor
celulelor stânga-sus ale activităților F și G – valoarea din celula dreapta-sus a activității E,
adică 6 – 6 = 0)
CERCETARE OPERATIONALA 15
✓ activitatea F: R (F ) = tm
s
( f ) − tmf (F ) = 12 − 12 = 0 (valoarea din celula stânga-sus a activității
f – valoarea din celula dreapta-sus a activității F, adică 12 – 12 = 0)
✓ activitatea G: R ( G) = tm
s
( f ) − tmf ( G) = 12 − 7 = 5 (valoarea din celula stânga-sus a activității
f – valoarea din celula dreapta-sus a activității G, adică 12 – 7 = 5)
Rezervele totale de timp și rezervele libere de timp ale activităților caracterizează elasticitatea
unui program de ordonanțare. Cu cât acestea sunt mai mici cu atât programul este mai rigid.
Activitățile fără rezervă totală de timp nu au nici rezervă liberă de timp.
Traseul activităților ce pornesc din activitatea de start și parcurg evenimentele critice în ordinea
acestora, până la evenimentul final, reprezintă drumul critic al proiectului (drumul cu durata
maximă).
Drumul critic este format din activitățile care nu dispun de rezervă totală de timp. Activitățile de
pe drumul critic se numesc activități critice.
Într-un proiect de ordonanțare pot exista mai multe drumuri critice.
În proiectul analizat, activitățile critice sunt B, D și F (nu dispun de rezervă totală de timp), iar
durata traseului s-B-D-F-f este cea maximă:
Traseele proiectului Durata traseelor
s-A-C-F-f 0+3+2+4+0=9
s-B-D-F-f 0+2+6+4+0=12
s-B-E-F-f 0+2+4+4+0=10
s-B-E-G-f 0+2+4+1+0=7
Este clar că orice amânare a unei activități critice duce la mărirea duratei de execuție a
proiectului.
În practică sunt monitorizate în primul rând activitățile critice, ele trebuind să fie realizate exact
la datele calculate.
Celelalte activități pot fi amânate cu rezervele lor de timp, dar consumarea acestora face ca
proiectul să devină rigid.
CERCETARE OPERATIONALA 16
Graful asociat proiectului care prezintă și drumul critic (roșu) este prezentat în figura următoare:
Temă: trageți concluziile manageriale ale acestor rezultate după logica celor de la problema
anterioară!!!
Bibliografie
1. Adina Rusu, Cercetări operaționale;
2. Eugen Tiganescu, Dorin Mitrut, Bazele cercetării operaționale;
3. Vasile Nica, Capitole speciale ale cercetării operaționale;
4. Vasile Nica, Floare Mustata, Gheorghe Ciobanu, Virginia Maracine, Cercetări operaționale I;
5. Virginia Maracine, Cercetări operaționale.