Sunteți pe pagina 1din 36

Aplicații ale teoriei grafurilor la

rezolvarea problemelor de
transport
Proiecte realizat de:
Ștefan Camelia-Bianca
Tudose Mădălina-Valentina
Subgrupa 1132C
Profesor coordonator: Lascu Dan
CUPRINS
I. Grafuri
II. Reprezentări ale unui graf
III.Algoritmul Kruskal
IV.Problema clasică de transport. Problema de transport echilibrată (PTE)
V. Elemente din teoria grafurilor
VI.Caracterizare de termeni de grafuri a soluțiilor unui PTE
VII.Problemă de transport echilibrată
VIII.
Concluzie
IX.Biografie
GRAFURI
Definiție: Se numește graf G=(X,U), unde X={ x1, x2, x3,…, xi,…, xn},  X≠∅, este mulțimea
de vârfuri sau noduri, iar U={ u1, u2, u3,…, uk,…, um} este mulțimea de muchii (arce).

ordinul graficului=card(X)=n
Clasificare:
• Grafuri neorientate: Un graf G=(X,U) este un graf neorientat dacă mulțimea U are
proprietatea de simetrie. Mulțimea U este formată din perechi neordonate (xi,xj), numite
muchii.
• Grafuri orientate: Un graf G=(X,U) este un graf orientat dacă mulțimea U nu are
proprietatea de simetrie. Mulțimea U este formată din perechi ordonate (xi,xj), numite arce.
GRAFUL NEORIENTAT
-reprezentarea în plan-

Teoremă: Dacă graful neorientat G are “n”


noduri {x1,x2,…xn}, atunci numărul total
de grafuri neorientate care se pot forma cu
aceste noduri este noduri este “g”:
Definiție: Graful în care oricare două vârfuri sunt
Gradul unui nod într-un graf adiacente, se numește graf complet și se notează
prin “Kn”.
neorientat
Definiție: Un graf în care fiecare nod are gradul k
se numește k-regulat sau k-valent.
Un graf 3-valent se numește graf trivalent sau
Definiție: Gradul unui nod “xk” al grafului cubic. Un exemplu de graf trivalent este graful lui
G este egal cu numărul muchiilor incidente
cu nodul și se notează cu d(xk). Petersen.
Definiție: Vârful “x” aparține X se
numește izolat în graful G, dacă d(x)=0 și
terminal dacă d(x)=1.
Teoremă: Suma gradelor tuturor nodurilor
grafului este egală cu dublul numărului de
muchii.
EXEMPLE

COROLAR: Graful complet Kn este (n-1)-regulat.

Definiție: Graful G = (X,U) cu U =  se numeşte graf vid si se notează prin ”On” , iar graful
pentru care |X| =1, U =  se numeşte graf trivial.
GRAFUL ORIENTAT
În graful orientat perechile de noduri sunt ordonate. Graful ordonat se mai numește și
diagraf.

Teoremă: Dacă graful orientat G are “n” noduri {x1,x2,…xn} atunci numărul total de
grafuri orientate care se pot forma cu aceste noduri este:
GRADELE UNUI NOD ÎNTR-UN GRAF
ORIENTAT
Definiție: Gradul intern al unui nod Definiție: Se numește nod terminal
xi al grafului G este egal cu numărul un nod care are suma gradelor egală
arcelor care intră în nodul xi și se cu 1. Nodul terminal este incident cu
notează cu d-(xi). un singur arc.
Definiție: Gradul extern al unui nod Definiție: Se numește nod izolat un
xi al graficului G este egal cu nod care are suma gradelor egală cu
numărul arcelor care ies în nodul xi 0. Nodul izolat nu este incident cu
și se notează cu d+(xi). nici un arc.
Teoremă: Suma gradelor interne ale tuturor nodurilor
este egală cu suma gradelor externe ale tuturor nodurilor
și este egal cu numărul de arce.
REPREZENTAREA UNUI GRAF
În afară de reprezentarea algebrică ce constă în descrierea nemijlocită a
mulțimilor de vârfuri și de muchii, un graf mai poate fi reprezentat
geometric prin matricea de adiacență, matricea de incidență, s.a.
În reprezentarea geometrică, vârfurile grafului se reprezintă prin puncte sau
cercuri etichetate, iar orice muchie se reprezintă printr-o linie continuă ce
unește punctele corespunzătoare extremităților muchiei respective. În cazul
garfurilor orientate, liniile sunt înzestrate cu o săgeată ce corespunde
orientării arcului.
De exemplu, fie G1,G2 – două grafuri reprezentate algebric:

