Sunteți pe pagina 1din 35

ELEMENTE DE TEORIA GRAFURILOR ŞI ANALIZA

DRUMULUI CRITIC

• Concepte fundamentale.Modelarea prin grafuri a


proceselor economice.
• Drumuri de valoare optimă.
• Arbori minimali.
• Analiza drumului critic.
– graful coordonator asociat unei acţiuni complexe;
– reprezentarea şi calculul termenelor activităţilor;
– alocarea şi nivelarea resurselor.

4. Elemente de teoria grafurilor si 1


analiza drumului critic
Elemente de teoria grafurilor- concepte fundamentale

• Un graf este un cuplu G=(V,M) format dintr-o mulţime


nevidă V de vârfuri (noduri) şi o mulţime M de muchii
(arce) cu proprietatea că fiecărui element m∈M îi sunt
asociate două vârfuri x,y ∈V numite extremitătile
muchiei m.

• O muchie în care x=y (are o singură extremitate) se


numeşte buclă.

4. Elemente de teoria grafurilor si 2


analiza drumului critic
Elemente de teoria grafurilor- concepte fundamentale

• Un graf G se numeşte simplu dacă oricare două


noduri ale sale sunt extremităţi pentru cel mult o
muchie.

• Un graf G este finit dacă V şi M sunt finite.

4. Elemente de teoria grafurilor si 3


analiza drumului critic
Elemente de teoria grafurilor- concepte fundamentale

• Fie m={x,y} o muchie în graful G=(V,M) poate fi:


– orientată (x,y) cu x vârf iniţial şi y vârf final, caz în
care arcul (y,x) este blocat;
– orientată (y,x) cu y vârf iniţial şi x vârf final, caz în
care arcul (x,z) este blocat;
– neorientată {x,y}.
• Un graf G=(V,M) în funcţie de tipul muchiilor sale
poate fi:
– orientat;
– parţial orientat;
– neorientat.
4. Elemente de teoria grafurilor si 4
analiza drumului critic
Elemente de teoria grafurilor- concepte fundamentale

• Un lanţ în graful G=(V,M) este o succesiune de noduri


λ=(x0, x1, … ,xp-1, xp) cu proprietatea că
{x0,x1},{x1,x2},...{xp-1, xp}, sunt muchii în G. Nodurile x0
şi xp sunt extremităţile lanţului λ.
• Lanţul λ se numeşte simplu dacă nu trece de două ori
prin acelaşi nod.
• Lungimea lanţului λ. este dată de numărul muchiilor
sale componente.
• Un ciclu este un lanţ ale cărui extremităţi coincid.

4. Elemente de teoria grafurilor si 5


analiza drumului critic
Elemente de teoria grafurilor- concepte fundamentale

• Un drum în graful G=(V,M) este o succesiune de


noduri δ=(x0, x1, … ,xp-1, xp) cu proprietatea că
{x0,x1},{x1,x2},...{xp-1, xp}, sunt arce permise în G.
Nodurile x0 şi xp sunt extremităţile drumului δ.

• Un graf G=(V,M) se numeşte conex dacă oricare două


noduri ale sale sunt extremităţile unui lanţ.

• Un graf G=(V,M) se numeşte bipartit dacă mulţimea


nodurilor sale poate fi descompusă în două
submulţimi nevide şi disjuncte S şi D astfel încât orice
muchie din G are o extremitate în S şi calaltă în D.
4. Elemente de teoria grafurilor si 6
analiza drumului critic
Drumuri de valoare optimă

• Fie graful G=(X,Γ ). O rută orientată u=(i,j) este un arc


(i,j)∈G. Ruta se numeşte permisă dacă orientarea sa
este în concordanţă cu orientarea muchiei
corespunzătoare din graful G.

• Fiecărei rute u=(i,j) cu i,j∈ X i se asociază o valoare


numerică c(u) cu semnificaţia de cost, distanţă, timp
etc.

