Sunteți pe pagina 1din 55

Teorema fundamentala a dualitatii.

Exemple
Interpretarea economica a dualitatii

An universitar 2015 - 2016

METODE DE OPTIMIZARE A PROCESELOR


DECIZIONALE
Conf. Dr. Cristinca FULGA
Academia de Studii Economice
Bucuresti, Romania

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare optima intr-un graf. Algoritmul


Bellman-Kalaba
Fie G = (X; U) un graf orientat cu X = fx1 ; x2 ; :::; xn g si U =
multimea arcelor.
De nition
G se numeste graf valuat daca exista o functie v : U ! R,
unde U u 7! v(u) = valoarea arcului u.
De nition
Fie d drum n graful valuat G. Suma valorilor tuturor arcelor sale se
numeste valoarea drumului d.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare optima intr-un graf. Algoritmul


Bellman-Kalaba
Fie G = (X; U) un graf orientat cu X = fx1 ; x2 ; :::; xn g si U =
multimea arcelor.
De nition
G se numeste graf valuat daca exista o functie v : U ! R,
unde U u 7! v(u) = valoarea arcului u.
De nition
Fie d drum n graful valuat G. Suma valorilor tuturor arcelor sale se
numeste valoarea drumului d.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare optima intr-un graf. Algoritmul


Bellman-Kalaba
Fie G = (X; U) un graf orientat cu X = fx1 ; x2 ; :::; xn g si U =
multimea arcelor.
De nition
G se numeste graf valuat daca exista o functie v : U ! R,
unde U u 7! v(u) = valoarea arcului u.
De nition
Fie d drum n graful valuat G. Suma valorilor tuturor arcelor sale se
numeste valoarea drumului d.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare optima intr-un graf

Problema Determinarea drumului de valoarea optima (minima sau


maxima) de la un nod oarecare la un nod xat
Ipoteze:
se presupune graful fara bucle;
pentru determinarea drumului de valoare maxima, n plus trebuie
ca G sa e considerat fara circuite (altfel, valoare maxima
= +1).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare optima intr-un graf

Problema Determinarea drumului de valoarea optima (minima sau


maxima) de la un nod oarecare la un nod xat
Ipoteze:
se presupune graful fara bucle;
pentru determinarea drumului de valoare maxima, n plus trebuie
ca G sa e considerat fara circuite (altfel, valoare maxima
= +1).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare optima intr-un graf


Pentru determinarea drumului de valoarea minima

V = (vij )1

i;j

8
< 0,i=j
v(xi ; xj ) , i 6= j si 9(xi ; xj ) 2 U
n ; vij =
:
1 , i 6= j si @ (xi ; xj ):

Pentru determinarea drumului de valoarea maxima

V = (vij )1

i;j

8
< 0,i=j
v(xi ; xj ) , i 6= j si 9(xi ; xj ) 2 U
n ; vij =
:
1 , i 6= j si @ (xi ; xj ):

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare minima intr-un graf


Notatii
(k)

min = valoarea minima a drumurilor dintre xi si xn de lungime


min = valoarea minima a drumurilor dintre xi si xn indiferent de
lungime.
Proprietatea 1 Fie G graf orientat si valuat.
Atunci pentru 8i 6= n, k 1
(k+1)

min

min

f j j (xi ;xj )2U g

(k)

(vij + mjn ):

Proprietatea 2 Fie G orientat, valuat.


(k)
(k+1)
(k)
Daca 9 k 2 N a.. min = min
atunci min = min :

k;

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare minima intr-un graf


Notatii
(k)

min = valoarea minima a drumurilor dintre xi si xn de lungime


min = valoarea minima a drumurilor dintre xi si xn indiferent de
lungime.
Proprietatea 1 Fie G graf orientat si valuat.
Atunci pentru 8i 6= n, k 1
(k+1)

min

min

f j j (xi ;xj )2U g

(k)

(vij + mjn ):

Proprietatea 2 Fie G orientat, valuat.


(k)
(k+1)
(k)
Daca 9 k 2 N a.. min = min
atunci min = min :

k;

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare minima intr-un graf


Notatii
(k)

min = valoarea minima a drumurilor dintre xi si xn de lungime


min = valoarea minima a drumurilor dintre xi si xn indiferent de
lungime.
Proprietatea 1 Fie G graf orientat si valuat.
Atunci pentru 8i 6= n, k 1
(k+1)