X1={x1,x 2,x3,x4,x5}

G1=(X1,U1) : U1={( x1,x 2),( x1, x3),( x2,x4),( x2, x3)} ,

2 =(X2 ,2): X2={ x1,x 2,x3,x4,x5}

2 ={( x1,x 2),( x2,x4),( x3,x4),( x4,x5)}

Reprezentarea geometrică a grafurilor G1 si G2 :


ALGORITMUL KRUSKAL
Problema pe care o rezolvă acest algoritm este următoarea: fiind dat un graf G
neorientat, conex și valuat se urmărește extragerea din G a unui arbore parțial
pentru care suma valorilor muchiilor să fie minimă.
Pentru simplificare se presupune inițial că între oricare două vârfuri ale grafului G
există o muchie și că toate valorile muchiilor sunt diferite două câte două.
Fie A = {a1, a2,..., am} iar valoarea muchiei aj este p (aj) = pj.
Vom presupune că p1 < p2 < pm . La această situație se poate ajunge prin
renumerotarea nodurilor și a muchiilor.
Pentru aplicarea algoritmului se face o re-
Algoritmul Kruskal, pentru notare a mulțimii arcelor astfel:
determinarea arborelui
minimal are următorii pași:
A=X x X={a1=(x2,x5),a2=(x2,x4),a3=(x3,x4),a4=(x2,x2),a5=(x1,x3),….}
1. Se alege muchia a1 de valoare minimă
2. Se alege muchia a2 de valoare minimă din mulţimea
muchiilor rămase
3. Fie S = {a1, a2}
4. Dintre muchiile rămase se alege muchia de valoare
minimă care nu formează cicluri cu muchiile din S.
Dacă nu există o muchie ar atunci algoritmul se
încheie şi soluţia problemei este S. Dacă există o
muchie ar se trece la pasul următor
5. Se stabileşte noua valoare a lui S= S U {ar} şi se
reia algoritmul de la pasul 4 până când se ating toate
vârfurile grafului Observaţie Pentru probleme de
maxim în algoritm se înlocuieşte minim cu maxim
Problema clasică de transport. Problema de
transport echilibrată (PTE)
Un produs omogen se află disponibil în localitățile F1, F2, ..., Fm în cantităţile a1,
a2, ..., am şi este cerut pentru consum în centrele C1, C2, ..., Cn în cantităţile b1, b2, ...,
bn. Se presupune cunoscut costul “cij” al transportului unei unităţi de produs de la Fi
la Cj. Se pune problema satisfacerii cererii în punctele de consum la un cost total de
transport minim. Centrele furnizoare, centrele consumatoare, legăturile directe între
ele şi costurile unitare de transport sunt vizualizate de obicei printr-un graf orientat.
𝑚
Evident, o condiţie necesară şi suficientă 𝑛
pentru existenţa unei soluţii a problemei
∑ ∑
𝑎𝑖 ≥ 𝑏să𝑗 acopere totalul cererilor:
formulate este ca totalul cantităţilor disponibile
𝑖=1 𝑗 =1
Vom presupune că: 𝑎 𝑗 > 0 , 𝑖=1 , … . , 𝑚 , 𝑗=1 , … . ,𝑛

Dacă notăm cu xij cantitatea livrată de


furnizorul Fi consumatorului Cj, modelul j=1,...,n
matematic al problemei (clasice) de (1.2.3)
transport este: condițiile de negativitate:
(PT) Să se determine (x i ) ,...,m , j ,...,n care 0 1=1,....,m j=1,....,n
satisfac restricțiile: și care minimizează funcția obiectiv:

i=1,...,m (1.2.2)
(1.2.4)
Inegalităţile (1.2.2) exprimă cerinţa ca totalul livrărilor fiecărui furnizor să se încadreze în disponibil; inegalităţile
(1.2.3) arată că cererea fiecărui consumator trebuie să fie acoperită prin totalul cantităţilor primite; în fine, (1.2.4)
este expresia costului total al transportului. Vom𝑚 spune 𝑛că problema de transport (PT) este echilibrată dacă:

∑ 𝑎𝑖 =∑ 𝑏 𝑗 (1.2.5)
𝑖=1 𝑗 =1

Se observă imediat că (1.2.5) atrage după sine satisfacerea cu egalitate a restricţiilor (1.2.2) şi (1.2.5). Prin urmare, modelul
matematic al unei probleme de transport echilibrate este:

(1.2.6)

(1.2.7)

(min)f=
Un graf este un cuplu G = (V,E) format dintr-o mulţime nevidă V, ale cărei elemente se numesc vârfuri sau noduri şi
o mulţime E de elemente, zise muchii, cu proprietatea că fiecărei muchii e ∈ E îi sunt asociate două noduri x, y ∈ V,
nu neapărat distincte, numite extremităţile muchiei e. Un subgraf al grafului G = (V,E) este un graf G’ = (V’,E’) în
care V’ ⊆ V, E’ ⊆ E şi orice muchie e∈ E’ are aceleaşi extremităţi atât în G‘ cât şi în G. După cum se vede, definiţia
generală nu exclude existenţa muchiilor cu o singură extremitate (aceste muchii se numesc bucle), nici existenţa mai
multor muchii cu aceleaşi extremităţi (figura 1.3.1 a).

x u

y
a) b)

t
z v
Figura
1.3.1
Graful G se va numi simplu dacă nu are bucle şi oricare două noduri sunt extremităţi pentru cel mult o muchie.
Vom spune că G este finit dacă vârfurile şi muchiile sale sunt în număr finit.
Fie e = {x, y} o muchie a grafului G = (V,E);
extremităţile sale pot fi ordonate în două moduri: (x,
y) şi (y, x). Cele două perechi se numesc rute
orientate sau arce generate de muchia subiacentă e; Un graf orientat (parţial orientat,
spunem că arcul (x, y) are extremitatea iniţială x şi neorientat) este un graf în care s-
extremitatea finală y şi că (y, x) este arcul opus lui (x, a dat o orientare totală. Graful
y). A orienta muchia {x, y} înseamnă a alege unul din din figura 1.3.1 b) este
arcele (x, y) sau (y, x); dacă a fost ales arcul (x, y) neorientat. În unele situaţii este
vom spune că (x, y) este un arc permis şi că arcul (y, util să se pună în evidenţă arcele
x) este blocat. Dacă o asemenea alegere nu a fost permise ale unui graf (parţial)
făcută vom spune că muchia {x, y} este neorientată. orientat; realizarea grafică,
În acest caz, convenim ca ambele arce (x, y) şi (y, x), intuitivă a acestei operaţii este
generate de muchia {x, y}, să fie considerate permise. făcută în figura 1.3.2.
În fine, a da o orientare în graful G înseamnă a orienta
unele din muchiile sale; orientarea poate fi totală sau
parţială după cum toate muchiile grafului au fost
orientate sau numai o parte din ele. Este clar că în
acelaşi graf G pot fi date mai multe orientări; dacă G
are m muchii, atunci există 2m orientări totale diferite
ale acestuia!
x y x y