4. Elemente de teoria grafurilor si 7


analiza drumului critic
Drumuri de valoare optimă

• Dacă s şi f sunt două noduri fixe din G problema


constă în determinarea unui drum µ*
de la s la f de
valoare optimă (minimă), adică:

c( µ * ) = min c( µ )
µ∈D(s,f)

• unde M(s,t) este mulţimea drumurilor dintre s şi f cu


s,f∈G.

4. Elemente de teoria grafurilor si 8


analiza drumului critic
Drumuri de valoare optimă

• Algoritmul Bellman-Kalaba
– este un algoritm general prin care se determină
drumurile de valoare minimă dintre un nod final şi
toate celelalte vârfuri (noduri) ale grafului;
– fie G=(X, Γ ) graful problemei;
• fiecărei muchii orientate u=(i,j) cu i,j∈ X i se
asociază
M(s,t) o valoare numerică c(u)=cij
• fiecărei muchii neorientate u={i,j} cu i,j∈ X i se
asociază valoarile numerice cij = cji = c(u)
corespunzător celor două arce (i,j) şi (j,i).

4. Elemente de teoria grafurilor si 9


analiza drumului critic
Drumuri de valoare optimă -algoritmul Bellman-Kalaba

START
Pasul 0: se asociază grafului G o matricea V construită
pornind de la valorile vij ale arcelor grafului

NU
Este îndeplinită condiţia Pasul k: se adaugă la matricea V
de oprire a algoritmului? liniile V(k+1) şi succ(k+1)
DA
Se extrag din V rutele de cost
minim spre nodul xf

STOP
4. Elemente de teoria grafurilor si 10
analiza drumului critic
Drumuri de valoare optimă -algoritmul Bellman-Kalaba

Pasul 0:
• se asociază grafulul G matricea V = vij { }
i , j =1,n unde n
este numărul nidurilor grafului astfel:
⎧cij daca ∃ m = (i,j);

v = ⎨0 daca i = j;
⎪∞ in rest.

• se adaugă la matricea V linia V (0)
= vi
(0)
{ } i =1,n unde:
⎧Vif daca i ≠ f ;
Vi ( 0)
=⎨
⎩0 daca i = f .
4. Elemente de teoria grafurilor si 11
analiza drumului critic
Drumuri de valoare optimă -algoritmul Bellman-Kalaba

Pasul k (k=1,2,3,….):
• se determină şi se adaugă matricei V existente la etapa
k-1 două linii:
{ }
– linia V (k ) = vi(k ) i=1,n cu:

⎧min( v ( k −1)
+ vij ) daca i ≠ f ;
vi = ⎨
(k ) i

⎩0 daca i = f ;
– linia succ (k )
= { succ (k )
i }i =1,n unde succ reprezintă nodul
(k )

spre care, din nodul i, există arce de lungime minimă


⎧ j | v (k )
= v ( k −1)
+ vij ∀j = 1, n i ≠ f ;
succi = ⎨
(k ) i i

⎩Φ daca v i = ∞.
k

4. Elemente de teoria grafurilor si 12


analiza drumului critic
Drumuri de valoare optimă -algoritmul Bellman-Kalaba

Condiţia de oprire a algoritmului

• algoritmul se încheie în momentul în care prin


trecerea de la un pas (k) la pasul următor (k+1)
valorile drumurilor minime rămân nemodoficate:

vi( k ) = vi( k +1) ∀ i = 1, n.

4. Elemente de teoria grafurilor si 13


analiza drumului critic
Drumuri de valoare optimă -algoritmul Bellman-Kalaba

Extragerea rutelor de cost minim


• Fiind îndeplinită condiţia
vi(k ) = vi(k +1) ∀ i = 1, n.

– valorile minime ale rutelor se deduc din linia