min

min

f j j (xi ;xj )2U g

(k)

(vij + mjn ):

Proprietatea 2 Fie G orientat, valuat.


(k)
(k+1)
(k)
Daca 9 k 2 N a.. min = min
atunci min = min :

k;

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Drum de valoare minima intr-un graf


Notatii
(k)

min = valoarea minima a drumurilor dintre xi si xn de lungime


min = valoarea minima a drumurilor dintre xi si xn indiferent de
lungime.
Proprietatea 1 Fie G graf orientat si valuat.
Atunci pentru 8i 6= n, k 1
(k+1)

min

min

f j j (xi ;xj )2U g

(k)

(vij + mjn ):

Proprietatea 2 Fie G orientat, valuat.


(k)
(k+1)
(k)
Daca 9 k 2 N a.. min = min
atunci min = min :

k;

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba

Etapa I. Se construieste V = (vij )1

i;j n .

Etapa II Se ataseaza linii noi matricei V notate succesiv


(1)
(2)
(3)
min ; min ; min ; ::: care dau valorile minime ale drumurilor
formate din cel mult 1; 2; 3; ::: arce de la orice vrf xi la xn astfel:
1
2

(1)

linia min = transpusa coloanei lui xn din V.


(k)
(k+1)
presupun completata linia min ; determin elementele liniei min
aplicnd Proprietatea 1.
atasez linii noi pna cnd se obtin 2 linii identice (aplic
Proprietatea 2); atunci cnd s-au obtinut 2 linii identice, pe
ultima linie avem valorile minime ale drumurilor cu vrfurile pe
coloane la xn (indiferent de numarul de arce).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba

Etapa I. Se construieste V = (vij )1

i;j n .

Etapa II Se ataseaza linii noi matricei V notate succesiv


(1)
(2)
(3)
min ; min ; min ; ::: care dau valorile minime ale drumurilor
formate din cel mult 1; 2; 3; ::: arce de la orice vrf xi la xn astfel:
1
2

(1)

linia min = transpusa coloanei lui xn din V.


(k)
(k+1)
presupun completata linia min ; determin elementele liniei min
aplicnd Proprietatea 1.
atasez linii noi pna cnd se obtin 2 linii identice (aplic
Proprietatea 2); atunci cnd s-au obtinut 2 linii identice, pe
ultima linie avem valorile minime ale drumurilor cu vrfurile pe
coloane la xn (indiferent de numarul de arce).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba

Etapa I. Se construieste V = (vij )1

i;j n .

Etapa II Se ataseaza linii noi matricei V notate succesiv


(1)
(2)
(3)
min ; min ; min ; ::: care dau valorile minime ale drumurilor
formate din cel mult 1; 2; 3; ::: arce de la orice vrf xi la xn astfel:
1
2

(1)

linia min = transpusa coloanei lui xn din V.


(k)
(k+1)
presupun completata linia min ; determin elementele liniei min
aplicnd Proprietatea 1.
atasez linii noi pna cnd se obtin 2 linii identice (aplic
Proprietatea 2); atunci cnd s-au obtinut 2 linii identice, pe
ultima linie avem valorile minime ale drumurilor cu vrfurile pe
coloane la xn (indiferent de numarul de arce).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba

Etapa I. Se construieste V = (vij )1

i;j n .

Etapa II Se ataseaza linii noi matricei V notate succesiv


(1)
(2)
(3)
min ; min ; min ; ::: care dau valorile minime ale drumurilor
formate din cel mult 1; 2; 3; ::: arce de la orice vrf xi la xn astfel:
1
2

(1)

linia min = transpusa coloanei lui xn din V.


(k)
(k+1)
presupun completata linia min ; determin elementele liniei min
aplicnd Proprietatea 1.
atasez linii noi pna cnd se obtin 2 linii identice (aplic
Proprietatea 2); atunci cnd s-au obtinut 2 linii identice, pe
ultima linie avem valorile minime ale drumurilor cu vrfurile pe
coloane la xn (indiferent de numarul de arce).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba

Etapa I. Se construieste V = (vij )1

i;j n .

Etapa II Se ataseaza linii noi matricei V notate succesiv


