Sunteți pe pagina 1din 21

VisuaGraf HELP

__________________________________________________

Realizat de Vlad TUDOR


Editura L&S INFO-MAT, 2011, Bucureti
http://lab.infobits.ro

1. Introducere
Proiectele i, implicit, situaiile manageriale determinate de punerea n practic a
acestor proiecte, presupun efectuarea unor activiti interconectate, care pot fi modelate
prin intermediul grafurilor.
Managementul informatic al proiectelor permite gestiunea, coordonarea,
planificarea i controlul resurselor astfel nct obiectivele propuse s se ating n mod
optim i la timp.
O aplicaie foarte rspndit a grafurilor orientate o constituie simularea
proiectelor complexe ce presupun o multitudine de activiti distincte, efectuate n serie
sau n paralel. Teoria grafurilor vine n ajutorul oricrui analist de proiect prin
modelarea acestor activiti, prin structurarea grafic a dependenelor dintre ele i
prin determinarea timpului necesar de realizare a proiectului.
n evaluarea oricrui proiect este necesar cunoaterea timpului maxim de
execuie a ntregii lucrri. Acesta reprezint drumul cel mai lung de la faza iniial la
faza final a proiectului i este numit drum critic. Primele tehnici ce utilizeaz aceast
noiune au fost create prima dat n jurul anului 1950 i metoda prezentat n acest
material este cunoscut sub denumirea de Metoda drumului critic (din englez,
Critical Path Method).

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

2. Grafuri de activiti
Un graf de activiti este un graf asociat unei lucrri complexe a crei realizare
presupune desfurarea mai multor aciuni (procese, activiti). Un astfel de graf
presupune dou tipuri de componente:

arcele reprezint activitile sau etapele elementare ale lucrrii, iar lungimea

asociat unui arc semnific timpul de desfurare al activitii. Exemple de astfel


de activiti: proiectarea unei piese, instruirea unui angajat, etc. n cadrul unui
proiect, activitile trebuie ndeplinite ntr-o anumit ordine:
- n serie: o activitate nu poate fi nceput pn cnd alta nu a fost terminat;
- n paralel: se pot desfura n acelai timp.
O activitate are mai multe componente de baz:
- denumirea activitii i codul acesteia;
- durata de efectuare (timpul necesar);
- resursele (umane, materiale sau echipamente) implicate.

nodurile reprezint evenimente care pot fi interpretate ca indicnd realizarea

unor obiective pariale ale lucrrii; ele sunt vzute ca o piatr de hotar sau ca un
punct de verificare al evoluiei lucrrii. Exemple: terminarea fundaiei unei
cldiri, sosirea pieselor de schimb, efectuarea testelor asupra unei instalaii, etc.
Proiectul este conceput n cadrul tehnicilor de planificare de tip graf ca o colecie
de activiti (implicit i evenimente), desfurate ntr-o anumit perioad de timp (cu un
nceput i un sfrit definit) pentru a satisface un set de obiective.
Pentru o anumit activitate, momentul nceperii ei este reprezentat de extremitatea iniial, iar momentul terminrii sale este reprezentat de extremitatea final a
arcului respectiv.

Vlad TUDOR Metoda drumului critic, VisuaGraf

Regul general
La construirea unui graf de activiti se ine cont de urmtoarea regul: toate
arcele care pleac dintr-un vrf X reprezint activiti ce nu pot ncepe dect dup
terminarea tuturor activitilor reprezentate de arcele care sosesc n nodul X.
Exemplul 2.1. Se d urmtorul graf de activiti:

Figura 1. Exemplu de graf de activiti

Pentru graful de mai sus, nodul 1 reprezint evenimentul ce marcheaz nceputul