V (k ) sau V (k +1)
– rutele de valoare minimă de la fiecare nod spre
nodul f se deduc din linia
succ(k ) sau succ(k +1)
4. Elemente de teoria grafurilor si 14
analiza drumului critic
Arbori minimali

• Un arbore este un graf conex neorientat şi fără


cicluri.

• Un arbore are următoarele proprietăţi:


– orice arbore cu p noduri are p-1 muchii.
– între oricare două noduri ale unui arbore există un
unic lanţ de muchii.
– dacă între două noduri ale unui arbore adăugăm o
muchie se obţine un ciclu.
– dacă dintr-un arbore scoatem o muchie, graful se
disconectează.
4. Elemente de teoria grafurilor si 15
analiza drumului critic
Arbori minimali

• Fie graful G=(X,Γ ) un graf neorientat fint şi conex


conţinând n noduri.
• Un arbore conţinut în graful G este un subgraf al lui
G cu n-1muchii.
• Dacă muchiilor unui arbore i se asociază valori
numerice (reprezentând costuri, profituri, distanţe
etc.) atunci suma acestora constituie valoarea
arborelui respectiv.
• Determinarea arborilor minimali dintr-un graf G
constă în identificarea arborelui (arborilor) de
valoare minimă conţinuţi în G.

4. Elemente de teoria grafurilor si 16


analiza drumului critic
Arbori minimali - algoritmul lui Kruskal

START

Pasul 1: se alege din mulţimea Γ a lui G muchea u1 de valoare minimă;


muchea u1 constitue primul element al mulţimii muchiilor alese.

NU
S-au ales Pasul k+1:din mulţimea muchiilor
n-1 muchii? nealese se alege o nouă muchie uk+1 de
valoare minimă şi care nu formează
DA
ciclu cu muchiile deja alese; se adaugă
Graful parţial obţinut constituie uk+1 la mulţimea muchiilor alese;
un arbore minimal în G

STOP
4. Elemente de teoria grafurilor si 17
analiza drumului critic
Arbori minimali - variantă a algoritmului lui Kruskal

START

Pasul 1: se selectează din mulţimea X a lui G un nod oarecare xi


(1≤i ≤n unden este numărul nodurilor lui G)

NU
S-au conectat Pasul k+1:se selectează din mulţimea
toate nodurile? nodurilor neconectate nodul cel mai
apropiat de unul din nodurile
DA
conectate şi se conectează la acesta;
Graful parţial obţinut constituie se adaugă nodul respectiv la
un arbore minimal în G mulţimea nodurilor alese;

STOP
4. Elemente de teoria grafurilor si 18
analiza drumului critic
Analiza drumului critic.

• Principalele metode utilizate în managementul


proiectelor (Project Management) sunt:
– metoda CPM (Critical Path Method)
– metoda MPM (Metra Poential Method)
– metoda PERT (Program Evaluation and Review
Tehnique).

• Aceste metode permit identificarea drumului critic şi


a activităţilor care îl compun dintre evenimentul
începerii proiectului şi evenimentul finalizării lui.

4. Elemente de teoria grafurilor si 19


analiza drumului critic
Analiza drumului critic. Metoda CPM

Fie un proiect (proces) P compus din n activităţi:

P = {Ak } k =1, n
• O activitate Ak de durată dij =d(Ak ) este reprezentată
prin perechea (i,j) unde:
– i reprezintă evenimentul începerii activităţii;
– j reprezintă evenimentul terminării activităţii;
• Grafic, activitatea Ak se reprezintă astfel:
Ak
* i j
ti t i d ij t j t *j

4. Elemente de teoria grafurilor si 20


analiza drumului critic
Analiza drumului critic. Metoda CPM

Fiecărei activităţi Ak i se asociază:


i
• termenul minim de începere - tm ( Ak ) reprezintă
termenul cel mai devreme posibil de terminare a
tuturor activităţilor incidente în nodul i:
⎧0 daca i este nod de inceput
t ( Ak ) = ⎨
i
−1
m
⎩max (tm
i
( Aq ) + d qi ) unde (q, i) ∈ Γi