(1)
(2)
(3)
min ; min ; min ; ::: care dau valorile minime ale drumurilor
formate din cel mult 1; 2; 3; ::: arce de la orice vrf xi la xn astfel:
1
2

(1)

linia min = transpusa coloanei lui xn din V.


(k)
(k+1)
presupun completata linia min ; determin elementele liniei min
aplicnd Proprietatea 1.
atasez linii noi pna cnd se obtin 2 linii identice (aplic
Proprietatea 2); atunci cnd s-au obtinut 2 linii identice, pe
ultima linie avem valorile minime ale drumurilor cu vrfurile pe
coloane la xn (indiferent de numarul de arce).

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Etapa III Valoarea min a drumurilor de la xi la xn o citim pe ultima linie:
este valoarea care apare pe coloana vrfului xi :
Etapa IV Determinarea succesiunii vrfurilor drumului:
1

(k+1)

Adun elementele liniei xi cu cele ale ultimei linii min


si retin
cea mai mica valoare; presupun ca aceasta se a a pe coloana lui xj
(k+1)
(k+1)
(i.e. vij + mjn
= min ) ) primul arc al drumului este (xi ; xj ).
(k+1)

Adun elementele liniei xj cu cele ale liniei min ; presupun ca


cea mai mica suma se a a pe coloana lui xk . Atunci urmatorul arc
al drumului este (xj ; xk ).
Repet pna la completarea drumului.

Obs. 5. Cnd n Etapa IV suma minima se obtine n dreptul mai


multor coloane, atunci exista mai multe drumuri de valori minime si
se urmareste pna la capat ecare drum n parte.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Etapa III Valoarea min a drumurilor de la xi la xn o citim pe ultima linie:
este valoarea care apare pe coloana vrfului xi :
Etapa IV Determinarea succesiunii vrfurilor drumului:
1

(k+1)

Adun elementele liniei xi cu cele ale ultimei linii min


si retin
cea mai mica valoare; presupun ca aceasta se a a pe coloana lui xj
(k+1)
(k+1)
(i.e. vij + mjn
= min ) ) primul arc al drumului este (xi ; xj ).
(k+1)

Adun elementele liniei xj cu cele ale liniei min ; presupun ca


cea mai mica suma se a a pe coloana lui xk . Atunci urmatorul arc
al drumului este (xj ; xk ).
Repet pna la completarea drumului.

Obs. 5. Cnd n Etapa IV suma minima se obtine n dreptul mai


multor coloane, atunci exista mai multe drumuri de valori minime si
se urmareste pna la capat ecare drum n parte.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Etapa III Valoarea min a drumurilor de la xi la xn o citim pe ultima linie:
este valoarea care apare pe coloana vrfului xi :
Etapa IV Determinarea succesiunii vrfurilor drumului:
1

(k+1)

Adun elementele liniei xi cu cele ale ultimei linii min


si retin
cea mai mica valoare; presupun ca aceasta se a a pe coloana lui xj
(k+1)
(k+1)
(i.e. vij + mjn
= min ) ) primul arc al drumului este (xi ; xj ).
(k+1)

Adun elementele liniei xj cu cele ale liniei min ; presupun ca


cea mai mica suma se a a pe coloana lui xk . Atunci urmatorul arc
al drumului este (xj ; xk ).
Repet pna la completarea drumului.

Obs. 5. Cnd n Etapa IV suma minima se obtine n dreptul mai


multor coloane, atunci exista mai multe drumuri de valori minime si
se urmareste pna la capat ecare drum n parte.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Etapa III Valoarea min a drumurilor de la xi la xn o citim pe ultima linie:
este valoarea care apare pe coloana vrfului xi :
Etapa IV Determinarea succesiunii vrfurilor drumului:
1

(k+1)

Adun elementele liniei xi cu cele ale ultimei linii min


si retin
cea mai mica valoare; presupun ca aceasta se a a pe coloana lui xj
(k+1)
(k+1)
(i.e. vij + mjn
= min ) ) primul arc al drumului este (xi ; xj ).
(k+1)

Adun elementele liniei xj cu cele ale liniei min ; presupun ca


cea mai mica suma se a a pe coloana lui xk . Atunci urmatorul arc
al drumului este (xj ; xk ).
Repet pna la completarea drumului.

Obs. 5. Cnd n Etapa IV suma minima se obtine n dreptul mai