realizrii proiectului, iar nodul 6 terminarea sa. ntre nodul 1 i 2, de exemplu, exist
activitatea A[1,2] ce are costul de 5 uniti (temporale). De asemenea, evenimentul 2
indic nceperea activitilor A[2,3] i A[2,5]. Nodul 5 semnific terminarea
activitilor A[4,5] i A[2,5], iar activitile A[2,3], A[3,4] i A[4,5] se
efectueaz n paralel cu activitatea A[2,5].
Observaie: lungimea activitii nu depinde de costul su, ea este aleas arbitrar astfel
nct s poat fi trasat grafic.
Definiia 2.1. Un drum (lan) reprezint o succesiune de activiti adiacente ce conduc
de la un eveniment la altul.
Pentru exemplul de mai sus, drumul de la evenimentul 2 la 5 se poate exprima astfel:
[prin succesiunea de activiti]: A[2,3] A[3,4] A[4,5];
[prin succesiunea de evenimente]: 2 3 4 5.

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

Condiiile necesare de validare pentru un graf de activiti [5]


1. Graful trebuie s conin exact un nod iniial (de grad interior 0) i unul final
(de grad exterior 0).
2. Graful nu trebuie s conin circuite (ar nsemna ca o activitate s nceap din
nou dup ce a fost efectuat).
3. Graful trebuie s fie conex (oricare ar fi dou varfuri din graf, exist un lan
ce face legtura ntre ele).
3. Determinarea drumului critic. Algoritmul Roy-Floyd
n exemplul de la paragraful 2 exist, aa cum am precizat, dou drumuri ntre
nodurile 2 i 5.
Definiia 3.1. Costul unui drum reprezint suma costurilor tuturor arcelor componente.
Astfel, observm c drumul reprezentat de arcul A[2,5] are costul mai mare (7)
dect succesiunea A[2,3] A[3,4] A[4,5] (6). n consecin, chiar dac
activitatea reprezentat de arcul A[4,5] a fost efecuat, pentru a putea fi nceput
activitatea A[5,6] trebuie s se astepte 1 unitate temporal (7 - 6).
Trebuie cunoscut drumul maxim ce leag nodul iniial de cel final pentru a
determina durata total (costul total) a proiectului. n exemplul anterior, drumul maxim
are valoarea de 16.
Definiia 3.2. Numim drum critic (DC) al unui graf de activiti un drum de lungime
maxim care leag nodul iniial de cel final.
Drumul critic reunete activiti a cror ntrziere duce la ntrzierea relizrii
ntregului proiect, de aceea trebuie supravegheate cu mare atenie. Mulimea de
activiti i evenimente ce formeaz drumul critic poart de asemenea denumirea
de critice. Deci, calculul timpului de realizare al evenimentului final revine la cutarea
n graf a drumului critic.

Vlad TUDOR Metoda drumului critic, VisuaGraf

Figura 2. Drumul critic ntr-un graf de activiti

ntruct drumul critic este cel mai lung drum din graf, celelalte drumuri trebuie s
fie ori egale (DC multiple), ori mai mici cu acesta. Prin urmare, trebuie s existe i
evenimente i activiti care pot fi ndeplinite nainte ca ele s fie de fapt necesare.

Figura 3. Drumuri critice multiple ntr-un graf de activiti

Pentru fiecare eveniment putem defini data ateptat i data limit de realizare a
sa (dat a crei depire va determina ntrzierea ntregii lucrri). De exemplu, n graful
de activiti prezentat n figura 3, evenimentul 7 are
- data asteptat este egal cu 5 + 8 = 13;
- data limit este egal cu 17 1 = 16 (deoarece o ntrziere peste unitatea de
timp 16 a evenimentului 8 determin o ntrziere peste 17 a ntregului proiect).
Definiia 3.3. Pentru un graf de activiti ale crui vrfuri reprezint evenimentele E1,
E2, , En (unde E1 reprezint nceputul lucrrii, iar En sfritul ei), definim

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

- data ateptat a unui eveniment Ei notat cu ti se calculeaz evalund cele mai