z t z t
Un lanţ în graful G este o succesiune de În fig
u
noduri λ = (x0, x1, ... , xp -1, xp) cu y, t, u ra 1.3.1 b
, )
proprietatea că {x0, x1}, {x1, x2}, ..., {xp -1, este u v) şi λ‘ = succesiun
n il
are lu lanţ sim (x, z, y, t e de nodu
xp } sunt muchii în G. Vom spune că x0 şi xp ngim p ,
ea 5 lu de lun z, v) sunt i λ = (x,
r
= (x, şi n u g
sunt extremităţile lanţului λ şi că λ “trece” y, t, u
, x) e este s ime 4 în lanţuri: λ
implu ti
prin nodurile intermediare x1, ... , xp -1.
st e u n
ciclu . Suc mp ce λ‘
d e lu cesiu
ngi m n ea µ
Lanţul λ se zice simplu dacă nu trece de două e 4.
Un drum în graful G este o succesiune de
ori prin acelaşi nod. Prin definiţie lungimea
noduri δ = (x0, x1, ... , xp -1, xp) cu
lanţului λ este dată de numărul muchiilor
proprietatea că (x0, x1), (x1, x2), ..., (xp -
componente. Astfel, lanţurile de lungime unu
1, xp) sunt arce permise.Nodul x0 este
se identifică cu muchiile grafului G; un lanţ
extremitatea iniţială a drumului δ iar xp
de lungime doi este constituit din două
extremitatea finală. Un circuit este un
muchii adiacente.
drum ale cărui extremităţi coincid. Este
i clar că orice drum este un lanţ, reciproca
l e căru
la nţ a . nefiind adevărată întotdeauna. În figura
s te un incid 1.3.2, δ = (z, t, x) este un drum de lungime
c lu e ă ţ i co
ci it 2 iar µ = (x, y, t, x) este un circuit de
Un extrem
lungime 3; în acelaşi graf, λ = (z, x, y) este
un lanţ care nu este un drum deoarece arcul
(z, x) este blocat.
Graful G = (V,E) se zice conex dacă oricare două
noduri ale sale sunt extremităţile unui lanţ. Dacă G
G2
nu este conex, există partiţiile V =
Graful G G3
V1∪V2∪....∪Vs şi E = E1∪E2∪....∪Es astfel
încât G1 = (V1,E1) , G2 = (V2,E2) , ..., Gs =
(Vs,Es) sunt grafuri conexe. Subgrafurile G1, G1
G2,...., Gs se numesc componentele conexe ale
grafului G. Graful din figura 1.3.2 este conex (ca şi
cele din figurile anterioare); graful din figura 1.3.3
are trei componente conexe.

Figura 1.3.3

Graful G = (V,E) se numeşte bipartit dacă Este clar că graful asociat unei probleme
mulţimea nodurilor sale poate fi clasice de transport este bipartit, nodurile
descompusă în două submulţimi nevide şi
disjuncte S şi T, astfel încât orice muchie
care reprezintă furnizorii formând
din G are o extremitate în S şi cealaltă în mulţimea S iar nodurile corespunzătoare
T. consumatorilor alcătuind mulţimea T.
Calitatea unui graf de a fi bipartit nu
Un graf este bipartit dacă şi numai
depinde de modul particular de
dacă nu conţine cicluri de lungime
reprezentare aşa cum arată exemplul
impară (altfel spus, orice ciclu al
din figura 1.3.4. O caracterizare
său are un număr par de muchii).
completă a grafurilor bipartite este
oferită de următoarea teoremă:

Figura 1.3.4
S T

a b a b

c d d c
Figura 1.3.5

Un arbore este un graf conex


şi fără cicluri (figura 1.3.5)
Orice arbore este complet caracterizat de oricare din
următoarele proprietăţi:
1) Orice arbore cu p noduri are p - 1 muchii.
2) Între oricare două noduri ale unui arbore există
un unic lanţ de muchii.
3) Dacă între două noduri ale unui arbore adăugăm
o muchie se creează un unic ciclu (figura 1.3.6).
4) Dacă dintr-un arbore scoatem o muchie, graful
se disconectează (figura 1.3.7).
Figura 1.3.6

*
* adaugă →

**
**
**

Figura 1.3.7
scoate →
Un arbore H într-un graf G este un subgraf care - de sine stătător - este un arbore. H se zice maximal dacă conţine
toate nodurile grafului G (figura 1.3.8).

G Arbore nemaximal în G Arbore maximal în G

