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-
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}
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
*
* 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).
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 /////
D3 //// 70 D3 ///// 70
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