Sunteți pe pagina 1din 21

CERCETARE OPERATIONALA 1

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

III. Dintre intercondiționările (interdependențele) dintre activități, interesează, în special, cele


temporale, numite relații de precedență, care pot fi de trei tipuri:
1. de tip ”terminare–început”. Acest tip este cel mai frecvent întâlnit și spunem că o
activitate A precedă activitatea B printr-o interdependență de tip
”terminare–început” dacă activitatea B nu poate începe decât după un interval de
timp tAB de la terminarea activității A. Acest interval poate fi egal și cu zero, caz în
care spunem că activitatea A precedă direct activitatea B;
2. de tip ”început–început”. Acest tip este frecvent întâlnit și spunem că o activitate A
precedă activitatea B printr-o interdependență de tip ”început–început” dacă
activitatea B nu poate începe decât după un interval de timp tAB de la începerea
activității A. Acest interval poate fi chiar mai mare decât durata activității A, caz în
care avem de fapt o dependență de tipul ”terminare–început”, astfel se poate privi
primul tip ca un caz particular al celui de-al doilea;
3. de tip ”terminare–terminare”. Spunem că o activitate A precedă activitatea B printr-o
interdependență de tip ”terminare–terminare” dacă activitatea B nu se poate
termina decât după un interval de timp tAB de la terminarea activității A sau că
activitatea A trebuie terminată cu cel puțin tAB unități de timp înaintea terminării
activității B.
IV. Prin durată totală de execuție a unui proiect înțelegem intervalul de timp în care se
efectuează toate activitățile acestuia, respectând toate interdependențele dintre
activități.
A programa un proiect înseamnă a stabili termenele de începere pentru fiecare activitate în
parte, ținând seama de restricțiile impuse de procesul tehnologic, duratele activităților și
resursele disponibile. Pentru un proiect dat, există un număr mare de programări admisibile. Un
interes deosebit prezintă programul optim, adică acel program care, pe de o parte, satisface
restricțiile impuse iar, pe de altă parte, optimizează un anumit criteriu de eficiență economică.
Criteriul de optimizare nu este același pentru toate proiectele, el este stabilit pentru fiecare caz în
parte și definește obiectivele majore ale conducerii proiectului. În funcție de aceste obiective,
criteriul poate fi durata totală minimă, costul total minim, folosirea cât mai uniformă a
resurselor sau o sinteză a acestora. Deci, programul optim este acea desfășurare a proiectului,
precizată prin termenele de începere ale activităților, care conduce la o eficiență maximă.
Deoarece, așa cum se vede și din cele spuse mai sus, situațiile din practică care necesită rezolvarea
unei probleme de ordonanțare sunt foarte variate, s-au propus numeroase modele pentru
rezolvarea lor. În continuare vor fi prezentate câteva dintre modelele cele mai frecvent utilizate în
practică.
CERCETARE OPERATIONALA 3

Exemplu de proiect: Construcția unei case

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!!!

3.2. MODELE DE ANALIZĂ A DRUMULUI CRITIC (ADC)


Principiul analizei drumului critic constă în divizarea unui proiect în părți componente, la un nivel
care să permită corelarea logică și tehnologică a acestora, adică să facă posibilă stabilirea
interacțiunilor între părțile componente. Aceste părți componente sunt activitățile proiectului.
La definirea listei de activități specialistul sau specialiștii care participă la această operație folosesc
experiența lor pentru a răspunde pentru fiecare activitate la întrebările: ”ce alte activități succed
CERCETARE OPERATIONALA 4

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

activitate–nod permite ca între activitățile unui proiect să avem 3 tipuri de legături de


precedență; cele trei tipuri de precedență se reprezintă astfel:
1. Legătura ”terminare–început” se reprezintă grafic astfel:

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 .

2. Legătura ”început–început” poate fi utilizată pentru a arăta simultaneitatea executării


a două activități prin puncte de început:

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.

3. Legătura ”terminare–terminare” poate fi, de asemenea, utilizată pentru a indica


simultaneitatea executării a două activități prin punctul de terminare.

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ă.

activitatea de bază este A


De exemplu, proiectului dat prin tabelul următor (doar activități de tip terminare–început) îi
corespunde graful rețea din figura alăturată.
Activități Condiționări
A -
B -
C A
D B
E C
F C
G D, F
H E, F Fig.1
CERCETARE OPERATIONALA 6

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.

✓ centru–jos: durata activității: d ( i )


s
✓ stânga–sus: termenul ”cel mai devreme al începerii activității”: tm (m=minim, s=start);

✓ 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:

terminare A1 și A2–început B început A1 și A2–început B terminare A1 și A2–terminare B

Este logic ca plasarea în timp a începutului activității B să depindă de termenele începutului