multor coloane, atunci exista mai multe drumuri de valori minime si
se urmareste pna la capat ecare drum n parte.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Etapa III Valoarea min a drumurilor de la xi la xn o citim pe ultima linie:
este valoarea care apare pe coloana vrfului xi :
Etapa IV Determinarea succesiunii vrfurilor drumului:
1

(k+1)

Adun elementele liniei xi cu cele ale ultimei linii min


si retin
cea mai mica valoare; presupun ca aceasta se a a pe coloana lui xj
(k+1)
(k+1)
(i.e. vij + mjn
= min ) ) primul arc al drumului este (xi ; xj ).
(k+1)

Adun elementele liniei xj cu cele ale liniei min ; presupun ca


cea mai mica suma se a a pe coloana lui xk . Atunci urmatorul arc
al drumului este (xj ; xk ).
Repet pna la completarea drumului.

Obs. 5. Cnd n Etapa IV suma minima se obtine n dreptul mai


multor coloane, atunci exista mai multe drumuri de valori minime si
se urmareste pna la capat ecare drum n parte.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Etapa III Valoarea min a drumurilor de la xi la xn o citim pe ultima linie:
este valoarea care apare pe coloana vrfului xi :
Etapa IV Determinarea succesiunii vrfurilor drumului:
1

(k+1)

Adun elementele liniei xi cu cele ale ultimei linii min


si retin
cea mai mica valoare; presupun ca aceasta se a a pe coloana lui xj
(k+1)
(k+1)
(i.e. vij + mjn
= min ) ) primul arc al drumului este (xi ; xj ).
(k+1)

Adun elementele liniei xj cu cele ale liniei min ; presupun ca


cea mai mica suma se a a pe coloana lui xk . Atunci urmatorul arc
al drumului este (xj ; xk ).
Repet pna la completarea drumului.

Obs. 5. Cnd n Etapa IV suma minima se obtine n dreptul mai


multor coloane, atunci exista mai multe drumuri de valori minime si
se urmareste pna la capat ecare drum n parte.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


Sa se determine drumul de valoare minima ntre vrfurile x1 si x7 ale
grafului din gura:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


V
x1
x2
x3
x4
x5
x6
x7

x1
0
1
1
5
1
1
1

x2
4
0
1
1
2
1
1

x3
3
6
0
1
1
1
1

x4
1
5
1
0
2
1
1

x5
5
1
4
1
0
1
4

x6
1
1
1
1
3
0
1

x7
1
1
1
1
1
3
0

(1)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 1 arc (se obtine prin
transpunerea coloanei destinatie x7 din matricea V).
(1)

mi7 1

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


V
x1
x2
x3
x4
x5
x6
x7

x1
0
1
1
5
1
1
1

x2
4
0
1
1
2
1
1

x3
3
6
0
1
1
1
1

x4
1
5
1
0
2
1
1

x5
5
1
4
1
0
1
4

x6
1
1
1
1
3
0
1

x7
1
1
1
1
1
3
0

(1)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 1 arc (se obtine prin
transpunerea coloanei destinatie x7 din matricea V).
(1)

mi7 1

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


V
x1
x2
x3
x4
x5
x6
x7

x1
0
1
1
5
1
1
1

x2
4
0
1
1
2
1
1

x3
3
6
0
1
1
1
1

x4
1
5
1
0
2
1
1

x5
5
1
4
1
0
1
4

x6
1
1
1
1
3
0
1

x7
1
1
1
1
1
3
0

(1)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 1 arc (se obtine prin
transpunerea coloanei destinatie x7 din matricea V).
(1)

mi7 1

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


(2)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 2 arce. Se obtine prin
(2)
(1)
aplicarea Proprietatii 2: mi7 =
min
(vij + mj7 ).
f j j (xi ;xj )2U g

(2)

mi7 1
(3)

Analog, mi7 =

(2)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 3 arce:


(3)

mi7 8
(4)

Analog, mi7 =

(3)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 4 arce:


(4)

mi7 8

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


(2)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 2 arce. Se obtine prin
(2)
(1)
aplicarea Proprietatii 2: mi7 =
min
(vij + mj7 ).
f j j (xi ;xj )2U g

(2)

mi7 1
(3)

Analog, mi7 =

(2)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 3 arce:


(3)

mi7 8
(4)

Analog, mi7 =