Figura 1.3.8
O caracterizare în termeni de grafuri a soluţiilor unei PTE
i a t u nei
l G asoc rate Are
g r a fu c h i l i b
n s i d e răm n s p o rt e şi deci Între loc u
a
Să co e de tr + n vîrfuri m+
rm
toate soluţiil ătoare
b le m re m a v e a e a t
pr o esta a Gv a
ie de arbo presup de baz e
(PT E ) . A c
max i m a l î n
s o l u ţ rii m use n ă al oremă:
e ăm o ; în exis e
oric e a rb o r
c o n s i d e r
l e m e i tă o aximal edegene PTE -
i i. Să prob ea core i r
n-1 m u c h ( ) a
po t e z a c ă spon ai gra ate - şi
= ij t i denţ fu
bază
x x
2 am fă
c u ă b i lu i G
1 . j ec t i
e c ţ i u nea rată. vă.
s g e n e
de
este ne

Se poate demonstra că cele m + n - 1 muchii {Fi, Cj}, corespunzătoare componentelor nenule din x,
formează un arbore maximal în G. Şi reciproca se dovedeşte a fi adevărată. Fie H un arbore maximal în
G; în sistemul celor m + n egalităţi (1.2. ) , (1.2. ) să punem xij = 0 pentru toate muchiile {Fi, Cj} care
nu sunt în H. Rămâne un sistem de m + n ecuaţii cu m + n - 1 necunoscute. Eliminând una din ecuaţii,
sistemul rămas are o unică soluţie care este o soluţie de bază a PTE.
Exemplul 1.4.1 Să considerăm problema de transport echilibrată definită de următoarele date:

C1 C2 C3 C4 DISPONIBIL

F1 3 3 1 4 15
F2 3 4 3 6 17
F3 4 3 6 2 18
NECESAR 10 12 9 19 50

Tabelul 1.4.1
Modelul matematic:

+++=15
=17
=18
=10
=12
=9
=19

≥0

(min)f= 3+++++
Propunem cititorului să arate că următoarea
C1
soluţie este bazică:

10 5
F1
7 9 1
18
C2

F2

es te
i
m a l, so luţi C3
m axi cestei ine
o r ele ător a ile pl
Arb spunz muchi F3
core at din
form
C4
Reciproc, să Anulăm în sistemul restricţiilor
considerăm în G toate variabilele xij cu
următorul arbore proprietatea că muchiile
maximal: corespunzătoare {Fi,Cj} nu apar
C1 în arbore. Rezultă sistemul şi
soluţia:
F1

+=15
C2
=17 =10 10 5
=18 =5
=0 =12 12
F2 =12 =5 4 14
=9 =4
C3 =19 =14

F3

C4
Rezolvarea problemelor de transport
Teoria garfurilor, care este un capitol distinct al cercetării operaționale, s-a dezvoltat
recent având aplicații multiple în activitatea de planificare și analiză economică,
industrială etc. Cu ajutorul acesteia s-au realizat modele matematice care permit o
reprezentare completă a fenomenelor analizate care pot fi de următoarea natură:
 organizarea rețelelor de transport în care nodurile sunt localități sau stații;
 posturi de radio emisie-recepție;
 circulația informațiilor într-un sistem;
 fluxul operațiilor într-o activitate.