activităților A1 și A2 și de duratele de așteptare tA1B și tA2B.
1. Termenul ”cel mai devreme al începerii” activității B:
▪ în cazul legăturii terminare A1 și A2–început B, termenul cel mai devreme al începerii
activității B depinde de termenele cel mai devreme al terminării activităților A1 și A2
și de duratele de așteptare tA1B și tA2B, mai precis va fi egal cu valoarea maximă dintre
f
tm ( A1) + tA1B și tmf ( A2) + tA2B ;
CERCETARE OPERATIONALA 7

▪ în cazul legăturii început A1 și A2–început B, termenul cel mai devreme al începerii


activității B depinde de termenele cel mai devreme al începerii activităților A1 și A2 și
de duratele de așteptare tA1B și tA2B, mai precis va fi egal cu valoarea maximă dintre
s
tm ( A1) + tA1B și tms ( A2) + tA2B ;
▪ în cazul legăturii terminare A1 și A2–terminare B, se calculează mai întâi termenul cel
mai devreme al terminării activității B care depinde de termenele cel mai devreme al
terminării activităților A1 și A2 și de duratele de așteptare tA1B și tA2B, mai precis va fi
f
egal cu valoarea maximă dintre tm ( A1) + tA1B și tmf ( A2) + tA2B , după care se scade
durata activității B, d(B), și se obține termenul cel mai devreme al începerii activității B;
▪ dacă activitatea B este o activitate de început (nu are activități precedente), termenul
cel mai devreme al începerii activității este egal cu 0;
▪ dacă generalizăm pentru i activități A (A1, A2, A3, ..., Ai) formulele sunt:

0 dacă B este o activitate de început



max  tm ( Ai) + tAiB 
f
terminare-început

tm (B ) = 
s

max  tm ( Ai) + tAiB 


s  început-început

max  tm ( Ai) + tAiB  − d (B )
f
terminare-terminare

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:

terminare A–început B1 și B2 început A–început B1 și B2 terminare A–terminare B1 și B2


CERCETARE OPERATIONALA 8

Am stabilit durată totală de execuție a proiectului, notată cu T; aceasta reprezintă atât


termenul cel mai devreme de terminare al proiectului, cât și termenul cel mai târziu al
terminării proiectului, deci cunoaștem termenul cel mai târziu al terminării ultimei activități,
care este egal cu T.
3. Termenul cel mai târziu al terminării activității A:
▪ în cazul legăturii terminare A–început B1 și B2, termenul cel mai târziu al terminării
activității A depinde de termenele cel mai târziu al începerii activităților B1 și B2 și de
duratele de așteptare tAB1 și tAB2, mai precis va fi egal cu valoarea minimă dintre
s
tM (B1) − tAB1 și tMs (B2 ) − tAB2 ;
▪ în cazul legăturii început A–început B1 și B2, se calculează mai întâi termenul cel mai
târziu al începerii activității A care depinde de termenele cel mai târziu al începerii
activităților B1 și B2 și de duratele de așteptare tAB1 și tAB2, mai precis va fi egal cu
s
valoarea minimă dintre tM (B1) − tAB1 și tMs (B2 ) − tAB2 , după care se adună durata
activității A, d(A), și se obține termenul cel mai târziu al terminării activității A;
▪ în cazul legăturii terminare A–terminare B1 și B2, termenul cel mai târziu al terminării
activității A depinde de termenele cel mai târziu al terminării activităților B1 și B2 și
de duratele de așteptare tAB1 și tAB2, mai precis va fi egal cu valoarea minimă dintre
f
tM (B1) − tAB1 și tMf (B2 ) − tAB2 ;
▪ dacă activitatea A este o activitate finală, termenul cel mai târziu al terminării
activității este egal cu T;
▪ dacă generalizăm pentru i activități B (B1, B2, B3, ..., Bi) formulele sunt:

T dacă A este o activitate finală



min  tM (Bi) − tABi 
s
terminare-început

tM ( A ) = 
f

min  tM (Bi) − tABi  + d ( A )


s  început-început

min  tM (Bi) − tABi 
f
terminare-terminare

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

b) Rezerva liberă de timp (R ) a unei activități A reprezintă intervalul de timp, parte a


rezervei totale de timp, cu care o activitate se poate amâna sau i se poate mări durata de
realizare fără a consuma din rezervele de timp ale activităților care o succed direct.

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.

Activități Condiționări Durata [săpt]


A - 3
B - 2
C A 2
D B 6
E B 4
F C, D, E 4
G E 1
Pași:
1. Realizarea grafului pe baza condiționărilor dintre activitățile proiectului,
introducându-se activitățile fictive s (start) și f (final):

2. Se completează celulele corespunzătoare cu duratele activităților, d(i):