(3)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 4 arce:


(4)

mi7 8

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


(2)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 2 arce. Se obtine prin
(2)
(1)
aplicarea Proprietatii 2: mi7 =
min
(vij + mj7 ).
f j j (xi ;xj )2U g

(2)

mi7 1
(3)

Analog, mi7 =

(2)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 3 arce:


(3)

mi7 8
(4)

Analog, mi7 =

(3)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 4 arce:


(4)

mi7 8

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


(2)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 2 arce. Se obtine prin
(2)
(1)
aplicarea Proprietatii 2: mi7 =
min
(vij + mj7 ).
f j j (xi ;xj )2U g

(2)

mi7 1
(3)

Analog, mi7 =

(2)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 3 arce:


(3)

mi7 8
(4)

Analog, mi7 =

(3)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 4 arce:


(4)

mi7 8

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


(2)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 2 arce. Se obtine prin
(2)
(1)
aplicarea Proprietatii 2: mi7 =
min
(vij + mj7 ).
f j j (xi ;xj )2U g

(2)

mi7 1
(3)

Analog, mi7 =

(2)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 3 arce:


(3)

mi7 8
(4)

Analog, mi7 =

(3)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 4 arce:


(4)

mi7 8

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


(2)

Pentru ecare i 2 f1; :::; 6g ; construiesc mi7 = valoarea minima a


drumurilor dintre xi si x7 formate din cel mult 2 arce. Se obtine prin
(2)
(1)
aplicarea Proprietatii 2: mi7 =
min
(vij + mj7 ).
f j j (xi ;xj )2U g

(2)

mi7 1
(3)

Analog, mi7 =

(2)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 3 arce:


(3)

mi7 8
(4)

Analog, mi7 =

(3)

min

f j j (xi ;xj )2U g

(vij + mj7 ) = valoarea minima a

drumurilor dintre xi si x7 formate din cel mult 4 arce:


(4)

mi7 8

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(3)

(4)

conf : Propr: 2

mi7 = mi7 ; 8i = 1; 6
)
(adica, algoritmul s-a ncheiat):

(3)

mi7 = mi7 ; 8i = 1; 6

Determin succesiunea vrfurilor prin care trece (trec) drumul


(drumurile) de valoare minima de la x1 si x7 :
d1 : (x1 ; x2 ; x6 ; x7 )
d2 : (x1 ; x5 ; x4 ; x7 ) :
Calculez / veri c valoarea drumului (drumurilor) de valoare
minima:
v(d1 ) = v(d2 ) = 8:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(3)

(4)

conf : Propr: 2

mi7 = mi7 ; 8i = 1; 6
)
(adica, algoritmul s-a ncheiat):

(3)

mi7 = mi7 ; 8i = 1; 6

Determin succesiunea vrfurilor prin care trece (trec) drumul


(drumurile) de valoare minima de la x1 si x7 :
d1 : (x1 ; x2 ; x6 ; x7 )
d2 : (x1 ; x5 ; x4 ; x7 ) :
Calculez / veri c valoarea drumului (drumurilor) de valoare
minima:
v(d1 ) = v(d2 ) = 8:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(3)

(4)

conf : Propr: 2

mi7 = mi7 ; 8i = 1; 6
)
(adica, algoritmul s-a ncheiat):

(3)

mi7 = mi7 ; 8i = 1; 6

Determin succesiunea vrfurilor prin care trece (trec) drumul


(drumurile) de valoare minima de la x1 si x7 :
d1 : (x1 ; x2 ; x6 ; x7 )
d2 : (x1 ; x5 ; x4 ; x7 ) :
Calculez / veri c valoarea drumului (drumurilor) de valoare
minima:
v(d1 ) = v(d2 ) = 8:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 2. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(3)

(4)

conf : Propr: 2

mi7 = mi7 ; 8i = 1; 6
)
(adica, algoritmul s-a ncheiat):

(3)

mi7 = mi7 ; 8i = 1; 6

Determin succesiunea vrfurilor prin care trece (trec) drumul


(drumurile) de valoare minima de la x1 si x7 :
d1 : (x1 ; x2 ; x6 ; x7 )
d2 : (x1 ; x5 ; x4 ; x7 ) :
Calculez / veri c valoarea drumului (drumurilor) de valoare
minima:
v(d1 ) = v(d2 ) = 8:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 3. Algoritmul Bellman-Kalaba

