Professional Documents
Culture Documents
DRUMULUI CRITIC
c( µ * ) = min c( µ )
µ∈D(s,f)
• 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).
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 )
⎩Φ daca v i = ∞.
k
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
START
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
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.
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
tmt ( Ak ) = tmi ( Ak ) + d( Ak )
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:
M ( Ap ) − d jp ) unde ( j, p) ∈Γj
M t
⎩min (t
• termenul maxim de incepere tMi (Ak )
P = {Ak } k =1, n
• Fiecărei activitaţi Ak i se asociază un tabel de forma:
tmi Ak tmt
tMt ( Ak ) = tmt ( Ak )
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
– dispersia σ 2
( Ak )
⎛ d p ( Ak ) − do ( Ak ) ⎞
2
σ ( Ak ) = ⎜⎜
2
⎟⎟
⎝ 6 ⎠
– dispersia σ n2
σ n2 = ∑ ( Ak )
σ 2
Ak ∈Dc
p(t n ≤ Tp )
P = {Ak } k =1, n
⎧⎪ ⎛ ⎞ ⎫⎪
Pt = ⎨Ak | Ak ∈Ct ∧⎜⎜∆j = Dj − ∑rj (Ak ) ≥ 0⎟⎟ ⎬
⎪⎩ ⎝ Ak∈Et ∪Pt ⎠ j=1,m ⎪⎭
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=σ