Aplicaţie: Trei unităţi militare şi sunt alimentate cu
ă r a n gu l m a tricei
ac carburant de la depozitele teritoriale şi . Costurile unitare
Definiţia 1. D ( 3) es t e m + n
) + de transport, disponibilul ( şi necesarul 1 2 U ,U U3 1 2
sistemului (2 m d e b a ză are
ro g ra D ,D D3 D) (N) sunt date în tabelul de mai jos:
−1, iar un p 1 c o mponente
n −
exact m + U1 U2 U3 (D)
Uj

l n u le ) , atunci Di
stu
pozitive (re e numeşte D1 2 5 3 100
s
programul D2 4 2 1 120
nedegenerat.
D3 7 8 3 70
Pentru început vom prezenta (N) 80 90 100 290
două metode specifice
pentru obţinerea unui
program de bază; în cazul
unui exemplu concret: 1* – Observ
ăm că prob
Metoda colţului N-V (nord- lema es
echilib te
vest) 2* – Metoda rată.
elementului minim pe linie
sau coloană.
Cu coloanele C2 și C3 rămase
Metoda colțului N-V (nord-vest) procedăm la fel. În colțul N-V (căsuța
se trece (1,2) din tabel) înscriem
min{D1,N1}=min{100,80}=80. min{D1,N2}={20,110}=20. Deoarece
Deoarece necesarul N1 s-a disponibilul D1 s-a epuizat, se trece 0
epuizat, se trece 0 (sau se lasă în restul căsuțelor de pe prima linie, iar
liber sau se hașurează) la necesarul N2 a devenit 110-20=90.
celelalte căsuțe de pe prima
coloană, iar D1 devine 100-
80=20.

Obţinem tabelul:
Obţinem tabelul:
Uj
U1 U2 U3 (D)
Di
Uj
U1 U2 U3 (D) Di

D1 80 20 D1 80 20 /////

D2 //// 120 D2 ///// 120

D3 //// 70 D3 ///// 70

(N) 110 100 290 (N) 90 100 290


Cu căsuţele rămase libere se procedează ca mai sus şi se obţine, în final, programul de bază:

Di
Uj
U1 U2 U3 (D)
D1 80 20 0 100
D2 0 90 30 120
D3 0 0 70 70
(N) 80 110 100 290

care este nedegenerat (are m + n −1componente; în cazul de faţă m = 3,n = 3).


CONCLUZII Creșterea eficien
tei transportulu
m a r f u rilor, în livrarea marf
urilor se poate
i

î n d i s tributia ercarilor realiza prin opti


mizarea
e s e ntiala n s u l î nc dinamica a rute
e lor de
te s lor de transport
a c tivit a d ar i , în ta n t e a utilizarii vehic ,
c a o r is
rtul, de ab zarea d
ulelor de
Transpo o gama larga . M i n i m i
ti m p u lui de livrare, monitori
zarea
u n o a s t e c e s t u i proces i m u l r â nd, a
c a r e se vehiculelor si a
loturilor de
c a a u l t
o p t i m izare l o r s i , nu î n m e n t a le cu li za o
marfuri, reduce
rea intervalului
de o st u r i fu n d a a r e a de livrare, utiliz
rt, a c lemele de ea ce
area
transpo t p ro b
n c e r c a r i le
i . Î n c e tehnologiilor in
t sun final formationale si
n s p o r i e n i i în î l i e n ti i a t orita comunicatiei m a
tra i sti c l a c n , d obile, a
n f r u n t a log a p r o d uselor s p a t i u l urba
s p a tiu, sistemelor inteli
gente de
co a n e ace st
tr i b u t i e optim marfurilor î e in d u c e luate
transport.
dis livr a r e a a r e l t r eb u i
i v e s te t r ic t i i pe c m e n t e care
r f u rilor,
pr re s e le m a
m e r o a selor u l u i m are de t r a n s p ortul p l exe,
nu a r a c o m
c u m s i a num i n f lu enteaz
n t e x tr e m de
rate.
pre c a r e u i a s u e g e n e
c a l cul si i z a r e a acest
m i s i m odel
în optim a lgori t
ii l e d e re d e
solut
i n u m a rul ma
s
dovada
BIBLIOGRAFIE
1. Gibbons, A., Algorithmic Graph Theory, Cambridge University, 1985
2. Gross, L., Yellen, J., Graph Theory and its Applications, CRC Press LLC,1998
3. Rădescu, Nicolae, Rădescu, Eugenia, Probleme de teoria grafurilor, Craiova, Editura Scrisul Românesc, 1982
4. Voss, Hans-Jurgen, Cycles and Bridges in Graphs. Mathematics and Applications, East European Series, vol. 49.
Kluwer, 1991.
5. Ackoff, R.L., Sasieni, M.W. – Bazele cercetarii operationale, Ed. Tehnica, Bucuresti, (1975)
6. Beasley, J.E. – OR-Notes – Network flow, (2002) [3] Faramroze, E. – Fast Shortest Path Algorithms for Large Road
Networks, Auckland, (2002)
7. Maracine, V. – Probleme de optimizare în retele de transport si distributie, Bucuresti, (2002)
8. Vrânceanu Gh., Mititelu St. – Probleme de cercetare operationala, Bucuresti, Editura Tehnica, (1978)
9. Zidaroiu, C. – Programare liniara, Bucuresti, Editura Tehnica, (1983)

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