O retea telefonica ce se construieste ntre localitatile x0 si x7 trebuie sa


treaca prin unele din localitatile x1 ; :::; x6 ; localitati n care se
instaleaza o retea telefonica interna cu posibilitati de a se extinde si
pentru alte localitati. Costurile instalatiilor ntre localitati inclusiv
instalarea punctelor de racordare sunt trecute n graful G pe arcele
(xi ; xj ) corespunzatoare.
Se cere sa se determine schema instalatiei telefonice care trece
printr-un numar ct mai mare de localitati, iar costul instalatiei sa e
minim.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 3. Algoritmul Bellman-Kalaba

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Algoritmul Bellman-Kalaba este aplicabil si pentru determinarea
drumului de valoare maxima ntre doua vrfuri oarecare ale unui graf
orientat si valuat daca sunt ndeplinite conditiile:
1

Graful nu are circuite 8


< 0,i=j
v(xi ; xj ) , i 6= j si 9(xi ; xj ) 2 U
V = (vij )1 i;j n ; vij =
:
1 , i 6= j si @ (xi ; xj ):

n Etapele II si III si n Observatia 5 determinarea sumei minime


se nlocuieste cu determinarea sumei maxime, pentru ca
(k)
Proprietatile 1 si 2 sunt adevarate si pentru cazul cnd min
reprezinta valoare maxima a drumului de la xi la xn format din
cel mult k arce.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Algoritmul Bellman-Kalaba este aplicabil si pentru determinarea
drumului de valoare maxima ntre doua vrfuri oarecare ale unui graf
orientat si valuat daca sunt ndeplinite conditiile:
1

Graful nu are circuite 8


< 0,i=j
v(xi ; xj ) , i 6= j si 9(xi ; xj ) 2 U
V = (vij )1 i;j n ; vij =
:
1 , i 6= j si @ (xi ; xj ):

n Etapele II si III si n Observatia 5 determinarea sumei minime


se nlocuieste cu determinarea sumei maxime, pentru ca
(k)
Proprietatile 1 si 2 sunt adevarate si pentru cazul cnd min
reprezinta valoare maxima a drumului de la xi la xn format din
cel mult k arce.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Algoritmul Bellman-Kalaba este aplicabil si pentru determinarea
drumului de valoare maxima ntre doua vrfuri oarecare ale unui graf
orientat si valuat daca sunt ndeplinite conditiile:
1

Graful nu are circuite 8


< 0,i=j
v(xi ; xj ) , i 6= j si 9(xi ; xj ) 2 U
V = (vij )1 i;j n ; vij =
:
1 , i 6= j si @ (xi ; xj ):

n Etapele II si III si n Observatia 5 determinarea sumei minime


se nlocuieste cu determinarea sumei maxime, pentru ca
(k)
Proprietatile 1 si 2 sunt adevarate si pentru cazul cnd min
reprezinta valoare maxima a drumului de la xi la xn format din
cel mult k arce.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Algoritmul Bellman-Kalaba
Algoritmul Bellman-Kalaba este aplicabil si pentru determinarea
drumului de valoare maxima ntre doua vrfuri oarecare ale unui graf
orientat si valuat daca sunt ndeplinite conditiile:
1

Graful nu are circuite 8


< 0,i=j
v(xi ; xj ) , i 6= j si 9(xi ; xj ) 2 U
V = (vij )1 i;j n ; vij =
:
1 , i 6= j si @ (xi ; xj ):

n Etapele II si III si n Observatia 5 determinarea sumei minime


se nlocuieste cu determinarea sumei maxime, pentru ca
(k)
Proprietatile 1 si 2 sunt adevarate si pentru cazul cnd min
reprezinta valoare maxima a drumului de la xi la xn format din
cel mult k arce.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

n prelucrarea unei piese se pot efectua mai multe operatii ce pot


conduce la un numar de opt stari notate cu x1 ; :::; x8 : Posibilitatea de a
efectua o operatie de trecere de la starea i la starea j este indicata prin
existenta arcului (xi ; xj ): Fiecare operatie efectuata adauga piesei un
coe cient de durabilitate indicat pe ecare arc al grafului.
Se cere sa se a e ce operatii si n ce ordine trebuie sa se efectueze
asupra piesei astfel nct sa se ajunga de la starea initiala x1 la starea
nala x8 ; iar durabilitatea piesei calculata ca suma coe cientilor de
durabilitate sa e maxima.

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