mari distane de la E1 la Ei;
- data limit de realizare a evenimentului Ei notat cu ti* se obine scznd din tn
(timpul ateptat al lui En) lungimea maxim a drumurilor de la Ei la En.
Astfel, definim intervalul [ti,ti*] pentru un anumit eveniment Ei ca fiind intervalul de
fluctuaie i el reprezint intervalul n care poate avea loc evenimentul Ei fr a
modifica timpul total de execuie al ansamblului proiectului.
Observaie. Pentru un eveniment critic, ti = ti*.
Cu ajutorul acestor informaii privitoare la evenimente, putem defini alte dou
noiuni pentru arcele ce se regsesc n graf [5].
Definiia 3.4. Pentru activitatea A[i,j] cu costul d(A[i,j]), considerm
- marginea liber a unei activiti, ca fiind tj ti d(A[i,j]), adic ntrzierea care
poate fi admis la nceperea sa fr a perturba data ateptat de realizare a
evenimentului Ej;
- marginea total a unei activiti, ca fiind tj* ti d(A[i,j]), adic ntrzierea
maxim ce poate fi admis la nceperea activitii A[i,j] fr a perturba data limit
de realizare a evenimentului Ej.
Observaii

Marginile libere i marginile totale ale activitilor critice sunt nule deoarece
nceperea lor trebuie s se fac fr nici o ntrziere.

Intervalul de fluctuaie permite conducerii ntreprinderii s utilizeze resursele,


echipamentele i utilajele rmase libere pentru a ajuta alte activiti i implicit
pentru a micora durata de efectuare a ntregului proiect (n cazul n care se poate
realiza acest lucru).
Deoarece am prezentat toate noiunile necesare referitoare la grafurile de

activiti, voi prezenta n continuare o metod de determinare a drumului critic bazat


pe algoritmul lui Roy-Floyd.

Vlad TUDOR Metoda drumului critic, VisuaGraf

Algoritmul Roy-Floyd

Exist mai multe metode de determinare a drumului minim ntr-un graf orientat,
dintre care amintesc de algoritmul Dijsktra [1] i algoritmul Roy-Floyd [2]. Pentru
aceast lucrare am ales a doua metod deoarece se poate transforma foarte uor, astfel
nct s se poat obin drumul maxim ntr-un graf.
Fiind dat un graf G = (X,U), cu X = {x1, x2, , xn} ca fiind mulimea nodurilor i
cu U ce reprezint mulimea legturilor, s se determine pentru fiecare pereche de
noduri xi,xj (i j), precum i aceste drumuri (n cazul n care exist).
Legturile ntre noduri se rein sub forma unei matrice a drumurilor M = (mi,j)nxn,
unde n reprezint numrul de noduri i se poate exprima formal astfel:

0, daca i j

M [i, j ] d ( Ei , E j ), daca exista drum de la Ei la E j

, daca nu exista drum de la Ei la E j

(1)

Iniial, matricea ponderilor va reine numai lungimea drumurilor directe ntre


dou noduri, iar pentru arce inexistente se va introduce ca valoare Infinit.
La nceput, vom ncerca s obinem drumuri ct mai lungi, ntre oricare dou
noduri xi,xj (i j), permind ca acestea s treac prin nodul 1. Aceasta nseamn c
pentru oricare dou noduri xi i xj, se face comparaia:
M[i,j] < M[i,1] + M[1,j],

(2)

adic se compar dac lungimea drumului direct (care nu trece prin alte noduri) este
mai mic dect cel ce trece prin nodul 1. n caz afirmativ, se face atribuirea urmtoare:
M[i,j] < M[i,1] + M[1,j].

(3)

Dup ce se va efectua aceast operaie pentru toate nodurile grafului, vom obine toate
drumurile maxime ce trec prin nodul 1.
Se repret acest procedeu pentru fiecare nod intermediar nk cu k = {1,2, ,n},
efectund comparaia urmtoare pentru oricare dou noduri xi,xj (i j):
M[i,j] < M[i,k] + M[k,j],

(4)

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