d(s)=0; d(A)=3; d(B)=2; d(C)=2; d(D)=6; d(E)=4; d(F)=4; d(G)=1; d(f)=0
și duratele de așteptare între activități care toate sunt t=0.

3. Calculul termenilor ”cel mai devreme ai începerii activităților” și ”cel


mai devreme ai terminării activităților” pornind de la activitatea de
start către activitatea de final (de la stânga la dreapta).
CERCETARE OPERATIONALA 10

Toate activitățile fiind de tip ”terminare–început” se aplică următoarele formule:

0 dacă B este o activitate de început


s
tm (B ) =   f
max  tm ( Ai) + tAiB 

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

Practic este foarte simplu (se începe de la activitatea de start):


activitatea s: valoarea din celula stânga-sus = 0
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității s +
valoarea din celula centru-jos a activității s, adică 0 + 0 = 0
activitatea A: valoarea din celula stânga-sus = valoarea din celula dreapta-sus a activității s + tsA,
adică 0 + 0 = 0
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității A +
valoarea din celula centru-jos a activității A, adică 0 + 3 = 3
activitatea B: valoarea din celula stânga-sus = valoarea din celula dreapta-sus a activității s + tsB,
adică 0 + 0 = 0
CERCETARE OPERATIONALA 11

valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității B +


valoarea din celula centru-jos a activității B, adică 0 + 2 = 2
activitatea C: valoarea din celula stânga-sus = valoarea din celula dreapta-sus a activității A + tAB,
adică 3 + 0 = 3
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității C +
valoarea din celula centru-jos a activității C, adică 3 + 2 = 5
activitatea D: valoarea din celula stânga-sus = valoarea din celula dreapta-sus a activității B + tBD,
adică 2 + 0 = 2
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității D +
valoarea din celula centru-jos a activității D, adică 2 + 6 = 8
activitatea E: valoarea din celula stânga-sus = valoarea din celula dreapta-sus a activității B + tBE,
adică 2 + 0 = 2
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității E +
valoarea din celula centru-jos a activității E, adică 2 + 4 = 6
activitatea F: valoarea din celula stânga-sus = maximul dintre valorile din celula dreapta-sus a
activității C + tCF, adică 5 + 0 = 5, din celula dreapta-sus a activității D + tDF, adică
8 + 0 = 8 și din celula dreapta-sus a activității E + tEF, adică 6 + 0 = 6, DECI SE VA
SCRIE VALOAREA MAXIMĂ 8
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității F +
valoarea din celula centru-jos a activității F, adică 8 + 4 = 12
activitatea G: valoarea din celula stânga-sus = valoarea din celula dreapta-sus a activității E + tEG,
adică 6 + 0 = 6
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității G +
valoarea din celula centru-jos a activității G, adică 6 + 1 = 7
activitatea f: valoarea din celula stânga-sus = maximul dintre valorile din celula dreapta-sus a
activității F + tFf, adică 12 + 0 = 12 și din celula dreapta-sus a activității G + tGf, adică
7 + 0 = 7, DECI SE VA SCRIE VALOAREA MAXIMĂ 12
valoarea din celula dreapta-sus = valoarea din celula stânga-sus a activității f +
valoarea din celula centru-jos a activității f, adică 12 + 0 = 12
4. Calculul termenii ”cel mai târziu de terminare ai activităților” și
termenii ”cel mai târziu de începere ai activităților” pornind de la
activitatea de final către activitatea de start(de la dreapta la stânga).

Toate activitățile fiind de tip ”terminare–început” se aplică următoarele formule:

T dacă A este o activitate finală


f
tM ( A ) =   s
min  tM (Bi) − tABi 

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 ; = min8 − 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  = min2 − 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  = min3 − 0;0 − 0  = 0 ;
s
tM ( s ) = tMf ( s ) − d( s ) = 0 − 0 = 0

Practic se urmează următoarea procedură (se începe de la activitatea finală):


activitatea f: valoarea din celula dreapta-jos = 12
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității f –
valoarea din celula centru-jos a activității f, adică 12 – 0 = 12
activitatea G: valoarea din celula dreapta-jos = valoarea din celula dreapta-sus a activității f – tGf,
adică 12 – 0 = 12
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității G –
valoarea din celula centru-jos a activității G, adică 12 – 1 = 11
activitatea F: valoarea din celula dreapta-jos = valoarea din celula dreapta-sus a activității f – tFf,
adică 12 – 0 = 12
valoarea din celula stânga-jos = valoarea din celula dreapta-jos a activității F –
valoarea din celula centru-jos a activității F, adică 12 – 4 = 8
CERCETARE OPERATIONALA 13

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

Rezultă graful rețea final:


CERCETARE OPERATIONALA 14