V
x1
x2
x3
x4
x5
x6
x7
x8
(1)

mi8

x1
x2
0
2
1 0
1
1
1
1
1
1
1
1
1
1
1
1
1

x3
3
4
0
1
1
1
1
1

x4
1
2
1
0
1
1
1
1

x5
4
1
2
6
0
1
1
1

1 7

x6
1
1
1
5
1
0
1
1
3

x7
1
1
2
1
4
1
0
1
2

x8
1
1
1
1
7
3
2
0
0

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

V
x1
x2
x3
x4
x5
x6
x7
x8
(1)

mi8

x1
x2
0
2
1 0
1
1
1
1
1
1
1
1
1
1
1
1
1

x3
3
4
0
1
1
1
1
1

x4
1
2
1
0
1
1
1
1

x5
4
1
2
6
0
1
1
1

1 7

x6
1
1
1
5
1
0
1
1
3

x7
1
1
2
1
4
1
0
1
2

x8
1
1
1
1
7
3
2
0
0

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

mi8

(2)

11

(3)
mi8
(4)
mi8
(5)
mi8
(6)
mi8

12

15

17

1 9

13

14

13

18

14

13

20

18

14

13

20

18

14

13

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

mi8

(2)

11

(3)
mi8
(4)
mi8
(5)
mi8
(6)
mi8

12

15

17

1 9

13

14

13

18

14

13

20

18

14

13

20

18

14

13

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

mi8

(2)

11

(3)
mi8
(4)
mi8
(5)
mi8
(6)
mi8

12

15

17

1 9

13

14

13

18

14

13

20

18

14

13

20

18

14

13

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

mi8

(2)

11

(3)
mi8
(4)
mi8
(5)
mi8
(6)
mi8

12

15

17

1 9

13

14

13

18

14

13

20

18

14

13

20

18

14

13

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba

mi8

(2)

11

(3)
mi8
(4)
mi8
(5)
mi8
(6)
mi8

12

15

17

1 9

13

14

13

18

14

13

20

18

14

13

20

18

14

13

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(5)

(6)

conf : Propr: 2

mi8 = mi8 ; 8i = 1; 7
)
(adica, algoritmul s-a ncheiat):

(5)

mi8 = mi8 ; 8i = 1; 7

Determin succesiunea vrfurilor prin care trece drumul de


valoare maxima:
d : (x1 ; x2 ; x3 ; x4 ; x5 ; x8 ) :
Calculez / veri c valoarea drumului de valoare maxima:
v (d) = 20:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(5)

(6)

conf : Propr: 2

mi8 = mi8 ; 8i = 1; 7
)
(adica, algoritmul s-a ncheiat):

(5)

mi8 = mi8 ; 8i = 1; 7

Determin succesiunea vrfurilor prin care trece drumul de


valoare maxima:
d : (x1 ; x2 ; x3 ; x4 ; x5 ; x8 ) :
Calculez / veri c valoarea drumului de valoare maxima:
v (d) = 20:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(5)

(6)

conf : Propr: 2

mi8 = mi8 ; 8i = 1; 7
)
(adica, algoritmul s-a ncheiat):

(5)

mi8 = mi8 ; 8i = 1; 7

Determin succesiunea vrfurilor prin care trece drumul de


valoare maxima:
d : (x1 ; x2 ; x3 ; x4 ; x5 ; x8 ) :
Calculez / veri c valoarea drumului de valoare maxima:
v (d) = 20:

Arbore economic ntr-un graf neorientat. Actualizarea arborilor


Drum de valoare optima ntr-un graf orientat

Exemplul 4. Algoritmul Bellman-Kalaba


Aplic Proprietatea 2:
(5)

(6)

conf : Propr: 2

mi8 = mi8 ; 8i = 1; 7
)
(adica, algoritmul s-a ncheiat):

(5)

mi8 = mi8 ; 8i = 1; 7

Determin succesiunea vrfurilor prin care trece drumul de


valoare maxima:
d : (x1 ; x2 ; x3 ; x4 ; x5 ; x8 ) :
Calculez / veri c valoarea drumului de valoare maxima:
v (d) = 20:

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