de unde se trage concluzia c algoritmul caut drumul optim ntre nodul x i i yj, prin
noduri nk, pentru care se cunoate deja lungimea maxim a drumurilor de la ni la nk i
nk la nj. Dup pasul n, algoritmul se oprete i toate drumurile maxime au fost obinute.
Porninduse de la matricea drumurilor M, se poate formula urmtorul algoritm [5]:
for k=1 to n
for i=1 to n (cu ij)
for j=1 to n (cu ij)
if (M[i,j] < M[i,k] + M[k,j])
M[i,j] = M[i,k] + M[k,j]

Observaie. Algoritmul poate fi privit ca o succesiune de n transformri aplicate


matricei M, o tranformare k fiind definit astfel:
Tk ( M ) B, B (bi , j ) nxn max( mi , j , mi ,k mk , j ), i, j {1,2,..., n}

(5)

Dac drumul optim trece prin nodul k, atunci se poate scrie egalitatea
M[i,j] = M[i,k] + M[k,j].

(6)

i spunem despre nod c este critic.


Pentru determinarea drumului critic, se va utiliza strategia Divide et Impera,
prezentat n continuare sub forma unei funcii cu denumirea Critic:
void Critic(int i, int j)
{
int k=1;
bool gasit=false;
while (k<=nr_noduri)
{
if ((i!=k) && (j!=k) && (M[i][j]==M[i][k] + M[k][j]))
{
Critic(i,k);
Critic(k,j);
gasit = true;
}
k++;
}

Vlad TUDOR Metoda drumului critic, VisuaGraf


if (!gasit)
{
nod_cr[j] = 1;
arce_cr[i][j] = 1;
}
}

Observaii

Vectorul nod_cr are dimensiunea n i reine valoarea 1 pentru un element i


n cazul n care nodul i este critic (nod_cr[i] = 1). La iniializare, toate
elementele au valoarea 0.

Matricea arce_cr reine legturile critice determinate de algoritmul Roy-Floyd.


Dac arcul de la nodul i la nodul j este critic, atunci matricea va reine
valoarea 1 (arce_cr[i,j] = 1).

Funcia de mai sus returneaz toate drumurile critice ntr-un graf. Pentru a fi
determinat un singur drum maxim, se rescrie condiia instruciunii while astfel:
while ((k<=nr_noduri) && !gasit)

pentru a se sista cutarea la primul nod critic.

Condiia ca graful s nu conin circuite este evident. Costul unui circuit este
, ceea ce ar nsemna rularea algoritmului la infinit [3].

4. Prezentarea aplicaiei VisuaGraf


Aplicaia didactic VisuaGraf se prezint sub forma unei interfee grafice ce
simuleaz i permite utilizatorului s testeze grafurile de activiti.
Interfaa are urmtoarele funcionaliti:

descrierea unui proiect sub forma unui graf de activiti;

validarea grafului (testarea condiiilor necesare i suficiente);

determinarea drumului critic (DC simplu sau multiplu);

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

vizualizarea informaiilor obinute n urma evalurii drumului critic:


-

variabile ce privesc evenimentele sau activitile;

informaii suplimentare despre graf: drumuri minime, maxime, etc.;

n funcie de timp, se poate verifica n ce stadiu se afl proiectul.

4.1. Interfaa grafic

Programul a fost realizat n totalitate cu ajutorul mediului de programare


C++ Builder, versiunea 6 [6]. Fereastra principal este prezentat n figura de mai jos:

meniul principal
meniul rapid
zona de lucru

zona de informa]ii
bara de stare

bare de scroll

Figura 4. Fereastra principal a programului VisuaGraf

i are urmtoarele componente principale:


meniul principal conine toate funciile i operaiile ce pot fi date de utilizator;
meniul rapid o bar de unelte ce ofer acces rapid la cele mai importante comenzi;

Vlad TUDOR Metoda drumului critic, VisuaGraf

zona de lucru locaia unde este creat graful de activiti;