5. Calculul rezervelor totale de timp ( R t )

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)

6. Calculul rezervelor libere de timp (R )


Se folosește formula: R ( A ) = min  tm
s
(Bi ) − tmf ( A ) :
B

✓ 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 ) = min2;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 ) = min8;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)

Se întocmește tabelul 2 cu termenele și rezervele de timp:


Tabelul 2
s
Activități Cond. Durate tm tmf s
tM f
tM Rt R
A - 3 0 3 3 6 3 0
B - 2 0 2 0 2 0 0
C A 2 3 5 6 8 3 3
D B 6 2 8 2 8 0 0
E B 4 2 6 4 8 2 0
F C, D, E 4 8 12 8 12 0 0
G E 1 6 7 11 12 5 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:

Pe baza tabelului 2 și a grafului putem trage următoarele concluzii manageriale:


Durata totală a proiectului (T): 12 săptămâni.
Drumul critic: B-D-F. Activitățile critice sunt B, D și F; nu au rezervă totală de timp (nu se poate
amâna începerea acestora și nu se poate mări duratele acestora fără afectarea duratei totale a
proiectului).
Activitatea A: nu este critică, are rezerva totală de timp de 3 săptămâni (se poate amâna
începerea ei sau se poate mări durata ei cu maxim 3 săptămâni fără depășirea termenului final de
execuție al proiectului), respectiv rezerva liberă de timp egală cu 0 (dacă se amână începerea ei
sau se mărește durata ei se vor consuma din rezervele de timp ale activităților care o succed);
Activitatea C: nu este critică, are rezerva totală de timp de 3 săptămâni (se poate amâna
începerea ei sau se poate mări durata ei cu maxim 3 săptămâni fără depășirea termenului final de
execuție al proiectului), respectiv rezerva liberă de timp egală cu 3 săptămâni (se poate poate
amâna începerea ei sau se poate mări durata ei cu maxim 3 săptămâni fără a consuma din
rezervele de timp ale activităților care o succed);
Activitatea E: nu este critică, are rezerva totală de timp de 2 săptămâni (se poate amâna începerea
ei sau se poate mări durata ei cu maxim 3 săptămâni fără depășirea termenului final de execuție
al proiectului), respectiv rezerva liberă de timp egală cu 0 (dacă se amână începerea ei sau se
mărește durata ei se vor consuma din rezervele de timp ale activităților care o succed;
Activitatea G: nu este critică, are rezerva totală de timp de 5 săptămâni (se poate amâna
începerea ei sau se poate mări durata ei cu maxim 5 săptămâni fără depășirea termenului final de
execuție al proiectului), respectiv rezerva liberă de timp egală cu 5 săptămâni (se poate poate
amâna începerea ei sau se poate mări durata ei cu maxim 5 săptămâni fără a consuma din
rezervele de timp ale activităților care o succed).
CERCETARE OPERATIONALA 17

Rezolvarea problemelor folosind QM for Windows


Rezolvarea programului de ordonanțare următor:

Activități Condiționări Durata [săpt]


A - 3
B - 2
C A 2
D B 6
E B 4
F C, D, E 4
G E 1
CERCETARE OPERATIONALA 18

Observații: 1) Rezerva totală de timp=Slack;


2) QM nu calculează rezerva liberă de timp.

Observație: QM nu folosește activitățile fictive de start și final.


Concluzii manageriale:
Durata totală a proiectului (T): 12 săptămâni.
Drumul critic: B-D-F. Activitățile critice sunt B, D și F; nu au rezervă totală de timp (nu se poate
amâna începerea acestora și nu se poate mări duratele acestora fără afectarea duratei totale a
proiectului).
Activitatea A: nu este critică, are rezerva totală de timp de 3 săptămâni (se poate amâna
începerea ei sau se poate mări durata ei cu maxim 3 săptămâni fără depășirea termenului final de
execuție al proiectului);
Activitatea C: nu este critică, are rezerva totală de timp de 3 săptămâni (se poate amâna
începerea ei sau se poate mări durata ei cu maxim 3 săptămâni fără depășirea termenului final de
execuție al proiectului);
Activitatea E: nu este critică, are rezerva totală de timp de 2 săptămâni (se poate amâna începerea
ei sau se poate mări durata ei cu maxim 3 săptămâni fără depășirea termenului final de execuție
al proiectului);
Activitatea G: nu este critică, are rezerva totală de timp de 5 săptămâni (se poate amâna
începerea ei sau se poate mări durata ei cu maxim 5 săptămâni fără depășirea termenului final de
execuție al proiectului).
CERCETARE OPERATIONALA 19

Rezolvarea programului de ordonanțare următor:


CERCETARE OPERATIONALA 20
CERCETARE OPERATIONALA 21

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.