• termenul minim de terminare tmt (Ak )

tmt ( Ak ) = tmi ( Ak ) + d( Ak )

4. Elemente de teoria grafurilor si 21


analiza drumului critic
Analiza drumului critic. Metoda CPM

t
• termenul maxim de terminare - M ( Ak ) reprezintă
t
termenul cel mai târziu posibil de începere a tuturor
activităţilor incidente Γj dinspre nodul j spre
nodurile:

⎧tn daca j este nod terminal


t ( Ak ) = ⎨
t

M ( Ap ) − d jp ) unde ( j, p) ∈Γj
M t
⎩min (t
• termenul maxim de incepere tMi (Ak )

tMi (Ak ) = tMt (Ak ) − d(Ak )

4. Elemente de teoria grafurilor si 22


analiza drumului critic
Analiza drumului critic. Metoda CPM

• rezerva totală - Rt ( Ak ) reprezintă intrvalul maxim cu


care poate fi amânată o anumită activitate fără a
afecta termenul final al proiectului:
Rt ( Ak ) = tMt ( Ak ) − tmi ( Ak ) − d ( Ak )

Dacă Rt ( Ak ) = 0 activitatea se numeşte critică.


• rezerva liberă - Rl ( Ak ) reprezintă intrvalul maxim cu
care poate fi amânată o anumită activitate fără a
consuma din rezerva activităţilor care o succed
Rl (Ak ) = tmt (Ak ) − tmi (Ak ) − d(Ak )

4. Elemente de teoria grafurilor si 23


analiza drumului critic
Analiza drumului critic. Metoda MPM

Fie un proiect (proces) P compus din n activităţi:

P = {Ak } k =1, n
• Fiecărei activitaţi Ak i se asociază un tabel de forma:

tmi Ak tmt

tMi d(Ak ) tMt

4. Elemente de teoria grafurilor si 24


analiza drumului critic
Analiza drumului critic. Metoda MPM

• Activităţile critice sunt activităţile cu rezerva totală


egală cu 0:
tMi ( Ak ) = tmi ( Ak )

tMt ( Ak ) = tmt ( Ak )

• Totalitatea activităţilor critice alcătuiesc drumul


critic în proiectul P.

4. Elemente de teoria grafurilor si 25


analiza drumului critic
Analiza drumului critic. Metoda PERT

• Metoda PERT permite planificarea activităţilor şi


determinarea probabilităţii de realizare a duratei
planificate pentru un anumit proiect atunci când
duratele activităţilor nu se cunosc cu certitudine.

• Fie un proiect (proces) P compus din n activităţi:

P = {Ak } k =1, n
• Atât durata fiecărei activitaţi d(Ak ) cât ăi durata
totală a proiectului sunt considerate variabile
aleatoare.
4. Elemente de teoria grafurilor si 26
analiza drumului critic
Analiza drumului critic. Metoda PERT

• Dutata unei activităţi Ak este o variabilă aleatoare de


distribuţia BETA cu:
– durata mediie de execuţie a acivităţii d(Ak )
d0 (Ak ) + 4dm (Ak ) + d p (Ak )
d(Ak ) =
6

– dispersia σ 2
( Ak )

⎛ d p ( Ak ) − do ( Ak ) ⎞
2

σ ( Ak ) = ⎜⎜
2
⎟⎟
⎝ 6 ⎠

4. Elemente de teoria grafurilor si 27


analiza drumului critic
Analiza drumului critic. Metoda PERT

• Dutata totală de execuţie a proiectului P este


variabilă aleatoare cu distribuţie normală. Dacă Dc
este mulţimea actvităţilor neparalele de pe drumul
critic atunci avem:
– durata totală medie a proiectului
tn = ∑d ( A )
Ak ∈Dc
k

– dispersia σ n2

σ n2 = ∑ ( Ak )
σ 2

Ak ∈Dc

4. Elemente de teoria grafurilor si 28


analiza drumului critic
Analiza drumului critic. Metoda PERT

• Probabilitatea de realizare a duratei planificate a


proiectului Tp > tn se determină astfel:
– se determină factorul de probabilitate z:
Tp − t n
z=
σ n2

– se deduce, utilizândtabelul funcţiei Laplace


probabilitatea

p(t n ≤ Tp )

4. Elemente de teoria grafurilor si 29


analiza drumului critic
Analiza drumului critic. Metoda PERT

• Valorile probabilităţii de realizare a duratei


planificate a proiectului au următoarele semnificaţii:
– p(t n ≤ Tp ) ≤ 0,25 risc foarte mare de nerealizare în
termen a proiectului;
– p(t n ≤ Tp ) ∈ (0,25;0,5) există şanse de realizare a
proiectului în termenul stabilit;
– p(t n ≤ Tp ) ∈ [0,5;0,8) programarea activităţilor
proiectului este justă;
– p(t n ≤ Tp ) ≥ 0,8 sunt şanse foarte mari de
realizare în timp a proiectului.

4. Elemente de teoria grafurilor si 30


analiza drumului critic
Analiza drumului critic. Alocarea resurselor

• Algoritmul de alocarea resurselor (Project


Scheduling under multiple Resurce Contraints)
permite alocarea resurselor pe activităţi astfel încât
durata de execuţie a proiectului să fie minimă.

• Rezlvarea problemelor de alocare a resurselor


presupune ca primă etapă determinarea drumului
critic fără restricţii de resurse aplicând una din
metodele CPM sau MPM.

4. Elemente de teoria grafurilor si 31


analiza drumului critic
Analiza drumului critic. Alocarea resurselor

• Fie un proiect (proces) P compus din n activităţi:

P = {Ak } k =1, n

• Pentru realizarea activităţilor proiectului sunt


necesare m resurse disponibile în cantităţile:
D1, D2 ,...,Dm

• Vestorul intensităţii utilizării resurselor pentru


actvitatea Ak este:

r(Ak ) = (r1(Ak ),r2 (Ak ),...,rm(Ak ))

4. Elemente de teoria grafurilor si 32


analiza drumului critic
Analiza drumului critic. Alocarea resurselor

Pentru soluţionarea problemei se definesc mulţimii:


• mulţimea activităţilor candidate la momentul t:
⎧{Ak | ti ( Ak ) = t} daca 0 ≤ t ≤ t final
Ct = ⎨
⎩φ daca t ≥ t final
• mulţimea activităţilor programate la momentul t ≥ 0 :

⎧⎪ ⎛ ⎞ ⎫⎪
Pt = ⎨Ak | Ak ∈Ct ∧⎜⎜∆j = Dj − ∑rj (Ak ) ≥ 0⎟⎟ ⎬
⎪⎩ ⎝ Ak∈Et ∪Pt ⎠ j=1,m ⎪⎭

4. Elemente de teoria grafurilor si 33


analiza drumului critic
Analiza drumului critic. Alocarea resurselor

• mulţimea activităţilor amânate la un alt momentul de


timp σ > t :
Aσ = Ct \ Pt
σ = min (tmi (Ak ) + d(Ak ))
Ak ∈Et ∪Pt

• mulţimea activităţilor în execuţie la momentul Et

4. Elemente de teoria grafurilor si 34


analiza drumului critic
Analiza drumului critic. Alocarea resurselor

START

Se determinăEt şi Ct
NU
Ct=φşiEt= φ
DA
Se determină Pt, σ şi Aσ
NU
STOP Aσ = φ?
DA
Se determină implicaţiile
asupra duratei proiectului

t=σ

4. Elemente de teoria grafurilor si 35


analiza drumului critic