zona de informaii pe acest panou sunt prezentate informaiile privitoare la
evenimentele grafului curent;
bara de stare indic poziia cursorului i ofer anumite indicaii pentru utilizator, n
funcie de unealta aleas;
bare de scroll permit navigarea pe orizontal i pe vertical, n cazul n care graful
depeste zona vizibil a ferestrei.
4.2. Desenarea grafului de activiti

Pentru a deschide un proiect nou, se alege din meniul File comanda New
sau se apas butonul corespunztor din meniul rapid.
Automat, cursorul mouse-ului va fi n starea de vizualizare (sgeat
butonul este apsat pe bara de unelte). Exist cinci moduri n care se poate afla
cursorul mouse-ului i ele vor fi prezentate n continuare:

Figura 5. Unelte de desenare

Doar o singur unealt poate fi activ (apsat) la un moment dat.


4.2.1. Adugarea unui nod (eveniment)
Se selecteaz butonul corespunztor i se apas pe zona de lucru n poziia dorit:

Figura 6. Adugarea unui nod

Pentru a se introduce un nou nod, se apas din nou, n alt poziie. Dup ce au
fost introduse toate evenimentele dorite, se revine n modul de vizualizare (sgeat).

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

4.2.2. Trasarea uni arc (activitate)


Presupunem c am introdus o serie de noduri i suntem n faza la care
trebuie s desenm activitile (arcele) corespunztoare lucrrii. Se alege unealta
alturat i se procedeaz n felul urmtor:

Se apas pe nodul fiu

Se apas pe nodul tata


Figura 7. Trasarea unui arc

Se observ c arcul are costul iniial de valoare ? i ea trebuie, deci, setat. Se


revine n modul de vizualizare i se efectueaz dublu-click pe valoarea arcului. Se va
deschide urmtoarea cutie de dialog:

Figura 8. Setarea duratei unei activitii

Iniial, valoarea este trecut ca fiind -Inf, ceea ce semnific tergerea arcului.
Dac se dorete acest lucru, se apas butonul Ok. Dac nu, se introduce valoarea
timpului de efectuare al activitii curente.

Vlad TUDOR Metoda drumului critic, VisuaGraf

4.2.3. Repoziionarea unui eveniment


Se poate ntmpla ca din anumite motive, sgeile sau anumite evenimente s fie
poziionate, de-a lungul procesului de desenare, ntr-o form nu prea elegant sau pur i
simplu se dorete rearanjarea grafului mai convenabil (vizibil). Pentru aceasta, se apas
butonul Poziionare de pe bara de unelte i se trage de evenimentul dorit prin
procedura Drag & Drop pn n poziia dorit. n timpul operaiei de mutare, nodul
i va schimba culoarea din bleu n portocaliu.

Figura 9. Repoziionarea unui eveniment

Observaie. Arcele i vor schimba i ele locaia n funcie de poziia aleas pentru
nodul mutat.
Pentru a repoziiona un alt eveniment, se ine apsat pe butonul stng al
mouse-ului i se trage din nou n locaia dorit.
4.2.4. tergerea unui eveniment
Pentru a terge un eveniment, se alege din meniul rapid unealta Stergere i se
apas pe nodul corespunztor. Totodat cu el, vor fi eliminate din graf i activitile ce
intr sau ies din acel nod.

Figura 10. tergerea unui eveniment

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

4.2.5. Obinerea informaiilor referitoare la evenimente


Dup ce au fost desenate toate elementele ce constituie graful asociat proiectului,
se pot vizualiza cteva informaii suplimentare. Se trece n modul de vizualizare
(sgeat) i dac se apas pe un nod oarecare,
vor fi afiate, n zona de informaii a
programului, arcele care intr i care ies din el
(n cazul n care evenimentul este iniial sau

Figura 11. Informaii despre evenimente

final, va fi precizat i acest lucru).


4.2.6. Matricea drumurilor
Programul creeaz automat o matrice n care reine legturile ntre
evenimentele grafului de activiti. Pentru a o afia, se apas pe butonul alturat.
Se va deschide urmtoarea fereastr:

Figura 12. Matricea drumurilor

liniile semnific nodurile de unde ncepe o activitate;

coloanele semnific nodurile unde se termin o activitate.


Pentru a nchide aceast fereastr, se apas butonul Inchide.

Vlad TUDOR Metoda drumului critic, VisuaGraf

4.2.7. Resetarea grafului


Pentru a terge graful curent, se apas butonul alturat sau se d comanda,
din meniul principal, Editare/Resetare (sau prin combinaia de taste Ctrl+R).
Toate informaiile legate de graf se vor pierde.
4.3. Deschiderea sau reinerea pe disk unui proiect

Programul permite salvarea configuraiei curente pe harddisk-ul utilizatorului sub


forma unui fiier cu extesia .vgf. n acest fiier sunt reinute poziiile nodurilor n
fereastra de lucru, arcele, precum i costurile lor asociate.
Pentru a reine un proiect, se alege din meniul File
opiunea Save As. Se va deschide o fereastr de dialog n care va
fi introdus numele fiierului i se apas butonul Ok. Dac
proiectul a mai fost salvat, se apas direct butonul Save prin care
se rescriu informaiile n fiierul curent.
Deschiderea unui fiier nou se face prin comanda New din
meniul File. Dac proiectul curent nu este salvat, o fereastr de dialog va aprea i
utilizatorul va fi interogat cu privire pierderea informaiilor curente.
4.4. Validarea grafului

nainte de a rula algoritmul de determinare a drumului critic, este nevoie de


testarea grafului pentru a fi verificate condiiile de existen ale unui graf de activiti:
-

un singur nod final/iniial;

graful s fie conex;

s nu existe noduri singulare;

graful s nu conin cicluri.

Rutina de verificare este prezentat n Anexa 1, la pagina 10.


Pentru a valida configuraia curent, se alege opiunea Validare din
meniul Graf sau se apas pe butonul alturat, din bara de unelte.

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

n funcie de problema ntmpinat la rularea procedurii de validare, utilizatorul


este anunat printr-o cutie de dialog. Acestea sunt prezentate n continuare:

Figura 13. Atenionri privind validarea grafului

n cazul n care graful nu este valid, utilizatorul este rugat s modifice anumite
elemente eronate, ce sunt de asemenea specificate n fereastra de dialog. Dup ce toate
erorile au fost remediate, testarea este efectuat cu succes i n fereastra de lucru vor
aprea dou etichete ce indic nceputul (Start) i sfritul (Final) al lucrrii.

Figura 14. Exemplu de graf valid

Nodul iniial i cel final va avea un contur mai ngroat dect restul.

Vlad TUDOR Metoda drumului critic, VisuaGraf

De reinut este faptul c dup modificarea unei informaii (durata unei activiti
sau tergerea unui nod sau a unui arc), este necesar o nou validare.
Dup ce au fost efectuate toate aceste operaiuni, se poate trece la rularea

algoritmului de determinare a drumului critic.


4.5. Determinarea drumului critic

Pentru a gsi drumul critic pentru graful curent, se apas butonul alturat
(el nu va fi activ pn ce validarea nu a fost realizat cu succes). n figura
urmtoare, este prezentat fereastra programului dup ce a fost rulat rutina de
determinare a drumului critic, ce utilizeaz algoritmul Roy-Floyd

Figura 15. Drumul critic

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

Drumul critic a fost determinat i a fost colorat cu rou. n acest caz, pentru un
eveniment (n figura de mai sus, 5 - critic), sunt afiate mai multe detalii pe panoul de
informaii. Deoarece este un nod critic, data de ateptare este egal cu cea limit.
Observaii

Dac se efectueaz modificri asupra grafului, se va reveni la etapa de creare a


proiectului i va trebui din nou validat i determinat drumul critic.

n cazul n care exist mai multe drumuri critice, programul le va afia pe toate:

Figura 16. Drumuri critice multiple

Dac se poziioneaz cursorul mouse-ului pe un arc, vor fi prezentate informaii


suplimentare, generate cu ajutorul metodei:

Figura 17. Informaii afiate pentru activiti

Vlad TUDOR Metoda drumului critic, VisuaGraf

Pentru a vizualiza drumurile minime i maxime n graf, se apas butonul Dmin,


respectiv Dmax, de pe bara de unelte. Se va deschide o fereastr similar cu cea a
matricei drumurilor, prezentat n continuare:

Figura 18.
Matricea dr. minime
(stnga);
Matricea dr. maxime
(dreapta).

4.6. Parcurgerea grafului

Avnd graful de activiti validat i drumul critic fiind reprezentat prin culoarea
roie, se poate parcurge graful n funcie de timp, n sensul c exist posibilitatea
vizualizrii n evoluie. Aadar, se apas butonul Nav de pe bara de unelte a
programului (sau din meniul Graf, comanda Navigator). n partea de jos a ferestrei, va
aprea urmtorul panou de comand:

Figura 18. Panoul de comand Navigator

Exist dou modaliti de parcurgere a grafului:


1. Normal evenimentele se consider efectuate dup terminarea activitilor la
data ateptat sau
2. La limit - evenimentele se consider efectuate dup terminarea activitilor la
data limit
(implicit, prima variant este cea aleas).

http://lab.infobits.ro, VisuaGraf | 2011, autor: Vlad TUDOR

Pentru a modifica timpul curent, se repoziioneaz cu ajutorul cursorului


indicatorul de pe trackbar-ul din figura 18 (ce are ca poziie maxim, durata drumului
critic). Pentru exemplul anterior, mutm indicatorul pe poziia 12 i vom obine o
reprezentare ca n figura de mai jos:
Figura 19.
Exemplu de
parcurgere a grafului
de activiti

5. Concluzii
Grafurile de activiti sunt extrem de utile n evaluarea lucrrilor complexe, iar
reprezentarea lor permite analistului sau managerului de proiect o viziune de ansamblu
i totodat, o modalitate prin care poate testa o multitudine de variante, nainte de a o
alege pe cea considerat optim. De asemenea, softurile specializate ce ofer metode
complexe de analiz utilizeaz cu succes metode ca cea a Drumului Critic sau PERT,
o variant probabilistic. Algoritmul Roy-Floyd prezentat n aceast lucrare este foarte
general i obine rezultate excelente n determinarea drumului critic. De asemenea, cu
mici modificri, poate fi utilizat i n cazul n care ponderile arcelor pot lua valori
negative. Complexitatea sa ofer un rspuns optim ntr-un timp polinomial, ceea ce
nseamn c se poate utiliza fr a crea probleme din punct de vedere temporal.
nterfaa grafic VisuaGraf are un scop pur didactic i ncearc, prin utilizarea sa
destul de simpl, o nelegere mai rapid a noiunilor referitoare la grafurile de
activiti.

Vlad TUDOR Metoda drumului critic, VisuaGraf

Bibliografie selectiv
1.

Dijkstra E. W., A note on two problems in connexion with graphs, aprut n


Numerische Mathematik. 1 (1959), S. 269271;

2.

Floyd R. W., Algorithm 97 (SHORTEST PATH), Communications of the ACM


5(6):345, June 1962;

3.

Ivac. C., Prun M., Bazele Informaticii Grafuri i elemente de


combinatoric, Editura Petrion, Bucureti, 1995;

4.

Popovici M. D., C++ - Tehnologia orientat pe obiecte, Editura Teora,


Bucureti;

5.

Tudor S., Manual de informatic pentru clasa a XI-a, Varianta C++, Editura
L&S Infomat, Bucureti, 2004;

6.

Tudor S., Iniiere n programarea vizual Borland C++ Builder, Editura L&S
Info-Mat, Bucureti, 2003, www.infobits.ro;

S-ar putea să vă placă și